pisper 0.6.19 → 0.6.20
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 +5 -5
- package/web/.vite/manifest.json +558 -550
- package/web/assets/{AppDialog-Bq_kuweh.js → AppDialog-BKTqwx46.js} +1 -1
- package/web/assets/{AppOverlays-C6-uz2I7.js → AppOverlays-DEYd3Zud.js} +1 -1
- package/web/assets/{AssetsPage-nWK-SI9U.js → AssetsPage-BsIG0e5H.js} +1 -1
- package/web/assets/{BoardPage-BdI3hfz8.js → BoardPage-CgbOwsbF.js} +3 -3
- package/web/assets/{ChannelsPage-CP8J3G-V.js → ChannelsPage-C9eEdxbz.js} +1 -1
- package/web/assets/{ChatAppearancePage-Cr8N98HJ.js → ChatAppearancePage-CBnvknpv.js} +1 -1
- package/web/assets/{ChatHistoryPage-9AWN-55B.js → ChatHistoryPage-Bq-_Qawn.js} +1 -1
- package/web/assets/ChatPage-Bwn6Qfok.js +553 -0
- package/web/assets/{ConfigPage-CU_oPhEG.js → ConfigPage-D44C5I7w.js} +2 -2
- package/web/assets/{DesktopWindowControls-CoqP7BM1.js → DesktopWindowControls-DGhN5dWj.js} +1 -1
- package/web/assets/{FeaturePage-C6kLKix5.js → FeaturePage-B3PLRtEG.js} +1 -1
- package/web/assets/{FileAttachmentPreview-C4qvBJGC.js → FileAttachmentPreview-fSmyWf24.js} +1 -1
- package/web/assets/{FloatingWidgets-DSbRqMGT.js → FloatingWidgets-C1_4vp7k.js} +1 -1
- package/web/assets/{FocusRuntimeControls-DlBh7Vqg.js → FocusRuntimeControls-DraooZz_.js} +1 -1
- package/web/assets/{GitDiffViewer-DGkjG02b.js → GitDiffViewer-XzdYQWbX.js} +1 -1
- package/web/assets/{ManageProjectsDialog-BFiDAKW5.js → ManageProjectsDialog-BlXjm1PQ.js} +1 -1
- package/web/assets/{MarkdownMessage-BiGbYY8R.js → MarkdownMessage-B-IixrQ3.js} +1 -1
- package/web/assets/{McpPage-myrbtgSi.js → McpPage-D0Zmfgbq.js} +1 -1
- package/web/assets/{MemoryPage-BhKLCAgT.js → MemoryPage-DgZ7cL70.js} +1 -1
- package/web/assets/{MobileNavigation-BrLK8gc5.js → MobileNavigation-BIt1CBum.js} +1 -1
- package/web/assets/{MorePage-B6UzpykD.js → MorePage-BZ4iZ1n_.js} +1 -1
- package/web/assets/{NewFolderDialog-CdALMU5C.js → NewFolderDialog-W9wLUVXP.js} +1 -1
- package/web/assets/{PageHeader-CpubVScP.js → PageHeader-DcCyaFp0.js} +1 -1
- package/web/assets/{PhoneDrawer-BapKZhl9.js → PhoneDrawer-B_eKy4tt.js} +1 -1
- package/web/assets/{PhoneMenuButton-WhIGM1zy.js → PhoneMenuButton-CBT0H1Cn.js} +1 -1
- package/web/assets/{PhoneTopBar-CjMeneXU.js → PhoneTopBar-Czpvw2ML.js} +1 -1
- package/web/assets/{PluginsPage-BEpVVSAC.js → PluginsPage-wk5WpJ7Z.js} +1 -1
- package/web/assets/{SafeModePrompt-HogcxEdk.js → SafeModePrompt-Dtq5wVfV.js} +1 -1
- package/web/assets/{SchedulesPage-ML5Sl4S4.js → SchedulesPage-BtRe2Qht.js} +1 -1
- package/web/assets/SessionBrowserPane-D2Z-J6tl.js +2 -0
- package/web/assets/{SessionContextPanel-guilbPz7.js → SessionContextPanel-Cg8AW4l1.js} +2 -2
- package/web/assets/{SessionHome-BLhLJsZO.js → SessionHome-DIpyJQVn.js} +1 -1
- package/web/assets/SessionInspector-DdpBBhNr.js +1 -0
- package/web/assets/{SessionShell-CMGzYCcG.js → SessionShell-ocBFDevg.js} +1 -1
- package/web/assets/{SettingsSidebar-BKdrNAvp.js → SettingsSidebar-CP5t-q0e.js} +1 -1
- package/web/assets/{ShortcutHelpDialog-DgQKobJy.js → ShortcutHelpDialog-BOcP90RU.js} +1 -1
- package/web/assets/{ShortcutKeys-B1HCKuqe.js → ShortcutKeys-CBl2x5Yl.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-DtpsclSa.js → SidebarUpdateStatus-CqZx7khD.js} +1 -1
- package/web/assets/{SkillsPage-JwfOUart.js → SkillsPage-BGyMMq-9.js} +1 -1
- package/web/assets/{TaskProcessesPane-CUUFhziU.js → TaskProcessesPane-B43p2Dvr.js} +1 -1
- package/web/assets/{TaskTerminalView-BgxdaUIZ.js → TaskTerminalView-BMjmp-4_.js} +1 -1
- package/web/assets/{TerminalPanel-B4VMm8q_.js → TerminalPanel-CH2-Yc1F.js} +1 -1
- package/web/assets/{WebDesktopPet-C10BvWBl.js → WebDesktopPet-Fy9xj1bh.js} +1 -1
- package/web/assets/{WorkflowsPage-iqO_9OJO.js → WorkflowsPage-DvZsyJSV.js} +1 -1
- package/web/assets/{WorkspacePicker-C0t_ekAf.js → WorkspacePicker-LbBXFH77.js} +1 -1
- package/web/assets/{api-Dg-aNpVe.js → api-m-Yq8n0q.js} +1 -1
- package/web/assets/{app-update-8hmqlQl6.js → app-update-DVn3toIR.js} +1 -1
- package/web/assets/{approval-confirm-77ZLTNZI.js → approval-confirm-Ch86qdyC.js} +1 -1
- package/web/assets/{board-projects-CnDn05fw.js → board-projects-KHcPQYWz.js} +1 -1
- package/web/assets/bots-store-BMcWJ2Gm.js +1 -0
- package/web/assets/{chat-api-Dy5Hkicx.js → chat-api-DgJdhfOP.js} +1 -1
- package/web/assets/{client-store-DF9a8Ka9.js → client-store-BkVlLM-4.js} +1 -1
- package/web/assets/{config-search-BA9qWX5h.js → config-search-BqYT_Xre.js} +1 -1
- package/web/assets/{dialog-CtFjznlx.js → dialog-5MLAAE-f.js} +1 -1
- package/web/assets/{events-D0dbOYFR.js → events-B0F69Vd3.js} +1 -1
- package/web/assets/{folder-paths-DEFkIxr2.js → folder-paths-CdOS1VLF.js} +1 -1
- package/web/assets/{hosts-BBCDdN-M.js → hosts-CoGHAtF9.js} +1 -1
- package/web/assets/i18n-Du-JO3Qx.js +1 -0
- package/web/assets/index-BY7X-ZtU.css +2 -0
- package/web/assets/{index-DsXdZRdL.js → index-DmohsuQg.js} +2 -2
- package/web/assets/{mount-app-BDzqFalE.js → mount-app-Cr5Uq-cP.js} +3 -3
- package/web/assets/{permission-rules-api-CPImVuda.js → permission-rules-api-CAxfABVR.js} +1 -1
- package/web/assets/{pick-system-directory-B1clvHS6.js → pick-system-directory-ByTVOp-v.js} +1 -1
- package/web/assets/{placements-DNdBLaY4.js → placements-CuVM9Xxs.js} +2 -2
- package/web/assets/{popover-DN1mndHQ.js → popover-DUWwlhPy.js} +1 -1
- package/web/assets/{public-Cec32eBv.js → public-B00uoqCB.js} +2 -2
- package/web/assets/{public-CNoWpIiC.js → public-CGbDaxd0.js} +1 -1
- package/web/assets/public-CWbnixwI.js +3 -0
- package/web/assets/{public-components-BpHOXPbD.js → public-components-DGfACSCk.js} +1 -1
- package/web/assets/public-diff-DIMQ2JTm.js +1 -0
- package/web/assets/public-events-CxK6EdoY.js +1 -0
- package/web/assets/{public-flags-BYEBqRMd.js → public-flags-BRenaSzJ.js} +1 -1
- package/web/assets/public-session-BeSwdD6a.js +1 -0
- package/web/assets/public-sidebar-CAWnINZG.js +1 -0
- package/web/assets/{runtime-capabilities-store-B5Bam7pC.js → runtime-capabilities-store-DWW9jolt.js} +1 -1
- package/web/assets/{safe-mode-instance-CJE36ukZ.js → safe-mode-instance-65Kg_IPn.js} +1 -1
- package/web/assets/safe-mode-sentinel-CIemi_6b.js +1 -0
- package/web/assets/{session-change-summary-api-CTAw_Fpq.js → session-change-summary-api-CbVgbX2o.js} +1 -1
- package/web/assets/{session-home-BrU5Pj9S.js → session-home-LwsMdqJu.js} +1 -1
- package/web/assets/{session-organization-api-I4CSVACP.js → session-organization-api-BmX-aNPa.js} +1 -1
- package/web/assets/{session-scope-7eIXCeDX.js → session-scope-Bz6CeMq0.js} +1 -1
- package/web/assets/{session-tree-actions-CnUc7KFV.js → session-tree-actions-BLL1s_Ws.js} +1 -1
- package/web/assets/{session-tree-summary-C224W_G6.js → session-tree-summary-BfRtAGwx.js} +1 -1
- package/web/assets/{shortcuts-LBxOVau1.js → shortcuts-Cgx6V2jI.js} +1 -1
- package/web/assets/side-chat-context-Cm84nqzk.js +7 -0
- package/web/assets/{sidebar-rMS3pmrQ.js → sidebar-C0AjfIUc.js} +1 -1
- package/web/assets/{sidebar-store-BGW5sD2q.js → sidebar-store-BhEocW8t.js} +1 -1
- package/web/assets/{speech-session-DTzw8niM.js → speech-session-BI_qH5Lw.js} +1 -1
- package/web/assets/{startup-queries-qM8tclDJ.js → startup-queries-Cevfi-_Z.js} +1 -1
- package/web/assets/{use-i18n-BuN5i-jP.js → use-i18n-Cyg5th6Z.js} +1 -1
- package/web/assets/{use-open-bot-J8_CcQDt.js → use-open-bot-HoswiH7t.js} +1 -1
- package/web/assets/{use-studio-actions-kEfc-Vr2.js → use-studio-actions-CGzcb2Fx.js} +1 -1
- package/web/assets/{useCatalogProjects-MO_MVlJu.js → useCatalogProjects-hKlUioWa.js} +1 -1
- package/web/assets/{useNewProjectPicker-B5OQ8T-2.js → useNewProjectPicker-C9X_vJdU.js} +2 -2
- package/web/assets/{useNow-ChT5op7P.js → useNow-BBVE-LCR.js} +1 -1
- package/web/assets/{usePhoneShell-Bkus67DO.js → usePhoneShell-CDP-O4Gc.js} +1 -1
- package/web/assets/{useSessionListQuery-DdFrJGiI.js → useSessionListQuery-BpWfS-tU.js} +1 -1
- package/web/assets/{useSessionRowActions-CTYVP4el.js → useSessionRowActions-Dd5ulVpS.js} +1 -1
- package/web/assets/{useSidebarModel-BdWaL9Nn.js → useSidebarModel-uxFT2LRy.js} +1 -1
- package/web/assets/{web-preview-DUIdcsL2.js → web-preview-Bo8YMR-t.js} +1 -1
- package/web/assets/{web-preview-events-4X_JU_UG.js → web-preview-events-DIPJR6oR.js} +1 -1
- package/web/assets/{workspace-order-store-DlMf7MI6.js → workspace-order-store-DshLVZf8.js} +1 -1
- package/web/index.html +2 -2
- package/web/assets/ChatPage-Bl94kmVS.js +0 -553
- package/web/assets/SessionBrowserPane-DOmbqdHK.js +0 -2
- package/web/assets/SessionInspector-DewgkKy9.js +0 -1
- package/web/assets/bots-store-DE76fA7-.js +0 -1
- package/web/assets/i18n-CyyEaQdX.js +0 -1
- package/web/assets/index-C13rJGuY.css +0 -2
- package/web/assets/public-CUO7iS84.js +0 -3
- package/web/assets/public-diff-A9crjZfM.js +0 -1
- package/web/assets/public-events-iJAi2TnD.js +0 -1
- package/web/assets/public-session-DM4y_qrY.js +0 -1
- package/web/assets/public-sidebar-Ce5o13yN.js +0 -1
- package/web/assets/safe-mode-sentinel-AmgPcPSa.js +0 -1
- package/web/assets/side-chat-context-hRj7FqXK.js +0 -7
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,r as n,u as r}from"./vendor-router-CSN_DGvx.js";import{i,r as a}from"./vendor-react-DwNgTV1j.js";import{t as o}from"./use-i18n-BuN5i-jP.js";import{t as s}from"./chevron-left-BAtyp3_6.js";import{t as c}from"./copy-DHmIFc52.js";import{t as l}from"./WorkspacePicker-C0t_ekAf.js";import{t as u}from"./monitor-ORxecA9m.js";import{t as d}from"./plus-fQbSqB1n.js";import{a as f,c as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./use-open-bot-J8_CcQDt.js";import{i as S,n as C,r as w,t as T}from"./accordion-CiJMkjqX.js";import{t as E}from"./switch-D_G8wFhs.js";import{t as ee}from"./segmented-control-BlM_GKV6.js";import{t as D}from"./utils-C8uzG5AZ.js";import{t as O}from"./button-CCcCN8tE.js";import{t as k}from"./input-CPw-zkYh.js";import{t as te}from"./textarea-DmATpOqT.js";import{t as A}from"./model-display-kDwvtxrW.js";import{n as j}from"./PageState-Cz6vFMXv.js";import{t as M}from"./BotAvatar-CNL-APwP.js";import{t as N}from"./AppSelect-BD6RAaJ5.js";import{_ as ne,a as P,b as F,c as re,d as I,f as L,g as R,h as z,i as B,l as V,m as H,n as U,r as W,s as G,t as K,u as q,y as J}from"./bots-store-DE76fA7-.js";import{t as Y}from"./public-flags-BYEBqRMd.js";var X=e(i(),1);function Z(e,t){return!t||t.kind===`local`?e(`bots:computer.local`):t.name||e(`bots:computer.unnamed`)}function ie(e,t){return[`npx pisper executor pair --brain ${e.remote.endpoints[0]||t.brain} --fingerprint ${e.remote.fingerprint||t.fingerprint} --code ${e.code} --root ${t.root}`,`npx pisper executor`]}var Q=a();function ae({environment:e,onRemoved:t,onError:n}){let{t:r}=o(),[i,a]=(0,X.useState)(!1),[s,c]=(0,X.useState)(!1),l=async()=>{c(!0);try{await H(e.id),t()}catch(e){n(e instanceof Error?e.message:String(e)),a(!1)}finally{c(!1)}};return(0,Q.jsxs)(`li`,{"data-environment":e.id,className:`flex flex-col gap-1 py-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:D(`size-2 flex-none rounded-full`,e.online?`bg-success`:`bg-content-faint`)}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-content`,children:Z(r,e)}),(0,Q.jsx)(`span`,{className:`text-xs text-content-muted`,children:e.online?r(`bots:computer.online`):r(`bots:computer.offline`)}),e.kind===`node`&&(i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>a(!1),children:r(`bots:computer.cancel`)}),(0,Q.jsx)(O,{size:`sm`,variant:`destructive`,disabled:s,onClick:()=>void l(),children:r(`bots:computer.confirmRemove`)})]}):(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,onClick:()=>a(!0),children:r(`bots:computer.remove`)}))]}),e.roots.length>0&&(0,Q.jsx)(`p`,{className:`truncate pl-4 font-mono text-xs text-content-muted`,children:e.roots.join(` · `)}),e.usedBy.length>0&&(0,Q.jsx)(`p`,{className:`pl-4 text-xs text-content-muted`,children:r(`bots:computer.usedBy`,{names:e.usedBy.map(e=>e.name).join(`、`)})})]})}function oe({pairing:e,onDone:t}){let{t:n}=o(),i=r(),[a,s]=(0,X.useState)(!1),l=ie(e,{brain:n(`bots:computer.brainPlaceholder`),fingerprint:`SHA256:…`,root:n(`bots:computer.rootPlaceholder`)}),u=async()=>{try{await navigator.clipboard.writeText(l.join(`
|
|
2
|
-
`)),s(!0)}catch{s(!1)}};return(0,Q.jsxs)(`section`,{"aria-label":n(`bots:computer.addTitle`),className:`mt-2 rounded-xl border border-stroke bg-surface-subtle p-3 text-sm`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsx)(`h4`,{className:`font-semibold text-content`,children:n(`bots:computer.addTitle`)}),(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,onClick:t,children:n(`bots:computer.done`)})]}),(0,Q.jsxs)(`p`,{className:`mt-1 text-xs text-content-muted`,children:[n(`bots:computer.code`),` `,(0,Q.jsx)(`b`,{"data-pairing-code":!0,className:`font-mono text-content`,children:e.code}),` `,`· `,n(`bots:computer.codeHint`)]}),!e.remote.enabled&&(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 rounded-lg border border-st-attn-border bg-surface-raised px-2.5 py-2 text-xs text-content-secondary`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1`,children:n(`bots:computer.remoteOff`)}),(0,Q.jsx)(O,{size:`sm`,variant:`outline`,onClick:()=>i(`/config/remote-access`),children:n(`bots:computer.openRemote`)})]}),(0,Q.jsx)(`p`,{className:`mt-2 text-xs text-content-muted`,children:n(`bots:computer.runThere`)}),(0,Q.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto rounded-lg bg-surface-raised p-2.5 font-mono text-xs whitespace-pre-wrap break-all text-content-secondary`,children:l.join(`
|
|
3
|
-
`)}),(0,Q.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:n(`bots:computer.rootHint`)}),(0,Q.jsxs)(O,{size:`sm`,variant:`outline`,onClick:()=>void u(),children:[(0,Q.jsx)(c,{"aria-hidden":`true`}),n(a?`bots:computer.copied`:`bots:computer.copy`)]})]})]})}function se({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=U(e=>e.upsert),[s,c]=(0,X.useState)(e.workspace.environmentId),[f,p]=(0,X.useState)(e.workspace.cwd),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(null);(0,X.useEffect)(()=>{c(e.workspace.environmentId),p(e.workspace.cwd)},[e.id,e.workspace.environmentId,e.workspace.cwd]);let b=t.find(e=>e.id===s),x=s===`local`,S=s!==e.workspace.environmentId||f.trim()!==e.workspace.cwd,C=async t=>{_(!0);try{a(await R(e.id,{workspace:{...e.workspace,...t}})),n()}catch(e){r(e instanceof Error?e.message:String(e))}finally{_(!1)}},w=async()=>{try{y(await re())}catch(e){r(e instanceof Error?e.message:String(e))}};return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.description`)}),(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex-none`,children:i(`bots:computer.runsOn`)}),(0,Q.jsxs)(N,{value:s,className:`w-48`,"aria-label":i(`bots:computer.runsOn`),disabled:g,onChange:t=>{c(t.target.value),p(t.target.value===e.workspace.environmentId?e.workspace.cwd:``)},children:[t.length===0&&(0,Q.jsx)(`option`,{value:`local`,children:i(`bots:computer.local`)}),t.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.kind===`local`?i(`bots:computer.local`):i(`bots:computer.option`,{name:Z(i,e),state:e.online?i(`bots:computer.online`):i(`bots:computer.offline`)})},e.id))]})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.folder`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(u,{className:`size-3.5 flex-none text-content-muted`,"aria-hidden":`true`}),(0,Q.jsx)(k,{value:f,className:`font-mono text-xs`,"aria-label":i(`bots:computer.folder`),placeholder:x?i(`bots:computer.folderPlaceholder`):b?.roots[0]??i(`bots:computer.folderPlaceholder`),disabled:g,onChange:e=>p(e.target.value)}),x&&(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:g,onClick:()=>h(!0),children:i(`bots:new.pick`)})]}),!x&&b&&(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.folderInRoots`,{roots:b.roots.join(`、`)})}),S&&(0,Q.jsx)(`div`,{className:`flex justify-end`,children:(0,Q.jsx)(O,{size:`sm`,disabled:g||!f.trim(),onClick:()=>void C({environmentId:s,cwd:f.trim()}),children:i(`bots:computer.switch`)})})]}),(0,Q.jsxs)(`section`,{"aria-label":i(`bots:computer.listTitle`),className:`border-t border-stroke pt-3`,children:[(0,Q.jsx)(`h4`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.listTitle`)}),(0,Q.jsx)(`ul`,{role:`list`,className:`m-0 list-none divide-y divide-stroke p-0`,children:t.map(e=>(0,Q.jsx)(ae,{environment:e,onRemoved:n,onError:r},e.id))}),v?(0,Q.jsx)(oe,{pairing:v,onDone:()=>{y(null),n()}}):(0,Q.jsxs)(O,{size:`sm`,variant:`outline`,className:`mt-1`,onClick:()=>void w(),children:[(0,Q.jsx)(d,{"aria-hidden":`true`}),i(`bots:computer.add`)]})]}),(0,Q.jsx)(l,{open:m,initialPath:f||e.workspace.cwd,onOpenChange:h,onSelect:e=>{p(e),h(!1)}})]})}function ce(e){return`ref`in e?`ref:${e.ref}`:`tier:${e.tier}`}function le(e){return e.startsWith(`ref:`)?{ref:e.slice(4)}:{tier:W.find(t=>`tier:${t}`===e)??`standard`}}function ue({bot:e,saving:t,onSave:n}){let{t:r}=o(),[i,a]=(0,X.useState)([]);(0,X.useEffect)(()=>{let e=!0;return q().then(t=>e&&a(t)).catch(()=>e&&a([])),()=>{e=!1}},[]);let s=i.map(e=>e.name),c=ce(e.model);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex-none`,children:r(`bots:model.model`)}),(0,Q.jsxs)(N,{value:c,className:`w-56`,"aria-label":r(`bots:model.model`),disabled:t,onChange:e=>n({model:le(e.target.value)}),children:[W.map(e=>(0,Q.jsx)(`option`,{value:`tier:${e}`,children:m(r,{tier:e})},e)),`ref`in e.model&&!i.some(e=>`ref:${e.ref}`===c)&&(0,Q.jsx)(`option`,{value:c,children:e.model.ref}),i.map(e=>(0,Q.jsx)(`option`,{value:`ref:${e.ref}`,children:`${A(e.name,s)} · ${e.providerName}`},e.ref))]})]}),(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex-none`,children:r(`bots:model.thinking`)}),(0,Q.jsxs)(N,{value:e.thinking??``,className:`w-56`,"aria-label":r(`bots:model.thinking`),disabled:t,onChange:e=>n({thinking:P.find(t=>t===e.target.value)??null}),children:[(0,Q.jsx)(`option`,{value:``,children:r(`bots:model.thinkingDefault`)}),P.map(e=>(0,Q.jsx)(`option`,{value:e,children:f(r,e)},e))]})]}),(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:r(`bots:model.hint`)})]})}function de({bot:e,onError:t}){let{t:n}=o(),r=U(e=>e.upsert),[i,a]=(0,X.useState)(!1),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(`feishu`),[d,f]=(0,X.useState)(`p2p`),[p,m]=(0,X.useState)(``),[g,_]=(0,X.useState)(``),v=async n=>{c(!0);try{return r(await R(e.id,{channels:n})),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{c(!1)}},b=async()=>{let t=h(p);await v([...e.channels,{platform:l,chatType:d,peerIds:t.length?t:null,senderIds:h(g)}])&&(a(!1),m(``),_(``))};return(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`p`,{className:`mb-2 text-xs text-content-muted`,children:n(`bots:triggers.chatsHint`,{name:e.name})}),e.channels.length>0&&(0,Q.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:e.channels.map((t,r)=>(0,Q.jsxs)(`li`,{"data-bot-channel":t.platform,className:`flex items-start gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-xs`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`b`,{className:`font-medium text-content`,children:[y(n,t.platform),` ·`,` `,t.chatType===`group`?n(`bots:triggers.group`):n(`bots:triggers.p2p`)]}),(0,Q.jsxs)(`span`,{className:`block truncate text-content-muted`,children:[t.peerIds?n(`bots:triggers.peers`,{ids:t.peerIds.join(`、`)}):n(`bots:triggers.allPeers`),` · `,t.senderIds.length?n(`bots:triggers.senders`,{ids:t.senderIds.join(`、`)}):n(`bots:triggers.ownerOnly`)]})]}),(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>void v(e.channels.filter((e,t)=>t!==r)),children:n(`bots:triggers.remove`)})]},`${t.platform}-${r}`))}),i?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(N,{value:l,className:`w-32`,"aria-label":n(`bots:triggers.platform`),onChange:e=>u(e.target.value),children:B.map(e=>(0,Q.jsx)(`option`,{value:e,children:y(n,e)},e))}),(0,Q.jsx)(ee,{value:d,onValueChange:e=>f(e),options:[{value:`p2p`,label:n(`bots:triggers.p2p`)},{value:`group`,label:n(`bots:triggers.group`)}]})]}),(0,Q.jsx)(k,{value:p,"aria-label":n(`bots:triggers.peerIds`),placeholder:n(`bots:triggers.peerIdsPlaceholder`),onChange:e=>m(e.target.value)}),(0,Q.jsx)(k,{value:g,"aria-label":n(`bots:triggers.senderIds`),placeholder:n(d===`group`?`bots:triggers.senderIdsRequired`:`bots:triggers.senderIdsPlaceholder`),onChange:e=>_(e.target.value)}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,onClick:()=>a(!1),children:n(`bots:triggers.cancel`)}),(0,Q.jsx)(O,{size:`sm`,disabled:s||d===`group`&&!h(g).length,onClick:()=>void b(),children:n(`bots:triggers.add`)})]})]}):(0,Q.jsx)(O,{size:`sm`,variant:`outline`,onClick:()=>a(!0),children:n(`bots:triggers.addChat`)})]})}var fe=[1,2,3,4,5,6,0];function pe(){let e=new Date,t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function $({bot:e,onError:t}){let{t:n}=o(),[r,i]=(0,X.useState)([]),[a,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(``),[f,m]=(0,X.useState)(`daily`),[h,g]=(0,X.useState)(`09:00`),[_,v]=(0,X.useState)(pe),[y,b]=(0,X.useState)(1),S=(0,X.useCallback)(async()=>{try{i(await I(e.id))}catch{}},[e.id]);(0,X.useEffect)(()=>{S()},[S]);let C=async e=>{l(!0);try{return await e(),await S(),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{l(!1)}},w=async()=>{let t=u.trim();await C(()=>G({botId:e.id,name:`${e.name}:${t.slice(0,40)}`,botMessage:t,frequency:f,time:h,date:f===`once`?_:``,dayOfWeek:y,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Hong_Kong`}))&&(s(!1),d(``))};return(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[r.length>0&&(0,Q.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:r.map(e=>(0,Q.jsxs)(`li`,{"data-bot-schedule":e.id,className:`flex items-center gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-xs`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`b`,{className:`block truncate font-medium text-content`,children:e.botMessage}),(0,Q.jsx)(`span`,{className:`text-content-muted`,children:p(n,e)})]}),(0,Q.jsx)(E,{checked:e.enabled,disabled:c,"aria-label":n(`bots:triggers.scheduleEnabled`),onCheckedChange:t=>void C(()=>z(e.id,t))}),(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,disabled:c,onClick:()=>void C(()=>V(e.id)),children:n(`bots:triggers.remove`)})]},e.id))}),a?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,Q.jsx)(k,{value:u,maxLength:12e3,"aria-label":n(`bots:triggers.scheduleMessage`),placeholder:n(`bots:triggers.scheduleMessagePlaceholder`),onChange:e=>d(e.target.value)}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(N,{value:f,className:`w-28`,"aria-label":n(`bots:triggers.frequency`),onChange:e=>m(e.target.value),children:[(0,Q.jsx)(`option`,{value:`daily`,children:n(`bots:triggers.daily`)}),(0,Q.jsx)(`option`,{value:`weekly`,children:n(`bots:triggers.weekly`)}),(0,Q.jsx)(`option`,{value:`once`,children:n(`bots:triggers.once`)})]}),f===`weekly`&&(0,Q.jsx)(N,{value:String(y),className:`w-24`,"aria-label":n(`bots:triggers.weekday`),onChange:e=>b(Number(e.target.value)),children:fe.map(e=>(0,Q.jsx)(`option`,{value:e,children:x(n,e)},e))}),f===`once`&&(0,Q.jsx)(k,{type:`date`,value:_,className:`w-40`,"aria-label":n(`bots:triggers.date`),onChange:e=>v(e.target.value)}),(0,Q.jsx)(k,{type:`time`,value:h,className:`w-28`,"aria-label":n(`bots:triggers.time`),onChange:e=>g(e.target.value)})]}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(O,{size:`sm`,variant:`ghost`,onClick:()=>s(!1),children:n(`bots:triggers.cancel`)}),(0,Q.jsx)(O,{size:`sm`,disabled:c||!u.trim(),onClick:()=>void w(),children:n(`bots:triggers.add`)})]})]}):(0,Q.jsx)(O,{size:`sm`,variant:`outline`,onClick:()=>s(!0),children:n(`bots:triggers.addSchedule`)})]})}function me({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=U(e=>e.upsert),[s,c]=(0,X.useState)(e.instructions),[l,u]=(0,X.useState)(!1),[d,p]=(0,X.useState)(!1);(0,X.useEffect)(()=>c(e.instructions),[e.id,e.instructions]);let h=async t=>{u(!0);try{a(await R(e.id,t))}catch(e){r(e instanceof Error?e.message:String(e))}finally{u(!1)}},g=t.find(t=>t.id===e.workspace.environmentId),y=e.workspace.cwd.split(/[\\/]/).filter(Boolean).at(-1)||e.workspace.cwd;return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4 pb-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(M,{avatar:e.avatar,state:J(e),size:48}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`div`,{className:`truncate text-base font-semibold text-content`,children:e.name}),(0,Q.jsx)(`button`,{type:`button`,className:`text-xs text-content-muted underline-offset-2 hover:text-content hover:underline`,onClick:()=>p(e=>!e),children:i(d?`bots:settings.doneLook`:`bots:settings.changeLook`)})]})]}),d&&(0,Q.jsx)(v,{value:e.avatar,disabled:l,onChange:e=>void h({avatar:e})}),(0,Q.jsxs)(`section`,{"aria-label":i(`bots:details.instructions`),children:[(0,Q.jsx)(`h3`,{className:`mb-1 text-sm font-medium text-content`,children:i(`bots:details.instructions`)}),(0,Q.jsx)(te,{value:s,rows:4,maxLength:12e3,"aria-label":i(`bots:details.instructions`),placeholder:i(`bots:details.instructionsPlaceholder`),onChange:e=>c(e.target.value)}),s!==e.instructions&&(0,Q.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,Q.jsx)(O,{size:`sm`,disabled:l,onClick:()=>void h({instructions:s}),children:i(`bots:details.save`)})})]}),(0,Q.jsxs)(T,{type:`multiple`,className:`border-t border-stroke`,children:[(0,Q.jsxs)(w,{value:`computer`,children:[(0,Q.jsx)(S,{children:(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.computer`),(0,Q.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.computerSummary`,{computer:Z(i,g),folder:y})})]})}),(0,Q.jsx)(C,{className:`h-auto`,children:(0,Q.jsx)(se,{bot:e,environments:t,onEnvironmentsChanged:n,onError:r})})]}),(0,Q.jsxs)(w,{value:`model`,children:[(0,Q.jsx)(S,{children:(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:model.title`),(0,Q.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:model.summary`,{model:m(i,e.model),thinking:f(i,e.thinking)})})]})}),(0,Q.jsx)(C,{className:`flex h-auto flex-col gap-3`,children:(0,Q.jsx)(ue,{bot:e,saving:l,onSave:e=>void h(e)})})]}),(0,Q.jsxs)(w,{value:`chats`,children:[(0,Q.jsx)(S,{children:(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:triggers.chats`),(0,Q.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:e.channels.length?i(`bots:settings.chatsCount`,{count:e.channels.length}):i(`bots:settings.notSet`)})]})}),(0,Q.jsx)(C,{className:`h-auto`,children:(0,Q.jsx)(de,{bot:e,onError:r})})]}),(0,Q.jsxs)(w,{value:`schedules`,children:[(0,Q.jsx)(S,{children:i(`bots:triggers.schedules`)}),(0,Q.jsx)(C,{className:`h-auto`,children:(0,Q.jsx)($,{bot:e,onError:r})})]}),(0,Q.jsxs)(w,{value:`advanced`,children:[(0,Q.jsx)(S,{children:(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.advanced`),(0,Q.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.advancedSummary`,{permission:_(i,e.executionMode)})})]})}),(0,Q.jsxs)(C,{className:`flex h-auto flex-col gap-3`,children:[(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{children:i(`bots:details.acceptsWork`)}),(0,Q.jsx)(E,{checked:e.enabled,disabled:l,onCheckedChange:e=>void h({enabled:e})})]}),(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.permission`)}),(0,Q.jsx)(N,{value:e.executionMode,className:`w-44`,"aria-label":i(`bots:details.permission`),disabled:l,onChange:e=>void h({executionMode:e.target.value}),children:[`approval-required`,`workspace-write`,`full-access`].map(e=>(0,Q.jsx)(`option`,{value:e,children:_(i,e)},e))})]}),(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.permissionHint`)}),(0,Q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.tools`)}),(0,Q.jsxs)(N,{value:F(e.tools),className:`w-44`,"aria-label":i(`bots:details.tools`),disabled:l,onChange:e=>void h({tools:e.target.value===`read-only`?[...ne]:null}),children:[(0,Q.jsx)(`option`,{value:`all`,children:i(`bots:details.toolsAll`)}),(0,Q.jsx)(`option`,{value:`read-only`,children:i(`bots:details.toolsReadOnly`)}),F(e.tools)===`custom`&&(0,Q.jsx)(`option`,{value:`custom`,disabled:!0,children:i(`bots:details.toolsCustom`,{count:e.tools?.length??0})})]})]}),(0,Q.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.toolsHint`)})]})]})]})]})}var he={enabled:!1,endpoints:[],fingerprint:null};function ge(){let[e,t]=(0,X.useState)([]),[n,r]=(0,X.useState)(he),[i,a]=(0,X.useState)(!1),o=(0,X.useRef)(0),s=(0,X.useCallback)(async()=>{let e=++o.current;try{let n=await L();if(e!==o.current)return;t(n.environments),r(n.remote)}catch{}finally{e===o.current&&a(!0)}},[]);return(0,X.useEffect)(()=>{s();let e=window.setInterval(()=>{document.visibilityState===`visible`&&s()},1e4);return()=>{window.clearInterval(e),o.current+=1}},[s]),{environments:e,remote:n,loaded:i,refresh:s}}function _e({notify:e}){let{t:i}=o(),a=Y(`bots`),{botId:s=``}=t(),c=r(),l=U(e=>e.bots),u=U(e=>e.loaded),[f,p]=(0,X.useState)(!1),m=(0,X.useCallback)(t=>e(t,`error`),[e]),h=b(m);K(a);let _=l.find(e=>e.id===s)??null;return a?u?!s&&l[0]?(0,Q.jsx)(n,{to:`/bots/${encodeURIComponent(l[0].id)}`,replace:!0}):_?(0,Q.jsx)(ve,{botId:_.id,onOpenChat:()=>void h(_),onError:m},_.id):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(j,{kind:`empty`,title:l.length?i(`bots:page.notFound`):i(`bots:page.emptyTitle`),description:i(`bots:page.emptyDescription`),action:(0,Q.jsxs)(O,{onClick:()=>p(!0),children:[(0,Q.jsx)(d,{"aria-hidden":`true`}),i(`bots:sidebar.newBot`)]})}),(0,Q.jsx)(g,{open:f,onOpenChange:p,onCreated:e=>void h(e)})]}):(0,Q.jsx)(j,{kind:`loading`,title:i(`bots:page.loading`)}):(0,Q.jsx)(j,{kind:`empty`,title:i(`bots:page.disabledTitle`),description:i(`bots:page.disabledDescription`),action:(0,Q.jsx)(O,{onClick:()=>c(`/config/labs`),children:i(`bots:page.openLabs`)})})}function ve({botId:e,onOpenChat:t,onError:n}){let{t:r}=o(),i=U(t=>t.bots.find(t=>t.id===e)),a=U(e=>e.load),c=ge();return i?(0,Q.jsxs)(`div`,{"data-bot-settings":i.id,className:`flex h-full min-h-0 w-full min-w-0 flex-col`,children:[(0,Q.jsxs)(`header`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center gap-2 border-b border-stroke px-3 [[data-custom-titlebar]_&]:pr-[144px]`,children:[(0,Q.jsxs)(O,{variant:`ghost`,size:`sm`,onClick:t,children:[(0,Q.jsx)(s,{"aria-hidden":`true`}),r(`bots:settingsPage.backToChat`,{name:i.name})]}),(0,Q.jsx)(`h1`,{className:`sr-only`,children:r(`bots:settingsPage.title`,{name:i.name})})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,Q.jsx)(`div`,{className:`mx-auto w-[min(640px,calc(100%-32px))] py-6`,children:(0,Q.jsx)(me,{bot:i,environments:c.environments,onEnvironmentsChanged:()=>{c.refresh(),a()},onError:n})})})]}):null}export{_e as BotsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./GitDiffViewer-DGkjG02b.js";export{e as InlineGitDiff};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./events-D0dbOYFR.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./vendor-router-CSN_DGvx.js";import{r as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./use-i18n-BuN5i-jP.js";import{t as r}from"./settings-2-CXJjXJS9.js";import{t as i}from"./button-CCcCN8tE.js";import{t as a}from"./BotAvatar-CNL-APwP.js";import{n as o,t as s,y as c}from"./bots-store-DE76fA7-.js";import{t as l}from"./public-flags-BYEBqRMd.js";var u=t();function d({botId:t,part:d,animate:f=!0,fallback:p=null}){let{t:m}=n(),h=l(`bots`),g=e(),_=o(e=>e.bots.find(e=>e.id===t));if(s(h&&d===`avatar`),!h||!_)return p;if(d===`mark`)return(0,u.jsx)(a,{avatar:_.avatar,state:f?c(_):`idle`,animate:f,size:22});if(d===`name`)return _.name;if(d===`avatar`)return(0,u.jsx)(`span`,{"data-session-bot":_.id,className:`flex flex-none items-center pl-1`,children:(0,u.jsx)(a,{avatar:_.avatar,state:c(_),size:22})});let v=m(`bots:settingsPage.title`,{name:_.name});return(0,u.jsx)(i,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`flex-none text-content-muted hover:text-content pointer-coarse:size-11`,"data-session-bot-settings":_.id,"aria-label":v,title:v,onClick:()=>g(`/bots/${encodeURIComponent(_.id)}`),children:(0,u.jsx)(r,{"aria-hidden":`true`})})}export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t,u as n}from"./vendor-router-CSN_DGvx.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{d as a}from"./routes-DIeaqWVc.js";import{t as o}from"./use-i18n-BuN5i-jP.js";import{t as s}from"./plus-fQbSqB1n.js";import{n as c,t as l}from"./use-open-bot-J8_CcQDt.js";import{t as u}from"./utils-C8uzG5AZ.js";import{t as d}from"./BotAvatar-CNL-APwP.js";import{n as f,t as p,v as m,x as h,y as g}from"./bots-store-DE76fA7-.js";import{t as _}from"./public-flags-BYEBqRMd.js";var v=e(r(),1),y=i();function b(){let{t:e}=o(),r=_(`bots`),i=f(e=>e.bots),b=n(),x=t(),[S,C]=(0,v.useState)(!1),[w,T]=(0,v.useState)(!1),E=l((0,v.useCallback)((e,t)=>b(`/bots/${encodeURIComponent(t)}`),[b]));if(p(r),!r)return null;let D=a(x.pathname),O=/^\/bots\/([^/]+)/.exec(x.pathname)?.[1]??i.find(e=>D&&e.threadSessionId===D)?.id,{shown:k,hidden:A}=h(i,{expanded:w,currentId:O});return(0,y.jsxs)(`section`,{"data-sidebar-bots":!0,"aria-label":e(`bots:sidebar.title`),className:`mb-2`,children:[(0,y.jsxs)(`div`,{className:`flex h-[26px] items-center gap-1.5 px-2.5 text-xs font-medium text-content-muted`,children:[(0,y.jsx)(`h2`,{className:`flex-1`,children:e(`bots:sidebar.title`)}),(0,y.jsx)(`button`,{type:`button`,className:`grid size-6 place-items-center rounded-md hover:bg-surface-hover hover:text-content`,"aria-label":e(`bots:sidebar.newBot`),title:e(`bots:sidebar.newBot`),onClick:()=>C(!0),children:(0,y.jsx)(s,{className:`size-3.5`,"aria-hidden":`true`})})]}),(0,y.jsx)(`ul`,{role:`list`,className:`m-0 list-none p-0`,children:k.map(t=>{let n=t.activity,r=m(e,t);return(0,y.jsx)(`li`,{children:(0,y.jsxs)(`button`,{type:`button`,"data-sidebar-bot":t.id,"aria-current":O===t.id?`page`:void 0,title:r,className:u(`flex h-8 w-full min-w-0 items-center gap-2.5 rounded-[var(--r-md)] px-2.5 text-left hover:bg-surface-hover pointer-coarse:h-11`,O===t.id&&`bg-surface-active hover:bg-surface-active`),onClick:()=>void E(t),children:[(0,y.jsx)(d,{avatar:t.avatar,state:g(t),size:20}),(0,y.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-[13.5px] text-content`,children:[t.name,(0,y.jsx)(`span`,{className:`sr-only`,children:` · ${r}`})]}),n?.needsYou&&(0,y.jsx)(`span`,{"aria-hidden":`true`,className:`size-1.5 flex-none rounded-full bg-st-attn`})]})},t.id)})}),(A>0||w&&i.length>3)&&(0,y.jsx)(`button`,{type:`button`,"data-sidebar-bots-more":!0,"aria-expanded":w,className:`flex h-7 w-full items-center rounded-[var(--r-md)] px-2.5 pl-9 text-left text-xs text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:()=>T(!w),children:w?e(`bots:sidebar.showLess`):e(`bots:sidebar.showAll`,{count:i.length})}),(0,y.jsx)(c,{open:S,onOpenChange:C,onCreated:e=>void E(e)})]})}export{b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-DsXdZRdL.js";var t=`pisper-components-safe-mode`;function n(){try{return e.getItem(t)!==null}catch{return!1}}export{n,t};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimatedList-DB5vqafO.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/vendor-motion-DSW3wzXK.js","assets/react-bits-BsPlLi8F.css","assets/public-session-DM4y_qrY.js","assets/vendor-router-CSN_DGvx.js","assets/use-i18n-BuN5i-jP.js","assets/i18n-CyyEaQdX.js","assets/index-DsXdZRdL.js","assets/index-C13rJGuY.css","assets/storage-8QW6lXuT.js","assets/vendor-state-GkUciC5H.js","assets/settings-2-CXJjXJS9.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/button-CCcCN8tE.js","assets/dist-41X0pdUs.js","assets/BotAvatar-CNL-APwP.js","assets/motion-DTR4ZVle.js","assets/bots-store-DE76fA7-.js","assets/startup-queries-qM8tclDJ.js","assets/query-Bj-DUNYq.js","assets/mutation-CEbxdVYy.js","assets/api-Dg-aNpVe.js","assets/abort-signal-f4JsiYKX.js","assets/public-flags-BYEBqRMd.js","assets/runtime-capabilities-CHYOF_hE.js","assets/runtime-capabilities-store-B5Bam7pC.js","assets/events-D0dbOYFR.js","assets/public-events-iJAi2TnD.js","assets/ClickSpark-B1Rn7ZwL.js","assets/approval-confirm-77ZLTNZI.js","assets/shield-alert-oZqX6MNu.js","assets/kbd-CAufZTkl.js","assets/sheet-BTaIEX4w.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/card-presentation-1oph2b8P.js","assets/session-board-status-D2lpFPiI.js","assets/dialog-CtFjznlx.js","assets/HoldToConfirmButton-BxdJ7icc.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,n as r,r as i}from"./vendor-react-DwNgTV1j.js";import{f as a}from"./routes-DIeaqWVc.js";import{r as o}from"./i18n-CyyEaQdX.js";import{t as s}from"./use-i18n-BuN5i-jP.js";import{o as c}from"./vendor-state-GkUciC5H.js";import{a as l}from"./session-board-status-D2lpFPiI.js";import{t as u}from"./usePhoneShell-Bkus67DO.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{a as f,i as p,n as m,t as h}from"./permission-rules-api-CPImVuda.js";import{t as g}from"./arrow-down-CDGua-ue.js";import{t as _}from"./check-2vYc6QaP.js";import{t as v}from"./chevron-down-CxtxIjiP.js";import{t as y}from"./chevron-left-BAtyp3_6.js";import{t as b}from"./chevron-right-C3t2Rckj.js";import{t as x}from"./chevron-up-D_ZcXjqr.js";import{t as S}from"./copy-DHmIFc52.js";import{t as C}from"./download-BCfIiuaL.js";import{t as w}from"./ellipsis-CfGKfbq6.js";import{t as T}from"./eye-uWAPXNzJ.js";import{a as E,o as D,t as O}from"./GitDiffViewer-DGkjG02b.js";import{t as k}from"./file-Bllajneu.js";import{t as A}from"./folder-open-FIShC5Qk.js";import{t as j}from"./info-DATxy0fb.js";import{t as M}from"./loader-circle-BOwQzHB-.js";import{t as N}from"./monitor-ORxecA9m.js";import{t as P}from"./refresh-cw-TbWxTY4K.js";import{t as F}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as I}from"./rotate-ccw-C0v8V77_.js";import{t as L}from"./shield-alert-oZqX6MNu.js";import{t as R}from"./shield-check-Gvek4RJ7.js";import{t as z}from"./tag-CqkeJlBf.js";import{t as B}from"./trash-2-CNrPOoPR.js";import{t as V}from"./x-07u4-129.js";import{i as H,p as ee,r as U,t as te}from"./dropdown-menu-CFIFNaKO.js";import{i as W,n as G,r as ne,t as K}from"./popover-DN1mndHQ.js";import{i as re,n as ie,t as ae}from"./tooltip-D4MFbqcG.js";import{t as q}from"./utils-C8uzG5AZ.js";import{n as oe,t as J}from"./button-CCcCN8tE.js";import{a as se,d as ce,m as le,o as ue,y as de}from"./events-D0dbOYFR.js";import{a as fe,c as pe,g as me,n as he}from"./shortcuts-LBxOVau1.js";import{t as Y}from"./chat-api-Dy5Hkicx.js";import{r as ge}from"./format-DMJQzoZ7.js";import{t as _e}from"./StatusGlyph-1KgitlUg.js";import{d as ve,f as ye,l as be,m as xe,n as Se,p as Ce,r as we,s as Te,t as Ee}from"./run-activity-CwfO0cui.js";import{t as De}from"./input-CPw-zkYh.js";import{t as Oe}from"./PageState-Cz6vFMXv.js";import{t as ke}from"./alert-firawb0H.js";import{t as Ae}from"./vendor-motion-DSW3wzXK.js";import{i as je,n as Me,r as Ne,t as Pe}from"./MarkdownMessage-BiGbYY8R.js";import{t as Fe}from"./route-context-DvWDul4T.js";import{t as Ie}from"./esm-DCV8yILT.js";import{t as Le}from"./motion-DTR4ZVle.js";import{t as Re}from"./HoldToConfirmButton-BxdJ7icc.js";import{t as ze}from"./card-C3A0b5KR.js";import{t as Be}from"./BrandLogo-k3CvJjd4.js";import{n as Ve,r as He,t as Ue}from"./collapsible-Dcoy-qnz.js";import{a as We,o as Ge,r as Ke,t as qe}from"./session-tree-summary-C224W_G6.js";import{t as Je}from"./FileAttachmentPreview-C4qvBJGC.js";var Ye=d(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),Xe=d(`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`}]]),Ze=d(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Qe=d(`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`}]]),$e=d(`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`}]]),et=d(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),tt=d(`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`}]]),X=e(n(),1),nt=Object.freeze({messages:[],tools:[],approvals:[],questions:[],agents:[],team:null,currentActivity:null,activityFeed:[],lifecycle:null,sessionTreeRevision:0,thinkingText:``,queuedInputs:[],hadQueuedInput:!1,plan:null,executionMode:null,runMode:null,contextUsage:null,sessionUsage:null,promptCache:null,compaction:null,streaming:!1,error:``,loaded:!1,messageStart:null,hasOlder:!1,olderCursor:null});function rt(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 it(e,t){let n=e||nt,r=typeof t==`function`?t(n):{...n,...t};return rt(n,r)?r:n}function at(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function ot(e,t){return Number.isSafeInteger(e.queueRevision)&&Number.isSafeInteger(t.queueRevision)&&t.queueRevision<e.queueRevision}function st(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(ot(e,t))return{...e,messages:i,withdrawnInputIds:n};let a=at(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 ct(e){return e?.role===`user`&&e.queuedPending===!0}function lt(e=[]){let t=e.length-1;for(;t>=0&&ct(e[t]);)--t;return t}function ut(e=[],t){let n=Array.isArray(e)?e:[];if(ct(t))return[...n,t];let r=-1;for(let e=n.length-1;e>=0;--e)if(n[e]?.role===`agent`){r=e;break}return r<0?[...n,t]:[...n.slice(0,r),t,...n.slice(r)]}function dt(e,{agentId:t,deliveredIds:n,frozenText:r,interrupted:i}){if(!n.length)return e;let a=new Set(n),o=e=>e.role===`user`&&typeof e.queuedInputId==`string`&&a.has(e.queuedInputId),s=e.messages.filter(o).map(e=>({...e,queuedPending:!1})),c=e.messages.filter(e=>!o(e)),l=[...new Set([...e.deliveredInputIds||[],...n])],u=c.findIndex(e=>e.id===t);if(u<0)return{...e,deliveredInputIds:l};let d=c[u],f=c.filter(e=>e.id.startsWith(`${t}-part-`)).length,p=r?[{id:`${t}-part-${f+1}`,role:`agent`,text:r,streaming:!1,...i?{interrupted:!0}:{}}]:[];return{...e,deliveredInputIds:l,messages:[...c.slice(0,u),...p,...s,r?{...d,text:``}:d,...c.slice(u+1)]}}function ft(e){return!!(e?.streaming||e?.recovering||e?.pendingRuntimeSelection||e?.switchingModel||e?.switchingThinking||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function pt(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 mt(e,t,n){return t&&pt(n)?n:pt(e.runActivity)?e.runActivity:null}function ht(e,t){if(e&&(e.loaded||e.streaming||Ce(e)!==void 0))return xe(e,null);let n=Ce(t);return n===void 0?xe(e,null):n}function gt(e,t={}){return!!e?.items?.length}var Z=i(),_t=e(r(),1);function vt(e,t){return!!(t.sessionId&&e?.sessionId===t.sessionId&&e.streaming&&!e.completed&&!t.streaming&&t.completed&&e.runStartedAt&&Number.isFinite(Date.parse(e.runStartedAt))&&e.runStartedAt===t.runStartedAt)}function yt(e,t,n=[]){if(!vt(e,t))return!1;let r=Date.parse(t.runStartedAt||``);return Number.isFinite(r)?n.some(e=>{let t=Date.parse(e.changedAt);return e.reverted||!Number.isFinite(t)||t<r?!1:e.added>0||e.removed>0||e.status===`created`||e.status===`deleted`||!e.snapshot&&e.pending}):!1}function bt(e,t){let n=Math.min(400,t-280-8),r=Math.max(280,Math.min(720,t-n-8));return Math.min(r,xt(e))}function xt(e){return typeof e!=`number`||!Number.isFinite(e)?360:Math.min(720,Math.max(280,Math.round(e)))}var St=new Set([`changes`,`files`,`plan`,`processes`,`sources`,`side-chat`]);function Ct(e,t,n=``){return{id:e,kind:t,resourceId:n,draft:``,url:``,view:{reading:{},expandedFiles:[],expandedProcesses:[],processFollow:{},processScroll:{},query:``,filter:``,selectedSourceId:``,follow:!0}}}function wt(e){return{pages:e?[Ct(`page-1`,e)]:[],activeId:e?`page-1`:``,nextId:e?2:1,contentOpen:!1,summaryOpen:!1,contentWidth:null,conversationScrollTop:null}}function Tt(e,t){if(t.type===`workspace`)return{...e,...t.contentWidth===void 0?{}:{contentWidth:xt(t.contentWidth)},...t.contentOpen===void 0?{}:{contentOpen:t.contentOpen&&e.pages.length>0},...t.summaryOpen===void 0?{}:{summaryOpen:t.summaryOpen},...t.conversationScrollTop!==void 0&&Number.isFinite(t.conversationScrollTop)?{conversationScrollTop:Math.max(0,t.conversationScrollTop)}:{}};if(t.type===`add`||t.type===`open`||t.type===`kind`){let n=t.type===`kind`?t.id:t.type===`open`?t.replaceId:void 0,r=e.pages.find(e=>e.id===n);if(t.type===`kind`&&!r)return e;let i=`resourceId`in t&&t.resourceId||``,a=e.pages.find(e=>e.id!==n&&e.kind===t.kind&&e.resourceId===i&&(St.has(t.kind)||!!i));if(a){let t=r?.kind===`new`?e.pages.filter(e=>e.id!==n):e.pages;return{...e,pages:t,activeId:a.id,contentOpen:!0,summaryOpen:!1}}if(!r&&e.pages.length>=12)return e;let o=Ct(r?.id||`page-${e.nextId}`,t.kind,i);return{...e,pages:r?e.pages.map(e=>e.id===o.id?o:e):[...e.pages,o],activeId:o.id,nextId:e.nextId+ +!r,contentOpen:!0,summaryOpen:!1}}let n=e.pages.findIndex(e=>e.id===t.id);if(n<0)return e;if(t.type===`select`)return{...e,activeId:t.id,contentOpen:!0};if(t.type===`close`){let r=e.pages.filter(e=>e.id!==t.id);return{...e,pages:r,activeId:e.activeId===t.id?r[Math.min(n,r.length-1)]?.id||``:e.activeId,contentOpen:r.length>0&&e.contentOpen}}return{...e,pages:e.pages.map(e=>e.id===t.id?t.type===`resource`?{...e,resourceId:t.resourceId}:t.type===`view`?{...e,view:{...e.view,...t.patch,reading:{...e.view.reading,...t.patch.reading}}}:{...e,...t.draft===void 0?{}:{draft:t.draft},...t.url===void 0?{}:{url:t.url}}:e)}}var Et=c(e=>({sessions:{},update:(t,n,r)=>{let i=`unchanged`;return t&&e(e=>{let a=Object.prototype.hasOwnProperty.call(e.sessions,t)?e.sessions[t]:wt(`id`in r?n:void 0),o=Tt(a,r);return o===a?((r.type===`add`||r.type===`open`)&&a.pages.length>=12&&(i=`limit`),e):(i=`updated`,{sessions:{...e.sessions,[t]:o}})}),i},forget:t=>e(e=>{let n={...e.sessions};return delete n[t],{sessions:n}})})),Dt=(0,X.createContext)(null);function Ot(e,t,n=!1){let r=Object.fromEntries(E(e).filter(e=>e.hunks.length>0).map(e=>{let t=0,n=0;for(let r of e.hunks)for(let e of r.rows)e.kind===`pair`&&(e.next.tone===`added`&&t++,e.old.tone===`deleted`&&n++);return[e.path,{added:t,removed:n}]}));return{added:Object.values(r).reduce((e,t)=>e+t.added,0),removed:Object.values(r).reduce((e,t)=>e+t.removed,0),partial:n||t.some(e=>!Object.hasOwn(r,e)),files:r}}var kt=(0,X.createContext)(null),At=(0,X.createContext)(null),jt=(0,X.createContext)(null);function Mt({error:e,title:t,pending:n=!1,onRetry:r,className:i}){let{t:a}=s(),[o,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(!1);return(0,Z.jsx)(ke,{role:`group`,className:q(`min-w-0 rounded-md border-stroke bg-surface-subtle px-3 py-2 text-content-secondary`,i),children:(0,Z.jsxs)(Ue,{open:o,onOpenChange:c,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,Z.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[n?(0,Z.jsx)(oe,{className:`size-4`}):(0,Z.jsx)(j,{"aria-hidden":`true`,className:`size-4 shrink-0 text-content-muted`}),(0,Z.jsx)(`span`,{children:t||a(`chat:requestNotice.incomplete`)})]}),r&&(0,Z.jsxs)(J,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 gap-1 px-2 text-xs text-content-secondary max-[650px]:min-h-11 pointer-coarse:min-h-11`,disabled:n||l,onClick:async()=>{if(!l){u(!0);try{await r()}catch{}finally{u(!1)}}},children:[(0,Z.jsx)(I,{"aria-hidden":`true`,className:q(`size-3.5`,l&&`animate-spin`)}),a(`chat:chatMessage.retry`)]}),e&&(0,Z.jsx)(He,{asChild:!0,children:(0,Z.jsxs)(J,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 gap-1 px-2 text-xs text-content-muted max-[650px]:min-h-11 pointer-coarse:min-h-11`,children:[a(o?`chat:requestNotice.hideDetails`:`chat:requestNotice.showDetails`),(0,Z.jsx)(v,{"aria-hidden":`true`,className:q(`size-3 transition-transform`,o&&`rotate-180`)})]})})]}),(0,Z.jsx)(Ve,{children:(0,Z.jsx)(`pre`,{tabIndex:0,"aria-label":a(`chat:requestNotice.details`),className:`mt-2 max-h-48 overflow-auto rounded-sm border border-stroke-soft bg-code p-[8px_10px] font-mono text-[12px] leading-[1.6] whitespace-pre-wrap text-content-soft [overflow-wrap:anywhere] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus`,children:e})})]})})}function Nt(e,{threshold:t=64,onUnreadChange:n,requestFrame:r=e=>requestAnimationFrame(e),cancelFrame:i=e=>cancelAnimationFrame(e),reducedMotion:a}){let o=e.ownerDocument,s=o.defaultView?.matchMedia?.(`(prefers-reduced-motion: reduce)`),c=a||(()=>{let e=o.documentElement.dataset.motion;return e===`reduced`||e!==`full`&&!!s?.matches}),l=!0,u=!1,d=!1,f=null,p=null,m=null,h=e.scrollTop,g=!1,_=!1,v=null,y=()=>Math.max(0,e.scrollHeight-e.clientHeight),b=()=>_||v!==null,x=()=>h-e.scrollTop>Math.max(t,e.clientHeight/2)&&y()-e.scrollTop>t,S=e=>{u!==e&&(u=e,n(e))},C=()=>{p!==null&&i(p),p=null},w=()=>{f!==null&&i(f),f=null,m=null,C(),g=!1,h=e.scrollTop},T=()=>{C(),g=!0},E=()=>{C(),p=r(()=>{p=r(()=>{if(p=null,x()){A();return}if(l&&!b()&&Math.abs(y()-e.scrollTop)>1){k();return}g=!1,h=e.scrollTop})})},D=t=>{e.scrollTo({top:t,behavior:`instant`}),h=e.scrollTop},O=t=>{if(f=null,d||!l||b())return;if(x()){A();return}let n=y(),i=n-e.scrollTop,a=m===null?1e3/60:Math.min(64,t-m);m=t;let o=1-.85**(Math.max(0,a)/(1e3/60));if(c()||Math.abs(i)<=1){i!==0&&D(n),m=null,E();return}D(e.scrollTop+Math.sign(i)*Math.min(Math.abs(i),Math.max(1,Math.abs(i)*o))),f=r(O)},k=()=>{d||!l||b()||(T(),f===null&&(f=r(O)))},A=()=>{d||(l=!1,w())},j=()=>{l=!0,S(!1),k()},M=()=>{if(d)return;if(g){x()&&A();return}let n=e.scrollTop-h;h=e.scrollTop,n<-.5&&y()-e.scrollTop>1?A():n>.5&&y()-e.scrollTop<=t&&j()},N=t=>{t.ctrlKey||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.deltaY<0?A():t.deltaY>0&&y()-e.scrollTop<=1&&j())},P=e=>{let t=e.touches[0];t&&(v={x:t.clientX,y:t.clientY},w())},F=e=>{let t=e.touches[0];if(!t||!v)return;let n=t.clientX-v.x,r=t.clientY-v.y;Math.abs(r)<2||(r>0&&r>Math.abs(n)&&A(),v={x:t.clientX,y:t.clientY})},I=()=>{v=null,k()},L=e=>{e.pointerType===`touch`||e.button>1||(_=!0,w())},R=()=>{_&&(_=!1,k())},z=e=>{let t=e.target;e.defaultPrevented||t?.closest?.(`input, textarea, select, [contenteditable]`)||(e.key===`ArrowUp`||e.key===`PageUp`||e.key===`Home`||e.key===` `&&e.shiftKey)&&A()};e.addEventListener(`scroll`,M,{passive:!0}),e.addEventListener(`wheel`,N,{passive:!0}),e.addEventListener(`touchstart`,P,{passive:!0}),e.addEventListener(`touchmove`,F,{passive:!0}),e.addEventListener(`touchend`,I,{passive:!0}),e.addEventListener(`touchcancel`,I,{passive:!0}),e.addEventListener(`pointerdown`,L,{passive:!0}),e.addEventListener(`keydown`,z),o.addEventListener(`pointerup`,R,{passive:!0}),o.addEventListener(`pointercancel`,R,{passive:!0}),s?.addEventListener?.(`change`,k);let B=typeof ResizeObserver>`u`?null:new ResizeObserver(k);return B?.observe(e),{maintainBottom:k,pauseFollowing:A,restorePosition(e){d||!Number.isFinite(e)||(A(),S(!1),D(Math.max(0,e)))},contentChanged(){d||(l?k():S(!0))},scrollToBottom(e=`auto`){d||(w(),l=!0,S(!1),e===`smooth`?k():(T(),D(y()),E()))},dispose(){d=!0,w(),B?.disconnect(),e.removeEventListener(`scroll`,M),e.removeEventListener(`wheel`,N),e.removeEventListener(`touchstart`,P),e.removeEventListener(`touchmove`,F),e.removeEventListener(`touchend`,I),e.removeEventListener(`touchcancel`,I),e.removeEventListener(`pointerdown`,L),e.removeEventListener(`keydown`,z),o.removeEventListener(`pointerup`,R),o.removeEventListener(`pointercancel`,R),s?.removeEventListener?.(`change`,k)}}}function Pt(e,{threshold:t=64,resetKey:n,readInitialPosition:r}={}){let i=(0,X.useRef)(r);i.current=r;let a=(0,X.useRef)(null),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(null),d=(0,X.useCallback)(e=>{a.current=e,s(e)},[]);return(0,X.useLayoutEffect)(()=>{if(!o)return;let e=Nt(o,{threshold:t,onUnreadChange:l});u.current=e,l(!1);let n=i.current?.();return typeof n==`number`?e.restorePosition(n):e.scrollToBottom(),()=>{e.dispose(),u.current=null}},[n,o,t]),(0,X.useEffect)(()=>{u.current?.contentChanged()},[e]),{scrollRef:a,scrollElement:o,setScrollRef:d,hasUnread:c,scrollToBottom:(0,X.useCallback)((e=`auto`)=>{u.current?.scrollToBottom(e)},[]),maintainBottom:(0,X.useCallback)(()=>{u.current?.maintainBottom()},[]),pauseFollowing:(0,X.useCallback)(()=>{u.current?.pauseFollowing()},[])}}function Ft(e){let t=e.runActivity,n=t?.activityFeed,r=t?.tools;return Array.isArray(n)&&n.length?n.length:Array.isArray(r)?r.length:0}function It(e){return String(e||``).split(`
|
|
3
|
-
`).map(e=>e.trim()).find(Boolean)||``}function Lt(e,{turnsKnown:t}){let n=-1;for(let t=lt(e);t>=0;--t)if(e[t]?.role===`user`){n=t;break}if(n<=0)return null;let r=-1,i=0;for(let t=0;t<n;t+=1)e[t]?.role===`user`&&(r=t,i+=1);let a=0,o=!1;for(let t=Math.max(0,r);t<n;t+=1){let n=e[t];n?.role===`agent`&&(a+=Ft(n),o=!!n.error)}return{latestIndex:n,turnBase:i,previous:{turn:t&&r>=0?i:null,text:r>=0?It(e[r]?.text):``,operations:a,failed:o}}}function Rt({text:e,copyLabel:t,getText:n}){let{t:r}=s(),[i,a]=(0,X.useState)(`idle`),o=(0,X.useRef)(0),c=(0,X.useRef)(null);(0,X.useEffect)(()=>(a(`idle`),()=>{o.current+=1,c.current!==null&&clearTimeout(c.current)}),[e]);let l=async()=>{if(i===`pending`||i===`copied`)return;let t=++o.current;c.current!==null&&clearTimeout(c.current),a(`pending`);try{if(await navigator.clipboard.writeText(n?.()||e),t!==o.current)return;a(`copied`),c.current=setTimeout(()=>a(`idle`),1800)}catch{t===o.current&&a(`failed`)}},u=i===`copied`?r(`common:markdownMessage.copied`):t??r(`chat:chatMessage.copyReply`);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(ae,{children:[(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,disabledMode:`focusable`,"aria-label":u,"aria-busy":i===`pending`||void 0,"aria-disabled":i===`pending`||i===`copied`||void 0,onClick:i===`copied`||i===`pending`?void 0:()=>void l(),children:i===`copied`?(0,Z.jsx)(_,{size:16,className:`text-success`}):i===`pending`?(0,Z.jsx)(M,{size:16,className:`animate-spin`}):(0,Z.jsx)(S,{size:16})})}),(0,Z.jsx)(ie,{children:u})]}),(0,Z.jsx)(`span`,{role:`status`,className:i===`failed`?`order-last basis-full text-xs text-destructive`:`sr-only`,children:i===`failed`?r(`chat:chatMessage.copyReplyFailed`):i===`copied`?r(`common:markdownMessage.copied`):``})]})}var zt=new Map,Bt=e=>{let t=zt.get(e);return t||(t=Ae.create(e),zt.set(e,t)),t};(0,X.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=Bt(t),o=(0,X.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,Z.jsx)(a,{animate:{backgroundPosition:`0% center`},className:q(`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 Vt=(0,X.createContext)(null),Ht=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,X.useMemo)(()=>({isStreaming:t}),[t]);return(0,Z.jsx)(Vt.Provider,{value:i,children:(0,Z.jsx)(Ue,{asChild:!0,"data-slot":`plan`,...r,children:(0,Z.jsx)(ze,{className:q(`shadow-none`,e),children:n})})})},Ut=({defaultOpen:e=!0,className:t,...n})=>(0,Z.jsx)(Ue,{className:q(t),defaultOpen:e,...n}),Wt=4e3,Gt=`… 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 qt(e,t=Wt){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(`
|
|
4
|
-
`);return a>=0&&a<Math.floor(r/3)&&(i=i.slice(a+1)),{text:Kt(`${Gt}\n${i}`),truncated:!0}}function Jt(){let e=globalThis.pisperDesktop;return e?.computerUseStartStream?e:null}function Yt({target:e,fallbackImage:t,streaming:n}){let{t:r}=s(),i=Number(e.target?.windowId)||0,[a,o]=(0,X.useState)(null),[c,l]=(0,X.useState)(`connecting`),[u,d]=(0,X.useState)(!1),f=(0,X.useRef)(null);(0,X.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,X.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}`,o({url:f.current,width:e.width,height:e.height,timestampMs:e.timestampMs}),l(`live`)):e.type===`error`?l(`unavailable`):e.type===`downgraded`?l(e=>e===`live`?e:`connecting`):e.type===`stopped`&&l(`unavailable`))}).catch(()=>{t&&l(`unavailable`)}),()=>{t=!1,e.computerUseStopStream?.(i).catch(()=>{})}},[n,i]);let p=a?.url||(t?.url?String(t.url):``),m=String(e.target?.windowTitle||e.target?.app||``),h=c===`live`,g=(0,X.useMemo)(()=>`${a?.width||16} / ${a?.height||10}`,[a?.width,a?.height]);return(0,Z.jsxs)(`div`,{className:`computer-use-live-mirror my-0.5 w-full overflow-hidden rounded-md border border-stroke bg-code`,"data-pisper-live-mirror":h?`live`:c,children:[p?(0,Z.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,Z.jsx)(`div`,{className:`computer-use-live-placeholder grid min-h-[84px] w-full place-items-center text-xs text-content-muted`,style:{aspectRatio:g},children:r(`chat:computerUseLive.waitingForFirstFrame`)}),u?(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-stroke-soft bg-warning-soft px-2.5 py-1 text-xs text-warning-strong`,"data-pisper-secure-input":`active`,children:[(0,Z.jsx)(L,{size:12,className:`flex-none`}),(0,Z.jsx)(`span`,{className:`min-w-0`,children:r(`chat:computerUseLive.secureInput`)})]}):null,(0,Z.jsxs)(`div`,{className:`flex min-h-7 items-center justify-between gap-2 border-t border-stroke-soft bg-panel px-2.5 text-xs text-content-muted`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,Z.jsx)(N,{size:12}),(0,Z.jsx)(`span`,{className:`truncate`,title:m,children:m||r(`chat:computerUseLive.appWindow`)})]}),(0,Z.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5 ${h?`font-medium text-accent-fg`:`text-content-muted`}`,"data-pisper-live-mirror-status":c,children:[h&&(0,Z.jsx)(oe,{className:`size-3`}),r(h?`chat:computerUseLive.live`:c===`connecting`?`chat:computerUseLive.connecting`:`chat:computerUseLive.staticPreview`)]})]})]})}var Xt=(0,X.memo)(Yt),Zt=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 Qt(e){return Zt.has(String(e||``))}function $t(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`tool`&&Qt(n.name)&&Number(n.target?.windowId)>0)return n}return null}function en(e,t){return e===`read`?t(`chat:agentRunActivity.readingFiles`):e===`grep`?t(`chat:agentRunActivity.searchingContent`):e===`find`?t(`chat:agentRunActivity.findingFiles`):e===`ls`?t(`chat:agentRunActivity.browsingDirectories`):e===`edit`?t(`chat:agentRunActivity.editingFiles`):e===`write`?t(`chat:agentRunActivity.writingFiles`):e===`bash`?t(`chat:agentRunActivity.runningCommands`):e===`codemode`?t(`chat:agentRunActivity.runningScript`):e===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):e===`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`):be(e)?t(`chat:agentRunActivity.readingPlan`):ve(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 tn(e,t){return e===`read`?t(`chat:agentRunActivity.filesRead`):e===`grep`?t(`chat:agentRunActivity.searchCompleted`):e===`find`?t(`chat:agentRunActivity.findCompleted`):e===`ls`?t(`chat:agentRunActivity.directoriesBrowsed`):e===`edit`?t(`chat:agentRunActivity.filesEdited`):e===`write`?t(`chat:agentRunActivity.filesWritten`):e===`bash`?t(`chat:agentRunActivity.commandCompleted`):e===`codemode`?t(`chat:agentRunActivity.scriptCompleted`):e===`spawn_agent`?t(`chat:agentRunActivity.subagentStarted`):e===`send_team_message`?t(`chat:agentRunActivity.teamMessageSent`):e===`list_team_members`?t(`chat:agentRunActivity.teamMembersListed`):e===`run_team_workflow`?t(`chat:agentRunActivity.teamWorkflowStarted`):e===`wait_agent`?t(`chat:agentRunActivity.subagentStatusUpdated`):e===`observe_ui`||e===`inspect_ui`||e===`expand_ui`?t(`chat:agentRunActivity.interfaceObserved`):e===`act_ui`?t(`chat:agentRunActivity.interfaceActionCompleted`):e===`ocr_ui`||e===`read_text`?t(`chat:agentRunActivity.interfaceTextRead`):ve(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function nn(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 rn(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 an(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 on(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`)}function sn(e){if(typeof e!=`string`&&typeof e!=`number`)return 0;let t=new Date(e).getTime();return Number.isFinite(t)?t:0}function cn(e){if(!e||e.status===`running`)return null;let t=e.type===`agent`&&e.agent||{},n=sn(e.startedAt||t.startedAt),r=sn(e.finishedAt||t.completedAt||e.updatedAt);return!n||!r||r<n?null:r-n}function ln(e,t=!1){let n=Math.max(0,Math.round(e));if(n<1e3)return t?`0 s`:`${n} ms`;if(n<1e4&&!t)return`${(n/1e3).toFixed(1)} s`;let r=Math.floor(n/1e3);if(r<60)return`${r} s`;let i=Math.floor(r/60),a=String(r%60).padStart(2,`0`);return i<60?`${i}:${a}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${a}`}function un(e){if(e?.type!==`tool`||e.status!==`error`)return null;let t=/Command exited with code (\d+)/.exec(`${String(e.output||``)}\n${String(e.message||``)}`);return t?t[1]:null}var dn=[],fn=`flex min-h-[36px] min-w-0 items-center gap-[10px] px-[12px] py-[5px] text-[13px] max-[650px]:min-h-11 pointer-coarse:min-h-11 [.agent-run-activity.compact_&]:min-h-[30px]`,pn=`cursor-pointer list-none transition-colors duration-(--d-fast) ease-precise focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus [&::-webkit-details-marker]:hidden`,mn=`${pn} hover:bg-surface-subtle [details[open]>&]:bg-surface-subtle`,hn=`${pn} bg-st-run-soft`,gn=`agent-run-disclosure size-[14px] flex-none text-content-muted transition-transform duration-(--d-fast) ease-precise [details[open]>summary_&]:rotate-90`,_n=(0,X.lazy)(()=>t(()=>import(`./AnimatedList-DB5vqafO.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([0,1,2,3,4,5,6])));function vn(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 yn(e){let[t,n]=(0,X.useState)(()=>Date.now());return(0,X.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function bn({startedAt:e,finishedAt:t,streaming:n}){let r=yn(n),i=Te(e,t,r);return!i&&!n?null:(0,Z.jsx)(`span`,{className:`agent-run-duration flex-none text-[12px] whitespace-nowrap text-content-muted tabular-nums`,children:ln(i,!!n)})}function Q(e){return String(e||``).replace(/\s+/g,` `).trim()}function xn(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:e?.name===`codemode`?{text:String(t.code||``).split(`
|
|
5
|
-
`).map(e=>e.trim()).find(e=>e&&!e.startsWith(`// @options:`))||``,command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:Q(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${Q(t.pattern)}”`:``,Q(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[Q(t.pattern),Q(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[Q(t.action),Q(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`observe_ui`?{text:Q(t.root||t.mode)}:e?.name===`act_ui`?{text:Array.isArray(t.actions)?t.actions.slice(0,3).map(e=>Q(e?.action)).filter(Boolean).join(` · `):``}:e?.name===`search_ui`?{text:Q(t.text||t.role)}:e?.name===`find_roots`?{text:Q(t.app||t.text)}:e?.name===`ocr_ui`?{text:Q(t.language)}:e?.name===`spawn_agent`?{text:Q(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:Q(t.target)}:e?.name===`generate_visual`?{text:Q(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:Q(t.query)}:{text:``}}function Sn(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,_=dn;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:en(e.name,t)}):r?tn(e.name,t):en(e.name,t);let i=xn(e);p=i.text,h=!!i.command,m=Q(e.message)}else if(e.type===`plan`){d=`plan`;let n=ye(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||dn,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):rn(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=Q(n.taskName)||t(`chat:agentRunActivity.subagent`),i=Q(n.agentProfile),a=Q(n.modelTier),o=Q(n.model),s=i||a?t(`chat:agentRunActivity.subagentWithProfile`,{name:r,profile:i||a,model:o}):r,c=!Array.isArray(n.modelFallbackReasons)||!n.modelFallbackReasons.length?``:n.modelSource===`tier`?t(`chat:agentRunActivity.subagentTierModelFallback`,{model:o}):t(i?`chat:agentRunActivity.subagentParentModelFallback`:`chat:agentRunActivity.subagentTierUnavailableFallback`,{model:o}),l=we(n.status);f=nn(n.status,s,t),d=l.tone,p=(n.currentActivity?.type===`tool`?xn(n.currentActivity).text||n.currentActivity.name:``)||Q(n.error)||c||Q(n.message),m=n.status===`running`?Q(n.output):``,g=n.startedAt||g}else if(e.type===`communication`){let n=e.communication||{};d=`running`,f=t(`chat:agentRunActivity.teamMessageActivity`),p=t(`chat:agentRunActivity.teamMessageDetail`,{from:n.fromTaskName||n.fromAgentId||`lead`,to:n.toTaskName||n.toAgentId||``}),m=Q(n.message)}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=on(e.compaction||a,t);else if(e.type===`retry`)d=`waiting`,f=t(`chat:agentRunActivity.retryingRequest`),p=e.summary||c||``;else{let a=Math.max(0,u-new Date(l||u).getTime());o?(d=`failed`,f=t(`chat:agentRunActivity.thisRunFailed`),p=o):s?(d=`stopped`,f=t(`chat:agentRunActivity.runStopped`)):n?a>=1e4?(d=`waiting`,f=t(`chat:agentRunActivity.waitingForTheModel`),p=t(`chat:agentRunActivity.noNewProgressForCountS`,{count:Math.floor(a/1e3)})):f=e.stage===`starting`?t(`chat:agentRunActivity.startingTheModel`):e.stage===`responding`?t(`chat:agentRunActivity.preparingTheResponse`):e.stage===`processing_result`?t(`chat:agentRunActivity.processingToolResult`):e.stage===`waiting_retry`?t(`chat:agentRunActivity.waitingToRetry`):e.stage===`finalizing`?t(`chat:agentRunActivity.finalizingTheRun`):e.stage===`working`?t(`chat:agentRunActivity.advancingTheTask`):String(i||``).trim()?t(`chat:agentRunActivity.reasoningAboutTheNextStep`):String(r||``).trim()?t(`chat:agentRunActivity.preparingTheResponse`):t(`chat:agentRunActivity.understandingTheTask`):(d=`completed`,f=t(`chat:agentRunActivity.reasoningCompleted`),p=Q(i)),String(i||``).trim()&&(p=Q(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}var Cn={running:{kind:`run`,color:`text-st-run`},compacting:{kind:`run`,color:`text-st-run`},completed:{kind:`done`,color:`text-st-done`},plan:{kind:`done`,color:`text-st-done`},failed:{kind:`failed`,color:`text-st-fail`},stopped:{kind:`stopped`,color:`text-st-queue`},waiting:{kind:`queued`,color:`text-st-queue`}};function wn({tone:e,spin:t=!0}){let n=Cn[e]??{kind:`queued`,color:`text-st-queue`};return(0,Z.jsx)(`span`,{className:`agent-run-status-icon grid size-[18px] flex-none place-items-center`,children:(0,Z.jsx)(_e,{status:n.kind,spin:t&&n.kind===`run`,className:`size-[15px] ${n.color}`})})}function Tn(e,t){let n=e.type===`agent`?e.agent?.status:e.status;return n===`error`||n===`failed`?`failed`:t&&[`running`,`starting`,`queued`].includes(String(n))||t&&e.type===`compaction`?`running`:`done`}function En(e,t){let n={total:e.length,done:0,running:0,failed:0};for(let r of e)n[Tn(r,t)]+=1;return n}function Dn({activity:e,className:t,children:n}){return e.type===`tool`?(0,Z.jsx)(`div`,{className:t,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,Z.jsx)(Ht,{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,Z.jsx)(Ut,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,Z.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}var On=/^\s*(?:●|✗|✕|×|npm ERR!|ERR!|(?:Error|TypeError|SyntaxError|ReferenceError)\b:?)|^Command exited with code \d+/,kn=/^\s*[✓✔]/;function An({line:e}){let t=/^(PASS|FAIL)(?=\s|$)/.exec(e)?.[1];if(t)return(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`b`,{className:`mr-[6px] rounded-[3px] px-[5px] text-[11.5px] font-semibold tracking-[.02em] ${t===`PASS`?`bg-success-soft text-success`:`bg-danger-soft text-danger`}`,children:t}),e.slice(t.length).trimStart()]});let n=On.test(e)?`text-danger`:kn.test(e)?`text-success`:void 0;return(0,Z.jsx)(`span`,{className:n,children:e})}function jn({output:e,command:t,streaming:n,t:r,children:i}){let a=qt(e),o=(0,X.useRef)(null);return(0,X.useEffect)(()=>{if(!n)return;let e=window.requestAnimationFrame(()=>{let e=o.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[a.text,n]),!a.text.trim()&&!(n&&t)?(0,Z.jsx)(`div`,{className:fn,children:i}):(0,Z.jsxs)(`details`,{className:`agent-run-command-output [.agent-run-feed:has(&[open])]:max-h-[320px] [&_>_pre]:max-h-[112px] [&_>_pre]:overflow-auto [&_>_pre]:m-0 [&_>_pre]:relative [&_>_pre]:border-t [&_>_pre]:border-well-stroke [&_>_pre]:bg-well [&_>_pre]:py-[8px] [&_>_pre]:pr-[14px] [&_>_pre]:pl-[40px] [&_>_pre]:font-mono [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.7] [&_>_pre]:text-well-text [&_>_pre]:whitespace-pre-wrap [&_>_pre]:[overflow-wrap:anywhere] [&_>_pre>span]:block [&_>_pre>span]:min-h-[1.7em] [&_>_pre]:before:absolute [&_>_pre]:before:top-0 [&_>_pre]:before:bottom-[12px] [&_>_pre]:before:left-[20px] [&_>_pre]:before:w-px [&_>_pre]:before:bg-well-stroke max-[650px]:[&_>_pre]:pl-[12px] max-[650px]:[&_>_pre]:before:hidden min-w-0`,"data-truncated":a.truncated||void 0,"data-running":n||void 0,open:n||void 0,children:[(0,Z.jsxs)(`summary`,{className:`${fn} ${n?hn:mn}`,children:[i,(0,Z.jsx)(`span`,{className:`sr-only`,children:r(n?`chat:agentRunActivity.liveCommandOutput`:`chat:agentRunActivity.commandOutput`)}),(0,Z.jsx)(b,{className:gn,"aria-hidden":`true`})]}),(0,Z.jsxs)(`pre`,{ref:o,children:[t?(0,Z.jsxs)(`span`,{className:`text-well-text`,children:[(0,Z.jsx)(`span`,{className:`text-well-muted select-none`,children:`$ `}),t]}):null,a.text?a.text.split(`
|
|
6
|
-
`).map((e,t)=>(0,Z.jsx)(An,{line:e},t)):null]})]})}function Mn({image:e,t}){let n=String(e.url||``);return n?(0,Z.jsx)(`a`,{className:`agent-run-tool-preview block w-full overflow-hidden rounded-sm border border-stroke-soft bg-surface-subtle`,href:n,target:`_blank`,rel:`noreferrer`,title:String(e.name||``),children:(0,Z.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 Nn(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 Pn=(0,X.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=Sn(e,{t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u,now:Date.now()}),f=!!(r&&e.type===`tool`&&e.status===`running`),p=e.name===`bash`&&!!(e.output||f);if(e.type===`retry`)return(0,Z.jsx)(Mt,{title:e.summary||n(`chat:agentRunActivity.retryingRequest`),error:String(e.message||``),pending:!!(r&&t),className:`rounded-none border-0 bg-transparent`});let m=e.type===`tool`?String(e.name||``):``,h=un(e),g=cn(e),_=d.tone===`failed`,v=!p&&d.output&&d.output!==d.detail?d.output:``,y=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(wn,{tone:d.tone,spin:!!r}),m?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`agent-run-verb max-w-[40%] min-w-[34px] flex-none truncate font-mono text-[12px] font-semibold ${f?`text-st-run`:`text-content-secondary`}`,children:m}),(0,Z.jsx)(`span`,{className:`agent-run-arg min-w-0 flex-1 truncate font-mono text-[12.5px] ${d.detail?`text-foreground`:`text-content-muted`}`,title:d.detail||d.title,children:d.detail||d.title}),d.detail?(0,Z.jsx)(`span`,{className:`sr-only`,children:d.title}):null]}):(0,Z.jsxs)(`span`,{className:`agent-run-arg min-w-0 flex-1 truncate`,title:[d.title,d.detail].filter(Boolean).join(` · `),children:[(0,Z.jsx)(`span`,{className:`text-foreground`,children:d.title}),d.detail?(0,Z.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,d.detail]}):null]}),h!==null&&(0,Z.jsx)(`span`,{className:`flex-none font-mono text-[12px] font-medium text-st-fail`,children:n(`chat:agentRunActivity.exitCode`,{code:h})}),g===null?f&&e.startedAt?(0,Z.jsx)(bn,{startedAt:String(e.startedAt),streaming:!0}):null:(0,Z.jsx)(`span`,{className:`agent-run-elapsed min-w-[44px] flex-none text-right font-mono text-[12px] text-content-muted tabular-nums`,children:ln(g)})]});return(0,Z.jsxs)(Dn,{activity:e,className:`agent-run-summary flex w-full min-w-0 flex-none flex-col [transition:background_var(--d-fast)_var(--ease)] ${d.tone} ${t?`current [.agent-run-feed.live_&]:bg-surface-subtle`:``}`,children:[p?(0,Z.jsx)(jn,{output:e.output,command:d.detail,streaming:f,t:n,children:y}):(0,Z.jsxs)(`div`,{className:`${fn} ${f?`bg-st-run-soft`:``}`,children:[y,(0,Z.jsx)(`span`,{className:`size-[14px] flex-none`,"aria-hidden":`true`})]}),(d.changes.length>0||v||e.previewImage?.url)&&(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[4px] pr-[12px] pb-[8px] pl-[40px] text-[12px] leading-[1.45]`,children:[d.changes.length>0&&(0,Z.jsxs)(`span`,{className:`agent-run-plan-changes flex min-w-0 flex-col gap-[1px] border-l border-stroke pl-[8px] text-content-secondary`,children:[d.changes.slice(0,4).map(e=>(0,Z.jsx)(`small`,{className:`truncate text-[12px]`,children:an(e,n)},`${e.id}-${e.kind}-${e.status}`)),d.changes.length>4&&(0,Z.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:n(`chat:agentRunActivity.countMoreChanges`,{count:d.changes.length-4})})]}),v?(0,Z.jsx)(`small`,{className:`truncate text-[12px] ${_?`text-st-fail`:`text-content-muted`}`,title:v,children:v}):null,e.previewImage&&e.previewImage.url?(0,Z.jsx)(Mn,{image:e.previewImage,t:n}):null]})]})},Nn);function Fn({streaming:e,text:t,thinkingText:n,team:r,activityFeed:i=dn,tools:a=dn,compaction:o,error:c,stopped:l,notice:u,startedAt:d,lastActivityAt:m,finishedAt:h,compact:g=!1}){let{t:_}=s(),v=String(n||``).trim(),y=(0,X.useRef)(null),x=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!v)return;let e=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[v]);let S=i.length?i:a,[C,w]=(0,X.useState)(!!e),T=(0,X.useRef)(!!e);(0,X.useEffect)(()=>{T.current!==!!e&&(T.current=!!e,w(!!e))},[e]);let E=(0,X.useContext)(At),D=p(e=>e.tab),O=!!(E?.open&&D===`preview`),k=e&&!g&&!O?$t(S):null,A=Se(S),j=Array.isArray(r?.tasks)?r.tasks:[],M=Number(r?.completedTaskCount??0),N=Number(r?.taskCount??j.length),P=Number(r?.tokenUsed??r?.tokensUsed??0),F=Number(r?.tokenBudget??r?.teamTokenBudget??0),I=Array.isArray(r?.communications)?r.communications:[],L=N>0?Math.min(100,Math.round(M/N*100)):0;if((0,X.useEffect)(()=>{if(!e||!S.length)return;let t=window.requestAnimationFrame(()=>{let e=x.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[A,S.length,e]),!v&&!S.length&&!r)return null;let R=En(S,e),z=(r=>r.map((i,a)=>(0,Z.jsx)(Pn,{activity:i,compaction:o,error:c,lastActivityAt:m,latest:a===r.length-1,notice:u,stopped:l,streaming:e,t:_,text:t,thinkingText:v?``:n},Ee(i,a))))(S),B=!!(r&&(j.length>0||I.length>0||(r.blockers?.length??0)>0||(r.conflicts?.length??0)>0||r.scriptPath||r.summary?.text)),V=!!(B||S.length>0),H=[_(`board:transcript.operations`,{count:R.total}),R.running?_(`board:transcript.running`,{count:R.running}):``,R.failed?_(`board:transcript.failed`,{count:R.failed}):``,!e&&!R.failed&&!R.running?_(`board:transcript.allDone`):``].filter(Boolean);return(0,Z.jsxs)(`section`,{className:`agent-run-activity flex w-full flex-col items-start gap-[10px] [margin:2px_0_14px] text-foreground [&.compact]:m-[4px_0_0_40px] ${g?`compact`:``}`,"aria-live":`polite`,children:[v&&(0,Z.jsxs)(`details`,{className:`agent-thinking-window group/thinking w-full min-w-0 ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,Z.jsxs)(`summary`,{className:`agent-thinking-head inline-flex h-7 max-w-full items-center gap-[6px] rounded-sm pr-[8px] pl-[6px] text-[12px] text-content-secondary ring-1 ring-stroke ring-inset ${pn} hover:bg-surface-hover max-[650px]:h-11 pointer-coarse:h-11`,"aria-label":_(`chat:agentRunActivity.toggleReasoning`),children:[e?(0,Z.jsx)(_e,{status:`run`,className:`size-[14px] text-st-run`}):(0,Z.jsx)(Ze,{className:`size-[14px] flex-none text-content-muted`,strokeWidth:1.75}),(0,Z.jsxs)(`strong`,{className:`flex min-w-0 items-center truncate font-medium`,children:[_(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,Z.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,Z.jsx)(`i`,{}),(0,Z.jsx)(`i`,{}),(0,Z.jsx)(`i`,{})]}):null]}),!S.length&&(0,Z.jsx)(bn,{startedAt:d,finishedAt:h,streaming:e}),(0,Z.jsx)(b,{className:gn,"aria-hidden":`true`})]}),(0,Z.jsx)(`div`,{ref:y,className:`agent-thinking-scroll mt-[8px] max-h-[190px] overflow-auto rounded-md border border-stroke-soft bg-surface-subtle px-[14px] py-[9px] text-content-secondary [scroll-behavior:smooth]`,children:(0,Z.jsx)(Pe,{streaming:e,children:v})})]}),V&&(0,Z.jsxs)(`div`,{className:`agent-run-log w-full overflow-hidden rounded-[var(--r-md)] border border-stroke bg-solid [&>*+*]:border-t [&>*+*]:border-stroke-soft`,children:[r&&B&&(0,Z.jsxs)(`details`,{className:`agent-team-panel min-w-0`,children:[(0,Z.jsxs)(`summary`,{className:`${fn} ${mn} justify-between`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,Z.jsx)(`span`,{className:`grid size-[18px] flex-none place-items-center`,"aria-hidden":`true`,children:(0,Z.jsx)(`span`,{className:`team-status-dot h-[7px] w-[7px] shrink-0 rounded-full ${r.status===`complete`?`bg-success`:r.status===`stalled`||r.status===`budget_limited`?`bg-warning-strong`:r.status===`paused`?`bg-content-muted`:`bg-star [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`}`})}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-medium text-content-secondary`,children:r.status===`complete`?_(`chat:agentRunActivity.teamComplete`):r.status===`budget_limited`?_(`chat:agentRunActivity.teamBudgetLimited`):r.status===`paused`?_(`chat:agentRunActivity.teamPaused`):r.status===`stalled`?_(`chat:agentRunActivity.teamStalled`):_(`chat:agentRunActivity.teamActive`)}),N>0&&(0,Z.jsxs)(`small`,{className:`shrink-0 text-[12px] text-content-muted tabular-nums`,children:[M,`/`,N,` · `,L,`%`]})]}),(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[8px]`,children:[F>0&&(0,Z.jsx)(`small`,{className:`text-[12px] whitespace-nowrap text-content-muted tabular-nums`,children:_(`chat:agentRunActivity.teamBudget`,{used:P,budget:F})}),(0,Z.jsx)(b,{className:gn,"aria-hidden":`true`})]})]}),N>0&&(0,Z.jsx)(`div`,{"aria-hidden":`true`,className:`team-progress-track mx-[12px] mb-[6px] h-[4px] overflow-hidden rounded-full bg-surface-active`,children:(0,Z.jsx)(`div`,{className:`team-progress-fill h-full rounded-full bg-content-secondary [transition:width_var(--d-base)_var(--ease)]`,style:{width:`${L}%`}})}),(0,Z.jsxs)(`div`,{className:`grid max-h-[min(42vh,360px)] grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-[6px] overflow-y-auto overscroll-contain border-t border-stroke-soft bg-surface-subtle p-[8px_12px]`,children:[j.map(e=>{let t=typeof e.role==`string`?e.role.trim():``,n=vn(e.status,_);return(0,Z.jsxs)(`div`,{className:`grid min-w-0 gap-[4px] rounded-sm border border-stroke-soft bg-panel p-[7px_8px] text-[12px]`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-start gap-[6px]`,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`team-task-dot mt-[5px] h-[6px] w-[6px] shrink-0 rounded-full ${e.status===`running`?`bg-star [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`:e.status===`completed`?`bg-success`:e.status===`failed`||e.status===`interrupted`?`bg-danger`:e.status===`blocked`?`bg-warning-strong`:`bg-stroke-strong`}`}),(0,Z.jsxs)(`span`,{className:`grid min-w-0 gap-[1px]`,children:[(0,Z.jsx)(`strong`,{className:`font-medium break-words`,children:t?_(`chat:agentRunActivity.teamTaskStatus`,{name:e.taskName,role:t,status:n}):_(`chat:agentRunActivity.teamTaskStatusWithoutRole`,{name:e.taskName,status:n})}),(0,Z.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:n})]})]}),e.error&&(0,Z.jsx)(`small`,{className:`text-[12px] break-words text-danger`,children:e.error}),e.output&&(0,Z.jsx)(`small`,{className:`text-[12px] break-words text-content-muted`,children:e.output})]},e.id||e.taskName)}),(r.blockers?.length??0)>0&&(0,Z.jsx)(`small`,{className:`text-[12px] text-warning-strong`,children:_(`chat:agentRunActivity.teamBlocked`,{count:r.blockers?.length??0})}),(r.conflicts?.length??0)>0&&(0,Z.jsx)(`small`,{className:`text-[12px] text-danger`,children:_(`chat:agentRunActivity.teamConflicts`,{count:r.conflicts?.length??0})}),r.scriptPath&&(0,Z.jsx)(`small`,{className:`font-mono text-[12px] break-all text-content-muted`,children:_(`chat:agentRunActivity.teamScript`,{path:r.scriptPath})}),I.length>0&&(0,Z.jsxs)(`div`,{className:`grid gap-[3px] border-t border-stroke-soft pt-[6px]`,children:[(0,Z.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:_(`chat:agentRunActivity.teamCommunicationCount`,{count:I.length})}),I.slice(-6).map(e=>(0,Z.jsxs)(`div`,{className:`grid min-w-0 gap-[1px] rounded-xs border-l-2 border-stroke-strong bg-panel p-[4px_8px]`,children:[(0,Z.jsxs)(`strong`,{className:`font-mono text-[12px] font-medium break-all`,children:[e.fromTaskName||e.fromAgentId||`lead`,` ->`,` `,e.toTaskName||e.toAgentId]}),(0,Z.jsx)(`small`,{className:`text-[12px] break-words text-content-secondary`,children:e.message})]},e.id))]}),r.summary?.text&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`small`,{className:`text-[12px] text-content-muted`,children:_(`chat:agentRunActivity.teamSummary`)}),r.summary.text&&(0,Z.jsx)(`p`,{className:`m-0 line-clamp-4 text-[12px] leading-[1.45] text-content-secondary`,children:r.summary.text})]})]})]},String(r.id||r.scriptPath||`team`)),S.length>0&&(0,Z.jsxs)(`details`,{className:`agent-run-history min-w-0`,open:C,onToggle:e=>w(e.currentTarget.open),"data-tool-group":e?`running`:`done`,children:[(0,Z.jsxs)(`summary`,{className:`flex min-h-[38px] min-w-0 items-center gap-[8px] px-[12px] py-[4px] text-[13px] text-content-secondary ${pn} hover:bg-surface-hover max-[650px]:min-h-11 pointer-coarse:min-h-11`,"data-tool-group-summary":!0,children:[(0,Z.jsx)(f,{className:`size-[14px] flex-none text-content-muted`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-[6px] truncate tabular-nums`,children:H.map((e,t)=>(0,Z.jsxs)(`span`,{className:t===0?`font-semibold text-content`:void 0,children:[t>0&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`mr-[6px] text-content-muted`,children:`·`}),e]},t))}),(0,Z.jsx)(bn,{startedAt:d,finishedAt:h,streaming:e}),(0,Z.jsx)(b,{className:gn,"aria-hidden":`true`})]}),(0,Z.jsx)(`div`,{ref:x,className:`agent-run-feed focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus flex max-h-[184px] flex-col overflow-y-auto [overscroll-behavior:contain] border-t border-stroke-soft [&>*+*]:border-t [&>*+*]:border-stroke-soft ${e?`live`:`completed`}`,"aria-label":_(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:S.length>3?0:void 0,children:e?(0,Z.jsx)(X.Suspense,{fallback:z,children:(0,Z.jsx)(_n,{children:z})}):(0,Z.jsx)(X.Suspense,{fallback:z,children:z})})]})]}),e&&!g&&k?(0,Z.jsx)(Xt,{fallbackImage:k.previewImage,streaming:e,target:k}):null]})}function In(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 Ln=(0,X.memo)(Fn,In);function Rn({className:e,from:t,...n}){return(0,Z.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:q(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}var zn=(0,X.lazy)(()=>t(()=>import(`./public-session-DM4y_qrY.js`),__vite__mapDeps([7,8,1,2,9,10,11,12,13,14,15,16,17,4,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31])));function Bn({images:e,index:t,onClose:n,onNavigate:r}){let{t:i}=s(),a=(0,X.useRef)(null),o=e[t],c=t>0,l=t<e.length-1,u=(0,X.useCallback)(t=>{t>=0&&t<e.length&&r(t)},[e.length,r]);return(0,X.useEffect)(()=>{let e=document.body.style.overflow,r=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`?(e.preventDefault(),u(t-1)):e.key===`ArrowRight`&&(e.preventDefault(),u(t+1))};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,r),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,r)}},[t,u,n]),o?(0,Z.jsxs)(`div`,{className:`image-lightbox [&_img]:h-full [&_img]:min-h-0 [&_img]:w-full [&_img]:object-contain fixed z-[100] inset-0 grid grid-rows-[auto_minmax(0,1fr)] gap-[12px] bg-[var(--lightbox-bg)] [padding:18px_72px_24px_24px] max-sm:[padding:12px_56px_16px_12px]`,role:`dialog`,"aria-modal":`true`,"aria-label":i(`chat:chatMessage.fullScreenImagePreview`),children:[(0,Z.jsxs)(`div`,{className:`image-lightbox-toolbar flex min-w-0 items-center justify-between gap-[16px] text-[var(--on-ink)]`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,Z.jsx)(`span`,{className:`overflow-hidden text-[13px] font-medium text-ellipsis whitespace-nowrap`,title:o.attachment.name,children:o.attachment.name||i(`chat:chatMessage.generatedImage`)}),e.length>1&&(0,Z.jsxs)(`span`,{className:`flex-none text-[12px] text-[var(--on-ink)]/70 tabular-nums`,children:[t+1,` / `,e.length]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-none items-center gap-[8px]`,children:[(0,Z.jsx)(J,{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,Z.jsxs)(`a`,{href:o.attachment.downloadUrl||o.source,download:o.attachment.name||`generated-image`,"aria-label":i(`chat:chatMessage.downloadOriginal`),title:i(`chat:chatMessage.downloadOriginal`),children:[(0,Z.jsx)(C,{size:14}),(0,Z.jsx)(`span`,{className:`max-sm:hidden`,children:i(`chat:chatMessage.downloadOriginal`)})]})}),(0,Z.jsx)(J,{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,Z.jsx)(V,{size:20})})]})]}),(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 items-center justify-center [touch-action:pan-y]`,onTouchStart:e=>{a.current=e.changedTouches[0]?.clientX??null},onTouchEnd:e=>{let n=a.current;a.current=null;let r=e.changedTouches[0]?.clientX;n===null||r===void 0||Math.abs(r-n)<48||u(t+(r<n?1:-1))},onTouchCancel:()=>{a.current=null},children:[e.length>1&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute left-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.previousImage`),title:i(`chat:chatMessage.previousImage`),disabled:!c,onClick:()=>u(t-1),children:(0,Z.jsx)(y,{size:22})}),(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute right-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.nextImage`),title:i(`chat:chatMessage.nextImage`),disabled:!l,onClick:()=>u(t+1),children:(0,Z.jsx)(b,{size:22})})]}),(0,Z.jsx)(`img`,{alt:o.attachment.name||i(`chat:chatMessage.generatedImage`),decoding:`async`,src:o.source})]})]}):null}function Vn(e,t){window.dispatchEvent(new CustomEvent(Fe,{detail:{message:e,tone:t}}))}function Hn({icon:e,label:t,onClick:n,disabled:r=!1}){return(0,Z.jsxs)(`button`,{type:`button`,disabled:r,onClick:n,className:`flex min-h-[30px] cursor-pointer items-center gap-[8px] rounded-sm border-0 bg-transparent px-[8px] text-left text-[13px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50 pointer-coarse:min-h-11`,children:[e,t]})}var Un=6,Wn=4;function Gn(e){let t=!!(e.url||e.data);return(e.kind===`image`||e.kind===`video`)&&t}function Kn({attachments:e,compact:t=!1,sessionId:n,sessionStreaming:r=!1}){let{t:i}=s(),[a,o]=(0,X.useState)(null),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),[m,h]=(0,X.useState)(null),g=(0,X.useRef)(null),[_,y]=(0,X.useState)(null),[b,S]=(0,X.useState)(null),[w,E]=(0,X.useState)(null),[j,N]=(0,X.useState)({}),P=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}]:[]}),F=new Map;e.forEach((e,t)=>{Gn(e)||F.set(t,F.size)});let I=!c&&F.size>Un?F.size-Wn:0,L=async e=>{try{await Ne(e,je),Vn(i(`common:markdownMessage.revealLocalPathOk`,{path:e}),`info`)}catch(t){Vn(t instanceof Me&&t.reason===`unavailable`?i(`common:markdownMessage.revealLocalPathUnavailable`):t instanceof Me&&t.reason===`timeout`?i(`common:markdownMessage.revealLocalPathTimeout`):i(`common:markdownMessage.revealLocalPathFailed`,{path:e}),`error`)}},R=async(e,t)=>{if(n)try{let r=await Y.getFileDiff(n,t);N(t=>({...t,[e]:r.diff?.trim()?{diff:r.diff,truncated:!!r.diffTruncated,canRevert:!!r.canRevert}:null}))}catch{N(t=>({...t,[e]:null}))}},z=async(e,t)=>{if(!(!n||r||b)){if(_!==e){y(e);return}y(null),S(e);try{await Y.revertSessionFileChanges(n,t),N(t=>({...t,[e]:null})),Vn(i(`chat:chatMessage.fileActionRevertDone`,{path:t}),`info`)}catch(e){Vn(i(`chat:chatMessage.fileActionRevertFailed`,{path:t}),`error`),console.error(`[chat] 撤销文件改动失败。`,e)}finally{S(null)}}},B=async(e,t)=>{if(!(!n||m)){h(e);try{let e=await Y.getFileDiff(n,t);e.diff?.trim()?(d(null),E({diff:e.diff,truncated:!!e.diffTruncated})):Vn(i(`chat:chatMessage.fileDiffEmpty`),`info`)}catch(e){Vn(e instanceof Error?e.message:i(`chat:chatMessage.fileDiffFailed`),`error`)}finally{h(null)}}},V=e=>{if(!e.downloadUrl)return;let t=document.createElement(`a`);t.href=e.downloadUrl,e.name&&(t.download=e.name),t.click()};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`message-attachments flex flex-wrap gap-[6px] [margin-top:6px] ${t?`compact`:``}`,children:[e.map((e,t)=>{if(I&&(F.get(t)??-1)>=Wn)return null;let a=String(e.id||t),s=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&s?(0,Z.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=P.findIndex(e=>e.attachmentIndex===t);e>=0&&o({images:P,index:e})},title:i(`chat:chatMessage.openFullScreenPreview`),children:[(0,Z.jsx)(`img`,{alt:e.name||i(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:s}),(0,Z.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedImage`)})]},a):e.kind===`video`&&s?(0,Z.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,Z.jsx)(`video`,{controls:!0,preload:`metadata`,src:s}),(0,Z.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedVideo`)})]},a):e.kind===`link`?(0,Z.jsxs)(`a`,{className:`inline-flex min-h-[28px] max-w-full min-w-0 items-center gap-[6px] rounded-sm border border-stroke bg-panel px-[9px] text-[13px] text-content-secondary no-underline transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,href:e.downloadUrl||void 0,children:[(0,Z.jsx)(k,{size:14,className:`shrink-0 text-content-muted`}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]},a):(0,Z.jsxs)(K,{open:u===a,onOpenChange:t=>{d(t?a:null),t&&e.path&&n?R(a,String(e.path)):y(null)},children:[(0,Z.jsx)(W,{asChild:!0,children:(0,Z.jsxs)(`button`,{type:`button`,onClick:e=>{g.current=e.currentTarget},className:`inline-flex min-h-[28px] max-w-full min-w-0 cursor-pointer items-center gap-[6px] rounded-sm border border-stroke bg-panel px-[9px] text-[13px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,children:[(0,Z.jsx)(k,{size:14,className:`shrink-0 text-content-muted`}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]})}),(0,Z.jsxs)(G,{align:`start`,sideOffset:6,className:`flex w-[190px] max-w-[calc(100vw-2rem)] flex-col gap-[2px] p-[4px]`,children:[(0,Z.jsx)(Hn,{icon:(0,Z.jsx)(T,{size:13}),label:i(`chat:chatMessage.fileActionPreview`),onClick:()=>{d(null),p(e)}}),(0,Z.jsx)(Hn,{icon:(0,Z.jsx)(C,{size:13}),label:i(`chat:chatMessage.fileActionDownload`),disabled:!e.downloadUrl,onClick:()=>V(e)}),e.path&&(0,Z.jsx)(Hn,{icon:(0,Z.jsx)(A,{size:13}),label:i(`chat:chatMessage.fileActionReveal`),onClick:()=>void L(String(e.path))}),n&&e.path&&(0,Z.jsx)(Hn,{icon:m===a?(0,Z.jsx)(M,{size:13,className:`animate-spin`}):(0,Z.jsx)(D,{size:13}),label:i(`chat:chatMessage.fileActionDiff`),disabled:!!m,onClick:()=>void B(a,String(e.path))}),j[String(a)]?.canRevert&&(0,Z.jsx)(Hn,{icon:b===String(a)?(0,Z.jsx)(M,{className:`animate-spin`,size:13}):(0,Z.jsx)(et,{size:13}),label:i(_===String(a)?`chat:chatMessage.fileActionConfirmRevert`:`chat:chatMessage.fileActionRevert`),disabled:!!(r||b),onClick:()=>void z(String(a),String(e.path))})]})]},a)}),F.size>Un&&(0,Z.jsx)(`button`,{type:`button`,"aria-expanded":!I,onClick:()=>l(e=>!e),className:`inline-flex min-h-[28px] cursor-pointer items-center gap-[4px] rounded-sm border border-dashed border-stroke bg-transparent px-[9px] text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,children:I?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(v,{size:14,className:`shrink-0`}),i(`chat:chatMessage.moreFiles`,{count:I})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(x,{size:14,className:`shrink-0`}),i(`chat:chatMessage.fewerFiles`)]})})]}),a&&(0,_t.createPortal)((0,Z.jsx)(Bn,{images:a.images,index:a.index,onClose:()=>o(null),onNavigate:e=>o(t=>t&&{...t,index:e})}),document.body),f&&(0,Z.jsx)(Je,{attachment:f,onClose:()=>p(null),onRestoreFocus:()=>g.current?.focus(),onDownload:()=>V(f)}),w&&(0,Z.jsx)(O,{diff:w.diff,truncated:w.truncated,onClose:()=>E(null)})]})}function qn({sessionId:e,entryId:t,savedLabel:n,openRequest:r=0}){let{t:i}=s(),[a,o]=(0,X.useState)(!1);(0,X.useEffect)(()=>{r&&o(!0)},[r]);let[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``);(0,X.useEffect)(()=>{if(!a)return;let n=!0;return d(!0),h(``),Ke(e).then(e=>n&&l(e.labels[t]||``)).catch(e=>n&&h(Ge(e))).finally(()=>n&&d(!1)),()=>{n=!1}},[t,a,e]);let g=async()=>{if(!(f||u)){p(!0),h(``);try{let n=await Y.setSessionTreeLabel(e,t,c);qe(e,n),o(!1)}catch(e){h(Ge(e))}finally{p(!1)}}},v=async()=>{if(!(f||u)){p(!0),h(``);try{let n=await Y.setSessionTreeLabel(e,t,``);qe(e,n),l(``),o(!1)}catch(e){h(Ge(e))}finally{p(!1)}}};return(0,Z.jsxs)(K,{open:a,onOpenChange:o,children:[(0,Z.jsxs)(ae,{children:[(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsx)(W,{asChild:!0,children:(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,className:n?`bg-surface-hover text-brand`:void 0,"aria-label":i(`chat:chatMessage.labelThisTurn`),"aria-pressed":!!n,"data-pisper-label-entry":t,children:(0,Z.jsx)(z,{size:14})})})}),(0,Z.jsx)(ie,{side:`top`,sideOffset:6,children:i(`chat:chatMessage.labelThisTurn`)})]}),(0,Z.jsx)(G,{className:`message-label-popover [&_form]:grid [&_form]:gap-[10px] [&_[data-slot='popover-title']]:text-[12px]`,align:`end`,sideOffset:6,children:(0,Z.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g()},children:[(0,Z.jsx)(ne,{children:i(`chat:sessionTree.nodeLabel`)}),(0,Z.jsx)(De,{autoFocus:!0,value:c,maxLength:80,disabled:u||f,placeholder:i(`chat:sessionTree.labelPlaceholder`),onChange:e=>l(e.target.value)}),m&&(0,Z.jsx)(`small`,{className:`danger-text`,children:m}),(0,Z.jsxs)(`div`,{className:`message-label-actions flex items-center justify-between gap-[8px]`,children:[(0,Z.jsx)(J,{type:`button`,size:`icon-sm`,variant:`ghost`,title:i(`chat:sessionTree.removeLabel`),"aria-label":i(`chat:sessionTree.removeLabel`),disabled:u||f,onClick:()=>void v(),children:(0,Z.jsx)(B,{})}),(0,Z.jsxs)(J,{className:`message-label-save [.message-label-actions_&]:min-w-[104px] [.message-label-actions_&]:text-[var(--primary-foreground)]`,type:`submit`,disabled:u||f,children:[f?(0,Z.jsx)(M,{className:`animate-spin`}):(0,Z.jsx)(_,{}),i(f?`chat:sessionTree.savingLabel`:`chat:sessionTree.saveLabel`)]})]})]})})]})}function Jn(e){if(e<6e4)return`${(Math.max(e,100)/1e3).toFixed(1)}s`;let t=Math.round(e/1e3);return`${Math.floor(t/60)}m ${t%60}s`}function Yn(e,t){if(typeof e!=`number`&&typeof e!=`string`)return null;let n=new Date(e);if(!Number.isFinite(n.getTime()))return null;let r=new Date().toDateString()===n.toDateString();return{iso:n.toISOString(),label:n.toLocaleString(t,{...r?{}:{month:`2-digit`,day:`2-digit`},hour:`2-digit`,minute:`2-digit`,hour12:!1}),full:n.toLocaleString(t)}}function Xn(e,t){return e.sessionId===t.sessionId&&e.message===t.message&&e.agentState===t.agentState&&e.showRunActivity===t.showRunActivity&&e.runProps===t.runProps&&e.cwd===t.cwd&&e.sessionStreaming===t.sessionStreaming&&e.onBranchFromHere===t.onBranchFromHere&&e.onCreateChildSession===t.onCreateChildSession&&e.retryUserMessageId===t.retryUserMessageId&&e.hideErrorNotice===t.hideErrorNotice&&e.onRetryLastTurn===t.onRetryLastTurn&&e.latest===t.latest&&e.turn===t.turn}var Zn=(0,X.memo)(function({sessionId:e,message:t,agentState:n,showRunActivity:r,runProps:i,cwd:a,sessionStreaming:o,onBranchFromHere:c,onCreateChildSession:l,retryUserMessageId:u,hideErrorNotice:d,onRetryLastTurn:f,latest:p=!1,turn:m}){let{t:h,language:g}=s(),_=(0,X.useContext)(jt),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(!1),[C,T]=(0,X.useState)(!1),[E,D]=(0,X.useState)(0),O=(0,X.useRef)(!1),k=(0,X.useRef)(null),A=!!(t.turnBoundaryEntryId&&c&&l),j=We(e,A?t.turnBoundaryEntryId:void 0),N=!!t.streaming,P=t.text||``,L=t.error&&P===t.error?``:P,R=!!(i&&(String(i.thinkingText||``).trim()||(i.activityFeed?.length??0)>0||(i.tools?.length??0)>0||i.team)),B=t.role===`agent`?Yn(t.timestamp,g):null,V=t.role===`agent`&&typeof t.thinkingMs==`number`&&Number.isFinite(t.thinkingMs)&&t.thinkingMs>0?t.thinkingMs:null,W=V===null?``:h(`chat:chatMessage.thinkingTime`,{duration:Jn(V)}),G=t.role===`agent`&&!!(N||L||R||t.error||t.attachments?.length);return(0,Z.jsxs)(Rn,{from:t.role===`agent`?`assistant`:`user`,className:q(`message group/message mx-auto mb-[var(--chat-message-gap,32px)] w-full max-w-[var(--chat-content-width,1040px)] min-w-0 gap-0`,t.role===`agent`?`items-stretch`:`items-end [[data-chat-message-style='plain']_&]:items-start`,t.role),"data-pisper-message-id":t.id,"data-pisper-role":t.role,"data-pisper-turn":m,"data-pisper-streaming":N||void 0,"data-pisper-error":t.error?`true`:void 0,children:[G&&(0,Z.jsxs)(`div`,{className:`agent-message-head mb-2 flex h-6 min-w-0 items-center gap-2 text-[13px]`,children:[(0,Z.jsx)(`span`,{className:`agent-message-mark grid size-[22px] flex-none place-items-center`,"data-state":n,"aria-hidden":`true`,children:_?.botId?(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(Be,{size:22}),children:(0,Z.jsx)(zn,{botId:_.botId,part:`mark`,animate:p,fallback:(0,Z.jsx)(Be,{size:22})})}):(0,Z.jsx)(Be,{size:22})}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-medium text-content-secondary`,"data-agent-model":_&&p&&_.model?_.model:void 0,title:_?.botId&&p&&_.model?_.model:void 0,children:_?.botId?(0,Z.jsx)(X.Suspense,{fallback:p&&_.model?_.model:`Pisper`,children:(0,Z.jsx)(zn,{botId:_.botId,part:`name`,fallback:p&&_.model?_.model:`Pisper`})}):_&&p&&_.model?_.model:`Pisper`}),W&&(0,Z.jsx)(`span`,{className:`flex-none text-[12px] text-content-muted tabular-nums`,"data-agent-thinking":V??void 0,children:W}),n===`thinking`&&(0,Z.jsx)(oe,{className:`size-3.5`}),j&&(0,Z.jsxs)(`button`,{type:`button`,className:`inline-flex h-[22px] min-w-0 max-w-[45%] items-center gap-1 rounded-full bg-surface-muted px-2 text-[12px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus max-[650px]:h-11 pointer-coarse:h-11`,"aria-label":h(`chat:chatMessage.turnLabel`,{label:j}),title:h(`chat:chatMessage.turnLabel`,{label:j}),"data-turn-label":t.turnBoundaryEntryId,disabled:N,onClick:()=>D(e=>e+1),children:[(0,Z.jsx)(z,{size:12,"aria-hidden":`true`,className:`flex-none`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:j})]}),B&&(0,Z.jsx)(`time`,{className:`ml-auto flex-none text-[12px] text-content-muted tabular-nums`,dateTime:B.iso,title:B.full,children:B.label})]}),(0,Z.jsxs)(`div`,{ref:k,className:q(`message-content relative min-w-0`,t.role===`agent`?`w-full`:`w-fit max-w-[min(640px,88%)] [[data-chat-message-style='plain']_&]:w-full [[data-chat-message-style='plain']_&]:max-w-full`),children:[r&&i&&(0,Z.jsx)(Ln,{...i}),L&&(0,Z.jsx)(Pe,{cwd:a,streaming:N,className:q(`min-h-[34px] [overflow-wrap:anywhere] text-[length:var(--app-message-font-size)] [font-family:var(--font-content-family)] font-[400]`,t.role===`agent`?`w-full max-w-full rounded-none border-0 bg-transparent pt-1 leading-[1.625] [&_h1]:text-[1.5em]! [&_h1]:leading-[1.333333]! [&_h2]:text-[1.25em]! [&_h2]:leading-[1.4]! [&_h3]:text-[1.125em]! [&_h3]:leading-[1.555556]! [&_h1]:mt-[1em]! [&_h2]:mt-[1em]! [&_h3]:mt-[1em]! [&_h1]:mb-[.25em]! [&_h2]:mb-[.25em]! [&_h3]:mb-[.25em]! [&_li]:py-0! [&_li+li]:mt-[.25em]! [&_p]:mt-0! [&_p]:mb-[.25em]! [&_ul]:my-[.25em]! [&_ol]:my-[.25em]! [&_.markdown-content>p:first-child]:mt-0! [&_.markdown-content>p:last-child]:mb-0!`:`rounded-[18px] border-0 bg-[var(--user-bubble-bg)] px-4 py-2.5 text-[length:calc(var(--app-message-font-size)*.9375)]! leading-[1.65] text-[var(--user-bubble-text)] [&_.markdown-content>p]:my-0! [&_h1]:text-inherit! [&_h2]:text-inherit! [&_h3]:text-inherit! [&_h4]:text-inherit! [&_a]:text-inherit! [&_blockquote]:text-inherit! [&_code]:bg-panel [&_code]:shadow-[0_0_0_1px_var(--stroke-soft)] [[data-chat-message-style='plain']_&]:rounded-none [[data-chat-message-style='plain']_&]:bg-transparent [[data-chat-message-style='plain']_&]:px-0 [[data-chat-message-style='plain']_&]:py-1`),children:L}),t.attachments&&t.attachments.length>0&&(0,Z.jsx)(Kn,{attachments:t.attachments,sessionId:e,sessionStreaming:o}),t.role===`user`&&L&&(0,Z.jsxs)(`div`,{className:`message-actions mt-1 -mr-1.5 flex flex-wrap justify-end min-h-5 gap-0 text-muted-foreground opacity-0 group-hover/message:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100 max-[650px]:opacity-100 min-[651px]:absolute min-[651px]:right-full min-[651px]:bottom-0 min-[651px]:mr-1 min-[651px]:mt-0 [[data-chat-message-style='plain']_&]:static [[data-chat-message-style='plain']_&]:mr-0 [[data-chat-message-style='plain']_&]:justify-start [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 pointer-coarse:[&_button]:size-11 pointer-coarse:[&_button]:min-h-11 [&_button]:rounded-md`,children:[t.queuedPending&&(0,Z.jsx)(`span`,{className:`mr-auto self-center px-1.5 text-xs text-content-muted`,"data-message-queued":!0,children:h(`chat:chatMessage.queued`)}),(0,Z.jsx)(Rt,{text:L,copyLabel:h(`chat:chatMessage.copyMessage`)})]})]}),t.role===`agent`&&t.interrupted&&(0,Z.jsx)(`p`,{className:`mt-1 text-xs text-content-muted`,"data-message-interrupted":!0,children:h(`chat:chatMessage.interrupted`)}),t.error&&!N&&!d&&(0,Z.jsx)(Mt,{error:String(t.error),className:`mt-3`}),t.role===`agent`&&!N&&(L||t.turnBoundaryEntryId||u)&&(0,Z.jsxs)(`div`,{className:`message-actions mt-2 -ml-1.5 flex flex-wrap items-center min-h-5 gap-0 text-[var(--text-muted)] opacity-0 transition-opacity duration-(--d-fast) group-hover/message:opacity-100 focus-within:opacity-100 has-[[data-state=open]]:opacity-100 has-[[aria-busy=true]]:opacity-100 [@media(hover:none)]:opacity-100 max-[650px]:opacity-100 [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 pointer-coarse:[&_button]:size-11 pointer-coarse:[&_button]:min-h-11 [&_button]:rounded-md [&_button]:text-[var(--text-muted)] [&_button:hover]:bg-[var(--surface-hover)] [&_button:hover]:text-[var(--text)]`,"data-reply-actions":!0,children:[L&&(0,Z.jsx)(Rt,{text:L,getText:()=>k.current?.querySelector(`.markdown-content`)?.innerText.trim()||``}),A&&t.turnBoundaryEntryId&&(0,Z.jsx)(qn,{sessionId:e,entryId:t.turnBoundaryEntryId,savedLabel:j,openRequest:E}),u&&(0,Z.jsxs)(ae,{children:[(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":h(`chat:chatMessage.retry`),"data-pisper-retry-message":u,disabled:C||o,onClick:async()=>{T(!0);try{await f()}finally{T(!1)}},children:C?(0,Z.jsx)(M,{className:`animate-spin`,size:14}):(0,Z.jsx)(I,{size:14})})}),(0,Z.jsx)(ie,{side:`top`,sideOffset:6,children:h(`chat:chatMessage.retry`)})]}),(L||A)&&(0,Z.jsxs)(te,{children:[(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":h(`chat:chatMessage.moreReplyActions`),"data-reply-more":!0,children:(0,Z.jsx)(w,{size:16})})}),(0,Z.jsxs)(U,{align:`start`,className:`min-w-52 p-1 [&_[role=menuitem]]:min-h-9 max-[650px]:[&_[role=menuitem]]:min-h-11`,onCloseAutoFocus:e=>{O.current&&(O.current=!1,e.preventDefault())},children:[A&&t.turnBoundaryEntryId&&(0,Z.jsxs)(H,{"data-pisper-derive-entry":t.turnBoundaryEntryId,disabled:v||b||o,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!c)){y(!0);try{await c(e)}finally{y(!1)}}},children:[(0,Z.jsx)(Xe,{size:16}),h(`chat:chatMessage.deriveFromHere`)]}),A&&t.turnBoundaryEntryId&&(0,Z.jsxs)(H,{"data-pisper-rewind-entry":t.turnBoundaryEntryId,disabled:v||b||o,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!c)){y(!0);try{await c(e,{rewindFiles:!0})}finally{y(!1)}}},children:[(0,Z.jsx)(F,{size:16}),h(`chat:chatMessage.rewindHere`)]}),A&&t.turnBoundaryEntryId&&(0,Z.jsxs)(H,{"data-reply-label":!0,onSelect:()=>{O.current=!0,window.setTimeout(()=>D(e=>e+1),0)},children:[(0,Z.jsx)(z,{size:16}),h(`chat:chatMessage.labelThisTurn`)]}),L&&(0,Z.jsxs)(H,{"data-reply-copy-markdown":!0,onSelect:()=>{navigator.clipboard?.writeText(L).catch(()=>void 0)},children:[(0,Z.jsx)(S,{size:16}),h(`board:transcript.copyMarkdown`)]}),A&&t.turnBoundaryEntryId&&(0,Z.jsxs)(H,{"data-pisper-child-entry":t.turnBoundaryEntryId,disabled:v||b,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(!(!e||!l)){x(!0);try{await l(e)}finally{x(!1)}}},children:[(0,Z.jsx)($e,{size:16}),h(`chat:chatMessage.createChildChat`)]})]})]})]})]})},Xn);function Qn(e,t){return e.message===t.message}(0,X.memo)(function({message:e}){return(0,Z.jsxs)(Rn,{from:e.role===`agent`?`assistant`:`user`,className:`[&_>_span]:pt-[5px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_span]:text-[12px] [&_>_span]:font-medium [&.agent_>_span::before]:[content:'✦'] [&.agent_>_span::before]:mr-[4px] [&.agent_>_span::before]:text-content-muted [&_.markdown-body]:rounded-[var(--r-xs)] [&_.markdown-body]:bg-[var(--surface-subtle)] [&_.markdown-body]:[padding:6px_8px] [&_.markdown-body]:text-[13px] [&_.markdown-body]:leading-[1.45] [&_.markdown-body]:[overflow-wrap:anywhere] [&.agent_.markdown-body]:bg-[var(--surface-muted)] [&_.markdown-body_pre]:max-h-[130px] [&_.markdown-body_pre]:[padding:7px] grid grid-cols-[34px_minmax(0,1fr)] gap-[6px] [margin-bottom:6px] [align-items:start] ${e.role}`,"data-pisper-message-id":e.id,"data-pisper-role":e.role,"data-pisper-streaming":e.streaming||void 0,children:[(0,Z.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(e.text||!e.streaming)&&(0,Z.jsx)(Pe,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,Z.jsx)(Kn,{attachments:e.attachments,compact:!0})]})]})},Qn);function $n(e){return(e||0)>0&&Number(e)<650?260:164}function er(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function tr(e,t,n){let[r,i]=(0,X.useState)(0);return(0,X.useLayoutEffect)(()=>{let r=n.current;if(!e||!r)return;let a=()=>{let t=Math.max(0,r.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop);i(e=>Math.abs(e-t)<1?e:t)},o=null,s=()=>{o===null&&(o=window.requestAnimationFrame(()=>{o=null,a()}))};a();let c=typeof ResizeObserver>`u`?null:new ResizeObserver(s);return c?.observe(e),t.current&&c?.observe(t.current),c?.observe(r),window.addEventListener(`resize`,s),()=>{c?.disconnect(),window.removeEventListener(`resize`,s),o!==null&&window.cancelAnimationFrame(o)}},[n,t,e]),r}var nr=(0,X.memo)(function({sessionId:e,layoutMeasurementKey:t,messages:n,historical:r=!1,streaming:i,latestRunProps:a,scrollElement:o,prefixRef:s,cwd:c,targetEntryId:l,onContentSizeChange:u,onTargetScroll:d,onTargetLocated:f,onBranchFromHere:p,onCreateChildSession:m,onRetryLastTurn:h,turnsKnown:g=!1,turnBase:_=0}){let v=(0,X.useRef)(null),[y,b]=(0,X.useState)(``),x=n.map(e=>e.id),S=(0,X.useRef)(x);(S.current.length!==x.length||S.current.some((e,t)=>e!==x[t]))&&(S.current=x);let C=S.current,w=(0,X.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]),T=(0,X.useMemo)(()=>{if(!g)return null;let e=Array.from({length:n.length}),t=_;for(let r=0;r<n.length;r+=1)n[r]?.role===`user`&&(t+=1),e[r]=t;return e},[n,_,g]),E=tr(o,s,v),D=(0,X.useCallback)(e=>C[e]??`transcript-message-${e}`,[C]),O=(0,X.useCallback)(()=>$n(o?.clientWidth),[o]),k=Ie({useFlushSync:!1,anchorTo:`end`,followOnAppend:!1,count:n.length,getScrollElement:()=>o,getItemKey:D,estimateSize:O,measureElement:er,overscan:6,scrollMargin:E,useAnimationFrameWithResizeObserver:!0}),A=k.getVirtualItems(),j=k.getTotalSize(),M=(0,X.useCallback)(()=>{let e=v.current;if(!e||!o||e.getBoundingClientRect().width<1)return;let t=o.scrollTop,n=k.getVirtualItems().find(e=>e.end>t),r=n?Math.max(0,t-n.start):0;k.measure(),k.getTotalSize();for(let t of e.children)t instanceof HTMLDivElement&&k.measureElement(t);if(k.getTotalSize(),n){let e=k.getOffsetForIndex(n.index,`start`)?.[0];e!==void 0&&k.scrollToOffset(e+r)}u()},[u,o,k]);(0,X.useLayoutEffect)(()=>{M()},[t,M]),(0,X.useLayoutEffect)(()=>{let e=v.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,M()}))});return r.observe(e),()=>{r.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},[M]),(0,X.useLayoutEffect)(()=>{u()},[u,j]),(0,X.useEffect)(()=>{if(!l)return;let e=n.findIndex(e=>e.turnBoundaryEntryId===l);if(e<0)return;d(),k.scrollToIndex(e,{align:`center`}),b(l);let t=window.requestAnimationFrame(()=>{k.scrollToIndex(e,{align:`center`}),f(l)});return()=>window.cancelAnimationFrame(t)},[n,f,d,l,k]),(0,X.useEffect)(()=>{if(!y)return;let e=window.setTimeout(()=>b(``),2200);return()=>window.clearTimeout(e)},[y]);let N=lt(n);return(0,Z.jsx)(`div`,{className:`relative w-full`,"data-pisper-transcript-size":n.length,"data-pisper-rendered-count":A.length,ref:v,style:{height:`${j}px`},children:A.map(t=>{let o=n[t.index];if(!o)return null;let s=!r&&o.role===`agent`&&t.index===N,l=o.streaming||s&&i?`thinking`:s&&!o.error?`waiting`:`idle`,u=mt(o,s,a);return(0,Z.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full rounded-[var(--r-sm)] ${o.turnBoundaryEntryId===y?`targeted [.virtual-transcript-item&]:bg-[var(--star-soft)] [.virtual-transcript-item&]:shadow-[inset_3px_0_0_var(--star-strong)]`:``}`,"data-index":t.index,"data-pisper-target-entry":o.turnBoundaryEntryId===y?o.turnBoundaryEntryId:void 0,"data-pisper-virtual-item":o.id,ref:k.measureElement,style:{top:`${t.start-E}px`},children:(0,Z.jsx)(Zn,{sessionId:e,message:o,agentState:l,showRunActivity:!!u,runProps:u,cwd:c,sessionStreaming:i,onBranchFromHere:p,onCreateChildSession:m,retryUserMessageId:s?w[t.index]:void 0,hideErrorNotice:s&&!!o.error,onRetryLastTurn:h,latest:s,turn:T?.[t.index]||void 0})},t.key)})})});function rr({label:e}){return(0,Z.jsxs)(`div`,{className:`session-history-loading grid min-h-[100%] place-content-center justify-items-center gap-[20px] text-content-muted [animation:transcript-stage-enter_.18s_var(--ease-out)_both]`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-[10px]`,children:[(0,Z.jsx)(Be,{size:22}),(0,Z.jsx)(`strong`,{className:`text-[13px] font-medium text-content-secondary`,children:e}),(0,Z.jsx)(oe,{className:`size-4`})]}),(0,Z.jsxs)(`div`,{className:`grid w-[min(560px,78vw)] gap-[12px]`,"aria-hidden":`true`,children:[(0,Z.jsx)(`div`,{className:`h-[40px] w-[46%] justify-self-end rounded-[12px_12px_3px_12px] bg-[var(--user-bubble-bg)]`}),(0,Z.jsxs)(`div`,{className:`grid gap-[8px]`,children:[(0,Z.jsx)(`div`,{className:`h-[34px] rounded-md border border-stroke-soft bg-surface-subtle`}),(0,Z.jsx)(`div`,{className:`h-[10px] w-[82%] rounded-full bg-surface-muted`}),(0,Z.jsx)(`div`,{className:`h-[10px] w-[64%] rounded-full bg-surface-muted`})]})]})]})}function ir(e){return e.map(e=>e.id).join(`
|
|
7
|
-
`)}function ar(e){let{pathname:t,search:n,hash:r}=window.location;return r.startsWith(`#/`)?`${t}${n}#${a(e)}`:a(e)}function or({sessionId:e,emptyState:t,messages:n,layoutMeasurementKey:r,transcriptLoadState:i=`ready`,messageStart:a,hasOlder:o,hasNewer:c,onLoadLatest:l,loadingOlder:u,olderError:d,currentActivity:f,team:p,activityFeed:m,tools:h,thinkingText:_,compaction:v,streaming:y,runStartedAt:x,lastActivityAt:S,runFinishedAt:C,runStopped:w,runNotice:T,error:E,scrollRequest:D,cwd:O,lineage:k,onLoadOlder:A,onBranchFromHere:j,onCreateChildSession:M,onRetryLastTurn:N,collapseEarlierTurns:F=!1}){let{t:I}=s(),[L,R]=(0,X.useState)(!1),z=(0,X.useRef)(null),[B,V]=(0,X.useState)(!1),H=(0,X.useRef)(e);H.current=e,(0,X.useEffect)(()=>{z.current=null,V(!1)},[e]);let ee=(0,X.useRef)(null),[U,te]=(0,X.useState)(()=>le(e)),W=(0,X.useMemo)(()=>F?Lt(n,{turnsKnown:!o}):null,[F,o,n]),G=!!W&&!L&&!U,ne=G&&W?n.slice(W.latestIndex):n,K=n[lt(n)],re=Math.floor((K?.text?.length||0)/64),ie=Se(m),ae=Math.floor(String(_||``).length/128),fe=`${e}:${n.length}:${K?.id||``}:${re}:${ae}:${K?.attachments?.length||0}:${ie}:${v?.status||``}:${v?.finishedAt||``}:${E||``}:${y?`1`:`0`}`,pe=(0,X.useRef)(!1),me=(0,X.useRef)(Et.getState().sessions[e]?.conversationScrollTop??null),{scrollRef:he,scrollElement:Y,setScrollRef:ge,hasUnread:ve,scrollToBottom:ye,maintainBottom:be,pauseFollowing:xe}=Pt(fe,{resetKey:`${e}:${i}`,readInitialPosition:()=>i===`ready`?me.current:null});(0,X.useEffect)(()=>{let t=null,n=()=>{let t=Y;if(!t||i!==`ready`||t.clientHeight<=0)return;let n=Et.getState();n.sessions[e]?.conversationScrollTop!==t.scrollTop&&n.update(e,`files`,{type:`workspace`,conversationScrollTop:t.scrollTop})},r=()=>{n(),pe.current=!0,t!==null&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{pe.current=!1,t=null})};return window.addEventListener(se,r),window.addEventListener(`pointerdown`,n,!0),()=>{window.removeEventListener(se,r),t!==null&&cancelAnimationFrame(t),window.removeEventListener(`pointerdown`,n,!0)}},[e,Y,i]),(0,X.useLayoutEffect)(()=>{let t=Y;if(!(!t||i!==`ready`))return()=>{if(t.clientHeight<=0)return;let n=Et.getState();n.sessions[e]?.conversationScrollTop!==t.scrollTop&&n.update(e,`files`,{type:`workspace`,conversationScrollTop:t.scrollTop})}},[e,Y,i]);let Ce=(0,X.useMemo)(()=>({streaming:y,text:K?.role===`agent`?K.text:``,currentActivity:f,team:p,activityFeed:m,tools:h,thinkingText:_,compaction:v,error:E||(K?.role===`agent`?K.error:``),stopped:w,notice:T,startedAt:x,lastActivityAt:S,finishedAt:C}),[y,K,f,p,m,h,_,v,E,w,T,x,S,C]),we=(0,X.useCallback)(async()=>{if(!he.current||!o||u||z.current)return;xe();let t={};z.current=t;let n=e,r=await A?.();H.current===n&&!r&&z.current===t&&(z.current=null)},[o,u,A,xe,e,he]),Te=(0,X.useCallback)(t=>{!pe.current&&i===`ready`&&t.currentTarget.clientHeight>0&&Et.getState().update(e,`files`,{type:`workspace`,conversationScrollTop:t.currentTarget.scrollTop}),!G&&t.currentTarget.scrollTop<=96&&we()},[G,we,e,i]);(0,X.useLayoutEffect)(()=>{z.current=null},[a]);let Ee=(0,X.useRef)(n);(0,X.useEffect)(()=>{Ee.current=n});let De=(0,X.useRef)(null),[ke,Ae]=(0,X.useState)(0);return(0,X.useEffect)(()=>{te(le(e));let t=0,n=n=>{let r=n.detail;r?.sessionId===e&&r.targetEntryId&&(De.current=ir(Ee.current),window.clearTimeout(t),t=window.setTimeout(()=>{De.current=null,Ae(e=>e+1)},4e3),te(r.targetEntryId))};return window.addEventListener(ue,n),()=>{window.clearTimeout(t),De.current=null,window.removeEventListener(ue,n)}},[e]),(0,X.useEffect)(()=>{if(!(!U||a==null)&&!n.some(e=>e.turnBoundaryEntryId===U)){if(De.current!==null){if(De.current===ir(n))return;De.current=null}if(!u){if(o){we();return}ce(e,U),te(``)}}},[o,we,u,a,n,e,U,ke]),(0,X.useEffect)(()=>{D&&ye(`smooth`)},[D,ye]),(0,Z.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`transcript flex flex-col [.focus-session.has-conversation_&]:p-[var(--chat-transcript-block-padding,30px)_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [.focus-session.has-conversation_&]:[scroll-padding-bottom:32px] @max-[700px]:p-[20px_14px] @max-[700px]:[.focus-session.has-conversation_&]:p-[24px_16px] @max-[470px]:[padding-inline:10px] max-[650px]:p-[20px_14px] min-h-0 h-full flex-1 overflow-auto overscroll-contain scroll-auto [overflow-anchor:none] [scrollbar-gutter:stable_both-edges] m-0 border-0 [padding:26px_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [padding-bottom:70px] [scroll-padding-bottom:70px]`,"data-pisper-transcript-state":i,"aria-busy":i===`loading`,ref:ge,onScroll:Te,tabIndex:0,children:[(0,Z.jsxs)(`div`,{className:`[display:flow-root] w-full ${i===`ready`&&n.length>0?`mt-auto`:``}`,ref:ee,children:[typeof k?.parentSessionId==`string`&&k.parentSessionId&&(0,Z.jsx)(`div`,{className:`history-page-loader flex w-[min(var(--chat-content-width,1040px),100%)] min-h-[42px] items-center justify-center [margin:0_auto_18px] text-[var(--text-muted)] text-[12px] session-lineage`,children:(0,Z.jsxs)(`a`,{href:ar(k.parentSessionId),className:`inline-flex min-h-8 max-w-full items-center gap-[7px] rounded-md px-2 text-inherit underline-offset-2 transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content hover:underline focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus max-[650px]:min-h-11`,"data-pisper-parent-session":k.parentSessionId,title:I(`chat:focusSession.openSourceTurn`),onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),de(String(k.parentSessionId),`open`,typeof k.sourceEntryId==`string`?k.sourceEntryId:``))},children:[(0,Z.jsx)(Xe,{size:13,"aria-hidden":`true`,className:`flex-none`}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:I(`chat:focusSession.derivedFromSession`,{name:k.sourceSessionName||I(`chat:focusSession.unknownSourceSession`)})})]})}),G&&W&&(0,Z.jsx)(`div`,{className:`flex justify-center pb-3`,children:(0,Z.jsxs)(`button`,{type:`button`,"data-earlier-turns":W.turnBase,"aria-expanded":!1,"aria-label":I(`board:phone.earlierTurns`,{summary:[W.previous.turn?I(`board:transcript.turn`,{count:W.previous.turn}):I(`board:phone.previousTurn`),W.previous.text].filter(Boolean).join(` · `)}),className:`inline-flex min-h-11 max-w-full min-w-0 items-center gap-1.5 rounded-full px-3 text-xs text-content-muted ring-1 ring-stroke ring-inset transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,onClick:()=>R(!0),children:[(0,Z.jsx)(_e,{status:W.previous.failed?`failed`:`done`,className:q(`size-3.5 flex-none`,W.previous.failed?`text-st-fail`:`text-st-done`)}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:[W.previous.turn?I(`board:transcript.turn`,{count:W.previous.turn}):I(`board:phone.previousTurn`),W.previous.text,W.previous.operations?I(`board:transcript.operations`,{count:W.previous.operations}):``].filter(Boolean).join(` · `)}),(0,Z.jsx)(b,{className:`size-3.5 flex-none`,"aria-hidden":`true`})]})}),!G&&(o||u||d)&&(0,Z.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:d?(0,Z.jsxs)(J,{type:`button`,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:we,children:[(0,Z.jsx)(P,{size:13}),I(`chat:focusSession.retryOlderMessages`)]}):u?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(oe,{className:`size-3.5`}),I(`chat:focusSession.loadingOlderMessages`)]}):(0,Z.jsxs)(J,{type:`button`,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:we,children:[(0,Z.jsx)(g,{className:`history-up-arrow [.history-page-loader_&]:[transform:rotate(180deg)]`,size:14}),I(`chat:focusSession.loadOlderMessages`)]})})]}),i===`loading`&&(0,Z.jsx)(rr,{label:I(`chat:focusSession.loadingConversationHistory`)}),i===`ready`&&!n.length&&(t??(0,Z.jsx)(Oe,{compact:!0,className:`min-h-full`,title:I(`chat:focusSession.emptyTitle`),description:I(`chat:focusSession.emptyDescription`)})),i===`ready`&&n.length>0&&(0,Z.jsx)(`div`,{className:`[animation:transcript-reveal-enter_.22s_var(--ease-out)_both]`,children:(0,Z.jsx)(nr,{layoutMeasurementKey:r,sessionId:e,messages:ne,historical:c,streaming:y,latestRunProps:Ce,scrollElement:Y,prefixRef:ee,cwd:O,targetEntryId:U,onContentSizeChange:be,onTargetScroll:xe,onTargetLocated:t=>{ce(e,t),te(``)},onBranchFromHere:j,onCreateChildSession:M,onRetryLastTurn:N,turnsKnown:!o,turnBase:G&&W?W.turnBase:0},e)})]}),i===`ready`&&n.length>0&&(0,Z.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 top-0 z-[2] h-6 bg-linear-to-b from-panel to-transparent max-[650px]:h-10`}),(ve||c)&&(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-[6px] z-[5] flex justify-center`,children:(0,Z.jsxs)(J,{type:`button`,variant:`secondary`,size:`sm`,className:`pointer-events-auto rounded-full px-3 shadow-float max-[650px]:h-11`,disabled:B,"aria-busy":B||void 0,onClick:async()=>{if(!c){ye(`smooth`);return}let t=e;if(c){V(!0);try{await l?.()}finally{H.current===t&&V(!1)}}H.current===t&&requestAnimationFrame(()=>ye(`auto`))},children:[(0,Z.jsx)(g,{size:14}),I(c?`chat:focusSession.returnToLatest`:`chat:focusSession.newContent`)]})})]})}(0,X.lazy)(()=>t(()=>import(`./ClickSpark-B1Rn7ZwL.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([32,1,2,3,4,6])));var sr=(0,X.createContext)(null),cr=({className:e,approval:t,state:n,...r})=>{let i=(0,X.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,Z.jsx)(sr.Provider,{value:i,children:(0,Z.jsx)(ke,{className:q(`flex flex-col gap-2`,e),...r})})},lr=(0,X.lazy)(async()=>{let[{ApprovalConfirm:e}]=await Promise.all([t(()=>import(`./approval-confirm-77ZLTNZI.js`),__vite__mapDeps([33,1,2,9,10,8,11,12,13,14,34,16,3,4,17,18,35,36,37,38,39,40,41,42,43,44])),o()]);return{default:e}});function $(e){return typeof e==`string`?e:``}function ur(e){let t=e.args&&typeof e.args==`object`&&!Array.isArray(e.args)?e.args:{};return{id:$(e.id),toolName:$(e.toolName),toolCallId:$(e.toolCallId),args:t,command:$(t.command),path:$(t.path),reason:$(e.reason),risk:$(e.risk),severity:`critical`,createdAt:$(e.createdAt)||null}}function dr(e){return e.trimStart().startsWith(`命令守卫拦截`)&&e.trimStart().slice(6).replace(/^[\s::·-]+/u,``).split(/[\n。;;]/u)[0]?.trim()||``}function fr({text:e,prefix:t}){let{t:n}=s(),r=(0,X.useRef)(null),[i,a]=(0,X.useState)(!1),[o,c]=(0,X.useState)(!1);return(0,X.useLayoutEffect)(()=>{let e=r.current;if(!e||o)return;let t=()=>a(e.scrollHeight>e.clientHeight+1);if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[o,e]),(0,Z.jsxs)(`div`,{className:`min-w-0 rounded-sm border border-well-stroke bg-well`,"data-approval-command":!0,children:[(0,Z.jsx)(`div`,{className:`px-2.5 py-1.5`,children:(0,Z.jsxs)(`pre`,{ref:r,className:q(`min-w-0 font-mono text-xs leading-5 whitespace-pre-wrap wrap-anywhere text-well-text`,!o&&`line-clamp-3`),children:[t&&(0,Z.jsxs)(`span`,{className:`text-well-muted select-none`,children:[t,` `]}),e]})}),(i||o)&&(0,Z.jsx)(`button`,{type:`button`,className:`w-full border-t border-well-stroke px-2.5 py-1 text-left text-xs text-content-secondary hover:text-content focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus max-[650px]:min-h-11 pointer-coarse:min-h-11`,"aria-expanded":o,onClick:()=>c(e=>!e),children:n(o?`board:card.collapse`:`board:card.expand`)})]})}function pr({approvals:e,onResolve:t,compact:n=!1,sessionTitle:r=``,cwd:i=``}){let{t:a}=s(),o=u(),[c,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),[g,v]=(0,X.useState)(!1),[y]=(0,X.useState)(()=>Le()),x=(0,X.useRef)(!1),[S,C]=(0,X.useState)(``),w=(0,X.useRef)(null),T=pe(e=>e.boardBindings),E=e[0];(0,X.useEffect)(()=>{p(!1),v(!1),C(``)},[E?.id]);let k=E?.id;if((0,X.useEffect)(()=>{if(!k)return;let e=e=>{if(fe(e)||he(e.target)||e.target instanceof Element&&e.target.closest(`[data-shell-sidebar]`))return;let t=w.current;if(!t||t.getClientRects().length===0)return;let n=me(e,T.boardApprove)?`[data-approval-primary]`:me(e,T.boardDeny)?`[data-approval-deny]`:``,r=n?t.querySelector(n):null;!r||r.disabled||(e.preventDefault(),r.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[k,T.boardApprove,T.boardDeny]),!E)return null;let A=l(E)===`critical`,j=E.fileChange,M=typeof j?.diff==`string`?j.diff:``,N=E.args&&typeof E.args==`object`&&!Array.isArray(E.args)?E.args:{},F=$(N.command)||$(N.path),I=A?dr($(E.reason)):``,z=I?``:$(E.reason),B=A&&!y,V=async e=>{if(!x.current){x.current=!0,d(!0);try{await t(E.id,e)}finally{x.current=!1,d(!1)}}},H=!A&&E.toolName===`bash`&&i?m($(N.command)):``,ee=async()=>{if(!(x.current||!H)){x.current=!0,d(!0),C(``);try{await h.add({effect:`allow`,tool:`bash`,pattern:H,cwd:i}),await t(E.id,!0)}catch(e){C(e instanceof Error?e.message:String(e))}finally{x.current=!1,d(!1)}}};return(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,ref:w,"data-approval-stack":!0,children:[(0,Z.jsxs)(cr,{approval:{id:E.id},state:`approval-requested`,className:`tool-approval grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-2.5 rounded-(--r-lg) border border-st-attn-border bg-st-attn-soft px-3.5 py-3 text-foreground [&.compact]:px-2.5 [&.compact]:py-1.5 max-[470px]:grid-cols-1 ${n?`compact`:``}`,"data-pisper-approval-id":E.id,"data-approval-current":!0,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5 [grid-column:1/-1]`,children:[(0,Z.jsx)(`span`,{className:`grid size-[18px] flex-none place-items-center text-st-attn`,children:A?(0,Z.jsx)(L,{size:16,strokeWidth:1.75}):(0,Z.jsx)(R,{size:16,strokeWidth:1.75})}),(0,Z.jsx)(`strong`,{className:`min-w-0 flex-1 truncate text-[13.5px] font-medium`,children:a(`chat:focusSession.toolRequestsApproval`,{tool:E.toolName})}),(0,Z.jsx)(`span`,{className:q(`min-w-0 flex-none truncate text-xs`,A?`font-medium text-st-attn`:`text-content-muted`),"data-severity":A?`critical`:`standard`,children:A?I?a(`board:card.criticalWithReason`,{reason:I}):a(`board:card.critical`):a(`board:card.standard`)})]}),F&&(0,Z.jsx)(`div`,{className:`min-w-0 [grid-column:1/-1]`,children:(0,Z.jsx)(fr,{text:F,prefix:N.command?`$`:``})}),z&&(0,Z.jsx)(`p`,{className:`min-w-0 text-xs text-content-secondary [grid-column:1/-1] [overflow-wrap:anywhere]`,children:z}),!n&&(M||Object.keys(N).length>0)&&(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start gap-x-3 gap-y-1.5 [grid-column:1/-1]`,children:[M&&(0,Z.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff inline-flex min-h-7 flex-none cursor-pointer items-center gap-1.5 rounded-sm border border-stroke-strong bg-solid px-2 text-xs font-medium text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-foreground max-[650px]:min-h-11`,onClick:()=>p(!0),children:[(0,Z.jsx)(D,{size:13}),a(`chat:focusSession.gitViewDiff`)]}),(0,Z.jsxs)(`details`,{className:`group/args min-w-0 flex-1 text-xs text-content-muted`,children:[(0,Z.jsxs)(`summary`,{className:`inline-flex min-h-7 cursor-pointer list-none items-center gap-1 rounded-sm hover:text-foreground focus-visible:outline-2 focus-visible:outline-focus max-[650px]:min-h-11 [&::-webkit-details-marker]:hidden`,children:[(0,Z.jsx)(b,{size:13,className:`transition-transform duration-(--d-fast) group-open/args:rotate-90`}),a(`chat:focusSession.viewCallArguments`)]}),(0,Z.jsx)(`pre`,{className:`mt-1.5 max-h-[130px] overflow-auto rounded-sm border border-well-stroke bg-well p-[8px_10px] font-mono text-xs leading-[1.6] whitespace-pre-wrap text-well-text`,children:JSON.stringify(E.args,null,2)})]})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2 [grid-column:1/-1]`,children:[(0,Z.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,className:`bg-solid max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-deny":!0,onClick:()=>V(!1),children:a(`chat:focusSession.deny`)}),(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[B&&(0,Z.jsx)(`span`,{className:`min-w-0 truncate text-xs text-content-muted max-[470px]:hidden`,children:a(o?`board:confirm.hintTouch`:`board:card.holdHint`)}),H&&(0,Z.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,className:`min-w-0 bg-solid max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-allow-rule":!0,title:a(`chat:focusSession.allowAlwaysHint`,{prefix:H}),onClick:()=>void ee(),children:(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:a(`chat:focusSession.allowAlways`,{prefix:H})})}),B?(0,Z.jsxs)(Re,{size:`sm`,className:`max-[650px]:h-11 max-[650px]:px-4`,disabled:c,"data-approval-critical":!0,"data-approval-primary":!0,"data-approval-hold":!0,"aria-label":a(`board:card.holdToApprove`),onConfirm:()=>void V(!0),onActivate:()=>v(!0),children:[c?(0,Z.jsx)(P,{className:`animate-spin`,size:12}):(0,Z.jsx)(_,{size:12}),a(`board:card.holdToApprove`)]}):(0,Z.jsxs)(J,{type:`button`,size:`sm`,variant:A?`outline`:`default`,className:q(`max-[650px]:h-11 max-[650px]:px-4`,A&&`bg-solid`),disabled:c,"data-approval-critical":A||void 0,"data-approval-primary":!0,"aria-haspopup":A?`dialog`:void 0,onClick:()=>A?v(!0):V(!0),children:[c?(0,Z.jsx)(P,{className:`animate-spin`,size:12}):(0,Z.jsx)(_,{size:12}),a(A?`board:card.approveCritical`:`chat:focusSession.allow`)]})]})]}),S&&(0,Z.jsx)(`p`,{role:`alert`,className:`min-w-0 text-xs text-danger [grid-column:1/-1]`,children:S}),A&&g&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(lr,{target:{sessionId:``,title:r||$(E.toolName),cwd:i,approval:ur(E)},phone:o,pending:c,error:``,onConfirm:()=>{V(!0).then(()=>v(!1),()=>void 0)},onOpenChange:e=>{e||v(!1)}})}),f&&(0,Z.jsx)(O,{diff:M,truncated:!!j?.truncated,onClose:()=>p(!1)})]}),e.length>1&&(0,Z.jsxs)(`p`,{className:`flex min-h-8 min-w-0 items-center gap-2 rounded-(--r-md) border border-st-attn-border px-3 text-xs text-st-attn`,"data-approval-more":e.length-1,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`size-2 flex-none rounded-full bg-st-attn-fill`}),a(`board:card.moreWaiting`,{count:e.length-1})]})]})}function mr(e,t){return e?.streaming?!0:!e?.loaded&&!!t?.streaming}var hr={session:null,expiresAt:null,created:!1,loading:!1,error:``,draft:``,expired:!1},gr=(0,X.createContext)(null);function _r(e){let t=(0,X.useContext)(gr);if(!t)throw Error(`Side chat requires its runtime provider`);return{...t,entry:t.entries[e]??hr}}export{ht as A,it as C,gt as D,ct as E,Qe as F,Xe as I,Ye as L,tt as M,et as N,lt as O,$e as P,nt as S,ut as T,Tt as _,pr as a,bt as b,Xt as c,kt as d,jt as f,wt as g,Et as h,mr as i,ft as j,st as k,Mt as l,Dt as m,gr as n,or as o,Ot as p,_r as r,$t as s,hr as t,At as u,vt as v,dt as w,yt as x,xt as y};
|