pisper 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -6
- package/web/.vite/manifest.json +315 -377
- package/web/assets/{AppDialog-BOGrPFbo.js → AppDialog-DW5knado.js} +1 -1
- package/web/assets/{AppOverlays-D1vfPPIC.js → AppOverlays-Bp8RcUF5.js} +1 -1
- package/web/assets/AppSelect-D149YYg1.js +1 -0
- package/web/assets/{AppShortcuts-Dd4gu7qz.js → AppShortcuts-D1jjdZDS.js} +1 -1
- package/web/assets/{AssetsPage-BPhPo5eU.js → AssetsPage-C7AlHS3s.js} +1 -1
- package/web/assets/{ChannelsPage-Cu4v-GU2.js → ChannelsPage-BJltcbA8.js} +1 -1
- package/web/assets/ChatAppearancePage-BXvAK8yY.js +2 -0
- package/web/assets/{ChatHistoryPage-BYqJFbY5.js → ChatHistoryPage-D3fm9Tw9.js} +1 -1
- package/web/assets/ChatPage-BFJm1sNL.js +554 -0
- package/web/assets/{ConfigPage-Z-BQwP2X.js → ConfigPage-DLgNJdgQ.js} +1 -1
- package/web/assets/{DecisionsPage-Db6MIGD2.js → DecisionsPage-57a_ZuRk.js} +1 -1
- package/web/assets/{DesktopWindowControls-CBYGv94u.js → DesktopWindowControls-xHry1hUJ.js} +1 -1
- package/web/assets/{FloatingWidgets-dzsQIxAO.js → FloatingWidgets-CJQjpX-U.js} +1 -1
- package/web/assets/{GitDiffViewer-m5aLB7Li.js → GitDiffViewer-91SrTCWo.js} +1 -1
- package/web/assets/{MarkdownMessage-CA9ODRKk.js → MarkdownMessage-DeTzbwid.js} +1 -1
- package/web/assets/{McpPage-rerFxjYZ.js → McpPage-CTJ_aKOo.js} +1 -1
- package/web/assets/{MemoryPage-cukfU824.js → MemoryPage-DRTc4YT9.js} +1 -1
- package/web/assets/MobileContextScreen-CnaR6ssx.js +2 -0
- package/web/assets/{MobileNavigation-CEVgs1Ke.js → MobileNavigation-Cw7L9pSg.js} +1 -1
- package/web/assets/{PageHeader-DIs9bESb.js → PageHeader-B2qhKXvC.js} +1 -1
- package/web/assets/{PluginsPage-09Um3mY4.js → PluginsPage-DVCWLVRB.js} +1 -1
- package/web/assets/{QuickPromptIdeas-DGIL0nN7.js → QuickPromptIdeas-xQFMgSGF.js} +1 -1
- package/web/assets/{SchedulesPage-C75QUeB5.js → SchedulesPage-B_YjdfoV.js} +1 -1
- package/web/assets/SessionContextPanel-BwHEDkJE.js +1 -0
- package/web/assets/{SessionFilesPane-DPijesqH.js → SessionFilesPane-CUhqwp87.js} +2 -2
- package/web/assets/{SidebarMoreTools-D1nDS3i0.js → SidebarMoreTools-BHJuLoCs.js} +1 -1
- package/web/assets/SidebarRecentSessions-CVIFZ66b.js +2 -0
- package/web/assets/{SidebarSettingsButton-CRdV0Vft.js → SidebarSettingsButton-5N0RlmoI.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-DgNJBwgT.js → SidebarUpdateStatus-CVxo4zaS.js} +1 -1
- package/web/assets/{SkillsPage-DLirgTyX.js → SkillsPage-KsP2YFgx.js} +1 -1
- package/web/assets/{TerminalPanel-CJPy4Qhs.js → TerminalPanel-PK0ubUYF.js} +1 -1
- package/web/assets/{ThemeToggleButton-C5QA5Kf2.js → ThemeToggleButton-BFby07PX.js} +1 -1
- package/web/assets/{WebDesktopPet-DgyHLE9y.js → WebDesktopPet-juirMq3L.js} +1 -1
- package/web/assets/{WorkbenchSidebarToggle-CcO1Al5A.js → WorkbenchSidebarToggle-B-YDZEZn.js} +1 -1
- package/web/assets/WorkflowsPage-Bsw_TnA6.js +1 -0
- package/web/assets/WorkspacePicker-CDJPgjpW.js +1 -0
- package/web/assets/{api-YI8_cHpR.js → api-DmuPqjXK.js} +1 -1
- package/web/assets/{app-primitives-SxfoFmHc.js → app-primitives-BBXY6U2S.js} +1 -1
- package/web/assets/catalog-Cs8cjmnr.js +1 -0
- package/web/assets/{chat-api-CqF-FICX.js → chat-api-cEcUMaNX.js} +1 -1
- package/web/assets/{client-store-BP_3-plw.js → client-store-CV7NgPf7.js} +1 -1
- package/web/assets/{component-api-CN9Tcn5p.js → component-api-guxJtKAP.js} +1 -1
- package/web/assets/{config-search-DOIJENN1.js → config-search-DzgcCirf.js} +1 -1
- package/web/assets/dist-DAs5KRGl.js +1 -0
- package/web/assets/dist-swnK7PHk.js +1 -0
- package/web/assets/{dropdown-menu-pKRdLJUe.js → dropdown-menu-DmL4pJTo.js} +1 -1
- package/web/assets/{events-KqdUtjsm.js → events-DjkpUZEu.js} +1 -1
- package/web/assets/{floating-widgets-store-Pjm1AdvO.js → floating-widgets-store-C3frcaki.js} +2 -2
- package/web/assets/{http-Be2GB6DH.js → http-C4bTWPzF.js} +1 -1
- package/web/assets/i18n-DKgrgj0w.js +1 -0
- package/web/assets/index-DJAtBVyc.css +2 -0
- package/web/assets/{index-AF29hfx9.js → index-Dm1UDg72.js} +2 -2
- package/web/assets/mount-app-Brtj-l-d.js +9 -0
- package/web/assets/panels-top-left-K8n2CefH.js +1 -0
- package/web/assets/{popover-CQqAaq-c.js → popover-BgmMy1PJ.js} +1 -1
- package/web/assets/public-BDXsCmtv.js +1 -0
- package/web/assets/{public-components-C4ndcOCF.js → public-components-w2PENGYg.js} +1 -1
- package/web/assets/{runtime-capabilities-store-CiL3ZPEo.js → runtime-capabilities-store-1N8axw9r.js} +1 -1
- package/web/assets/{session-change-summary-api--7cl4LDn.js → session-change-summary-api-BQILNzT4.js} +1 -1
- package/web/assets/{session-context-store-DJnHgWwb.js → session-context-store-DQHmNaRN.js} +1 -1
- package/web/assets/{session-list-DkNhT87s.js → session-list-JA31_Ff4.js} +1 -1
- package/web/assets/{settings-navigation-CI7Yt4Or.js → settings-navigation-dqR4yOPY.js} +1 -1
- package/web/assets/{shortcuts-C_Cph88H.js → shortcuts-CAX2SVZi.js} +1 -1
- package/web/assets/{side-chat-context-Dn8w9ut8.js → side-chat-context-B0oP2eS-.js} +2 -2
- package/web/assets/{speech-session-CoUr4n9Q.js → speech-session-C-vI4YXQ.js} +1 -1
- package/web/assets/{startup-queries-ByepQfGF.js → startup-queries-Ci3kCPI9.js} +1 -1
- package/web/assets/tabs-DQYVDdOp.js +1 -0
- package/web/assets/{ui-store-BGs-dEVz.js → ui-store-DLloh4Rv.js} +1 -1
- package/web/assets/{use-i18n-a84Zp9dV.js → use-i18n-C7st2Mx5.js} +1 -1
- package/web/assets/{useCustomUiComponents-BaQ_fwbr.js → useCustomUiComponents-B5fflBrn.js} +1 -1
- package/web/index.html +2 -2
- package/web/assets/AppSelect-BCexz4Ty.js +0 -1
- package/web/assets/ChatAppearancePage-BLRQ7aH6.js +0 -2
- package/web/assets/ChatPage-tqAIj2Go.js +0 -554
- package/web/assets/MobileContextScreen-W8V4H3Xv.js +0 -2
- package/web/assets/SessionContextPanel-oaKXyi7k.js +0 -1
- package/web/assets/SidebarRecentSessions-a7z2ZvDv.js +0 -2
- package/web/assets/WorkflowsPage-DrKHzJvb.js +0 -1
- package/web/assets/WorkspacePicker-B3liZkwe.js +0 -1
- package/web/assets/arrow-up-DST6-qVQ.js +0 -1
- package/web/assets/catalog-BPCnu3F8.js +0 -1
- package/web/assets/dist-B7rNRXig.js +0 -1
- package/web/assets/dist-C3P9WH0T.js +0 -1
- package/web/assets/dist-CXiO_DNx.js +0 -1
- package/web/assets/dist-D8Wfxh48.js +0 -1
- package/web/assets/folder-DPM8D8cf.js +0 -1
- package/web/assets/house-BNrzTkx9.js +0 -1
- package/web/assets/i18n-8nTnthu6.js +0 -1
- package/web/assets/index-BAmsg90v.css +0 -2
- package/web/assets/mount-app-WW5hteuX.js +0 -9
- package/web/assets/panels-top-left-BlZftvhg.js +0 -1
- package/web/assets/public-c36e4881.js +0 -1
- package/web/assets/tabs-B60r4YwO.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimatedList-D8fxDNGr.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-DQli9s7O.css","assets/ClickSpark-DmnEAJNI.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,n as r,r as i}from"./vendor-react-DwNgTV1j.js";import{t as a}from"./use-i18n-a84Zp9dV.js";import{n as o,r as s,t as c}from"./collapsible-C__hRcbA.js";import{a as l,i as u,n as d,o as f,r as p,t as m}from"./popover-CQqAaq-c.js";import{i as h,n as g,r as _,t as v}from"./tabs-B60r4YwO.js";import{i as y,n as b,t as x}from"./tooltip-Bxq7c2mZ.js";import{t as S}from"./utils-C8uzG5AZ.js";import{t as C}from"./createLucideIcon-Cd-3GVxJ.js";import{t as w}from"./check-2vYc6QaP.js";import{t as T}from"./chevron-down-CxtxIjiP.js";import{t as E}from"./chevron-right-C3t2Rckj.js";import{t as D}from"./circle-dot-nVrXgDaG.js";import{t as O}from"./clock-3-CBHGbD_G.js";import{t as k}from"./code-xml-BrUXrBax.js";import{t as A}from"./download-BCfIiuaL.js";import{n as j,t as M}from"./shield-alert-CvFOTe9h.js";import{t as N}from"./file-diff-GxOMJkLj.js";import{t as P}from"./file-Bllajneu.js";import{t as F}from"./folder-open-FIShC5Qk.js";import{t as I}from"./info-DATxy0fb.js";import{t as L}from"./list-checks-B5Jl4aiO.js";import{t as R}from"./loader-circle-BOwQzHB-.js";import{t as ee}from"./monitor-ORxecA9m.js";import{t as z}from"./refresh-cw-TbWxTY4K.js";import{t as B}from"./rotate-ccw-C0v8V77_.js";import{t as te}from"./shield-check-Gvek4RJ7.js";import{t as ne}from"./square-bHHVTT3G.js";import{t as re}from"./tag-CqkeJlBf.js";import{t as ie}from"./trash-2-CNrPOoPR.js";import{t as ae}from"./triangle-alert-CE1q54ci.js";import{t as oe}from"./undo-2-CJE_nRTk.js";import{t as se}from"./x-07u4-129.js";import{t as V}from"./api-YI8_cHpR.js";import{t as H}from"./button-CQA36izu.js";import{t as U}from"./chat-api-CqF-FICX.js";import{t as ce}from"./alert-QoPGoIY6.js";import{i as le,n as ue,o as de,r as fe,s as pe,t as me}from"./dialog-D-ER2p-D.js";import{t as he}from"./input-CvjGYteF.js";import{n as ge,t as _e}from"./format-BRFKAYMT.js";import{t as ve}from"./card-BdUpL1KB.js";import{a as ye,c as be,d as xe}from"./events-KqdUtjsm.js";import{t as Se}from"./vendor-motion-DSW3wzXK.js";import{i as Ce,n as we,r as Te,t as W}from"./MarkdownMessage-CA9ODRKk.js";import{t as Ee}from"./route-context-DvWDul4T.js";import{r as De}from"./web-preview-B7L-G6kp.js";import{r as Oe,t as ke}from"./GitDiffViewer-m5aLB7Li.js";var Ae=C(`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`}]]),je=C(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Me=C(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),Ne=C(`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`}]]),Pe=C(`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`}]]),G=e(n(),1),K=i();function q(e){if(!(!e||typeof e!=`object`)){if(Object.hasOwn(e,`plan`))return e.plan??null;if(Object.hasOwn(e,`taskList`))return e.taskList??null}}function Fe(e,t){let n=q(e);return n===void 0?t:n}function Ie(e){return e===`plan_update`||e===`task_list_update`}function Le(e){return e===`get_plan`||e===`get_task_list`}function J(e){return e===`update_plan`||e===`update_task_list`}function Re(e){return Le(e)||J(e)}function ze(e){return q(e)}var Be=Object.freeze({messages:[],tools:[],approvals:[],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 Ve(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 He(e,t){let n=e||Be,r=typeof t==`function`?t(n):{...n,...t};return Ve(n,r)?r:n}function Ue(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function We(e,t){return Number.isSafeInteger(e.queueRevision)&&Number.isSafeInteger(t.queueRevision)&&t.queueRevision<e.queueRevision}function Ge(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(We(e,t))return{...e,messages:i,withdrawnInputIds:n};let a=Ue(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 Ke(e=[],t){let n=Array.isArray(e)?e:[],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 qe(e){return!!(e?.streaming||e?.recovering||e?.pendingRuntimeSelection||e?.switchingModel||e?.switchingThinking||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function Je(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 Ye(e,t,n){return t&&Je(n)?n:Je(e.runActivity)?e.runActivity:null}function Xe(e,t){if(e&&(e.loaded||e.streaming||q(e)!==void 0))return Fe(e,null);let n=q(t);return n===void 0?Fe(e,null):n}function Ze(e,t={}){return!!e?.items?.length}var Qe=e(r(),1);function $e({error:e,title:t,pending:n=!1,onRetry:r,className:i}){let{t:l}=a(),[u,d]=(0,G.useState)(!1),[f,p]=(0,G.useState)(!1),m=n?R:I;return(0,K.jsx)(ce,{role:`group`,className:S(`min-w-0 border-[var(--stroke-soft)] bg-[var(--surface-subtle)] px-3 py-2.5 text-[var(--text-secondary)]`,i),children:(0,K.jsxs)(c,{open:u,onOpenChange:d,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,K.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[(0,K.jsx)(m,{"aria-hidden":`true`,className:S(`size-4 shrink-0 text-[var(--text-muted)]`,n&&`animate-spin motion-reduce:animate-none`)}),(0,K.jsx)(`span`,{children:t||l(`chat:requestNotice.incomplete`)})]}),r&&(0,K.jsxs)(H,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-secondary)]`,disabled:n||f,onClick:async()=>{if(!f){p(!0);try{await r()}catch{}finally{p(!1)}}},children:[(0,K.jsx)(B,{"aria-hidden":`true`,className:S(`size-3.5`,f&&`animate-spin`)}),l(`chat:chatMessage.retry`)]}),e&&(0,K.jsx)(s,{asChild:!0,children:(0,K.jsxs)(H,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-muted)]`,children:[l(u?`chat:requestNotice.hideDetails`:`chat:requestNotice.showDetails`),(0,K.jsx)(T,{"aria-hidden":`true`,className:S(`size-3 transition-transform`,u&&`rotate-180`)})]})})]}),(0,K.jsx)(o,{children:(0,K.jsx)(`pre`,{tabIndex:0,"aria-label":l(`chat:requestNotice.details`),className:`mt-2 max-h-48 overflow-auto rounded-md border border-[var(--stroke-soft)] bg-[var(--surface-muted)] p-3 text-xs leading-relaxed whitespace-pre-wrap [overflow-wrap:anywhere] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,children:e})})]})})}var et={completed:`completed`,in_progress:`running`,blocked:`blocked`,pending:`pending`};function tt(e){let t=new Map(e.map(e=>[String(e.id||``),e])),n=e=>e?.status===`completed`;return e.map(e=>{let r=String(e.id||``),i=(Array.isArray(e.dependsOn)?e.dependsOn:[]).map(e=>t.get(String(e))).filter(e=>!!e&&!n(e)),a=e.status!==`completed`&&(e.status===`blocked`||i.length>0);return{...e,id:r,blocked:a,blockedBy:i}})}function nt(e){return e===`completed`?w:e===`in_progress`?D:e===`blocked`?Me:D}function rt({status:e,t}){let n=nt(e),r=t(e===`completed`?`chat:planBoard.completed`:e===`in_progress`?`chat:planBoard.inProgress`:e===`blocked`?`chat:planBoard.blocked`:`chat:planBoard.pending`);return(0,K.jsxs)(`span`,{className:`plan-board-status [&.completed]:text-[var(--success)] [&.running]:text-[var(--star-strong)] inline-flex items-center gap-[4px] flex-none text-[11px] text-[var(--text-muted)] ${et[String(e)]||`pending`}`,children:[(0,K.jsx)(n,{size:12}),r]})}function it({item:e,current:t,t:n}){return(0,K.jsxs)(`li`,{className:`plan-board-row flex flex-col gap-[2px] [padding:5px_6px] rounded-[var(--r-sm)] ${e.blocked?`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`:``}`,"aria-current":t?`step`:void 0,"data-pisper-plan-current":t?`true`:void 0,"data-pisper-plan-id":e.id,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-[8px] min-w-0`,children:[(0,K.jsx)(rt,{status:e.blocked?`blocked`:e.status,t:n}),(0,K.jsx)(`span`,{className:`flex-1 min-w-0 overflow-hidden text-[var(--text)] text-[13px] text-ellipsis whitespace-nowrap`,title:e.title,children:e.title}),e.assignee?(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-[4px] flex-none [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[var(--stroke-soft)] [padding:1px_8px] text-[var(--text-secondary)] text-[11px] whitespace-nowrap`,title:n(`chat:planBoard.assignedTo`,{name:e.assignee}),children:[(0,K.jsx)(Pe,{size:11}),e.assignee]}):e.status!==`completed`&&(0,K.jsx)(`span`,{className:`flex-none text-[var(--text-muted)] text-[11px] [font-style:italic]`,children:n(`chat:planBoard.unassigned`)})]}),e.blockedBy.length>0&&(0,K.jsxs)(`div`,{className:`inline-flex items-center gap-[5px] [padding-left:2px] text-[var(--text-muted)] text-[11px]`,children:[(0,K.jsx)(Me,{size:11}),n(`chat:planBoard.waitingFor`,{tasks:e.blockedBy.map(e=>e.title||e.id).join(` · `)})]})]})}function at({plan:e,header:t,collapsible:n=!1}){let{t:r}=a(),i=(0,G.useRef)(null),[o,s]=(0,G.useState)(!0),c=e?.items||[],l=tt(c),u=l.filter(e=>e.status===`completed`).length,d=l.filter(e=>e.status===`in_progress`&&!e.blocked).length,f=l.filter(e=>e.blocked).length,p=l.find(e=>e.status===`in_progress`&&!e.blocked)?.id??l.find(e=>e.blocked)?.id??l.find(e=>e.status===`pending`)?.id??l.at(-1)?.id;if((0,G.useLayoutEffect)(()=>{if(n&&!o)return;let e=i.current,t=e?.querySelector(`[data-pisper-plan-current="true"]`);if(!e||!t)return;let r=e.getBoundingClientRect(),a=t.getBoundingClientRect();a.top<r.top?e.scrollTop-=r.top-a.top:a.bottom>r.bottom&&(e.scrollTop+=a.bottom-r.bottom)},[n,p,o,l.length]),!c.length)return null;let m=l.find(e=>e.id===p),h=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(L,{className:`flex-none text-[var(--star-strong)]`,size:15}),(0,K.jsx)(`strong`,{children:r(`chat:planBoard.progress`,{completed:u,total:c.length})}),m?(0,K.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden text-[var(--text-secondary)] text-ellipsis whitespace-nowrap`,title:m.title,children:m.title}):null,(0,K.jsxs)(`span`,{className:`plan-board-counts @max-[470px]:hidden inline-flex flex-none items-center gap-[8px]`,children:[d>0&&(0,K.jsx)(`span`,{children:r(`chat:planBoard.countInProgress`,{count:d})}),f>0&&(0,K.jsx)(`span`,{className:`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`,children:r(`chat:planBoard.countBlocked`,{count:f})})]}),t,n?(0,K.jsx)(T,{className:`plan-board-chevron [.plan-board-collapsible[open]_&]:[transform:rotate(180deg)] flex-none [transition:transform_var(--d1)_var(--ease-out)]`,size:15}):null]}),g=(0,K.jsx)(`ul`,{ref:i,className:`plan-board-list [.plan-board-collapsible_>_&]:[border-top:1px_solid_var(--stroke-soft)] [.plan-board-collapsible_>_&]:p-[8px_10px_10px] flex flex-col gap-[2px] m-0 [padding:8px_0_0] [list-style:none]${l.length>4?` is-scrollable [.session-plan-popover_.plan-board-list&]:[block-size:min(250px,38dvh)] [.plan-board-list&]:[block-size:min(220px,34dvh)] [.plan-board-list&]:overflow-y-auto [.plan-board-list&]:[overscroll-behavior:contain] [.plan-board-list&]:pr-[4px] [.plan-board-list&]:[scrollbar-gutter:stable] [.plan-board-list&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-list&:focus-visible]:[outline-offset:2px]`:``}`,tabIndex:l.length>4?0:void 0,children:l.map(e=>(0,K.jsx)(it,{item:e,current:e.id===p,t:r},e.id))});return n?(0,K.jsxs)(`details`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0 plan-board-collapsible !p-0`,open:o,onToggle:e=>s(e.currentTarget.open),children:[(0,K.jsx)(`summary`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,"aria-label":r(`chat:planBoard.toggleAriaLabel`),children:h}),g]}):(0,K.jsxs)(`section`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0`,"aria-label":r(`chat:planBoard.ariaLabel`),children:[(0,K.jsx)(`div`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,children:h}),g]})}var ot=(0,G.memo)(at);function st(e){return e===`queued`?{titleKey:`{name} 等待调度`,tone:`waiting`}:e===`starting`?{titleKey:`{name} 正在启动`,tone:`running`}:e===`running`?{titleKey:`{name} 正在运行`,tone:`running`}:e===`completed`?{titleKey:`{name} 已完成`,tone:`completed`}:e===`interrupted`?{titleKey:`{name} 已中断`,tone:`stopped`}:e===`failed`?{titleKey:`{name} 执行失败`,tone:`failed`}:{titleKey:`{name} 状态已更新`,tone:`waiting`}}function ct(e){let t=typeof e==`string`||typeof e==`number`||e instanceof Date?e:0,n=new Date(t).getTime();return Number.isFinite(n)?n:0}function lt({currentActivity:e,compaction:t,text:n,thinkingText:r,lastActivityAt:i}={}){return t?.active?{type:`compaction`,compaction:t,updatedAt:t.startedAt||i}:e&&[`model`,`compaction`,`retry`].includes(e.type)?e:{type:`model`,stage:e?.type===`tool`?e.status===`running`?`working`:`processing_result`:String(r||``).trim()?`thinking`:String(n||``).trim()?`responding`:`thinking`,updatedAt:e?.updatedAt||i}}function ut(e=[]){return e.map(e=>`${e.type}:${e.id||e.agent?.id||``}:${e.status||e.stage||e.agent?.status||``}`).join(`|`)}function dt(e,t=0){return e.type===`tool`?`tool:${e.id||e.name||t}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||t}:${e.agent?.status||e.status||``}`:e.type===`plan`?`plan:${e.id||ze(e)?.updatedAt||e.updatedAt||t}`:`${e.type||`activity`}:${e.id||e.startedAt||e.createdAt||t}`}function ft(e){return e?.type?e.type===`tool`?`tool:${e.id||e.name||``}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||``}`:e.type===`plan`?`plan:${e.updatedAt||ze(e)?.updatedAt||``}`:e.type===`communication`?`communication:${e.id||``}`:e.type===`model`?`model:${e.stage||``}`:e.type===`compaction`?`compaction:${e.compaction?.status||e.compaction?.active||``}`:`${e.type}:${e.id||e.updatedAt||``}`:``}function pt(e,t){let n=new Map((e?.items||[]).map(e=>[String(e.id||``),e])),r=new Map((t?.items||[]).map(e=>[String(e.id||``),e])),i=[];for(let e of r.values()){let t=n.get(String(e.id||``));t?(t.status!==e.status||t.title!==e.title||t.note!==e.note)&&i.push({id:e.id,title:e.title,status:e.status,previousStatus:t.status,kind:`updated`}):i.push({id:e.id,title:e.title,status:e.status,kind:`added`})}for(let e of n.values())r.has(String(e.id||``))||i.push({id:e.id,title:e.title,status:e.status,kind:`removed`});return i}function mt(e=[],t,n=6){let r=Array.isArray(e)?e:[];if(![`tool`,`plan`,`agent`,`communication`].includes(t?.type))return r;let i=[...r];t.type===`plan`&&(i=i.filter(e=>e?.type!==`tool`||!Re(e.name))),t.type===`agent`&&(i=i.filter(e=>e?.type!==`tool`||![`spawn_agent`,`list_agents`,`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e.name)));let a=ft(t),o=i.findIndex(e=>ft(e)===a);return o>=0?i[o]={...i[o],...t}:i.push(t),i.slice(-Math.max(1,Number(n)||6))}function ht(e=[],{finishedAt:t=new Date().toISOString(),error:n=``}={}){return e.map(e=>e?.status===`running`?{...e,status:n?`error`:`done`,message:n||e.message||``,updatedAt:t,finishedAt:t}:e)}function gt(e,t,n=Date.now()){let r=ct(e);if(!r)return 0;let i=ct(t)||n;return Math.max(0,i-r)}function _t(e,t=`zh-CN`){let n=Math.max(0,Math.round(Number(e)||0));if(n<1e3)return t===`en-US`?`${n}ms`:`${n} 毫秒`;let r=Math.floor(n/1e3);if(r<60)return t===`en-US`?`${r}s`:`${r} 秒`;let i=Math.floor(r/60),a=r%60;return i<60?`${i}:${String(a).padStart(2,`0`)}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function vt(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=e=>{u!==e&&(u=e,n(e))},S=()=>{p!==null&&i(p),p=null},C=()=>{f!==null&&i(f),f=null,m=null,S(),g=!1,h=e.scrollTop},w=()=>{S(),g=!0},T=()=>{S(),p=r(()=>{p=r(()=>{if(p=null,l&&!b()&&Math.abs(y()-e.scrollTop)>1){O();return}g=!1,h=e.scrollTop})})},E=t=>{e.scrollTo({top:t,behavior:`instant`}),h=e.scrollTop},D=t=>{if(f=null,d||!l||b())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&&E(n),m=null,T();return}E(e.scrollTop+Math.sign(i)*Math.min(Math.abs(i),Math.max(1,Math.abs(i)*o))),f=r(D)},O=()=>{d||!l||b()||(w(),f===null&&(f=r(D)))},k=()=>{d||(l=!1,C())},A=()=>{l=!0,x(!1),O()},j=()=>{let n=e.scrollTop-h;h=e.scrollTop,!(g||d)&&(n<-.5?k():n>.5&&y()-e.scrollTop<=t&&A())},M=t=>{t.ctrlKey||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.deltaY<0?k():t.deltaY>0&&y()-e.scrollTop<=1&&A())},N=e=>{let t=e.touches[0];t&&(v={x:t.clientX,y:t.clientY},C())},P=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)&&k(),v={x:t.clientX,y:t.clientY})},F=()=>{v=null,O()},I=e=>{e.pointerType===`touch`||e.button>1||(_=!0,C())},L=()=>{_&&(_=!1,O())},R=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)&&k()};e.addEventListener(`scroll`,j,{passive:!0}),e.addEventListener(`wheel`,M,{passive:!0}),e.addEventListener(`touchstart`,N,{passive:!0}),e.addEventListener(`touchmove`,P,{passive:!0}),e.addEventListener(`touchend`,F,{passive:!0}),e.addEventListener(`touchcancel`,F,{passive:!0}),e.addEventListener(`pointerdown`,I,{passive:!0}),e.addEventListener(`keydown`,R),o.addEventListener(`pointerup`,L,{passive:!0}),o.addEventListener(`pointercancel`,L,{passive:!0}),s?.addEventListener?.(`change`,O);let ee=typeof ResizeObserver>`u`?null:new ResizeObserver(O);return ee?.observe(e),{maintainBottom:O,pauseFollowing:k,contentChanged(){d||(l?O():x(!0))},scrollToBottom(e=`auto`){d||(C(),l=!0,x(!1),e===`smooth`?O():(w(),E(y()),T()))},dispose(){d=!0,C(),ee?.disconnect(),e.removeEventListener(`scroll`,j),e.removeEventListener(`wheel`,M),e.removeEventListener(`touchstart`,N),e.removeEventListener(`touchmove`,P),e.removeEventListener(`touchend`,F),e.removeEventListener(`touchcancel`,F),e.removeEventListener(`pointerdown`,I),e.removeEventListener(`keydown`,R),o.removeEventListener(`pointerup`,L),o.removeEventListener(`pointercancel`,L),s?.removeEventListener?.(`change`,O)}}}function yt(e,{threshold:t=64,resetKey:n}={}){let r=(0,G.useRef)(null),[i,a]=(0,G.useState)(null),[o,s]=(0,G.useState)(!1),c=(0,G.useRef)(null),l=(0,G.useCallback)(e=>{r.current=e,a(e)},[]);return(0,G.useLayoutEffect)(()=>{if(!i)return;let e=vt(i,{threshold:t,onUnreadChange:s});return c.current=e,s(!1),e.scrollToBottom(),()=>{e.dispose(),c.current=null}},[n,i,t]),(0,G.useEffect)(()=>{c.current?.contentChanged()},[e]),{scrollRef:r,scrollElement:i,setScrollRef:l,hasUnread:o,scrollToBottom:(0,G.useCallback)((e=`auto`)=>{c.current?.scrollToBottom(e)},[]),maintainBottom:(0,G.useCallback)(()=>{c.current?.maintainBottom()},[]),pauseFollowing:(0,G.useCallback)(()=>{c.current?.pauseFollowing()},[])}}function bt(e){return(e||0)>0&&Number(e)<650?260:164}function xt(e,t){return e.scrollTop+t-e.scrollHeight}var St=new Map,Ct=e=>{let t=St.get(e);return t||(t=Se.create(e),St.set(e,t)),t};(0,G.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=Ct(t),o=(0,G.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,K.jsx)(a,{animate:{backgroundPosition:`0% center`},className:S(`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 wt=(0,G.createContext)(null),Tt=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,G.useMemo)(()=>({isStreaming:t}),[t]);return(0,K.jsx)(wt.Provider,{value:i,children:(0,K.jsx)(c,{asChild:!0,"data-slot":`plan`,...r,children:(0,K.jsx)(ve,{className:S(`shadow-none`,e),children:n})})})},Et=({defaultOpen:e=!0,className:t,...n})=>(0,K.jsx)(c,{className:S(t),defaultOpen:e,...n}),Dt=4e3,Ot=`… earlier output omitted …`;function kt(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 At(e,t=Dt){let n=String(e||``),r=Math.max(1,Math.floor(Number(t)||4e3));if(n.length<=r)return{text:kt(n),truncated:!1};let i=n.slice(-r),a=i.indexOf(`
|
|
3
|
-
`);return a>=0&&a<Math.floor(r/3)&&(i=i.slice(a+1)),{text:kt(`${Ot}\n${i}`),truncated:!0}}function jt(){let e=globalThis.pisperDesktop;return e?.computerUseStartStream?e:null}function Mt({target:e,fallbackImage:t,streaming:n}){let{t:r}=a(),i=Number(e.target?.windowId)||0,[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(`connecting`),[u,d]=(0,G.useState)(!1),f=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!n)return;let e=jt();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,G.useEffect)(()=>{if(!n||!i)return;let e=jt();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}`,s({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=o?.url||(t?.url?String(t.url):``),m=String(e.target?.windowTitle||e.target?.app||``),h=c===`live`,g=(0,G.useMemo)(()=>`${o?.width||16} / ${o?.height||10}`,[o?.width,o?.height]);return(0,K.jsxs)(`div`,{className:`computer-use-live-mirror w-full overflow-hidden rounded-[var(--r-md)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [margin:2px_0]`,"data-pisper-live-mirror":h?`live`:c,children:[p?(0,K.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,K.jsx)(`div`,{className:`computer-use-live-placeholder grid min-h-[84px] w-full place-items-center text-[12px] text-[var(--text-muted)]`,style:{aspectRatio:g},children:r(`chat:computerUseLive.waitingForFirstFrame`)}),u?(0,K.jsxs)(`div`,{className:`flex items-center gap-[6px] bg-[var(--warning-soft)] px-[8px] py-[4px] text-[11px] text-[var(--warning-strong)]`,"data-pisper-secure-input":`active`,children:[(0,K.jsx)(M,{size:12,className:`flex-none`}),(0,K.jsx)(`span`,{className:`min-w-0`,children:r(`chat:computerUseLive.secureInput`)})]}):null,(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-[8px] px-[8px] py-[4px] text-[11px] text-[var(--text-muted)]`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px]`,children:[(0,K.jsx)(ee,{size:12}),(0,K.jsx)(`span`,{className:`truncate`,title:m,children:m||r(`chat:computerUseLive.appWindow`)})]}),(0,K.jsx)(`span`,{className:h?`text-[var(--brand-blue-strong)]`:`text-[var(--text-tertiary)]`,"data-pisper-live-mirror-status":c,children:r(h?`chat:computerUseLive.live`:c===`connecting`?`chat:computerUseLive.connecting`:`chat:computerUseLive.staticPreview`)})]})]})}var Nt=(0,G.memo)(Mt),Pt=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 Ft(e){return Pt.has(String(e||``))}function It(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`tool`&&Ft(n.name)&&Number(n.target?.windowId)>0)return n}return null}function Lt(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===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):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`):Le(e)?t(`chat:agentRunActivity.readingPlan`):J(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 Rt(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===`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`):J(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function zt(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 Bt(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 Vt(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 Ht(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:ge(e.tokensBefore),after:ge(e.estimatedTokensAfter)}):t(`chat:agentRunActivity.summarizingOlderMessages`)}var Y=[],Ut=`agent-run-status-icon [.agent-thinking-window.running_&]:text-[var(--brand-blue-strong)] [.agent-run-summary.completed_&]:text-[var(--success)] [.agent-run-summary.plan_&]:text-[var(--success)] [.agent-run-overview.completed_&]:text-[var(--success)] [.agent-run-overview.plan_&]:text-[var(--success)] [.agent-run-summary.compacting_&]:text-[var(--star-strong)] [.agent-run-overview.compacting_&]:text-[var(--star-strong)] [.agent-run-summary.failed_&]:text-[var(--text-muted)] [.agent-run-overview.failed_&]:text-[var(--text-muted)] [.agent-run-summary.stopped_&]:text-[var(--text-muted)] [.agent-run-overview.stopped_&]:text-[var(--text-muted)] [.agent-run-activity.compact_&]:w-[24px] [.agent-run-activity.compact_&]:h-[24px] grid w-[28px] h-[28px] place-items-center text-[var(--brand-blue-strong)]`,Wt=(0,G.lazy)(()=>t(()=>import(`./AnimatedList-D8fxDNGr.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([0,1,2,3,4,5,6])));function Gt(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 Kt(e){let[t,n]=(0,G.useState)(()=>Date.now());return(0,G.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function qt({startedAt:e,finishedAt:t,streaming:n,language:r}){let i=_t(gt(e,t,Kt(n)),r);return(0,K.jsxs)(`span`,{className:`agent-run-duration inline-flex items-center gap-[4px] pt-[3px] text-[var(--text-muted)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] text-[11px] whitespace-nowrap [.agent-run-activity.compact_&]:text-[10px]`,children:[(0,K.jsx)(O,{size:12}),i]})}function X(e){return String(e||``).replace(/\s+/g,` `).trim()}function Jt(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:X(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${X(t.pattern)}”`:``,X(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[X(t.pattern),X(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[X(t.action),X(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`observe_ui`?{text:X(t.root||t.mode)}:e?.name===`act_ui`?{text:Array.isArray(t.actions)?t.actions.slice(0,3).map(e=>X(e?.action)).filter(Boolean).join(` · `):``}:e?.name===`search_ui`?{text:X(t.text||t.role)}:e?.name===`find_roots`?{text:X(t.app||t.text)}:e?.name===`ocr_ui`?{text:X(t.language)}:e?.name===`spawn_agent`?{text:X(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:X(t.target)}:e?.name===`generate_visual`?{text:X(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:X(t.query)}:{text:``}}function Yt(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,_=Y;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:Lt(e.name,t)}):r?Rt(e.name,t):Lt(e.name,t);let i=Jt(e);p=i.text,h=!!i.command,m=X(e.message)}else if(e.type===`plan`){d=`plan`;let n=ze(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||Y,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):Bt(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=X(n.taskName)||t(`chat:agentRunActivity.subagent`),i=st(n.status);f=zt(n.status,r,t),d=i.tone,p=(n.currentActivity?.type===`tool`?Jt(n.currentActivity).text||n.currentActivity.name:``)||X(n.error||n.message),m=n.status===`running`?X(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=X(n.message)}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=Ht(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=X(i)),String(i||``).trim()&&(p=X(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}function Xt({streaming:e,text:t,currentActivity:n,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c},l){return e?Yt(lt({currentActivity:n,compaction:i,text:t,thinkingText:r,lastActivityAt:c}),{t:l,streaming:e,text:t,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c,now:Date.now()}).title:``}function Zt({tone:e}){return e===`failed`?(0,K.jsx)(ae,{size:14}):e===`stopped`?(0,K.jsx)(ne,{size:12}):[`completed`,`plan`].includes(e)?(0,K.jsx)(w,{size:14}):(0,K.jsx)(`i`,{className:`agent-activity-dot`,"aria-hidden":`true`})}function Qt({activity:e,className:t,children:n}){return e.type===`tool`?(0,K.jsx)(`div`,{className:t,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,K.jsx)(Tt,{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,K.jsx)(Et,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,K.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}function $t({output:e,streaming:t,t:n}){let r=At(e),i=(0,G.useRef)(null);return(0,G.useEffect)(()=>{if(!t)return;let e=window.requestAnimationFrame(()=>{let e=i.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[r.text,t]),r.text.trim()?(0,K.jsxs)(`details`,{className:`agent-run-command-output [.agent-run-feed:has(&[open])]:max-h-[320px] [&_>_summary]:grid [&_>_summary]:min-h-[30px] [&_>_summary]:grid-cols-[auto_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[7px] [&_>_summary]:[list-style:none] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:text-[12px] [&_>_summary]:font-medium [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text-secondary)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] [&_>_summary_>_svg:first-child]:text-[var(--brand-blue-strong)] [&_>_pre]:max-h-[112px] [&_>_pre]:overflow-auto [&_>_pre]:m-0 [&_>_pre]:[border-top:1px_solid_var(--stroke-soft)] [&_>_pre]:bg-[var(--surface-subtle)] [&_>_pre]:p-[9px_10px] [&_>_pre]:text-[var(--text-secondary)] [&_>_pre]:font-[ui-monospace,SFMono-Regular,Consolas,'Liberation_Mono',monospace] [&_>_pre]:text-[11px] [&_>_pre]:leading-[1.55] [&_>_pre]:whitespace-pre-wrap [&_>_pre]:[overflow-wrap:anywhere] [.agent-run-activity.compact_&]:[grid-column:1/-1] min-w-0 [grid-column:1/-1] overflow-hidden [margin:2px_0_1px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--solid)]`,"data-truncated":r.truncated||void 0,open:t||void 0,children:[(0,K.jsxs)(`summary`,{children:[(0,K.jsx)(k,{size:13}),(0,K.jsx)(`span`,{children:n(t?`chat:agentRunActivity.liveCommandOutput`:`chat:agentRunActivity.commandOutput`)}),(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:13})]}),(0,K.jsx)(`pre`,{ref:i,children:r.text})]}):null}function en({image:e,t}){let n=String(e.url||``);return n?(0,K.jsx)(`a`,{className:`agent-run-tool-preview block w-full overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [grid-column:1/-1] [margin:2px_0_1px]`,href:n,target:`_blank`,rel:`noreferrer`,title:String(e.name||``),children:(0,K.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 tn(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 nn=(0,G.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=Yt(e,{t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u,now:Date.now()}),f=e.name===`bash`&&t&&!!e.output;return e.type===`retry`?(0,K.jsx)($e,{title:e.summary||n(`chat:agentRunActivity.retryingRequest`),error:String(e.message||``),pending:!!(r&&t),className:`my-1`}):(0,K.jsxs)(Qt,{activity:e,className:`agent-run-summary grid w-full min-h-[42px] grid-cols-[28px_minmax(0,1fr)] [align-items:start] gap-[9px] p-[6px_0] hover:bg-[var(--surface-hover)] [.agent-run-activity.compact_&]:min-h-[34px] [.agent-run-activity.compact_&]:grid-cols-[24px_minmax(0,1fr)] [.agent-run-activity.compact_&]:gap-[7px] [.agent-run-activity.compact_&]:p-[4px_5px] @max-[700px]:grid-cols-[28px_minmax(0,1fr)] @max-[700px]:[&_>_svg]:hidden flex-none [transition:background_var(--d1)_var(--ease-out)] ${d.tone} ${t?`current [.agent-run-summary&]:bg-[var(--surface-subtle)]`:``}`,children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(Zt,{tone:d.tone})}),(0,K.jsxs)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:[(0,K.jsx)(`strong`,{children:d.title}),d.detail&&(d.command?(0,K.jsxs)(`code`,{className:`agent-run-command overflow-hidden text-[var(--text-muted)] text-[12px] leading-[1.45] text-ellipsis whitespace-nowrap block max-h-[2.9em] p-[3px_7px] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] text-[var(--text-secondary)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] whitespace-pre-wrap [overflow-wrap:anywhere] [.agent-run-activity.compact_&]:text-[11px]`,title:d.detail,children:[`$ `,d.detail]}):(0,K.jsx)(`small`,{title:d.detail,children:d.detail})),d.changes.length>0&&(0,K.jsxs)(`span`,{className:`agent-run-plan-changes [&_small]:text-[var(--text-secondary)] flex min-w-0 flex-col gap-[1px] [padding:1px_0_0_7px] [border-left:1px_solid_var(--stroke-soft)]`,children:[d.changes.slice(0,4).map(e=>(0,K.jsx)(`small`,{children:Vt(e,n)},`${e.id}-${e.kind}-${e.status}`)),d.changes.length>4&&(0,K.jsx)(`small`,{children:n(`chat:agentRunActivity.countMoreChanges`,{count:d.changes.length-4})})]}),!f&&d.output&&d.output!==d.detail&&(0,K.jsx)(`small`,{className:`text-[var(--text-tertiary)]`,title:d.output,children:d.output})]}),e.previewImage&&e.previewImage.url?(0,K.jsx)(en,{image:e.previewImage,t:n}):null,f&&(0,K.jsx)($t,{output:e.output,streaming:!!(r&&e.status===`running`),t:n})]})},tn);function rn({streaming:e,text:t,thinkingText:n,team:r,activityFeed:i=Y,tools:o=Y,compaction:s,error:c,stopped:l,notice:u,startedAt:d,lastActivityAt:f,finishedAt:p,compact:m=!1}){let{t:h,language:g}=a(),_=String(n||``).trim(),v=(0,G.useRef)(null),y=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!_)return;let e=window.requestAnimationFrame(()=>{let e=v.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[_]);let b=i.length?i:o,x=e&&!m?It(b):null,S=ut(b),C=Array.isArray(r?.tasks)?r.tasks:[],w=Number(r?.completedTaskCount??0),T=Number(r?.taskCount??C.length),D=Number(r?.tokenUsed??r?.tokensUsed??0),O=Number(r?.tokenBudget??r?.teamTokenBudget??0),k=Array.isArray(r?.communications)?r.communications:[],A=T>0?Math.min(100,Math.round(w/T*100)):0;if((0,G.useEffect)(()=>{if(!e||!b.length)return;let t=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[S,b.length,e]),!_&&!b.length&&!r)return null;let j=e?0:b.length,M=r=>r.map((i,a)=>(0,K.jsx)(nn,{activity:i,compaction:s,error:c,lastActivityAt:f,latest:a===r.length-1,notice:u,stopped:l,streaming:e,t:h,text:t,thinkingText:_?``:n},dt(i,a))),N=M(b),P=M(b.slice(-1));return(0,K.jsxs)(`section`,{className:`agent-run-activity [&.compact]:m-[4px_0_0_40px] w-full overflow-hidden [margin:1px_0_9px] text-[var(--text)] ${m?`compact`:``}`,"aria-live":`polite`,children:[_&&(0,K.jsxs)(`details`,{className:`agent-thinking-window [&[open]]:border-[transparent] [&.completed]:border-[transparent] [&.completed[open]]:border-[transparent] overflow-hidden [margin:1px_0_8px] [border:1px_solid_transparent] rounded-[var(--r-sm)] bg-transparent [transition:border-color_var(--d1)_var(--ease-out)] ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,K.jsxs)(`summary`,{className:`agent-thinking-head [summary&]:[list-style:none] [summary&]:cursor-pointer [summary&::-webkit-details-marker]:hidden [summary&:hover]:bg-[var(--surface-hover)] [summary&:focus-visible]:[outline:2px_solid_var(--accent-border)] [summary&:focus-visible]:[outline-offset:-2px] grid min-h-[40px] grid-cols-[28px_minmax(0,1fr)_auto] items-center gap-[9px] [padding:6px_0]`,"aria-label":h(`chat:agentRunActivity.toggleReasoning`),children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,K.jsxs)(`strong`,{children:[h(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,K.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,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{})]}):null]})}),(0,K.jsx)(qt,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,K.jsx)(`div`,{ref:v,className:`agent-thinking-scroll max-h-[190px] overflow-auto [border-top:1px_solid_var(--stroke-soft)] [padding:9px_0_9px_37px] [scroll-behavior:smooth]`,children:(0,K.jsx)(W,{streaming:e,children:_})})]}),r&&(C.length>0||k.length>0||(r.blockers?.length??0)>0||(r.conflicts?.length??0)>0||!!r.scriptPath||!!r.summary?.text)&&(0,K.jsxs)(`details`,{className:`agent-team-panel overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] [margin:5px_0_2px]`,children:[(0,K.jsxs)(`summary`,{className:`flex min-h-[38px] cursor-pointer items-center justify-between gap-[8px] [list-style:none] [padding:6px_8px] [&::-webkit-details-marker]:hidden hover:bg-[var(--surface-hover)]`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[6px]`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`team-status-dot h-[6px] w-[6px] shrink-0 rounded-full ${r.status===`complete`?`bg-[var(--success)]`:r.status===`stalled`||r.status===`budget_limited`?`bg-[var(--warning)]`:r.status===`paused`?`bg-[var(--text-muted)]`:`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`}`}),(0,K.jsx)(`span`,{className:`min-w-0 truncate text-[12px] font-medium`,children:r.status===`complete`?h(`chat:agentRunActivity.teamComplete`):r.status===`budget_limited`?h(`chat:agentRunActivity.teamBudgetLimited`):r.status===`paused`?h(`chat:agentRunActivity.teamPaused`):r.status===`stalled`?h(`chat:agentRunActivity.teamStalled`):h(`chat:agentRunActivity.teamActive`)}),T>0&&(0,K.jsxs)(`small`,{className:`shrink-0 text-[11px] font-normal text-[var(--text-muted)]`,children:[w,`/`,T,` · `,A,`%`]})]}),(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[8px]`,children:[O>0&&(0,K.jsx)(`small`,{className:`whitespace-nowrap text-[11px] text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamBudget`,{used:D,budget:O})}),(0,K.jsx)(E,{size:14,className:`text-[var(--text-muted)] [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,"aria-hidden":`true`})]})]}),T>0&&(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`team-progress-track mx-[8px] mb-[3px] h-[3px] overflow-hidden rounded-full bg-[var(--stroke-soft)]`,children:(0,K.jsx)(`div`,{className:`team-progress-fill h-full rounded-full bg-[var(--accent-strong)] [transition:width_var(--d2)_var(--ease-out)]`,style:{width:`${A}%`}})}),(0,K.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-top:1px_solid_var(--stroke-soft)] [padding:7px_8px]`,children:[C.map(e=>{let t=typeof e.role==`string`?e.role.trim():``,n=Gt(e.status,h);return(0,K.jsxs)(`div`,{className:`grid min-w-0 gap-[4px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border:1px_solid_var(--stroke-soft)] [padding:7px] text-[11px]`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-start gap-[6px]`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`team-task-dot h-[6px] w-[6px] shrink-0 rounded-full ${e.status===`running`?`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`:e.status===`completed`?`bg-[var(--success)]`:e.status===`failed`||e.status===`interrupted`?`bg-[var(--danger)]`:e.status===`blocked`?`bg-[var(--warning)]`:`bg-[var(--stroke-default)]`}`}),(0,K.jsxs)(`span`,{className:`grid min-w-0 gap-[1px]`,children:[(0,K.jsx)(`strong`,{className:`break-words font-medium`,children:t?h(`chat:agentRunActivity.teamTaskStatus`,{name:e.taskName,role:t,status:n}):h(`chat:agentRunActivity.teamTaskStatusWithoutRole`,{name:e.taskName,status:n})}),(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:n})]})]}),e.error&&(0,K.jsx)(`small`,{className:`break-words text-[var(--danger)]`,children:e.error}),e.output&&(0,K.jsx)(`small`,{className:`break-words text-[var(--text-muted)]`,children:e.output})]},e.id||e.taskName)}),(r.blockers?.length??0)>0&&(0,K.jsx)(`small`,{className:`text-[var(--warning)]`,children:h(`chat:agentRunActivity.teamBlocked`,{count:r.blockers?.length??0})}),(r.conflicts?.length??0)>0&&(0,K.jsx)(`small`,{className:`text-[var(--danger)]`,children:h(`chat:agentRunActivity.teamConflicts`,{count:r.conflicts?.length??0})}),r.scriptPath&&(0,K.jsx)(`small`,{className:`break-all text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamScript`,{path:r.scriptPath})}),k.length>0&&(0,K.jsxs)(`div`,{className:`grid gap-[3px] [border-top:1px_solid_var(--stroke-soft)] [padding-top:5px]`,children:[(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamCommunicationCount`,{count:k.length})}),k.slice(-6).map(e=>(0,K.jsxs)(`div`,{className:`grid min-w-0 gap-[1px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border-left:2px_solid_var(--accent-border)] [padding:4px_6px]`,children:[(0,K.jsxs)(`strong`,{className:`break-all text-[12px] font-medium`,children:[e.fromTaskName||e.fromAgentId||`lead`,` ->`,` `,e.toTaskName||e.toAgentId]}),(0,K.jsx)(`small`,{className:`break-words text-[var(--text-secondary)]`,children:e.message})]},e.id))]}),r.summary?.text&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamSummary`)}),r.summary.text&&(0,K.jsx)(`p`,{className:`m-0 line-clamp-4 text-[11px] leading-[1.45] text-[var(--text-secondary)]`,children:r.summary.text})]})]})]},String(r.id||r.scriptPath||`team`)),e&&!m&&x?(0,K.jsx)(Nt,{fallbackImage:x.previewImage,streaming:e,target:x}):null,e&&b.length>0&&(0,K.jsx)(`div`,{ref:y,className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] live`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),children:(0,K.jsx)(G.Suspense,{fallback:P,children:(0,K.jsx)(Wt,{children:P})})}),j>0&&(0,K.jsxs)(`details`,{className:`agent-run-history [&_>_summary]:grid [&_>_summary]:min-h-[38px] [&_>_summary]:grid-cols-[28px_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[9px] [&_>_summary]:[list-style:none] [&_>_summary]:rounded-[var(--r-sm)] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] w-full`,children:[(0,K.jsxs)(`summary`,{children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,K.jsx)(`strong`,{children:h(`chat:agentRunActivity.countCompletedOperations`,{count:j})})}),(0,K.jsx)(qt,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,K.jsx)(`div`,{className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] completed`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:b.length>3?0:void 0,children:(0,K.jsx)(G.Suspense,{fallback:N,children:N})})]})]})}function an(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 on=(0,G.memo)(rn,an);function Z(e){return e instanceof Error?e.message:String(e)}function sn(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test(Z(e))}async function cn(e,t){return e.id&&!e.id.startsWith(`path:`)?V(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`,{signal:t}):typeof e.text==`string`?{kind:`text`,text:e.text.slice(0,4e5),mimeType:e.mimeType,truncated:e.text.length>4e5}:{kind:`file`}}function ln({attachment:e,onClose:t,onDownload:n,onRestoreFocus:r}){let{t:i}=a(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(0),[f,p]=(0,G.useState)(!0),m=e.name||i(`chat:chatMessage.fileAttachment`),y=/\.(md|markdown)$/i.test(m)||(o?.mimeType||e.mimeType)===`text/markdown`;(0,G.useEffect)(()=>{let t=new AbortController;return p(!0),s(null),l(``),cn(e,t.signal).then(e=>{t.signal.aborted||s(e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e.message:String(e))}).finally(()=>{t.signal.aborted||p(!1)}),()=>t.abort()},[e,u]);let b=o?.kind===`text`?o.text||``:void 0;return(0,K.jsx)(me,{open:!0,onOpenChange:e=>!e&&t(),children:(0,K.jsxs)(fe,{className:`flex h-[min(680px,calc(100dvh-2rem))] w-[calc(100%-2rem)] min-w-0 max-w-[900px] flex-col overflow-hidden rounded-lg sm:max-w-[900px]`,showCloseButton:!1,onCloseAutoFocus:e=>{e.preventDefault(),r()},"aria-describedby":void 0,children:[(0,K.jsxs)(de,{className:`min-w-0 shrink-0 pr-9 text-left`,children:[(0,K.jsx)(pe,{className:`truncate text-sm leading-5`,title:m,children:m}),(0,K.jsxs)(le,{className:`truncate text-xs`,children:[e.mimeType||`application/octet-stream`,typeof e.size==`number`&&` · ${_e(e.size)}`]})]}),(0,K.jsx)(ue,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`absolute right-3 top-3`,"aria-label":i(`chat:chatMessage.closePreview`),title:i(`chat:chatMessage.closePreview`),children:(0,K.jsx)(se,{size:16})})}),(0,K.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:f?(0,K.jsxs)(`div`,{role:`status`,className:`flex flex-1 items-center justify-center gap-2 text-muted-foreground`,children:[(0,K.jsx)(R,{size:16,className:`animate-spin`}),i(`chat:chatMessage.filePreviewLoading`)]}):c?(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3`,children:[(0,K.jsx)(`p`,{role:`alert`,className:`max-w-full break-words text-sm text-destructive`,children:c}),(0,K.jsxs)(H,{type:`button`,variant:`outline`,onClick:()=>d(e=>e+1),children:[(0,K.jsx)(z,{size:14}),i(`chat:chatMessage.filePreviewRetry`)]})]}):b===void 0?(0,K.jsxs)(`div`,{role:`status`,className:`flex flex-1 flex-col items-center justify-center gap-3 text-center text-muted-foreground`,children:[(0,K.jsx)(P,{size:32}),(0,K.jsx)(`p`,{className:`text-sm`,children:i(`chat:chatMessage.filePreviewUnavailable`)})]}):y?(0,K.jsxs)(v,{defaultValue:`preview`,className:`min-h-0 min-w-0 flex-1`,children:[(0,K.jsxs)(_,{className:`shrink-0`,children:[(0,K.jsx)(h,{value:`preview`,children:i(`chat:chatMessage.fileActionPreview`)}),(0,K.jsx)(h,{value:`source`,children:i(`chat:chatMessage.filePreviewSource`)})]}),(0,K.jsx)(g,{value:`preview`,className:`min-h-0 overflow-auto p-1`,children:(0,K.jsx)(W,{children:b})}),(0,K.jsx)(g,{value:`source`,className:`min-h-0 overflow-auto`,children:(0,K.jsx)(`pre`,{className:`m-0 p-3 font-mono text-xs leading-relaxed`,children:b})})]}):(0,K.jsx)(`pre`,{className:`m-0 min-h-0 flex-1 overflow-auto rounded-md bg-muted/40 p-3 font-mono text-xs leading-relaxed`,children:b})}),(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t pt-3`,children:[o?.truncated&&(0,K.jsx)(`p`,{role:`status`,className:`mr-auto text-xs text-muted-foreground`,children:i(`chat:chatMessage.filePreviewTruncated`)}),(0,K.jsxs)(H,{type:`button`,variant:`outline`,disabled:!e.downloadUrl,onClick:n,children:[(0,K.jsx)(A,{size:14}),i(`chat:chatMessage.fileActionDownload`)]})]})]})})}function un({className:e,from:t,...n}){return(0,K.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:S(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}function dn({images:e,index:t,onClose:n,onNavigate:r}){let{t:i}=a(),o=(0,G.useRef)(null),s=e[t],c=t>0,u=t<e.length-1,d=(0,G.useCallback)(t=>{t>=0&&t<e.length&&r(t)},[e.length,r]);return(0,G.useEffect)(()=>{let e=document.body.style.overflow,r=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`?(e.preventDefault(),d(t-1)):e.key===`ArrowRight`&&(e.preventDefault(),d(t+1))};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,r),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,r)}},[t,d,n]),s?(0,K.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] [backdrop-filter:blur(8px)] max-sm:[padding:12px_56px_16px_12px]`,role:`dialog`,"aria-modal":`true`,"aria-label":i(`chat:chatMessage.fullScreenImagePreview`),children:[(0,K.jsxs)(`div`,{className:`image-lightbox-toolbar flex min-w-0 items-center justify-between gap-[16px] text-[var(--on-ink)]`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,K.jsx)(`span`,{className:`overflow-hidden text-[13px] font-[700] text-ellipsis whitespace-nowrap`,title:s.attachment.name,children:s.attachment.name||i(`chat:chatMessage.generatedImage`)}),e.length>1&&(0,K.jsxs)(`span`,{className:`flex-none text-[12px] font-[600] text-[var(--on-ink)]/70`,children:[t+1,` / `,e.length]})]}),(0,K.jsxs)(`div`,{className:`flex flex-none items-center gap-[8px]`,children:[(0,K.jsx)(H,{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,K.jsxs)(`a`,{href:s.attachment.downloadUrl||s.source,download:s.attachment.name||`generated-image`,"aria-label":i(`chat:chatMessage.downloadOriginal`),title:i(`chat:chatMessage.downloadOriginal`),children:[(0,K.jsx)(A,{size:14}),(0,K.jsx)(`span`,{className:`max-sm:hidden`,children:i(`chat:chatMessage.downloadOriginal`)})]})}),(0,K.jsx)(H,{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,K.jsx)(se,{size:20})})]})]}),(0,K.jsxs)(`div`,{className:`relative flex min-h-0 items-center justify-center [touch-action:pan-y]`,onTouchStart:e=>{o.current=e.changedTouches[0]?.clientX??null},onTouchEnd:e=>{let n=o.current;o.current=null;let r=e.changedTouches[0]?.clientX;n===null||r===void 0||Math.abs(r-n)<48||d(t+(r<n?1:-1))},onTouchCancel:()=>{o.current=null},children:[e.length>1&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(H,{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:()=>d(t-1),children:(0,K.jsx)(l,{size:22})}),(0,K.jsx)(H,{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:!u,onClick:()=>d(t+1),children:(0,K.jsx)(E,{size:22})})]}),(0,K.jsx)(`img`,{alt:s.attachment.name||i(`chat:chatMessage.generatedImage`),decoding:`async`,src:s.source})]})]}):null}function Q(e,t){window.dispatchEvent(new CustomEvent(Ee,{detail:{message:e,tone:t}}))}function $({icon:e,label:t,onClick:n,disabled:r=!1}){return(0,K.jsxs)(`button`,{type:`button`,disabled:r,onClick:n,className:`flex items-center gap-[7px] rounded-[var(--r-xs)] border-0 bg-transparent px-[8px] py-[6px] text-left text-[13px] text-[var(--text-secondary)] [cursor:pointer] hover:bg-[var(--surface-hover)] hover:text-[var(--text-primary)] disabled:cursor-not-allowed disabled:opacity-50`,children:[e,t]})}function fn({attachments:e,compact:t=!1,sessionId:n,sessionStreaming:r=!1}){let{t:i}=a(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),[h,g]=(0,G.useState)(null),_=(0,G.useRef)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(null),[S,C]=(0,G.useState)(null),[w,T]=(0,G.useState)({}),E=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}]:[]}),D=async e=>{try{await Te(e,Ce),Q(i(`common:markdownMessage.revealLocalPathOk`,{path:e}),`info`)}catch(t){Q(t instanceof we&&t.reason===`unavailable`?i(`common:markdownMessage.revealLocalPathUnavailable`):t instanceof we&&t.reason===`timeout`?i(`common:markdownMessage.revealLocalPathTimeout`):i(`common:markdownMessage.revealLocalPathFailed`,{path:e}),`error`)}},O=async(e,t)=>{if(n)try{let r=await U.getFileDiff(n,t);T(t=>({...t,[e]:r.diff?.trim()?{diff:r.diff,truncated:!!r.diffTruncated,canRevert:!!r.canRevert}:null}))}catch{T(t=>({...t,[e]:null}))}},k=async(e,t)=>{if(!(!n||r||b)){if(v!==e){y(e);return}y(null),x(e);try{await U.revertSessionFileChanges(n,t),T(t=>({...t,[e]:null})),Q(i(`chat:chatMessage.fileActionRevertDone`,{path:t}),`info`)}catch(e){Q(i(`chat:chatMessage.fileActionRevertFailed`,{path:t}),`error`),console.error(`[chat] 撤销文件改动失败。`,e)}finally{x(null)}}},M=async(e,t)=>{if(!(!n||h)){g(e);try{let e=await U.getFileDiff(n,t);e.diff?.trim()?(l(null),C({diff:e.diff,truncated:!!e.diffTruncated})):Q(i(`chat:chatMessage.fileDiffEmpty`),`info`)}catch(e){Q(e instanceof Error?e.message:i(`chat:chatMessage.fileDiffFailed`),`error`)}finally{g(null)}}},I=e=>{if(!e.downloadUrl)return;let t=document.createElement(`a`);t.href=e.downloadUrl,e.name&&(t.download=e.name),t.click()};return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`message-attachments flex flex-wrap gap-[6px] [margin-top:6px] ${t?`compact`:``}`,children:e.map((e,t)=>{let a=String(e.id||t),o=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&o?(0,K.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=E.findIndex(e=>e.attachmentIndex===t);e>=0&&s({images:E,index:e})},title:i(`chat:chatMessage.openFullScreenPreview`),children:[(0,K.jsx)(`img`,{alt:e.name||i(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:o}),(0,K.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedImage`)})]},a):e.kind===`video`&&o?(0,K.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,K.jsx)(`video`,{controls:!0,preload:`metadata`,src:o}),(0,K.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedVideo`)})]},a):e.kind===`link`?(0,K.jsxs)(`a`,{className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] no-underline`,href:e.downloadUrl||void 0,children:[(0,K.jsx)(P,{size:12,className:`shrink-0`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]},a):(0,K.jsxs)(m,{open:c===a,onOpenChange:t=>{l(t?a:null),t&&e.path&&n?O(a,String(e.path)):y(null)},children:[(0,K.jsx)(u,{asChild:!0,children:(0,K.jsxs)(`button`,{type:`button`,onClick:e=>{_.current=e.currentTarget},className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] cursor-pointer`,children:[(0,K.jsx)(P,{size:12,className:`shrink-0`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]})}),(0,K.jsxs)(d,{align:`start`,sideOffset:6,className:`flex w-[190px] max-w-[calc(100vw-2rem)] flex-col gap-[2px] p-[4px]`,children:[(0,K.jsx)($,{icon:(0,K.jsx)(j,{size:13}),label:i(`chat:chatMessage.fileActionPreview`),onClick:()=>{l(null),p(e)}}),(0,K.jsx)($,{icon:(0,K.jsx)(A,{size:13}),label:i(`chat:chatMessage.fileActionDownload`),disabled:!e.downloadUrl,onClick:()=>I(e)}),e.path&&(0,K.jsx)($,{icon:(0,K.jsx)(F,{size:13}),label:i(`chat:chatMessage.fileActionReveal`),onClick:()=>void D(String(e.path))}),n&&e.path&&(0,K.jsx)($,{icon:h===a?(0,K.jsx)(R,{size:13,className:`animate-spin`}):(0,K.jsx)(N,{size:13}),label:i(`chat:chatMessage.fileActionDiff`),disabled:!!h,onClick:()=>void M(a,String(e.path))}),w[String(a)]?.canRevert&&(0,K.jsx)($,{icon:b===String(a)?(0,K.jsx)(R,{className:`animate-spin`,size:13}):(0,K.jsx)(oe,{size:13}),label:i(v===String(a)?`chat:chatMessage.fileActionConfirmRevert`:`chat:chatMessage.fileActionRevert`),disabled:!!(r||b),onClick:()=>void k(String(a),String(e.path))})]})]},a)})}),o&&(0,Qe.createPortal)((0,K.jsx)(dn,{images:o.images,index:o.index,onClose:()=>s(null),onNavigate:e=>s(t=>t&&{...t,index:e})}),document.body),f&&(0,K.jsx)(ln,{attachment:f,onClose:()=>p(null),onRestoreFocus:()=>_.current?.focus(),onDownload:()=>I(f)}),S&&(0,K.jsx)(ke,{diff:S.diff,truncated:S.truncated,onClose:()=>C(null)})]})}function pn({sessionId:e,entryId:t}){let{t:n}=a(),[r,i]=(0,G.useState)(!1),[o,s]=(0,G.useState)(``),[c,l]=(0,G.useState)(``),[f,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,S]=(0,G.useState)(``);(0,G.useEffect)(()=>{if(!r)return;let n=!0;return h(!0),S(``),U.getSessionTree(e).then(e=>{if(!n)return;let r=e.nodes.find(e=>e.id===t)?.label||``;s(r),l(r)}).catch(e=>n&&S(Z(e))).finally(()=>n&&h(!1)),()=>{n=!1}},[t,r,e]);let C=async()=>{if(!(g||f)){_(!0),S(``);try{let n=(await U.setSessionTreeLabel(e,t,o)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{_(!1)}}},T=async()=>{if(!(g||f)){_(!0),S(``);try{let n=(await U.setSessionTreeLabel(e,t,``)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{_(!1)}}};return(0,K.jsxs)(m,{open:r,onOpenChange:i,children:[(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(u,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,className:c?`bg-surface-hover text-brand`:void 0,"aria-label":n(`chat:chatMessage.labelThisTurn`),"data-pisper-label-entry":t,children:(0,K.jsx)(re,{size:14})})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:n(`chat:chatMessage.labelThisTurn`)})]}),(0,K.jsx)(d,{className:`message-label-popover [&_form]:grid [&_form]:gap-[10px] [&_[data-slot='popover-title']]:text-[12px]`,align:`end`,sideOffset:6,children:(0,K.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),C()},children:[(0,K.jsx)(p,{children:n(`chat:sessionTree.nodeLabel`)}),(0,K.jsx)(he,{autoFocus:!0,value:o,maxLength:80,disabled:f||g,placeholder:n(`chat:sessionTree.labelPlaceholder`),onChange:e=>s(e.target.value)}),v&&(0,K.jsx)(`small`,{className:`danger-text`,children:v}),(0,K.jsxs)(`div`,{className:`message-label-actions flex items-center justify-between gap-[8px]`,children:[(0,K.jsx)(H,{type:`button`,size:`icon-sm`,variant:`ghost`,title:n(`chat:sessionTree.removeLabel`),"aria-label":n(`chat:sessionTree.removeLabel`),disabled:f||g,onClick:()=>void T(),children:(0,K.jsx)(ie,{})}),(0,K.jsxs)(H,{className:`message-label-save [.message-label-actions_&]:min-w-[104px] [.message-label-actions_&]:text-[var(--primary-foreground)]`,type:`submit`,disabled:f||g,children:[g?(0,K.jsx)(R,{className:`animate-spin`}):(0,K.jsx)(w,{}),n(g?`chat:sessionTree.savingLabel`:`chat:sessionTree.saveLabel`)]})]})]})})]})}function mn(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}var hn=(0,G.memo)(function({sessionId:e,message:t,agentState:n,showRunActivity:r,runProps:i,cwd:o,sessionStreaming:s,onBranchFromHere:c,onCreateChildSession:l,retryUserMessageId:u,hideErrorNotice:d,onRetryLastTurn:f}){let{t:p}=a(),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,C]=(0,G.useState)(!1),w=!!t.streaming,T=t.text||``,E=t.error&&T===t.error?``:T,D=!!(i&&(String(i.thinkingText||``).trim()||(i.activityFeed?.length??0)>0||(i.tools?.length??0)>0||i.team));return(0,K.jsxs)(un,{from:t.role===`agent`?`assistant`:`user`,className:S(`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-streaming":w||void 0,"data-pisper-error":t.error?`true`:void 0,children:[t.role===`agent`&&(0,K.jsxs)(`span`,{className:`mb-3 flex items-center gap-2 text-xs font-medium text-[var(--text-muted)]`,children:[(0,K.jsx)(`span`,{className:`agent-message-mark grid size-[22px] place-items-center`,"data-state":n,"aria-hidden":`true`,children:(0,K.jsx)(De,{size:20})}),`Pisper`]}),(0,K.jsxs)(`div`,{className:S(`message-content relative min-w-0`,t.role===`agent`?`w-full`:`w-fit max-w-[78%] @max-[700px]:max-w-[86%] @max-[470px]:max-w-[94%] [[data-chat-message-style='plain']_&]:w-full [[data-chat-message-style='plain']_&]:max-w-full`),children:[r&&i&&(0,K.jsx)(on,{...i}),w&&!E&&!D&&(0,K.jsxs)(`div`,{className:`agent-thinking-dots [&_i]:w-[4px] [&_i]:h-[4px] [&_i]:rounded-[50%] [&_i]:bg-[var(--text-muted)] [&_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-center gap-[3px] py-2`,"aria-hidden":`true`,children:[(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{})]}),E&&(0,K.jsx)(W,{cwd:o,streaming:w,className:S(`min-h-[34px] [overflow-wrap:anywhere] text-[length:var(--app-message-font-size)]`,t.role===`agent`?`w-full max-w-full rounded-none border-0 bg-transparent pt-1 leading-[1.72] [&_p]:my-[var(--chat-message-paragraph-gap,1em)]! [&_.markdown-content>p:first-child]:mt-0! [&_.markdown-content>p:last-child]:mb-0!`:`rounded-[22px] border border-[var(--stroke-soft)] bg-[var(--user-bubble-bg)] px-4 py-2.5 leading-[1.72] text-[var(--user-bubble-text)] shadow-none [&_h1]:text-inherit! [&_h2]:text-inherit! [&_h3]:text-inherit! [&_h4]:text-inherit! [&_a]:text-inherit! [&_blockquote]:text-inherit! [[data-chat-message-style='plain']_&]:rounded-none [[data-chat-message-style='plain']_&]:border-0 [[data-chat-message-style='plain']_&]:bg-transparent [[data-chat-message-style='plain']_&]:px-0 [[data-chat-message-style='plain']_&]:py-1`),children:E}),t.attachments&&t.attachments.length>0&&(0,K.jsx)(fn,{attachments:t.attachments,sessionId:e,sessionStreaming:s})]}),t.error&&!w&&!d&&(0,K.jsx)($e,{error:String(t.error),className:`mt-3`}),t.role===`agent`&&!w&&(t.turnBoundaryEntryId||u)&&(0,K.jsxs)(`div`,{className:`message-actions mt-4 -ml-1.5 flex items-center gap-1 text-[var(--text-muted)] [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 [&_button]:rounded-md [&_button]:text-[var(--text-muted)] [&_button:hover]:bg-[var(--surface-hover)] [&_button:hover]:text-[var(--text)]`,children:[t.turnBoundaryEntryId&&c&&l&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(pn,{sessionId:e,entryId:t.turnBoundaryEntryId}),(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.deriveFromHere`),"data-pisper-derive-entry":t.turnBoundaryEntryId,disabled:m||g||s,onClick:async()=>{let e=t.turnBoundaryEntryId;if(e){h(!0);try{await c(e)}finally{h(!1)}}},children:m?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(Ae,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.deriveFromHere`)})]}),(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.createChildChat`),"data-pisper-child-entry":t.turnBoundaryEntryId,disabled:m||g,onClick:async()=>{let e=t.turnBoundaryEntryId;if(e){_(!0);try{await l(e)}finally{_(!1)}}},children:g?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(Ne,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.createChildChat`)})]})]}),u&&(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.retry`),"data-pisper-retry-message":u,disabled:v||s,onClick:async()=>{C(!0);try{await f()}finally{C(!1)}},children:v?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(B,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.retry`)})]})]})]})},mn);function gn(e,t){return e.message===t.message}(0,G.memo)(function({message:e}){return(0,K.jsxs)(un,{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-[13px] [&_>_span]:font-[600] [&_>_span]:[text-transform:uppercase] [&.agent_>_span::before]:[content:'✦'] [&.agent_>_span::before]:mr-[4px] [&.agent_>_span::before]:text-[var(--star)] [&_.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(--accent-soft)] [&_.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,K.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(e.text||!e.streaming)&&(0,K.jsx)(W,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,K.jsx)(fn,{attachments:e.attachments,compact:!0})]})]})},gn);function _n(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function vn(e,t,n){let[r,i]=(0,G.useState)(0);return(0,G.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),window.addEventListener(`resize`,s),()=>{c?.disconnect(),window.removeEventListener(`resize`,s),o!==null&&window.cancelAnimationFrame(o)}},[n,t,e]),r}var yn=(0,G.memo)(function({sessionId:e,layoutMeasurementKey:t,messages:n,streaming:r,latestRunProps:i,scrollElement:a,prefixRef:o,cwd:s,targetEntryId:c,onContentSizeChange:l,onTargetScroll:u,onTargetLocated:d,onBranchFromHere:f,onCreateChildSession:p,onRetryLastTurn:m}){let h=(0,G.useRef)(null),[g,_]=(0,G.useState)(``),v=(0,G.useRef)(n);v.current=n;let y=(0,G.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]),b=vn(a,o,h),x=(0,G.useCallback)(e=>v.current[e]?.id??`transcript-message-${e}`,[]),S=(0,G.useCallback)(()=>bt(a?.clientWidth),[a]),C=Oe({count:n.length,getScrollElement:()=>a,getItemKey:x,estimateSize:S,measureElement:_n,overscan:6,scrollMargin:b,useAnimationFrameWithResizeObserver:!0}),w=C.getVirtualItems(),T=C.getTotalSize(),E=(0,G.useCallback)(()=>{let e=h.current;if(!e||!a||e.getBoundingClientRect().width<1)return;let t=a.scrollTop,n=C.getVirtualItems().find(e=>e.end>t),r=n?Math.max(0,t-n.start):0;C.measure(),C.getTotalSize();for(let t of e.children)t instanceof HTMLDivElement&&C.measureElement(t);if(C.getTotalSize(),n){let e=C.getOffsetForIndex(n.index,`start`)?.[0];e!==void 0&&C.scrollToOffset(e+r)}l()},[l,a,C]);return(0,G.useLayoutEffect)(()=>{E()},[t,E]),(0,G.useLayoutEffect)(()=>{let e=h.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,E()}))});return r.observe(e),()=>{r.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},[E]),(0,G.useLayoutEffect)(()=>{l()},[l,T]),(0,G.useEffect)(()=>{if(!c)return;let e=n.findIndex(e=>e.turnBoundaryEntryId===c);if(e<0)return;u(),C.scrollToIndex(e,{align:`center`}),_(c);let t=window.requestAnimationFrame(()=>{C.scrollToIndex(e,{align:`center`}),d(c)});return()=>window.cancelAnimationFrame(t)},[n,d,u,c,C]),(0,G.useEffect)(()=>{if(!g)return;let e=window.setTimeout(()=>_(``),2200);return()=>window.clearTimeout(e)},[g]),(0,K.jsx)(`div`,{className:`relative w-full`,"data-pisper-transcript-size":n.length,"data-pisper-rendered-count":w.length,ref:h,style:{height:`${T}px`},children:w.map(t=>{let a=n[t.index];if(!a)return null;let o=a.role===`agent`&&t.index===n.length-1,c=a.streaming||o&&r?`thinking`:o&&!a.error?`waiting`:`idle`,l=Ye(a,o,i);return(0,K.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full rounded-[var(--r-sm)] ${a.turnBoundaryEntryId===g?`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":a.turnBoundaryEntryId===g?a.turnBoundaryEntryId:void 0,"data-pisper-virtual-item":a.id,ref:C.measureElement,style:{top:`${t.start-b}px`},children:(0,K.jsx)(hn,{sessionId:e,message:a,agentState:c,showRunActivity:!!l,runProps:l,cwd:s,sessionStreaming:r,onBranchFromHere:f,onCreateChildSession:p,retryUserMessageId:o?y[t.index]:void 0,hideErrorNotice:o&&!!a.error,onRetryLastTurn:m})},t.key)})})});function bn(e){let t=e.getHours();return t>=5&&t<9?0:t>=9&&t<12?1:t>=12&&t<14?2:t>=14&&t<18?3:t>=18&&t<23?4:5}function xn(e){for(let t of[5,9,12,14,18,23,29]){let n=new Date(e);if(n.setHours(t,0,0,0),n.getTime()>e.getTime())return n.getTime()-e.getTime()}return 6e4}function Sn(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?30:Math.max(20,Math.min(30,Math.floor(30*e/t)))}function Cn(){let{t:e}=a(),[t,n]=(0,G.useState)(()=>new Date),[r,i]=(0,G.useState)(30),o=(0,G.useRef)(null),s=(0,G.useRef)(null),c=[e(`chat:workbench.morningEarly`),e(`chat:workbench.morning`),e(`chat:workbench.noon`),e(`chat:workbench.afternoon`),e(`chat:workbench.evening`),e(`chat:workbench.lateNight`)][bn(t)];return(0,G.useEffect)(()=>{let e=window.setTimeout(()=>n(new Date),xn(t)),r=()=>n(new Date);return window.addEventListener(`focus`,r),()=>{window.clearTimeout(e),window.removeEventListener(`focus`,r)}},[t]),(0,G.useLayoutEffect)(()=>{let e=o.current,t=s.current;if(!e||!t)return;let n=()=>i(Sn(e.clientWidth-32,t.getBoundingClientRect().width));n();let r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[c]),(0,K.jsxs)(`div`,{className:`relative mx-auto translate-y-10 max-[650px]:translate-y-0 flex w-full max-w-2xl items-center justify-center text-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none`,"data-testid":`workbench-greeting`,children:[(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1/2 left-1/2 -mt-10 max-[650px]:mt-0 aspect-[5/4] w-[min(72vw,25rem)] -translate-x-1/2 -translate-y-1/2 text-foreground/40`,children:(0,K.jsx)(`svg`,{"data-brand":`Pisper`,className:`h-full w-full opacity-70 [mask-image:linear-gradient(to_bottom,black_0%,transparent_70%)] [-webkit-mask-image:linear-gradient(to_bottom,black_0%,transparent_70%)]`,width:`400`,height:`320`,viewBox:`0 0 400 320`,fill:`none`,children:(0,K.jsx)(`path`,{d:`M88 319V1h135c76 0 121 43 121 110s-45 111-121 111h-76v97H88Zm59-153h72c43 0 65-19 65-55s-22-54-65-54h-72v109Z`,stroke:`currentColor`})})}),(0,K.jsxs)(`h1`,{ref:o,style:{fontSize:r},className:`relative z-10 m-0 w-full px-4 text-center leading-[1.2] font-medium`,children:[(0,K.jsx)(`span`,{ref:s,"aria-hidden":`true`,className:`pointer-events-none invisible absolute text-3xl leading-[1.2] whitespace-nowrap`,children:c}),(0,K.jsx)(`span`,{children:c})]})]})}function wn({label:e}){return(0,K.jsxs)(`div`,{className:`session-history-loading grid min-h-[100%] place-content-center justify-items-center gap-[24px] text-[var(--text-muted)] [animation:transcript-stage-enter_.18s_var(--ease-out)_both]`,role:`status`,"aria-live":`polite`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-[10px]`,children:[(0,K.jsx)(`span`,{className:`grid h-[34px] w-[34px] place-items-center rounded-[11px] border border-[color-mix(in_srgb,#A855F7_24%,var(--stroke))] bg-[var(--solid)] shadow-[var(--sh-1)]`,children:(0,K.jsx)(De,{size:19})}),(0,K.jsx)(`strong`,{className:`text-[13px] font-medium text-[var(--text-soft)]`,children:e}),(0,K.jsxs)(`span`,{className:`flex items-end gap-[3px] pb-[3px]`,"aria-hidden":`true`,children:[(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_infinite]`}),(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.16s_infinite]`}),(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.32s_infinite]`})]})]}),(0,K.jsxs)(`div`,{className:`grid w-[min(560px,78vw)] gap-[12px]`,"aria-hidden":`true`,children:[(0,K.jsx)(`div`,{className:`h-[52px] w-[68%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_infinite]`}),(0,K.jsx)(`div`,{className:`h-[40px] w-[46%] justify-self-end rounded-[16px_16px_5px_16px] bg-[var(--user-bubble-bg)] opacity-[.14] [animation:agent-message-pulse_1.9s_ease-in-out_.25s_infinite]`}),(0,K.jsx)(`div`,{className:`h-[46px] w-[58%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_.5s_infinite]`})]})]})}function Tn({sessionId:e,emptyState:t,messages:n,layoutMeasurementKey:r,transcriptLoadState:i=`ready`,messageStart:o,hasOlder:s,loadingOlder:c,olderError:l,currentActivity:u,team:d,activityFeed:p,tools:m,thinkingText:h,compaction:g,streaming:_,runStartedAt:v,lastActivityAt:y,runFinishedAt:b,runStopped:x,runNotice:S,error:C,scrollRequest:w,cwd:T,lineage:E,onLoadOlder:D,onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A}){let{t:j}=a(),M=(0,G.useRef)(null),N=(0,G.useRef)(null),[P,F]=(0,G.useState)(()=>xe(e)),I=n[n.length-1],L=Math.floor((I?.text?.length||0)/64),R=ut(p),ee=Math.floor(String(h||``).length/128),{scrollRef:B,scrollElement:te,setScrollRef:ne,hasUnread:re,scrollToBottom:ie,maintainBottom:ae,pauseFollowing:oe}=yt(`${e}:${I?.id||``}:${L}:${ee}:${I?.attachments?.length||0}:${R}:${g?.status||``}:${g?.finishedAt||``}:${C||``}:${_?`1`:`0`}`,{resetKey:`${e}:${i}`}),se=(0,G.useMemo)(()=>({streaming:_,text:I?.role===`agent`?I.text:``,currentActivity:u,team:d,activityFeed:p,tools:m,thinkingText:h,compaction:g,error:C||(I?.role===`agent`?I.error:``),stopped:x,notice:S,startedAt:v,lastActivityAt:y,finishedAt:b}),[_,I,u,d,p,m,h,g,C,x,S,v,y,b]),V=(0,G.useCallback)(async()=>{let e=B.current;!e||!s||c||M.current||(oe(),M.current={scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},await D?.()||(M.current=null))},[s,c,D,oe,B]),U=(0,G.useCallback)(e=>{e.currentTarget.scrollTop<=96&&V()},[V]);return(0,G.useLayoutEffect)(()=>{let e=M.current,t=B.current;!e||!t||(t.scrollTop=xt(e,t.scrollHeight),M.current=null)},[o,B]),(0,G.useEffect)(()=>{F(xe(e));let t=t=>{let n=t.detail;n?.sessionId===e&&n.targetEntryId&&F(n.targetEntryId)};return window.addEventListener(ye,t),()=>window.removeEventListener(ye,t)},[e]),(0,G.useEffect)(()=>{if(!(!P||o==null)&&!n.some(e=>e.turnBoundaryEntryId===P)&&!c){if(s){V();return}be(e,P),F(``)}},[s,V,c,o,n,e,P]),(0,G.useEffect)(()=>{w&&ie(`smooth`)},[w,ie]),(0,K.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`transcript [.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":i,"aria-busy":i===`loading`,ref:ne,onScroll:U,tabIndex:0,children:[(0,K.jsxs)(`div`,{className:`[display:flow-root] w-full`,ref:N,children:[E?.parentSessionId&&(0,K.jsxs)(`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] session-lineage`,"data-pisper-parent-session":E.parentSessionId,children:[(0,K.jsx)(Ae,{size:13}),(0,K.jsx)(`span`,{children:j(`chat:focusSession.derivedFromSession`,{name:E.sourceSessionName||j(`chat:focusSession.unknownSourceSession`)})})]}),(s||c||l)&&(0,K.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:l?(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:V,children:[(0,K.jsx)(z,{size:13}),j(`chat:focusSession.retryOlderMessages`)]}):c?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(z,{className:`animate-spin`,size:14}),j(`chat:focusSession.loadingOlderMessages`)]}):(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:V,children:[(0,K.jsx)(f,{className:`history-up-arrow [.history-page-loader_&]:[transform:rotate(180deg)]`,size:14}),j(`chat:focusSession.loadOlderMessages`)]})})]}),i===`loading`&&(0,K.jsx)(wn,{label:j(`chat:focusSession.loadingConversationHistory`)}),i===`ready`&&!n.length&&(t??(0,K.jsx)(`div`,{className:`agent-welcome relative grid min-h-full place-content-center justify-items-center text-center text-muted-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none [[data-mobile-keyboard-transition='closing']_&]:pointer-events-none`,children:(0,K.jsx)(Cn,{})})),i===`ready`&&n.length>0&&(0,K.jsx)(`div`,{className:`[animation:transcript-reveal-enter_.22s_var(--ease-out)_both]`,children:(0,K.jsx)(yn,{layoutMeasurementKey:r,sessionId:e,messages:n,streaming:_,latestRunProps:se,scrollElement:te,prefixRef:N,cwd:T,targetEntryId:P,onContentSizeChange:ae,onTargetScroll:oe,onTargetLocated:t=>{be(e,t),F(``)},onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A},e)})]}),re&&(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-[6px] z-[5] flex justify-center`,children:(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`pointer-events-auto bg-surface-subtle min-h-[32px] [border-color:var(--accent-border)] text-[var(--star-strong)] shadow-[0_8px_18px_-14px_var(--shadow)]`,onClick:()=>ie(`smooth`),children:[(0,K.jsx)(f,{size:14}),j(`chat:focusSession.newContent`)]})})]})}(0,G.lazy)(()=>t(()=>import(`./ClickSpark-DmnEAJNI.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([7,1,2,3,4,6])));var En=(0,G.createContext)(null),Dn=({className:e,approval:t,state:n,...r})=>{let i=(0,G.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,K.jsx)(En.Provider,{value:i,children:(0,K.jsx)(ce,{className:S(`flex flex-col gap-2`,e),...r})})};function On({approvals:e,onResolve:t,compact:n=!1}){let{t:r}=a(),[i,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)(!1),l=(0,G.useRef)(!1),u=e[0];if((0,G.useEffect)(()=>c(!1),[u?.id]),!u)return null;let d=u.fileChange,f=typeof d?.diff==`string`?d.diff:``,p=async e=>{if(!l.current){l.current=!0,o(!0);try{await t(u.id,e)}finally{l.current=!1,o(!1)}}};return(0,K.jsxs)(Dn,{approval:{id:u.id},state:`approval-requested`,className:`tool-approval [&_>_div:first-child]:flex [&_>_div:first-child]:min-w-0 [&_>_div:first-child]:items-center [&_>_div:first-child]:gap-[8px] [&_>_div:first-child_>_span]:flex [&_>_div:first-child_>_span]:min-w-0 [&_>_div:first-child_>_span]:flex-col [&_>_div:first-child_>_span]:gap-[2px] [&_strong]:text-[13px] [&_small]:overflow-hidden [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_details]:min-w-0 [&_details]:text-[13px] [&_summary]:cursor-pointer [&_pre]:max-h-[130px] [&_pre]:overflow-auto [&_pre]:mt-[6px] [&_pre]:rounded-[var(--r-xs)] [&_pre]:bg-[var(--warning-code-bg)] [&_pre]:text-[var(--warning-soft)] [&_pre]:p-[8px] [&_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_pre]:text-[13px] [&_pre]:whitespace-pre-wrap [&.compact]:grid-cols-[minmax(0,1fr)_auto] [&.compact]:p-[6px_7px] [&.compact_strong]:text-[13px] [&.compact_small]:text-[13px] grid grid-cols-[minmax(0,1fr)_auto] items-center gap-[8px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--warning-soft)] text-[var(--warning-strong)] [padding:9px_10px] ${n?`compact`:``}`,"data-pisper-approval-id":u.id,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(te,{size:n?12:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:r(`chat:focusSession.toolRequestsApproval`,{tool:u.toolName})}),(0,K.jsxs)(`small`,{children:[u.reason,e.length>1?` · ${r(`chat:focusSession.countMoreWaiting`,{count:e.length-1})}`:``]})]})]}),!n&&(0,K.jsxs)(`div`,{className:`flex [grid-column:1/-1] items-center gap-[10px]`,children:[f&&(0,K.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff hover:border-[var(--accent-border)] hover:bg-[var(--accent-soft)] hover:text-[var(--star-strong)] inline-flex min-h-[28px] flex-none items-center gap-[6px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--surface-muted)] [padding:4px_7px] text-[var(--text-secondary)] text-[12px] font-[600] cursor-pointer`,onClick:()=>c(!0),children:[(0,K.jsx)(N,{size:13}),r(`chat:focusSession.gitViewDiff`)]}),(0,K.jsxs)(`details`,{children:[(0,K.jsx)(`summary`,{children:r(`chat:focusSession.viewCallArguments`)}),(0,K.jsx)(`pre`,{children:JSON.stringify(u.args,null,2)})]})]}),(0,K.jsxs)(`div`,{className:`flex gap-[5px]`,children:[(0,K.jsx)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:i,onClick:()=>p(!1),children:r(`chat:focusSession.deny`)}),(0,K.jsxs)(H,{type:`button`,size:`lg`,disabled:i,onClick:()=>p(!0),children:[i?(0,K.jsx)(z,{className:`animate-spin`,size:12}):(0,K.jsx)(w,{size:12}),r(`chat:focusSession.allow`)]})]}),s&&(0,K.jsx)(ke,{diff:f,truncated:!!d?.truncated,onClose:()=>c(!1)})]})}function kn(e,t){return e?.streaming?!0:!e?.loaded&&!!t?.streaming}var An={session:null,expiresAt:null,created:!1,loading:!1,error:``,draft:``,expired:!1},jn=(0,G.createContext)(null);function Mn(e){let t=(0,G.useContext)(jn);if(!t)throw Error(`Side chat requires its runtime provider`);return{...t,entry:t.entries[e]??An}}export{Ie as C,Pe as D,Fe as E,Ne as O,qe as S,q as T,He as _,On as a,Ge as b,sn as c,pt as d,mt as f,Be as g,$e as h,kn as i,je as k,Xt as l,ot as m,jn as n,Tn as o,ht as p,Mn as r,Z as s,An as t,_t as u,Ke as v,J as w,Xe as x,Ze as y};
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,n as r,r as i}from"./vendor-react-DwNgTV1j.js";import{t as a}from"./use-i18n-C7st2Mx5.js";import{n as o,r as s,t as c}from"./collapsible-C__hRcbA.js";import{a as l,i as u,n as d,r as f,s as p,t as m}from"./popover-BgmMy1PJ.js";import{i as h,n as g,r as _,t as v}from"./tabs-DQYVDdOp.js";import{i as y,n as b,t as x}from"./tooltip-Bxq7c2mZ.js";import{t as S}from"./utils-C8uzG5AZ.js";import{t as C}from"./createLucideIcon-Cd-3GVxJ.js";import{t as w}from"./check-2vYc6QaP.js";import{t as T}from"./chevron-down-CxtxIjiP.js";import{t as E}from"./chevron-right-C3t2Rckj.js";import{t as D}from"./circle-dot-nVrXgDaG.js";import{t as O}from"./clock-3-CBHGbD_G.js";import{t as k}from"./code-xml-BrUXrBax.js";import{t as A}from"./download-BCfIiuaL.js";import{n as j,t as M}from"./shield-alert-CvFOTe9h.js";import{t as N}from"./file-diff-GxOMJkLj.js";import{t as P}from"./file-Bllajneu.js";import{t as F}from"./folder-open-FIShC5Qk.js";import{t as I}from"./info-DATxy0fb.js";import{t as L}from"./list-checks-B5Jl4aiO.js";import{t as R}from"./loader-circle-BOwQzHB-.js";import{t as ee}from"./monitor-ORxecA9m.js";import{t as z}from"./refresh-cw-TbWxTY4K.js";import{t as B}from"./rotate-ccw-C0v8V77_.js";import{t as te}from"./shield-check-Gvek4RJ7.js";import{t as ne}from"./square-bHHVTT3G.js";import{t as re}from"./tag-CqkeJlBf.js";import{t as ie}from"./trash-2-CNrPOoPR.js";import{t as ae}from"./triangle-alert-CE1q54ci.js";import{t as oe}from"./undo-2-CJE_nRTk.js";import{t as se}from"./x-07u4-129.js";import{t as V}from"./api-DmuPqjXK.js";import{t as H}from"./button-CQA36izu.js";import{t as U}from"./chat-api-cEcUMaNX.js";import{t as ce}from"./alert-QoPGoIY6.js";import{i as le,n as ue,o as de,r as fe,s as pe,t as me}from"./dialog-D-ER2p-D.js";import{t as he}from"./input-CvjGYteF.js";import{n as ge,t as _e}from"./format-BRFKAYMT.js";import{t as ve}from"./card-BdUpL1KB.js";import{a as ye,c as be,d as xe}from"./events-DjkpUZEu.js";import{t as Se}from"./vendor-motion-DSW3wzXK.js";import{i as Ce,n as we,r as Te,t as W}from"./MarkdownMessage-DeTzbwid.js";import{t as Ee}from"./route-context-DvWDul4T.js";import{r as De}from"./web-preview-B7L-G6kp.js";import{r as Oe,t as ke}from"./GitDiffViewer-91SrTCWo.js";var Ae=C(`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`}]]),je=C(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Me=C(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),Ne=C(`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`}]]),Pe=C(`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`}]]),G=e(n(),1),K=i();function q(e){if(!(!e||typeof e!=`object`)){if(Object.hasOwn(e,`plan`))return e.plan??null;if(Object.hasOwn(e,`taskList`))return e.taskList??null}}function Fe(e,t){let n=q(e);return n===void 0?t:n}function Ie(e){return e===`plan_update`||e===`task_list_update`}function Le(e){return e===`get_plan`||e===`get_task_list`}function J(e){return e===`update_plan`||e===`update_task_list`}function Re(e){return Le(e)||J(e)}function ze(e){return q(e)}var Be=Object.freeze({messages:[],tools:[],approvals:[],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 Ve(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 He(e,t){let n=e||Be,r=typeof t==`function`?t(n):{...n,...t};return Ve(n,r)?r:n}function Ue(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function We(e,t){return Number.isSafeInteger(e.queueRevision)&&Number.isSafeInteger(t.queueRevision)&&t.queueRevision<e.queueRevision}function Ge(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(We(e,t))return{...e,messages:i,withdrawnInputIds:n};let a=Ue(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 Ke(e=[],t){let n=Array.isArray(e)?e:[],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 qe(e){return!!(e?.streaming||e?.recovering||e?.pendingRuntimeSelection||e?.switchingModel||e?.switchingThinking||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function Je(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 Ye(e,t,n){return t&&Je(n)?n:Je(e.runActivity)?e.runActivity:null}function Xe(e,t){if(e&&(e.loaded||e.streaming||q(e)!==void 0))return Fe(e,null);let n=q(t);return n===void 0?Fe(e,null):n}function Ze(e,t={}){return!!e?.items?.length}var Qe=e(r(),1);function $e({error:e,title:t,pending:n=!1,onRetry:r,className:i}){let{t:l}=a(),[u,d]=(0,G.useState)(!1),[f,p]=(0,G.useState)(!1),m=n?R:I;return(0,K.jsx)(ce,{role:`group`,className:S(`min-w-0 border-[var(--stroke-soft)] bg-[var(--surface-subtle)] px-3 py-2.5 text-[var(--text-secondary)]`,i),children:(0,K.jsxs)(c,{open:u,onOpenChange:d,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,K.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[(0,K.jsx)(m,{"aria-hidden":`true`,className:S(`size-4 shrink-0 text-[var(--text-muted)]`,n&&`animate-spin motion-reduce:animate-none`)}),(0,K.jsx)(`span`,{children:t||l(`chat:requestNotice.incomplete`)})]}),r&&(0,K.jsxs)(H,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-secondary)]`,disabled:n||f,onClick:async()=>{if(!f){p(!0);try{await r()}catch{}finally{p(!1)}}},children:[(0,K.jsx)(B,{"aria-hidden":`true`,className:S(`size-3.5`,f&&`animate-spin`)}),l(`chat:chatMessage.retry`)]}),e&&(0,K.jsx)(s,{asChild:!0,children:(0,K.jsxs)(H,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-muted)]`,children:[l(u?`chat:requestNotice.hideDetails`:`chat:requestNotice.showDetails`),(0,K.jsx)(T,{"aria-hidden":`true`,className:S(`size-3 transition-transform`,u&&`rotate-180`)})]})})]}),(0,K.jsx)(o,{children:(0,K.jsx)(`pre`,{tabIndex:0,"aria-label":l(`chat:requestNotice.details`),className:`mt-2 max-h-48 overflow-auto rounded-md border border-[var(--stroke-soft)] bg-[var(--surface-muted)] p-3 text-xs leading-relaxed whitespace-pre-wrap [overflow-wrap:anywhere] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,children:e})})]})})}var et={completed:`completed`,in_progress:`running`,blocked:`blocked`,pending:`pending`};function tt(e){let t=new Map(e.map(e=>[String(e.id||``),e])),n=e=>e?.status===`completed`;return e.map(e=>{let r=String(e.id||``),i=(Array.isArray(e.dependsOn)?e.dependsOn:[]).map(e=>t.get(String(e))).filter(e=>!!e&&!n(e)),a=e.status!==`completed`&&(e.status===`blocked`||i.length>0);return{...e,id:r,blocked:a,blockedBy:i}})}function nt(e){return e===`completed`?w:e===`in_progress`?D:e===`blocked`?Me:D}function rt({status:e,t}){let n=nt(e),r=t(e===`completed`?`chat:planBoard.completed`:e===`in_progress`?`chat:planBoard.inProgress`:e===`blocked`?`chat:planBoard.blocked`:`chat:planBoard.pending`);return(0,K.jsxs)(`span`,{className:`plan-board-status [&.completed]:text-[var(--success)] [&.running]:text-[var(--star-strong)] inline-flex items-center gap-[4px] flex-none text-[11px] text-[var(--text-muted)] ${et[String(e)]||`pending`}`,children:[(0,K.jsx)(n,{size:12}),r]})}function it({item:e,current:t,t:n}){return(0,K.jsxs)(`li`,{className:`plan-board-row flex flex-col gap-[2px] [padding:5px_6px] rounded-[var(--r-sm)] ${e.blocked?`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`:``}`,"aria-current":t?`step`:void 0,"data-pisper-plan-current":t?`true`:void 0,"data-pisper-plan-id":e.id,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-[8px] min-w-0`,children:[(0,K.jsx)(rt,{status:e.blocked?`blocked`:e.status,t:n}),(0,K.jsx)(`span`,{className:`flex-1 min-w-0 overflow-hidden text-[var(--text)] text-[13px] text-ellipsis whitespace-nowrap`,title:e.title,children:e.title}),e.assignee?(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-[4px] flex-none [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[var(--stroke-soft)] [padding:1px_8px] text-[var(--text-secondary)] text-[11px] whitespace-nowrap`,title:n(`chat:planBoard.assignedTo`,{name:e.assignee}),children:[(0,K.jsx)(Pe,{size:11}),e.assignee]}):e.status!==`completed`&&(0,K.jsx)(`span`,{className:`flex-none text-[var(--text-muted)] text-[11px] [font-style:italic]`,children:n(`chat:planBoard.unassigned`)})]}),e.blockedBy.length>0&&(0,K.jsxs)(`div`,{className:`inline-flex items-center gap-[5px] [padding-left:2px] text-[var(--text-muted)] text-[11px]`,children:[(0,K.jsx)(Me,{size:11}),n(`chat:planBoard.waitingFor`,{tasks:e.blockedBy.map(e=>e.title||e.id).join(` · `)})]})]})}function at({plan:e,header:t,collapsible:n=!1}){let{t:r}=a(),i=(0,G.useRef)(null),[o,s]=(0,G.useState)(!0),c=e?.items||[],l=tt(c),u=l.filter(e=>e.status===`completed`).length,d=l.filter(e=>e.status===`in_progress`&&!e.blocked).length,f=l.filter(e=>e.blocked).length,p=l.find(e=>e.status===`in_progress`&&!e.blocked)?.id??l.find(e=>e.blocked)?.id??l.find(e=>e.status===`pending`)?.id??l.at(-1)?.id;if((0,G.useLayoutEffect)(()=>{if(n&&!o)return;let e=i.current,t=e?.querySelector(`[data-pisper-plan-current="true"]`);if(!e||!t)return;let r=e.getBoundingClientRect(),a=t.getBoundingClientRect();a.top<r.top?e.scrollTop-=r.top-a.top:a.bottom>r.bottom&&(e.scrollTop+=a.bottom-r.bottom)},[n,p,o,l.length]),!c.length)return null;let m=l.find(e=>e.id===p),h=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(L,{className:`flex-none text-[var(--star-strong)]`,size:15}),(0,K.jsx)(`strong`,{children:r(`chat:planBoard.progress`,{completed:u,total:c.length})}),m?(0,K.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden text-[var(--text-secondary)] text-ellipsis whitespace-nowrap`,title:m.title,children:m.title}):null,(0,K.jsxs)(`span`,{className:`plan-board-counts @max-[470px]:hidden inline-flex flex-none items-center gap-[8px]`,children:[d>0&&(0,K.jsx)(`span`,{children:r(`chat:planBoard.countInProgress`,{count:d})}),f>0&&(0,K.jsx)(`span`,{className:`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`,children:r(`chat:planBoard.countBlocked`,{count:f})})]}),t,n?(0,K.jsx)(T,{className:`plan-board-chevron [.plan-board-collapsible[open]_&]:[transform:rotate(180deg)] flex-none [transition:transform_var(--d1)_var(--ease-out)]`,size:15}):null]}),g=(0,K.jsx)(`ul`,{ref:i,className:`plan-board-list [.plan-board-collapsible_>_&]:[border-top:1px_solid_var(--stroke-soft)] [.plan-board-collapsible_>_&]:p-[8px_10px_10px] flex flex-col gap-[2px] m-0 [padding:8px_0_0] [list-style:none]${l.length>4?` is-scrollable [.session-plan-popover_.plan-board-list&]:[block-size:min(250px,38dvh)] [.plan-board-list&]:[block-size:min(220px,34dvh)] [.plan-board-list&]:overflow-y-auto [.plan-board-list&]:[overscroll-behavior:contain] [.plan-board-list&]:pr-[4px] [.plan-board-list&]:[scrollbar-gutter:stable] [.plan-board-list&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-list&:focus-visible]:[outline-offset:2px]`:``}`,tabIndex:l.length>4?0:void 0,children:l.map(e=>(0,K.jsx)(it,{item:e,current:e.id===p,t:r},e.id))});return n?(0,K.jsxs)(`details`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0 plan-board-collapsible !p-0`,open:o,onToggle:e=>s(e.currentTarget.open),children:[(0,K.jsx)(`summary`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,"aria-label":r(`chat:planBoard.toggleAriaLabel`),children:h}),g]}):(0,K.jsxs)(`section`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0`,"aria-label":r(`chat:planBoard.ariaLabel`),children:[(0,K.jsx)(`div`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,children:h}),g]})}var ot=(0,G.memo)(at);function st(e){return e===`queued`?{titleKey:`{name} 等待调度`,tone:`waiting`}:e===`starting`?{titleKey:`{name} 正在启动`,tone:`running`}:e===`running`?{titleKey:`{name} 正在运行`,tone:`running`}:e===`completed`?{titleKey:`{name} 已完成`,tone:`completed`}:e===`interrupted`?{titleKey:`{name} 已中断`,tone:`stopped`}:e===`failed`?{titleKey:`{name} 执行失败`,tone:`failed`}:{titleKey:`{name} 状态已更新`,tone:`waiting`}}function ct(e){let t=typeof e==`string`||typeof e==`number`||e instanceof Date?e:0,n=new Date(t).getTime();return Number.isFinite(n)?n:0}function lt({currentActivity:e,compaction:t,text:n,thinkingText:r,lastActivityAt:i}={}){return t?.active?{type:`compaction`,compaction:t,updatedAt:t.startedAt||i}:e&&[`model`,`compaction`,`retry`].includes(e.type)?e:{type:`model`,stage:e?.type===`tool`?e.status===`running`?`working`:`processing_result`:String(r||``).trim()?`thinking`:String(n||``).trim()?`responding`:`thinking`,updatedAt:e?.updatedAt||i}}function ut(e=[]){return e.map(e=>`${e.type}:${e.id||e.agent?.id||``}:${e.status||e.stage||e.agent?.status||``}`).join(`|`)}function dt(e,t=0){return e.type===`tool`?`tool:${e.id||e.name||t}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||t}:${e.agent?.status||e.status||``}`:e.type===`plan`?`plan:${e.id||ze(e)?.updatedAt||e.updatedAt||t}`:`${e.type||`activity`}:${e.id||e.startedAt||e.createdAt||t}`}function ft(e){return e?.type?e.type===`tool`?`tool:${e.id||e.name||``}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||``}`:e.type===`plan`?`plan:${e.updatedAt||ze(e)?.updatedAt||``}`:e.type===`communication`?`communication:${e.id||``}`:e.type===`model`?`model:${e.stage||``}`:e.type===`compaction`?`compaction:${e.compaction?.status||e.compaction?.active||``}`:`${e.type}:${e.id||e.updatedAt||``}`:``}function pt(e,t){let n=new Map((e?.items||[]).map(e=>[String(e.id||``),e])),r=new Map((t?.items||[]).map(e=>[String(e.id||``),e])),i=[];for(let e of r.values()){let t=n.get(String(e.id||``));t?(t.status!==e.status||t.title!==e.title||t.note!==e.note)&&i.push({id:e.id,title:e.title,status:e.status,previousStatus:t.status,kind:`updated`}):i.push({id:e.id,title:e.title,status:e.status,kind:`added`})}for(let e of n.values())r.has(String(e.id||``))||i.push({id:e.id,title:e.title,status:e.status,kind:`removed`});return i}function mt(e=[],t,n=6){let r=Array.isArray(e)?e:[];if(![`tool`,`plan`,`agent`,`communication`].includes(t?.type))return r;let i=[...r];t.type===`plan`&&(i=i.filter(e=>e?.type!==`tool`||!Re(e.name))),t.type===`agent`&&(i=i.filter(e=>e?.type!==`tool`||![`spawn_agent`,`list_agents`,`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e.name)));let a=ft(t),o=i.findIndex(e=>ft(e)===a);return o>=0?i[o]={...i[o],...t}:i.push(t),i.slice(-Math.max(1,Number(n)||6))}function ht(e=[],{finishedAt:t=new Date().toISOString(),error:n=``}={}){return e.map(e=>e?.status===`running`?{...e,status:n?`error`:`done`,message:n||e.message||``,updatedAt:t,finishedAt:t}:e)}function gt(e,t,n=Date.now()){let r=ct(e);if(!r)return 0;let i=ct(t)||n;return Math.max(0,i-r)}function _t(e,t=`zh-CN`){let n=Math.max(0,Math.round(Number(e)||0));if(n<1e3)return t===`en-US`?`${n}ms`:`${n} 毫秒`;let r=Math.floor(n/1e3);if(r<60)return t===`en-US`?`${r}s`:`${r} 秒`;let i=Math.floor(r/60),a=r%60;return i<60?`${i}:${String(a).padStart(2,`0`)}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function vt(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=e=>{u!==e&&(u=e,n(e))},S=()=>{p!==null&&i(p),p=null},C=()=>{f!==null&&i(f),f=null,m=null,S(),g=!1,h=e.scrollTop},w=()=>{S(),g=!0},T=()=>{S(),p=r(()=>{p=r(()=>{if(p=null,l&&!b()&&Math.abs(y()-e.scrollTop)>1){O();return}g=!1,h=e.scrollTop})})},E=t=>{e.scrollTo({top:t,behavior:`instant`}),h=e.scrollTop},D=t=>{if(f=null,d||!l||b())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&&E(n),m=null,T();return}E(e.scrollTop+Math.sign(i)*Math.min(Math.abs(i),Math.max(1,Math.abs(i)*o))),f=r(D)},O=()=>{d||!l||b()||(w(),f===null&&(f=r(D)))},k=()=>{d||(l=!1,C())},A=()=>{l=!0,x(!1),O()},j=()=>{let n=e.scrollTop-h;h=e.scrollTop,!(g||d)&&(n<-.5?k():n>.5&&y()-e.scrollTop<=t&&A())},M=t=>{t.ctrlKey||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.deltaY<0?k():t.deltaY>0&&y()-e.scrollTop<=1&&A())},N=e=>{let t=e.touches[0];t&&(v={x:t.clientX,y:t.clientY},C())},P=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)&&k(),v={x:t.clientX,y:t.clientY})},F=()=>{v=null,O()},I=e=>{e.pointerType===`touch`||e.button>1||(_=!0,C())},L=()=>{_&&(_=!1,O())},R=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)&&k()};e.addEventListener(`scroll`,j,{passive:!0}),e.addEventListener(`wheel`,M,{passive:!0}),e.addEventListener(`touchstart`,N,{passive:!0}),e.addEventListener(`touchmove`,P,{passive:!0}),e.addEventListener(`touchend`,F,{passive:!0}),e.addEventListener(`touchcancel`,F,{passive:!0}),e.addEventListener(`pointerdown`,I,{passive:!0}),e.addEventListener(`keydown`,R),o.addEventListener(`pointerup`,L,{passive:!0}),o.addEventListener(`pointercancel`,L,{passive:!0}),s?.addEventListener?.(`change`,O);let ee=typeof ResizeObserver>`u`?null:new ResizeObserver(O);return ee?.observe(e),{maintainBottom:O,pauseFollowing:k,contentChanged(){d||(l?O():x(!0))},scrollToBottom(e=`auto`){d||(C(),l=!0,x(!1),e===`smooth`?O():(w(),E(y()),T()))},dispose(){d=!0,C(),ee?.disconnect(),e.removeEventListener(`scroll`,j),e.removeEventListener(`wheel`,M),e.removeEventListener(`touchstart`,N),e.removeEventListener(`touchmove`,P),e.removeEventListener(`touchend`,F),e.removeEventListener(`touchcancel`,F),e.removeEventListener(`pointerdown`,I),e.removeEventListener(`keydown`,R),o.removeEventListener(`pointerup`,L),o.removeEventListener(`pointercancel`,L),s?.removeEventListener?.(`change`,O)}}}function yt(e,{threshold:t=64,resetKey:n}={}){let r=(0,G.useRef)(null),[i,a]=(0,G.useState)(null),[o,s]=(0,G.useState)(!1),c=(0,G.useRef)(null),l=(0,G.useCallback)(e=>{r.current=e,a(e)},[]);return(0,G.useLayoutEffect)(()=>{if(!i)return;let e=vt(i,{threshold:t,onUnreadChange:s});return c.current=e,s(!1),e.scrollToBottom(),()=>{e.dispose(),c.current=null}},[n,i,t]),(0,G.useEffect)(()=>{c.current?.contentChanged()},[e]),{scrollRef:r,scrollElement:i,setScrollRef:l,hasUnread:o,scrollToBottom:(0,G.useCallback)((e=`auto`)=>{c.current?.scrollToBottom(e)},[]),maintainBottom:(0,G.useCallback)(()=>{c.current?.maintainBottom()},[]),pauseFollowing:(0,G.useCallback)(()=>{c.current?.pauseFollowing()},[])}}function bt(e){return(e||0)>0&&Number(e)<650?260:164}function xt(e,t){return e.scrollTop+t-e.scrollHeight}var St=new Map,Ct=e=>{let t=St.get(e);return t||(t=Se.create(e),St.set(e,t)),t};(0,G.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=Ct(t),o=(0,G.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,K.jsx)(a,{animate:{backgroundPosition:`0% center`},className:S(`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 wt=(0,G.createContext)(null),Tt=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,G.useMemo)(()=>({isStreaming:t}),[t]);return(0,K.jsx)(wt.Provider,{value:i,children:(0,K.jsx)(c,{asChild:!0,"data-slot":`plan`,...r,children:(0,K.jsx)(ve,{className:S(`shadow-none`,e),children:n})})})},Et=({defaultOpen:e=!0,className:t,...n})=>(0,K.jsx)(c,{className:S(t),defaultOpen:e,...n}),Dt=4e3,Ot=`… earlier output omitted …`;function kt(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 At(e,t=Dt){let n=String(e||``),r=Math.max(1,Math.floor(Number(t)||4e3));if(n.length<=r)return{text:kt(n),truncated:!1};let i=n.slice(-r),a=i.indexOf(`
|
|
3
|
+
`);return a>=0&&a<Math.floor(r/3)&&(i=i.slice(a+1)),{text:kt(`${Ot}\n${i}`),truncated:!0}}function jt(){let e=globalThis.pisperDesktop;return e?.computerUseStartStream?e:null}function Mt({target:e,fallbackImage:t,streaming:n}){let{t:r}=a(),i=Number(e.target?.windowId)||0,[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(`connecting`),[u,d]=(0,G.useState)(!1),f=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!n)return;let e=jt();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,G.useEffect)(()=>{if(!n||!i)return;let e=jt();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}`,s({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=o?.url||(t?.url?String(t.url):``),m=String(e.target?.windowTitle||e.target?.app||``),h=c===`live`,g=(0,G.useMemo)(()=>`${o?.width||16} / ${o?.height||10}`,[o?.width,o?.height]);return(0,K.jsxs)(`div`,{className:`computer-use-live-mirror w-full overflow-hidden rounded-[var(--r-md)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [margin:2px_0]`,"data-pisper-live-mirror":h?`live`:c,children:[p?(0,K.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,K.jsx)(`div`,{className:`computer-use-live-placeholder grid min-h-[84px] w-full place-items-center text-[12px] text-[var(--text-muted)]`,style:{aspectRatio:g},children:r(`chat:computerUseLive.waitingForFirstFrame`)}),u?(0,K.jsxs)(`div`,{className:`flex items-center gap-[6px] bg-[var(--warning-soft)] px-[8px] py-[4px] text-[11px] text-[var(--warning-strong)]`,"data-pisper-secure-input":`active`,children:[(0,K.jsx)(M,{size:12,className:`flex-none`}),(0,K.jsx)(`span`,{className:`min-w-0`,children:r(`chat:computerUseLive.secureInput`)})]}):null,(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-[8px] px-[8px] py-[4px] text-[11px] text-[var(--text-muted)]`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px]`,children:[(0,K.jsx)(ee,{size:12}),(0,K.jsx)(`span`,{className:`truncate`,title:m,children:m||r(`chat:computerUseLive.appWindow`)})]}),(0,K.jsx)(`span`,{className:h?`text-[var(--brand-blue-strong)]`:`text-[var(--text-tertiary)]`,"data-pisper-live-mirror-status":c,children:r(h?`chat:computerUseLive.live`:c===`connecting`?`chat:computerUseLive.connecting`:`chat:computerUseLive.staticPreview`)})]})]})}var Nt=(0,G.memo)(Mt),Pt=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 Ft(e){return Pt.has(String(e||``))}function It(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`tool`&&Ft(n.name)&&Number(n.target?.windowId)>0)return n}return null}function Lt(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===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):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`):Le(e)?t(`chat:agentRunActivity.readingPlan`):J(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 Rt(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===`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`):J(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function zt(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 Bt(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 Vt(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 Ht(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:ge(e.tokensBefore),after:ge(e.estimatedTokensAfter)}):t(`chat:agentRunActivity.summarizingOlderMessages`)}var Y=[],Ut=`agent-run-status-icon [.agent-thinking-window.running_&]:text-[var(--brand-blue-strong)] [.agent-run-summary.completed_&]:text-[var(--success)] [.agent-run-summary.plan_&]:text-[var(--success)] [.agent-run-overview.completed_&]:text-[var(--success)] [.agent-run-overview.plan_&]:text-[var(--success)] [.agent-run-summary.compacting_&]:text-[var(--star-strong)] [.agent-run-overview.compacting_&]:text-[var(--star-strong)] [.agent-run-summary.failed_&]:text-[var(--text-muted)] [.agent-run-overview.failed_&]:text-[var(--text-muted)] [.agent-run-summary.stopped_&]:text-[var(--text-muted)] [.agent-run-overview.stopped_&]:text-[var(--text-muted)] [.agent-run-activity.compact_&]:w-[24px] [.agent-run-activity.compact_&]:h-[24px] grid w-[28px] h-[28px] place-items-center text-[var(--brand-blue-strong)]`,Wt=(0,G.lazy)(()=>t(()=>import(`./AnimatedList-D8fxDNGr.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([0,1,2,3,4,5,6])));function Gt(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 Kt(e){let[t,n]=(0,G.useState)(()=>Date.now());return(0,G.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function qt({startedAt:e,finishedAt:t,streaming:n,language:r}){let i=_t(gt(e,t,Kt(n)),r);return(0,K.jsxs)(`span`,{className:`agent-run-duration inline-flex items-center gap-[4px] pt-[3px] text-[var(--text-muted)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] text-[11px] whitespace-nowrap [.agent-run-activity.compact_&]:text-[10px]`,children:[(0,K.jsx)(O,{size:12}),i]})}function X(e){return String(e||``).replace(/\s+/g,` `).trim()}function Jt(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:X(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${X(t.pattern)}”`:``,X(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[X(t.pattern),X(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[X(t.action),X(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`observe_ui`?{text:X(t.root||t.mode)}:e?.name===`act_ui`?{text:Array.isArray(t.actions)?t.actions.slice(0,3).map(e=>X(e?.action)).filter(Boolean).join(` · `):``}:e?.name===`search_ui`?{text:X(t.text||t.role)}:e?.name===`find_roots`?{text:X(t.app||t.text)}:e?.name===`ocr_ui`?{text:X(t.language)}:e?.name===`spawn_agent`?{text:X(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:X(t.target)}:e?.name===`generate_visual`?{text:X(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:X(t.query)}:{text:``}}function Yt(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,_=Y;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:Lt(e.name,t)}):r?Rt(e.name,t):Lt(e.name,t);let i=Jt(e);p=i.text,h=!!i.command,m=X(e.message)}else if(e.type===`plan`){d=`plan`;let n=ze(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||Y,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):Bt(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=X(n.taskName)||t(`chat:agentRunActivity.subagent`),i=st(n.status);f=zt(n.status,r,t),d=i.tone,p=(n.currentActivity?.type===`tool`?Jt(n.currentActivity).text||n.currentActivity.name:``)||X(n.error||n.message),m=n.status===`running`?X(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=X(n.message)}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=Ht(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=X(i)),String(i||``).trim()&&(p=X(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}function Xt({streaming:e,text:t,currentActivity:n,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c},l){return e?Yt(lt({currentActivity:n,compaction:i,text:t,thinkingText:r,lastActivityAt:c}),{t:l,streaming:e,text:t,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c,now:Date.now()}).title:``}function Zt({tone:e}){return e===`failed`?(0,K.jsx)(ae,{size:14}):e===`stopped`?(0,K.jsx)(ne,{size:12}):[`completed`,`plan`].includes(e)?(0,K.jsx)(w,{size:14}):(0,K.jsx)(`i`,{className:`agent-activity-dot`,"aria-hidden":`true`})}function Qt({activity:e,className:t,children:n}){return e.type===`tool`?(0,K.jsx)(`div`,{className:t,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,K.jsx)(Tt,{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,K.jsx)(Et,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,K.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}function $t({output:e,streaming:t,t:n}){let r=At(e),i=(0,G.useRef)(null);return(0,G.useEffect)(()=>{if(!t)return;let e=window.requestAnimationFrame(()=>{let e=i.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[r.text,t]),r.text.trim()?(0,K.jsxs)(`details`,{className:`agent-run-command-output [.agent-run-feed:has(&[open])]:max-h-[320px] [&_>_summary]:grid [&_>_summary]:min-h-[30px] [&_>_summary]:grid-cols-[auto_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[7px] [&_>_summary]:[list-style:none] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:text-[12px] [&_>_summary]:font-medium [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text-secondary)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] [&_>_summary_>_svg:first-child]:text-[var(--brand-blue-strong)] [&_>_pre]:max-h-[112px] [&_>_pre]:overflow-auto [&_>_pre]:m-0 [&_>_pre]:[border-top:1px_solid_var(--stroke-soft)] [&_>_pre]:bg-[var(--surface-subtle)] [&_>_pre]:p-[9px_10px] [&_>_pre]:text-[var(--text-secondary)] [&_>_pre]:font-[ui-monospace,SFMono-Regular,Consolas,'Liberation_Mono',monospace] [&_>_pre]:text-[11px] [&_>_pre]:leading-[1.55] [&_>_pre]:whitespace-pre-wrap [&_>_pre]:[overflow-wrap:anywhere] [.agent-run-activity.compact_&]:[grid-column:1/-1] min-w-0 [grid-column:1/-1] overflow-hidden [margin:2px_0_1px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--solid)]`,"data-truncated":r.truncated||void 0,open:t||void 0,children:[(0,K.jsxs)(`summary`,{children:[(0,K.jsx)(k,{size:13}),(0,K.jsx)(`span`,{children:n(t?`chat:agentRunActivity.liveCommandOutput`:`chat:agentRunActivity.commandOutput`)}),(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:13})]}),(0,K.jsx)(`pre`,{ref:i,children:r.text})]}):null}function en({image:e,t}){let n=String(e.url||``);return n?(0,K.jsx)(`a`,{className:`agent-run-tool-preview block w-full overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [grid-column:1/-1] [margin:2px_0_1px]`,href:n,target:`_blank`,rel:`noreferrer`,title:String(e.name||``),children:(0,K.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 tn(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 nn=(0,G.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=Yt(e,{t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u,now:Date.now()}),f=e.name===`bash`&&t&&!!e.output;return e.type===`retry`?(0,K.jsx)($e,{title:e.summary||n(`chat:agentRunActivity.retryingRequest`),error:String(e.message||``),pending:!!(r&&t),className:`my-1`}):(0,K.jsxs)(Qt,{activity:e,className:`agent-run-summary grid w-full min-h-[42px] grid-cols-[28px_minmax(0,1fr)] [align-items:start] gap-[9px] p-[6px_0] hover:bg-[var(--surface-hover)] [.agent-run-activity.compact_&]:min-h-[34px] [.agent-run-activity.compact_&]:grid-cols-[24px_minmax(0,1fr)] [.agent-run-activity.compact_&]:gap-[7px] [.agent-run-activity.compact_&]:p-[4px_5px] @max-[700px]:grid-cols-[28px_minmax(0,1fr)] @max-[700px]:[&_>_svg]:hidden flex-none [transition:background_var(--d1)_var(--ease-out)] ${d.tone} ${t?`current [.agent-run-summary&]:bg-[var(--surface-subtle)]`:``}`,children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(Zt,{tone:d.tone})}),(0,K.jsxs)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:[(0,K.jsx)(`strong`,{children:d.title}),d.detail&&(d.command?(0,K.jsxs)(`code`,{className:`agent-run-command overflow-hidden text-[var(--text-muted)] text-[12px] leading-[1.45] text-ellipsis whitespace-nowrap block max-h-[2.9em] p-[3px_7px] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] text-[var(--text-secondary)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] whitespace-pre-wrap [overflow-wrap:anywhere] [.agent-run-activity.compact_&]:text-[11px]`,title:d.detail,children:[`$ `,d.detail]}):(0,K.jsx)(`small`,{title:d.detail,children:d.detail})),d.changes.length>0&&(0,K.jsxs)(`span`,{className:`agent-run-plan-changes [&_small]:text-[var(--text-secondary)] flex min-w-0 flex-col gap-[1px] [padding:1px_0_0_7px] [border-left:1px_solid_var(--stroke-soft)]`,children:[d.changes.slice(0,4).map(e=>(0,K.jsx)(`small`,{children:Vt(e,n)},`${e.id}-${e.kind}-${e.status}`)),d.changes.length>4&&(0,K.jsx)(`small`,{children:n(`chat:agentRunActivity.countMoreChanges`,{count:d.changes.length-4})})]}),!f&&d.output&&d.output!==d.detail&&(0,K.jsx)(`small`,{className:`text-[var(--text-tertiary)]`,title:d.output,children:d.output})]}),e.previewImage&&e.previewImage.url?(0,K.jsx)(en,{image:e.previewImage,t:n}):null,f&&(0,K.jsx)($t,{output:e.output,streaming:!!(r&&e.status===`running`),t:n})]})},tn);function rn({streaming:e,text:t,thinkingText:n,team:r,activityFeed:i=Y,tools:o=Y,compaction:s,error:c,stopped:l,notice:u,startedAt:d,lastActivityAt:f,finishedAt:p,compact:m=!1}){let{t:h,language:g}=a(),_=String(n||``).trim(),v=(0,G.useRef)(null),y=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!_)return;let e=window.requestAnimationFrame(()=>{let e=v.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[_]);let b=i.length?i:o,x=e&&!m?It(b):null,S=ut(b),C=Array.isArray(r?.tasks)?r.tasks:[],w=Number(r?.completedTaskCount??0),T=Number(r?.taskCount??C.length),D=Number(r?.tokenUsed??r?.tokensUsed??0),O=Number(r?.tokenBudget??r?.teamTokenBudget??0),k=Array.isArray(r?.communications)?r.communications:[],A=T>0?Math.min(100,Math.round(w/T*100)):0;if((0,G.useEffect)(()=>{if(!e||!b.length)return;let t=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[S,b.length,e]),!_&&!b.length&&!r)return null;let j=e?0:b.length,M=r=>r.map((i,a)=>(0,K.jsx)(nn,{activity:i,compaction:s,error:c,lastActivityAt:f,latest:a===r.length-1,notice:u,stopped:l,streaming:e,t:h,text:t,thinkingText:_?``:n},dt(i,a))),N=M(b),P=M(b.slice(-1));return(0,K.jsxs)(`section`,{className:`agent-run-activity [&.compact]:m-[4px_0_0_40px] w-full overflow-hidden [margin:1px_0_9px] text-[var(--text)] ${m?`compact`:``}`,"aria-live":`polite`,children:[_&&(0,K.jsxs)(`details`,{className:`agent-thinking-window [&[open]]:border-[transparent] [&.completed]:border-[transparent] [&.completed[open]]:border-[transparent] overflow-hidden [margin:1px_0_8px] [border:1px_solid_transparent] rounded-[var(--r-sm)] bg-transparent [transition:border-color_var(--d1)_var(--ease-out)] ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,K.jsxs)(`summary`,{className:`agent-thinking-head [summary&]:[list-style:none] [summary&]:cursor-pointer [summary&::-webkit-details-marker]:hidden [summary&:hover]:bg-[var(--surface-hover)] [summary&:focus-visible]:[outline:2px_solid_var(--accent-border)] [summary&:focus-visible]:[outline-offset:-2px] grid min-h-[40px] grid-cols-[28px_minmax(0,1fr)_auto] items-center gap-[9px] [padding:6px_0]`,"aria-label":h(`chat:agentRunActivity.toggleReasoning`),children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,K.jsxs)(`strong`,{children:[h(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,K.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,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{})]}):null]})}),(0,K.jsx)(qt,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,K.jsx)(`div`,{ref:v,className:`agent-thinking-scroll max-h-[190px] overflow-auto [border-top:1px_solid_var(--stroke-soft)] [padding:9px_0_9px_37px] [scroll-behavior:smooth]`,children:(0,K.jsx)(W,{streaming:e,children:_})})]}),r&&(C.length>0||k.length>0||(r.blockers?.length??0)>0||(r.conflicts?.length??0)>0||!!r.scriptPath||!!r.summary?.text)&&(0,K.jsxs)(`details`,{className:`agent-team-panel overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] [margin:5px_0_2px]`,children:[(0,K.jsxs)(`summary`,{className:`flex min-h-[38px] cursor-pointer items-center justify-between gap-[8px] [list-style:none] [padding:6px_8px] [&::-webkit-details-marker]:hidden hover:bg-[var(--surface-hover)]`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[6px]`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`team-status-dot h-[6px] w-[6px] shrink-0 rounded-full ${r.status===`complete`?`bg-[var(--success)]`:r.status===`stalled`||r.status===`budget_limited`?`bg-[var(--warning)]`:r.status===`paused`?`bg-[var(--text-muted)]`:`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`}`}),(0,K.jsx)(`span`,{className:`min-w-0 truncate text-[12px] font-medium`,children:r.status===`complete`?h(`chat:agentRunActivity.teamComplete`):r.status===`budget_limited`?h(`chat:agentRunActivity.teamBudgetLimited`):r.status===`paused`?h(`chat:agentRunActivity.teamPaused`):r.status===`stalled`?h(`chat:agentRunActivity.teamStalled`):h(`chat:agentRunActivity.teamActive`)}),T>0&&(0,K.jsxs)(`small`,{className:`shrink-0 text-[11px] font-normal text-[var(--text-muted)]`,children:[w,`/`,T,` · `,A,`%`]})]}),(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[8px]`,children:[O>0&&(0,K.jsx)(`small`,{className:`whitespace-nowrap text-[11px] text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamBudget`,{used:D,budget:O})}),(0,K.jsx)(E,{size:14,className:`text-[var(--text-muted)] [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,"aria-hidden":`true`})]})]}),T>0&&(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`team-progress-track mx-[8px] mb-[3px] h-[3px] overflow-hidden rounded-full bg-[var(--stroke-soft)]`,children:(0,K.jsx)(`div`,{className:`team-progress-fill h-full rounded-full bg-[var(--accent-strong)] [transition:width_var(--d2)_var(--ease-out)]`,style:{width:`${A}%`}})}),(0,K.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-top:1px_solid_var(--stroke-soft)] [padding:7px_8px]`,children:[C.map(e=>{let t=typeof e.role==`string`?e.role.trim():``,n=Gt(e.status,h);return(0,K.jsxs)(`div`,{className:`grid min-w-0 gap-[4px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border:1px_solid_var(--stroke-soft)] [padding:7px] text-[11px]`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-start gap-[6px]`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`team-task-dot h-[6px] w-[6px] shrink-0 rounded-full ${e.status===`running`?`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`:e.status===`completed`?`bg-[var(--success)]`:e.status===`failed`||e.status===`interrupted`?`bg-[var(--danger)]`:e.status===`blocked`?`bg-[var(--warning)]`:`bg-[var(--stroke-default)]`}`}),(0,K.jsxs)(`span`,{className:`grid min-w-0 gap-[1px]`,children:[(0,K.jsx)(`strong`,{className:`break-words font-medium`,children:t?h(`chat:agentRunActivity.teamTaskStatus`,{name:e.taskName,role:t,status:n}):h(`chat:agentRunActivity.teamTaskStatusWithoutRole`,{name:e.taskName,status:n})}),(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:n})]})]}),e.error&&(0,K.jsx)(`small`,{className:`break-words text-[var(--danger)]`,children:e.error}),e.output&&(0,K.jsx)(`small`,{className:`break-words text-[var(--text-muted)]`,children:e.output})]},e.id||e.taskName)}),(r.blockers?.length??0)>0&&(0,K.jsx)(`small`,{className:`text-[var(--warning)]`,children:h(`chat:agentRunActivity.teamBlocked`,{count:r.blockers?.length??0})}),(r.conflicts?.length??0)>0&&(0,K.jsx)(`small`,{className:`text-[var(--danger)]`,children:h(`chat:agentRunActivity.teamConflicts`,{count:r.conflicts?.length??0})}),r.scriptPath&&(0,K.jsx)(`small`,{className:`break-all text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamScript`,{path:r.scriptPath})}),k.length>0&&(0,K.jsxs)(`div`,{className:`grid gap-[3px] [border-top:1px_solid_var(--stroke-soft)] [padding-top:5px]`,children:[(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamCommunicationCount`,{count:k.length})}),k.slice(-6).map(e=>(0,K.jsxs)(`div`,{className:`grid min-w-0 gap-[1px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border-left:2px_solid_var(--accent-border)] [padding:4px_6px]`,children:[(0,K.jsxs)(`strong`,{className:`break-all text-[12px] font-medium`,children:[e.fromTaskName||e.fromAgentId||`lead`,` ->`,` `,e.toTaskName||e.toAgentId]}),(0,K.jsx)(`small`,{className:`break-words text-[var(--text-secondary)]`,children:e.message})]},e.id))]}),r.summary?.text&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamSummary`)}),r.summary.text&&(0,K.jsx)(`p`,{className:`m-0 line-clamp-4 text-[11px] leading-[1.45] text-[var(--text-secondary)]`,children:r.summary.text})]})]})]},String(r.id||r.scriptPath||`team`)),e&&!m&&x?(0,K.jsx)(Nt,{fallbackImage:x.previewImage,streaming:e,target:x}):null,e&&b.length>0&&(0,K.jsx)(`div`,{ref:y,className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] live`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),children:(0,K.jsx)(G.Suspense,{fallback:P,children:(0,K.jsx)(Wt,{children:P})})}),j>0&&(0,K.jsxs)(`details`,{className:`agent-run-history [&_>_summary]:grid [&_>_summary]:min-h-[38px] [&_>_summary]:grid-cols-[28px_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[9px] [&_>_summary]:[list-style:none] [&_>_summary]:rounded-[var(--r-sm)] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] w-full`,children:[(0,K.jsxs)(`summary`,{children:[(0,K.jsx)(`span`,{className:Ut,children:(0,K.jsx)(E,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,K.jsx)(`strong`,{children:h(`chat:agentRunActivity.countCompletedOperations`,{count:j})})}),(0,K.jsx)(qt,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,K.jsx)(`div`,{className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] completed`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:b.length>3?0:void 0,children:(0,K.jsx)(G.Suspense,{fallback:N,children:N})})]})]})}function an(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 on=(0,G.memo)(rn,an);function Z(e){return e instanceof Error?e.message:String(e)}function sn(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test(Z(e))}async function cn(e,t){return e.id&&!e.id.startsWith(`path:`)?V(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`,{signal:t}):typeof e.text==`string`?{kind:`text`,text:e.text.slice(0,4e5),mimeType:e.mimeType,truncated:e.text.length>4e5}:{kind:`file`}}function ln({attachment:e,onClose:t,onDownload:n,onRestoreFocus:r}){let{t:i}=a(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(0),[f,p]=(0,G.useState)(!0),m=e.name||i(`chat:chatMessage.fileAttachment`),y=/\.(md|markdown)$/i.test(m)||(o?.mimeType||e.mimeType)===`text/markdown`;(0,G.useEffect)(()=>{let t=new AbortController;return p(!0),s(null),l(``),cn(e,t.signal).then(e=>{t.signal.aborted||s(e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e.message:String(e))}).finally(()=>{t.signal.aborted||p(!1)}),()=>t.abort()},[e,u]);let b=o?.kind===`text`?o.text||``:void 0;return(0,K.jsx)(me,{open:!0,onOpenChange:e=>!e&&t(),children:(0,K.jsxs)(fe,{className:`flex h-[min(680px,calc(100dvh-2rem))] w-[calc(100%-2rem)] min-w-0 max-w-[900px] flex-col overflow-hidden rounded-lg sm:max-w-[900px]`,showCloseButton:!1,onCloseAutoFocus:e=>{e.preventDefault(),r()},"aria-describedby":void 0,children:[(0,K.jsxs)(de,{className:`min-w-0 shrink-0 pr-9 text-left`,children:[(0,K.jsx)(pe,{className:`truncate text-sm leading-5`,title:m,children:m}),(0,K.jsxs)(le,{className:`truncate text-xs`,children:[e.mimeType||`application/octet-stream`,typeof e.size==`number`&&` · ${_e(e.size)}`]})]}),(0,K.jsx)(ue,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`absolute right-3 top-3`,"aria-label":i(`chat:chatMessage.closePreview`),title:i(`chat:chatMessage.closePreview`),children:(0,K.jsx)(se,{size:16})})}),(0,K.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:f?(0,K.jsxs)(`div`,{role:`status`,className:`flex flex-1 items-center justify-center gap-2 text-muted-foreground`,children:[(0,K.jsx)(R,{size:16,className:`animate-spin`}),i(`chat:chatMessage.filePreviewLoading`)]}):c?(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3`,children:[(0,K.jsx)(`p`,{role:`alert`,className:`max-w-full break-words text-sm text-destructive`,children:c}),(0,K.jsxs)(H,{type:`button`,variant:`outline`,onClick:()=>d(e=>e+1),children:[(0,K.jsx)(z,{size:14}),i(`chat:chatMessage.filePreviewRetry`)]})]}):b===void 0?(0,K.jsxs)(`div`,{role:`status`,className:`flex flex-1 flex-col items-center justify-center gap-3 text-center text-muted-foreground`,children:[(0,K.jsx)(P,{size:32}),(0,K.jsx)(`p`,{className:`text-sm`,children:i(`chat:chatMessage.filePreviewUnavailable`)})]}):y?(0,K.jsxs)(v,{defaultValue:`preview`,className:`min-h-0 min-w-0 flex-1`,children:[(0,K.jsxs)(_,{className:`shrink-0`,children:[(0,K.jsx)(h,{value:`preview`,children:i(`chat:chatMessage.fileActionPreview`)}),(0,K.jsx)(h,{value:`source`,children:i(`chat:chatMessage.filePreviewSource`)})]}),(0,K.jsx)(g,{value:`preview`,className:`min-h-0 overflow-auto p-1`,children:(0,K.jsx)(W,{children:b})}),(0,K.jsx)(g,{value:`source`,className:`min-h-0 overflow-auto`,children:(0,K.jsx)(`pre`,{className:`m-0 p-3 font-mono text-xs leading-relaxed`,children:b})})]}):(0,K.jsx)(`pre`,{className:`m-0 min-h-0 flex-1 overflow-auto rounded-md bg-muted/40 p-3 font-mono text-xs leading-relaxed`,children:b})}),(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t pt-3`,children:[o?.truncated&&(0,K.jsx)(`p`,{role:`status`,className:`mr-auto text-xs text-muted-foreground`,children:i(`chat:chatMessage.filePreviewTruncated`)}),(0,K.jsxs)(H,{type:`button`,variant:`outline`,disabled:!e.downloadUrl,onClick:n,children:[(0,K.jsx)(A,{size:14}),i(`chat:chatMessage.fileActionDownload`)]})]})]})})}function un({className:e,from:t,...n}){return(0,K.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:S(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}function dn({images:e,index:t,onClose:n,onNavigate:r}){let{t:i}=a(),o=(0,G.useRef)(null),s=e[t],c=t>0,u=t<e.length-1,d=(0,G.useCallback)(t=>{t>=0&&t<e.length&&r(t)},[e.length,r]);return(0,G.useEffect)(()=>{let e=document.body.style.overflow,r=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`?(e.preventDefault(),d(t-1)):e.key===`ArrowRight`&&(e.preventDefault(),d(t+1))};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,r),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,r)}},[t,d,n]),s?(0,K.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] [backdrop-filter:blur(8px)] max-sm:[padding:12px_56px_16px_12px]`,role:`dialog`,"aria-modal":`true`,"aria-label":i(`chat:chatMessage.fullScreenImagePreview`),children:[(0,K.jsxs)(`div`,{className:`image-lightbox-toolbar flex min-w-0 items-center justify-between gap-[16px] text-[var(--on-ink)]`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,K.jsx)(`span`,{className:`overflow-hidden text-[13px] font-[700] text-ellipsis whitespace-nowrap`,title:s.attachment.name,children:s.attachment.name||i(`chat:chatMessage.generatedImage`)}),e.length>1&&(0,K.jsxs)(`span`,{className:`flex-none text-[12px] font-[600] text-[var(--on-ink)]/70`,children:[t+1,` / `,e.length]})]}),(0,K.jsxs)(`div`,{className:`flex flex-none items-center gap-[8px]`,children:[(0,K.jsx)(H,{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,K.jsxs)(`a`,{href:s.attachment.downloadUrl||s.source,download:s.attachment.name||`generated-image`,"aria-label":i(`chat:chatMessage.downloadOriginal`),title:i(`chat:chatMessage.downloadOriginal`),children:[(0,K.jsx)(A,{size:14}),(0,K.jsx)(`span`,{className:`max-sm:hidden`,children:i(`chat:chatMessage.downloadOriginal`)})]})}),(0,K.jsx)(H,{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,K.jsx)(se,{size:20})})]})]}),(0,K.jsxs)(`div`,{className:`relative flex min-h-0 items-center justify-center [touch-action:pan-y]`,onTouchStart:e=>{o.current=e.changedTouches[0]?.clientX??null},onTouchEnd:e=>{let n=o.current;o.current=null;let r=e.changedTouches[0]?.clientX;n===null||r===void 0||Math.abs(r-n)<48||d(t+(r<n?1:-1))},onTouchCancel:()=>{o.current=null},children:[e.length>1&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(H,{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:()=>d(t-1),children:(0,K.jsx)(l,{size:22})}),(0,K.jsx)(H,{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:!u,onClick:()=>d(t+1),children:(0,K.jsx)(E,{size:22})})]}),(0,K.jsx)(`img`,{alt:s.attachment.name||i(`chat:chatMessage.generatedImage`),decoding:`async`,src:s.source})]})]}):null}function Q(e,t){window.dispatchEvent(new CustomEvent(Ee,{detail:{message:e,tone:t}}))}function $({icon:e,label:t,onClick:n,disabled:r=!1}){return(0,K.jsxs)(`button`,{type:`button`,disabled:r,onClick:n,className:`flex items-center gap-[7px] rounded-[var(--r-xs)] border-0 bg-transparent px-[8px] py-[6px] text-left text-[13px] text-[var(--text-secondary)] [cursor:pointer] hover:bg-[var(--surface-hover)] hover:text-[var(--text-primary)] disabled:cursor-not-allowed disabled:opacity-50`,children:[e,t]})}function fn({attachments:e,compact:t=!1,sessionId:n,sessionStreaming:r=!1}){let{t:i}=a(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),[h,g]=(0,G.useState)(null),_=(0,G.useRef)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(null),[S,C]=(0,G.useState)(null),[w,T]=(0,G.useState)({}),E=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}]:[]}),D=async e=>{try{await Te(e,Ce),Q(i(`common:markdownMessage.revealLocalPathOk`,{path:e}),`info`)}catch(t){Q(t instanceof we&&t.reason===`unavailable`?i(`common:markdownMessage.revealLocalPathUnavailable`):t instanceof we&&t.reason===`timeout`?i(`common:markdownMessage.revealLocalPathTimeout`):i(`common:markdownMessage.revealLocalPathFailed`,{path:e}),`error`)}},O=async(e,t)=>{if(n)try{let r=await U.getFileDiff(n,t);T(t=>({...t,[e]:r.diff?.trim()?{diff:r.diff,truncated:!!r.diffTruncated,canRevert:!!r.canRevert}:null}))}catch{T(t=>({...t,[e]:null}))}},k=async(e,t)=>{if(!(!n||r||b)){if(v!==e){y(e);return}y(null),x(e);try{await U.revertSessionFileChanges(n,t),T(t=>({...t,[e]:null})),Q(i(`chat:chatMessage.fileActionRevertDone`,{path:t}),`info`)}catch(e){Q(i(`chat:chatMessage.fileActionRevertFailed`,{path:t}),`error`),console.error(`[chat] 撤销文件改动失败。`,e)}finally{x(null)}}},M=async(e,t)=>{if(!(!n||h)){g(e);try{let e=await U.getFileDiff(n,t);e.diff?.trim()?(l(null),C({diff:e.diff,truncated:!!e.diffTruncated})):Q(i(`chat:chatMessage.fileDiffEmpty`),`info`)}catch(e){Q(e instanceof Error?e.message:i(`chat:chatMessage.fileDiffFailed`),`error`)}finally{g(null)}}},I=e=>{if(!e.downloadUrl)return;let t=document.createElement(`a`);t.href=e.downloadUrl,e.name&&(t.download=e.name),t.click()};return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`message-attachments flex flex-wrap gap-[6px] [margin-top:6px] ${t?`compact`:``}`,children:e.map((e,t)=>{let a=String(e.id||t),o=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&o?(0,K.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=E.findIndex(e=>e.attachmentIndex===t);e>=0&&s({images:E,index:e})},title:i(`chat:chatMessage.openFullScreenPreview`),children:[(0,K.jsx)(`img`,{alt:e.name||i(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:o}),(0,K.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedImage`)})]},a):e.kind===`video`&&o?(0,K.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,K.jsx)(`video`,{controls:!0,preload:`metadata`,src:o}),(0,K.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedVideo`)})]},a):e.kind===`link`?(0,K.jsxs)(`a`,{className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] no-underline`,href:e.downloadUrl||void 0,children:[(0,K.jsx)(P,{size:12,className:`shrink-0`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]},a):(0,K.jsxs)(m,{open:c===a,onOpenChange:t=>{l(t?a:null),t&&e.path&&n?O(a,String(e.path)):y(null)},children:[(0,K.jsx)(u,{asChild:!0,children:(0,K.jsxs)(`button`,{type:`button`,onClick:e=>{_.current=e.currentTarget},className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] cursor-pointer`,children:[(0,K.jsx)(P,{size:12,className:`shrink-0`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]})}),(0,K.jsxs)(d,{align:`start`,sideOffset:6,className:`flex w-[190px] max-w-[calc(100vw-2rem)] flex-col gap-[2px] p-[4px]`,children:[(0,K.jsx)($,{icon:(0,K.jsx)(j,{size:13}),label:i(`chat:chatMessage.fileActionPreview`),onClick:()=>{l(null),p(e)}}),(0,K.jsx)($,{icon:(0,K.jsx)(A,{size:13}),label:i(`chat:chatMessage.fileActionDownload`),disabled:!e.downloadUrl,onClick:()=>I(e)}),e.path&&(0,K.jsx)($,{icon:(0,K.jsx)(F,{size:13}),label:i(`chat:chatMessage.fileActionReveal`),onClick:()=>void D(String(e.path))}),n&&e.path&&(0,K.jsx)($,{icon:h===a?(0,K.jsx)(R,{size:13,className:`animate-spin`}):(0,K.jsx)(N,{size:13}),label:i(`chat:chatMessage.fileActionDiff`),disabled:!!h,onClick:()=>void M(a,String(e.path))}),w[String(a)]?.canRevert&&(0,K.jsx)($,{icon:b===String(a)?(0,K.jsx)(R,{className:`animate-spin`,size:13}):(0,K.jsx)(oe,{size:13}),label:i(v===String(a)?`chat:chatMessage.fileActionConfirmRevert`:`chat:chatMessage.fileActionRevert`),disabled:!!(r||b),onClick:()=>void k(String(a),String(e.path))})]})]},a)})}),o&&(0,Qe.createPortal)((0,K.jsx)(dn,{images:o.images,index:o.index,onClose:()=>s(null),onNavigate:e=>s(t=>t&&{...t,index:e})}),document.body),f&&(0,K.jsx)(ln,{attachment:f,onClose:()=>p(null),onRestoreFocus:()=>_.current?.focus(),onDownload:()=>I(f)}),S&&(0,K.jsx)(ke,{diff:S.diff,truncated:S.truncated,onClose:()=>C(null)})]})}function pn({sessionId:e,entryId:t}){let{t:n}=a(),[r,i]=(0,G.useState)(!1),[o,s]=(0,G.useState)(``),[c,l]=(0,G.useState)(``),[p,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,S]=(0,G.useState)(``);(0,G.useEffect)(()=>{if(!r)return;let n=!0;return h(!0),S(``),U.getSessionTree(e).then(e=>{if(!n)return;let r=e.nodes.find(e=>e.id===t)?.label||``;s(r),l(r)}).catch(e=>n&&S(Z(e))).finally(()=>n&&h(!1)),()=>{n=!1}},[t,r,e]);let C=async()=>{if(!(g||p)){_(!0),S(``);try{let n=(await U.setSessionTreeLabel(e,t,o)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{_(!1)}}},T=async()=>{if(!(g||p)){_(!0),S(``);try{let n=(await U.setSessionTreeLabel(e,t,``)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{_(!1)}}};return(0,K.jsxs)(m,{open:r,onOpenChange:i,children:[(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(u,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,className:c?`bg-surface-hover text-brand`:void 0,"aria-label":n(`chat:chatMessage.labelThisTurn`),"data-pisper-label-entry":t,children:(0,K.jsx)(re,{size:14})})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:n(`chat:chatMessage.labelThisTurn`)})]}),(0,K.jsx)(d,{className:`message-label-popover [&_form]:grid [&_form]:gap-[10px] [&_[data-slot='popover-title']]:text-[12px]`,align:`end`,sideOffset:6,children:(0,K.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),C()},children:[(0,K.jsx)(f,{children:n(`chat:sessionTree.nodeLabel`)}),(0,K.jsx)(he,{autoFocus:!0,value:o,maxLength:80,disabled:p||g,placeholder:n(`chat:sessionTree.labelPlaceholder`),onChange:e=>s(e.target.value)}),v&&(0,K.jsx)(`small`,{className:`danger-text`,children:v}),(0,K.jsxs)(`div`,{className:`message-label-actions flex items-center justify-between gap-[8px]`,children:[(0,K.jsx)(H,{type:`button`,size:`icon-sm`,variant:`ghost`,title:n(`chat:sessionTree.removeLabel`),"aria-label":n(`chat:sessionTree.removeLabel`),disabled:p||g,onClick:()=>void T(),children:(0,K.jsx)(ie,{})}),(0,K.jsxs)(H,{className:`message-label-save [.message-label-actions_&]:min-w-[104px] [.message-label-actions_&]:text-[var(--primary-foreground)]`,type:`submit`,disabled:p||g,children:[g?(0,K.jsx)(R,{className:`animate-spin`}):(0,K.jsx)(w,{}),n(g?`chat:sessionTree.savingLabel`:`chat:sessionTree.saveLabel`)]})]})]})})]})}function mn(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}var hn=(0,G.memo)(function({sessionId:e,message:t,agentState:n,showRunActivity:r,runProps:i,cwd:o,sessionStreaming:s,onBranchFromHere:c,onCreateChildSession:l,retryUserMessageId:u,hideErrorNotice:d,onRetryLastTurn:f}){let{t:p}=a(),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,C]=(0,G.useState)(!1),w=!!t.streaming,T=t.text||``,E=t.error&&T===t.error?``:T,D=!!(i&&(String(i.thinkingText||``).trim()||(i.activityFeed?.length??0)>0||(i.tools?.length??0)>0||i.team));return(0,K.jsxs)(un,{from:t.role===`agent`?`assistant`:`user`,className:S(`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-streaming":w||void 0,"data-pisper-error":t.error?`true`:void 0,children:[t.role===`agent`&&(0,K.jsxs)(`span`,{className:`mb-3 flex items-center gap-2 text-xs font-medium text-[var(--text-muted)]`,children:[(0,K.jsx)(`span`,{className:`agent-message-mark grid size-[22px] place-items-center`,"data-state":n,"aria-hidden":`true`,children:(0,K.jsx)(De,{size:20})}),`Pisper`]}),(0,K.jsxs)(`div`,{className:S(`message-content relative min-w-0`,t.role===`agent`?`w-full`:`w-fit max-w-[78%] @max-[700px]:max-w-[86%] @max-[470px]:max-w-[94%] [[data-chat-message-style='plain']_&]:w-full [[data-chat-message-style='plain']_&]:max-w-full`),children:[r&&i&&(0,K.jsx)(on,{...i}),w&&!E&&!D&&(0,K.jsxs)(`div`,{className:`agent-thinking-dots [&_i]:w-[4px] [&_i]:h-[4px] [&_i]:rounded-[50%] [&_i]:bg-[var(--text-muted)] [&_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-center gap-[3px] py-2`,"aria-hidden":`true`,children:[(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{})]}),E&&(0,K.jsx)(W,{cwd:o,streaming:w,className:S(`min-h-[34px] [overflow-wrap:anywhere] text-[length:var(--app-message-font-size)]`,t.role===`agent`?`w-full max-w-full rounded-none border-0 bg-transparent pt-1 leading-[1.72] [&_p]:my-[var(--chat-message-paragraph-gap,1em)]! [&_.markdown-content>p:first-child]:mt-0! [&_.markdown-content>p:last-child]:mb-0!`:`rounded-[22px] border border-[var(--stroke-soft)] bg-[var(--user-bubble-bg)] px-4 py-2.5 leading-[1.72] text-[var(--user-bubble-text)] shadow-none [&_h1]:text-inherit! [&_h2]:text-inherit! [&_h3]:text-inherit! [&_h4]:text-inherit! [&_a]:text-inherit! [&_blockquote]:text-inherit! [[data-chat-message-style='plain']_&]:rounded-none [[data-chat-message-style='plain']_&]:border-0 [[data-chat-message-style='plain']_&]:bg-transparent [[data-chat-message-style='plain']_&]:px-0 [[data-chat-message-style='plain']_&]:py-1`),children:E}),t.attachments&&t.attachments.length>0&&(0,K.jsx)(fn,{attachments:t.attachments,sessionId:e,sessionStreaming:s})]}),t.error&&!w&&!d&&(0,K.jsx)($e,{error:String(t.error),className:`mt-3`}),t.role===`agent`&&!w&&(t.turnBoundaryEntryId||u)&&(0,K.jsxs)(`div`,{className:`message-actions mt-4 -ml-1.5 flex items-center gap-1 text-[var(--text-muted)] [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 [&_button]:rounded-md [&_button]:text-[var(--text-muted)] [&_button:hover]:bg-[var(--surface-hover)] [&_button:hover]:text-[var(--text)]`,children:[t.turnBoundaryEntryId&&c&&l&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(pn,{sessionId:e,entryId:t.turnBoundaryEntryId}),(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.deriveFromHere`),"data-pisper-derive-entry":t.turnBoundaryEntryId,disabled:m||g||s,onClick:async()=>{let e=t.turnBoundaryEntryId;if(e){h(!0);try{await c(e)}finally{h(!1)}}},children:m?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(Ae,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.deriveFromHere`)})]}),(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.createChildChat`),"data-pisper-child-entry":t.turnBoundaryEntryId,disabled:m||g,onClick:async()=>{let e=t.turnBoundaryEntryId;if(e){_(!0);try{await l(e)}finally{_(!1)}}},children:g?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(Ne,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.createChildChat`)})]})]}),u&&(0,K.jsxs)(x,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":p(`chat:chatMessage.retry`),"data-pisper-retry-message":u,disabled:v||s,onClick:async()=>{C(!0);try{await f()}finally{C(!1)}},children:v?(0,K.jsx)(R,{className:`animate-spin`,size:14}):(0,K.jsx)(B,{size:14})})}),(0,K.jsx)(b,{side:`top`,sideOffset:6,children:p(`chat:chatMessage.retry`)})]})]})]})},mn);function gn(e,t){return e.message===t.message}(0,G.memo)(function({message:e}){return(0,K.jsxs)(un,{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-[13px] [&_>_span]:font-[600] [&_>_span]:[text-transform:uppercase] [&.agent_>_span::before]:[content:'✦'] [&.agent_>_span::before]:mr-[4px] [&.agent_>_span::before]:text-[var(--star)] [&_.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(--accent-soft)] [&_.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,K.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(e.text||!e.streaming)&&(0,K.jsx)(W,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,K.jsx)(fn,{attachments:e.attachments,compact:!0})]})]})},gn);function _n(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function vn(e,t,n){let[r,i]=(0,G.useState)(0);return(0,G.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),window.addEventListener(`resize`,s),()=>{c?.disconnect(),window.removeEventListener(`resize`,s),o!==null&&window.cancelAnimationFrame(o)}},[n,t,e]),r}var yn=(0,G.memo)(function({sessionId:e,layoutMeasurementKey:t,messages:n,streaming:r,latestRunProps:i,scrollElement:a,prefixRef:o,cwd:s,targetEntryId:c,onContentSizeChange:l,onTargetScroll:u,onTargetLocated:d,onBranchFromHere:f,onCreateChildSession:p,onRetryLastTurn:m}){let h=(0,G.useRef)(null),[g,_]=(0,G.useState)(``),v=(0,G.useRef)(n);v.current=n;let y=(0,G.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]),b=vn(a,o,h),x=(0,G.useCallback)(e=>v.current[e]?.id??`transcript-message-${e}`,[]),S=(0,G.useCallback)(()=>bt(a?.clientWidth),[a]),C=Oe({count:n.length,getScrollElement:()=>a,getItemKey:x,estimateSize:S,measureElement:_n,overscan:6,scrollMargin:b,useAnimationFrameWithResizeObserver:!0}),w=C.getVirtualItems(),T=C.getTotalSize(),E=(0,G.useCallback)(()=>{let e=h.current;if(!e||!a||e.getBoundingClientRect().width<1)return;let t=a.scrollTop,n=C.getVirtualItems().find(e=>e.end>t),r=n?Math.max(0,t-n.start):0;C.measure(),C.getTotalSize();for(let t of e.children)t instanceof HTMLDivElement&&C.measureElement(t);if(C.getTotalSize(),n){let e=C.getOffsetForIndex(n.index,`start`)?.[0];e!==void 0&&C.scrollToOffset(e+r)}l()},[l,a,C]);return(0,G.useLayoutEffect)(()=>{E()},[t,E]),(0,G.useLayoutEffect)(()=>{let e=h.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,E()}))});return r.observe(e),()=>{r.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},[E]),(0,G.useLayoutEffect)(()=>{l()},[l,T]),(0,G.useEffect)(()=>{if(!c)return;let e=n.findIndex(e=>e.turnBoundaryEntryId===c);if(e<0)return;u(),C.scrollToIndex(e,{align:`center`}),_(c);let t=window.requestAnimationFrame(()=>{C.scrollToIndex(e,{align:`center`}),d(c)});return()=>window.cancelAnimationFrame(t)},[n,d,u,c,C]),(0,G.useEffect)(()=>{if(!g)return;let e=window.setTimeout(()=>_(``),2200);return()=>window.clearTimeout(e)},[g]),(0,K.jsx)(`div`,{className:`relative w-full`,"data-pisper-transcript-size":n.length,"data-pisper-rendered-count":w.length,ref:h,style:{height:`${T}px`},children:w.map(t=>{let a=n[t.index];if(!a)return null;let o=a.role===`agent`&&t.index===n.length-1,c=a.streaming||o&&r?`thinking`:o&&!a.error?`waiting`:`idle`,l=Ye(a,o,i);return(0,K.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full rounded-[var(--r-sm)] ${a.turnBoundaryEntryId===g?`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":a.turnBoundaryEntryId===g?a.turnBoundaryEntryId:void 0,"data-pisper-virtual-item":a.id,ref:C.measureElement,style:{top:`${t.start-b}px`},children:(0,K.jsx)(hn,{sessionId:e,message:a,agentState:c,showRunActivity:!!l,runProps:l,cwd:s,sessionStreaming:r,onBranchFromHere:f,onCreateChildSession:p,retryUserMessageId:o?y[t.index]:void 0,hideErrorNotice:o&&!!a.error,onRetryLastTurn:m})},t.key)})})});function bn(e){let t=e.getHours();return t>=5&&t<9?0:t>=9&&t<12?1:t>=12&&t<14?2:t>=14&&t<18?3:t>=18&&t<23?4:5}function xn(e){for(let t of[5,9,12,14,18,23,29]){let n=new Date(e);if(n.setHours(t,0,0,0),n.getTime()>e.getTime())return n.getTime()-e.getTime()}return 6e4}function Sn(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?30:Math.max(20,Math.min(30,Math.floor(30*e/t)))}function Cn(){let{t:e}=a(),[t,n]=(0,G.useState)(()=>new Date),[r,i]=(0,G.useState)(30),o=(0,G.useRef)(null),s=(0,G.useRef)(null),c=[e(`chat:workbench.morningEarly`),e(`chat:workbench.morning`),e(`chat:workbench.noon`),e(`chat:workbench.afternoon`),e(`chat:workbench.evening`),e(`chat:workbench.lateNight`)][bn(t)];return(0,G.useEffect)(()=>{let e=window.setTimeout(()=>n(new Date),xn(t)),r=()=>n(new Date);return window.addEventListener(`focus`,r),()=>{window.clearTimeout(e),window.removeEventListener(`focus`,r)}},[t]),(0,G.useLayoutEffect)(()=>{let e=o.current,t=s.current;if(!e||!t)return;let n=()=>i(Sn(e.clientWidth-32,t.getBoundingClientRect().width));n();let r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[c]),(0,K.jsxs)(`div`,{className:`relative mx-auto translate-y-10 max-[650px]:translate-y-0 flex w-full max-w-2xl items-center justify-center text-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none`,"data-testid":`workbench-greeting`,children:[(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1/2 left-1/2 -mt-10 max-[650px]:mt-0 aspect-[5/4] w-[min(72vw,25rem)] -translate-x-1/2 -translate-y-1/2 text-foreground/40`,children:(0,K.jsx)(`svg`,{"data-brand":`Pisper`,className:`h-full w-full opacity-70 [mask-image:linear-gradient(to_bottom,black_0%,transparent_70%)] [-webkit-mask-image:linear-gradient(to_bottom,black_0%,transparent_70%)]`,width:`400`,height:`320`,viewBox:`0 0 400 320`,fill:`none`,children:(0,K.jsx)(`path`,{d:`M88 319V1h135c76 0 121 43 121 110s-45 111-121 111h-76v97H88Zm59-153h72c43 0 65-19 65-55s-22-54-65-54h-72v109Z`,stroke:`currentColor`})})}),(0,K.jsxs)(`h1`,{ref:o,style:{fontSize:r},className:`relative z-10 m-0 w-full px-4 text-center leading-[1.2] font-medium`,children:[(0,K.jsx)(`span`,{ref:s,"aria-hidden":`true`,className:`pointer-events-none invisible absolute text-3xl leading-[1.2] whitespace-nowrap`,children:c}),(0,K.jsx)(`span`,{children:c})]})]})}function wn({label:e}){return(0,K.jsxs)(`div`,{className:`session-history-loading grid min-h-[100%] place-content-center justify-items-center gap-[24px] text-[var(--text-muted)] [animation:transcript-stage-enter_.18s_var(--ease-out)_both]`,role:`status`,"aria-live":`polite`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-[10px]`,children:[(0,K.jsx)(`span`,{className:`grid h-[34px] w-[34px] place-items-center rounded-[11px] border border-[color-mix(in_srgb,#A855F7_24%,var(--stroke))] bg-[var(--solid)] shadow-[var(--sh-1)]`,children:(0,K.jsx)(De,{size:19})}),(0,K.jsx)(`strong`,{className:`text-[13px] font-medium text-[var(--text-soft)]`,children:e}),(0,K.jsxs)(`span`,{className:`flex items-end gap-[3px] pb-[3px]`,"aria-hidden":`true`,children:[(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_infinite]`}),(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.16s_infinite]`}),(0,K.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.32s_infinite]`})]})]}),(0,K.jsxs)(`div`,{className:`grid w-[min(560px,78vw)] gap-[12px]`,"aria-hidden":`true`,children:[(0,K.jsx)(`div`,{className:`h-[52px] w-[68%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_infinite]`}),(0,K.jsx)(`div`,{className:`h-[40px] w-[46%] justify-self-end rounded-[16px_16px_5px_16px] bg-[var(--user-bubble-bg)] opacity-[.14] [animation:agent-message-pulse_1.9s_ease-in-out_.25s_infinite]`}),(0,K.jsx)(`div`,{className:`h-[46px] w-[58%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_.5s_infinite]`})]})]})}function Tn({sessionId:e,emptyState:t,messages:n,layoutMeasurementKey:r,transcriptLoadState:i=`ready`,messageStart:o,hasOlder:s,loadingOlder:c,olderError:l,currentActivity:u,team:d,activityFeed:f,tools:m,thinkingText:h,compaction:g,streaming:_,runStartedAt:v,lastActivityAt:y,runFinishedAt:b,runStopped:x,runNotice:S,error:C,scrollRequest:w,cwd:T,lineage:E,onLoadOlder:D,onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A}){let{t:j}=a(),M=(0,G.useRef)(null),N=(0,G.useRef)(null),[P,F]=(0,G.useState)(()=>xe(e)),I=n[n.length-1],L=Math.floor((I?.text?.length||0)/64),R=ut(f),ee=Math.floor(String(h||``).length/128),{scrollRef:B,scrollElement:te,setScrollRef:ne,hasUnread:re,scrollToBottom:ie,maintainBottom:ae,pauseFollowing:oe}=yt(`${e}:${I?.id||``}:${L}:${ee}:${I?.attachments?.length||0}:${R}:${g?.status||``}:${g?.finishedAt||``}:${C||``}:${_?`1`:`0`}`,{resetKey:`${e}:${i}`}),se=(0,G.useMemo)(()=>({streaming:_,text:I?.role===`agent`?I.text:``,currentActivity:u,team:d,activityFeed:f,tools:m,thinkingText:h,compaction:g,error:C||(I?.role===`agent`?I.error:``),stopped:x,notice:S,startedAt:v,lastActivityAt:y,finishedAt:b}),[_,I,u,d,f,m,h,g,C,x,S,v,y,b]),V=(0,G.useCallback)(async()=>{let e=B.current;!e||!s||c||M.current||(oe(),M.current={scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},await D?.()||(M.current=null))},[s,c,D,oe,B]),U=(0,G.useCallback)(e=>{e.currentTarget.scrollTop<=96&&V()},[V]);return(0,G.useLayoutEffect)(()=>{let e=M.current,t=B.current;!e||!t||(t.scrollTop=xt(e,t.scrollHeight),M.current=null)},[o,B]),(0,G.useEffect)(()=>{F(xe(e));let t=t=>{let n=t.detail;n?.sessionId===e&&n.targetEntryId&&F(n.targetEntryId)};return window.addEventListener(ye,t),()=>window.removeEventListener(ye,t)},[e]),(0,G.useEffect)(()=>{if(!(!P||o==null)&&!n.some(e=>e.turnBoundaryEntryId===P)&&!c){if(s){V();return}be(e,P),F(``)}},[s,V,c,o,n,e,P]),(0,G.useEffect)(()=>{w&&ie(`smooth`)},[w,ie]),(0,K.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`transcript [.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":i,"aria-busy":i===`loading`,ref:ne,onScroll:U,tabIndex:0,children:[(0,K.jsxs)(`div`,{className:`[display:flow-root] w-full`,ref:N,children:[E?.parentSessionId&&(0,K.jsxs)(`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] session-lineage`,"data-pisper-parent-session":E.parentSessionId,children:[(0,K.jsx)(Ae,{size:13}),(0,K.jsx)(`span`,{children:j(`chat:focusSession.derivedFromSession`,{name:E.sourceSessionName||j(`chat:focusSession.unknownSourceSession`)})})]}),(s||c||l)&&(0,K.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:l?(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:V,children:[(0,K.jsx)(z,{size:13}),j(`chat:focusSession.retryOlderMessages`)]}):c?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(z,{className:`animate-spin`,size:14}),j(`chat:focusSession.loadingOlderMessages`)]}):(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:V,children:[(0,K.jsx)(p,{className:`history-up-arrow [.history-page-loader_&]:[transform:rotate(180deg)]`,size:14}),j(`chat:focusSession.loadOlderMessages`)]})})]}),i===`loading`&&(0,K.jsx)(wn,{label:j(`chat:focusSession.loadingConversationHistory`)}),i===`ready`&&!n.length&&(t??(0,K.jsx)(`div`,{className:`agent-welcome relative grid min-h-full place-content-center justify-items-center text-center text-muted-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none [[data-mobile-keyboard-transition='closing']_&]:pointer-events-none`,children:(0,K.jsx)(Cn,{})})),i===`ready`&&n.length>0&&(0,K.jsx)(`div`,{className:`[animation:transcript-reveal-enter_.22s_var(--ease-out)_both]`,children:(0,K.jsx)(yn,{layoutMeasurementKey:r,sessionId:e,messages:n,streaming:_,latestRunProps:se,scrollElement:te,prefixRef:N,cwd:T,targetEntryId:P,onContentSizeChange:ae,onTargetScroll:oe,onTargetLocated:t=>{be(e,t),F(``)},onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A},e)})]}),re&&(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-[6px] z-[5] flex justify-center`,children:(0,K.jsxs)(H,{type:`button`,variant:`outline`,size:`lg`,className:`pointer-events-auto bg-surface-subtle min-h-[32px] [border-color:var(--accent-border)] text-[var(--star-strong)] shadow-[0_8px_18px_-14px_var(--shadow)]`,onClick:()=>ie(`smooth`),children:[(0,K.jsx)(p,{size:14}),j(`chat:focusSession.newContent`)]})})]})}(0,G.lazy)(()=>t(()=>import(`./ClickSpark-DmnEAJNI.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([7,1,2,3,4,6])));var En=(0,G.createContext)(null),Dn=({className:e,approval:t,state:n,...r})=>{let i=(0,G.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,K.jsx)(En.Provider,{value:i,children:(0,K.jsx)(ce,{className:S(`flex flex-col gap-2`,e),...r})})};function On({approvals:e,onResolve:t,compact:n=!1}){let{t:r}=a(),[i,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)(!1),l=(0,G.useRef)(!1),u=e[0];if((0,G.useEffect)(()=>c(!1),[u?.id]),!u)return null;let d=u.fileChange,f=typeof d?.diff==`string`?d.diff:``,p=async e=>{if(!l.current){l.current=!0,o(!0);try{await t(u.id,e)}finally{l.current=!1,o(!1)}}};return(0,K.jsxs)(Dn,{approval:{id:u.id},state:`approval-requested`,className:`tool-approval [&_>_div:first-child]:flex [&_>_div:first-child]:min-w-0 [&_>_div:first-child]:items-center [&_>_div:first-child]:gap-[8px] [&_>_div:first-child_>_span]:flex [&_>_div:first-child_>_span]:min-w-0 [&_>_div:first-child_>_span]:flex-col [&_>_div:first-child_>_span]:gap-[2px] [&_strong]:text-[13px] [&_small]:overflow-hidden [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_details]:min-w-0 [&_details]:text-[13px] [&_summary]:cursor-pointer [&_pre]:max-h-[130px] [&_pre]:overflow-auto [&_pre]:mt-[6px] [&_pre]:rounded-[var(--r-xs)] [&_pre]:bg-[var(--warning-code-bg)] [&_pre]:text-[var(--warning-soft)] [&_pre]:p-[8px] [&_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_pre]:text-[13px] [&_pre]:whitespace-pre-wrap [&.compact]:grid-cols-[minmax(0,1fr)_auto] [&.compact]:p-[6px_7px] [&.compact_strong]:text-[13px] [&.compact_small]:text-[13px] grid grid-cols-[minmax(0,1fr)_auto] items-center gap-[8px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--warning-soft)] text-[var(--warning-strong)] [padding:9px_10px] ${n?`compact`:``}`,"data-pisper-approval-id":u.id,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(te,{size:n?12:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:r(`chat:focusSession.toolRequestsApproval`,{tool:u.toolName})}),(0,K.jsxs)(`small`,{children:[u.reason,e.length>1?` · ${r(`chat:focusSession.countMoreWaiting`,{count:e.length-1})}`:``]})]})]}),!n&&(0,K.jsxs)(`div`,{className:`flex [grid-column:1/-1] items-center gap-[10px]`,children:[f&&(0,K.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff hover:border-[var(--accent-border)] hover:bg-[var(--accent-soft)] hover:text-[var(--star-strong)] inline-flex min-h-[28px] flex-none items-center gap-[6px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--surface-muted)] [padding:4px_7px] text-[var(--text-secondary)] text-[12px] font-[600] cursor-pointer`,onClick:()=>c(!0),children:[(0,K.jsx)(N,{size:13}),r(`chat:focusSession.gitViewDiff`)]}),(0,K.jsxs)(`details`,{children:[(0,K.jsx)(`summary`,{children:r(`chat:focusSession.viewCallArguments`)}),(0,K.jsx)(`pre`,{children:JSON.stringify(u.args,null,2)})]})]}),(0,K.jsxs)(`div`,{className:`flex gap-[5px]`,children:[(0,K.jsx)(H,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:i,onClick:()=>p(!1),children:r(`chat:focusSession.deny`)}),(0,K.jsxs)(H,{type:`button`,size:`lg`,disabled:i,onClick:()=>p(!0),children:[i?(0,K.jsx)(z,{className:`animate-spin`,size:12}):(0,K.jsx)(w,{size:12}),r(`chat:focusSession.allow`)]})]}),s&&(0,K.jsx)(ke,{diff:f,truncated:!!d?.truncated,onClose:()=>c(!1)})]})}function kn(e,t){return e?.streaming?!0:!e?.loaded&&!!t?.streaming}var An={session:null,expiresAt:null,created:!1,loading:!1,error:``,draft:``,expired:!1},jn=(0,G.createContext)(null);function Mn(e){let t=(0,G.useContext)(jn);if(!t)throw Error(`Side chat requires its runtime provider`);return{...t,entry:t.entries[e]??An}}export{Ie as C,Pe as D,Fe as E,Ne as O,qe as S,q as T,He as _,On as a,Ge as b,sn as c,pt as d,mt as f,Be as g,$e as h,kn as i,je as k,Xt as l,ot as m,jn as n,Tn as o,ht as p,Mn as r,Z as s,An as t,_t as u,Ke as v,J as w,Xe as x,Ze as y};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speech-text-Cpe8K6uv.js","assets/vendor-markdown-Ck4Y_w0n.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CZg2bCPV.js","assets/vendor-react-DwNgTV1j.js","assets/vendor-markdown-plugins-DisoihU3.js","assets/vendor-shiki-runtime-UFMr0O-Q.js","assets/vendor-markdown-plugins-DEcVZfaU.css","assets/vendor-ui-DvrYggeS.js","assets/speech-stream-text-Bh_0kguU.js","assets/abort-signal-f4JsiYKX.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{n,r,t as i}from"./abort-signal-f4JsiYKX.js";import{r as a,t as o}from"./api-
|
|
2
|
+
import{r as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{n,r,t as i}from"./abort-signal-f4JsiYKX.js";import{r as a,t as o}from"./api-DmuPqjXK.js";function s(e,t){let n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return n?n(e,t):Promise.reject(Error(`Local speech bridge is unavailable.`))}function c(e,t=256){return typeof e==`string`&&e.length>0&&e.length<=t&&!/[\uD800-\uDFFF]/u.test(e)}function l(e){if(e===void 0)return!0;if(!e||!c(e.name)||!c(e.url,2048))return!1;try{let t=new URL(e.url);return t.protocol===`https:`&&!t.username&&!t.password}catch{return!1}}function u(e){let t=new Set([`not-installed`,`downloading`,`verifying`,`installed`,`cancelled`,`error`]);if(!e||!e.defaults||!Array.isArray(e.models)||e.models.length>16||e.models.some(e=>!e||!c(e.id,128)||!c(e.name)||![`asr`,`tts`].includes(e.kind)||!t.has(e.status)||!Array.isArray(e.languages)||e.languages.length>16||e.languages.some(e=>!c(e,40))||!l(e.license)||!Number.isSafeInteger(e.totalBytes)||e.totalBytes<0||!Number.isSafeInteger(e.filesBytes)||e.filesBytes<0||!Number.isSafeInteger(e.downloadedBytes)||e.downloadedBytes<0||e.downloadedBytes>e.totalBytes||e.voices!==void 0&&(!Array.isArray(e.voices)||e.voices.length>256||e.voices.some(e=>!e||!c(e.id,128)||!c(e.name)||!c(e.language,40))))||new Set(e.models.map(e=>e.id)).size!==e.models.length||![`asr`,`tts`].every(t=>e.models.some(n=>n.id===e.defaults[t]&&n.kind===t)))throw Error(`Invalid local speech model catalog.`);let n=e.models.flatMap(e=>e.voices||[]);if(new Set(n.map(e=>e.id)).size!==n.length||!e.models.find(t=>t.id===e.defaults.tts)?.voices?.some(t=>t.id===e.defaults.voice))throw Error(`Invalid local speech model catalog.`);return e}async function d(e){e?.throwIfAborted();let t=window.__PISPER_MOBILE_APP__?await s(`mobile_speech_models`):await o(`/api/speech/models`,{signal:e});return e?.throwIfAborted(),u(t)}async function f(e){return window.__PISPER_MOBILE_APP__?s(`mobile_download_speech_model`,{modelId:e}):o(`/api/speech/models/download`,{method:`POST`,body:{modelId:e}})}async function p(e){return window.__PISPER_MOBILE_APP__?s(`mobile_cancel_speech_model_download`,{modelId:e}):o(`/api/speech/models/cancel`,{method:`POST`,body:{modelId:e}})}function m(e,t){return e.models.filter(n=>t.some(t=>n.id===e.defaults[t]))}function h(e){return String(e).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/([A-Z])([A-Z][a-z])/g,`$1 $2`).replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().toLowerCase()}function g(e){return[...new Set(e.map(h).filter(Boolean))].join(`
|
|
3
3
|
`)}var _;function v(){if(_===void 0)try{RegExp(`(?<=a)`),_=!0}catch{_=!1}return _}var y=/[A-Za-z0-9_./\\-]/;function b(e,t){let n=new Map;for(let e of t){let t=h(e);if(!(!/[A-Z]/.test(e)&&!e.includes(` `)||!/^[A-Za-z][A-Za-z0-9 ]*$/.test(e)))for(let r of[t,e.toLowerCase()])r.length>=3&&!n.has(r)&&n.set(r,e)}if(!n.size)return e;let r=`(?:${[...n.keys()].sort((e,t)=>t.length-e.length).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`).replace(/ /g,`[ \\t]+`)).join(`|`)})`,i=`(?![A-Za-z0-9_/\\\\-]|\\.[A-Za-z0-9_])`,a=v(),o=RegExp(a?`(?<![A-Za-z0-9_./\\\\-])${r}${i}`:`${r}${i}`,`gi`);return e.replace(o,(e,...t)=>{if(!a){let n=t[t.length-2],r=t[t.length-1];if(n>0&&y.test(r[n-1]))return e}return n.get(e.toLowerCase().replace(/[ \t]+/g,` `))||e})}var x=e({loadSpeechHotwords:()=>S,prepareSpeechSession:()=>C});async function S(e,t){let i=n(t,3e4);try{let t=await o(`/api/speech/terms?sessionId=${encodeURIComponent(e)}`,{signal:i.signal});if(r(i.signal),!Array.isArray(t.terms)||t.terms.some(e=>typeof e!=`string`))throw Error(`语音术语响应无效。`);return{terms:t.terms,hotwords:g(t.terms)}}finally{i.dispose()}}async function C(e,o){r(o);let c=crypto.randomUUID(),l={requestId:c,...e,kinds:[...e.kinds]},u=!!window.__PISPER_MOBILE_APP__,d=!e.kinds.includes(`tts`),f=n(o),p=n(f.signal,6e4),m=!1,h=!1,g,_,v=new Promise((e,t)=>{g=e,_=t}),y=()=>{s(`mobile_release_speech_session`,{requestId:c}).catch(()=>{})},b=()=>{p.signal.removeEventListener(`abort`,S),f.signal.removeEventListener(`abort`,x),p.dispose(),f.dispose()},x=()=>{_(i(f.signal)),b(),u&&y()},S=()=>f.abort(i(p.signal));p.signal.addEventListener(`abort`,S,{once:!0}),f.signal.addEventListener(`abort`,x,{once:!0});let C=()=>{r(f.signal),!(!h||!d||m)&&(m=!0,p.signal.removeEventListener(`abort`,S),p.dispose(),g())},w=e=>{f.signal.aborted||(_(e),f.abort(e),m&&window.dispatchEvent(new Event(`pisper:speech-interrupted`)))},T=e=>{if(!e||typeof e!=`object`||!(`ready`in e)||e.ready!==!0)throw Error(`Invalid speech session readiness.`);h=!0,C()};d||Promise.all([t(()=>import(`./speech-text-Cpe8K6uv.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),t(()=>import(`./speech-stream-text-Bh_0kguU.js`),__vite__mapDeps([9,1,2,3,4,5,6,7,8,10,0]))]).then(()=>{d=!0,C()}).catch(w),(async()=>{if(u){try{T(await s(`mobile_prepare_speech_session`,l))}finally{f.signal.aborted&&y()}return}let e=await fetch(`/api/speech/session`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify(l),signal:f.signal});throw await a(e,(e,t)=>{if(r(f.signal),e===`ready`)T(t);else if(e===`error`)throw Error(t.error||`Speech session failed.`)}),Error(`Speech session connection was interrupted.`)})().catch(w);try{return await v,r(f.signal),{requestId:c,signal:f.signal}}catch(e){throw f.abort(e),b(),e}}export{g as a,d as c,b as i,s as l,C as n,p as o,x as r,f as s,S as t,m as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./api-
|
|
1
|
+
import{t as e}from"./api-DmuPqjXK.js";import{C as t,D as n,E as r,a as i,b as a,d as o,g as s,h as c,l,m as u,o as d,p as f,t as p,u as m}from"./query-Bj-DUNYq.js";import{t as h}from"./mutation-CEbxdVYy.js";var g=class extends n{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new h({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=_(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){d.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>f(t,e))}findAll(e={}){return this.getAll().filter(t=>f(e,t))}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return d.batch(()=>Promise.all(e.map(e=>e.continue().catch(c))))}};function _(e){return e.options.scope?.id}var v=class extends n{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??o(r,t),a=this.get(i);return a||(a=new p({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){d.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){d.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){d.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},y=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new v,this.#t=e.mutationCache||new g,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=r.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=i.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(a(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=l(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return d.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;d.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return d.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=d.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(c).catch(c)}invalidateQueries(e,t={}){return d.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=d.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(c)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(c)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(a(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(c).catch(c)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(c).catch(c)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return i.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(m(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(m(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let n={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||=o(n.queryKey,n),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!==`always`),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode=`offlineFirst`),n.queryFn===t&&(n.enabled=!1),n}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},b=new Set;function x(e){if(!(typeof window>`u`)){try{if(window.localStorage.getItem(`pisper:startup-diagnostics`)!==`1`)return}catch{return}b.has(e)||(b.add(e),performance.mark(`pisper-${e}`),console.debug(`[startup]`,e,Math.round(performance.now())))}}var S=new y({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,staleTime:15e3},mutations:{retry:0}}}),C={config:`/api/config`,sessions:`/api/sessions`,"notification-settings":`/api/settings/notifications`,plugins:`/api/plugins`},w=new Map;function T(t){return{queryKey:[t],queryFn:async()=>{for(;;){let n=w.get(t);try{let r=await e(C[t]);if(n!==w.get(t))continue;return t===`sessions`&&x(`sessions-loaded`),r}catch(e){if(n!==w.get(t))continue;throw e}}},staleTime:15e3}}function E(e,t=!1){return S.fetchQuery({...T(e),...t?{staleTime:0}:{}})}function D(e){return w.set(e,(w.get(e)??0)+1),S.invalidateQueries({queryKey:[e],exact:!0},{cancelRefetch:!1})}function O(e){let t=()=>{D(`sessions`)};return e.addEventListener(`pisper:sessions-updated`,t),()=>e.removeEventListener(`pisper:sessions-updated`,t)}export{T as a,S as i,O as n,x as o,D as r,E as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./vendor-ui-DvrYggeS.js";import{c as i,i as a,n as o,o as s,r as c,s as l}from"./dist-B_a0oV4U.js";import{i as u,n as d,r as f,t as p}from"./dist-DAs5KRGl.js";import{t as m}from"./utils-C8uzG5AZ.js";var h=e(t(),1),g=n(),_=Object.defineProperty,v=(e,t)=>_(e,`name`,{value:t,configurable:!0}),y=`Tabs`,[b,x]=l(y,[f]),S=f(),[C,w]=b(y),T=h.forwardRef(v(function(e,t){let{__scopeTabs:n,value:r,onValueChange:s,defaultValue:c,orientation:l=`horizontal`,dir:d,activationMode:f=`automatic`,...p}=e,m=u(d),[h,_]=a({prop:r,onChange:s,defaultProp:c??``,caller:y});return(0,g.jsx)(C,{scope:n,baseId:o(),value:h,onValueChange:_,orientation:l,dir:m,activationMode:f,children:(0,g.jsx)(i.div,{dir:m,"data-orientation":l,...p,ref:t})})},`Tabs`)),E=`TabsList`,D=h.forwardRef(v(function(e,t){let{__scopeTabs:n,loop:r=!0,...a}=e,o=w(E,n),s=S(n);return(0,g.jsx)(d,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:r,children:(0,g.jsx)(i.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})},`TabsList`)),O=`TabsTrigger`,k=h.forwardRef(v(function(e,t){let{__scopeTabs:n,value:r,disabled:a=!1,...o}=e,c=w(O,n),l=S(n),u=M(c.baseId,r),d=N(c.baseId,r),f=r===c.value;return(0,g.jsx)(p,{asChild:!0,...l,focusable:!a,active:f,children:(0,g.jsx)(i.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":a?``:void 0,disabled:a,id:u,...o,ref:t,onMouseDown:s(e.onMouseDown,e=>{!a&&e.button===0&&e.ctrlKey===!1?c.onValueChange(r):e.preventDefault()}),onKeyDown:s(e.onKeyDown,e=>{a||e.target!==e.currentTarget||[` `,`Enter`].includes(e.key)&&c.onValueChange(r)}),onFocus:s(e.onFocus,()=>{let e=c.activationMode!==`manual`;!f&&!a&&e&&c.onValueChange(r)})})})},`TabsTrigger`)),A=`TabsContent`,j=h.forwardRef(v(function(e,t){let{__scopeTabs:n,value:r,forceMount:a,children:o,...s}=e,l=w(A,n),u=M(l.baseId,r),d=N(l.baseId,r),f=r===l.value,p=h.useRef(f);return h.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(c,{present:a||f,children:({present:n})=>(0,g.jsx)(i.div,{"data-state":f?`active`:`inactive`,"data-orientation":l.orientation,role:`tabpanel`,"aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&o})})},`TabsContent`));function M(e,t){return`${e}-trigger-${t}`}v(M,`makeTriggerId`);function N(e,t){return`${e}-content-${t}`}v(N,`makeContentId`);var P=T,F=D,I=k,L=j;function R({className:e,orientation:t=`horizontal`,...n}){return(0,g.jsx)(P,{"data-slot":`tabs`,"data-orientation":t,className:m(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var z=r(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function B({className:e,variant:t=`default`,...n}){return(0,g.jsx)(F,{"data-slot":`tabs-list`,"data-variant":t,className:m(z({variant:t}),e),...n})}function V({className:e,...t}){return(0,g.jsx)(I,{"data-slot":`tabs-trigger`,className:m(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function H({className:e,...t}){return(0,g.jsx)(L,{"data-slot":`tabs-content`,className:m(`flex-1 text-sm outline-none`,e),...t})}export{V as i,H as n,B as r,R as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-Dm1UDg72.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{t as i}from"./storage-BpAqa-YY.js";var a={theme:`system`,density:`comfortable`,accent:`neutral`,customAccent:`#1677e8`,fontScale:`default`,radius:`default`,motion:`system`},o=[`system`,`dark`,`light`],s=[`system`,`scheduled`,`light`,`dark`];function c(e){return o[(o.indexOf(e)+1)%o.length]}var l=r()(t(e=>({sidebarCollapsed:!1,...a,setSidebarCollapsed:t=>e({sidebarCollapsed:t}),toggleSidebar:()=>e(e=>({sidebarCollapsed:!e.sidebarCollapsed})),setTheme:t=>e({theme:t}),cycleTheme:()=>e(e=>({theme:c(e.theme)})),setDensity:t=>e({density:t}),setAccent:t=>e({accent:t}),setCustomAccent:t=>e({accent:`custom`,customAccent:t}),setFontScale:t=>e({fontScale:t}),setRadius:t=>e({radius:t}),setMotion:t=>e({motion:t}),resetAppearance:()=>e(a)}),{name:`pisper-ui`,storage:n(()=>e),version:1,migrate:(e,t)=>{let n=e;return{sidebarCollapsed:n.sidebarCollapsed??!1,...a,...n,theme:t===0&&n.theme===`system`?`scheduled`:n.theme??`system`}},partialize:({sidebarCollapsed:e,theme:t,density:n,accent:r,customAccent:i,fontScale:a,radius:o,motion:s})=>({sidebarCollapsed:e,theme:t,density:n,accent:r,customAccent:i,fontScale:a,radius:o,motion:s}),merge:(e,t)=>{let n=e,r=localStorage.getItem(i.theme),a=localStorage.getItem(i.sidebarCollapsed),o=localStorage.getItem(i.density);return{...t,...n,theme:n?.theme??(r===`system`?`scheduled`:s.includes(r)?r:t.theme),sidebarCollapsed:n?.sidebarCollapsed??a===`1`,density:n?.density??(o===`compact`?`compact`:t.density),accent:n?.accent??t.accent,customAccent:n?.customAccent??t.customAccent,fontScale:n?.fontScale??t.fontScale,radius:n?.radius??t.radius,motion:n?.motion??t.motion}}}));export{c as n,l as r,a as t};
|