pisper 0.6.24 → 0.6.25

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 (156) hide show
  1. package/package.json +5 -5
  2. package/web/.vite/manifest.json +769 -631
  3. package/web/assets/{AppDialog-BcXOXBcR.js → AppDialog-CuxO26Km.js} +1 -1
  4. package/web/assets/{AppOverlays-DhOsSE6q.js → AppOverlays-Bt5SL3PY.js} +1 -1
  5. package/web/assets/{AppSelect-BD6RAaJ5.js → AppSelect-DQYKUW5E.js} +1 -1
  6. package/web/assets/{AssetsPage-7Fuwati9.js → AssetsPage-BE6AzOGC.js} +1 -1
  7. package/web/assets/{BoardPage-C81aOK4p.js → BoardPage-DX0fJ_ap.js} +3 -3
  8. package/web/assets/ChannelsPage-CyT7oDYZ.js +1 -0
  9. package/web/assets/{ChatAppearancePage-DQr-uhHb.js → ChatAppearancePage-B6Dzj2Bj.js} +1 -1
  10. package/web/assets/ChatHistoryPage-Cq20l93c.js +1 -0
  11. package/web/assets/ChatPage-DgiS-Qj_.js +553 -0
  12. package/web/assets/ConfigPage-CgrWdzb5.js +5 -0
  13. package/web/assets/{DesktopWindowControls-BWe5YIjj.js → DesktopWindowControls-D8axeuEx.js} +1 -1
  14. package/web/assets/FeaturePage-BB1TeMlr.js +1 -0
  15. package/web/assets/{FileAttachmentPreview-IZzA3f8k.js → FileAttachmentPreview-DPjT_iYk.js} +1 -1
  16. package/web/assets/{FloatingWidgets-DgIJkrEC.js → FloatingWidgets-FI1S4hdn.js} +1 -1
  17. package/web/assets/FocusRuntimeControls-CvAx-KDV.js +1 -0
  18. package/web/assets/{GitDiffViewer-CypHOHdP.js → GitDiffViewer-DwFfeFOA.js} +1 -1
  19. package/web/assets/{ManageProjectsDialog-DxiTEqYf.js → ManageProjectsDialog-BSLNf6qD.js} +1 -1
  20. package/web/assets/{MarkdownMessage-CuaozZah.js → MarkdownMessage-NK7Ixb4Y.js} +1 -1
  21. package/web/assets/{McpPage-BbmxMKuy.js → McpPage-Cn-yDgC5.js} +1 -1
  22. package/web/assets/MemoryEvolution-B8IeSLcd.js +1 -0
  23. package/web/assets/MemoryPage-ZwoG_oj6.js +2 -0
  24. package/web/assets/{MobileNavigation-IZrksubf.js → MobileNavigation-DK5a0kZU.js} +1 -1
  25. package/web/assets/{MorePage-DObfXE0e.js → MorePage-BL8nDnTQ.js} +1 -1
  26. package/web/assets/{NewFolderDialog-CeRiD1xe.js → NewFolderDialog-COkq83LW.js} +1 -1
  27. package/web/assets/{PageHeader-D8QTuWd6.js → PageHeader-BBTCMqXc.js} +1 -1
  28. package/web/assets/{PhoneDrawer-Dfmmixh5.js → PhoneDrawer-BcPKJWl-.js} +1 -1
  29. package/web/assets/{PhoneMenuButton-Bbna_Bcf.js → PhoneMenuButton-D6vdTZdF.js} +1 -1
  30. package/web/assets/{PhoneTopBar-Dz94PR8O.js → PhoneTopBar-MqNeI69v.js} +1 -1
  31. package/web/assets/{PluginsPage-0rmSVMfr.js → PluginsPage-Bp71HpKD.js} +1 -1
  32. package/web/assets/{SafeModePrompt-CAfT8lBS.js → SafeModePrompt-CpvvU5wL.js} +1 -1
  33. package/web/assets/SchedulesPage-Drs10rEV.js +1 -0
  34. package/web/assets/{SessionBrowserPane-DMTNqq-e.js → SessionBrowserPane-DjtB4MCI.js} +2 -2
  35. package/web/assets/SessionContextPanel-ETfnp4pT.js +2 -0
  36. package/web/assets/{SessionHome-047YRkeb.js → SessionHome-CHBw3ZvP.js} +1 -1
  37. package/web/assets/SessionInspector-DVaRflQy.js +1 -0
  38. package/web/assets/{SessionShell-BqNSjTbQ.js → SessionShell-CwfQAX7i.js} +1 -1
  39. package/web/assets/{SettingsSidebar-a9IEYCfr.js → SettingsSidebar-FgC-tlY2.js} +1 -1
  40. package/web/assets/{ShortcutHelpDialog-B1RT_EMe.js → ShortcutHelpDialog-DKbIkUnk.js} +1 -1
  41. package/web/assets/{ShortcutKeys-DIEI9JQZ.js → ShortcutKeys-BuHXNKVW.js} +1 -1
  42. package/web/assets/{SidebarUpdateStatus-phIx4K_T.js → SidebarUpdateStatus-LKwNKESF.js} +1 -1
  43. package/web/assets/{SkillsPage-CZuR-0QX.js → SkillsPage-BbnerW44.js} +1 -1
  44. package/web/assets/{TaskProcessesPane-x73TNzuV.js → TaskProcessesPane-B2fyZEK9.js} +1 -1
  45. package/web/assets/{TaskTerminalView-D2UVtmT1.js → TaskTerminalView-CKApgF75.js} +1 -1
  46. package/web/assets/{TerminalPanel-C0U35k57.js → TerminalPanel-D03WycYm.js} +1 -1
  47. package/web/assets/{WebDesktopPet-CJtB44aG.js → WebDesktopPet-K2dbcbnQ.js} +1 -1
  48. package/web/assets/WorkflowsPage-CmzftCtz.js +1 -0
  49. package/web/assets/{WorkspacePicker-C7hhcfZV.js → WorkspacePicker-DbdbTOV2.js} +1 -1
  50. package/web/assets/{api-BmSvZCuH.js → api-BW_X0FMZ.js} +1 -1
  51. package/web/assets/{app-update-DhpOY37a.js → app-update-DYFXTosD.js} +1 -1
  52. package/web/assets/{approval-confirm-Dc3BZGo4.js → approval-confirm-DQ5N_lJB.js} +1 -1
  53. package/web/assets/archive-ojKJT7Fp.js +1 -0
  54. package/web/assets/{board-projects-C7DazgZG.js → board-projects-CrejrMrn.js} +1 -1
  55. package/web/assets/book-open-BuHHD9os.js +1 -0
  56. package/web/assets/bots-store-CNXTx3UY.js +1 -0
  57. package/web/assets/{chat-api-DHqVwcpJ.js → chat-api-Bo6nhq40.js} +1 -1
  58. package/web/assets/chevrons-up-down-C2sEPdAh.js +1 -0
  59. package/web/assets/{client-store-Dif482Kx.js → client-store-DzgOPMlh.js} +1 -1
  60. package/web/assets/{config-search-CKpXm_hp.js → config-search-BiQmWst4.js} +1 -1
  61. package/web/assets/{dialog-DFcH7POi.js → dialog-DFZX_Dek.js} +1 -1
  62. package/web/assets/dist-BS3ekNDj.js +1 -0
  63. package/web/assets/{events-C7sXXop4.js → events-PfANjkHx.js} +1 -1
  64. package/web/assets/{focus-session-composer-bits-D2XiGLcj.js → focus-session-composer-bits-C_LOpJH_.js} +1 -1
  65. package/web/assets/{folder-paths-CsQLylLL.js → folder-paths-aRRH_MYq.js} +1 -1
  66. package/web/assets/{hosts-CwTc21QE.js → hosts-lvoPwC3T.js} +1 -1
  67. package/web/assets/i18n-EVP8yIdy.js +1 -0
  68. package/web/assets/index-D_zLThH_.js +2 -0
  69. package/web/assets/index-l96Dl6z6.css +2 -0
  70. package/web/assets/memory-api-DkPje--t.js +1 -0
  71. package/web/assets/message-circle-D-XrK6Ft.js +1 -0
  72. package/web/assets/{mobile-remote-fallback-C2Q0wAa6.js → mobile-remote-fallback-LLMZWoIu.js} +1 -1
  73. package/web/assets/mount-app-7pFSwVLO.js +9 -0
  74. package/web/assets/{permission-rules-api-D1Tbe4E9.js → permission-rules-api-CAJsSBA5.js} +1 -1
  75. package/web/assets/{pick-system-directory-CQS5pqM-.js → pick-system-directory-yk6L7wR2.js} +1 -1
  76. package/web/assets/pin-off-BpRu_vrC.js +1 -0
  77. package/web/assets/placements-CMrgmg3t.js +2 -0
  78. package/web/assets/{popover-CXB2yzW6.js → popover--q2hs_pT.js} +1 -1
  79. package/web/assets/{public-D1nVPEiV.js → public-62LVX7HU.js} +1 -1
  80. package/web/assets/public-DWbrDr0p.js +3 -0
  81. package/web/assets/{public-BVKkvQiF.js → public-DkqrpWXx.js} +2 -2
  82. package/web/assets/{public-components-B6uxO_ZB.js → public-components-DHMvCgH2.js} +1 -1
  83. package/web/assets/public-diff-WjbTu91T.js +1 -0
  84. package/web/assets/public-events-CTdTIu5Q.js +1 -0
  85. package/web/assets/{public-flags-KylDNCsK.js → public-flags-D9LdpQwJ.js} +1 -1
  86. package/web/assets/public-greeting-DEKYruJJ.js +1 -0
  87. package/web/assets/{public-session-DjI86F5J.js → public-session-B9UHA6rN.js} +1 -1
  88. package/web/assets/{public-sidebar-PhHPuas_.js → public-sidebar-Lne86i_K.js} +1 -1
  89. package/web/assets/{runtime-capabilities-store-CTtXyNjK.js → runtime-capabilities-store-BNM5Ug-5.js} +1 -1
  90. package/web/assets/{safe-mode-instance-_WZgKT1M.js → safe-mode-instance-DnTP7EUr.js} +1 -1
  91. package/web/assets/safe-mode-sentinel-DOhqH4gj.js +1 -0
  92. package/web/assets/select-Bbk9bmXO.js +1 -0
  93. package/web/assets/send-Cj-W03w_.js +1 -0
  94. package/web/assets/{session-change-summary-api-DENj-A9c.js → session-change-summary-api-DMTwGz7o.js} +1 -1
  95. package/web/assets/{session-home-D1MkpdBS.js → session-home-DUpZt2dn.js} +1 -1
  96. package/web/assets/session-list-BRMu9JWa.js +1 -0
  97. package/web/assets/{session-organization-api-Cm9HoIme.js → session-organization-api-BGyp66Uv.js} +1 -1
  98. package/web/assets/{session-scope-BnKeB5vZ.js → session-scope-DZITSvZr.js} +1 -1
  99. package/web/assets/{session-tree-actions-DhF8lJLn.js → session-tree-actions-CRWyFqAD.js} +1 -1
  100. package/web/assets/{session-tree-summary-DEJ52bdp.js → session-tree-summary-HTmAo_9V.js} +1 -1
  101. package/web/assets/{shortcuts-DnykOp5e.js → shortcuts-D72gQCwH.js} +1 -1
  102. package/web/assets/side-chat-context-D1hZOT7g.js +7 -0
  103. package/web/assets/{sidebar-bemTfe07.js → sidebar-sj8X80Y9.js} +1 -1
  104. package/web/assets/{sidebar-store-Be8dU3KV.js → sidebar-store-CXZ7QrOr.js} +1 -1
  105. package/web/assets/slider-De8rWVNs.js +1 -0
  106. package/web/assets/sliders-horizontal-Dryf1XyC.js +1 -0
  107. package/web/assets/{speech-session-4UWWW7HR.js → speech-session-D2GQEOAL.js} +1 -1
  108. package/web/assets/{startup-queries-iq2o5pqJ.js → startup-queries-CuEXV1Zu.js} +1 -1
  109. package/web/assets/{storage-8QW6lXuT.js → storage-DtvZ_lEu.js} +1 -1
  110. package/web/assets/tool-labels-Bexnwp5q.js +1 -0
  111. package/web/assets/undo-2-C-xQ0UVT.js +1 -0
  112. package/web/assets/{use-i18n-DCxQRXLH.js → use-i18n-_vdxObu5.js} +1 -1
  113. package/web/assets/{use-open-bot-BTTe7141.js → use-open-bot-BTxzOAbZ.js} +1 -1
  114. package/web/assets/{use-studio-actions-CvTVL6vy.js → use-studio-actions-CbMHRZpd.js} +1 -1
  115. package/web/assets/{useCatalogProjects-D0_Xilel.js → useCatalogProjects-BEkCpADy.js} +1 -1
  116. package/web/assets/{useNewProjectPicker-C3dVgDqI.js → useNewProjectPicker-CUtLjwYE.js} +2 -2
  117. package/web/assets/{useNow-BrhALV5l.js → useNow-eQeBCqQk.js} +1 -1
  118. package/web/assets/{usePhoneShell-BleJZMk4.js → usePhoneShell-DZHZWXnN.js} +1 -1
  119. package/web/assets/{useSessionListQuery-CSTrzBD6.js → useSessionListQuery-BoUzmjZC.js} +1 -1
  120. package/web/assets/{useSessionRowActions-CBOzJhLW.js → useSessionRowActions-DCqDrGZY.js} +1 -1
  121. package/web/assets/{useSidebarModel-AYsswvjm.js → useSidebarModel-CZAfH4Fa.js} +1 -1
  122. package/web/assets/{web-preview-B9ooQu6f.js → web-preview-XrRFo42l.js} +1 -1
  123. package/web/assets/{web-preview-events-DZb37WWK.js → web-preview-events-Ba6duwGi.js} +1 -1
  124. package/web/assets/workflow-messages-Cc4pX_oo.js +1 -0
  125. package/web/assets/{workspace-order-store-CQ4SHO-9.js → workspace-order-store-Ao4OZ13V.js} +1 -1
  126. package/web/index.html +2 -2
  127. package/web/assets/ChannelsPage-LM4bpKzy.js +0 -1
  128. package/web/assets/ChatHistoryPage-DcjG1hoQ.js +0 -1
  129. package/web/assets/ChatPage-HBq1cr2I.js +0 -553
  130. package/web/assets/ConfigPage-Bcjc5mbO.js +0 -5
  131. package/web/assets/FeaturePage-DGauTCbU.js +0 -1
  132. package/web/assets/FocusRuntimeControls-Bgq7LvMl.js +0 -1
  133. package/web/assets/MemoryPage-BeI2YTUn.js +0 -1
  134. package/web/assets/SchedulesPage-C3TpSm9t.js +0 -1
  135. package/web/assets/SessionContextPanel-DoS-Xqny.js +0 -2
  136. package/web/assets/SessionInspector-GXGZ9n87.js +0 -1
  137. package/web/assets/WorkflowsPage-o4p12fMI.js +0 -1
  138. package/web/assets/bots-store-CeTfxdyY.js +0 -1
  139. package/web/assets/dist-V8chnW6-.js +0 -1
  140. package/web/assets/i18n-YQ8mc9k7.js +0 -1
  141. package/web/assets/index-DJA4qaOu.css +0 -2
  142. package/web/assets/index-DjSjahBi.js +0 -2
  143. package/web/assets/mount-app-DAxz1ll-.js +0 -9
  144. package/web/assets/placements-BuU0Zuqy.js +0 -2
  145. package/web/assets/public-BVuJa7Dh.js +0 -3
  146. package/web/assets/public-diff-CCVYk91T.js +0 -1
  147. package/web/assets/public-events-CVn8fEHx.js +0 -1
  148. package/web/assets/safe-mode-sentinel-CVhmZl77.js +0 -1
  149. package/web/assets/select-DD_WO-gs.js +0 -1
  150. package/web/assets/send-QxBfLFo-.js +0 -1
  151. package/web/assets/session-list-BeyOEzyU.js +0 -1
  152. package/web/assets/side-chat-context-C2SzUmd5.js +0 -7
  153. package/web/assets/slider-DTmAZl-R.js +0 -1
  154. package/web/assets/tool-labels-ghvpPFmc.js +0 -1
  155. package/web/assets/workflow-messages-Cj35aJZc.js +0 -1
  156. package/web/memory-galaxy-background.webp +0 -0
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./check-2vYc6QaP.js";import{t as a}from"./chevron-down-CxtxIjiP.js";import{t as o}from"./chevron-up-D_ZcXjqr.js";import{t as s}from"./chevrons-up-down-C2sEPdAh.js";import{a as c,n as l}from"./dist-41X0pdUs.js";import{a as u,c as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./dist-BsRXXcSL.js";import{n as v}from"./dist-BiRPwy4W.js";import{n as y,t as b}from"./dist-DzGQ7sLi.js";import{a as x,i as S,n as C,r as w,s as T,t as E}from"./es2015-DTZdOI9P.js";import{a as D,i as O,r as k,t as A}from"./dist-BRjj4UeB.js";import{n as j,t as M}from"./dist-BS3ekNDj.js";import{t as N}from"./utils-C8uzG5AZ.js";var P=e(t(),1),F=e(n(),1),I=r(),L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0}),z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ee=[` `,`Enter`],B=`Select`,[V,H,U]=y(B),[W,G]=g(B,[U,D]),K=D(),[te,q]=W(B),[ne,re]=W(B);function ie(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:m,required:h,form:g,internal_do_not_use_render:_}=e,v=K(t),[y,x]=P.useState(null),[S,C]=P.useState(null),[w,T]=P.useState(!1),E=b(l),[D,k]=f({prop:r,defaultProp:i??!1,onChange:a,caller:B}),[A,j]=f({prop:o,defaultProp:s,onChange:c,caller:B}),M=P.useRef(null),N=P.useRef(A);P.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=R(()=>j(N.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,j]);let F=!y||!!g||!!y.closest(`form`),[L,z]=P.useState(new Set),ee=p(),H=Array.from(L).map(e=>e.props.value).join(`;`),U=P.useCallback(e=>{z(t=>new Set(t).add(e))},[]),W=P.useCallback(e=>{z(t=>{let n=new Set(t);return n.delete(e),n})},[]),G={required:h,trigger:y,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:ee,value:A,onValueChange:j,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:M,disabled:m,name:u,autoComplete:d,form:g,nativeOptions:L,nativeSelectKey:H,isFormControl:F};return(0,I.jsx)(O,{...v,children:(0,I.jsx)(te,{scope:t,...G,children:(0,I.jsx)(V.Provider,{scope:t,children:(0,I.jsx)(ne,{scope:t,onNativeOptionAdd:U,onNativeOptionRemove:W,children:Be(_)?_(G):n})})})})}R(ie,`SelectProvider`);var J=R(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,I.jsx)(ie,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[n,e?(0,I.jsx)(ze,{__scopeSelect:t}):null]})})},`Select`),ae=`SelectTrigger`,oe=P.forwardRef(R(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=K(n),o=q(ae,n),s=o.disabled||r,l=c(t,o.onTriggerChange),u=H(n),f=P.useRef(`touch`),[p,h,g]=Ve(e=>{let t=u().filter(e=>!e.disabled),n=He(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),_=R(e=>{s||(o.onOpenChange(!0),g()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,I.jsx)(A,{asChild:!0,...a,children:(0,I.jsx)(d.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$(o.value)?``:void 0,...i,ref:l,onClick:m(i.onClick,e=>{e.currentTarget.focus(),f.current!==`mouse`&&_(e)}),onPointerDown:m(i.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:m(i.onKeyDown,e=>{let t=p.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),se=`SelectValue`,ce=P.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,l=q(se,n),{onValueNodeHasChildrenChange:f}=l,p=a!==void 0,m=c(t,l.onValueNodeChange);u(()=>{f(p)},[f,p]);let h=$(l.value);return(0,I.jsx)(d.span,{...s,asChild:!h&&s.asChild,ref:m,style:{pointerEvents:`none`},children:(0,I.jsx)(P.Fragment,{children:h?o:a},h?`placeholder`:`value`)})},`SelectValue`)),le=P.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,I.jsx)(d.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[ue,de]=W(`SelectPortal`,{forceMount:void 0}),fe=R(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,I.jsx)(ue,{scope:e.__scopeSelect,forceMount:n,children:(0,I.jsx)(S,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,pe=P.forwardRef(R(function(e,t){let n=de(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=q(Y,e.__scopeSelect),[o,s]=P.useState();return u(()=>{s(new DocumentFragment)},[]),(0,I.jsx)(h,{present:r||a.open,children:({present:e})=>e?(0,I.jsx)(_e,{...i,ref:t}):(0,I.jsx)(me,{...i,fragment:o})})},`SelectContent`)),me=P.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?F.createPortal((0,I.jsx)(he,{scope:n,children:(0,I.jsx)(V.Slot,{scope:n,children:(0,I.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[he,Z]=W(Y),ge=l(`SelectContent.RemoveScroll`),_e=P.forwardRef(R(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v,...y}=e,b=q(Y,n),[S,D]=P.useState(null),[O,k]=P.useState(null),A=c(t,D),[j,M]=P.useState(null),[N,F]=P.useState(null),L=H(n),[z,ee]=P.useState(!1),B=P.useRef(!1);P.useEffect(()=>{if(S)return E(S)},[S]),w();let V=P.useCallback(e=>{let[t,...n]=L().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[L,O]),U=P.useCallback(()=>V([j,S]),[V,j,S]);P.useEffect(()=>{z&&U()},[z,U]);let{onOpenChange:W,triggerPointerDownPosRef:G}=b;P.useEffect(()=>{if(S){let e={x:0,y:0},t=R(t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},`handlePointerMove`),n=R(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(S)||W(!1),document.removeEventListener(`pointermove`,t),G.current=null},`handlePointerUp`);return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,W,G]),P.useEffect(()=>{let e=R(()=>W(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[W]);let[K,te]=Ve(e=>{let t=L().filter(e=>!e.disabled),n=He(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),ne=P.useCallback((e,t,n)=>{let r=!B.current&&!n;(b.value!==void 0&&b.value===t||r)&&(M(e),r&&(B.current=!0))},[b.value]),re=P.useCallback(()=>S?.focus(),[S]),ie=P.useCallback((e,t,n)=>{let r=!B.current&&!n;(b.value!==void 0&&b.value===t||r)&&F(e)},[b.value]),J=r===`popper`?ye:ve,ae=J===ye?{side:s,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v}:{};return(0,I.jsx)(he,{scope:n,content:S,viewport:O,onViewportChange:k,itemRefCallback:ne,selectedItem:j,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:U,selectedItemText:N,position:r,isPositioned:z,searchRef:K,children:(0,I.jsx)(C,{as:ge,allowPinchZoom:!0,children:(0,I.jsx)(x,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:m(i,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,I.jsx)(T,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,I.jsx)(J,{role:`listbox`,id:b.contentId,"data-state":b.open?`open`:`closed`,dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...ae,onPlaced:()=>ee(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...y.style},onKeyDown:m(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&te(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=L().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),ve=P.forwardRef(R(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=q(Y,n),o=Z(Y,n),[s,l]=P.useState(null),[f,p]=P.useState(null),m=c(t,p),h=H(n),g=P.useRef(!1),_=P.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=o,S=P.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&f&&v&&y&&b){let e=a.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-X,d=M(a,[X,Math.max(X,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-X,d=M(a,[X,Math.max(X,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=h(),c=window.innerHeight-X*2,l=v.scrollHeight,u=window.getComputedStyle(f),d=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),x=d+p+l+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-X,D=c-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=x-A;if(A<=E){let e=o.length>0&&y===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);s.style.height=n+`px`}else{let e=o.length>0&&y===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}s.style.margin=`${X}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,a.trigger,a.valueNode,s,f,v,y,b,a.dir,r]);u(()=>S(),[S]);let[C,w]=P.useState();u(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]);let T=P.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,I.jsx)(be,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:(0,I.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,I.jsx)(d.div,{...i,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),ye=P.forwardRef(R(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,I.jsx)(k,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[be,xe]=W(Y,{}),Se=`SelectViewport`,Ce=P.forwardRef(R(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=Z(Se,n),o=xe(Se,n),s=c(t,a.onViewportChange),l=P.useRef(0);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,I.jsx)(V.Slot,{scope:n,children:(0,I.jsx)(d.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:m(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})},`SelectViewport`)),[we,Te]=W(`SelectGroup`),Ee=`SelectItem`,[De,Oe]=W(Ee),ke=P.forwardRef(R(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=q(Ee,n),l=Z(Ee,n),u=s.value===r,[f,h]=P.useState(a??``),[g,v]=P.useState(!1),y=_(e=>l.itemRefCallback?.(e,r,i)),b=c(t,y),x=p(),S=P.useRef(`touch`),C=R(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,I.jsx)(De,{scope:n,value:r,disabled:i,textId:x,isSelected:u,onItemTextChange:P.useCallback(e=>{h(t=>t||(e?.textContent??``).trim())},[]),children:(0,I.jsx)(V.ItemSlot,{scope:n,value:r,disabled:i,textValue:f,children:(0,I.jsx)(d.div,{role:`option`,"aria-labelledby":x,"data-highlighted":g?``:void 0,"aria-selected":u&&g,"data-state":u?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:b,onFocus:m(o.onFocus,()=>v(!0)),onBlur:m(o.onBlur,()=>v(!1)),onClick:m(o.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:m(o.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:m(o.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:m(o.onPointerMove,e=>{S.current=e.pointerType,i?l.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:m(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:m(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(l.searchRef?.current===``||e.key!==` `)&&(ee.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Ae=P.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=q(Q,n),s=Z(Q,n),l=Oe(Q,n),f=re(Q,n),[p,m]=P.useState(null),h=_(e=>s.itemTextRefCallback?.(e,l.value,l.disabled)),g=c(t,m,l.onItemTextChange,h),v=p?.textContent,y=P.useMemo(()=>(0,I.jsx)(`option`,{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=f;return u(()=>(b(y),()=>x(y)),[b,x,y]),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(d.span,{id:l.textId,...a,ref:g}),l.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!$(o.value)?F.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),je=`SelectItemIndicator`,Me=P.forwardRef(R(function(e,t){let{__scopeSelect:n,...r}=e;return Oe(je,n).isSelected?(0,I.jsx)(d.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Ne=`SelectScrollUpButton`,Pe=P.forwardRef(R(function(e,t){let n=Z(Ne,e.__scopeSelect),r=xe(Ne,e.__scopeSelect),[i,a]=P.useState(!1),o=c(t,r.onScrollButtonChange);return u(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Le,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Fe=`SelectScrollDownButton`,Ie=P.forwardRef(R(function(e,t){let n=Z(Fe,e.__scopeSelect),r=xe(Fe,e.__scopeSelect),[i,a]=P.useState(!1),o=c(t,r.onScrollButtonChange);return u(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Le,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Le=P.forwardRef(R(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),o=P.useRef(null),s=H(n),c=P.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return P.useEffect(()=>()=>c(),[c]),u(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,I.jsx)(d.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:m(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:m(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:m(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),Re=`SelectBubbleInput`,ze=P.forwardRef(R(function({__scopeSelect:e,...t},n){let r=q(Re,e),{value:i,onValueChange:a,required:o,disabled:s,name:l,autoComplete:u,form:f}=r,{nativeOptions:p,nativeSelectKey:m}=r,h=P.useRef(null),g=c(n,h),_=i??``,y=j(_),b=Array.from(p).some(e=>(e.props.value??``)===``);return P.useEffect(()=>{let e=h.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==_&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,_),e.dispatchEvent(t)}},[y,_]),(0,I.jsxs)(d.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:l,autoComplete:u,disabled:s,form:f,onChange:e=>a(e.target.value),...t,style:{...v,...t.style},ref:g,defaultValue:_,children:[$(i)&&!b?(0,I.jsx)(`option`,{value:``}):null,Array.from(p)]},m)},`SelectBubbleInput`));function Be(e){return typeof e==`function`}R(Be,`isFunction`);function $(e){return e===``||e===void 0}R($,`shouldShowPlaceholder`);function Ve(e){let t=_(e),n=P.useRef(``),r=P.useRef(0),i=P.useCallback(e=>{let i=n.current+e;t(i),R((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=P.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return P.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}R(Ve,`useTypeaheadSearch`);function He(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ue(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}R(He,`findNextItem`);function Ue(e,t){return e.map((n,r)=>e[(t+r)%e.length])}R(Ue,`wrapArray`);function We({...e}){return(0,I.jsx)(J,{"data-slot":`select`,...e})}function Ge({...e}){return(0,I.jsx)(ce,{"data-slot":`select-value`,...e})}function Ke({className:e,size:t=`default`,children:n,...r}){return(0,I.jsxs)(oe,{"data-slot":`select-trigger`,"data-size":t,className:N(`flex w-fit items-center justify-between gap-1.5 rounded-sm border border-input bg-panel py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-[border-color,box-shadow] outline-none select-none focus-visible:border-focus focus-visible:ring-3 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 max-[650px]:min-h-11 pointer-coarse:min-h-11 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,I.jsx)(le,{asChild:!0,children:(0,I.jsx)(s,{className:`pointer-events-none size-3.5 text-muted-foreground`})})]})}function qe({className:e,children:t,position:n=`popper`,align:r=`start`,...i}){return(0,I.jsx)(fe,{children:(0,I.jsxs)(pe,{"data-slot":`select-content`,"data-align-trigger":n===`item-aligned`,className:N(`relative z-[200] max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-float duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,I.jsx)(Ye,{}),(0,I.jsx)(Ce,{"data-position":n,className:N(`data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)`,n===`popper`&&``),children:t}),(0,I.jsx)(Xe,{})]})})}function Je({className:e,children:t,...n}){return(0,I.jsxs)(ke,{"data-slot":`select-item`,className:N(`relative flex min-h-7.5 w-full cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-2 text-sm outline-hidden max-[650px]:min-h-11 pointer-coarse:min-h-11 select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,I.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:(0,I.jsx)(Me,{children:(0,I.jsx)(i,{className:`pointer-events-none text-accent-fg`})})}),(0,I.jsx)(Ae,{children:t})]})}function Ye({className:e,...t}){return(0,I.jsx)(Pe,{"data-slot":`select-scroll-up-button`,className:N(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,I.jsx)(o,{})})}function Xe({className:e,...t}){return(0,I.jsx)(Ie,{"data-slot":`select-scroll-down-button`,className:N(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,I.jsx)(a,{})})}export{Ge as a,Ke as i,qe as n,Je as r,We as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]);export{t};
@@ -1 +1 @@
1
- import{a as e}from"./startup-queries-iq2o5pqJ.js";import{t}from"./api-BmSvZCuH.js";function n(e){if(!e||typeof e!=`object`)throw Error(`Invalid change summary`);let t=e;if(t.status!==`known`&&t.status!==`partial`&&t.status!==`unavailable`||!Number.isInteger(t.unknownFiles)||Number(t.unknownFiles)<0||typeof t.capped!=`boolean`||![`changedFiles`,`pendingFiles`,`added`,`removed`].every(e=>t.status===`known`?Number.isInteger(t[e])&&Number(t[e])>=0:t[e]===null))throw Error(`Invalid change summary`);return t}async function r(e){return n(await t(`/api/sessions/${encodeURIComponent(e)}/change-summary`))}function i(t){return e.invalidateQueries({queryKey:[`session-change-summary`,t]})}export{i as n,r as t};
1
+ import{a as e}from"./startup-queries-CuEXV1Zu.js";import{t}from"./api-BW_X0FMZ.js";function n(e){if(!e||typeof e!=`object`)throw Error(`Invalid change summary`);let t=e;if(t.status!==`known`&&t.status!==`partial`&&t.status!==`unavailable`||!Number.isInteger(t.unknownFiles)||Number(t.unknownFiles)<0||typeof t.capped!=`boolean`||![`changedFiles`,`pendingFiles`,`added`,`removed`].every(e=>t.status===`known`?Number.isInteger(t[e])&&Number(t[e])>=0:t[e]===null))throw Error(`Invalid change summary`);return t}async function r(e){return n(await t(`/api/sessions/${encodeURIComponent(e)}/change-summary`))}function i(t){return e.invalidateQueries({queryKey:[`session-change-summary`,t]})}export{i as n,r as t};
@@ -1 +1 @@
1
- import{t as e}from"./index-DjSjahBi.js";var t=`pisper-last-session`;function n(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t.length>256||t===`new`||/[\u0000-\u001f\u007f]/.test(t)?``:t}function r(){try{return n(e.getItem(t))}catch{return``}}function i(r){let i=n(r);if(i)try{e.getItem(`pisper-last-session`)!==i&&e.setItem(t,i)}catch{}}function a(n){try{e.getItem(`pisper-last-session`)===n&&e.removeItem(t)}catch{}}function o(e){if(!e||typeof e!=`object`)return null;let t=e.sessions;return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let{id:t,archived:n}=e;return typeof t==`string`&&t?[{id:t,archived:n===!0}]:[]}):null}function s({lastId:e,data:t,failed:n}){if(!e)return{kind:`draft`};let r=o(t);if(!r)return n?{kind:`error`}:{kind:`loading`};let i=r.find(t=>t.id===e);return i&&!i.archived?{kind:`session`,id:i.id}:{kind:`draft`}}export{i,s as n,r,a as t};
1
+ import{t as e}from"./index-D_zLThH_.js";var t=`pisper-last-session`;function n(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t.length>256||t===`new`||/[\u0000-\u001f\u007f]/.test(t)?``:t}function r(){try{return n(e.getItem(t))}catch{return``}}function i(r){let i=n(r);if(i)try{e.getItem(`pisper-last-session`)!==i&&e.setItem(t,i)}catch{}}function a(n){try{e.getItem(`pisper-last-session`)===n&&e.removeItem(t)}catch{}}function o(e){if(!e||typeof e!=`object`)return null;let t=e.sessions;return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let{id:t,archived:n}=e;return typeof t==`string`&&t?[{id:t,archived:n===!0}]:[]}):null}function s({lastId:e,data:t,failed:n}){if(!e)return{kind:`draft`};let r=o(t);if(!r)return n?{kind:`error`}:{kind:`loading`};let i=r.find(t=>t.id===e);return i&&!i.archived?{kind:`session`,id:i.id}:{kind:`draft`}}export{i,s as n,r,a as t};
@@ -0,0 +1 @@
1
+ function e(e,t){let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return[...t,...r]}function t(e,{id:t,name:n}){return e.some(e=>e.id===t&&e.name!==n)?e.map(e=>e.id===t?{...e,name:n}:e):e}function n(){let e=0,t=new Map;return{getRevision:()=>e,record({id:n,name:r}){t.set(n,{name:r,revision:++e})},remove(e){for(let n of e)t.delete(n)},reconcile(e,n){return e.map(e=>{let r=t.get(e.id);return r&&r.revision>n&&r.name!==e.name?{...e,name:r.name}:e})}}}function r(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?{...e,pinned:t.pinned,archived:t.archived,unread:t.unread,needsAttention:t.needsAttention,attentionReason:t.attentionReason}:e):e}function i(e){return[...e].sort((e,t)=>Number(!!t.pinned)-Number(!!e.pinned)||(Date.parse(t.modified||``)||0)-(Date.parse(e.modified||``)||0))}function a(e){for(let t of e){if(t.projectless)continue;let e=typeof t.cwd==`string`?t.cwd.trim():``;if(e)return e}return``}function o(e,t){return!e||t?.paired===!0&&t.mode===`remote`}function s(e,t,n=!0){return e||(n?a(t):``)}export{i as a,e as i,t as n,s as o,n as r,o as s,r as t};
@@ -1 +1 @@
1
- import{t as e}from"./api-BmSvZCuH.js";import{u as t}from"./events-C7sXXop4.js";var n=class extends Error{code=`invalid_session_organization_response`};function r(e){if(!e||typeof e!=`object`)throw new n;let{id:t,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}=e;if(typeof t!=`string`||!t||typeof r!=`boolean`||typeof i!=`boolean`||typeof a!=`boolean`||typeof o!=`boolean`||s!==null&&s!==`approval`&&s!==`failure`)throw new n;return{id:t,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}}async function i(i,a){if(!i||!Object.keys(a).length)throw new n;let o=r(await e(`/api/sessions/${encodeURIComponent(i)}/organization`,{method:`PATCH`,body:JSON.stringify(a)}));if(o.id!==i)throw new n;return t(o),o}export{i as n,n as t};
1
+ import{t as e}from"./api-BW_X0FMZ.js";import{u as t}from"./events-PfANjkHx.js";var n=class extends Error{code=`invalid_session_organization_response`};function r(e){if(!e||typeof e!=`object`)throw new n;let{id:t,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}=e;if(typeof t!=`string`||!t||typeof r!=`boolean`||typeof i!=`boolean`||typeof a!=`boolean`||typeof o!=`boolean`||s!==null&&s!==`approval`&&s!==`failure`)throw new n;return{id:t,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}}async function i(i,a){if(!i||!Object.keys(a).length)throw new n;let o=r(await e(`/api/sessions/${encodeURIComponent(i)}/organization`,{method:`PATCH`,body:JSON.stringify(a)}));if(o.id!==i)throw new n;return t(o),o}export{i as n,n as t};
@@ -1 +1 @@
1
- import{a as e,o as t,u as n}from"./api-BmSvZCuH.js";import{o as r}from"./session-board-status-D2lpFPiI.js";var i={all:[`custom-ui`],catalog:()=>[`custom-ui`,`catalog`],instances:()=>[`custom-ui`,`instances`],describe:e=>[`custom-ui`,`describe`,e],errors:e=>[`custom-ui`,`errors`,e],versions:e=>[`custom-ui`,`versions`,e],usage:e=>[`custom-ui`,`usage`,e],trash:()=>[`custom-ui`,`trash`],staged:e=>[`custom-ui`,`staged`,e]};function a(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var o=[`overview-card`,`session-panel`,`feature-page`,`floating`],s=[`S`,`M`],c=/^[a-z0-9][a-z0-9._-]{0,63}$/,l=/^[a-f0-9]{24}$/,u=/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,79}$/,d=/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/,f=/^[a-f0-9]{16}$/,p=[`network`,`notify`,`sessions.read`,`sessions.open`,`storage`,`provider.request`];function m(e,t=4e3){return typeof e==`string`?e.slice(0,t):``}function h(e){if(typeof e!=`string`||!e||e.length>512)return!1;let t=e.split(`/`);return t.length<=3&&t.every(e=>d.test(e))}function g(e,t=200){let n={};if(!a(e))return n;for(let[r,i]of Object.entries(e).slice(0,t))typeof i==`string`&&(n[r]=i);return n}function _(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,200)){if(!a(n)||typeof n.code!=`string`||!n.code)continue;let e={path:m(n.path,512),code:m(n.code,128)};if(a(n.params)){let t={};for(let[e,r]of Object.entries(n.params))(typeof r==`string`||typeof r==`number`&&Number.isFinite(r))&&(t[e]=r);e.params=t}t.push(e)}return t}function v(e){let t={};if(!a(e))return t;for(let n of[`zh-CN`,`en-US`]){let r=e[n];a(r)&&(t[n]={...typeof r.name==`string`?{name:r.name}:{},...typeof r.description==`string`?{description:r.description}:{},strings:g(r.strings,500)})}return t}function y(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!a(n)||!o.includes(n.surface))continue;let e=n.surface;if(t.some(t=>t.surface===e))continue;let r={surface:e};if(Array.isArray(n.sizes)){let e=s.filter(e=>n.sizes.includes(e));e.length&&(r.sizes=e)}a(n.size)&&typeof n.size.w==`number`&&typeof n.size.h==`number`&&Number.isFinite(n.size.w)&&Number.isFinite(n.size.h)&&n.size.w>0&&n.size.h>0&&(r.size={w:n.size.w,h:n.size.h}),t.push(r)}return t}function b(e){let t={};if(!a(e))return t;let n=e=>m(e.reason,500);for(let r of[`notify`,`sessions.read`,`sessions.open`]){let i=e[r];a(i)&&(t[r]={reason:n(i)})}let r=e[`provider.request`];a(r)&&Array.isArray(r.paths)&&Array.isArray(r.methods)&&(t[`provider.request`]={reason:n(r),paths:r.paths.filter(e=>typeof e==`string`),methods:r.methods.filter(e=>typeof e==`string`)});let i=e.network;a(i)&&Array.isArray(i.hosts)&&(t.network={reason:n(i),hosts:i.hosts.filter(e=>typeof e==`string`).slice(0,32),...Array.isArray(i.privateOrigins)&&{privateOrigins:i.privateOrigins.filter(e=>typeof e==`string`).slice(0,32)}});let o=e.storage;return a(o)&&(t.storage={reason:n(o),quotaKb:typeof o.quotaKb==`number`&&Number.isFinite(o.quotaKb)?o.quotaKb:256}),t}function x(e,t){if(!a(t)||t.runtime!==`native`||t.id!==e||!h(t.entry))return null;let n=a(t.props)?t.props:null;if(!n||n.type!==`object`||!a(n.properties))return null;let r=Array.isArray(t.styles)?t.styles:[];return r.every(h)?{runtime:`native`,id:e,name:m(t.name,120)||e,version:m(t.version,64),description:m(t.description,500),entry:t.entry,styles:r.slice(0,8),icon:m(t.icon,48),i18n:v(t.i18n),props:{type:`object`,properties:n.properties,required:Array.isArray(n.required)?n.required.filter(e=>typeof e==`string`):[]},placements:y(t.placements),capabilities:b(t.capabilities),sdk:typeof t.sdk==`number`?t.sdk:1,minHostVersion:m(t.minHostVersion,64)}:null}function S(e){return e===`agent`||e===`template`||e===`import`?e:`local`}function C(e){return Array.isArray(e)?p.filter(t=>e.includes(t)):[]}function w(e){return!a(e)||typeof e.stageId!=`string`||!f.test(e.stageId)||typeof e.id!=`string`||!c.test(e.id)?null:{stageId:e.stageId,id:e.id,name:m(e.name,120)||e.id,version:m(e.version,64),fileName:m(e.fileName,200)||`${e.id}.zip`,bytes:typeof e.bytes==`number`&&Number.isFinite(e.bytes)?e.bytes:0,sha256:/^[a-f0-9]{64}$/.test(String(e.sha256))?String(e.sha256):``,createdAt:m(e.createdAt,64),replaces:e.replaces===`native`||e.replaces===`legacy`||e.replaces===`broken`?e.replaces:null}}function T(e){if(!a(e)||typeof e.id!=`string`||!c.test(e.id))return null;let t=e.id,n={id:t,name:m(e.name,120)||t,version:m(e.version,64),description:m(e.description,500),directory:m(e.directory,4096),updatedAt:m(e.updatedAt,64),revoked:C(e.revoked)};if(e.kind!==`native`&&e.kind!==`broken`)return{...n,kind:`legacy`,status:`unsupported`,enabled:!1,source:S(e.source),entry:``,errors:_(e.errors)};if(e.kind===`broken`)return{...n,kind:`broken`,status:`invalid`,enabled:!1,source:S(e.source),entry:``,errors:_(e.errors)};let r=_(e.errors),i={...n,kind:`native`,status:e.status===`ready`?`ready`:`invalid`,enabled:e.enabled===!0,source:S(e.source),entry:m(e.entry,512),errors:r};if(e.manifest!==void 0){let n=x(t,e.manifest);n&&(i.manifest=n)}return i.status===`ready`&&(typeof e.rev==`string`&&l.test(e.rev)&&i.manifest?i.rev=e.rev:(i.status=`invalid`,i.errors=[...r,{path:``,code:`component_response_invalid`}])),i}function E(e){if(!a(e)||typeof e.root!=`string`||!Array.isArray(e.components))throw Error(`Invalid custom UI component response`);let t=a(e.features)?e.features:null,n=[],r=new Set;for(let t of e.components){let e=T(t);!e||r.has(e.id)||(r.add(e.id),n.push(e))}let i=[];for(let t of Array.isArray(e.staged)?e.staged.slice(0,50):[]){let e=w(t);e&&!i.some(t=>t.stageId===e.stageId)&&i.push(e)}return{root:e.root,features:{import:t?.import===!0,versions:t?.versions===!0,export:t?.export===!0,trash:t?.trash===`move`?`move`:`none`,trashRestore:t?.trashRestore===!0,usage:t?.usage===!0,revoke:t?.revoke===!0},components:n,staged:i,legacyShape:!t}}function D(e){return a(e)?e.type===`all`?{type:`all`}:e.type===`project`&&typeof e.cwd==`string`&&e.cwd?{type:`project`,cwd:e.cwd}:null:null}function O(e){if(!a(e)||typeof e.instanceId!=`string`||!u.test(e.instanceId)||typeof e.componentId!=`string`||!c.test(e.componentId)||!o.includes(e.surface))return null;let t=e.surface;return{instanceId:e.instanceId,componentId:e.componentId,surface:t,size:t===`overview-card`?s.includes(e.size)?e.size:`S`:null,scope:t===`session-panel`?D(e.scope)??{type:`all`}:null,title:m(e.title,80),props:a(e.props)?e.props:{},enabled:e.enabled!==!1,order:typeof e.order==`number`&&Number.isFinite(e.order)?e.order:0,createdAt:m(e.createdAt,64),updatedAt:m(e.updatedAt,64)}}function k(e){if(!a(e)||typeof e.revision!=`number`||!Number.isSafeInteger(e.revision)||!Array.isArray(e.instances))throw Error(`Invalid custom UI instances response`);let t=[],n=new Set;for(let r of e.instances){let e=O(r);!e||n.has(e.instanceId)||(n.add(e.instanceId),t.push(e))}return t.sort((e,t)=>e.order-t.order),{revision:e.revision,instances:t}}function A(e){let t=a(e)?O(e.instance):null;if(!t||!a(e)||typeof e.revision!=`number`)throw Error(`Invalid custom UI instance response`);return{revision:e.revision,instance:t}}function j(e){if(!a(e)||!Array.isArray(e.entries))throw Error(`Invalid custom UI errors response`);let t=[];for(let n of e.entries.slice(-200))!a(n)||typeof n.message!=`string`||t.push({at:m(n.at,64),kind:m(n.kind,32),level:m(n.level,16),message:m(n.message,500),...typeof n.stack==`string`?{stack:m(n.stack,4e3)}:{},...typeof n.instanceId==`string`?{instanceId:m(n.instanceId,80)}:{},...typeof n.surface==`string`?{surface:m(n.surface,32)}:{}});let n=a(e.network)?e.network:{},r={};if(a(n.hosts))for(let[e,t]of Object.entries(n.hosts).slice(0,64))typeof t==`number`&&Number.isFinite(t)&&(r[e]=t);return{entries:t,dropped:typeof e.dropped==`number`&&Number.isFinite(e.dropped)?e.dropped:0,network:{count:typeof n.count==`number`&&Number.isFinite(n.count)?n.count:0,lastAt:typeof n.lastAt==`string`?n.lastAt:null,hosts:r}}}function M(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:0}function N(e){if(!a(e)||e.status!==`ok`)return{status:`unsupported`};let t=a(e.summary)?e.summary:{},n=[`danger`,`warn`,`info`];return{status:`ok`,hosts:(Array.isArray(e.hosts)?e.hosts.slice(0,50):[]).flatMap(e=>a(e)&&typeof e.host==`string`?[{host:m(e.host,253),declared:e.declared===!0,file:m(e.file,512),line:M(e.line)}]:[]),findings:(Array.isArray(e.findings)?e.findings.slice(0,200):[]).flatMap(e=>a(e)&&typeof e.rule==`string`&&n.includes(e.severity)?[{rule:m(e.rule,32),severity:e.severity,file:m(e.file,512),line:M(e.line),excerpt:m(e.excerpt,200)}]:[]),summary:{danger:M(t.danger),warn:M(t.warn),info:M(t.info),undeclaredHosts:M(t.undeclaredHosts)},truncated:e.truncated===!0}}function P(e){return Array.isArray(e)?e.filter(e=>a(e)&&typeof e.path==`string`&&typeof e.size==`number`&&typeof e.type==`string`).slice(0,256).map(e=>({path:e.path,size:e.size,type:e.type})):[]}function F(e){let t=a(e)?T(e.component):null;if(!t||!a(e)||!Array.isArray(e.files))throw Error(`Invalid custom UI describe response`);return{component:t,files:P(e.files),errors:_(e.errors),scan:N(e.scan)}}function I(e){if(!a(e)||typeof e.status!=`number`||typeof e.body!=`string`||e.bodyEncoding!==`utf8`&&e.bodyEncoding!==`base64`)throw Error(`Invalid custom UI fetch response`);return{status:e.status,statusText:m(e.statusText,200),headers:g(e.headers,64),body:e.body,bodyEncoding:e.bodyEncoding,url:m(e.url,2048),redirected:e.redirected===!0}}function L(e){if(!(e instanceof n)||!e.data)return null;let t=e.data.code??e.data.error;return typeof t==`string`&&/^[a-z0-9_]{1,64}$/.test(t)?t:null}function R(e){return!(e instanceof n)||!e.data?[]:_(e.data.errors)}var z=e=>`/api/custom-ui/components/${encodeURIComponent(e)}`;function B(e,t,n){if(!c.test(e)||!l.test(t)||!h(n))throw Error(`Invalid component module path`);return`${z(e)}/r/${t}/${n.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function V(e,n,r,i){return t(B(e,n,r),{signal:i})}function H(t){return e(`/api/custom-ui/components`,{signal:t,parse:E})}function U(t,n){return e(`${z(t)}/describe`,{signal:n,parse:F})}function ee(t){return e(`/api/custom-ui/components`,{method:`POST`,body:t,parse:e=>{let t=a(e)?T(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}})}function W(t,n){return e(z(t),{method:`PATCH`,body:{enabled:n},parse:e=>{let t=a(e)?T(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}})}function G(t){return e(z(t),{method:`DELETE`,parse:e=>({trashedAs:a(e)?m(e.trashedAs,256):``})})}function K(t){return e(`/api/custom-ui/instances`,{signal:t,parse:k})}function q(t){return e(`/api/custom-ui/instances`,{method:`POST`,body:t,parse:A})}function J(t,n){return e(`/api/custom-ui/instances/${encodeURIComponent(t)}`,{method:`PATCH`,body:n,parse:A})}function Y(t){return e(`/api/custom-ui/instances/${encodeURIComponent(t)}`,{method:`DELETE`,parse:e=>({revision:a(e)&&typeof e.revision==`number`?e.revision:0})})}function X(t,n){return e(`${z(t)}/errors`,{signal:n,parse:j})}function Z(t,n){return e(`${z(t)}/errors`,{method:`POST`,body:n,keepalive:!0,parse:()=>void 0})}function Q(t,n){return e(`${z(t)}/usage`,{method:`POST`,body:{entries:n},keepalive:!0,parse:()=>void 0})}function $(t,n,r){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{signal:r,parse:e=>{if(!a(e)||!Object.hasOwn(e,`value`))throw Error(`Invalid custom UI storage response`);return{value:e.value}}})}function te(t,n,r){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{method:`PUT`,body:{value:r},parse:()=>void 0})}function ne(t,n){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{method:`DELETE`,parse:()=>void 0})}async function re(t,n,r,i){return await e(`/api/custom-ui/provider-session`,{method:`PUT`,body:{sessionId:n},signal:i,timeout:15e3,parse:()=>void 0}),e(`${z(t)}/provider-request`,{method:`POST`,body:{sessionId:n,request:r},signal:i,timeout:15e3,parse:I})}function ie(t,n,r){return e(`${z(t)}/fetch`,{method:`POST`,body:n,signal:r,timeout:15e3,parse:I})}var ae=/^[A-Za-z0-9._:-]{1,128}$/,oe=/^\/skill:[a-z0-9][a-z0-9-]{0,63}$/;function se(e){if(!a(e)||typeof e.sessionId!=`string`||!ae.test(e.sessionId))throw Error(`Invalid custom UI session response`);let t=typeof e.command==`string`&&oe.test(e.command)?e.command:``,n=a(e.session)&&e.session.id===e.sessionId?e.session:null;return{sessionId:e.sessionId,created:e.created===!0,command:t,session:n}}function ce(t){return e(`${z(t)}/session`,{method:`POST`,body:{},parse:se})}function le(e=!0){return{queryKey:i.catalog(),queryFn:({signal:e})=>H(e),enabled:e,staleTime:3e4,retry:!1,refetchOnWindowFocus:!1}}function ue(e=!0){return{queryKey:i.instances(),queryFn:({signal:e})=>K(e),enabled:e,staleTime:3e4,retry:!1,refetchOnWindowFocus:!1}}function de(e,t){if(!e||e.type===`all`)return!0;let n=r(t);return n!==``&&r(e.cwd)===n}export{J as A,x as C,Q as D,Z as E,ce as O,_ as S,V as T,H as _,ie as a,T as b,re as c,te as d,ee as f,U as g,Y as h,L as i,i as j,W as k,$ as l,G as m,le as n,R as o,q as p,ue as r,B as s,de as t,ne as u,X as v,w,N as x,P as y};
1
+ import{a as e,o as t,u as n}from"./api-BW_X0FMZ.js";import{o as r}from"./session-board-status-D2lpFPiI.js";var i={all:[`custom-ui`],catalog:()=>[`custom-ui`,`catalog`],instances:()=>[`custom-ui`,`instances`],describe:e=>[`custom-ui`,`describe`,e],errors:e=>[`custom-ui`,`errors`,e],versions:e=>[`custom-ui`,`versions`,e],usage:e=>[`custom-ui`,`usage`,e],trash:()=>[`custom-ui`,`trash`],staged:e=>[`custom-ui`,`staged`,e]};function a(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var o=[`overview-card`,`session-panel`,`feature-page`,`floating`],s=[`S`,`M`],c=/^[a-z0-9][a-z0-9._-]{0,63}$/,l=/^[a-f0-9]{24}$/,u=/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,79}$/,d=/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/,f=/^[a-f0-9]{16}$/,p=[`network`,`notify`,`sessions.read`,`sessions.open`,`storage`,`provider.request`];function m(e,t=4e3){return typeof e==`string`?e.slice(0,t):``}function h(e){if(typeof e!=`string`||!e||e.length>512)return!1;let t=e.split(`/`);return t.length<=3&&t.every(e=>d.test(e))}function g(e,t=200){let n={};if(!a(e))return n;for(let[r,i]of Object.entries(e).slice(0,t))typeof i==`string`&&(n[r]=i);return n}function _(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,200)){if(!a(n)||typeof n.code!=`string`||!n.code)continue;let e={path:m(n.path,512),code:m(n.code,128)};if(a(n.params)){let t={};for(let[e,r]of Object.entries(n.params))(typeof r==`string`||typeof r==`number`&&Number.isFinite(r))&&(t[e]=r);e.params=t}t.push(e)}return t}function v(e){let t={};if(!a(e))return t;for(let n of[`zh-CN`,`en-US`]){let r=e[n];a(r)&&(t[n]={...typeof r.name==`string`?{name:r.name}:{},...typeof r.description==`string`?{description:r.description}:{},strings:g(r.strings,500)})}return t}function y(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!a(n)||!o.includes(n.surface))continue;let e=n.surface;if(t.some(t=>t.surface===e))continue;let r={surface:e};if(Array.isArray(n.sizes)){let e=s.filter(e=>n.sizes.includes(e));e.length&&(r.sizes=e)}a(n.size)&&typeof n.size.w==`number`&&typeof n.size.h==`number`&&Number.isFinite(n.size.w)&&Number.isFinite(n.size.h)&&n.size.w>0&&n.size.h>0&&(r.size={w:n.size.w,h:n.size.h}),t.push(r)}return t}function b(e){let t={};if(!a(e))return t;let n=e=>m(e.reason,500);for(let r of[`notify`,`sessions.read`,`sessions.open`]){let i=e[r];a(i)&&(t[r]={reason:n(i)})}let r=e[`provider.request`];a(r)&&Array.isArray(r.paths)&&Array.isArray(r.methods)&&(t[`provider.request`]={reason:n(r),paths:r.paths.filter(e=>typeof e==`string`),methods:r.methods.filter(e=>typeof e==`string`)});let i=e.network;a(i)&&Array.isArray(i.hosts)&&(t.network={reason:n(i),hosts:i.hosts.filter(e=>typeof e==`string`).slice(0,32),...Array.isArray(i.privateOrigins)&&{privateOrigins:i.privateOrigins.filter(e=>typeof e==`string`).slice(0,32)}});let o=e.storage;return a(o)&&(t.storage={reason:n(o),quotaKb:typeof o.quotaKb==`number`&&Number.isFinite(o.quotaKb)?o.quotaKb:256}),t}function x(e,t){if(!a(t)||t.runtime!==`native`||t.id!==e||!h(t.entry))return null;let n=a(t.props)?t.props:null;if(!n||n.type!==`object`||!a(n.properties))return null;let r=Array.isArray(t.styles)?t.styles:[];return r.every(h)?{runtime:`native`,id:e,name:m(t.name,120)||e,version:m(t.version,64),description:m(t.description,500),entry:t.entry,styles:r.slice(0,8),icon:m(t.icon,48),i18n:v(t.i18n),props:{type:`object`,properties:n.properties,required:Array.isArray(n.required)?n.required.filter(e=>typeof e==`string`):[]},placements:y(t.placements),capabilities:b(t.capabilities),sdk:typeof t.sdk==`number`?t.sdk:1,minHostVersion:m(t.minHostVersion,64)}:null}function S(e){return e===`agent`||e===`template`||e===`import`?e:`local`}function C(e){return Array.isArray(e)?p.filter(t=>e.includes(t)):[]}function w(e){return!a(e)||typeof e.stageId!=`string`||!f.test(e.stageId)||typeof e.id!=`string`||!c.test(e.id)?null:{stageId:e.stageId,id:e.id,name:m(e.name,120)||e.id,version:m(e.version,64),fileName:m(e.fileName,200)||`${e.id}.zip`,bytes:typeof e.bytes==`number`&&Number.isFinite(e.bytes)?e.bytes:0,sha256:/^[a-f0-9]{64}$/.test(String(e.sha256))?String(e.sha256):``,createdAt:m(e.createdAt,64),replaces:e.replaces===`native`||e.replaces===`legacy`||e.replaces===`broken`?e.replaces:null}}function T(e){if(!a(e)||typeof e.id!=`string`||!c.test(e.id))return null;let t=e.id,n={id:t,name:m(e.name,120)||t,version:m(e.version,64),description:m(e.description,500),directory:m(e.directory,4096),updatedAt:m(e.updatedAt,64),revoked:C(e.revoked)};if(e.kind!==`native`&&e.kind!==`broken`)return{...n,kind:`legacy`,status:`unsupported`,enabled:!1,source:S(e.source),entry:``,errors:_(e.errors)};if(e.kind===`broken`)return{...n,kind:`broken`,status:`invalid`,enabled:!1,source:S(e.source),entry:``,errors:_(e.errors)};let r=_(e.errors),i={...n,kind:`native`,status:e.status===`ready`?`ready`:`invalid`,enabled:e.enabled===!0,source:S(e.source),entry:m(e.entry,512),errors:r};if(e.manifest!==void 0){let n=x(t,e.manifest);n&&(i.manifest=n)}return i.status===`ready`&&(typeof e.rev==`string`&&l.test(e.rev)&&i.manifest?i.rev=e.rev:(i.status=`invalid`,i.errors=[...r,{path:``,code:`component_response_invalid`}])),i}function E(e){if(!a(e)||typeof e.root!=`string`||!Array.isArray(e.components))throw Error(`Invalid custom UI component response`);let t=a(e.features)?e.features:null,n=[],r=new Set;for(let t of e.components){let e=T(t);!e||r.has(e.id)||(r.add(e.id),n.push(e))}let i=[];for(let t of Array.isArray(e.staged)?e.staged.slice(0,50):[]){let e=w(t);e&&!i.some(t=>t.stageId===e.stageId)&&i.push(e)}return{root:e.root,features:{import:t?.import===!0,versions:t?.versions===!0,export:t?.export===!0,trash:t?.trash===`move`?`move`:`none`,trashRestore:t?.trashRestore===!0,usage:t?.usage===!0,revoke:t?.revoke===!0},components:n,staged:i,legacyShape:!t}}function D(e){return a(e)?e.type===`all`?{type:`all`}:e.type===`project`&&typeof e.cwd==`string`&&e.cwd?{type:`project`,cwd:e.cwd}:null:null}function O(e){if(!a(e)||typeof e.instanceId!=`string`||!u.test(e.instanceId)||typeof e.componentId!=`string`||!c.test(e.componentId)||!o.includes(e.surface))return null;let t=e.surface;return{instanceId:e.instanceId,componentId:e.componentId,surface:t,size:t===`overview-card`?s.includes(e.size)?e.size:`S`:null,scope:t===`session-panel`?D(e.scope)??{type:`all`}:null,title:m(e.title,80),props:a(e.props)?e.props:{},enabled:e.enabled!==!1,order:typeof e.order==`number`&&Number.isFinite(e.order)?e.order:0,createdAt:m(e.createdAt,64),updatedAt:m(e.updatedAt,64)}}function k(e){if(!a(e)||typeof e.revision!=`number`||!Number.isSafeInteger(e.revision)||!Array.isArray(e.instances))throw Error(`Invalid custom UI instances response`);let t=[],n=new Set;for(let r of e.instances){let e=O(r);!e||n.has(e.instanceId)||(n.add(e.instanceId),t.push(e))}return t.sort((e,t)=>e.order-t.order),{revision:e.revision,instances:t}}function A(e){let t=a(e)?O(e.instance):null;if(!t||!a(e)||typeof e.revision!=`number`)throw Error(`Invalid custom UI instance response`);return{revision:e.revision,instance:t}}function j(e){if(!a(e)||!Array.isArray(e.entries))throw Error(`Invalid custom UI errors response`);let t=[];for(let n of e.entries.slice(-200))!a(n)||typeof n.message!=`string`||t.push({at:m(n.at,64),kind:m(n.kind,32),level:m(n.level,16),message:m(n.message,500),...typeof n.stack==`string`?{stack:m(n.stack,4e3)}:{},...typeof n.instanceId==`string`?{instanceId:m(n.instanceId,80)}:{},...typeof n.surface==`string`?{surface:m(n.surface,32)}:{}});let n=a(e.network)?e.network:{},r={};if(a(n.hosts))for(let[e,t]of Object.entries(n.hosts).slice(0,64))typeof t==`number`&&Number.isFinite(t)&&(r[e]=t);return{entries:t,dropped:typeof e.dropped==`number`&&Number.isFinite(e.dropped)?e.dropped:0,network:{count:typeof n.count==`number`&&Number.isFinite(n.count)?n.count:0,lastAt:typeof n.lastAt==`string`?n.lastAt:null,hosts:r}}}function M(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:0}function N(e){if(!a(e)||e.status!==`ok`)return{status:`unsupported`};let t=a(e.summary)?e.summary:{},n=[`danger`,`warn`,`info`];return{status:`ok`,hosts:(Array.isArray(e.hosts)?e.hosts.slice(0,50):[]).flatMap(e=>a(e)&&typeof e.host==`string`?[{host:m(e.host,253),declared:e.declared===!0,file:m(e.file,512),line:M(e.line)}]:[]),findings:(Array.isArray(e.findings)?e.findings.slice(0,200):[]).flatMap(e=>a(e)&&typeof e.rule==`string`&&n.includes(e.severity)?[{rule:m(e.rule,32),severity:e.severity,file:m(e.file,512),line:M(e.line),excerpt:m(e.excerpt,200)}]:[]),summary:{danger:M(t.danger),warn:M(t.warn),info:M(t.info),undeclaredHosts:M(t.undeclaredHosts)},truncated:e.truncated===!0}}function P(e){return Array.isArray(e)?e.filter(e=>a(e)&&typeof e.path==`string`&&typeof e.size==`number`&&typeof e.type==`string`).slice(0,256).map(e=>({path:e.path,size:e.size,type:e.type})):[]}function F(e){let t=a(e)?T(e.component):null;if(!t||!a(e)||!Array.isArray(e.files))throw Error(`Invalid custom UI describe response`);return{component:t,files:P(e.files),errors:_(e.errors),scan:N(e.scan)}}function I(e){if(!a(e)||typeof e.status!=`number`||typeof e.body!=`string`||e.bodyEncoding!==`utf8`&&e.bodyEncoding!==`base64`)throw Error(`Invalid custom UI fetch response`);return{status:e.status,statusText:m(e.statusText,200),headers:g(e.headers,64),body:e.body,bodyEncoding:e.bodyEncoding,url:m(e.url,2048),redirected:e.redirected===!0}}function L(e){if(!(e instanceof n)||!e.data)return null;let t=e.data.code??e.data.error;return typeof t==`string`&&/^[a-z0-9_]{1,64}$/.test(t)?t:null}function R(e){return!(e instanceof n)||!e.data?[]:_(e.data.errors)}var z=e=>`/api/custom-ui/components/${encodeURIComponent(e)}`;function B(e,t,n){if(!c.test(e)||!l.test(t)||!h(n))throw Error(`Invalid component module path`);return`${z(e)}/r/${t}/${n.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function V(e,n,r,i){return t(B(e,n,r),{signal:i})}function H(t){return e(`/api/custom-ui/components`,{signal:t,parse:E})}function U(t,n){return e(`${z(t)}/describe`,{signal:n,parse:F})}function ee(t){return e(`/api/custom-ui/components`,{method:`POST`,body:t,parse:e=>{let t=a(e)?T(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}})}function W(t,n){return e(z(t),{method:`PATCH`,body:{enabled:n},parse:e=>{let t=a(e)?T(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}})}function G(t){return e(z(t),{method:`DELETE`,parse:e=>({trashedAs:a(e)?m(e.trashedAs,256):``})})}function K(t){return e(`/api/custom-ui/instances`,{signal:t,parse:k})}function q(t){return e(`/api/custom-ui/instances`,{method:`POST`,body:t,parse:A})}function J(t,n){return e(`/api/custom-ui/instances/${encodeURIComponent(t)}`,{method:`PATCH`,body:n,parse:A})}function Y(t){return e(`/api/custom-ui/instances/${encodeURIComponent(t)}`,{method:`DELETE`,parse:e=>({revision:a(e)&&typeof e.revision==`number`?e.revision:0})})}function X(t,n){return e(`${z(t)}/errors`,{signal:n,parse:j})}function Z(t,n){return e(`${z(t)}/errors`,{method:`POST`,body:n,keepalive:!0,parse:()=>void 0})}function Q(t,n){return e(`${z(t)}/usage`,{method:`POST`,body:{entries:n},keepalive:!0,parse:()=>void 0})}function $(t,n,r){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{signal:r,parse:e=>{if(!a(e)||!Object.hasOwn(e,`value`))throw Error(`Invalid custom UI storage response`);return{value:e.value}}})}function te(t,n,r){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{method:`PUT`,body:{value:r},parse:()=>void 0})}function ne(t,n){return e(`${z(t)}/storage/${encodeURIComponent(n)}`,{method:`DELETE`,parse:()=>void 0})}async function re(t,n,r,i){return await e(`/api/custom-ui/provider-session`,{method:`PUT`,body:{sessionId:n},signal:i,timeout:15e3,parse:()=>void 0}),e(`${z(t)}/provider-request`,{method:`POST`,body:{sessionId:n,request:r},signal:i,timeout:15e3,parse:I})}function ie(t,n,r){return e(`${z(t)}/fetch`,{method:`POST`,body:n,signal:r,timeout:15e3,parse:I})}var ae=/^[A-Za-z0-9._:-]{1,128}$/,oe=/^\/skill:[a-z0-9][a-z0-9-]{0,63}$/;function se(e){if(!a(e)||typeof e.sessionId!=`string`||!ae.test(e.sessionId))throw Error(`Invalid custom UI session response`);let t=typeof e.command==`string`&&oe.test(e.command)?e.command:``,n=a(e.session)&&e.session.id===e.sessionId?e.session:null;return{sessionId:e.sessionId,created:e.created===!0,command:t,session:n}}function ce(t){return e(`${z(t)}/session`,{method:`POST`,body:{},parse:se})}function le(e=!0){return{queryKey:i.catalog(),queryFn:({signal:e})=>H(e),enabled:e,staleTime:3e4,retry:!1,refetchOnWindowFocus:!1}}function ue(e=!0){return{queryKey:i.instances(),queryFn:({signal:e})=>K(e),enabled:e,staleTime:3e4,retry:!1,refetchOnWindowFocus:!1}}function de(e,t){if(!e||e.type===`all`)return!0;let n=r(t);return n!==``&&r(e.cwd)===n}export{J as A,x as C,Q as D,Z as E,ce as O,_ as S,V as T,H as _,ie as a,T as b,re as c,te as d,ee as f,U as g,Y as h,L as i,i as j,W as k,$ as l,G as m,le as n,R as o,q as p,ue as r,B as s,de as t,ne as u,X as v,w,N as x,P as y};
@@ -1,2 +1,2 @@
1
- import{l as e}from"./events-C7sXXop4.js";import{t}from"./chat-api-DHqVwcpJ.js";import{n,o as r,t as i}from"./session-tree-summary-DEJ52bdp.js";function a(e){if(typeof e!=`string`)return``;let t=e.trim();return t&&t.length<=200?t:``}async function o(n,a,{notify:o,t:s}){try{let r=await t.navigateSessionTree(n,a,!1);return i(n,r),e(n),o(s(`chat:sessionTree.undone`)),!0}catch(e){return o(r(e),`error`),!1}}function s(e,t,n,r){let i=a(t?.restoreEntryId);r.notify(n,`success`,i?{action:{label:r.t(`chat:sessionTree.undo`),onAction:()=>void o(e,i,r)}}:void 0)}function c(e){return{title:e(`chat:sessionTree.otherBranchTitle`),message:e(`chat:sessionTree.otherBranchMessage`),confirmLabel:e(`chat:sessionTree.switchBranch`),tone:`primary`}}async function l({sessionId:e,entryId:r,confirm:i,open:a,notify:o,t:l}){if(!await i(c(l)))return!1;let u=await t.navigateSessionTreeTarget(e,r);return!u.cancelled&&(n(e),a(e,r),s(e,u,l(`chat:sessionTree.switchedBranch`),{notify:o,t:l}),!0)}var u=8;function d(e,t){let n=e.files.filter(e=>e.action!==`unavailable`),r=e.files.filter(e=>e.action===`unavailable`),i=[];if(n.length){i.push(t(`chat:fileRewind.summary`,{count:n.length,restore:n.filter(e=>e.action===`restore`).length,remove:n.filter(e=>e.action===`delete`).length}));for(let e of n.slice(0,u))i.push(e.action===`delete`?t(`chat:fileRewind.deleteItem`,{path:e.path}):t(`chat:fileRewind.restoreItem`,{path:e.path}));n.length>u&&i.push(t(`chat:fileRewind.more`,{count:n.length-u}))}else i.push(t(`chat:fileRewind.nothing`));return r.length&&i.push(t(`chat:fileRewind.unavailable`,{count:r.length,paths:r.slice(0,u).map(e=>e.path).join(`, `)})),e.incomplete&&i.push(t(`chat:fileRewind.incomplete`)),i.push(t(`chat:fileRewind.scope`)),{title:t(`chat:fileRewind.title`),message:i.join(`
1
+ import{l as e}from"./events-PfANjkHx.js";import{t}from"./chat-api-Bo6nhq40.js";import{n,o as r,t as i}from"./session-tree-summary-HTmAo_9V.js";function a(e){if(typeof e!=`string`)return``;let t=e.trim();return t&&t.length<=200?t:``}async function o(n,a,{notify:o,t:s}){try{let r=await t.navigateSessionTree(n,a,!1);return i(n,r),e(n),o(s(`chat:sessionTree.undone`)),!0}catch(e){return o(r(e),`error`),!1}}function s(e,t,n,r){let i=a(t?.restoreEntryId);r.notify(n,`success`,i?{action:{label:r.t(`chat:sessionTree.undo`),onAction:()=>void o(e,i,r)}}:void 0)}function c(e){return{title:e(`chat:sessionTree.otherBranchTitle`),message:e(`chat:sessionTree.otherBranchMessage`),confirmLabel:e(`chat:sessionTree.switchBranch`),tone:`primary`}}async function l({sessionId:e,entryId:r,confirm:i,open:a,notify:o,t:l}){if(!await i(c(l)))return!1;let u=await t.navigateSessionTreeTarget(e,r);return!u.cancelled&&(n(e),a(e,r),s(e,u,l(`chat:sessionTree.switchedBranch`),{notify:o,t:l}),!0)}var u=8;function d(e,t){let n=e.files.filter(e=>e.action!==`unavailable`),r=e.files.filter(e=>e.action===`unavailable`),i=[];if(n.length){i.push(t(`chat:fileRewind.summary`,{count:n.length,restore:n.filter(e=>e.action===`restore`).length,remove:n.filter(e=>e.action===`delete`).length}));for(let e of n.slice(0,u))i.push(e.action===`delete`?t(`chat:fileRewind.deleteItem`,{path:e.path}):t(`chat:fileRewind.restoreItem`,{path:e.path}));n.length>u&&i.push(t(`chat:fileRewind.more`,{count:n.length-u}))}else i.push(t(`chat:fileRewind.nothing`));return r.length&&i.push(t(`chat:fileRewind.unavailable`,{count:r.length,paths:r.slice(0,u).map(e=>e.path).join(`, `)})),e.incomplete&&i.push(t(`chat:fileRewind.incomplete`)),i.push(t(`chat:fileRewind.scope`)),{title:t(`chat:fileRewind.title`),message:i.join(`
2
2
  `),confirmLabel:n.length?t(`chat:fileRewind.confirm`):t(`chat:fileRewind.confirmChatOnly`),tone:n.length?`danger`:`primary`}}function f(e,t){let n=e.restored.length+e.deleted.length,r=n?t(`chat:fileRewind.done`,{count:n}):t(`chat:fileRewind.doneChatOnly`);return e.unavailable.length?`${r} ${t(`chat:fileRewind.doneUnavailable`,{count:e.unavailable.length})}`:r}export{d as fileRewindConfirmOptions,f as fileRewindNotice,s as notifyTreeNavigation,l as switchToTurnOnOtherBranch};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./useQuery-DdcpUQhO.js";import{a as r}from"./startup-queries-iq2o5pqJ.js";import{t as i}from"./chat-api-DHqVwcpJ.js";function a(e){return e instanceof Error?e.message:String(e)}function o(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test(a(e))}var s=e(t(),1),c=Object.freeze({});function l(e){return[`session-tree-summary`,e]}function u(e){let t=e&&typeof e==`object`?e:{},n=Number(t.branchCount),r={};for(let e of Array.isArray(t.nodes)?t.nodes:[]){if(!e||typeof e.id!=`string`||typeof e.label!=`string`)continue;let t=e.label.trim();t&&(r[e.id]=t.slice(0,80))}return{branchCount:Number.isFinite(n)&&n>0?Math.floor(n):0,labels:Object.keys(r).length?r:c}}async function d(e){return u(await i.getSessionTree(e))}function f(e,t){if(!e)return;let n=t;n&&Array.isArray(n.nodes)?r.setQueryData(l(e),u(n)):m(e)}function p(e){return r.fetchQuery({queryKey:l(e),queryFn:()=>d(e),staleTime:1/0})}function m(e){return r.invalidateQueries({queryKey:l(e)})}function h(e,{enabled:t,streaming:i,revision:a=0}){let o=t&&!i&&!!e,c=n({queryKey:l(e),queryFn:()=>d(e),enabled:o,staleTime:1/0},r),u=(0,s.useRef)({sessionId:e,streaming:i,revision:a});return(0,s.useEffect)(()=>{let t=u.current;u.current={sessionId:e,streaming:i,revision:a},!(!o||t.sessionId!==e)&&(t.streaming!==i||t.revision!==a)&&m(e)},[o,a,e,i]),c.data??null}function g(e,t){let i=n({queryKey:l(e),queryFn:()=>d(e),enabled:!1,staleTime:1/0,select:e=>t&&e.labels[t]||``},r);return t&&i.data||``}export{g as a,h as i,m as n,a as o,p as r,o as s,f as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./useQuery-DdcpUQhO.js";import{a as r}from"./startup-queries-CuEXV1Zu.js";import{t as i}from"./chat-api-Bo6nhq40.js";function a(e){return e instanceof Error?e.message:String(e)}function o(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test(a(e))}var s=e(t(),1),c=Object.freeze({});function l(e){return[`session-tree-summary`,e]}function u(e){let t=e&&typeof e==`object`?e:{},n=Number(t.branchCount),r={};for(let e of Array.isArray(t.nodes)?t.nodes:[]){if(!e||typeof e.id!=`string`||typeof e.label!=`string`)continue;let t=e.label.trim();t&&(r[e.id]=t.slice(0,80))}return{branchCount:Number.isFinite(n)&&n>0?Math.floor(n):0,labels:Object.keys(r).length?r:c}}async function d(e){return u(await i.getSessionTree(e))}function f(e,t){if(!e)return;let n=t;n&&Array.isArray(n.nodes)?r.setQueryData(l(e),u(n)):m(e)}function p(e){return r.fetchQuery({queryKey:l(e),queryFn:()=>d(e),staleTime:1/0})}function m(e){return r.invalidateQueries({queryKey:l(e)})}function h(e,{enabled:t,streaming:i,revision:a=0}){let o=t&&!i&&!!e,c=n({queryKey:l(e),queryFn:()=>d(e),enabled:o,staleTime:1/0},r),u=(0,s.useRef)({sessionId:e,streaming:i,revision:a});return(0,s.useEffect)(()=>{let t=u.current;u.current={sessionId:e,streaming:i,revision:a},!(!o||t.sessionId!==e)&&(t.streaming!==i||t.revision!==a)&&m(e)},[o,a,e,i]),c.data??null}function g(e,t){let i=n({queryKey:l(e),queryFn:()=>d(e),enabled:!1,staleTime:1/0,select:e=>t&&e.labels[t]||``},r);return t&&i.data||``}export{g as a,h as i,m as n,a as o,p as r,o as s,f as t};
@@ -1 +1 @@
1
- import{t as e}from"./index-DjSjahBi.js";import{o as t}from"./vendor-state-GkUciC5H.js";import{t as n}from"./storage-8QW6lXuT.js";var r=Object.freeze([`commandPalette`,`primaryAction`,`focusSearch`,`toggleSidebar`,`toggleTerminal`,`openSettings`,`focusComposer`,`sendMessage`,`voiceInput`,`openBoard`,`openComponents`,`openMore`,`jumpToAttention`,`agentPanel`,`toggleInspector`,`previousAgent`,`nextAgent`,`steerMessage`,`shortcutHelp`,`openSession`,`sessionTree`,`sideChat`,`cycleFocusRegion`]),i=Object.freeze({commandPalette:`Mod+KeyK`,primaryAction:`Mod+KeyN`,focusSearch:`Slash`,toggleSidebar:`Mod+KeyB`,toggleTerminal:`Mod+Backquote`,openSettings:`Mod+Comma`,focusComposer:`Mod+Shift+KeyL`,sendMessage:`Enter`,voiceInput:`F8`,openBoard:`Mod+Digit1`,openComponents:null,openMore:`Mod+Digit2`,jumpToAttention:`Alt+KeyA`,agentPanel:`Mod+KeyJ`,toggleInspector:`Mod+KeyI`,previousAgent:`Alt+ArrowUp`,nextAgent:`Alt+ArrowDown`,steerMessage:`Alt+Enter`,shortcutHelp:`Mod+Slash`,openSession:null,sessionTree:`Mod+Shift+KeyB`,sideChat:null,cycleFocusRegion:`F6`}),a=[`Mod`,`Ctrl`,`Meta`,`Alt`,`Shift`],o=new Set([`Space`,`Backquote`,`Minus`,`Equal`,`BracketLeft`,`BracketRight`,`Backslash`,`Semicolon`,`Quote`,`Comma`,`Period`,`Slash`,`IntlBackslash`,`IntlRo`,`IntlYen`,`NumpadAdd`,`NumpadSubtract`,`NumpadMultiply`,`NumpadDivide`,`NumpadDecimal`]),s=new Set([`KeyA`,`KeyC`,`KeyF`,`KeyL`,`KeyO`,`KeyP`,`KeyQ`,`KeyR`,`KeyS`,`KeyT`,`KeyV`,`KeyW`,`KeyX`,`KeyY`,`KeyZ`]),c=new Map([[` `,`Space`],[`Spacebar`,`Space`],["`",`Backquote`],[`~`,`Backquote`],[`-`,`Minus`],[`_`,`Minus`],[`=`,`Equal`],[`+`,`Equal`],[`[`,`BracketLeft`],[`{`,`BracketLeft`],[`]`,`BracketRight`],[`}`,`BracketRight`],[`\\`,`Backslash`],[`|`,`Backslash`],[`;`,`Semicolon`],[`:`,`Semicolon`],[`'`,`Quote`],[`"`,`Quote`],[`,`,`Comma`],[`<`,`Comma`],[`.`,`Period`],[`>`,`Period`],[`/`,`Slash`],[`?`,`Slash`],...[...`)!@#$%^&*(`].map((e,t)=>[e,`Digit${t}`])]),l=class extends Error{constructor(e,t=`invalid`,n=null,r=null){super(e),this.name=`ShortcutValidationError`,this.code=t,this.action=n,this.conflictingAction=r}};function u(e){if(typeof e!=`string`||!e)return null;let t=e.split(`+`),n=t.pop();if(!/^(Key[A-Z]|Digit[0-9]|Numpad[0-9]|F([1-9]|1[0-2])|Enter|Arrow(Up|Down))$/.test(n)&&!o.has(n))return null;let r=-1;for(let e of t){let t=a.indexOf(e);if(t<=r)return null;r=t}return t.filter(e=>[`Mod`,`Ctrl`,`Meta`].includes(e)).length>1?null:{code:n,primary:t.find(e=>[`Mod`,`Ctrl`,`Meta`].includes(e))||null,alt:t.includes(`Alt`),shift:t.includes(`Shift`)}}function d(e,t=null){let{code:n,primary:r,alt:i,shift:a}=e;return n.startsWith(`Arrow`)?i&&!r&&!a:n===`Enter`&&a&&!r&&!i||i&&(n===`F4`||n===`Space`)||r&&n===`F4`||(r===`Mod`||r===`Meta`)&&n===`Space`&&!a||r&&s.has(n)&&!(n===`KeyL`&&a)?!1:/^F\d+$/.test(n)||r||i?!0:a?!1:n===`Enter`&&(!t||t===`sendMessage`)||n===`Slash`&&(!t||t===`focusSearch`)}function f(e,t){return{ctrl:e.primary===`Ctrl`||e.primary===`Mod`&&!t,meta:e.primary===`Meta`||e.primary===`Mod`&&t,alt:e.alt,shift:e.shift}}function p(e,t,n){let r=f(e,n),i=f(t,n);return e.code===t.code&&r.ctrl===i.ctrl&&r.meta===i.meta&&r.alt===i.alt&&r.shift===i.shift}function m(e,t,n){let i=u(n);if(!i)return null;for(let n of r){if(n===t)continue;let r=u(e?.[n]);if(r&&(p(i,r,!1)||p(i,r,!0)))return n}return null}function h(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e))||Reflect.ownKeys(e).length!==r.length||!r.every(t=>Object.hasOwn(e,t)))throw new l(`Expected a complete shortcut map with only known actions`);let t={};for(let n of r){let r=e[n];if(r!==null){let e=u(r);if(!e||!d(e,n))throw new l(`Invalid or reserved shortcut for ${n}`,`invalid`,n)}t[n]=r}for(let e of r){let n=m(t,e,t[e]);if(n)throw new l(`Shortcut conflict between ${e} and ${n}`,`conflict`,e,n)}return t}var g=Object.freeze({openBoard:`Mod+Digit1`,openComponents:`Mod+Digit2`,openMore:`Mod+Digit3`}),_=Object.freeze({openSession:`Mod+Digit1`,openBoard:`Mod+Digit2`,openComponents:`Mod+Digit3`,openMore:`Mod+Digit4`}),v=Object.freeze([`openMore`,`openComponents`,`openBoard`,`openSession`]),y=Object.freeze({openSession:null,openBoard:`Mod+Digit1`,openComponents:null,openMore:`Mod+Digit2`});function b(e){for(let[t,n]of Object.entries(g))if(e[t]!==n)return;for(let t of v){let n=_[t];m(e,t,n)||(e[t]=n)}}function x(e){for(let[t,n]of Object.entries(_))if(e[t]!==n)return;Object.assign(e,y)}function S(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e)))return e;let t=r.filter(t=>Object.hasOwn(e,t));if(t.length===r.length&&Reflect.ownKeys(e).length===t.length)return e;let n={};for(let r of t)n[r]=e[r];Object.hasOwn(n,`sessionTree`)||(Object.hasOwn(n,`openSession`)||b(n),x(n));for(let e of r){if(Object.hasOwn(n,e))continue;let t=i[e];n[e]=m(n,e,t)?null:t}return n}function C(e){try{let t=h(S(e));return t.voiceInput===`Mod+Shift+Space`&&!m(t,`voiceInput`,`F8`)&&(t.voiceInput=`F8`),t}catch{return{...i}}}function w(e){if(e.code)return e.code;let t=e.key;return typeof t==`string`?/^[a-z]$/i.test(t)?`Key${t.toUpperCase()}`:/^[0-9]$/.test(t)?`Digit${t}`:/^(Enter|Arrow(Up|Down)|F([1-9]|1[0-2]))$/.test(t)?t:c.get(t)||null:null}function T(e){return!e||e.defaultPrevented||e.repeat||e.isComposing||e.keyCode===229||[`Dead`,`Process`,`Unidentified`,`AltGraph`].includes(e.key)||e.getModifierState?.(`AltGraph`)}function E(e,t=!1){if(T(e)||e.ctrlKey&&e.metaKey)return null;let n=w(e);if(!n)return null;let r=[];(t?e.metaKey:e.ctrlKey)?r.push(`Mod`):e.ctrlKey?r.push(`Ctrl`):e.metaKey&&r.push(`Meta`),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),r.push(n);let i=r.join(`+`),a=u(i);return a&&d(a)?i:null}function D(e,t,n=!1){if(T(e))return!1;let r=u(t);if(!r||!d(r)||w(e)!==r.code)return!1;let i=f(r,n);return!!e.ctrlKey===i.ctrl&&!!e.metaKey===i.meta&&!!e.altKey===i.alt&&!!e.shiftKey===i.shift}function O(e,t=!1){let n=u(e);if(!n)return``;let r=[];n.primary&&r.push(n.primary===`Mod`?t?`Cmd`:`Ctrl`:n.primary===`Meta`?`Cmd`:`Ctrl`),n.alt&&r.push(`Alt`),n.shift&&r.push(`Shift`);let i={Backquote:"`",Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Comma:`,`,Period:`.`,Slash:`/`,IntlBackslash:`\\`,IntlRo:`\\`,IntlYen:`Yen`,NumpadAdd:`Num +`,NumpadSubtract:`Num -`,NumpadMultiply:`Num *`,NumpadDivide:`Num /`,NumpadDecimal:`Num .`,ArrowUp:`↑`,ArrowDown:`↓`},a=n.code;return r.push(i[a]||a.replace(/^Key|^Digit/,``).replace(/^Numpad/,`Num `)),r.join(` + `)}var k=Object.freeze([`boardNext`,`boardPrevious`,`boardApprove`,`boardDeny`,`boardRetry`,`boardTriage`,`boardToggleGrouping`]),A=Object.freeze({boardNext:`KeyJ`,boardPrevious:`KeyK`,boardApprove:`KeyA`,boardDeny:`KeyD`,boardRetry:`KeyR`,boardTriage:`KeyT`,boardToggleGrouping:`KeyG`}),j=/^Key[A-Z]$/;function M(e,t,n){return typeof n!=`string`||!j.test(n)?null:k.find(r=>r!==t&&e?.[r]===n)||null}function N(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e))||Reflect.ownKeys(e).length!==k.length||!k.every(t=>Object.hasOwn(e,t)))throw new l(`Expected a complete board shortcut map`);let t={};for(let n of k){let r=e[n];if(r!==null&&(typeof r!=`string`||!j.test(r)))throw new l(`Invalid board shortcut for ${n}`,`invalid`,n);t[n]=r}for(let e of k){let n=M(t,e,t[e]);if(n)throw new l(`Board shortcut conflict between ${e} and ${n}`,`conflict`,e,n)}return t}function P(e){try{let t=e&&typeof e==`object`&&!Array.isArray(e)?e:Object.create(null),n={};for(let e of k)Object.hasOwn(t,e)&&(n[e]=t[e]);for(let e of k){if(Object.hasOwn(n,e))continue;let t=A[e];n[e]=M(n,e,t)?null:t}return N(n)}catch{return{...A}}}function F(e){return!!(e?.ctrlKey||e?.metaKey||e?.altKey||e?.shiftKey)}function I(e){if(T(e)||F(e))return null;let t=w(e);return t&&j.test(t)?t:null}function L(e,t){return typeof t!=`string`||!j.test(t)?!1:I(e)===t}function R(){try{return C(JSON.parse(e.getItem(n.shortcuts)||`null`))}catch{return{...i}}}function z(){try{return P(JSON.parse(e.getItem(n.boardShortcuts)||`null`))}catch{return{...A}}}var B=t((t,r)=>{let a=r=>{e.setItem(n.shortcuts,JSON.stringify(r)),t({bindings:r})},o=r=>{e.setItem(n.boardShortcuts,JSON.stringify(r)),t({boardBindings:r})};return{bindings:R(),boardBindings:z(),setBinding:(e,t)=>a(h({...r().bindings,[e]:t})),setBoardBinding:(e,t)=>o(N({...r().boardBindings,[e]:t})),resetBindings:()=>{a({...i}),o({...A})}}});typeof window<`u`&&window.addEventListener(`storage`,e=>{(e.key===n.shortcuts||e.key===null)&&B.setState({bindings:R()}),(e.key===n.boardShortcuts||e.key===null)&&B.setState({boardBindings:z()})});var V=/Mac|iPhone|iPad/.test(globalThis.navigator?.platform||``);function H(e,t=V){return O(e,t)}function U(e,t,n=V){return D(e,t,n)}function W(e,t=V){return E(e,t)}function G(e){return H(B(t=>t.bindings[e]))}function K(e){return e instanceof HTMLElement&&!!e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="textbox"]`)}function q(e,t=V){return t&&e.altKey&&!e.ctrlKey&&!e.metaKey&&K(e.target)}function J(e){return e.defaultPrevented||e.isComposing||e.keyCode===229||e.repeat||document.visibilityState===`hidden`||!!document.querySelector(`[role="dialog"], [role="alertdialog"], dialog[open]`)||e.target instanceof HTMLElement&&!!e.target.closest(`[data-shortcut-recorder], .terminal-panel, [role="menu"], [role="listbox"]`)}export{h as _,J as a,B as c,i as d,r as f,L as g,m as h,q as i,k as l,M as m,K as n,W as o,I as p,U as r,G as s,H as t,A as u};
1
+ import{t as e}from"./index-D_zLThH_.js";import{o as t}from"./vendor-state-GkUciC5H.js";import{t as n}from"./storage-DtvZ_lEu.js";var r=Object.freeze([`commandPalette`,`primaryAction`,`focusSearch`,`toggleSidebar`,`toggleTerminal`,`openSettings`,`focusComposer`,`sendMessage`,`voiceInput`,`openBoard`,`openComponents`,`openMore`,`jumpToAttention`,`agentPanel`,`toggleInspector`,`previousAgent`,`nextAgent`,`steerMessage`,`shortcutHelp`,`openSession`,`sessionTree`,`sideChat`,`cycleFocusRegion`]),i=Object.freeze({commandPalette:`Mod+KeyK`,primaryAction:`Mod+KeyN`,focusSearch:`Slash`,toggleSidebar:`Mod+KeyB`,toggleTerminal:`Mod+Backquote`,openSettings:`Mod+Comma`,focusComposer:`Mod+Shift+KeyL`,sendMessage:`Enter`,voiceInput:`F8`,openBoard:`Mod+Digit1`,openComponents:null,openMore:`Mod+Digit2`,jumpToAttention:`Alt+KeyA`,agentPanel:`Mod+KeyJ`,toggleInspector:`Mod+KeyI`,previousAgent:`Alt+ArrowUp`,nextAgent:`Alt+ArrowDown`,steerMessage:`Alt+Enter`,shortcutHelp:`Mod+Slash`,openSession:null,sessionTree:`Mod+Shift+KeyB`,sideChat:null,cycleFocusRegion:`F6`}),a=[`Mod`,`Ctrl`,`Meta`,`Alt`,`Shift`],o=new Set([`Space`,`Backquote`,`Minus`,`Equal`,`BracketLeft`,`BracketRight`,`Backslash`,`Semicolon`,`Quote`,`Comma`,`Period`,`Slash`,`IntlBackslash`,`IntlRo`,`IntlYen`,`NumpadAdd`,`NumpadSubtract`,`NumpadMultiply`,`NumpadDivide`,`NumpadDecimal`]),s=new Set([`KeyA`,`KeyC`,`KeyF`,`KeyL`,`KeyO`,`KeyP`,`KeyQ`,`KeyR`,`KeyS`,`KeyT`,`KeyV`,`KeyW`,`KeyX`,`KeyY`,`KeyZ`]),c=new Map([[` `,`Space`],[`Spacebar`,`Space`],["`",`Backquote`],[`~`,`Backquote`],[`-`,`Minus`],[`_`,`Minus`],[`=`,`Equal`],[`+`,`Equal`],[`[`,`BracketLeft`],[`{`,`BracketLeft`],[`]`,`BracketRight`],[`}`,`BracketRight`],[`\\`,`Backslash`],[`|`,`Backslash`],[`;`,`Semicolon`],[`:`,`Semicolon`],[`'`,`Quote`],[`"`,`Quote`],[`,`,`Comma`],[`<`,`Comma`],[`.`,`Period`],[`>`,`Period`],[`/`,`Slash`],[`?`,`Slash`],...[...`)!@#$%^&*(`].map((e,t)=>[e,`Digit${t}`])]),l=class extends Error{constructor(e,t=`invalid`,n=null,r=null){super(e),this.name=`ShortcutValidationError`,this.code=t,this.action=n,this.conflictingAction=r}};function u(e){if(typeof e!=`string`||!e)return null;let t=e.split(`+`),n=t.pop();if(!/^(Key[A-Z]|Digit[0-9]|Numpad[0-9]|F([1-9]|1[0-2])|Enter|Arrow(Up|Down))$/.test(n)&&!o.has(n))return null;let r=-1;for(let e of t){let t=a.indexOf(e);if(t<=r)return null;r=t}return t.filter(e=>[`Mod`,`Ctrl`,`Meta`].includes(e)).length>1?null:{code:n,primary:t.find(e=>[`Mod`,`Ctrl`,`Meta`].includes(e))||null,alt:t.includes(`Alt`),shift:t.includes(`Shift`)}}function d(e,t=null){let{code:n,primary:r,alt:i,shift:a}=e;return n.startsWith(`Arrow`)?i&&!r&&!a:n===`Enter`&&a&&!r&&!i||i&&(n===`F4`||n===`Space`)||r&&n===`F4`||(r===`Mod`||r===`Meta`)&&n===`Space`&&!a||r&&s.has(n)&&!(n===`KeyL`&&a)?!1:/^F\d+$/.test(n)||r||i?!0:a?!1:n===`Enter`&&(!t||t===`sendMessage`)||n===`Slash`&&(!t||t===`focusSearch`)}function f(e,t){return{ctrl:e.primary===`Ctrl`||e.primary===`Mod`&&!t,meta:e.primary===`Meta`||e.primary===`Mod`&&t,alt:e.alt,shift:e.shift}}function p(e,t,n){let r=f(e,n),i=f(t,n);return e.code===t.code&&r.ctrl===i.ctrl&&r.meta===i.meta&&r.alt===i.alt&&r.shift===i.shift}function m(e,t,n){let i=u(n);if(!i)return null;for(let n of r){if(n===t)continue;let r=u(e?.[n]);if(r&&(p(i,r,!1)||p(i,r,!0)))return n}return null}function h(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e))||Reflect.ownKeys(e).length!==r.length||!r.every(t=>Object.hasOwn(e,t)))throw new l(`Expected a complete shortcut map with only known actions`);let t={};for(let n of r){let r=e[n];if(r!==null){let e=u(r);if(!e||!d(e,n))throw new l(`Invalid or reserved shortcut for ${n}`,`invalid`,n)}t[n]=r}for(let e of r){let n=m(t,e,t[e]);if(n)throw new l(`Shortcut conflict between ${e} and ${n}`,`conflict`,e,n)}return t}var g=Object.freeze({openBoard:`Mod+Digit1`,openComponents:`Mod+Digit2`,openMore:`Mod+Digit3`}),_=Object.freeze({openSession:`Mod+Digit1`,openBoard:`Mod+Digit2`,openComponents:`Mod+Digit3`,openMore:`Mod+Digit4`}),v=Object.freeze([`openMore`,`openComponents`,`openBoard`,`openSession`]),y=Object.freeze({openSession:null,openBoard:`Mod+Digit1`,openComponents:null,openMore:`Mod+Digit2`});function b(e){for(let[t,n]of Object.entries(g))if(e[t]!==n)return;for(let t of v){let n=_[t];m(e,t,n)||(e[t]=n)}}function x(e){for(let[t,n]of Object.entries(_))if(e[t]!==n)return;Object.assign(e,y)}function S(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e)))return e;let t=r.filter(t=>Object.hasOwn(e,t));if(t.length===r.length&&Reflect.ownKeys(e).length===t.length)return e;let n={};for(let r of t)n[r]=e[r];Object.hasOwn(n,`sessionTree`)||(Object.hasOwn(n,`openSession`)||b(n),x(n));for(let e of r){if(Object.hasOwn(n,e))continue;let t=i[e];n[e]=m(n,e,t)?null:t}return n}function C(e){try{let t=h(S(e));return t.voiceInput===`Mod+Shift+Space`&&!m(t,`voiceInput`,`F8`)&&(t.voiceInput=`F8`),t}catch{return{...i}}}function w(e){if(e.code)return e.code;let t=e.key;return typeof t==`string`?/^[a-z]$/i.test(t)?`Key${t.toUpperCase()}`:/^[0-9]$/.test(t)?`Digit${t}`:/^(Enter|Arrow(Up|Down)|F([1-9]|1[0-2]))$/.test(t)?t:c.get(t)||null:null}function T(e){return!e||e.defaultPrevented||e.repeat||e.isComposing||e.keyCode===229||[`Dead`,`Process`,`Unidentified`,`AltGraph`].includes(e.key)||e.getModifierState?.(`AltGraph`)}function E(e,t=!1){if(T(e)||e.ctrlKey&&e.metaKey)return null;let n=w(e);if(!n)return null;let r=[];(t?e.metaKey:e.ctrlKey)?r.push(`Mod`):e.ctrlKey?r.push(`Ctrl`):e.metaKey&&r.push(`Meta`),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),r.push(n);let i=r.join(`+`),a=u(i);return a&&d(a)?i:null}function D(e,t,n=!1){if(T(e))return!1;let r=u(t);if(!r||!d(r)||w(e)!==r.code)return!1;let i=f(r,n);return!!e.ctrlKey===i.ctrl&&!!e.metaKey===i.meta&&!!e.altKey===i.alt&&!!e.shiftKey===i.shift}function O(e,t=!1){let n=u(e);if(!n)return``;let r=[];n.primary&&r.push(n.primary===`Mod`?t?`Cmd`:`Ctrl`:n.primary===`Meta`?`Cmd`:`Ctrl`),n.alt&&r.push(`Alt`),n.shift&&r.push(`Shift`);let i={Backquote:"`",Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Comma:`,`,Period:`.`,Slash:`/`,IntlBackslash:`\\`,IntlRo:`\\`,IntlYen:`Yen`,NumpadAdd:`Num +`,NumpadSubtract:`Num -`,NumpadMultiply:`Num *`,NumpadDivide:`Num /`,NumpadDecimal:`Num .`,ArrowUp:`↑`,ArrowDown:`↓`},a=n.code;return r.push(i[a]||a.replace(/^Key|^Digit/,``).replace(/^Numpad/,`Num `)),r.join(` + `)}var k=Object.freeze([`boardNext`,`boardPrevious`,`boardApprove`,`boardDeny`,`boardRetry`,`boardTriage`,`boardToggleGrouping`]),A=Object.freeze({boardNext:`KeyJ`,boardPrevious:`KeyK`,boardApprove:`KeyA`,boardDeny:`KeyD`,boardRetry:`KeyR`,boardTriage:`KeyT`,boardToggleGrouping:`KeyG`}),j=/^Key[A-Z]$/;function M(e,t,n){return typeof n!=`string`||!j.test(n)?null:k.find(r=>r!==t&&e?.[r]===n)||null}function N(e){if(!e||typeof e!=`object`||Array.isArray(e)||![Object.prototype,null].includes(Object.getPrototypeOf(e))||Reflect.ownKeys(e).length!==k.length||!k.every(t=>Object.hasOwn(e,t)))throw new l(`Expected a complete board shortcut map`);let t={};for(let n of k){let r=e[n];if(r!==null&&(typeof r!=`string`||!j.test(r)))throw new l(`Invalid board shortcut for ${n}`,`invalid`,n);t[n]=r}for(let e of k){let n=M(t,e,t[e]);if(n)throw new l(`Board shortcut conflict between ${e} and ${n}`,`conflict`,e,n)}return t}function P(e){try{let t=e&&typeof e==`object`&&!Array.isArray(e)?e:Object.create(null),n={};for(let e of k)Object.hasOwn(t,e)&&(n[e]=t[e]);for(let e of k){if(Object.hasOwn(n,e))continue;let t=A[e];n[e]=M(n,e,t)?null:t}return N(n)}catch{return{...A}}}function F(e){return!!(e?.ctrlKey||e?.metaKey||e?.altKey||e?.shiftKey)}function I(e){if(T(e)||F(e))return null;let t=w(e);return t&&j.test(t)?t:null}function L(e,t){return typeof t!=`string`||!j.test(t)?!1:I(e)===t}function R(){try{return C(JSON.parse(e.getItem(n.shortcuts)||`null`))}catch{return{...i}}}function z(){try{return P(JSON.parse(e.getItem(n.boardShortcuts)||`null`))}catch{return{...A}}}var B=t((t,r)=>{let a=r=>{e.setItem(n.shortcuts,JSON.stringify(r)),t({bindings:r})},o=r=>{e.setItem(n.boardShortcuts,JSON.stringify(r)),t({boardBindings:r})};return{bindings:R(),boardBindings:z(),setBinding:(e,t)=>a(h({...r().bindings,[e]:t})),setBoardBinding:(e,t)=>o(N({...r().boardBindings,[e]:t})),resetBindings:()=>{a({...i}),o({...A})}}});typeof window<`u`&&window.addEventListener(`storage`,e=>{(e.key===n.shortcuts||e.key===null)&&B.setState({bindings:R()}),(e.key===n.boardShortcuts||e.key===null)&&B.setState({boardBindings:z()})});var V=/Mac|iPhone|iPad/.test(globalThis.navigator?.platform||``);function H(e,t=V){return O(e,t)}function U(e,t,n=V){return D(e,t,n)}function W(e,t=V){return E(e,t)}function G(e){return H(B(t=>t.bindings[e]))}function K(e){return e instanceof HTMLElement&&!!e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="textbox"]`)}function q(e,t=V){return t&&e.altKey&&!e.ctrlKey&&!e.metaKey&&K(e.target)}function J(e){return e.defaultPrevented||e.isComposing||e.keyCode===229||e.repeat||document.visibilityState===`hidden`||!!document.querySelector(`[role="dialog"], [role="alertdialog"], dialog[open]`)||e.target instanceof HTMLElement&&!!e.target.closest(`[data-shortcut-recorder], .terminal-panel, [role="menu"], [role="listbox"]`)}export{h as _,J as a,B as c,i as d,r as f,L as g,m as h,q as i,k as l,M as m,K as n,W as o,I as p,U as r,G as s,H as t,A as u};
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimatedList-DB5vqafO.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/vendor-motion-DSW3wzXK.js","assets/react-bits-BsPlLi8F.css","assets/public-session-B9UHA6rN.js","assets/vendor-router-CSN_DGvx.js","assets/use-i18n-_vdxObu5.js","assets/i18n-EVP8yIdy.js","assets/index-D_zLThH_.js","assets/index-l96Dl6z6.css","assets/storage-DtvZ_lEu.js","assets/vendor-state-GkUciC5H.js","assets/settings-2-CXJjXJS9.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/button-CCcCN8tE.js","assets/dist-41X0pdUs.js","assets/BotAvatar-CNL-APwP.js","assets/motion-DTR4ZVle.js","assets/bots-store-CNXTx3UY.js","assets/startup-queries-CuEXV1Zu.js","assets/query-Bj-DUNYq.js","assets/mutation-CEbxdVYy.js","assets/api-BW_X0FMZ.js","assets/abort-signal-f4JsiYKX.js","assets/public-flags-D9LdpQwJ.js","assets/runtime-capabilities-CHYOF_hE.js","assets/runtime-capabilities-store-BNM5Ug-5.js","assets/events-PfANjkHx.js","assets/public-events-CTdTIu5Q.js","assets/public-greeting-DEKYruJJ.js","assets/arrow-right-DqLOhpA2.js","assets/check-2vYc6QaP.js","assets/WorkspacePicker-DbdbTOV2.js","assets/triangle-alert-CE1q54ci.js","assets/dialog-DFZX_Dek.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/input-CPw-zkYh.js","assets/alert-firawb0H.js","assets/folder-open-FIShC5Qk.js","assets/message-circle-D-XrK6Ft.js","assets/separator-BPh_qxvc.js","assets/AppSelect-DQYKUW5E.js","assets/use-mobile-C2tPBAza.js","assets/select-Bbk9bmXO.js","assets/chevron-down-CxtxIjiP.js","assets/chevron-up-D_ZcXjqr.js","assets/chevrons-up-down-C2sEPdAh.js","assets/dist-BiRPwy4W.js","assets/dist-DzGQ7sLi.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/dist-BS3ekNDj.js","assets/ClickSpark-B1Rn7ZwL.js","assets/approval-confirm-DQ5N_lJB.js","assets/shield-alert-oZqX6MNu.js","assets/kbd-CAufZTkl.js","assets/sheet-BTaIEX4w.js","assets/card-presentation-1oph2b8P.js","assets/session-board-status-D2lpFPiI.js","assets/HoldToConfirmButton-BxdJ7icc.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,n as r,r as i}from"./vendor-react-DwNgTV1j.js";import{f as a}from"./routes-DIeaqWVc.js";import{r as o}from"./i18n-EVP8yIdy.js";import{t as s}from"./use-i18n-_vdxObu5.js";import{o as c}from"./vendor-state-GkUciC5H.js";import{a as l}from"./api-BW_X0FMZ.js";import{a as u}from"./session-board-status-D2lpFPiI.js";import{t as d}from"./usePhoneShell-DZHZWXnN.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{a as p,i as m,n as h,t as g}from"./permission-rules-api-CAJsSBA5.js";import{t as _}from"./arrow-down-CDGua-ue.js";import{t as v}from"./check-2vYc6QaP.js";import{t as y}from"./chevron-down-CxtxIjiP.js";import{t as b}from"./chevron-left-BAtyp3_6.js";import{t as x}from"./chevron-right-C3t2Rckj.js";import{t as S}from"./chevron-up-D_ZcXjqr.js";import{t as C}from"./copy-DHmIFc52.js";import{t as w}from"./download-BCfIiuaL.js";import{t as T}from"./ellipsis-CfGKfbq6.js";import{t as E}from"./eye-uWAPXNzJ.js";import{a as D,o as O,t as k}from"./GitDiffViewer-DwFfeFOA.js";import{t as A}from"./file-Bllajneu.js";import{t as j}from"./folder-open-FIShC5Qk.js";import{t as M}from"./info-DATxy0fb.js";import{r as N,t as P}from"./undo-2-C-xQ0UVT.js";import{t as F}from"./loader-circle-BOwQzHB-.js";import{t as I}from"./monitor-ORxecA9m.js";import{t as L}from"./refresh-cw-TbWxTY4K.js";import{t as R}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as z}from"./rotate-ccw-C0v8V77_.js";import{t as B}from"./shield-alert-oZqX6MNu.js";import{t as ee}from"./shield-check-Gvek4RJ7.js";import{t as V}from"./square-bHHVTT3G.js";import{t as H}from"./tag-CqkeJlBf.js";import{t as te}from"./trash-2-CNrPOoPR.js";import{t as ne}from"./x-07u4-129.js";import{i as U,p as W,r as re,t as ie}from"./dropdown-menu-Ds0gD8S8.js";import{i as G,n as ae,r as oe,t as se}from"./popover--q2hs_pT.js";import{i as ce,n as le,t as ue}from"./tooltip-D4MFbqcG.js";import{t as K}from"./utils-C8uzG5AZ.js";import{n as de,t as q}from"./button-CCcCN8tE.js";import{a as fe,d as pe,m as me,o as he,y as ge}from"./events-PfANjkHx.js";import{a as _e,c as ve,g as ye,n as be}from"./shortcuts-D72gQCwH.js";import{t as J}from"./chat-api-Bo6nhq40.js";import{r as xe}from"./format-DMJQzoZ7.js";import{t as Se}from"./StatusGlyph-1KgitlUg.js";import{d as Ce,f as we,l as Te,m as Ee,n as De,p as Oe,r as ke,s as Ae,t as je}from"./run-activity-CwfO0cui.js";import{t as Me}from"./input-CPw-zkYh.js";import{t as Ne}from"./PageState-Cz6vFMXv.js";import{t as Pe}from"./alert-firawb0H.js";import{t as Fe}from"./vendor-motion-DSW3wzXK.js";import{i as Ie,n as Le,r as Re,t as ze}from"./MarkdownMessage-NK7Ixb4Y.js";import{t as Be}from"./route-context-DvWDul4T.js";import{t as Ve}from"./esm-DCV8yILT.js";import{t as He}from"./motion-DTR4ZVle.js";import{t as Ue}from"./HoldToConfirmButton-BxdJ7icc.js";import{t as We}from"./card-C3A0b5KR.js";import{t as Ge}from"./BrandLogo-k3CvJjd4.js";import{n as Ke,r as qe,t as Je}from"./collapsible-Dcoy-qnz.js";import{a as Ye,o as Xe,r as Ze,t as Qe}from"./session-tree-summary-HTmAo_9V.js";import{t as $e}from"./FileAttachmentPreview-DPjT_iYk.js";var et=f(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),tt=f(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),nt=f(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),rt=f(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),it=f(`octagon-pause`,[[`path`,{d:`M10 15V9`,key:`1lckn7`}],[`path`,{d:`M14 15V9`,key:`1muqhk`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}]]),at=f(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),Y=e(n(),1),ot=Object.freeze({messages:[],tools:[],approvals:[],questions:[],agents:[],team:null,currentActivity:null,activityFeed:[],lifecycle:null,sessionTreeRevision:0,thinkingText:``,queuedInputs:[],hadQueuedInput:!1,plan:null,executionMode:null,runMode:null,contextUsage:null,sessionUsage:null,promptCache:null,compaction:null,streaming:!1,error:``,loaded:!1,messageStart:null,hasOlder:!1,olderCursor:null});function st(e,t){if(e===t)return!1;if(!e||!t)return!0;let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let r of n)if(e[r]!==t[r])return!0;return!1}function ct(e,t){let n=e||ot,r=typeof t==`function`?t(n):{...n,...t};return st(n,r)?r:n}function lt(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function ut(e,t){return Number.isSafeInteger(e.queueRevision)&&Number.isSafeInteger(t.queueRevision)&&t.queueRevision<e.queueRevision}function dt(e,t){let n=t.removedInputId?[...new Set([...e.withdrawnInputIds||[],t.removedInputId])]:e.withdrawnInputIds||[],r=new Set(n),i=r.size?e.messages.filter(e=>!r.has(e.queuedInputId??``)):e.messages;if(ut(e,t))return{...e,messages:i,withdrawnInputIds:n};let a=lt(e.queuedInputs,t.queuedInputs);return{...e,messages:i,withdrawnInputIds:n,queuedInputs:r.size?a.filter(e=>!r.has(e.id)):a,...Number.isSafeInteger(t.queueRevision)?{queueRevision:t.queueRevision}:{},hadQueuedInput:!!(e.hadQueuedInput||a.length)}}function ft(e){return e?.role===`user`&&e.queuedPending===!0}function pt(e=[]){let t=e.length-1;for(;t>=0&&(ft(e[t])||e[t]?.role===`event`);)--t;return t}function mt(e=[],t){let n=Array.isArray(e)?e:[];if(ft(t))return[...n,t];let r=-1;for(let e=n.length-1;e>=0;--e)if(n[e]?.role===`agent`){r=e;break}return r<0?[...n,t]:[...n.slice(0,r),t,...n.slice(r)]}function ht(e,{agentId:t,deliveredIds:n,frozenText:r,interrupted:i}){if(!n.length)return e;let a=new Set(n),o=e=>e.role===`user`&&typeof e.queuedInputId==`string`&&a.has(e.queuedInputId),s=e.messages.filter(o).map(e=>({...e,queuedPending:!1})),c=e.messages.filter(e=>!o(e)),l=[...new Set([...e.deliveredInputIds||[],...n])],u=c.findIndex(e=>e.id===t);if(u<0)return{...e,deliveredInputIds:l};let d=c[u],f=c.filter(e=>e.id.startsWith(`${t}-part-`)).length,p=r?[{id:`${t}-part-${f+1}`,role:`agent`,text:r,streaming:!1,...i?{interrupted:!0}:{}}]:[];return{...e,deliveredInputIds:l,messages:[...c.slice(0,u),...p,...s,r?{...d,text:``}:d,...c.slice(u+1)]}}function gt(e){return!!(e?.streaming||e?.recovering||e?.pendingRuntimeSelection||e?.switchingModel||e?.switchingThinking||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function _t(e){return!!(e&&(e.streaming||String(e.thinkingText||``).trim()||e.tools?.length||e.currentActivity?.type===`agent`||e.activityFeed?.some(e=>e.type===`agent`)||e.team))}function vt(e,t,n){return t&&_t(n)?n:_t(e.runActivity)?e.runActivity:null}function yt(e,t){if(e&&(e.loaded||e.streaming||Oe(e)!==void 0))return Ee(e,null);let n=Oe(t);return n===void 0?Ee(e,null):n}function bt(e,t={}){return!!e?.items?.length}var X=i(),xt=e(r(),1);function St(e,t){return!!(t.sessionId&&e?.sessionId===t.sessionId&&e.streaming&&!e.completed&&!t.streaming&&t.completed&&e.runStartedAt&&Number.isFinite(Date.parse(e.runStartedAt))&&e.runStartedAt===t.runStartedAt)}function Ct(e,t,n=[]){if(!St(e,t))return!1;let r=Date.parse(t.runStartedAt||``);return Number.isFinite(r)?n.some(e=>{let t=Date.parse(e.changedAt);return e.reverted||!Number.isFinite(t)||t<r?!1:e.added>0||e.removed>0||e.status===`created`||e.status===`deleted`||!e.snapshot&&e.pending}):!1}function wt(e,t){let n=Math.min(400,t-280-8),r=Math.max(280,Math.min(720,t-n-8));return Math.min(r,Tt(e))}function Tt(e){return typeof e!=`number`||!Number.isFinite(e)?360:Math.min(720,Math.max(280,Math.round(e)))}var Et=new Set([`changes`,`files`,`plan`,`processes`,`sources`,`side-chat`]);function Dt(e,t,n=``){return{id:e,kind:t,resourceId:n,draft:``,url:``,view:{reading:{},expandedFiles:[],expandedProcesses:[],processFollow:{},processScroll:{},query:``,filter:``,selectedSourceId:``,follow:!0}}}function Ot(e){return{pages:e?[Dt(`page-1`,e)]:[],activeId:e?`page-1`:``,nextId:e?2:1,contentOpen:!1,summaryOpen:!1,contentWidth:null,conversationScrollTop:null}}function kt(e,t){if(t.type===`workspace`)return{...e,...t.contentWidth===void 0?{}:{contentWidth:Tt(t.contentWidth)},...t.contentOpen===void 0?{}:{contentOpen:t.contentOpen&&e.pages.length>0},...t.summaryOpen===void 0?{}:{summaryOpen:t.summaryOpen},...t.conversationScrollTop!==void 0&&Number.isFinite(t.conversationScrollTop)?{conversationScrollTop:Math.max(0,t.conversationScrollTop)}:{}};if(t.type===`add`||t.type===`open`||t.type===`kind`){let n=t.type===`kind`?t.id:t.type===`open`?t.replaceId:void 0,r=e.pages.find(e=>e.id===n);if(t.type===`kind`&&!r)return e;let i=`resourceId`in t&&t.resourceId||``,a=e.pages.find(e=>e.id!==n&&e.kind===t.kind&&e.resourceId===i&&(Et.has(t.kind)||!!i));if(a){let t=r?.kind===`new`?e.pages.filter(e=>e.id!==n):e.pages;return{...e,pages:t,activeId:a.id,contentOpen:!0,summaryOpen:!1}}if(!r&&e.pages.length>=12)return e;let o=Dt(r?.id||`page-${e.nextId}`,t.kind,i);return{...e,pages:r?e.pages.map(e=>e.id===o.id?o:e):[...e.pages,o],activeId:o.id,nextId:e.nextId+ +!r,contentOpen:!0,summaryOpen:!1}}let n=e.pages.findIndex(e=>e.id===t.id);if(n<0)return e;if(t.type===`select`)return{...e,activeId:t.id,contentOpen:!0};if(t.type===`close`){let r=e.pages.filter(e=>e.id!==t.id);return{...e,pages:r,activeId:e.activeId===t.id?r[Math.min(n,r.length-1)]?.id||``:e.activeId,contentOpen:r.length>0&&e.contentOpen}}return{...e,pages:e.pages.map(e=>e.id===t.id?t.type===`resource`?{...e,resourceId:t.resourceId}:t.type===`view`?{...e,view:{...e.view,...t.patch,reading:{...e.view.reading,...t.patch.reading}}}:{...e,...t.draft===void 0?{}:{draft:t.draft},...t.url===void 0?{}:{url:t.url}}:e)}}var At=c(e=>({sessions:{},update:(t,n,r)=>{let i=`unchanged`;return t&&e(e=>{let a=Object.prototype.hasOwnProperty.call(e.sessions,t)?e.sessions[t]:Ot(`id`in r?n:void 0),o=kt(a,r);return o===a?((r.type===`add`||r.type===`open`)&&a.pages.length>=12&&(i=`limit`),e):(i=`updated`,{sessions:{...e.sessions,[t]:o}})}),i},forget:t=>e(e=>{let n={...e.sessions};return delete n[t],{sessions:n}})})),jt=(0,Y.createContext)(null);function Mt(e,t,n=!1){let r=Object.fromEntries(D(e).filter(e=>e.hunks.length>0).map(e=>{let t=0,n=0;for(let r of e.hunks)for(let e of r.rows)e.kind===`pair`&&(e.next.tone===`added`&&t++,e.old.tone===`deleted`&&n++);return[e.path,{added:t,removed:n}]}));return{added:Object.values(r).reduce((e,t)=>e+t.added,0),removed:Object.values(r).reduce((e,t)=>e+t.removed,0),partial:n||t.some(e=>!Object.hasOwn(r,e)),files:r}}var Nt=(0,Y.createContext)(null),Pt=(0,Y.createContext)(null),Ft=(0,Y.createContext)(null);function It({error:e,title:t,pending:n=!1,onRetry:r,className:i}){let{t:a}=s(),[o,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(!1);return(0,X.jsx)(Pe,{role:`group`,className:K(`min-w-0 rounded-md border-stroke bg-surface-subtle px-3 py-2 text-content-secondary`,i),children:(0,X.jsxs)(Je,{open:o,onOpenChange:c,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,X.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[n?(0,X.jsx)(de,{className:`size-4`}):(0,X.jsx)(M,{"aria-hidden":`true`,className:`size-4 shrink-0 text-content-muted`}),(0,X.jsx)(`span`,{children:t||a(`chat:requestNotice.incomplete`)})]}),r&&(0,X.jsxs)(q,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 gap-1 px-2 text-xs text-content-secondary max-[650px]:min-h-11 pointer-coarse:min-h-11`,disabled:n||l,onClick:async()=>{if(!l){u(!0);try{await r()}catch{}finally{u(!1)}}},children:[(0,X.jsx)(z,{"aria-hidden":`true`,className:K(`size-3.5`,l&&`animate-spin`)}),a(`chat:chatMessage.retry`)]}),e&&(0,X.jsx)(qe,{asChild:!0,children:(0,X.jsxs)(q,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 gap-1 px-2 text-xs text-content-muted max-[650px]:min-h-11 pointer-coarse:min-h-11`,children:[a(o?`chat:requestNotice.hideDetails`:`chat:requestNotice.showDetails`),(0,X.jsx)(y,{"aria-hidden":`true`,className:K(`size-3 transition-transform`,o&&`rotate-180`)})]})})]}),(0,X.jsx)(Ke,{children:(0,X.jsx)(`pre`,{tabIndex:0,"aria-label":a(`chat:requestNotice.details`),className:`mt-2 max-h-48 overflow-auto rounded-sm border border-stroke-soft bg-code p-[8px_10px] font-mono text-[12px] leading-[1.6] whitespace-pre-wrap text-content-soft [overflow-wrap:anywhere] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus`,children:e})})]})})}var Lt=[`queued`,`starting`,`running`,`completed`,`failed`,`interrupted`];function Rt(e){return e.status===`queued`||e.status===`starting`||e.status===`running`}function Z(e,t=500){return typeof e==`string`?e.slice(0,t):``}function zt(e){let t=e&&typeof e==`object`?e.agents:void 0;return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e,n=Lt.find(e=>e===t.status);if(typeof t.id!=`string`||!t.id||!n)return[];let r=t.currentActivity&&typeof t.currentActivity==`object`?t.currentActivity:{},i=Number(t.toolCallCount);return[{id:t.id,kind:t.kind===`command`?`command`:`agent`,taskName:Z(t.title,120)||Z(t.taskName,120)||`agent`,status:n,message:Z(t.message),model:Z(t.model,120),output:Z(t.output),error:Z(t.error),startedAt:Z(t.startedAt,40),completedAt:Z(t.completedAt,40)||null,toolCallCount:Number.isInteger(i)&&i>0?i:0,activity:Z(r.name,80)||Z(r.stage,40)}]}):[]}var Bt=[`waiting`,`answered`,`stopped`];function Vt(e){let t=e&&typeof e==`object`?e.links:void 0;return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e,n=Bt.find(e=>e===t.status);return typeof t.id!=`string`||!t.id||typeof t.botId!=`string`||!n?[]:[{id:t.id,botId:t.botId,direction:t.direction===`in`?`in`:`out`,text:Z(t.text,300),status:n,reason:Z(t.reason,20),openedAt:Z(t.openedAt,40)}]}):[]}function Ht(e,t){return l(`/api/sessions/${encodeURIComponent(e)}/agents`,{signal:t,parse:e=>({agents:zt(e),links:Vt(e)})})}function Ut(e,t){return l(`/api/sessions/${encodeURIComponent(e)}/agents/${encodeURIComponent(t)}/stop`,{method:`POST`,data:{}})}var Wt=(0,Y.createContext)(null),Gt=2500,Kt=15e3;function qt(e,t,n){let[r,i]=(0,Y.useState)([]),[a,o]=(0,Y.useState)([]),[s,c]=(0,Y.useState)(0),l=(0,Y.useRef)(!1),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(new Set),p=(0,Y.useRef)(n);return p.current=n,(0,Y.useEffect)(()=>{i([]),o([]),u.current=null,d.current=null,f.current=new Set},[e]),(0,Y.useEffect)(()=>{if(!t||!e)return;let n=new AbortController,r=0,a=async()=>{try{let t=await Ht(e,n.signal);if(n.signal.aborted)return;let r=t.agents,a=new Set(t.links.filter(e=>e.status===`waiting`).map(e=>e.id));l.current=r.some(Rt)||a.size>0;let s=new Set(r.filter(Rt).map(e=>e.id)),c=u.current,m=d.current,h=[...f.current].some(e=>!a.has(e));u.current=s,d.current=new Set(r.map(e=>e.id)),f.current=a,(h||c&&m&&([...c].some(e=>!s.has(e))||r.some(e=>!m.has(e.id)&&!Rt(e))))&&p.current?.(),i(r),o(t.links)}catch{}n.signal.aborted||(r=window.setTimeout(a,l.current?Gt:Kt))};return a(),()=>{n.abort(),window.clearTimeout(r)}},[t,s,e]),{agents:r,links:a,reload:(0,Y.useCallback)(()=>c(e=>e+1),[])}}function Jt(e){return{id:`agent-event-${e.id}`,role:`event`,timestamp:e.startedAt,agentId:e.id}}function Yt(e){let t=e.timestamp;if(typeof t==`number`)return t;let n=typeof t==`string`?Date.parse(t):NaN;return Number.isFinite(n)?n:null}function Xt(e){return{id:`link-event-${e.id}`,role:`event`,timestamp:e.openedAt,linkId:e.id}}function Zt(e,t,n=[]){if(!t.length&&!n.length)return e;let r=[...t.map(Jt),...n.map(Xt)].sort((e,t)=>(Yt(e)??0)-(Yt(t)??0)),i=[],a=0,o=-1/0;for(let t of e){for(o=Yt(t)??o;a<r.length&&(Yt(r[a])??0)<o;)i.push(r[a++]);i.push(t)}for(;a<r.length;)i.push(r[a++]);return i}function Qt(e,{threshold:t=64,onUnreadChange:n,requestFrame:r=e=>requestAnimationFrame(e),cancelFrame:i=e=>cancelAnimationFrame(e),reducedMotion:a}){let o=e.ownerDocument,s=o.defaultView?.matchMedia?.(`(prefers-reduced-motion: reduce)`),c=a||(()=>{let e=o.documentElement.dataset.motion;return e===`reduced`||e!==`full`&&!!s?.matches}),l=!0,u=!1,d=!1,f=null,p=null,m=null,h=e.scrollTop,g=!1,_=!1,v=null,y=()=>Math.max(0,e.scrollHeight-e.clientHeight),b=()=>_||v!==null,x=()=>h-e.scrollTop>Math.max(t,e.clientHeight/2)&&y()-e.scrollTop>t,S=e=>{u!==e&&(u=e,n(e))},C=()=>{p!==null&&i(p),p=null},w=()=>{f!==null&&i(f),f=null,m=null,C(),g=!1,h=e.scrollTop},T=()=>{C(),g=!0},E=()=>{C(),p=r(()=>{p=r(()=>{if(p=null,x()){A();return}if(l&&!b()&&Math.abs(y()-e.scrollTop)>1){k();return}g=!1,h=e.scrollTop})})},D=t=>{e.scrollTo({top:t,behavior:`instant`}),h=e.scrollTop},O=t=>{if(f=null,d||!l||b())return;if(x()){A();return}let n=y(),i=n-e.scrollTop,a=m===null?1e3/60:Math.min(64,t-m);m=t;let o=1-.85**(Math.max(0,a)/(1e3/60));if(c()||Math.abs(i)<=1){i!==0&&D(n),m=null,E();return}D(e.scrollTop+Math.sign(i)*Math.min(Math.abs(i),Math.max(1,Math.abs(i)*o))),f=r(O)},k=()=>{d||!l||b()||(T(),f===null&&(f=r(O)))},A=()=>{d||(l=!1,w())},j=()=>{l=!0,S(!1),k()},M=()=>{if(d)return;if(g){x()&&A();return}let n=e.scrollTop-h;h=e.scrollTop,n<-.5&&y()-e.scrollTop>1?A():n>.5&&y()-e.scrollTop<=t&&j()},N=t=>{t.ctrlKey||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.deltaY<0?A():t.deltaY>0&&y()-e.scrollTop<=1&&j())},P=e=>{let t=e.touches[0];t&&(v={x:t.clientX,y:t.clientY},w())},F=e=>{let t=e.touches[0];if(!t||!v)return;let n=t.clientX-v.x,r=t.clientY-v.y;Math.abs(r)<2||(r>0&&r>Math.abs(n)&&A(),v={x:t.clientX,y:t.clientY})},I=()=>{v=null,k()},L=e=>{e.pointerType===`touch`||e.button>1||(_=!0,w())},R=()=>{_&&(_=!1,k())},z=e=>{let t=e.target;e.defaultPrevented||t?.closest?.(`input, textarea, select, [contenteditable]`)||(e.key===`ArrowUp`||e.key===`PageUp`||e.key===`Home`||e.key===` `&&e.shiftKey)&&A()};e.addEventListener(`scroll`,M,{passive:!0}),e.addEventListener(`wheel`,N,{passive:!0}),e.addEventListener(`touchstart`,P,{passive:!0}),e.addEventListener(`touchmove`,F,{passive:!0}),e.addEventListener(`touchend`,I,{passive:!0}),e.addEventListener(`touchcancel`,I,{passive:!0}),e.addEventListener(`pointerdown`,L,{passive:!0}),e.addEventListener(`keydown`,z),o.addEventListener(`pointerup`,R,{passive:!0}),o.addEventListener(`pointercancel`,R,{passive:!0}),s?.addEventListener?.(`change`,k);let B=typeof ResizeObserver>`u`?null:new ResizeObserver(k);return B?.observe(e),{maintainBottom:k,pauseFollowing:A,restorePosition(e){d||!Number.isFinite(e)||(A(),S(!1),D(Math.max(0,e)))},contentChanged(){d||(l?k():S(!0))},scrollToBottom(e=`auto`){d||(w(),l=!0,S(!1),e===`smooth`?k():(T(),D(y()),E()))},dispose(){d=!0,w(),B?.disconnect(),e.removeEventListener(`scroll`,M),e.removeEventListener(`wheel`,N),e.removeEventListener(`touchstart`,P),e.removeEventListener(`touchmove`,F),e.removeEventListener(`touchend`,I),e.removeEventListener(`touchcancel`,I),e.removeEventListener(`pointerdown`,L),e.removeEventListener(`keydown`,z),o.removeEventListener(`pointerup`,R),o.removeEventListener(`pointercancel`,R),s?.removeEventListener?.(`change`,k)}}}function $t(e,{threshold:t=64,resetKey:n,readInitialPosition:r}={}){let i=(0,Y.useRef)(r);i.current=r;let a=(0,Y.useRef)(null),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!1),u=(0,Y.useRef)(null),d=(0,Y.useCallback)(e=>{a.current=e,s(e)},[]);return(0,Y.useLayoutEffect)(()=>{if(!o)return;let e=Qt(o,{threshold:t,onUnreadChange:l});u.current=e,l(!1);let n=i.current?.();return typeof n==`number`?e.restorePosition(n):e.scrollToBottom(),()=>{e.dispose(),u.current=null}},[n,o,t]),(0,Y.useEffect)(()=>{u.current?.contentChanged()},[e]),{scrollRef:a,scrollElement:o,setScrollRef:d,hasUnread:c,scrollToBottom:(0,Y.useCallback)((e=`auto`)=>{u.current?.scrollToBottom(e)},[]),maintainBottom:(0,Y.useCallback)(()=>{u.current?.maintainBottom()},[]),pauseFollowing:(0,Y.useCallback)(()=>{u.current?.pauseFollowing()},[])}}function en(e){let t=e.runActivity,n=t?.activityFeed,r=t?.tools;return Array.isArray(n)&&n.length?n.length:Array.isArray(r)?r.length:0}function tn(e){return String(e||``).split(`
3
+ `).map(e=>e.trim()).find(Boolean)||``}function nn(e,{turnsKnown:t}){let n=-1;for(let t=pt(e);t>=0;--t)if(e[t]?.role===`user`){n=t;break}if(n<=0)return null;let r=-1,i=0;for(let t=0;t<n;t+=1)e[t]?.role===`user`&&(r=t,i+=1);let a=0,o=!1;for(let t=Math.max(0,r);t<n;t+=1){let n=e[t];n?.role===`agent`&&(a+=en(n),o=!!n.error)}return{latestIndex:n,turnBase:i,previous:{turn:t&&r>=0?i:null,text:r>=0?tn(e[r]?.text):``,operations:a,failed:o}}}function rn({text:e,copyLabel:t,getText:n}){let{t:r}=s(),[i,a]=(0,Y.useState)(`idle`),o=(0,Y.useRef)(0),c=(0,Y.useRef)(null);(0,Y.useEffect)(()=>(a(`idle`),()=>{o.current+=1,c.current!==null&&clearTimeout(c.current)}),[e]);let l=async()=>{if(i===`pending`||i===`copied`)return;let t=++o.current;c.current!==null&&clearTimeout(c.current),a(`pending`);try{if(await navigator.clipboard.writeText(n?.()||e),t!==o.current)return;a(`copied`),c.current=setTimeout(()=>a(`idle`),1800)}catch{t===o.current&&a(`failed`)}},u=i===`copied`?r(`common:markdownMessage.copied`):t??r(`chat:chatMessage.copyReply`);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(ue,{children:[(0,X.jsx)(ce,{asChild:!0,children:(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,disabledMode:`focusable`,"aria-label":u,"aria-busy":i===`pending`||void 0,"aria-disabled":i===`pending`||i===`copied`||void 0,onClick:i===`copied`||i===`pending`?void 0:()=>void l(),children:i===`copied`?(0,X.jsx)(v,{size:16,className:`text-success`}):i===`pending`?(0,X.jsx)(F,{size:16,className:`animate-spin`}):(0,X.jsx)(C,{size:16})})}),(0,X.jsx)(le,{children:u})]}),(0,X.jsx)(`span`,{role:`status`,className:i===`failed`?`order-last basis-full text-xs text-destructive`:`sr-only`,children:i===`failed`?r(`chat:chatMessage.copyReplyFailed`):i===`copied`?r(`common:markdownMessage.copied`):``})]})}var an=new Map,on=e=>{let t=an.get(e);return t||(t=Fe.create(e),an.set(e,t)),t};(0,Y.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=on(t),o=(0,Y.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,X.jsx)(a,{animate:{backgroundPosition:`0% center`},className:K(`relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent`,`[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]`,n),initial:{backgroundPosition:`100% center`},style:{"--spread":`${o}px`,backgroundImage:`var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))`},transition:{duration:r,ease:`linear`,repeat:1/0},children:e})});var sn=(0,Y.createContext)(null),cn=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,Y.useMemo)(()=>({isStreaming:t}),[t]);return(0,X.jsx)(sn.Provider,{value:i,children:(0,X.jsx)(Je,{asChild:!0,"data-slot":`plan`,...r,children:(0,X.jsx)(We,{className:K(`shadow-none`,e),children:n})})})},ln=({defaultOpen:e=!0,className:t,...n})=>(0,X.jsx)(Je,{className:K(t),defaultOpen:e,...n}),un=4e3,dn=`… earlier output omitted …`;function fn(e){let t=String(e||``),n=``;for(let e=0;e<t.length;e+=1){let r=t.charCodeAt(e);if(r===27){let n=t.charCodeAt(e+1);if(n===91)for(e+=2;e<t.length&&t.charCodeAt(e)<64;)e+=1;else if(n===93)for(e+=2;e<t.length;){let n=t.charCodeAt(e);if(n===7)break;if(n===27&&t.charCodeAt(e+1)===92){e+=1;break}e+=1}else e+=1;continue}(r===9||r===10||r===13||r>=32&&r!==127)&&(n+=t[e])}return n}function pn(e,t=un){let n=String(e||``),r=Math.max(1,Math.floor(Number(t)||4e3));if(n.length<=r)return{text:fn(n),truncated:!1};let i=n.slice(-r),a=i.indexOf(`
4
+ `);return a>=0&&a<Math.floor(r/3)&&(i=i.slice(a+1)),{text:fn(`${dn}\n${i}`),truncated:!0}}function mn(){let e=globalThis.pisperDesktop;return e?.computerUseStartStream?e:null}function hn({target:e,fallbackImage:t,streaming:n}){let{t:r}=s(),i=Number(e.target?.windowId)||0,[a,o]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(`connecting`),[u,d]=(0,Y.useState)(!1),f=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!n)return;let e=mn();if(!e?.computerUseSecureInputState)return;let t=!0,r=()=>{e.computerUseSecureInputState?.().then(e=>{t&&d(!!e?.active)}).catch(()=>{t&&d(!1)})};r();let i=window.setInterval(r,2e3);return()=>{t=!1,window.clearInterval(i)}},[n]),(0,Y.useEffect)(()=>{if(!n||!i)return;let e=mn();if(!e){l(`unavailable`);return}l(`connecting`);let t=!0;return e.computerUseStartStream?.(i,e=>{t&&(e.type===`frame`?(f.current=`data:image/jpeg;base64,${e.jpegBase64}`,o({url:f.current,width:e.width,height:e.height,timestampMs:e.timestampMs}),l(`live`)):e.type===`error`?l(`unavailable`):e.type===`downgraded`?l(e=>e===`live`?e:`connecting`):e.type===`stopped`&&l(`unavailable`))}).catch(()=>{t&&l(`unavailable`)}),()=>{t=!1,e.computerUseStopStream?.(i).catch(()=>{})}},[n,i]);let p=a?.url||(t?.url?String(t.url):``),m=String(e.target?.windowTitle||e.target?.app||``),h=c===`live`,g=(0,Y.useMemo)(()=>`${a?.width||16} / ${a?.height||10}`,[a?.width,a?.height]);return(0,X.jsxs)(`div`,{className:`computer-use-live-mirror my-0.5 w-full overflow-hidden rounded-md border border-stroke bg-code`,"data-pisper-live-mirror":h?`live`:c,children:[p?(0,X.jsx)(`img`,{alt:m||r(`chat:computerUseLive.previewAlt`),className:`computer-use-live-frame block max-h-[240px] w-full object-contain object-top`,src:p}):(0,X.jsx)(`div`,{className:`computer-use-live-placeholder grid min-h-[84px] w-full place-items-center text-xs text-content-muted`,style:{aspectRatio:g},children:r(`chat:computerUseLive.waitingForFirstFrame`)}),u?(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-stroke-soft bg-warning-soft px-2.5 py-1 text-xs text-warning-strong`,"data-pisper-secure-input":`active`,children:[(0,X.jsx)(B,{size:12,className:`flex-none`}),(0,X.jsx)(`span`,{className:`min-w-0`,children:r(`chat:computerUseLive.secureInput`)})]}):null,(0,X.jsxs)(`div`,{className:`flex min-h-7 items-center justify-between gap-2 border-t border-stroke-soft bg-panel px-2.5 text-xs text-content-muted`,children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,X.jsx)(I,{size:12}),(0,X.jsx)(`span`,{className:`truncate`,title:m,children:m||r(`chat:computerUseLive.appWindow`)})]}),(0,X.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5 ${h?`font-medium text-accent-fg`:`text-content-muted`}`,"data-pisper-live-mirror-status":c,children:[h&&(0,X.jsx)(de,{className:`size-3`}),r(h?`chat:computerUseLive.live`:c===`connecting`?`chat:computerUseLive.connecting`:`chat:computerUseLive.staticPreview`)]})]})]})}var gn=(0,Y.memo)(hn),_n=new Set([`find_roots`,`observe_ui`,`search_ui`,`expand_ui`,`inspect_ui`,`act_ui`,`read_text`,`wait_for`,`launch_browser`,`navigate_browser`,`evaluate_browser`]);function vn(e){return _n.has(String(e||``))}function yn(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`tool`&&vn(n.name)&&Number(n.target?.windowId)>0)return n}return null}function bn(e,t){return e===`read`?t(`chat:agentRunActivity.readingFiles`):e===`grep`?t(`chat:agentRunActivity.searchingContent`):e===`find`?t(`chat:agentRunActivity.findingFiles`):e===`ls`?t(`chat:agentRunActivity.browsingDirectories`):e===`edit`?t(`chat:agentRunActivity.editingFiles`):e===`write`?t(`chat:agentRunActivity.writingFiles`):e===`bash`?t(`chat:agentRunActivity.runningCommands`):e===`codemode`?t(`chat:agentRunActivity.runningScript`):e===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):e===`memory_open`?t(`chat:agentRunActivity.openingMemory`):e===`memory_confirm`?t(`chat:agentRunActivity.confirmingMemory`):e===`memory_forget`?t(`chat:agentRunActivity.forgettingMemory`):e===`spawn_agent`?t(`chat:agentRunActivity.startingSubagent`):e===`list_agents`?t(`chat:agentRunActivity.checkingSubagents`):e===`send_message`?t(`chat:agentRunActivity.messagingSubagent`):e===`send_team_message`?t(`chat:agentRunActivity.messagingTeamMember`):e===`list_team_members`?t(`chat:agentRunActivity.checkingTeamMembers`):e===`run_team_workflow`?t(`chat:agentRunActivity.runningTeamWorkflow`):e===`followup_task`?t(`chat:agentRunActivity.addingSubagentTask`):e===`wait_agent`?t(`chat:agentRunActivity.waitingForSubagent`):e===`interrupt_agent`?t(`chat:agentRunActivity.interruptingSubagent`):Te(e)?t(`chat:agentRunActivity.readingPlan`):Ce(e)?t(`chat:agentRunActivity.updatingPlan`):e===`browser_automation`?t(`chat:agentRunActivity.controllingBrowser`):e===`observe_ui`||e===`inspect_ui`||e===`expand_ui`?t(`chat:agentRunActivity.observingInterface`):e===`act_ui`?t(`chat:agentRunActivity.operatingInterface`):e===`search_ui`?t(`chat:agentRunActivity.searchingInterface`):e===`find_roots`?t(`chat:agentRunActivity.findingAppWindows`):e===`ocr_ui`?t(`chat:agentRunActivity.readingInterfaceText`):e===`wait_for`?t(`chat:agentRunActivity.waitingForInterface`):e===`read_text`?t(`chat:agentRunActivity.readingInterfaceText`):e===`generate_visual`?t(`chat:agentRunActivity.generatingVisualContent`):e===`discover_tools`?t(`chat:agentRunActivity.discoveringTools`):t(`chat:agentRunActivity.usingTool`,{tool:String(e||t(`chat:agentRunActivity.tools`))})}function xn(e,t){return e===`read`?t(`chat:agentRunActivity.filesRead`):e===`grep`?t(`chat:agentRunActivity.searchCompleted`):e===`find`?t(`chat:agentRunActivity.findCompleted`):e===`ls`?t(`chat:agentRunActivity.directoriesBrowsed`):e===`edit`?t(`chat:agentRunActivity.filesEdited`):e===`write`?t(`chat:agentRunActivity.filesWritten`):e===`bash`?t(`chat:agentRunActivity.commandCompleted`):e===`codemode`?t(`chat:agentRunActivity.scriptCompleted`):e===`spawn_agent`?t(`chat:agentRunActivity.subagentStarted`):e===`send_team_message`?t(`chat:agentRunActivity.teamMessageSent`):e===`list_team_members`?t(`chat:agentRunActivity.teamMembersListed`):e===`run_team_workflow`?t(`chat:agentRunActivity.teamWorkflowStarted`):e===`wait_agent`?t(`chat:agentRunActivity.subagentStatusUpdated`):e===`observe_ui`||e===`inspect_ui`||e===`expand_ui`?t(`chat:agentRunActivity.interfaceObserved`):e===`act_ui`?t(`chat:agentRunActivity.interfaceActionCompleted`):e===`ocr_ui`||e===`read_text`?t(`chat:agentRunActivity.interfaceTextRead`):Ce(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function Sn(e,t,n){return n(e===`queued`?`chat:agentRunActivity.agentQueued`:e===`starting`?`chat:agentRunActivity.agentStarting`:e===`running`?`chat:agentRunActivity.agentRunning`:e===`completed`?`chat:agentRunActivity.agentCompleted`:e===`interrupted`?`chat:agentRunActivity.agentInterrupted`:e===`failed`?`chat:agentRunActivity.agentFailed`:`chat:agentRunActivity.agentStatusUpdated`,{name:t})}function Cn(e,t){let n=e?.items||[],r=e?.counts?.completed??n.filter(e=>e.status===`completed`).length,i=e?.counts?.inProgress??n.filter(e=>e.status===`in_progress`).length;return[n.length?t(`chat:agentRunActivity.completedTotalCompleted`,{completed:r,total:n.length}):``,i?t(`chat:agentRunActivity.countInProgress`,{count:i}):``].filter(Boolean).join(` · `)||t(`chat:agentRunActivity.planCleared`)}function wn(e,t){return e.kind===`removed`?t(`chat:agentRunActivity.removedTitle`,{title:e.title}):e.status===`completed`?t(`chat:agentRunActivity.completedTitle`,{title:e.title}):e.status===`in_progress`?t(`chat:agentRunActivity.inProgressTitle`,{title:e.title}):e.status===`blocked`?t(`chat:agentRunActivity.blockedTitle`,{title:e.title}):e.kind===`added`?t(`chat:agentRunActivity.addedTitle`,{title:e.title}):t(`chat:agentRunActivity.pendingTitle`,{title:e.title})}function Tn(e,t){return e?.active?e.reason===`overflow`?t(`chat:agentRunActivity.contextIsFullTheRequestWillRetryAfterCompaction`):e.reason===`manual`?t(`chat:agentRunActivity.summarizingOlderMessagesAsRequested`):t(`chat:agentRunActivity.contextIsNearingItsLimitSummarizingOlderMessages`):e?.tokensBefore!=null&&e?.estimatedTokensAfter!=null?t(`chat:agentRunActivity.contextCompactedBeforeAfterTokens`,{before:xe(e.tokensBefore),after:xe(e.estimatedTokensAfter)}):t(`chat:agentRunActivity.summarizingOlderMessages`)}function En(e){if(typeof e!=`string`&&typeof e!=`number`)return 0;let t=new Date(e).getTime();return Number.isFinite(t)?t:0}function Dn(e){if(!e||e.status===`running`)return null;let t=e.type===`agent`&&e.agent||{},n=En(e.startedAt||t.startedAt),r=En(e.finishedAt||t.completedAt||e.updatedAt);return!n||!r||r<n?null:r-n}function On(e,t=!1){let n=Math.max(0,Math.round(e));if(n<1e3)return t?`0 s`:`${n} ms`;if(n<1e4&&!t)return`${(n/1e3).toFixed(1)} s`;let r=Math.floor(n/1e3);if(r<60)return`${r} s`;let i=Math.floor(r/60),a=String(r%60).padStart(2,`0`);return i<60?`${i}:${a}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${a}`}function kn(e){if(e?.type!==`tool`||e.status!==`error`)return null;let t=/Command exited with code (\d+)/.exec(`${String(e.output||``)}\n${String(e.message||``)}`);return t?t[1]:null}var An=[],jn=`flex min-h-[36px] min-w-0 items-center gap-[10px] px-[12px] py-[5px] text-[13px] max-[650px]:min-h-11 pointer-coarse:min-h-11 [.agent-run-activity.compact_&]:min-h-[30px]`,Mn=`cursor-pointer list-none transition-colors duration-(--d-fast) ease-precise focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus [&::-webkit-details-marker]:hidden`,Nn=`${Mn} hover:bg-surface-subtle [details[open]>&]:bg-surface-subtle`,Pn=`${Mn} bg-st-run-soft`,Fn=`agent-run-disclosure size-[14px] flex-none text-content-muted transition-transform duration-(--d-fast) ease-precise [details[open]>summary_&]:rotate-90`,In=(0,Y.lazy)(()=>t(()=>import(`./AnimatedList-DB5vqafO.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([0,1,2,3,4,5,6])));function Ln(e,t){return t(e===`queued`?`chat:agentRunActivity.teamTaskQueued`:e===`starting`?`chat:agentRunActivity.teamTaskStarting`:e===`running`?`chat:agentRunActivity.teamTaskRunning`:e===`completed`?`chat:agentRunActivity.teamTaskCompleted`:e===`failed`?`chat:agentRunActivity.teamTaskFailed`:e===`interrupted`?`chat:agentRunActivity.teamTaskInterrupted`:e===`blocked`?`chat:agentRunActivity.teamTaskBlocked`:`chat:agentRunActivity.teamTaskStatusUpdated`)}function Rn(e){let[t,n]=(0,Y.useState)(()=>Date.now());return(0,Y.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function zn({startedAt:e,finishedAt:t,streaming:n}){let r=Rn(n),i=Ae(e,t,r);return!i&&!n?null:(0,X.jsx)(`span`,{className:`agent-run-duration flex-none text-[12px] whitespace-nowrap text-content-muted tabular-nums`,children:On(i,!!n)})}function Q(e){return String(e||``).replace(/\s+/g,` `).trim()}function Bn(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:e?.name===`codemode`?{text:String(t.code||``).split(`
5
+ `).map(e=>e.trim()).find(e=>e&&!e.startsWith(`// @options:`))||``,command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:Q(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${Q(t.pattern)}”`:``,Q(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[Q(t.pattern),Q(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[Q(t.action),Q(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`observe_ui`?{text:Q(t.root||t.mode)}:e?.name===`act_ui`?{text:Array.isArray(t.actions)?t.actions.slice(0,3).map(e=>Q(e?.action)).filter(Boolean).join(` · `):``}:e?.name===`search_ui`?{text:Q(t.text||t.role)}:e?.name===`find_roots`?{text:Q(t.app||t.text)}:e?.name===`ocr_ui`?{text:Q(t.language)}:e?.name===`spawn_agent`?{text:Q(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:Q(t.target)}:e?.name===`generate_visual`?{text:Q(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:Q(t.query)}:{text:``}}function Vn(e,{t,streaming:n,text:r,thinkingText:i,compaction:a,error:o,stopped:s,notice:c,lastActivityAt:l,now:u}){let d=`running`,f=t(`chat:agentRunActivity.understandingTheTask`),p=c||``,m=``,h=!1,g=e.startedAt,_=An;if(e.type===`tool`){let n=e.status===`error`,r=e.status===`done`;d=n?`failed`:r?`completed`:`running`,f=n?t(`chat:agentRunActivity.toolFailed`,{tool:bn(e.name,t)}):r?xn(e.name,t):bn(e.name,t);let i=Bn(e);p=i.text,h=!!i.command,m=Q(e.message)}else if(e.type===`plan`){d=`plan`;let n=we(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||An,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):Cn(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=Q(n.taskName)||t(`chat:agentRunActivity.subagent`),i=Q(n.agentProfile),a=Q(n.modelTier),o=Q(n.model),s=i||a?t(`chat:agentRunActivity.subagentWithProfile`,{name:r,profile:i||a,model:o}):r,c=!Array.isArray(n.modelFallbackReasons)||!n.modelFallbackReasons.length?``:n.modelSource===`tier`?t(`chat:agentRunActivity.subagentTierModelFallback`,{model:o}):t(i?`chat:agentRunActivity.subagentParentModelFallback`:`chat:agentRunActivity.subagentTierUnavailableFallback`,{model:o}),l=ke(n.status);f=Sn(n.status,s,t),d=l.tone,p=(n.currentActivity?.type===`tool`?Bn(n.currentActivity).text||n.currentActivity.name:``)||Q(n.error)||c||Q(n.message),m=n.status===`running`?Q(n.output):``,g=n.startedAt||g}else if(e.type===`communication`){let n=e.communication||{};d=`running`,f=t(`chat:agentRunActivity.teamMessageActivity`),p=t(`chat:agentRunActivity.teamMessageDetail`,{from:n.fromTaskName||n.fromAgentId||`lead`,to:n.toTaskName||n.toAgentId||``}),m=Q(n.message)}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=Tn(e.compaction||a,t);else if(e.type===`retry`)d=`waiting`,f=t(`chat:agentRunActivity.retryingRequest`),p=e.summary||c||``;else{let a=Math.max(0,u-new Date(l||u).getTime());o?(d=`failed`,f=t(`chat:agentRunActivity.thisRunFailed`),p=o):s?(d=`stopped`,f=t(`chat:agentRunActivity.runStopped`)):n?a>=1e4?(d=`waiting`,f=t(`chat:agentRunActivity.waitingForTheModel`),p=t(`chat:agentRunActivity.noNewProgressForCountS`,{count:Math.floor(a/1e3)})):f=e.stage===`starting`?t(`chat:agentRunActivity.startingTheModel`):e.stage===`responding`?t(`chat:agentRunActivity.preparingTheResponse`):e.stage===`processing_result`?t(`chat:agentRunActivity.processingToolResult`):e.stage===`waiting_retry`?t(`chat:agentRunActivity.waitingToRetry`):e.stage===`finalizing`?t(`chat:agentRunActivity.finalizingTheRun`):e.stage===`working`?t(`chat:agentRunActivity.advancingTheTask`):String(i||``).trim()?t(`chat:agentRunActivity.reasoningAboutTheNextStep`):String(r||``).trim()?t(`chat:agentRunActivity.preparingTheResponse`):t(`chat:agentRunActivity.understandingTheTask`):(d=`completed`,f=t(`chat:agentRunActivity.reasoningCompleted`),p=Q(i)),String(i||``).trim()&&(p=Q(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}var Hn={running:{kind:`run`,color:`text-st-run`},compacting:{kind:`run`,color:`text-st-run`},completed:{kind:`done`,color:`text-st-done`},plan:{kind:`done`,color:`text-st-done`},failed:{kind:`failed`,color:`text-st-fail`},stopped:{kind:`stopped`,color:`text-st-queue`},waiting:{kind:`queued`,color:`text-st-queue`}};function Un({tone:e,spin:t=!0}){let n=Hn[e]??{kind:`queued`,color:`text-st-queue`};return(0,X.jsx)(`span`,{className:`agent-run-status-icon grid size-[18px] flex-none place-items-center`,children:(0,X.jsx)(Se,{status:n.kind,spin:t&&n.kind===`run`,className:`size-[15px] ${n.color}`})})}function Wn(e,t){let n=e.type===`agent`?e.agent?.status:e.status;return n===`error`||n===`failed`?`failed`:t&&[`running`,`starting`,`queued`].includes(String(n))||t&&e.type===`compaction`?`running`:`done`}function Gn(e,t){let n={total:e.length,done:0,running:0,failed:0};for(let r of e)n[Wn(r,t)]+=1;return n}function Kn({activity:e,className:t,children:n}){return e.type===`tool`?(0,X.jsx)(`div`,{className:t,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,X.jsx)(cn,{className:`${t} !gap-0 !rounded-none !border-0 !bg-transparent !p-0 !shadow-none`,"data-pisper-activity-type":`plan`,children:n}):e.type===`agent`?(0,X.jsx)(ln,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,X.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}var qn=/^\s*(?:●|✗|✕|×|npm ERR!|ERR!|(?:Error|TypeError|SyntaxError|ReferenceError)\b:?)|^Command exited with code \d+/,Jn=/^\s*[✓✔]/;function Yn({line:e}){let t=/^(PASS|FAIL)(?=\s|$)/.exec(e)?.[1];if(t)return(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`b`,{className:`mr-[6px] rounded-[3px] px-[5px] text-[11.5px] font-semibold tracking-[.02em] ${t===`PASS`?`bg-success-soft text-success`:`bg-danger-soft text-danger`}`,children:t}),e.slice(t.length).trimStart()]});let n=qn.test(e)?`text-danger`:Jn.test(e)?`text-success`:void 0;return(0,X.jsx)(`span`,{className:n,children:e})}function Xn({output:e,command:t,streaming:n,t:r,children:i}){let a=pn(e),o=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>{if(!n)return;let e=window.requestAnimationFrame(()=>{let e=o.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[a.text,n]),!a.text.trim()&&!(n&&t)?(0,X.jsx)(`div`,{className:jn,children:i}):(0,X.jsxs)(`details`,{className:`agent-run-command-output [.agent-run-feed:has(&[open])]:max-h-[320px] [&_>_pre]:max-h-[112px] [&_>_pre]:overflow-auto [&_>_pre]:m-0 [&_>_pre]:relative [&_>_pre]:border-t [&_>_pre]:border-well-stroke [&_>_pre]:bg-well [&_>_pre]:py-[8px] [&_>_pre]:pr-[14px] [&_>_pre]:pl-[40px] [&_>_pre]:font-mono [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.7] [&_>_pre]:text-well-text [&_>_pre]:whitespace-pre-wrap [&_>_pre]:[overflow-wrap:anywhere] [&_>_pre>span]:block [&_>_pre>span]:min-h-[1.7em] [&_>_pre]:before:absolute [&_>_pre]:before:top-0 [&_>_pre]:before:bottom-[12px] [&_>_pre]:before:left-[20px] [&_>_pre]:before:w-px [&_>_pre]:before:bg-well-stroke max-[650px]:[&_>_pre]:pl-[12px] max-[650px]:[&_>_pre]:before:hidden min-w-0`,"data-truncated":a.truncated||void 0,"data-running":n||void 0,open:n||void 0,children:[(0,X.jsxs)(`summary`,{className:`${jn} ${n?Pn:Nn}`,children:[i,(0,X.jsx)(`span`,{className:`sr-only`,children:r(n?`chat:agentRunActivity.liveCommandOutput`:`chat:agentRunActivity.commandOutput`)}),(0,X.jsx)(x,{className:Fn,"aria-hidden":`true`})]}),(0,X.jsxs)(`pre`,{ref:o,children:[t?(0,X.jsxs)(`span`,{className:`text-well-text`,children:[(0,X.jsx)(`span`,{className:`text-well-muted select-none`,children:`$ `}),t]}):null,a.text?a.text.split(`
6
+ `).map((e,t)=>(0,X.jsx)(Yn,{line:e},t)):null]})]})}function Zn({image:e,t}){let n=String(e.url||``);return n?(0,X.jsx)(`a`,{className:`agent-run-tool-preview block w-full overflow-hidden rounded-sm border border-stroke-soft bg-surface-subtle`,href:n,target:`_blank`,rel:`noreferrer`,title:String(e.name||``),children:(0,X.jsx)(`img`,{alt:String(e.name||t(`chat:agentRunActivity.toolPreviewAlt`)),className:`block max-h-[168px] w-full object-contain object-top`,loading:`lazy`,src:n})}):null}function Qn(e,t){return e.activity!==t.activity||e.latest!==t.latest||e.t!==t.t||e.streaming!==t.streaming?!1:[`tool`,`plan`,`agent`].includes(t.activity.type)?!0:e.text===t.text&&e.thinkingText===t.thinkingText&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.lastActivityAt===t.lastActivityAt}var $n=(0,Y.memo)(function({activity:e,latest:t,t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u}){let d=Vn(e,{t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u,now:Date.now()}),f=!!(r&&e.type===`tool`&&e.status===`running`),p=e.name===`bash`&&!!(e.output||f);if(e.type===`retry`)return(0,X.jsx)(It,{title:e.summary||n(`chat:agentRunActivity.retryingRequest`),error:String(e.message||``),pending:!!(r&&t),className:`rounded-none border-0 bg-transparent`});let m=e.type===`tool`?String(e.name||``):``,h=kn(e),g=Dn(e),_=d.tone===`failed`,v=!p&&d.output&&d.output!==d.detail?d.output:``,y=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Un,{tone:d.tone,spin:!!r}),m?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`agent-run-verb max-w-[40%] min-w-[34px] flex-none truncate font-mono text-[12px] font-semibold ${f?`text-st-run`:`text-content-secondary`}`,children:m}),(0,X.jsx)(`span`,{className:`agent-run-arg min-w-0 flex-1 truncate font-mono text-[12.5px] ${d.detail?`text-foreground`:`text-content-muted`}`,title:d.detail||d.title,children:d.detail||d.title}),d.detail?(0,X.jsx)(`span`,{className:`sr-only`,children:d.title}):null]}):(0,X.jsxs)(`span`,{className:`agent-run-arg min-w-0 flex-1 truncate`,title:[d.title,d.detail].filter(Boolean).join(` · `),children:[(0,X.jsx)(`span`,{className:`text-foreground`,children:d.title}),d.detail?(0,X.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,d.detail]}):null]}),h!==null&&(0,X.jsx)(`span`,{className:`flex-none font-mono text-[12px] font-medium text-st-fail`,children:n(`chat:agentRunActivity.exitCode`,{code:h})}),g===null?f&&e.startedAt?(0,X.jsx)(zn,{startedAt:String(e.startedAt),streaming:!0}):null:(0,X.jsx)(`span`,{className:`agent-run-elapsed min-w-[44px] flex-none text-right font-mono text-[12px] text-content-muted tabular-nums`,children:On(g)})]});return(0,X.jsxs)(Kn,{activity:e,className:`agent-run-summary flex w-full min-w-0 flex-none flex-col [transition:background_var(--d-fast)_var(--ease)] ${d.tone} ${t?`current [.agent-run-feed.live_&]:bg-surface-subtle`:``}`,children:[p?(0,X.jsx)(Xn,{output:e.output,command:d.detail,streaming:f,t:n,children:y}):(0,X.jsxs)(`div`,{className:`${jn} ${f?`bg-st-run-soft`:``}`,children:[y,(0,X.jsx)(`span`,{className:`size-[14px] flex-none`,"aria-hidden":`true`})]}),(d.changes.length>0||v||e.previewImage?.url)&&(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[4px] pr-[12px] pb-[8px] pl-[40px] text-[12px] leading-[1.45]`,children:[d.changes.length>0&&(0,X.jsxs)(`span`,{className:`agent-run-plan-changes flex min-w-0 flex-col gap-[1px] border-l border-stroke pl-[8px] text-content-secondary`,children:[d.changes.slice(0,4).map(e=>(0,X.jsx)(`small`,{className:`truncate text-[12px]`,children:wn(e,n)},`${e.id}-${e.kind}-${e.status}`)),d.changes.length>4&&(0,X.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:n(`chat:agentRunActivity.countMoreChanges`,{count:d.changes.length-4})})]}),v?(0,X.jsx)(`small`,{className:`truncate text-[12px] ${_?`text-st-fail`:`text-content-muted`}`,title:v,children:v}):null,e.previewImage&&e.previewImage.url?(0,X.jsx)(Zn,{image:e.previewImage,t:n}):null]})]})},Qn);function er({streaming:e,text:t,thinkingText:n,team:r,activityFeed:i=An,tools:a=An,compaction:o,error:c,stopped:l,notice:u,startedAt:d,lastActivityAt:f,finishedAt:h,compact:g=!1}){let{t:_}=s(),v=String(n||``).trim(),y=(0,Y.useRef)(null),b=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!v)return;let e=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[v]);let S=i.length?i:a,[C,w]=(0,Y.useState)(!!e),T=(0,Y.useRef)(!!e);(0,Y.useEffect)(()=>{T.current!==!!e&&(T.current=!!e,w(!!e))},[e]);let E=(0,Y.useContext)(Pt),D=m(e=>e.tab),O=!!(E?.open&&D===`preview`),k=e&&!g&&!O?yn(S):null,A=De(S),j=Array.isArray(r?.tasks)?r.tasks:[],M=Number(r?.completedTaskCount??0),P=Number(r?.taskCount??j.length),F=Number(r?.tokenUsed??r?.tokensUsed??0),I=Number(r?.tokenBudget??r?.teamTokenBudget??0),L=Array.isArray(r?.communications)?r.communications:[],R=P>0?Math.min(100,Math.round(M/P*100)):0;if((0,Y.useEffect)(()=>{if(!e||!S.length)return;let t=window.requestAnimationFrame(()=>{let e=b.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[A,S.length,e]),!v&&!S.length&&!r)return null;let z=Gn(S,e),B=(r=>r.map((i,a)=>(0,X.jsx)($n,{activity:i,compaction:o,error:c,lastActivityAt:f,latest:a===r.length-1,notice:u,stopped:l,streaming:e,t:_,text:t,thinkingText:v?``:n},je(i,a))))(S),ee=!!(r&&(j.length>0||L.length>0||(r.blockers?.length??0)>0||(r.conflicts?.length??0)>0||r.scriptPath||r.summary?.text)),V=!!(ee||S.length>0),H=[_(`board:transcript.operations`,{count:z.total}),z.running?_(`board:transcript.running`,{count:z.running}):``,z.failed?_(`board:transcript.failed`,{count:z.failed}):``,!e&&!z.failed&&!z.running?_(`board:transcript.allDone`):``].filter(Boolean);return(0,X.jsxs)(`section`,{className:`agent-run-activity flex w-full flex-col items-start gap-[10px] [margin:2px_0_14px] text-foreground [&.compact]:m-[4px_0_0_40px] ${g?`compact`:``}`,"aria-live":`polite`,children:[v&&(0,X.jsxs)(`details`,{className:`agent-thinking-window group/thinking w-full min-w-0 ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,X.jsxs)(`summary`,{className:`agent-thinking-head inline-flex h-7 max-w-full items-center gap-[6px] rounded-sm pr-[8px] pl-[6px] text-[12px] text-content-secondary ring-1 ring-stroke ring-inset ${Mn} hover:bg-surface-hover max-[650px]:h-11 pointer-coarse:h-11`,"aria-label":_(`chat:agentRunActivity.toggleReasoning`),children:[e?(0,X.jsx)(Se,{status:`run`,className:`size-[14px] text-st-run`}):(0,X.jsx)(N,{className:`size-[14px] flex-none text-content-muted`,strokeWidth:1.75}),(0,X.jsxs)(`strong`,{className:`flex min-w-0 items-center truncate font-medium`,children:[_(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,X.jsxs)(`span`,{className:`agent-thinking-dots [&_i]:w-[3px] [&_i]:h-[3px] [&_i]:rounded-[50%] [&_i]:bg-[currentColor] [&_i]:[animation:agent-thinking-dot_1.15s_ease-in-out_infinite] [&_i:nth-child(2)]:[animation-delay:.14s] [&_i:nth-child(3)]:[animation-delay:.28s] inline-flex items-end gap-[2px] [margin-left:5px]`,"aria-hidden":`true`,children:[(0,X.jsx)(`i`,{}),(0,X.jsx)(`i`,{}),(0,X.jsx)(`i`,{})]}):null]}),!S.length&&(0,X.jsx)(zn,{startedAt:d,finishedAt:h,streaming:e}),(0,X.jsx)(x,{className:Fn,"aria-hidden":`true`})]}),(0,X.jsx)(`div`,{ref:y,className:`agent-thinking-scroll mt-[8px] max-h-[190px] overflow-auto rounded-md border border-stroke-soft bg-surface-subtle px-[14px] py-[9px] text-content-secondary [scroll-behavior:smooth]`,children:(0,X.jsx)(ze,{streaming:e,children:v})})]}),V&&(0,X.jsxs)(`div`,{className:`agent-run-log w-full overflow-hidden rounded-[var(--r-md)] border border-stroke bg-solid [&>*+*]:border-t [&>*+*]:border-stroke-soft`,children:[r&&ee&&(0,X.jsxs)(`details`,{className:`agent-team-panel min-w-0`,children:[(0,X.jsxs)(`summary`,{className:`${jn} ${Nn} justify-between`,children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,X.jsx)(`span`,{className:`grid size-[18px] flex-none place-items-center`,"aria-hidden":`true`,children:(0,X.jsx)(`span`,{className:`team-status-dot h-[7px] w-[7px] shrink-0 rounded-full ${r.status===`complete`?`bg-success`:r.status===`stalled`||r.status===`budget_limited`?`bg-warning-strong`:r.status===`paused`?`bg-content-muted`:`bg-star [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`}`})}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-medium text-content-secondary`,children:r.status===`complete`?_(`chat:agentRunActivity.teamComplete`):r.status===`budget_limited`?_(`chat:agentRunActivity.teamBudgetLimited`):r.status===`paused`?_(`chat:agentRunActivity.teamPaused`):r.status===`stalled`?_(`chat:agentRunActivity.teamStalled`):_(`chat:agentRunActivity.teamActive`)}),P>0&&(0,X.jsxs)(`small`,{className:`shrink-0 text-[12px] text-content-muted tabular-nums`,children:[M,`/`,P,` · `,R,`%`]})]}),(0,X.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[8px]`,children:[I>0&&(0,X.jsx)(`small`,{className:`text-[12px] whitespace-nowrap text-content-muted tabular-nums`,children:_(`chat:agentRunActivity.teamBudget`,{used:F,budget:I})}),(0,X.jsx)(x,{className:Fn,"aria-hidden":`true`})]})]}),P>0&&(0,X.jsx)(`div`,{"aria-hidden":`true`,className:`team-progress-track mx-[12px] mb-[6px] h-[4px] overflow-hidden rounded-full bg-surface-active`,children:(0,X.jsx)(`div`,{className:`team-progress-fill h-full rounded-full bg-content-secondary [transition:width_var(--d-base)_var(--ease)]`,style:{width:`${R}%`}})}),(0,X.jsxs)(`div`,{className:`grid max-h-[min(42vh,360px)] grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-[6px] overflow-y-auto overscroll-contain border-t border-stroke-soft bg-surface-subtle p-[8px_12px]`,children:[j.map(e=>{let t=typeof e.role==`string`?e.role.trim():``,n=Ln(e.status,_);return(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-[4px] rounded-sm border border-stroke-soft bg-panel p-[7px_8px] text-[12px]`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-start gap-[6px]`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`team-task-dot mt-[5px] h-[6px] w-[6px] shrink-0 rounded-full ${e.status===`running`?`bg-star [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`:e.status===`completed`?`bg-success`:e.status===`failed`||e.status===`interrupted`?`bg-danger`:e.status===`blocked`?`bg-warning-strong`:`bg-stroke-strong`}`}),(0,X.jsxs)(`span`,{className:`grid min-w-0 gap-[1px]`,children:[(0,X.jsx)(`strong`,{className:`font-medium break-words`,children:t?_(`chat:agentRunActivity.teamTaskStatus`,{name:e.taskName,role:t,status:n}):_(`chat:agentRunActivity.teamTaskStatusWithoutRole`,{name:e.taskName,status:n})}),(0,X.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:n})]})]}),e.error&&(0,X.jsx)(`small`,{className:`text-[12px] break-words text-danger`,children:e.error}),e.output&&(0,X.jsx)(`small`,{className:`text-[12px] break-words text-content-muted`,children:e.output})]},e.id||e.taskName)}),(r.blockers?.length??0)>0&&(0,X.jsx)(`small`,{className:`text-[12px] text-warning-strong`,children:_(`chat:agentRunActivity.teamBlocked`,{count:r.blockers?.length??0})}),(r.conflicts?.length??0)>0&&(0,X.jsx)(`small`,{className:`text-[12px] text-danger`,children:_(`chat:agentRunActivity.teamConflicts`,{count:r.conflicts?.length??0})}),r.scriptPath&&(0,X.jsx)(`small`,{className:`font-mono text-[12px] break-all text-content-muted`,children:_(`chat:agentRunActivity.teamScript`,{path:r.scriptPath})}),L.length>0&&(0,X.jsxs)(`div`,{className:`grid gap-[3px] border-t border-stroke-soft pt-[6px]`,children:[(0,X.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:_(`chat:agentRunActivity.teamCommunicationCount`,{count:L.length})}),L.slice(-6).map(e=>(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-[1px] rounded-xs border-l-2 border-stroke-strong bg-panel p-[4px_8px]`,children:[(0,X.jsxs)(`strong`,{className:`font-mono text-[12px] font-medium break-all`,children:[e.fromTaskName||e.fromAgentId||`lead`,` ->`,` `,e.toTaskName||e.toAgentId]}),(0,X.jsx)(`small`,{className:`text-[12px] break-words text-content-secondary`,children:e.message})]},e.id))]}),r.summary?.text&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:_(`chat:agentRunActivity.teamSummary`)}),r.summary.text&&(0,X.jsx)(`p`,{className:`m-0 line-clamp-4 text-[12px] leading-[1.45] text-content-secondary`,children:r.summary.text})]})]})]},String(r.id||r.scriptPath||`team`)),S.length>0&&(0,X.jsxs)(`details`,{className:`agent-run-history min-w-0`,open:C,onToggle:e=>w(e.currentTarget.open),"data-tool-group":e?`running`:`done`,children:[(0,X.jsxs)(`summary`,{className:`flex min-h-[38px] min-w-0 items-center gap-[8px] px-[12px] py-[4px] text-[13px] text-content-secondary ${Mn} hover:bg-surface-hover max-[650px]:min-h-11 pointer-coarse:min-h-11`,"data-tool-group-summary":!0,children:[(0,X.jsx)(p,{className:`size-[14px] flex-none text-content-muted`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-[6px] truncate tabular-nums`,children:H.map((e,t)=>(0,X.jsxs)(`span`,{className:t===0?`font-semibold text-content`:void 0,children:[t>0&&(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`mr-[6px] text-content-muted`,children:`·`}),e]},t))}),(0,X.jsx)(zn,{startedAt:d,finishedAt:h,streaming:e}),(0,X.jsx)(x,{className:Fn,"aria-hidden":`true`})]}),(0,X.jsx)(`div`,{ref:b,className:`agent-run-feed focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus flex max-h-[184px] flex-col overflow-y-auto [overscroll-behavior:contain] border-t border-stroke-soft [&>*+*]:border-t [&>*+*]:border-stroke-soft ${e?`live`:`completed`}`,"aria-label":_(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:S.length>3?0:void 0,children:e?(0,X.jsx)(Y.Suspense,{fallback:B,children:(0,X.jsx)(In,{children:B})}):(0,X.jsx)(Y.Suspense,{fallback:B,children:B})})]})]}),e&&!g&&k?(0,X.jsx)(gn,{fallbackImage:k.previewImage,streaming:e,target:k}):null]})}function tr(e,t){return e.streaming===t.streaming&&e.text===t.text&&e.thinkingText===t.thinkingText&&e.currentActivity===t.currentActivity&&e.team===t.team&&e.activityFeed===t.activityFeed&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.startedAt===t.startedAt&&e.lastActivityAt===t.lastActivityAt&&e.finishedAt===t.finishedAt&&e.compact===t.compact&&e.tools===t.tools}var nr=(0,Y.memo)(er,tr);function rr({className:e,from:t,...n}){return(0,X.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:K(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}var ir=(0,Y.lazy)(()=>t(()=>import(`./public-session-B9UHA6rN.js`),__vite__mapDeps([7,1,8,2,9,10,11,12,13,14,15,16,17,4,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31])));function ar({images:e,index:t,onClose:n,onNavigate:r}){let{t:i}=s(),a=(0,Y.useRef)(null),o=e[t],c=t>0,l=t<e.length-1,u=(0,Y.useCallback)(t=>{t>=0&&t<e.length&&r(t)},[e.length,r]);return(0,Y.useEffect)(()=>{let e=document.body.style.overflow,r=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`?(e.preventDefault(),u(t-1)):e.key===`ArrowRight`&&(e.preventDefault(),u(t+1))};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,r),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,r)}},[t,u,n]),o?(0,X.jsxs)(`div`,{className:`image-lightbox [&_img]:h-full [&_img]:min-h-0 [&_img]:w-full [&_img]:object-contain fixed z-[100] inset-0 grid grid-rows-[auto_minmax(0,1fr)] gap-[12px] bg-[var(--lightbox-bg)] [padding:18px_72px_24px_24px] max-sm:[padding:12px_56px_16px_12px]`,role:`dialog`,"aria-modal":`true`,"aria-label":i(`chat:chatMessage.fullScreenImagePreview`),children:[(0,X.jsxs)(`div`,{className:`image-lightbox-toolbar flex min-w-0 items-center justify-between gap-[16px] text-[var(--on-ink)]`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,X.jsx)(`span`,{className:`overflow-hidden text-[13px] font-medium text-ellipsis whitespace-nowrap`,title:o.attachment.name,children:o.attachment.name||i(`chat:chatMessage.generatedImage`)}),e.length>1&&(0,X.jsxs)(`span`,{className:`flex-none text-[12px] text-[var(--on-ink)]/70 tabular-nums`,children:[t+1,` / `,e.length]})]}),(0,X.jsxs)(`div`,{className:`flex flex-none items-center gap-[8px]`,children:[(0,X.jsx)(q,{asChild:!0,size:`lg`,className:`border border-[var(--lightbox-action-border)] bg-[var(--lightbox-action-bg)] text-[var(--lightbox-action-text)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--accent-soft)] hover:text-[var(--star-strong)]`,children:(0,X.jsxs)(`a`,{href:o.attachment.downloadUrl||o.source,download:o.attachment.name||`generated-image`,"aria-label":i(`chat:chatMessage.downloadOriginal`),title:i(`chat:chatMessage.downloadOriginal`),children:[(0,X.jsx)(w,{size:14}),(0,X.jsx)(`span`,{className:`max-sm:hidden`,children:i(`chat:chatMessage.downloadOriginal`)})]})}),(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`size-11 bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)]`,"aria-label":i(`chat:chatMessage.closePreview`),title:i(`chat:chatMessage.closePreview`),onClick:n,children:(0,X.jsx)(ne,{size:20})})]})]}),(0,X.jsxs)(`div`,{className:`relative flex min-h-0 items-center justify-center [touch-action:pan-y]`,onTouchStart:e=>{a.current=e.changedTouches[0]?.clientX??null},onTouchEnd:e=>{let n=a.current;a.current=null;let r=e.changedTouches[0]?.clientX;n===null||r===void 0||Math.abs(r-n)<48||u(t+(r<n?1:-1))},onTouchCancel:()=>{a.current=null},children:[e.length>1&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute left-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.previousImage`),title:i(`chat:chatMessage.previousImage`),disabled:!c,onClick:()=>u(t-1),children:(0,X.jsx)(b,{size:22})}),(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute right-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.nextImage`),title:i(`chat:chatMessage.nextImage`),disabled:!l,onClick:()=>u(t+1),children:(0,X.jsx)(x,{size:22})})]}),(0,X.jsx)(`img`,{alt:o.attachment.name||i(`chat:chatMessage.generatedImage`),decoding:`async`,src:o.source})]})]}):null}function or(e,t){window.dispatchEvent(new CustomEvent(Be,{detail:{message:e,tone:t}}))}function sr({icon:e,label:t,onClick:n,disabled:r=!1}){return(0,X.jsxs)(`button`,{type:`button`,disabled:r,onClick:n,className:`flex min-h-[30px] cursor-pointer items-center gap-[8px] rounded-sm border-0 bg-transparent px-[8px] text-left text-[13px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50 pointer-coarse:min-h-11`,children:[e,t]})}var cr=6,lr=4;function ur(e){let t=!!(e.url||e.data);return(e.kind===`image`||e.kind===`video`)&&t}function dr({attachments:e,compact:t=!1,sessionId:n,sessionStreaming:r=!1}){let{t:i}=s(),[a,o]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),g=(0,Y.useRef)(null),[_,v]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(null),[C,T]=(0,Y.useState)(null),[D,M]=(0,Y.useState)({}),N=e.flatMap((e,t)=>{let n=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&n?[{attachment:e,source:n,attachmentIndex:t}]:[]}),I=new Map;e.forEach((e,t)=>{ur(e)||I.set(t,I.size)});let L=!c&&I.size>cr?I.size-lr:0,R=async e=>{try{await Re(e,Ie),or(i(`common:markdownMessage.revealLocalPathOk`,{path:e}),`info`)}catch(t){or(t instanceof Le&&t.reason===`unavailable`?i(`common:markdownMessage.revealLocalPathUnavailable`):t instanceof Le&&t.reason===`timeout`?i(`common:markdownMessage.revealLocalPathTimeout`):i(`common:markdownMessage.revealLocalPathFailed`,{path:e}),`error`)}},z=async(e,t)=>{if(n)try{let r=await J.getFileDiff(n,t);M(t=>({...t,[e]:r.diff?.trim()?{diff:r.diff,truncated:!!r.diffTruncated,canRevert:!!r.canRevert}:null}))}catch{M(t=>({...t,[e]:null}))}},B=async(e,t)=>{if(!(!n||r||b)){if(_!==e){v(e);return}v(null),x(e);try{await J.revertSessionFileChanges(n,t),M(t=>({...t,[e]:null})),or(i(`chat:chatMessage.fileActionRevertDone`,{path:t}),`info`)}catch(e){or(i(`chat:chatMessage.fileActionRevertFailed`,{path:t}),`error`),console.error(`[chat] 撤销文件改动失败。`,e)}finally{x(null)}}},ee=async(e,t)=>{if(!(!n||m)){h(e);try{let e=await J.getFileDiff(n,t);e.diff?.trim()?(d(null),T({diff:e.diff,truncated:!!e.diffTruncated})):or(i(`chat:chatMessage.fileDiffEmpty`),`info`)}catch(e){or(e instanceof Error?e.message:i(`chat:chatMessage.fileDiffFailed`),`error`)}finally{h(null)}}},V=e=>{if(!e.downloadUrl)return;let t=document.createElement(`a`);t.href=e.downloadUrl,e.name&&(t.download=e.name),t.click()};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`message-attachments flex flex-wrap gap-[6px] [margin-top:6px] ${t?`compact`:``}`,children:[e.map((e,t)=>{if(L&&(I.get(t)??-1)>=lr)return null;let a=String(e.id||t),s=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&s?(0,X.jsxs)(`button`,{type:`button`,className:`generated-media [.message-attachments_&]:flex [.message-attachments_&]:w-[min(360px,100%)] [.message-attachments_&]:flex-col [.message-attachments_&]:gap-[5px] [.message-attachments_&]:text-[var(--text-muted)] [.message-attachments_&]:no-underline [.message-attachments_button&]:border-0 [.message-attachments_button&]:bg-transparent [.message-attachments_button&]:p-0 [.message-attachments_button&]:text-left [.message-attachments_button&]:[cursor:zoom-in] [.message-attachments_&_img]:w-full [.message-attachments_&_img]:max-h-[320px] [.message-attachments_&_img]:[border:1px_solid_var(--stroke)] [.message-attachments_&_img]:rounded-[var(--r-sm)] [.message-attachments_&_img]:object-contain [.message-attachments_&_img]:bg-[var(--media-bg)] [.message-attachments_&_video]:w-full [.message-attachments_&_video]:max-h-[320px] [.message-attachments_&_video]:[border:1px_solid_var(--stroke)] [.message-attachments_&_video]:rounded-[var(--r-sm)] [.message-attachments_&_video]:object-contain [.message-attachments_&_video]:bg-[var(--media-bg)] [.message-attachments_&_small]:overflow-hidden [.message-attachments_&_small]:text-[13px] [.message-attachments_&_small]:text-ellipsis [.message-attachments_&_small]:whitespace-nowrap [.message-attachments.compact_&]:w-[min(190px,100%)] [.message-attachments.compact_&_img]:max-h-[130px] [.message-attachments.compact_&_video]:max-h-[130px]`,onClick:()=>{let e=N.findIndex(e=>e.attachmentIndex===t);e>=0&&o({images:N,index:e})},title:i(`chat:chatMessage.openFullScreenPreview`),children:[(0,X.jsx)(`img`,{alt:e.name||i(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:s}),(0,X.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedImage`)})]},a):e.kind===`video`&&s?(0,X.jsxs)(`div`,{className:`generated-media [.message-attachments_&]:flex [.message-attachments_&]:w-[min(360px,100%)] [.message-attachments_&]:flex-col [.message-attachments_&]:gap-[5px] [.message-attachments_&]:text-[var(--text-muted)] [.message-attachments_&]:no-underline [.message-attachments_button&]:border-0 [.message-attachments_button&]:bg-transparent [.message-attachments_button&]:p-0 [.message-attachments_button&]:text-left [.message-attachments_button&]:[cursor:zoom-in] [.message-attachments_&_img]:w-full [.message-attachments_&_img]:max-h-[320px] [.message-attachments_&_img]:[border:1px_solid_var(--stroke)] [.message-attachments_&_img]:rounded-[var(--r-sm)] [.message-attachments_&_img]:object-contain [.message-attachments_&_img]:bg-[var(--media-bg)] [.message-attachments_&_video]:w-full [.message-attachments_&_video]:max-h-[320px] [.message-attachments_&_video]:[border:1px_solid_var(--stroke)] [.message-attachments_&_video]:rounded-[var(--r-sm)] [.message-attachments_&_video]:object-contain [.message-attachments_&_video]:bg-[var(--media-bg)] [.message-attachments_&_small]:overflow-hidden [.message-attachments_&_small]:text-[13px] [.message-attachments_&_small]:text-ellipsis [.message-attachments_&_small]:whitespace-nowrap [.message-attachments.compact_&]:w-[min(190px,100%)] [.message-attachments.compact_&_img]:max-h-[130px] [.message-attachments.compact_&_video]:max-h-[130px] video`,children:[(0,X.jsx)(`video`,{controls:!0,preload:`metadata`,src:s}),(0,X.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedVideo`)})]},a):e.kind===`link`?(0,X.jsxs)(`a`,{className:`inline-flex min-h-[28px] max-w-full min-w-0 items-center gap-[6px] rounded-sm border border-stroke bg-panel px-[9px] text-[13px] text-content-secondary no-underline transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,href:e.downloadUrl||void 0,children:[(0,X.jsx)(A,{size:14,className:`shrink-0 text-content-muted`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]},a):(0,X.jsxs)(se,{open:u===a,onOpenChange:t=>{d(t?a:null),t&&e.path&&n?z(a,String(e.path)):v(null)},children:[(0,X.jsx)(G,{asChild:!0,children:(0,X.jsxs)(`button`,{type:`button`,onClick:e=>{g.current=e.currentTarget},className:`inline-flex min-h-[28px] max-w-full min-w-0 cursor-pointer items-center gap-[6px] rounded-sm border border-stroke bg-panel px-[9px] text-[13px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,children:[(0,X.jsx)(A,{size:14,className:`shrink-0 text-content-muted`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]})}),(0,X.jsxs)(ae,{align:`start`,sideOffset:6,className:`flex w-[190px] max-w-[calc(100vw-2rem)] flex-col gap-[2px] p-[4px]`,children:[(0,X.jsx)(sr,{icon:(0,X.jsx)(E,{size:13}),label:i(`chat:chatMessage.fileActionPreview`),onClick:()=>{d(null),p(e)}}),(0,X.jsx)(sr,{icon:(0,X.jsx)(w,{size:13}),label:i(`chat:chatMessage.fileActionDownload`),disabled:!e.downloadUrl,onClick:()=>V(e)}),e.path&&(0,X.jsx)(sr,{icon:(0,X.jsx)(j,{size:13}),label:i(`chat:chatMessage.fileActionReveal`),onClick:()=>void R(String(e.path))}),n&&e.path&&(0,X.jsx)(sr,{icon:m===a?(0,X.jsx)(F,{size:13,className:`animate-spin`}):(0,X.jsx)(O,{size:13}),label:i(`chat:chatMessage.fileActionDiff`),disabled:!!m,onClick:()=>void ee(a,String(e.path))}),D[String(a)]?.canRevert&&(0,X.jsx)(sr,{icon:b===String(a)?(0,X.jsx)(F,{className:`animate-spin`,size:13}):(0,X.jsx)(P,{size:13}),label:i(_===String(a)?`chat:chatMessage.fileActionConfirmRevert`:`chat:chatMessage.fileActionRevert`),disabled:!!(r||b),onClick:()=>void B(String(a),String(e.path))})]})]},a)}),I.size>cr&&(0,X.jsx)(`button`,{type:`button`,"aria-expanded":!L,onClick:()=>l(e=>!e),className:`inline-flex min-h-[28px] cursor-pointer items-center gap-[4px] rounded-sm border border-dashed border-stroke bg-transparent px-[9px] text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,children:L?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(y,{size:14,className:`shrink-0`}),i(`chat:chatMessage.moreFiles`,{count:L})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(S,{size:14,className:`shrink-0`}),i(`chat:chatMessage.fewerFiles`)]})})]}),a&&(0,xt.createPortal)((0,X.jsx)(ar,{images:a.images,index:a.index,onClose:()=>o(null),onNavigate:e=>o(t=>t&&{...t,index:e})}),document.body),f&&(0,X.jsx)($e,{attachment:f,onClose:()=>p(null),onRestoreFocus:()=>g.current?.focus(),onDownload:()=>V(f)}),C&&(0,X.jsx)(k,{diff:C.diff,truncated:C.truncated,onClose:()=>T(null)})]})}function fr({sessionId:e,entryId:t,savedLabel:n,openRequest:r=0}){let{t:i}=s(),[a,o]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{r&&o(!0)},[r]);let[c,l]=(0,Y.useState)(``),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(``);(0,Y.useEffect)(()=>{if(!a)return;let n=!0;return d(!0),h(``),Ze(e).then(e=>n&&l(e.labels[t]||``)).catch(e=>n&&h(Xe(e))).finally(()=>n&&d(!1)),()=>{n=!1}},[t,a,e]);let g=async()=>{if(!(f||u)){p(!0),h(``);try{let n=await J.setSessionTreeLabel(e,t,c);Qe(e,n),o(!1)}catch(e){h(Xe(e))}finally{p(!1)}}},_=async()=>{if(!(f||u)){p(!0),h(``);try{let n=await J.setSessionTreeLabel(e,t,``);Qe(e,n),l(``),o(!1)}catch(e){h(Xe(e))}finally{p(!1)}}};return(0,X.jsxs)(se,{open:a,onOpenChange:o,children:[(0,X.jsxs)(ue,{children:[(0,X.jsx)(ce,{asChild:!0,children:(0,X.jsx)(G,{asChild:!0,children:(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,className:n?`bg-surface-hover text-brand`:void 0,"aria-label":i(`chat:chatMessage.labelThisTurn`),"aria-pressed":!!n,"data-pisper-label-entry":t,children:(0,X.jsx)(H,{size:14})})})}),(0,X.jsx)(le,{side:`top`,sideOffset:6,children:i(`chat:chatMessage.labelThisTurn`)})]}),(0,X.jsx)(ae,{className:`message-label-popover [&_form]:grid [&_form]:gap-[10px] [&_[data-slot='popover-title']]:text-[12px]`,align:`end`,sideOffset:6,children:(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g()},children:[(0,X.jsx)(oe,{children:i(`chat:sessionTree.nodeLabel`)}),(0,X.jsx)(Me,{autoFocus:!0,value:c,maxLength:80,disabled:u||f,placeholder:i(`chat:sessionTree.labelPlaceholder`),onChange:e=>l(e.target.value)}),m&&(0,X.jsx)(`small`,{className:`danger-text`,children:m}),(0,X.jsxs)(`div`,{className:`message-label-actions flex items-center justify-between gap-[8px]`,children:[(0,X.jsx)(q,{type:`button`,size:`icon-sm`,variant:`ghost`,title:i(`chat:sessionTree.removeLabel`),"aria-label":i(`chat:sessionTree.removeLabel`),disabled:u||f,onClick:()=>void _(),children:(0,X.jsx)(te,{})}),(0,X.jsxs)(q,{className:`message-label-save [.message-label-actions_&]:min-w-[104px] [.message-label-actions_&]:text-[var(--primary-foreground)]`,type:`submit`,disabled:u||f,children:[f?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(v,{}),i(f?`chat:sessionTree.savingLabel`:`chat:sessionTree.saveLabel`)]})]})]})})]})}function pr(e){if(e<6e4)return`${(Math.max(e,100)/1e3).toFixed(1)}s`;let t=Math.round(e/1e3);return`${Math.floor(t/60)}m ${t%60}s`}function mr(e,t){if(typeof e!=`number`&&typeof e!=`string`)return null;let n=new Date(e);if(!Number.isFinite(n.getTime()))return null;let r=new Date().toDateString()===n.toDateString();return{iso:n.toISOString(),label:n.toLocaleString(t,{...r?{}:{month:`2-digit`,day:`2-digit`},hour:`2-digit`,minute:`2-digit`,hour12:!1}),full:n.toLocaleString(t)}}function hr(e,t){return e.sessionId===t.sessionId&&e.message===t.message&&e.agentState===t.agentState&&e.showRunActivity===t.showRunActivity&&e.runProps===t.runProps&&e.cwd===t.cwd&&e.sessionStreaming===t.sessionStreaming&&e.onBranchFromHere===t.onBranchFromHere&&e.onCreateChildSession===t.onCreateChildSession&&e.retryUserMessageId===t.retryUserMessageId&&e.hideErrorNotice===t.hideErrorNotice&&e.onRetryLastTurn===t.onRetryLastTurn&&e.latest===t.latest&&e.turn===t.turn}var gr=(0,Y.memo)(function({sessionId:e,message:t,agentState:n,showRunActivity:r,runProps:i,cwd:a,sessionStreaming:o,onBranchFromHere:c,onCreateChildSession:l,retryUserMessageId:u,hideErrorNotice:d,onRetryLastTurn:f,latest:p=!1,turn:m}){let{t:h,language:g}=s(),_=(0,Y.useContext)(Ft),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(!1),[S,w]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(0),O=(0,Y.useRef)(!1),k=(0,Y.useRef)(null),A=!!(t.turnBoundaryEntryId&&c&&l),j=Ye(e,A?t.turnBoundaryEntryId:void 0),M=!!t.streaming,N=t.text||``,P=t.error&&N===t.error?``:N,I=!!(i&&(String(i.thinkingText||``).trim()||(i.activityFeed?.length??0)>0||(i.tools?.length??0)>0||i.team)),L=t.role===`agent`?mr(t.timestamp,g):null,B=t.role===`agent`&&typeof t.thinkingMs==`number`&&Number.isFinite(t.thinkingMs)&&t.thinkingMs>0?t.thinkingMs:null,ee=B===null?``:h(`chat:chatMessage.thinkingTime`,{duration:pr(B)}),V=t.role===`agent`&&!!(M||P||I||t.error||t.attachments?.length);return(0,X.jsxs)(rr,{from:t.role===`agent`?`assistant`:`user`,className:K(`message group/message mx-auto mb-[var(--chat-message-gap,32px)] w-full max-w-[var(--chat-content-width,1040px)] min-w-0 gap-0`,t.role===`agent`?`items-stretch`:`items-end [[data-chat-message-style='plain']_&]:items-start`,t.role),"data-pisper-message-id":t.id,"data-pisper-role":t.role,"data-pisper-turn":m,"data-pisper-streaming":M||void 0,"data-pisper-error":t.error?`true`:void 0,children:[V&&(0,X.jsxs)(`div`,{className:`agent-message-head mb-2 flex h-6 min-w-0 items-center gap-2 text-[13px]`,children:[(0,X.jsx)(`span`,{className:`agent-message-mark grid size-[22px] flex-none place-items-center`,"data-state":n,"aria-hidden":`true`,children:_?.botId?(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(Ge,{size:22}),children:(0,X.jsx)(ir,{botId:_.botId,part:`mark`,animate:p,fallback:(0,X.jsx)(Ge,{size:22})})}):(0,X.jsx)(Ge,{size:22})}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-medium text-content-secondary`,"data-agent-model":_&&p&&_.model?_.model:void 0,title:_?.botId&&p&&_.model?_.model:void 0,children:_?.botId?(0,X.jsx)(Y.Suspense,{fallback:p&&_.model?_.model:`Pisper`,children:(0,X.jsx)(ir,{botId:_.botId,part:`name`,fallback:p&&_.model?_.model:`Pisper`})}):_&&p&&_.model?_.model:`Pisper`}),ee&&(0,X.jsx)(`span`,{className:`flex-none text-[12px] text-content-muted tabular-nums`,"data-agent-thinking":B??void 0,children:ee}),n===`thinking`&&(0,X.jsx)(de,{className:`size-3.5`}),j&&(0,X.jsxs)(`button`,{type:`button`,className:`inline-flex h-[22px] min-w-0 max-w-[45%] items-center gap-1 rounded-full bg-surface-muted px-2 text-[12px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus max-[650px]:h-11 pointer-coarse:h-11`,"aria-label":h(`chat:chatMessage.turnLabel`,{label:j}),title:h(`chat:chatMessage.turnLabel`,{label:j}),"data-turn-label":t.turnBoundaryEntryId,disabled:M,onClick:()=>D(e=>e+1),children:[(0,X.jsx)(H,{size:12,"aria-hidden":`true`,className:`flex-none`}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:j})]}),L&&(0,X.jsx)(`time`,{className:`ml-auto flex-none text-[12px] text-content-muted tabular-nums`,dateTime:L.iso,title:L.full,children:L.label})]}),t.role===`user`&&t.fromBot&&(0,X.jsxs)(`div`,{className:`mb-1.5 flex h-6 min-w-0 items-center gap-1.5 text-[13px] text-content-secondary`,"data-message-from-bot":t.fromBot,children:[(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ir,{botId:t.fromBot,part:`mark`,animate:!1})}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ir,{botId:t.fromBot,part:`name`})})})]}),(0,X.jsxs)(`div`,{ref:k,className:K(`message-content relative min-w-0`,t.role===`agent`?`w-full`:`w-fit max-w-[min(640px,88%)] [[data-chat-message-style='plain']_&]:w-full [[data-chat-message-style='plain']_&]:max-w-full`),children:[r&&i&&(0,X.jsx)(nr,{...i}),P&&(0,X.jsx)(ze,{cwd:a,streaming:M,className:K(`min-h-[34px] [overflow-wrap:anywhere] text-[length:var(--app-message-font-size)] [font-family:var(--font-content-family)] font-[400]`,t.role===`agent`?`w-full max-w-full rounded-none border-0 bg-transparent pt-1 leading-[1.625] [&_h1]:text-[1.5em]! [&_h1]:leading-[1.333333]! [&_h2]:text-[1.25em]! [&_h2]:leading-[1.4]! [&_h3]:text-[1.125em]! [&_h3]:leading-[1.555556]! [&_h1]:mt-[1em]! [&_h2]:mt-[1em]! [&_h3]:mt-[1em]! [&_h1]:mb-[.25em]! [&_h2]:mb-[.25em]! [&_h3]:mb-[.25em]! [&_li]:py-0! [&_li+li]:mt-[.25em]! [&_p]:mt-0! [&_p]:mb-[.25em]! [&_ul]:my-[.25em]! [&_ol]:my-[.25em]! [&_.markdown-content>p:first-child]:mt-0! [&_.markdown-content>p:last-child]:mb-0!`:`rounded-[18px] border-0 bg-[var(--user-bubble-bg)] px-4 py-2.5 text-[length:calc(var(--app-message-font-size)*.9375)]! leading-[1.65] text-[var(--user-bubble-text)] [&_.markdown-content>p]:my-0! [&_h1]:text-inherit! [&_h2]:text-inherit! [&_h3]:text-inherit! [&_h4]:text-inherit! [&_a]:text-inherit! [&_blockquote]:text-inherit! [&_code]:bg-panel [&_code]:shadow-[0_0_0_1px_var(--stroke-soft)] [[data-chat-message-style='plain']_&]:rounded-none [[data-chat-message-style='plain']_&]:bg-transparent [[data-chat-message-style='plain']_&]:px-0 [[data-chat-message-style='plain']_&]:py-1`),children:P}),t.attachments&&t.attachments.length>0&&(0,X.jsx)(dr,{attachments:t.attachments,sessionId:e,sessionStreaming:o}),t.role===`user`&&P&&(0,X.jsxs)(`div`,{className:`message-actions mt-1 -mr-1.5 flex flex-wrap justify-end min-h-5 gap-0 text-muted-foreground opacity-0 group-hover/message:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100 max-[650px]:opacity-100 min-[651px]:absolute min-[651px]:right-full min-[651px]:bottom-0 min-[651px]:mr-1 min-[651px]:mt-0 [[data-chat-message-style='plain']_&]:static [[data-chat-message-style='plain']_&]:mr-0 [[data-chat-message-style='plain']_&]:justify-start [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 pointer-coarse:[&_button]:size-11 pointer-coarse:[&_button]:min-h-11 [&_button]:rounded-md`,children:[t.queuedPending&&(0,X.jsx)(`span`,{className:`mr-auto self-center px-1.5 text-xs text-content-muted`,"data-message-queued":!0,children:h(`chat:chatMessage.queued`)}),(0,X.jsx)(rn,{text:P,copyLabel:h(`chat:chatMessage.copyMessage`)})]})]}),t.role===`agent`&&t.interrupted&&(0,X.jsx)(`p`,{className:`mt-1 text-xs text-content-muted`,"data-message-interrupted":!0,children:h(`chat:chatMessage.interrupted`)}),t.error&&!M&&!d&&(0,X.jsx)(It,{error:String(t.error),className:`mt-3`}),t.role===`agent`&&!M&&(P||t.turnBoundaryEntryId||u)&&(0,X.jsxs)(`div`,{className:`message-actions mt-2 -ml-1.5 flex flex-wrap items-center min-h-5 gap-0 text-[var(--text-muted)] opacity-0 transition-opacity duration-(--d-fast) group-hover/message:opacity-100 focus-within:opacity-100 has-[[data-state=open]]:opacity-100 has-[[aria-busy=true]]:opacity-100 [@media(hover:none)]:opacity-100 max-[650px]:opacity-100 [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 pointer-coarse:[&_button]:size-11 pointer-coarse:[&_button]:min-h-11 [&_button]:rounded-md [&_button]:text-[var(--text-muted)] [&_button:hover]:bg-[var(--surface-hover)] [&_button:hover]:text-[var(--text)]`,"data-reply-actions":!0,children:[P&&(0,X.jsx)(rn,{text:P,getText:()=>k.current?.querySelector(`.markdown-content`)?.innerText.trim()||``}),A&&t.turnBoundaryEntryId&&(0,X.jsx)(fr,{sessionId:e,entryId:t.turnBoundaryEntryId,savedLabel:j,openRequest:E}),u&&(0,X.jsxs)(ue,{children:[(0,X.jsx)(ce,{asChild:!0,children:(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":h(`chat:chatMessage.retry`),"data-pisper-retry-message":u,disabled:S||o,onClick:async()=>{w(!0);try{await f()}finally{w(!1)}},children:S?(0,X.jsx)(F,{className:`animate-spin`,size:14}):(0,X.jsx)(z,{size:14})})}),(0,X.jsx)(le,{side:`top`,sideOffset:6,children:h(`chat:chatMessage.retry`)})]}),(P||A)&&(0,X.jsxs)(ie,{children:[(0,X.jsx)(W,{asChild:!0,children:(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":h(`chat:chatMessage.moreReplyActions`),"data-reply-more":!0,children:(0,X.jsx)(T,{size:16})})}),(0,X.jsxs)(re,{align:`start`,className:`min-w-52 p-1 [&_[role=menuitem]]:min-h-9 max-[650px]:[&_[role=menuitem]]:min-h-11`,onCloseAutoFocus:e=>{O.current&&(O.current=!1,e.preventDefault())},children:[A&&t.turnBoundaryEntryId&&(0,X.jsxs)(U,{"data-pisper-derive-entry":t.turnBoundaryEntryId,disabled:v||b||o,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!c)){y(!0);try{await c(e)}finally{y(!1)}}},children:[(0,X.jsx)(tt,{size:16}),h(`chat:chatMessage.deriveFromHere`)]}),A&&t.turnBoundaryEntryId&&(0,X.jsxs)(U,{"data-pisper-rewind-entry":t.turnBoundaryEntryId,disabled:v||b||o,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!c)){y(!0);try{await c(e,{rewindFiles:!0})}finally{y(!1)}}},children:[(0,X.jsx)(R,{size:16}),h(`chat:chatMessage.rewindHere`)]}),A&&t.turnBoundaryEntryId&&(0,X.jsxs)(U,{"data-reply-label":!0,onSelect:()=>{O.current=!0,window.setTimeout(()=>D(e=>e+1),0)},children:[(0,X.jsx)(H,{size:16}),h(`chat:chatMessage.labelThisTurn`)]}),P&&(0,X.jsxs)(U,{"data-reply-copy-markdown":!0,onSelect:()=>{navigator.clipboard?.writeText(P).catch(()=>void 0)},children:[(0,X.jsx)(C,{size:16}),h(`board:transcript.copyMarkdown`)]}),A&&t.turnBoundaryEntryId&&(0,X.jsxs)(U,{"data-pisper-child-entry":t.turnBoundaryEntryId,disabled:v||b,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!l)){x(!0);try{await l(e)}finally{x(!1)}}},children:[(0,X.jsx)(rt,{size:16}),h(`chat:chatMessage.createChildChat`)]})]})]})]})]})},hr);function _r(e,t){return e.message===t.message}(0,Y.memo)(function({message:e}){return(0,X.jsxs)(rr,{from:e.role===`agent`?`assistant`:`user`,className:`[&_>_span]:pt-[5px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_span]:text-[12px] [&_>_span]:font-medium [&.agent_>_span::before]:[content:'✦'] [&.agent_>_span::before]:mr-[4px] [&.agent_>_span::before]:text-content-muted [&_.markdown-body]:rounded-[var(--r-xs)] [&_.markdown-body]:bg-[var(--surface-subtle)] [&_.markdown-body]:[padding:6px_8px] [&_.markdown-body]:text-[13px] [&_.markdown-body]:leading-[1.45] [&_.markdown-body]:[overflow-wrap:anywhere] [&.agent_.markdown-body]:bg-[var(--surface-muted)] [&_.markdown-body_pre]:max-h-[130px] [&_.markdown-body_pre]:[padding:7px] grid grid-cols-[34px_minmax(0,1fr)] gap-[6px] [margin-bottom:6px] [align-items:start] ${e.role}`,"data-pisper-message-id":e.id,"data-pisper-role":e.role,"data-pisper-streaming":e.streaming||void 0,children:[(0,X.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(e.text||!e.streaming)&&(0,X.jsx)(ze,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,X.jsx)(dr,{attachments:e.attachments,compact:!0})]})]})},_r);function vr(e,t,n){let r=Date.parse(e),i=t?Date.parse(t):n;if(!Number.isFinite(r)||!Number.isFinite(i))return``;let a=Math.max(0,Math.round((i-r)/1e3)),o=Math.floor(a/60);return o?`${o}:${String(a%60).padStart(2,`0`)}`:`${a}s`}function yr({sessionId:e,agent:t,onChanged:n}){let{t:r}=s(),[i,a]=(0,Y.useState)(!1),[o,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(()=>Date.now()),d=Rt(t);(0,Y.useEffect)(()=>{if(!d)return;let e=window.setInterval(()=>u(Date.now()),1e3);return()=>window.clearInterval(e)},[d]);let f=t.status===`completed`?r(`chat:agentJob.completed`):t.status===`failed`?r(`chat:agentJob.failed`):t.status===`interrupted`?r(`chat:agentJob.interrupted`):t.status===`running`?r(`chat:agentJob.running`):r(`chat:agentJob.queued`),p=vr(t.startedAt,t.completedAt,l),m=`agent-job-${t.id}`,h=async()=>{c(!0);try{await Ut(e,t.id)}catch{}finally{c(!1),n()}};return(0,X.jsxs)(`div`,{"data-agent-job":t.id,"data-agent-job-status":t.status,className:`mx-auto mb-[var(--chat-message-gap,32px)] w-full max-w-[var(--chat-content-width,1040px)] min-w-0 rounded-lg border border-stroke-soft bg-surface-subtle text-[13px]`,children:[(0,X.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-3 py-1.5`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 flex-none place-items-center`,children:d?(0,X.jsx)(de,{className:`size-3.5`}):t.status===`completed`?(0,X.jsx)(v,{size:14,className:`text-st-done`}):(0,X.jsx)(ne,{size:14,className:`text-content-muted`})}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[(0,X.jsx)(`span`,{className:`font-medium text-content`,children:t.kind===`command`?r(`chat:agentJob.command`,{command:t.taskName}):r(`chat:agentJob.title`,{task:t.taskName})}),(0,X.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,f,d&&t.activity?` · ${t.activity}`:``]})]}),p&&(0,X.jsx)(`span`,{className:`flex-none font-mono text-xs text-content-muted tabular-nums`,children:p}),d&&(0,X.jsxs)(q,{type:`button`,variant:`ghost`,size:`sm`,className:`flex-none pointer-coarse:h-11`,disabled:o,onClick:()=>void h(),children:[(0,X.jsx)(V,{"aria-hidden":`true`}),r(`chat:agentJob.stop`)]}),(0,X.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`flex-none pointer-coarse:size-11`,"aria-expanded":i,"aria-controls":m,"aria-label":r(i?`chat:agentJob.collapse`:`chat:agentJob.expand`),title:r(i?`chat:agentJob.collapse`:`chat:agentJob.expand`),onClick:()=>a(e=>!e),children:(0,X.jsx)(y,{"aria-hidden":`true`,className:K(`transition-transform`,i&&`rotate-180`)})})]}),i&&(0,X.jsxs)(`div`,{id:m,className:`flex flex-col gap-2 border-t border-stroke-soft px-3 py-2.5`,children:[(0,X.jsx)(`p`,{className:`m-0 text-xs text-content-muted`,children:[t.model?r(`chat:agentJob.model`,{model:t.model}):``,t.toolCallCount?r(`chat:agentJob.tools`,{count:t.toolCallCount}):``].filter(Boolean).join(` · `)}),(0,X.jsx)(`p`,{className:`m-0 line-clamp-4 whitespace-pre-wrap text-content-secondary`,children:t.message}),(t.output||t.error)&&(0,X.jsx)(`p`,{className:`m-0 line-clamp-6 whitespace-pre-wrap text-content`,children:t.error||t.output})]})]})}var br=(0,Y.lazy)(()=>t(()=>import(`./public-session-B9UHA6rN.js`),__vite__mapDeps([7,1,8,2,9,10,11,12,13,14,15,16,17,4,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31])));function xr({link:e}){let{t}=s(),n=e.status===`stopped`?e.reason===`rate`?t(`chat:botLink.stoppedRate`):t(`chat:botLink.stoppedHops`):e.status===`answered`?t(`chat:botLink.answered`):t(`chat:botLink.waiting`);return(0,X.jsxs)(`div`,{"data-bot-link":e.id,"data-bot-link-status":e.status,className:`mx-auto mb-[var(--chat-message-gap,32px)] flex min-h-10 w-full max-w-[var(--chat-content-width,1040px)] min-w-0 items-center gap-2 rounded-lg border border-stroke-soft bg-surface-subtle px-3 py-1.5 text-[13px]`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 flex-none place-items-center`,children:e.status===`waiting`?(0,X.jsx)(nt,{size:14,className:`text-content-muted`}):e.status===`answered`?(0,X.jsx)(v,{size:14,className:`text-st-done`}):(0,X.jsx)(it,{size:14,className:`text-content-muted`})}),(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`flex flex-none items-center`,children:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(br,{botId:e.botId,part:`mark`,animate:!1})})}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[(0,X.jsx)(`span`,{className:`font-medium text-content`,children:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(br,{botId:e.botId,part:`name`})})}),(0,X.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,n,e.direction===`out`&&e.text?` — ${e.text}`:``]})]})]})}function Sr(e){return(e||0)>0&&Number(e)<650?260:164}function Cr(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function wr(e,t,n){let[r,i]=(0,Y.useState)(0);return(0,Y.useLayoutEffect)(()=>{let r=n.current;if(!e||!r)return;let a=()=>{let t=Math.max(0,r.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop);i(e=>Math.abs(e-t)<1?e:t)},o=null,s=()=>{o===null&&(o=window.requestAnimationFrame(()=>{o=null,a()}))};a();let c=typeof ResizeObserver>`u`?null:new ResizeObserver(s);return c?.observe(e),t.current&&c?.observe(t.current),c?.observe(r),window.addEventListener(`resize`,s),()=>{c?.disconnect(),window.removeEventListener(`resize`,s),o!==null&&window.cancelAnimationFrame(o)}},[n,t,e]),r}var Tr=(0,Y.memo)(function({sessionId:e,layoutMeasurementKey:t,messages:n,historical:r=!1,streaming:i,latestRunProps:a,scrollElement:o,prefixRef:s,cwd:c,targetEntryId:l,onContentSizeChange:u,onTargetScroll:d,onTargetLocated:f,onBranchFromHere:p,onCreateChildSession:m,onRetryLastTurn:h,turnsKnown:g=!1,turnBase:_=0}){let v=(0,Y.useContext)(Wt),y=(0,Y.useRef)(null),[b,x]=(0,Y.useState)(``),S=n.map(e=>e.id),C=(0,Y.useRef)(S);(C.current.length!==S.length||C.current.some((e,t)=>e!==S[t]))&&(C.current=S);let w=C.current,T=(0,Y.useMemo)(()=>{let e=Array.from({length:n.length}),t;for(let r=0;r<n.length;r+=1)n[r]?.role===`user`&&(t=n[r].id),e[r]=t;return e},[n]),E=(0,Y.useMemo)(()=>{if(!g)return null;let e=Array.from({length:n.length}),t=_;for(let r=0;r<n.length;r+=1)n[r]?.role===`user`&&(t+=1),e[r]=t;return e},[n,_,g]),D=wr(o,s,y),O=(0,Y.useCallback)(e=>w[e]??`transcript-message-${e}`,[w]),k=(0,Y.useCallback)(()=>Sr(o?.clientWidth),[o]),A=Ve({useFlushSync:!1,anchorTo:`end`,followOnAppend:!1,count:n.length,getScrollElement:()=>o,getItemKey:O,estimateSize:k,measureElement:Cr,overscan:6,scrollMargin:D,useAnimationFrameWithResizeObserver:!0}),j=A.getVirtualItems(),M=A.getTotalSize(),N=(0,Y.useCallback)(()=>{let e=y.current;if(!e||!o||e.getBoundingClientRect().width<1)return;let t=o.scrollTop,n=A.getVirtualItems().find(e=>e.end>t),r=n?Math.max(0,t-n.start):0;A.measure(),A.getTotalSize();for(let t of e.children)t instanceof HTMLDivElement&&A.measureElement(t);if(A.getTotalSize(),n){let e=A.getOffsetForIndex(n.index,`start`)?.[0];e!==void 0&&A.scrollToOffset(e+r)}u()},[u,o,A]);(0,Y.useLayoutEffect)(()=>{N()},[t,N]),(0,Y.useLayoutEffect)(()=>{let e=y.current;if(!e||typeof ResizeObserver>`u`)return;let t=e.getBoundingClientRect().width,n=null,r=new ResizeObserver(()=>{let r=e.getBoundingClientRect().width;Math.abs(r-t)<1||(t=r,n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{n=null,N()}))});return r.observe(e),()=>{r.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},[N]),(0,Y.useLayoutEffect)(()=>{u()},[u,M]),(0,Y.useEffect)(()=>{if(!l)return;let e=n.findIndex(e=>e.turnBoundaryEntryId===l);if(e<0)return;d(),A.scrollToIndex(e,{align:`center`}),x(l);let t=window.requestAnimationFrame(()=>{A.scrollToIndex(e,{align:`center`}),f(l)});return()=>window.cancelAnimationFrame(t)},[n,f,d,l,A]),(0,Y.useEffect)(()=>{if(!b)return;let e=window.setTimeout(()=>x(``),2200);return()=>window.clearTimeout(e)},[b]);let P=pt(n);return(0,X.jsx)(`div`,{className:`relative w-full`,"data-pisper-transcript-size":n.length,"data-pisper-rendered-count":j.length,ref:y,style:{height:`${M}px`},children:j.map(t=>{let o=n[t.index];if(!o)return null;if(o.role===`event`){let e=v?.agents.get(String(o.agentId||``)),n=v?.links.get(String(o.linkId||``));return(0,X.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full`,"data-index":t.index,"data-pisper-virtual-item":o.id,ref:A.measureElement,style:{top:`${t.start-D}px`},children:e&&v?(0,X.jsx)(yr,{sessionId:v.sessionId,agent:e,onChanged:v.reload}):n?(0,X.jsx)(xr,{link:n}):null},t.key)}let s=!r&&o.role===`agent`&&t.index===P,l=o.streaming||s&&i?`thinking`:s&&!o.error?`waiting`:`idle`,u=vt(o,s,a);return(0,X.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full rounded-[var(--r-sm)] ${o.turnBoundaryEntryId===b?`targeted [.virtual-transcript-item&]:bg-[var(--star-soft)] [.virtual-transcript-item&]:shadow-[inset_3px_0_0_var(--star-strong)]`:``}`,"data-index":t.index,"data-pisper-target-entry":o.turnBoundaryEntryId===b?o.turnBoundaryEntryId:void 0,"data-pisper-virtual-item":o.id,ref:A.measureElement,style:{top:`${t.start-D}px`},children:(0,X.jsx)(gr,{sessionId:e,message:o,agentState:l,showRunActivity:!!u,runProps:u,cwd:c,sessionStreaming:i,onBranchFromHere:p,onCreateChildSession:m,retryUserMessageId:s?T[t.index]:void 0,hideErrorNotice:s&&!!o.error,onRetryLastTurn:h,latest:s,turn:E?.[t.index]||void 0})},t.key)})})}),Er=(0,Y.lazy)(()=>t(()=>import(`./public-greeting-DEKYruJJ.js`),__vite__mapDeps([32,1,8,2,4,9,10,11,12,13,14,16,33,34,35,36,17,18,3,37,38,39,40,41,42,43,44,45,46,30,19,20,47,48,49,50,51,52,53,54,55,56,57,21,22,23,24,25,26,31,27,28,29])));function Dr({label:e}){return(0,X.jsxs)(`div`,{className:`session-history-loading grid min-h-[100%] place-content-center justify-items-center gap-[20px] text-content-muted [animation:transcript-stage-enter_.18s_var(--ease-out)_both]`,role:`status`,"aria-live":`polite`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-[10px]`,children:[(0,X.jsx)(Ge,{size:22}),(0,X.jsx)(`strong`,{className:`text-[13px] font-medium text-content-secondary`,children:e}),(0,X.jsx)(de,{className:`size-4`})]}),(0,X.jsxs)(`div`,{className:`grid w-[min(560px,78vw)] gap-[12px]`,"aria-hidden":`true`,children:[(0,X.jsx)(`div`,{className:`h-[40px] w-[46%] justify-self-end rounded-[12px_12px_3px_12px] bg-[var(--user-bubble-bg)]`}),(0,X.jsxs)(`div`,{className:`grid gap-[8px]`,children:[(0,X.jsx)(`div`,{className:`h-[34px] rounded-md border border-stroke-soft bg-surface-subtle`}),(0,X.jsx)(`div`,{className:`h-[10px] w-[82%] rounded-full bg-surface-muted`}),(0,X.jsx)(`div`,{className:`h-[10px] w-[64%] rounded-full bg-surface-muted`})]})]})]})}function Or(e){return e.map(e=>e.id).join(`
7
+ `)}function kr(e){let{pathname:t,search:n,hash:r}=window.location;return r.startsWith(`#/`)?`${t}${n}#${a(e)}`:a(e)}function Ar({sessionId:e,botId:t,emptyState:n,messages:r,layoutMeasurementKey:i,transcriptLoadState:a=`ready`,messageStart:o,hasOlder:c,hasNewer:l,onLoadLatest:u,loadingOlder:d,olderError:f,currentActivity:p,team:m,activityFeed:h,tools:g,thinkingText:v,compaction:y,streaming:b,runStartedAt:S,lastActivityAt:C,runFinishedAt:w,runStopped:T,runNotice:E,error:D,scrollRequest:O,cwd:k,lineage:A,onLoadOlder:j,onBranchFromHere:M,onCreateChildSession:N,onRetryLastTurn:P,collapseEarlierTurns:F=!1}){let{t:I}=s(),[R,z]=(0,Y.useState)(!1),B=(0,Y.useRef)(null),[ee,V]=(0,Y.useState)(!1),H=(0,Y.useRef)(e);H.current=e,(0,Y.useEffect)(()=>{B.current=null,V(!1)},[e]);let te=(0,Y.useRef)(null),[ne,U]=(0,Y.useState)(()=>me(e)),W=(0,Y.useMemo)(()=>F?nn(r,{turnsKnown:!c}):null,[F,c,r]),re=!!W&&!R&&!ne,ie=re&&W?r.slice(W.latestIndex):r,G=r[pt(r)],ae=Math.floor((G?.text?.length||0)/64),oe=De(h),se=Math.floor(String(v||``).length/128),ce=`${e}:${r.length}:${G?.id||``}:${ae}:${se}:${G?.attachments?.length||0}:${oe}:${y?.status||``}:${y?.finishedAt||``}:${D||``}:${b?`1`:`0`}`,le=(0,Y.useRef)(!1),ue=(0,Y.useRef)(At.getState().sessions[e]?.conversationScrollTop??null),{scrollRef:_e,scrollElement:ve,setScrollRef:ye,hasUnread:be,scrollToBottom:J,maintainBottom:xe,pauseFollowing:Ce}=$t(ce,{resetKey:`${e}:${a}`,readInitialPosition:()=>a===`ready`?ue.current:null});(0,Y.useEffect)(()=>{let t=null,n=()=>{let t=ve;if(!t||a!==`ready`||t.clientHeight<=0)return;let n=At.getState();n.sessions[e]?.conversationScrollTop!==t.scrollTop&&n.update(e,`files`,{type:`workspace`,conversationScrollTop:t.scrollTop})},r=()=>{n(),le.current=!0,t!==null&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{le.current=!1,t=null})};return window.addEventListener(fe,r),window.addEventListener(`pointerdown`,n,!0),()=>{window.removeEventListener(fe,r),t!==null&&cancelAnimationFrame(t),window.removeEventListener(`pointerdown`,n,!0)}},[e,ve,a]),(0,Y.useLayoutEffect)(()=>{let t=ve;if(!(!t||a!==`ready`))return()=>{if(t.clientHeight<=0)return;let n=At.getState();n.sessions[e]?.conversationScrollTop!==t.scrollTop&&n.update(e,`files`,{type:`workspace`,conversationScrollTop:t.scrollTop})}},[e,ve,a]);let we=(0,Y.useMemo)(()=>({streaming:b,text:G?.role===`agent`?G.text:``,currentActivity:p,team:m,activityFeed:h,tools:g,thinkingText:v,compaction:y,error:D||(G?.role===`agent`?G.error:``),stopped:T,notice:E,startedAt:S,lastActivityAt:C,finishedAt:w}),[b,G,p,m,h,g,v,y,D,T,E,S,C,w]),Te=(0,Y.useCallback)(async()=>{if(!_e.current||!c||d||B.current)return;Ce();let t={};B.current=t;let n=e,r=await j?.();H.current===n&&!r&&B.current===t&&(B.current=null)},[c,d,j,Ce,e,_e]),Ee=(0,Y.useCallback)(t=>{!le.current&&a===`ready`&&t.currentTarget.clientHeight>0&&At.getState().update(e,`files`,{type:`workspace`,conversationScrollTop:t.currentTarget.scrollTop}),!re&&t.currentTarget.scrollTop<=96&&Te()},[re,Te,e,a]);(0,Y.useLayoutEffect)(()=>{B.current=null},[o]);let Oe=(0,Y.useRef)(r);(0,Y.useEffect)(()=>{Oe.current=r});let ke=(0,Y.useRef)(null),[Ae,je]=(0,Y.useState)(0);(0,Y.useEffect)(()=>{U(me(e));let t=0,n=n=>{let r=n.detail;r?.sessionId===e&&r.targetEntryId&&(ke.current=Or(Oe.current),window.clearTimeout(t),t=window.setTimeout(()=>{ke.current=null,je(e=>e+1)},4e3),U(r.targetEntryId))};return window.addEventListener(he,n),()=>{window.clearTimeout(t),ke.current=null,window.removeEventListener(he,n)}},[e]),(0,Y.useEffect)(()=>{if(!(!ne||o==null)&&!r.some(e=>e.turnBoundaryEntryId===ne)){if(ke.current!==null){if(ke.current===Or(r))return;ke.current=null}if(!d){if(c){Te();return}pe(e,ne),U(``)}}},[c,Te,d,o,r,e,ne,Ae]),(0,Y.useEffect)(()=>{O&&J(`smooth`)},[O,J]);let Me=(0,X.jsx)(Ne,{compact:!0,className:`min-h-full`,title:I(`chat:focusSession.emptyTitle`),description:I(`chat:focusSession.emptyDescription`)});return(0,X.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`transcript flex flex-col [.focus-session.has-conversation_&]:p-[var(--chat-transcript-block-padding,30px)_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [.focus-session.has-conversation_&]:[scroll-padding-bottom:32px] @max-[700px]:p-[20px_14px] @max-[700px]:[.focus-session.has-conversation_&]:p-[24px_16px] @max-[470px]:[padding-inline:10px] max-[650px]:p-[20px_14px] min-h-0 h-full flex-1 overflow-auto overscroll-contain scroll-auto [overflow-anchor:none] [scrollbar-gutter:stable_both-edges] m-0 border-0 [padding:26px_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [padding-bottom:70px] [scroll-padding-bottom:70px]`,"data-pisper-transcript-state":a,"aria-busy":a===`loading`,ref:ye,onScroll:Ee,tabIndex:0,children:[(0,X.jsxs)(`div`,{className:`[display:flow-root] w-full ${a===`ready`&&r.length>0?`mt-auto`:``}`,ref:te,children:[t&&a===`ready`&&r.length>0&&!c&&!re&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Er,{botId:t,collapsed:!0})}),typeof A?.parentSessionId==`string`&&A.parentSessionId&&(0,X.jsx)(`div`,{className:`history-page-loader flex w-[min(var(--chat-content-width,1040px),100%)] min-h-[42px] items-center justify-center [margin:0_auto_18px] text-[var(--text-muted)] text-[12px] session-lineage`,children:(0,X.jsxs)(`a`,{href:kr(A.parentSessionId),className:`inline-flex min-h-8 max-w-full items-center gap-[7px] rounded-md px-2 text-inherit underline-offset-2 transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content hover:underline focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus max-[650px]:min-h-11`,"data-pisper-parent-session":A.parentSessionId,title:I(`chat:focusSession.openSourceTurn`),onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),ge(String(A.parentSessionId),`open`,typeof A.sourceEntryId==`string`?A.sourceEntryId:``))},children:[(0,X.jsx)(tt,{size:13,"aria-hidden":`true`,className:`flex-none`}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:I(`chat:focusSession.derivedFromSession`,{name:A.sourceSessionName||I(`chat:focusSession.unknownSourceSession`)})})]})}),re&&W&&(0,X.jsx)(`div`,{className:`flex justify-center pb-3`,children:(0,X.jsxs)(`button`,{type:`button`,"data-earlier-turns":W.turnBase,"aria-expanded":!1,"aria-label":I(`board:phone.earlierTurns`,{summary:[W.previous.turn?I(`board:transcript.turn`,{count:W.previous.turn}):I(`board:phone.previousTurn`),W.previous.text].filter(Boolean).join(` · `)}),className:`inline-flex min-h-11 max-w-full min-w-0 items-center gap-1.5 rounded-full px-3 text-xs text-content-muted ring-1 ring-stroke ring-inset transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,onClick:()=>z(!0),children:[(0,X.jsx)(Se,{status:W.previous.failed?`failed`:`done`,className:K(`size-3.5 flex-none`,W.previous.failed?`text-st-fail`:`text-st-done`)}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:[W.previous.turn?I(`board:transcript.turn`,{count:W.previous.turn}):I(`board:phone.previousTurn`),W.previous.text,W.previous.operations?I(`board:transcript.operations`,{count:W.previous.operations}):``].filter(Boolean).join(` · `)}),(0,X.jsx)(x,{className:`size-3.5 flex-none`,"aria-hidden":`true`})]})}),!re&&(c||d||f)&&(0,X.jsx)(`div`,{className:`history-page-loader flex w-[min(var(--chat-content-width,1040px),100%)] min-h-[42px] items-center justify-center gap-[7px] [margin:0_auto_18px] text-[var(--text-muted)] text-[12px]`,children:f?(0,X.jsxs)(q,{type:`button`,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:Te,children:[(0,X.jsx)(L,{size:13}),I(`chat:focusSession.retryOlderMessages`)]}):d?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(de,{className:`size-3.5`}),I(`chat:focusSession.loadingOlderMessages`)]}):(0,X.jsxs)(q,{type:`button`,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:Te,children:[(0,X.jsx)(_,{className:`history-up-arrow [.history-page-loader_&]:[transform:rotate(180deg)]`,size:14}),I(`chat:focusSession.loadOlderMessages`)]})})]}),a===`loading`&&(0,X.jsx)(Dr,{label:I(`chat:focusSession.loadingConversationHistory`)}),a===`ready`&&!r.length&&(n??(t?(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Er,{botId:t,fallback:Me})}):Me)),a===`ready`&&r.length>0&&(0,X.jsx)(`div`,{className:`[animation:transcript-reveal-enter_.22s_var(--ease-out)_both]`,children:(0,X.jsx)(Tr,{layoutMeasurementKey:i,sessionId:e,messages:ie,historical:l,streaming:b,latestRunProps:we,scrollElement:ve,prefixRef:te,cwd:k,targetEntryId:ne,onContentSizeChange:xe,onTargetScroll:Ce,onTargetLocated:t=>{pe(e,t),U(``)},onBranchFromHere:M,onCreateChildSession:N,onRetryLastTurn:P,turnsKnown:!c,turnBase:re&&W?W.turnBase:0},e)})]}),a===`ready`&&r.length>0&&(0,X.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 top-0 z-[2] h-6 bg-linear-to-b from-panel to-transparent max-[650px]:h-10`}),(be||l)&&(0,X.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-[6px] z-[5] flex justify-center`,children:(0,X.jsxs)(q,{type:`button`,variant:`secondary`,size:`sm`,className:`pointer-events-auto rounded-full px-3 shadow-float max-[650px]:h-11`,disabled:ee,"aria-busy":ee||void 0,onClick:async()=>{if(!l){J(`smooth`);return}let t=e;if(l){V(!0);try{await u?.()}finally{H.current===t&&V(!1)}}H.current===t&&requestAnimationFrame(()=>J(`auto`))},children:[(0,X.jsx)(_,{size:14}),I(l?`chat:focusSession.returnToLatest`:`chat:focusSession.newContent`)]})})]})}(0,Y.lazy)(()=>t(()=>import(`./ClickSpark-B1Rn7ZwL.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([58,1,2,3,4,6])));var jr=(0,Y.createContext)(null),Mr=({className:e,approval:t,state:n,...r})=>{let i=(0,Y.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,X.jsx)(jr.Provider,{value:i,children:(0,X.jsx)(Pe,{className:K(`flex flex-col gap-2`,e),...r})})},Nr=(0,Y.lazy)(async()=>{let[{ApprovalConfirm:e}]=await Promise.all([t(()=>import(`./approval-confirm-DQ5N_lJB.js`),__vite__mapDeps([59,1,2,9,10,8,11,12,13,14,60,16,3,4,17,18,61,62,38,39,40,41,63,64,37,65])),o()]);return{default:e}});function $(e){return typeof e==`string`?e:``}function Pr(e){let t=e.args&&typeof e.args==`object`&&!Array.isArray(e.args)?e.args:{};return{id:$(e.id),toolName:$(e.toolName),toolCallId:$(e.toolCallId),args:t,command:$(t.command),path:$(t.path),reason:$(e.reason),risk:$(e.risk),severity:`critical`,createdAt:$(e.createdAt)||null}}function Fr(e){return e.trimStart().startsWith(`命令守卫拦截`)&&e.trimStart().slice(6).replace(/^[\s::·-]+/u,``).split(/[\n。;;]/u)[0]?.trim()||``}function Ir({text:e,prefix:t}){let{t:n}=s(),r=(0,Y.useRef)(null),[i,a]=(0,Y.useState)(!1),[o,c]=(0,Y.useState)(!1);return(0,Y.useLayoutEffect)(()=>{let e=r.current;if(!e||o)return;let t=()=>a(e.scrollHeight>e.clientHeight+1);if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[o,e]),(0,X.jsxs)(`div`,{className:`min-w-0 rounded-sm border border-well-stroke bg-well`,"data-approval-command":!0,children:[(0,X.jsx)(`div`,{className:`px-2.5 py-1.5`,children:(0,X.jsxs)(`pre`,{ref:r,className:K(`min-w-0 font-mono text-xs leading-5 whitespace-pre-wrap wrap-anywhere text-well-text`,!o&&`line-clamp-3`),children:[t&&(0,X.jsxs)(`span`,{className:`text-well-muted select-none`,children:[t,` `]}),e]})}),(i||o)&&(0,X.jsx)(`button`,{type:`button`,className:`w-full border-t border-well-stroke px-2.5 py-1 text-left text-xs text-content-secondary hover:text-content focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus max-[650px]:min-h-11 pointer-coarse:min-h-11`,"aria-expanded":o,onClick:()=>c(e=>!e),children:n(o?`board:card.collapse`:`board:card.expand`)})]})}function Lr({approvals:e,onResolve:t,compact:n=!1,sessionTitle:r=``,cwd:i=``}){let{t:a}=s(),o=d(),[c,l]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(!1),[m,_]=(0,Y.useState)(!1),[y]=(0,Y.useState)(()=>He()),b=(0,Y.useRef)(!1),[S,C]=(0,Y.useState)(``),w=(0,Y.useRef)(null),T=ve(e=>e.boardBindings),E=e[0];(0,Y.useEffect)(()=>{p(!1),_(!1),C(``)},[E?.id]);let D=E?.id;if((0,Y.useEffect)(()=>{if(!D)return;let e=e=>{if(_e(e)||be(e.target)||e.target instanceof Element&&e.target.closest(`[data-shell-sidebar]`))return;let t=w.current;if(!t||t.getClientRects().length===0)return;let n=ye(e,T.boardApprove)?`[data-approval-primary]`:ye(e,T.boardDeny)?`[data-approval-deny]`:``,r=n?t.querySelector(n):null;!r||r.disabled||(e.preventDefault(),r.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[D,T.boardApprove,T.boardDeny]),!E)return null;let A=u(E)===`critical`,j=E.fileChange,M=typeof j?.diff==`string`?j.diff:``,N=E.args&&typeof E.args==`object`&&!Array.isArray(E.args)?E.args:{},P=$(N.command)||$(N.path),F=A?Fr($(E.reason)):``,I=F?``:$(E.reason),R=A&&!y,z=async e=>{if(!b.current){b.current=!0,l(!0);try{await t(E.id,e)}finally{b.current=!1,l(!1)}}},V=!A&&E.toolName===`bash`&&i?h($(N.command)):``,H=async()=>{if(!(b.current||!V)){b.current=!0,l(!0),C(``);try{await g.add({effect:`allow`,tool:`bash`,pattern:V,cwd:i}),await t(E.id,!0)}catch(e){C(e instanceof Error?e.message:String(e))}finally{b.current=!1,l(!1)}}};return(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,ref:w,"data-approval-stack":!0,children:[(0,X.jsxs)(Mr,{approval:{id:E.id},state:`approval-requested`,className:`tool-approval grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-2.5 rounded-(--r-lg) border border-st-attn-border bg-st-attn-soft px-3.5 py-3 text-foreground [&.compact]:px-2.5 [&.compact]:py-1.5 max-[470px]:grid-cols-1 ${n?`compact`:``}`,"data-pisper-approval-id":E.id,"data-approval-current":!0,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5 [grid-column:1/-1]`,children:[(0,X.jsx)(`span`,{className:`grid size-[18px] flex-none place-items-center text-st-attn`,children:A?(0,X.jsx)(B,{size:16,strokeWidth:1.75}):(0,X.jsx)(ee,{size:16,strokeWidth:1.75})}),(0,X.jsx)(`strong`,{className:`min-w-0 flex-1 truncate text-[13.5px] font-medium`,children:a(`chat:focusSession.toolRequestsApproval`,{tool:E.toolName})}),(0,X.jsx)(`span`,{className:K(`min-w-0 flex-none truncate text-xs`,A?`font-medium text-st-attn`:`text-content-muted`),"data-severity":A?`critical`:`standard`,children:A?F?a(`board:card.criticalWithReason`,{reason:F}):a(`board:card.critical`):a(`board:card.standard`)})]}),P&&(0,X.jsx)(`div`,{className:`min-w-0 [grid-column:1/-1]`,children:(0,X.jsx)(Ir,{text:P,prefix:N.command?`$`:``})}),I&&(0,X.jsx)(`p`,{className:`min-w-0 text-xs text-content-secondary [grid-column:1/-1] [overflow-wrap:anywhere]`,children:I}),!n&&(M||Object.keys(N).length>0)&&(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start gap-x-3 gap-y-1.5 [grid-column:1/-1]`,children:[M&&(0,X.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff inline-flex min-h-7 flex-none cursor-pointer items-center gap-1.5 rounded-sm border border-stroke-strong bg-solid px-2 text-xs font-medium text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,onClick:()=>p(!0),children:[(0,X.jsx)(O,{size:13}),a(`chat:focusSession.gitViewDiff`)]}),(0,X.jsxs)(`details`,{className:`group/args min-w-0 flex-1 text-xs text-content-muted`,children:[(0,X.jsxs)(`summary`,{className:`inline-flex min-h-7 cursor-pointer list-none items-center gap-1 rounded-sm hover:text-foreground focus-visible:outline-2 focus-visible:outline-focus max-[650px]:min-h-11 [&::-webkit-details-marker]:hidden`,children:[(0,X.jsx)(x,{size:13,className:`transition-transform duration-(--d-fast) group-open/args:rotate-90`}),a(`chat:focusSession.viewCallArguments`)]}),(0,X.jsx)(`pre`,{className:`mt-1.5 max-h-[130px] overflow-auto rounded-sm border border-well-stroke bg-well p-[8px_10px] font-mono text-xs leading-[1.6] whitespace-pre-wrap text-well-text`,children:JSON.stringify(E.args,null,2)})]})]}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2 [grid-column:1/-1]`,children:[(0,X.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,className:`bg-solid max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-deny":!0,onClick:()=>z(!1),children:a(`chat:focusSession.deny`)}),(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[R&&(0,X.jsx)(`span`,{className:`min-w-0 truncate text-xs text-content-muted max-[470px]:hidden`,children:a(o?`board:confirm.hintTouch`:`board:card.holdHint`)}),V&&(0,X.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,className:`min-w-0 bg-solid max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-allow-rule":!0,title:a(`chat:focusSession.allowAlwaysHint`,{prefix:V}),onClick:()=>void H(),children:(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:a(`chat:focusSession.allowAlways`,{prefix:V})})}),R?(0,X.jsxs)(Ue,{size:`sm`,className:`max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-critical":!0,"data-approval-primary":!0,"data-approval-hold":!0,"aria-label":a(`board:card.holdToApprove`),onConfirm:()=>void z(!0),onActivate:()=>_(!0),children:[c?(0,X.jsx)(L,{className:`animate-spin`,size:12}):(0,X.jsx)(v,{size:12}),a(`board:card.holdToApprove`)]}):(0,X.jsxs)(q,{type:`button`,size:`sm`,variant:A?`outline`:`default`,className:K(`max-[650px]:h-11 max-[650px]:px-4`,A&&`bg-solid`),disabled:c,"data-approval-critical":A||void 0,"data-approval-primary":!0,"aria-haspopup":A?`dialog`:void 0,onClick:()=>A?_(!0):z(!0),children:[c?(0,X.jsx)(L,{className:`animate-spin`,size:12}):(0,X.jsx)(v,{size:12}),a(A?`board:card.approveCritical`:`chat:focusSession.allow`)]})]})]}),S&&(0,X.jsx)(`p`,{role:`alert`,className:`min-w-0 text-xs text-danger [grid-column:1/-1]`,children:S}),A&&m&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Nr,{target:{sessionId:``,title:r||$(E.toolName),cwd:i,approval:Pr(E)},phone:o,pending:c,error:``,onConfirm:()=>{z(!0).then(()=>_(!1),()=>void 0)},onOpenChange:e=>{e||_(!1)}})}),f&&(0,X.jsx)(k,{diff:M,truncated:!!j?.truncated,onClose:()=>p(!1)})]}),e.length>1&&(0,X.jsxs)(`p`,{className:`flex min-h-8 min-w-0 items-center gap-2 rounded-(--r-md) border border-st-attn-border px-3 text-xs text-st-attn`,"data-approval-more":e.length-1,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`size-2 flex-none rounded-full bg-st-attn-fill`}),a(`board:card.moreWaiting`,{count:e.length-1})]})]})}function Rr(e,t){return e?.streaming?!0:!e?.loaded&&!!t?.streaming}var zr={session:null,expiresAt:null,created:!1,loading:!1,error:``,draft:``,expired:!1},Br=(0,Y.createContext)(null);function Vr(e){let t=(0,Y.useContext)(Br);if(!t)throw Error(`Side chat requires its runtime provider`);return{...t,entry:t.entries[e]??zr}}export{bt as A,wt as C,ht as D,ct as E,at as F,rt as I,tt as L,dt as M,yt as N,mt as O,gt as P,et as R,Tt as S,ot as T,jt as _,Lr as a,kt as b,gn as c,Zt as d,It as f,Mt as g,Ft as h,Rr as i,pt as j,ft as k,Wt as l,Nt as m,Br as n,Ar as o,Pt as p,Vr as r,yn as s,zr as t,qt as u,At as v,Ct as w,St as x,Ot as y};