@henlii/pidance 0.2.48 → 0.2.49
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +8 -8
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/about/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -8
- package/.next/server/chunks/2356.js +2 -2
- package/.next/server/chunks/5274.js +1 -1
- package/.next/server/chunks/5304.js +2 -2
- package/.next/server/chunks/7594.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/{page-0283b49b87f3be19.js → page-478def7d47acba2d.js} +1 -1
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/package.json +1 -1
- /package/.next/static/{N5vIs8Pi9EdGM760KbIzr → L9K93jEMJgnGhbhHVEoah}/_buildManifest.js +0 -0
- /package/.next/static/{N5vIs8Pi9EdGM760KbIzr → L9K93jEMJgnGhbhHVEoah}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{17581:(e,t,n)=>{Promise.resolve().then(n.bind(n,42470)),Promise.resolve().then(n.bind(n,84747))},28999:(e,t,n)=>{"use strict";function r(e){try{return decodeURIComponent(e)}catch{return e}}function i(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function o(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function l(e){return i(e).split("/").filter(Boolean).map(encodeURIComponent).join("/")}function s(e){var t;if("string"!=typeof e)return null;let n="/api/files/",i=e.indexOf(n);if(i<0)return null;let o=e.slice(i+n.length).split("?")[0].split("#")[0];if(!o)return null;let l=o.split("/").filter(e=>e.length>0).map(r);if(0===l.length)return null;let s=l.join("/").replace(/\\/g,"/");return(t=s,/^[a-zA-Z]:\//.test(t)||t.startsWith("//"))?s:`/${s.replace(/^\/+/,"")}`}function a(e){let t=i(e).replace(/\/+$/,"");return t.split("/").pop()??t}function d(e){let t=i(e).replace(/\/+$/,""),n=t.lastIndexOf("/");return n<0?"":0===n?"/":2===n&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,n)}function c(e,t){if(!t)return e;let n=i(e),r=i(t).replace(/\/$/,"");return n.startsWith(r+"/")?n.slice(r.length+1):e}function u(e,t){return`${i(e).replace(/\/$/,"")}/${t}`}n.d(t,{A0:()=>i,HG:()=>l,WP:()=>a,e_:()=>u,ex:()=>r,gX:()=>d,n$:()=>s,nf:()=>o,qP:()=>c})},32383:(e,t,n)=>{"use strict";n.d(t,{$J:()=>d,LY:()=>a,Us:()=>u,submitAgentPrompt:()=>c});var r=n(54180),i=n(99838);let o=["accepted","queued","rejected"],l=["prompt","steer","queued"],s=["busy","compacting","bash","media","locked","model","auth","extension","error"];function a(e){let t=e?.agentCommandStatus;return"number"==typeof t&&t>=400&&t<500}async function d(e,t,n){let r=await fetch(`/api/agent/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n?.signal}),i=await r.json().catch(()=>({}));if(!r.ok||i.error)throw function(e,t){if(e&&"object"==typeof e)try{e.agentCommandStatus=t}catch{}return e}(Error(i.error??`HTTP ${r.status}`),r.status);return i.data}async function c(e,t,n){let a=await d(e,{type:"prompt",message:t.message,submissionId:t.submissionId,...t.images?.length?{images:(0,r.py)(t.images)}:{},...t.binaryBlocks?.length?{binaryBlocks:t.binaryBlocks}:{}},n);if(!a||"object"!=typeof a)throw Error("Invalid prompt receipt: expected an object");if("string"!=typeof a.submissionId||!a.submissionId||"string"!=typeof a.sessionId||!a.sessionId||!o.includes(a.status)||a.submissionId!==t.submissionId||a.sessionId!==e)throw Error("Invalid prompt receipt");return{submissionId:a.submissionId,sessionId:a.sessionId,status:a.status,...l.includes(a.action)?{action:a.action}:{},...s.includes(a.reason)?{reason:a.reason}:{},...function(e){if(!e||"object"!=typeof e||!Array.isArray(e.items)||"number"!=typeof e.revision)return null;let t=Array.isArray(e.inFlight)?e.inFlight.filter(e=>"string"==typeof e):[];return{queue:{items:(0,i.hh)(e.items),revision:e.revision,inFlight:t}}}(a.queue)??{}}}function u(e){return"boolean"==typeof e.live?e.live:!0===e.running}},42470:(e,t,n)=>{"use strict";n.d(t,{AppShell:()=>pY});var r=n(95155),i=n(12115),o=n(73321);let l=null;var s=n(47650);function a(e,t){if(!t)return e;let n=e.replaceAll("\\","/"),r=t.replaceAll("\\","/").replace(/\/$/,"");return n===r?"~":n.startsWith(`${r}/`)?`~${n.slice(r.length)}`:e}function d(e){let t=e.replaceAll("\\","/").replace(/\/+$/,""),n=t.lastIndexOf("/");return(n>=0?t.slice(n+1):t)||e}let c={status:"idle",error:null,cwd:null,projectRoot:null};function u(e){return null===e.cwd?{...e,cwd:null,projectRoot:null}:{...e,projectRoot:e.cwd}}function p(e,t){return e.status===t.status&&e.error===t.error&&e.cwd===t.cwd&&e.projectRoot===t.projectRoot}function h(e){let t=e.filter(e=>!e.subagent),n=new Map;for(let e of t)n.set(e.id,{session:e,relation:null,children:[]});let r=new Map,i=e=>{let t=new Set([e]),n=r.get(e)?.parentId;for(;n;){if(t.has(n))return!0;t.add(n),n=r.get(n)?.parentId}return!1},o=[];for(let e of n.values()){let t=r.get(e.session.id),l=t?n.get(t.parentId):void 0;if(!t||!l||i(e.session.id)){o.push(e);continue}e.relation=t.relation,l.children.push(e)}let l=(e,t)=>t.session.modified.localeCompare(e.session.modified),s=(e,t)=>{if(t)e.sort(l);else{let t=e.filter(e=>"subagent"===e.relation).sort((e,t)=>(e.session.subagent?.runIndex??0)-(t.session.subagent?.runIndex??0)),n=e.filter(e=>"subagent"!==e.relation).sort(l);e.splice(0,e.length,...t,...n)}for(let t of e)s(t.children,!1)};return s(o,!0),o}function f(e,t){if(!t)return e;let n=[];for(let r of e){let e=f(r.children,t);((function(e,t){let n;return!t||(n=[e.name??"",e.firstMessage,e.id],e.subagent&&(n.push(e.subagent.agent??"",e.subagent.runId),n.push(`run ${e.subagent.runIndex}`,`run-${e.subagent.runIndex}`,String(e.subagent.runIndex))),n.join("\n").toLowerCase()).includes(t)})(r.session,t)||e.length>0)&&n.push({...r,children:e})}return n}function g(e,t){let n=(e,r)=>{for(let i of e){if(i.session.id===t)return r;let e=n(i.children,[...r,i.session.id]);if(e)return e}return null};return n(e,[])??[]}function m(e){return e?e instanceof Set?e:new Set(e):new Set}let x=new Set(["projectRoots","pinnedSessionIds","ungroupedSessionIds","collapsedProjectRoots"]),v="__ungrouped__",y=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function b(e,t){if(t?.[e.root])return t[e.root];let n=e.root.replaceAll("\\","/").replace(/\/+$/,""),r=n.lastIndexOf("/");return(r>=0?n.slice(r+1):n)||e.root}function w(e,t){if(0===t.size)return[];let n=[];for(let r of e){let e=w(r.children,t);(t.has(r.session.id)||e.length>0)&&n.push({...r,children:e})}return n}let k=1600/1920;function j(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(600,Math.round(e)):1600}function S(e){let t=e.ratio,n=e.availableWidth;if(Number.isFinite(t)&&t>1)return j(t);let r="number"!=typeof t||!Number.isFinite(t)||t<=0?k:Math.min(1,Math.max(.2,t));return!Number.isFinite(n)||n<=0?1600:j(n*r)}let C="--pidance-chat-column-width",_=`min(var(${C}, 1100px), 100%)`,I="min(320px, 45vh)",R="min(240px, 32vh)",T={padding:"0 10px 8px",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",overflowWrap:"anywhere"};function E(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(520,Math.max(240,Math.round(e))):300}function M(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(720,Math.max(320,Math.round(e))):400}function A(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(960,Math.max(320,Math.round(e))):560}function L(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.trim();if(!e||null===r||"object"!=typeof r||Array.isArray(r))continue;let i=Array.isArray(r.expanded)?r.expanded.filter(e=>"string"==typeof e):[],o="number"==typeof r.scrollTop&&Number.isFinite(r.scrollTop)&&r.scrollTop>0?Math.round(r.scrollTop):0;t[e]={expanded:i,scrollTop:o}}return t}let z={displayMode:"standard",collapsedProjectRoots:[],projectAliases:{},projectRoots:[],projectRootsMigrated:!1,sidebarWidth:300,rightPanelOpen:!1,rightPanelWidth:400,changesPanelOpen:!0,changesPanelWidth:560,chatColumnWidthRatio:1600,showRecentSessions:!0,pinnedSessionIds:[],ungroupedSessionIds:[],fileExplorerState:{},projectSort:"recent",projectOrder:[]},W="pidance:sidebar-preferences";function $(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function P(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if("string"!=typeof r)continue;let e=r.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n.length>1e3?n.slice(-1e3):n}function F(e){return null===e||"object"!=typeof e?{...z,projectAliases:{},collapsedProjectRoots:[]}:{displayMode:"compact"===e.displayMode||"standard"===e.displayMode?e.displayMode:z.displayMode,collapsedProjectRoots:$(e.collapsedProjectRoots),projectAliases:function(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if("string"!=typeof r)continue;let e=n.trim(),i=r.trim();e&&i&&(t[e]=i)}return t}(e.projectAliases),...function(e){if(void 0!==e.projectRoots)return{projectRoots:D($(e.projectRoots)),projectRootsMigrated:!1};let t=H({added:e.addedProjectRoots,closed:e.closedProjectRoots,hasProjectRoots:!1});return t?{projectRoots:t.projectRoots,projectRootsMigrated:!0}:{projectRoots:[],projectRootsMigrated:!1}}(e),sidebarWidth:E(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:M(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,chatColumnWidthRatio:V(e.chatColumnWidthRatio),changesPanelWidth:A(e.changesPanelWidth),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:$(e.pinnedSessionIds),ungroupedSessionIds:P(e.ungroupedSessionIds),fileExplorerState:L(e.fileExplorerState),projectSort:N(e.projectSort),projectOrder:$(e.projectOrder)}}function H(e){if(e.hasProjectRoots||void 0===e.added&&void 0===e.closed)return null;let t=new Set($(e.closed));return{projectRoots:D($(e.added).filter(e=>!t.has(e)))}}function D(e){let t=[],n=new Set;for(let r of e){let e=r.trim();!e||n.has(e)||(n.add(e),t.push(e))}return t}function N(e){return"az"===e||"za"===e||"fixed"===e||"recent"===e?e:z.projectSort}function B(e){return JSON.stringify({displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,projectAliases:e.projectAliases,projectRoots:e.projectRoots,sidebarWidth:E(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:M(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,changesPanelWidth:A(e.changesPanelWidth),chatColumnWidthRatio:V(e.chatColumnWidthRatio),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:$(e.pinnedSessionIds),ungroupedSessionIds:P(e.ungroupedSessionIds),fileExplorerState:L(e.fileExplorerState),projectSort:N(e.projectSort),projectOrder:$(e.projectOrder)})}function O(e){try{let t=e.getItem(W);if(null===t)return F(null);try{return F(JSON.parse(t))}catch{return F(null)}}catch{return F(null)}}function U(){return O(window.localStorage)}function q(e){try{window.localStorage.setItem(W,B(e))}catch{}}function K(e){return{displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,projectRoots:e.projectRoots,showRecentSessions:e.showRecentSessions,pinnedSessionIds:e.pinnedSessionIds,projectSort:e.projectSort,projectOrder:e.projectOrder,ungroupedSessionIds:e.ungroupedSessionIds}}function V(e){return"number"!=typeof e||!Number.isFinite(e)||e<=0?1600:j(e>1?e:1600*e)}function J(e){var t,n=window.localStorage;try{let r=O(n);n.setItem(W,B({...r,rightPanelOpen:void 0===e.open?r.rightPanelOpen:(t=e.open,!0===t),rightPanelWidth:void 0===e.width?r.rightPanelWidth:M(e.width)}))}catch{}}function Y(e){var t,n=window.localStorage;try{let r=O(n);n.setItem(W,B({...r,changesPanelOpen:void 0===e.open?r.changesPanelOpen:(t=e.open,!1!==t),changesPanelWidth:void 0===e.width?r.changesPanelWidth:A(e.width)}))}catch{}}function X(e,t){var n=window.localStorage;try{let r=O(n),i=L(r.fileExplorerState);e.trim()&&(i[e]={expanded:L({[e]:t})[e]?.expanded??[],scrollTop:Math.max(0,Math.round(Number.isFinite(t.scrollTop)?t.scrollTop:0))}),n.setItem(W,B({...r,fileExplorerState:i}))}catch{}}let G="pidance.streamingEnterDefault",Z="followUp";function Q(e){return"steer"===e?"steer":"followUp"}function ee(){var e=window.localStorage;try{let t=e.getItem(G);if(null===t)return Z;try{return Q(JSON.parse(t))}catch{return Q(t)}}catch{return Z}}function et(e){var t=window.localStorage;try{t.setItem(G,JSON.stringify(Q(e)))}catch{}}let en="pidance.autoUpdateCheck";function er(e){return!1!==e&&0!==e&&"0"!==e&&"false"!==e}function ei(){var e=window.localStorage;try{let t=e.getItem(en);if(null===t)return!0;try{return er(JSON.parse(t))}catch{return er(t)}}catch{return!0}}function eo(e){var t=window.localStorage;try{t.setItem(en,JSON.stringify(er(e)))}catch{}}let el="pidance.editorTakeover",es="pidance:editor-takeover-changed";function ea(e){return!1!==e&&0!==e&&"0"!==e&&"false"!==e}function ed(){var e=window.localStorage;try{let t=e.getItem(el);if(null===t)return!0;try{return ea(JSON.parse(t))}catch{return ea(t)}}catch{return!0}}var ec=n(72634);let eu="pidance.sessionList.v1";function ep(){try{let e=window.localStorage.getItem(eu);if(!e)return null;let t=JSON.parse(e);if(!Array.isArray(t.sessions))return null;return t.sessions}catch{return null}}function eh(e){try{let t=[...e].sort((e,t)=>e.modified<t.modified?1:e.modified>t.modified?-1:0).slice(0,50);window.localStorage.setItem(eu,JSON.stringify({sessions:t}))}catch{}}let ef=["openAtLogin","minimizeToTray","notificationsEnabled"];function eg(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{},n={openAtLogin:!1,minimizeToTray:!1,notificationsEnabled:!1};for(let e of ef)!0===t[e]&&(n[e]=!0);return n}function em(){let[e]=(0,i.useState)(()=>(function(e=globalThis){if(!e||"object"!=typeof e)return null;let t=e.pidanceDesktop;return t&&"object"==typeof t?"function"!=typeof t.getSettings||"function"!=typeof t.setSetting||"function"!=typeof t.notify||"function"!=typeof t.onOpenSettings?null:t:null})());return e}let ex=new Set(["running","queued","paused"]),ev={...{runningChildIds:new Set,bySessionId:new Map},stale:!1,updatedAt:null},ey=ev,eb=new Set,ew=null,ek=!1;function ej(e){for(let t of(ey=e,eb))t()}async function eS(){if(!ek){ek=!0;try{let e=await fetch("/api/subagent-runs?limit=50");if(!e.ok)return void ej({...ey,stale:!0});let t=await e.json();ej({...function(e){let t=new Set,n=new Map;for(let r of e??[]){if(!r||"object"!=typeof r)continue;let e=ex.has(r.state);for(let i of r.steps??[]){let o=i?.sessionId;o&&(e&&t.add(o),n.has(o)||n.set(o,{runId:r.id,mode:r.mode,active:e,step:i}))}}return{runningChildIds:t,bySessionId:n}}(t.runs),stale:!1,updatedAt:Date.now()})}catch{ej({...ey,stale:!0})}finally{ek=!1}}}function eC(){document.hidden||eS()}function e_(e){return eb.add(e),1===eb.size&&(eS(),ew=setInterval(()=>{document.hidden||eS()},3e4),document.addEventListener("visibilitychange",eC)),()=>{eb.delete(e),0===eb.size&&(ew&&clearInterval(ew),ew=null,document.removeEventListener("visibilitychange",eC))}}function eI(){return ey}function eR(){return ev}function eT(){return(0,i.useSyncExternalStore)(e_,eI,eR)}function eE(){return{scheduled:!1,inFlight:!1,rerun:!1}}function eM(e){let t=e.coalesceMs??200,n=e.setTimer??((e,t)=>setTimeout(e,t)),r=e.clearTimer??(e=>clearTimeout(e)),i=eE(),o=null,l=!1,s=t=>{l||(null!==o&&r(o),o=n(()=>{let t;if(o=null,!l){i={...i,scheduled:!1,inFlight:!0};try{t=e.perform()}catch{t=Promise.resolve()}Promise.resolve(t).catch(()=>void 0).then(()=>{var e;let t,n=(t=(e=i).rerun,{state:{...e,inFlight:!1,rerun:!1},rerun:t});i=n.state,n.rerun&&!l&&s(0)})}},t))};return{notify(){var e;if(l)return;let n=(e=i).inFlight?{state:{...e,rerun:!0},note:"deferred"}:e.scheduled?{state:e,note:"coalesced"}:{state:{...e,scheduled:!0},note:"schedule"};i=n.state,"schedule"===n.note&&s(t)},snapshot:()=>i,dispose(){l=!0,null!==o&&r(o),o=null,i=eE()}}}var eA=n(69892);function eL(e,t){let n=e[t];return"number"!=typeof n||!Number.isFinite(n)||n<5?5:Math.floor(n)}function ez(e,t){let n=eL(e,t);return{...e,[t]:n+5}}function eW(e,t){if(!(t in e))return e;let n={...e};return delete n[t],n}function e$(e,t,n){if(n)return e;let r=Math.max(0,Math.floor(t));return r>=e.length?e:e.slice(0,r)}function eP(e,t){let n=t.modified.localeCompare(e.modified);if(0!==n)return n;let r=t.created.localeCompare(e.created);return 0!==r?r:e.id.localeCompare(t.id)}function eF(e,t){return e===t&&e>0}function eH(e,t,n){let r=Math.max(0,Math.floor(t));return"fewer"===n?Math.min(5,r):Math.min((Number.isFinite(e)?Math.max(0,Math.floor(e)):5)+5,r)}let eD=(0,i.createContext)(null);function eN({children:e,initial:t}){let n=(0,i.useRef)(null);return n.current||(n.current=function(e={}){let t=u({...c,...e.identity}),n=new Set,r=t,i=()=>n.forEach(e=>e());return{getIdentitySnapshot:()=>r,subscribeIdentity:e=>(n.add(e),()=>n.delete(e)),setIdentity:e=>{let n=void 0!==e.cwd?{...e,projectRoot:e.cwd}:e,o=u({...t,...n});p(t,o)||(r=t=o,i())},reset:()=>{let e=!p(t,c);r=t=c,e&&i()}}}(t)),(0,r.jsx)(eD.Provider,{value:n.current,children:e})}function eB(){let e=(0,i.useContext)(eD);if(!e)throw Error("useProjectIdentity/useProjectActions 必须在 ProjectProvider 内使用");return e}function eO(){let e=eB();return(0,i.useSyncExternalStore)(e.subscribeIdentity,e.getIdentitySnapshot,e.getIdentitySnapshot)}var eU=n(99780);function eq(e,t,n=eY){return{id:n(),cwd:e,generation:t}}let eK="pending:";function eV(e){return`${eK}${e}`}function eJ(e){return e.startsWith(eK)}function eY(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`intent-${Date.now()}-${Math.random().toString(36).slice(2)}`}var eX=n(61995);function eG(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),o=Math.floor(r/36e5),l=Math.floor(r/864e5);return i<1?t("sidebar_justNow"):i<60?t("sidebar_minutesAgo",{count:i}):o<24?t("sidebar_hoursAgo",{count:o}):l<7?t("sidebar_daysAgo",{count:l}):n.toLocaleDateString()}function eZ({text:e,style:t}){return(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,r.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}function eQ({open:e,children:t,style:n}){let[o,l]=(0,i.useState)(e),[s,a]=(0,i.useState)(e);return((0,i.useEffect)(()=>{let t,n;return e?(l(!0),a(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>a(!0))})):(a(!1),n=setTimeout(()=>l(!1),140)),()=>{void 0!==t&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),o)?(0,r.jsx)("div",{style:{...n,opacity:+!!s,transform:s?"translateY(0) scale(1)":"translateY(-8px) scale(0.96)",transformOrigin:"top center",transition:"opacity 140ms ease, transform 140ms ease",pointerEvents:e?"auto":"none"},children:t}):null}let e0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function e1(){let[e,t]=(0,i.useState)(!1),[n,o]=(0,i.useState)(!1),l=(0,i.useRef)(null),s=function(e,t){let[n,r]=(0,i.useState)(e),o=(0,i.useRef)(null),l=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t)return void r(e);l.current=0;let n=4*e.length,i=()=>{l.current+=1;let t=Math.floor(l.current/n*e.length);r(e.split("").map((e,n)=>" "===e?" ":n<t?e:e0[Math.floor(Math.random()*e0.length)]).join("")),l.current<n?o.current=requestAnimationFrame(i):r(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t]),n}(e?"0.2.48pexternal":"Pidance",n),a=(0,i.useCallback)(e=>{t(e),o(!0),setTimeout(()=>o(!1),(e?6:8)*4*(1e3/60)+100)},[]),d=(0,i.useCallback)(()=>{l.current&&clearTimeout(l.current);let t=!e;a(t),t&&(l.current=setTimeout(()=>a(!1),3e3))},[e,a]);return(0,i.useEffect)(()=>()=>{l.current&&clearTimeout(l.current)},[]),(0,r.jsx)("button",{onClick:d,style:{background:"none",border:"none",padding:0,cursor:"default",fontWeight:700,fontSize:15,letterSpacing:"-0.01em",color:e?"var(--accent)":"var(--text)",fontFamily:"var(--font-mono)",minWidth:"6ch"},children:s})}function e2({label:e,onClick:t,disabled:n=!1,active:i=!1,danger:o=!1,done:l=!1,hoverReveal:s=!1,expanded:a,pressed:d,haspopup:c,buttonRef:u,children:p}){let h=["sidebar-icon-btn"];return i&&h.push("sidebar-icon-btn--active"),o&&h.push("sidebar-icon-btn--danger"),l&&h.push("sidebar-icon-btn--done"),s&&h.push("sidebar-icon-btn--hover"),(0,r.jsx)("button",{type:"button",ref:u,onClick:t,disabled:n,"data-tooltip":e,"aria-label":e,"aria-expanded":a,"aria-pressed":d,"aria-haspopup":c,className:h.join(" "),children:p})}function e4(e){return{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0}}let e6=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),(0,r.jsx)("path",{d:"M12 10v6"}),(0,r.jsx)("path",{d:"M9 13h6"})]}),e5=({size:e=14})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})}),e8=({size:e=14})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,r.jsx)("path",{d:"M3 4v5h5"}),(0,r.jsx)("path",{d:"M12 7v5l3 2"})]}),e3=({size:e=13})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M12 17v5"}),(0,r.jsx)("path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1z"})]}),e9=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),(0,r.jsx)("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),(0,r.jsx)("path",{d:"M10 12h4"})]}),e7=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"}),(0,r.jsx)("path",{d:"M12 7v6"}),(0,r.jsx)("path",{d:"M9 10h6"})]}),te=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,r.jsx)("path",{d:"m21 21-4.3-4.3"})]}),tt=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("line",{x1:"21",x2:"14",y1:"4",y2:"4"}),(0,r.jsx)("line",{x1:"10",x2:"3",y1:"4",y2:"4"}),(0,r.jsx)("line",{x1:"21",x2:"12",y1:"12",y2:"12"}),(0,r.jsx)("line",{x1:"8",x2:"3",y1:"12",y2:"12"}),(0,r.jsx)("line",{x1:"21",x2:"16",y1:"20",y2:"20"}),(0,r.jsx)("line",{x1:"12",x2:"3",y1:"20",y2:"20"}),(0,r.jsx)("line",{x1:"14",x2:"14",y1:"2",y2:"6"}),(0,r.jsx)("line",{x1:"8",x2:"8",y1:"10",y2:"14"}),(0,r.jsx)("line",{x1:"16",x2:"16",y1:"18",y2:"22"})]}),tn=({size:e=14})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("polyline",{points:"20 6 9 17 4 12"})}),tr=({size:e=14})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),ti=({size:e=13})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,r.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,r.jsx)("path",{d:"M10 11v6M14 11v6"}),(0,r.jsx)("path",{d:"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"})]}),to=({size:e=13})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})}),tl=({size:e=10})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("polygon",{points:"12 2 2 7 12 12 22 7 12 2"}),(0,r.jsx)("polyline",{points:"2 17 12 22 22 17"}),(0,r.jsx)("polyline",{points:"2 12 12 17 22 12"})]}),ts=({size:e=14})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"12",cy:"5",r:"1.7"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"1.7"}),(0,r.jsx)("circle",{cx:"12",cy:"19",r:"1.7"})]});function ta({collapsed:e,label:t,left:n,onClick:i}){return(0,r.jsx)("button",{type:"button",onClick:e=>{i(e),e.currentTarget.blur()},"data-tooltip":t,"aria-label":t,className:"sidebar-indent-indicator",style:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:n,top:"50%",width:16,height:20,padding:0,flexShrink:0,zIndex:1,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",transform:`translateY(-50%)${e?" rotate(-90deg)":""}`,transition:"transform 0.15s"},children:(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,r.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})})}function td({primary:e=!1,danger:t=!1,disabled:n=!1,onClick:i,children:o}){let l=e||t;return(0,r.jsx)("button",{type:"button",onClick:i,disabled:n,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,height:30,padding:"0 14px",flexShrink:0,background:t?"var(--status-danger)":e?"var(--accent)":"var(--bg)",border:l?"none":"1px solid var(--border)",borderRadius:7,color:l?"#fff":"var(--text-muted)",cursor:n?"not-allowed":"pointer",fontSize:12,fontWeight:l?600:500,opacity:n?.55:1,whiteSpace:"nowrap"},children:o})}function tc({label:e,checked:t,onClick:n}){return(0,r.jsxs)("button",{type:"button",onClick:n,style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"7px 10px",background:"var(--bg-elevated)",border:"none",color:t?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11.5},children:[t?(0,r.jsx)("span",{style:{color:"var(--accent)",display:"flex",flexShrink:0},children:(0,r.jsx)(tn,{size:11})}):(0,r.jsx)("span",{style:{width:11,flexShrink:0}}),e]})}function tu({icon:e,label:t,onClick:n}){return(0,r.jsxs)("button",{type:"button",role:"menuitem",onClick:n,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:"var(--bg-elevated)",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:12,whiteSpace:"nowrap"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"},onFocus:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onBlur:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"},children:[(0,r.jsx)("span",{style:{display:"flex",flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true",children:e}),t]})}function tp({groupKey:e,total:t,visibleCount:n,searchActive:i,onShowMore:o,onShowFewer:l}){let{t:s}=(0,eU.s9)(),a=!i&&t>Math.max(0,Math.floor(n)),d=!i&&Math.floor(n)>5;return a||d?(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 8px 5px 28px"},children:[a&&(0,r.jsxs)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>o(e),children:[s("sidebar_showMore"),(0,r.jsxs)("span",{"aria-hidden":"true",children:["+",5]})]}),d&&(0,r.jsx)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>l(e),children:s("sidebar_showFewer")})]}):null}function th({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_running"),"aria-label":t("sidebar_running"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-running)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:e-4,height:e-4,borderRadius:"50%",border:"2px solid currentColor",borderTopColor:"transparent",background:"transparent",boxSizing:"border-box",animation:"sidebar-running-spin 1s linear infinite"}})})}function tf({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_waiting"),"aria-label":t("sidebar_waiting"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-waiting)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:6,height:6,borderRadius:"50%",background:"currentColor"}})})}function tg({startedAt:e,now:t,running:n}){let{t:i}=(0,eU.s9)();return n?(0,r.jsx)("span",{title:i("sidebar_running"),style:{display:"inline-flex",alignItems:"center",flexShrink:0,color:"var(--status-running)",fontSize:10,fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"},children:(0,r.jsx)("span",{children:void 0!==e?function(e,t){let n,r,{hours:i,minutes:o,seconds:l}=(r=Math.floor((n=Math.max(0,Math.floor(e/1e3)))/3600),{hours:r,minutes:Math.floor(n%3600/60),seconds:n%60});return i>0?t("sidebar_runningHoursMinutes",{h:i,m:o}):o>0?t("sidebar_runningMinutesSeconds",{m:o,s:l}):t("sidebar_runningSeconds",{s:l})}(Math.max(0,t-e),i):i("sidebar_running")})}):null}function tm({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_abnormal"),"aria-label":t("sidebar_abnormal"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-danger)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{width:e,height:e,borderRadius:"50%",background:"currentColor"}})})}function tx({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_activity"),"aria-label":t("sidebar_activity"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-unread)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:6,height:6,borderRadius:"50%",background:"currentColor"}})})}let tv=(0,i.createContext)({startedAt:new Map,now:Date.now()}),ty=(0,i.createContext)(new Set),tb=(0,i.createContext)(new Set),tw=0,tk=null,tj=[];function tS(e){return tj.length>0&&tj[tj.length-1]===e}let tC=i.useLayoutEffect;function t_(){let e={top:0,left:0,width:Number.isFinite(window.innerWidth)?Math.max(0,window.innerWidth):0,height:Number.isFinite(window.innerHeight)?Math.max(0,window.innerHeight):0},t=window.visualViewport;if(!t)return e;let n=Number.isFinite(t.width)?Math.max(0,t.width):0,r=Number.isFinite(t.height)?Math.max(0,t.height):0;return n<=0||r<=0?e:{top:Number.isFinite(t.offsetTop)?Math.max(0,t.offsetTop):0,left:Number.isFinite(t.offsetLeft)?Math.max(0,t.offsetLeft):0,width:n,height:r}}function tI(e){return Array.from(e.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>e.getClientRects().length>0)}function tR({open:e,onClose:t,title:n,description:o,children:l,actions:a,width:d=560,height:c,zIndex:u=1e3,closeOnBackdrop:p=!0,closeOnEsc:h=!0,initialFocusRef:f,headerActions:g,contentPadding:m="14px 18px",closeLabel:x="Close"}){let v=(0,i.useRef)(null),y=(0,i.useId)(),b=(0,i.useId)(),w=(0,i.useRef)(null);null===w.current&&(w.current=Symbol("ViewportDialog")),(0,i.useEffect)(()=>{if(e){var t;let e;return t=w.current,tj.push(t),e=!1,()=>{if(e)return;e=!0;let n=tj.lastIndexOf(t);n>=0&&tj.splice(n,1)}}},[e]),(0,i.useEffect)(()=>{var t,n;if(!e)return;let r=document.activeElement,i=v.current,o=(t=f?.current,n=i?tI(i):[],t??n[0]??i);return o?.focus({preventScroll:!0}),()=>{var e,t;let n=(e=r instanceof HTMLElement?r:null,t=e=>document.contains(e),null!==e&&t(e)?e:null);n?.focus({preventScroll:!0})}},[e,f]),(0,i.useEffect)(()=>{if(e){var t;let e;return t=document.body,0===tw&&(tk=t.style.overflow,t.style.overflow="hidden"),tw+=1,e=!1,()=>{e||(e=!0,0==(tw-=1)&&(t.style.overflow=tk??"",tk=null))}}},[e]),(0,i.useEffect)(()=>{if(!e)return;let n=w.current,r=e=>{let r=function(e){if(!e.isTop)return{stopPropagation:!1,preventDefault:!1,close:!1};let t="Escape"===e.key&&e.closeOnEsc&&!e.defaultPrevented;return{stopPropagation:!0,preventDefault:t,close:t}}({key:e.key,defaultPrevented:e.defaultPrevented,closeOnEsc:h,isTop:tS(n)});r.stopPropagation&&(e.stopPropagation(),r.preventDefault&&e.preventDefault(),r.close&&t())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,h,t]),(0,i.useEffect)(()=>{if(!e)return;let t=w.current,n=e=>{if(!tS(t))return;let n=v.current;!n||!(e.target instanceof Node)||n.contains(e.target)||(tI(n)[0]??n).focus({preventScroll:!0})};return document.addEventListener("focusin",n),()=>document.removeEventListener("focusin",n)},[e]);let[k,j]=(0,i.useState)(null),S=(0,i.useRef)(0),C=(0,i.useCallback)(()=>{let e=t_();j(t=>t&&t.top===e.top&&t.left===e.left&&t.width===e.width&&t.height===e.height?t:e)},[]);if(tC(()=>{if(!e)return void j(null);C();let t=()=>{S.current||(S.current=requestAnimationFrame(()=>{S.current=0,C()}))};window.addEventListener("resize",t);let n=window.visualViewport;return n?.addEventListener("resize",t),n?.addEventListener("scroll",t),()=>{window.removeEventListener("resize",t),n?.removeEventListener("resize",t),n?.removeEventListener("scroll",t),S.current&&(cancelAnimationFrame(S.current),S.current=0)}},[e,C]),!e||"u"<typeof document)return null;let _="number"==typeof d?`${d}px`:d,I=k??t_(),R=function(e,t=16){return{maxWidth:Math.max(0,e.width-2*t),maxHeight:Math.max(0,e.height-2*t)}}(I),T="number"==typeof d?Math.min(d,R.maxWidth):`min(${_}, ${R.maxWidth}px)`,E=void 0===c?void 0:"number"==typeof c?Math.min(c,R.maxHeight):`min(${c}, ${R.maxHeight}px)`;return(0,s.createPortal)((0,r.jsx)("div",{onMouseDown:e=>{p&&e.target===e.currentTarget&&t()},style:{position:"fixed",top:I.top,left:I.left,width:I.width,height:I.height,zIndex:u,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,overscrollBehavior:"contain"},children:(0,r.jsxs)("div",{ref:v,role:"dialog","aria-modal":"true","data-pidance-modal":"true","aria-labelledby":y,"aria-describedby":o?b:void 0,tabIndex:-1,onKeyDown:e=>{if("Tab"!==e.key)return;let t=v.current;if(!t)return;let n=function(e){let{focusable:t,active:n,shiftKey:r,panel:i,contains:o}=e;if(0===t.length)return{handled:!0,target:i};let l=t[0],s=t[t.length-1],a=null!==n&&o(n);if(r){if(n===l||!a)return{handled:!0,target:s}}else if(n===s||!a)return{handled:!0,target:l};return{handled:!1}}({focusable:tI(t),active:document.activeElement,shiftKey:e.shiftKey,panel:t,contains:e=>t.contains(e)});n.handled&&(e.preventDefault(),n.target.focus({preventScroll:!0}))},style:{width:"100%",maxWidth:T,maxHeight:R.maxHeight,...void 0!==E?{height:E,minHeight:0}:{},display:"flex",flexDirection:"column",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:10,boxShadow:"0 8px 32px rgba(0,0,0,0.18)",overflow:"hidden",outline:"none"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("div",{id:y,style:{fontSize:15,fontWeight:700,color:"var(--text)",minWidth:0,flex:1},children:n}),g,(0,r.jsx)("button",{type:"button",onClick:t,"aria-label":x,style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",minWidth:32,minHeight:32,padding:"2px 6px",background:"none",border:"none",borderRadius:7,color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color="var(--text-muted)"},children:"\xd7"})]}),o&&(0,r.jsx)("div",{id:b,style:{padding:"10px 18px",borderBottom:"1px solid var(--border)",fontSize:13,lineHeight:1.55,color:"var(--text-muted)",flexShrink:0},children:o}),l&&(0,r.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overscrollBehavior:"contain",padding:m},children:l}),a&&(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"12px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:a})]})}),document.body)}let tT={readOnly:!1,canPrompt:!0,canFork:!0,canCompact:!0,canChangeModel:!0,canChangeThinking:!0,canChangeTools:!0,canRename:!0,canAutoName:!0,canDelete:!0,canConnectEvents:!0,canSendSessionCommands:!0},tE={readOnly:!0,canPrompt:!1,canFork:!1,canCompact:!1,canChangeModel:!1,canChangeThinking:!1,canChangeTools:!1,canRename:!1,canAutoName:!1,canDelete:!1,canConnectEvents:!1,canSendSessionCommands:!1};function tM(e){return e?.readOnly===!0?tE:tT}function tA(e){let t=()=>{try{let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-1000px",t.style.opacity="0",document.body.appendChild(t),t.select(),t.setSelectionRange(0,t.value.length);let n=document.execCommand("copy");return document.body.removeChild(t),n?Promise.resolve():Promise.reject(Error('document.execCommand("copy") returned false'))}catch(e){return Promise.reject(e instanceof Error?e:Error("clipboard unavailable"))}},n="u"<typeof navigator?void 0:navigator.clipboard;if(!n?.writeText)return t();try{return n.writeText(e).catch(t)}catch(e){return t().catch(()=>Promise.reject(e))}}function tL(e){return`/api/sessions/${encodeURIComponent(e)}/export`}function tz(e,t,n=2){return!!e&&!!t&&(Math.abs(e.top-t.top)>=n||Math.abs(e.right-t.right)>=n)}function tW({open:e,onOpenChange:t,projectName:n,onEdit:o,onClose:l}){let{t:a}=(0,eU.s9)(),d=(0,i.useRef)(null),c=(0,i.useRef)(null),u=(0,i.useRef)(null),[p,h]=(0,i.useState)(null),f=(0,i.useRef)(null),g=(0,i.useCallback)(e=>{t(!1),e&&c.current?.focus()},[t]),m=(0,i.useCallback)(()=>{if(e)return void g(!0);let n=c.current?.getBoundingClientRect();n&&(f.current={top:n.top,bottom:n.bottom,right:n.right},h({top:n.bottom+4,right:Math.max(8,window.innerWidth-n.right)})),t(!0)},[e,g,t]);return(0,i.useEffect)(()=>{if(!e||!f.current)return;let t=requestAnimationFrame(()=>{let e=u.current,t=f.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||h(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(t)},[e]),(0,i.useEffect)(()=>{if(!e)return;let n=e=>{!d.current||d.current.contains(e.target)||u.current?.contains(e.target)||t(!1)},r=()=>{let e=c.current?.getBoundingClientRect();tz(f.current,e?{top:e.top,right:e.right}:null)&&t(!1)};return document.addEventListener("mousedown",n),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{document.removeEventListener("mousedown",n),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[e,t]),(0,i.useEffect)(()=>{if(!e)return;let t=requestAnimationFrame(()=>{u.current?.querySelector("[role='menuitem']")?.focus()});return()=>cancelAnimationFrame(t)},[e]),(0,r.jsxs)("div",{ref:d,style:{position:"relative",flexShrink:0,display:"flex"},onClick:e=>e.stopPropagation(),onKeyDown:t=>{"Escape"===t.key&&e&&(t.stopPropagation(),t.preventDefault(),g(!0))},children:[(0,r.jsx)(e2,{label:a("sidebar_projectMenuLabel",{project:n}),active:e,expanded:e,haspopup:"menu",hoverReveal:!0,buttonRef:c,onClick:e=>{e.stopPropagation(),m()},children:(0,r.jsx)(ts,{size:14})}),e&&(0,s.createPortal)((0,r.jsx)(eQ,{open:e,style:{position:"fixed",top:p?.top??0,right:p?.right??0,zIndex:600,background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-float)",overflow:"hidden",minWidth:148},children:(0,r.jsxs)("div",{ref:u,role:"menu","aria-label":a("sidebar_projectMenuLabel",{project:n}),children:[(0,r.jsx)(tu,{icon:(0,r.jsx)(to,{size:13}),label:a("sidebar_editProject"),onClick:()=>{g(!0),o()}}),(0,r.jsx)(tu,{icon:(0,r.jsx)(tr,{size:13}),label:a("sidebar_closeProject"),onClick:()=>{g(!0),l()}})]})}),document.body)]})}function t$({session:e,title:t,canRename:n,canDelete:o,canArchive:l,archiveDisabledReason:a,isPinned:d,onTogglePin:c,onRename:u,onDelete:p,onArchive:h}){var f;let g,{t:m}=(0,eU.s9)(),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(null),w=(0,i.useRef)(null),k=(0,i.useRef)(null),j=(0,i.useRef)(null),S=m("sidebar_sessionMenuLabel",{session:t}),C=(0,i.useCallback)((e=!1)=>{v(!1),e&&k.current?.focus()},[]);(0,i.useEffect)(()=>{if(!x||!w.current)return;let e=requestAnimationFrame(()=>{let e=j.current,t=w.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||b(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(e)},[x]),(0,i.useEffect)(()=>{if(!x)return;let e=e=>{let t=e.target;j.current?.contains(t)||k.current?.contains(t)||C()},t=()=>{let e=k.current?.getBoundingClientRect();tz(w.current,e?{top:e.top,right:e.right}:null)&&C()};document.addEventListener("mousedown",e),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0);let n=requestAnimationFrame(()=>j.current?.querySelector("[role='menuitem']")?.focus());return()=>{cancelAnimationFrame(n),document.removeEventListener("mousedown",e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},[C,x]);let _={display:"flex",alignItems:"center",gap:8,width:"100%",minHeight:32,padding:"6px 11px",boxSizing:"border-box",background:"var(--bg-elevated)",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",textDecoration:"none",fontSize:12,whiteSpace:"nowrap"},I={onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"}},R=e=>(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"flex",color:"var(--text-dim)"},children:e});return(0,r.jsxs)("div",{style:{display:"flex",flexShrink:0},onClick:e=>e.stopPropagation(),onKeyDown:e=>{"Escape"===e.key&&x&&(e.preventDefault(),C(!0))},children:[(0,r.jsx)(e2,{label:S,active:x,expanded:x,haspopup:"menu",hoverReveal:!0,buttonRef:k,onClick:e=>{e.stopPropagation(),(()=>{if(x)return C();let e=k.current?.getBoundingClientRect();e&&(w.current={top:e.top,bottom:e.bottom,right:e.right},b({top:e.bottom+4,right:Math.max(8,window.innerWidth-e.right)})),v(!0)})()},children:(0,r.jsx)(ts,{size:14})}),x&&y&&(0,s.createPortal)((0,r.jsxs)("div",{ref:j,role:"menu","aria-label":S,style:{position:"fixed",top:y.top,right:y.right,zIndex:600,minWidth:190,padding:4,background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-float)"},children:[n&&(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),u()},children:[R((0,r.jsx)(to,{size:13})),m("sidebar_renameSession")]}),(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),tA(e.id)},children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,r.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})),m("sidebar_copySessionId")]}),!e.subagent&&c&&(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),c()},children:[R((0,r.jsx)(e3,{size:13})),m(d?"sidebar_unpinSession":"sidebar_pinSession")]}),(l||null!==a)&&(0,r.jsxs)("button",{type:"button",role:"menuitem",disabled:!l,title:l?void 0:a??void 0,style:{..._,opacity:l?1:.45,cursor:l?"pointer":"not-allowed"},onClick:()=>{l&&(C(),h())},children:[R((0,r.jsx)(e9,{size:13})),m("sidebar_archiveSession")]}),"string"==typeof e?.id&&e.id.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("a",{role:"menuitem",href:tL(e.id),download:!0,style:_,...I,onClick:()=>C(),children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("path",{d:"M12 3v12"}),(0,r.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,r.jsx)("path",{d:"M5 21h14"})]})),m("sidebar_exportSessionHtml")]}),(0,r.jsxs)("a",{role:"menuitem",href:(f=e.id,g=new URLSearchParams({format:"jsonl"}),`${tL(f)}?${g.toString()}`),download:!0,style:_,...I,onClick:()=>C(),children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("path",{d:"M8 3H7a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2 2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1"}),(0,r.jsx)("path",{d:"M16 21h1a2 2 0 0 0 2-2v-4a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"})]})),m("sidebar_exportSessionJsonl")]})]}),o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{height:1,margin:"4px 6px",background:"var(--border)"}}),(0,r.jsxs)("button",{type:"button",role:"menuitem",style:{..._,color:"var(--status-danger)"},onClick:()=>{C(),p()},children:[R((0,r.jsx)(ti,{size:13})),m("sidebar_deleteSession")]})]})]}),document.body)]})}function tP({project:e,displayMode:t,projectAliases:n,selectedSessionId:i,runningSessionIds:o,subagentRunningIds:l,unreadSessionIds:s,collapsedProjectRoots:a,collapsedSessionIds:c,searchActive:u,onToggleProject:p,onNewSession:h,onSelectSession:f,menuOpen:g,onMenuOpenChange:m,onEditProject:x,onCloseProject:v,onRenamed:y,onSessionDeleted:b,onToggleCollapse:w,groupVisibleCounts:k,onShowMore:j,onShowFewer:S,actionError:C,onSessionArchive:_,isSessionPinned:I,onTogglePin:R,onProjectDrop:T}){var E;let{t:M}=(0,eU.s9)(),A=(E=e.root,!u&&a.has(E)),L=e.tree.length>0,z=n[e.root]??d(e.root),W=M(A?"sidebar_expandProjectNamed":"sidebar_collapseProjectNamed",{project:z});return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!A,"aria-label":W,draggable:!!T,onDragStart:t=>{T&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/pidance-project",e.root),t.dataTransfer.setData("text/plain",e.root))},onDragOver:e=>{T&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{if(!T)return;t.preventDefault(),t.stopPropagation();let n=t.dataTransfer.getData("text/pidance-project")||t.dataTransfer.getData("text/plain");n&&T(n,e.root)},onClick:()=>p(e.root),onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onKeyDown:t=>{t.target===t.currentTarget&&("Enter"===t.key||" "===t.key)&&(t.preventDefault(),p(e.root))},title:e.root,style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",position:"relative",paddingLeft:32,paddingRight:8,borderRadius:6,cursor:"pointer",background:"transparent",color:"var(--text-muted)"},children:[(0,r.jsx)(ta,{collapsed:A,label:W,left:6,onClick:t=>{t.stopPropagation(),p(e.root)}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e5,{size:13})}),(0,r.jsx)(eZ,{text:z,style:{flex:1,fontSize:12.5,fontWeight:600,fontFamily:"var(--font-mono)"}}),(0,r.jsx)(e2,{label:M("sidebar_newSessionIn",{project:z}),hoverReveal:!0,onClick:t=>{t.stopPropagation(),h(e.root)},children:(0,r.jsx)(e7,{size:14})}),(0,r.jsx)(tW,{open:g,onOpenChange:m,projectName:z,onEdit:x,onClose:v})]}),C&&(0,r.jsx)("div",{role:"alert",style:{padding:"3px 10px 6px 31px",color:"var(--status-danger)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:C}),!A&&(0,r.jsxs)("div",{children:[e$(e.tree,eL(k,e.root),u).map(e=>(0,r.jsx)(tF,{node:e,selectedSessionId:i,runningSessionIds:o,subagentRunningIds:l,unreadSessionIds:s,onSelectSession:f,onRenamed:y,onSessionDeleted:b,onSessionArchive:_,isSessionPinned:I,onTogglePin:R,depth:0,collapsedSessionIds:c,searchActive:u,onToggleCollapse:w,displayMode:t},e.session.id)),(0,r.jsx)(tp,{groupKey:e.root,total:e.tree.length,visibleCount:eL(k,e.root),searchActive:u,onShowMore:j,onShowFewer:S}),!L&&(0,r.jsx)("div",{style:{padding:"2px 10px 6px 31px",color:"var(--text-dim)",fontSize:11},children:M("sidebar_noSessionsYet")})]})]})}function tF({node:e,selectedSessionId:t,runningSessionIds:n,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:s,onSessionDeleted:a,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:m}){var x;let v=e.children.length>0,y=(x=e.session.id,!f&&h.has(x));return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{"data-session-id":e.session.id,style:{position:"relative"},children:(0,r.jsx)(tH,{session:e.session,relation:e.relation,isSelected:e.session.id===t,isRunning:n.has(e.session.id)||i.has(e.session.id),isUnread:!e.session.subagent&&o.has(e.session.id),onClick:()=>l(e.session),onRenamed:s,onDeleted:e=>a?.(e),onArchive:e=>d?.(e),isPinned:c?.(e.session.id),onTogglePin:()=>u?.(e.session.id),depth:p,hasChildren:v,collapsed:y,onToggleCollapse:()=>g(e.session.id),displayMode:m})}),v&&!y&&(0,r.jsx)("div",{children:e.children.map(e=>(0,r.jsx)(tF,{node:e,selectedSessionId:t,runningSessionIds:n,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:s,onSessionDeleted:a,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p+1,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:m},e.session.id))})]})}function tH({session:e,relation:t=null,isSelected:n,isRunning:o,isUnread:l,onClick:s,onRenamed:a,onDeleted:d,onArchive:c,isPinned:u,onTogglePin:p,depth:h=0,hasChildren:f=!1,collapsed:g=!1,onToggleCollapse:m,displayMode:x}){let{t:v}=(0,eU.s9)(),[y,b]=(0,i.useState)(!1),[w,k]=(0,i.useState)(!1),[j,S]=(0,i.useState)(""),[C,_]=(0,i.useState)(!1),[I,R]=(0,i.useState)(!1),T=(0,i.useRef)(null),E=(0,i.useContext)(ty),M=(0,i.useContext)(tb),A=!!e.id&&M.has(e.id),L=!!e.id&&E.has(e.id),z=tM(e),W=!0===o,$=!W&&!1===tM(e).readOnly,P=$?null:v(W?"archive_rowDisabledRunning":"archive_rowDisabledReadOnly"),F=(0,i.useContext)(tv),H=e.id?F.startedAt.get(e.id):void 0,D=!0===o&&!(f&&g),N=e.firstMessage.trim(),B=e.subagent&&(!N||"(no messages)"===N)?`${e.subagent.agent?`${e.subagent.agent} \xb7 `:""}${v("sidebar_runCount",{count:e.subagent.runIndex})}`:"",O="(no messages)"===N?v("sidebar_noMessages"):e.firstMessage,U=e.name||B||O.slice(0,50)||e.id.slice(0,12),q=(0,i.useCallback)(()=>{z.canRename&&(S(U),k(!0),setTimeout(()=>T.current?.select(),0))},[U,z.canRename]),K=(0,i.useCallback)(async()=>{if(!z.canRename)return void k(!1);let t=j.trim();if(k(!1),t!==(e.name??""))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}),a?.()}catch{}},[j,e.id,e.name,a,z.canRename]),V=(0,i.useCallback)(()=>{z.canDelete&&_(!0)},[z.canDelete]),J=(0,i.useCallback)(async()=>{if(!z.canDelete)return void _(!1);_(!1),R(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)return void R(!1);d?.(e.id)}catch{R(!1)}},[e.id,d,z.canDelete]),Y=(0,i.useCallback)(()=>{_(!1)},[]),X="compact"===x,G=X?30:40;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"sidebar-row","data-sidebar-depth":h,onClick:w?void 0:s,onMouseEnter:()=>b(!0),onMouseLeave:()=>{b(!1)},style:{height:G,display:"flex",alignItems:"center",width:"calc(100% - 12px)",margin:"1px 6px",position:"relative",paddingLeft:32+14*h,paddingRight:8,borderRadius:6,cursor:w?"default":"pointer",background:n?"var(--bg-selected)":y?"var(--bg-hover)":"transparent",borderLeft:n?"2px solid var(--accent)":"2px solid transparent",transition:"background 0.15s ease, color 0.15s ease",opacity:I?.5:1,gap:6,overflow:"hidden"},children:w?(0,r.jsx)("input",{ref:T,value:j,onChange:e=>S(e.target.value),onBlur:K,onKeyDown:e=>{"Enter"===e.key&&K(),"Escape"===e.key&&k(!1)},autoFocus:!0,"aria-label":v("sidebar_renameSession"),style:{flex:1,fontSize:X?11:12,padding:"0 8px",border:"1px solid var(--accent)",borderRadius:5,outline:"none",background:"var(--bg)",color:"var(--text)",height:X?20:28}}):(0,r.jsxs)(r.Fragment,{children:[f?(0,r.jsx)("button",{type:"button",className:"sidebar-chevron-btn sidebar-indent-indicator sidebar-chevron-always",onClick:e=>{e.stopPropagation(),m?.()},"data-tooltip":v(g?"sidebar_expandChild":"sidebar_collapseChild"),"aria-label":v(g?"sidebar_expandChild":"sidebar_collapseChild"),style:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:6+14*h,top:"50%",width:20,height:20,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",transform:`translateY(-50%)${g?" rotate(-90deg)":""}`,transition:"transform 0.15s"},children:(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,r.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})}):(0,r.jsx)("span",{className:"sidebar-indent-placeholder","aria-hidden":"true",style:{position:"absolute",left:6+14*h,top:"50%",width:20,height:20,transform:"translateY(-50%)"}}),o&&!L&&(0,r.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:6+14*h,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",pointerEvents:"none"},children:(0,r.jsx)(th,{size:18})}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:X?11.5:12,fontWeight:400,lineHeight:1.4,color:n?"var(--accent-hover)":"var(--text)"},title:U,children:[L?(0,r.jsx)(tf,{size:10}):o?null:A?(0,r.jsx)(tm,{size:10}):l?(0,r.jsx)(tx,{size:10}):null,!L&&D&&X&&(0,r.jsx)(tg,{startedAt:H,now:F.now,running:!0}),(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:U}),X&&e.subagent&&(0,r.jsx)("span",{title:`${v("sidebar_subagentReadOnly")}${e.subagent.agent?` \xb7 ${e.subagent.agent}`:""} \xb7 ${v("sidebar_runCount",{count:e.subagent.runIndex})}`,style:{display:"inline-flex",alignItems:"center",flexShrink:0,padding:"0 5px",border:"1px solid color-mix(in srgb, var(--status-success) 42%, var(--border))",borderRadius:999,color:"var(--status-success)",fontSize:9,lineHeight:1.55},children:v("sidebar_subagentBadge")})]}),!X&&(0,r.jsxs)("div",{style:{marginTop:1,display:"flex",alignItems:"center",gap:8,color:"var(--text-dim)",fontSize:10.5,minWidth:0},children:[!L&&D&&(0,r.jsx)(tg,{startedAt:H,now:F.now,running:!0}),(0,r.jsx)("span",{title:e.modified,children:eG(e.modified,v)}),(0,r.jsx)("span",{children:v("sidebar_messagesCount",{count:e.messageCount})}),e.subagent&&(0,r.jsxs)("span",{title:`${v("sidebar_subagentReadOnly")}${e.subagent.agent?` \xb7 ${e.subagent.agent}`:""} \xb7 ${v("sidebar_runCount",{count:e.subagent.runIndex})}`,style:{display:"flex",alignItems:"center",gap:4,color:"var(--text-muted)",minWidth:0,overflow:"hidden"},children:[(0,r.jsx)("span",{style:{flexShrink:0,fontSize:9,padding:"0 5px",borderRadius:999,border:"1px solid color-mix(in srgb, var(--status-success) 42%, var(--border))",color:"var(--status-success)",lineHeight:1.55},children:v("sidebar_subagentBadge")}),(0,r.jsxs)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:10},children:[e.subagent.agent?`${e.subagent.agent} \xb7 `:"",v("sidebar_runCount",{count:e.subagent.runIndex})]})]})]})]}),(0,r.jsx)(t$,{session:e,title:U,canRename:z.canRename,canDelete:z.canDelete,canArchive:$,archiveDisabledReason:P,isPinned:u,onTogglePin:p,onRename:q,onDelete:V,onArchive:()=>c?.(e.id)})]})}),(0,r.jsx)(tR,{open:C,onClose:Y,title:v("sidebar_deleteSession"),description:v("sidebar_deleteConfirm",{name:U}),width:400,closeLabel:v("dialog_close"),actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{disabled:I,onClick:Y,children:v("sidebar_cancel")}),(0,r.jsx)(td,{danger:!0,disabled:I,onClick:()=>void J(),children:v("sidebar_deleteSession")})]})})]})}function tD(e){return"string"==typeof e?.name&&"string"==typeof e?.path}let tN={ok:!1,path:null,parentPath:null,entries:[],git:null};async function tB(e,t=fetch){try{var n;let r=await t(`/api/cwd/browse?path=${encodeURIComponent(e)}`);if(!r.ok)return tN;let i=await r.json().catch(()=>null);if(!i||"object"!=typeof i)return tN;return{ok:!0,path:"string"==typeof i.path&&i.path?i.path:e,parentPath:"string"==typeof i.parentPath?i.parentPath:null,entries:Array.isArray(i.entries)?i.entries.filter(tD):[],git:(n=i.git,"boolean"==typeof n?.isRepo)?i.git:null}}catch{return tN}}async function tO(e,t=fetch){try{let n=await t("/api/cwd/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await n.json().catch(()=>({}));if(!n.ok||r.error){if("NOT_FOUND"===r.code)return{kind:"notFound",cwd:r.cwd??e};return{kind:"error",message:r.error??`HTTP ${n.status}`}}return{kind:"ok",cwd:r.cwd??e}}catch(e){return{kind:"error",message:e instanceof Error?e.message:String(e)}}}async function tU(e,t=fetch){try{let n=await t("/api/cwd/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await n.json().catch(()=>({}));if(!n.ok||r.error)return{ok:!1,message:r.error??`HTTP ${n.status}`};return{ok:!0,cwd:r.cwd??e}}catch(e){return{ok:!1,message:e instanceof Error?e.message:String(e)}}}function tq({open:e,onClose:t,onAdded:n}){let{t:o}=(0,eU.s9)(),l=(0,i.useRef)(null),[s,a]=(0,i.useState)(""),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,m]=(0,i.useState)(null),[x,v]=(0,i.useState)([]),[y,b]=(0,i.useState)(null),[w,k]=(0,i.useState)(!1),[j,S]=(0,i.useState)(null),[C,_]=(0,i.useState)(null),[I,R]=(0,i.useState)(null),T=(0,i.useRef)(0),E=(0,i.useRef)(null),M=(0,i.useRef)(null),A=(0,i.useCallback)(()=>{T.current+=1,null!==E.current&&(window.clearTimeout(E.current),E.current=null)},[]),L=(0,i.useCallback)(()=>{A(),a(""),c(null),p(!1),f(null),m(null),v([]),b(null),k(!1),S(null),_(null),R(null),M.current=null},[A]);(0,i.useEffect)(()=>()=>A(),[A]);let z=(0,i.useCallback)(async(e,t=!1)=>{let n=++T.current;p(!0);let r=await tB(e);if(n===T.current){if(r.ok){let n=r.path??e;t&&(M.current=n,a(n)),f(n),m(r.parentPath),v(r.entries),b(r.git),k(!1)}else f(null),m(null),v([]),b(null),k(!0);p(!1)}},[]);(0,i.useEffect)(()=>{e?z("",!0):L()},[e,L,z]),(0,i.useEffect)(()=>{if(!e)return;let t=s.trim();if(t){if(null!==M.current&&M.current===t){M.current=null;return}A(),E.current=window.setTimeout(()=>{E.current=null,z(t)},250)}},[e,s,z,A]);let W=(0,i.useCallback)(e=>{A(),z(e,!0)},[z,A]),$=(0,i.useCallback)(()=>{t()},[t]),P=(0,i.useCallback)(async()=>{let e=s.trim();if(e&&null===I){R("validate"),c(null);try{let t=await tO(e);if("notFound"===t.kind){_(null),S(t.cwd);return}if("error"===t.kind)return void c(t.message);n(t.cwd)}finally{R(null)}}},[s,I,n]),F=(0,i.useCallback)(async()=>{if(j&&null===I){R("create"),_(null);try{let e=await tU(j);if(!e.ok)return void _(e.message);S(null),n(e.cwd)}finally{R(null)}}},[j,I,n]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(tR,{open:e,onClose:$,title:o("sidebar_addProjectDialog"),width:440,closeLabel:o("dialog_close"),initialFocusRef:l,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:$,children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:null!==I||!s.trim(),onClick:()=>void P(),children:o("validate"===I?"sidebar_validating":"sidebar_add")})]}),children:(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"add-project-path",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:o("sidebar_projectPath")}),(0,r.jsx)("input",{id:"add-project-path",ref:l,value:s,onChange:e=>{a(e.target.value),c(null),M.current=null},onKeyDown:e=>{"Escape"===e.key&&null===I&&(e.preventDefault(),$())},placeholder:"/path/to/project","aria-label":o("sidebar_projectPath"),autoComplete:"off",spellCheck:!1,style:{width:"100%",height:32,fontSize:12,fontFamily:"var(--font-mono)",padding:"0 10px",border:"1px solid var(--border)",borderRadius:7,outline:"none",background:"var(--bg-panel)",color:"var(--text)",boxSizing:"border-box"}}),(0,r.jsxs)("div",{style:{marginTop:10},children:[u&&!h&&(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseLoading")}),!u&&w&&(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseMissing")}),!w&&y&&(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,marginBottom:6,color:y.isRepo?"var(--text-muted)":"var(--text-dim)"},children:y.isRepo?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{style:{color:"var(--accent)",fontWeight:600},children:o("sidebar_browseGitRepo")}),y.branch&&(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10.5},children:y.branch})]}):(0,r.jsx)("span",{children:o("sidebar_browseNotGit")})}),h&&(0,r.jsxs)("div",{style:{maxHeight:150,overflowY:"auto",overflowX:"hidden",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:4},children:[g&&(0,r.jsx)("button",{type:"button",disabled:u,onClick:()=>W(g),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text-muted)",fontSize:12,cursor:"pointer",borderRadius:5,fontFamily:"var(--font-mono)"},onMouseEnter:e=>e.currentTarget.style.background="var(--bg-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:".."}),0===x.length?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseEmpty")}):x.map(e=>(0,r.jsxs)("button",{type:"button",disabled:u,onClick:()=>W(e.path),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text)",fontSize:12,cursor:"pointer",borderRadius:5,textAlign:"left",fontFamily:"var(--font-mono)"},onMouseEnter:e=>e.currentTarget.style.background="var(--bg-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10.5},children:"▸"}),(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]})]}),d&&(0,r.jsx)("div",{role:"alert",style:{marginTop:8,color:"var(--status-danger)",fontSize:12,lineHeight:1.45,overflowWrap:"anywhere"},children:d})]})}),(0,r.jsxs)(tR,{open:null!==j,onClose:()=>{S(null),_(null)},title:o("sidebar_createPathTitle"),width:400,zIndex:1100,closeLabel:o("dialog_close"),actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:()=>{S(null),_(null)},children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:null!==I,onClick:()=>void F(),children:o("create"===I?"sidebar_creatingPath":"sidebar_createPathAction")})]}),children:[(0,r.jsx)("div",{style:{fontSize:12.5,color:"var(--text)",lineHeight:1.5,overflowWrap:"anywhere"},children:o("sidebar_createPathPrompt",{path:j??""})}),j&&(0,r.jsx)("div",{style:{marginTop:6,fontSize:11.5,fontFamily:"var(--font-mono)",color:"var(--text-muted)",overflowWrap:"anywhere"},children:j}),C&&(0,r.jsx)("div",{role:"alert",style:{marginTop:8,color:"var(--status-danger)",fontSize:12,lineHeight:1.45,overflowWrap:"anywhere"},children:C})]})]})}function tK({cwd:e,tab:t}){let{t:n}=(0,eU.s9)(),[o,l]=(0,i.useState)(null),[s,a]=(0,i.useState)(null),[d,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(""),[w,k]=(0,i.useState)(""),j=(0,i.useCallback)(async()=>{c(!0),f(null);try{let t=await fetch(`/api/project-assets?cwd=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let n=await t.json();l(n.rulesContent??""),a(Array.isArray(n.skills)?n.skills:[])}catch(e){f(e instanceof Error?e.message:String(e))}finally{c(!1)}},[e]);(0,i.useEffect)(()=>{j()},[j]);let S=(0,i.useCallback)(async t=>{let n=await fetch("/api/project-assets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})});if(!n.ok)throw Error((await n.json().catch(()=>({}))).error??`HTTP ${n.status}`);return!0},[e]),C=(0,i.useCallback)(async()=>{if(null!==o){p(!0),f(null),m(!1);try{await S({kind:"rules",content:o}),m(!0),window.setTimeout(()=>m(!1),2e3)}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[o,S]),_=(0,i.useCallback)(async()=>{let e=w.trim();if(e){p(!0),f(null);try{await S({kind:"skill",action:"create",name:e}),k(""),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[w,S,j]),I=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"update",name:e,content:y}),v(null),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[y,S,j]),R=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"toggle",name:e.name,enabled:!e.enabled}),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,j]),T=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"delete",name:e}),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,j]),E={width:"100%",minHeight:200,padding:"10px 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,lineHeight:1.55,outline:"none",fontFamily:"var(--font-mono)",whiteSpace:"pre",overflow:"auto",boxSizing:"border-box",resize:"vertical"};return d?(0,r.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:n("common_loading")}):(0,r.jsxs)("div",{children:[h&&(0,r.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10,whiteSpace:"pre-wrap"},children:h}),"rules"===t?(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:8,fontFamily:"var(--font-mono)"},children:[e,"/AGENTS.md"]}),(0,r.jsx)("textarea",{value:o??"",onChange:e=>l(e.target.value),spellCheck:!1,"aria-label":n("projectAssets_rules"),style:E}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:10},children:[(0,r.jsx)("button",{type:"button",onClick:()=>void C(),disabled:u||null===o,style:{minHeight:30,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u||null===o?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u||null===o?.6:1},children:u?n("common_saving"):n("common_save")}),g&&(0,r.jsx)("span",{style:{fontSize:12,color:"var(--accent)"},children:n("common_saved")})]})]}):(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12},children:[(0,r.jsx)("input",{type:"text",value:w,onChange:e=>k(e.target.value),placeholder:n("projectAssets_newSkillName"),"aria-label":n("projectAssets_newSkillName"),style:{flex:1,height:30,padding:"0 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,outline:"none"}}),(0,r.jsx)("button",{type:"button",onClick:()=>void _(),disabled:u||!w.trim(),style:{minHeight:30,padding:"0 12px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u||!w.trim()?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u||!w.trim()?.6:1},children:n("projectAssets_addSkill")})]}),s?.length===0?(0,r.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:n("projectAssets_noSkills")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:(s??[]).map(e=>(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,r.jsx)("span",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,r.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer"},children:[(0,r.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:()=>void R(e),disabled:u}),n("projectAssets_enabled")]}),(0,r.jsx)("button",{type:"button",onClick:()=>{v(e.name),b(e.content)},style:{fontSize:11,color:"var(--accent)",cursor:"pointer",background:"none",border:"none"},children:n("projectAssets_edit")}),(0,r.jsx)("button",{type:"button",onClick:()=>void T(e.name),disabled:u,style:{fontSize:11,color:"var(--status-danger)",cursor:u?"not-allowed":"pointer",background:"none",border:"none"},children:n("common_remove")})]}),x===e.name&&(0,r.jsxs)("div",{style:{padding:8},children:[(0,r.jsx)("textarea",{value:y,onChange:e=>b(e.target.value),spellCheck:!1,"aria-label":`${e.name} SKILL.md`,style:E}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginTop:8},children:[(0,r.jsx)("button",{type:"button",onClick:()=>void I(e.name),disabled:u,style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u?.6:1},children:u?n("common_saving"):n("common_save")}),(0,r.jsx)("button",{type:"button",onClick:()=>v(null),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:n("common_cancel")})]})]})]},e.name))})]})]})}function tV({projectRoot:e,initialName:t,onClose:n,onSaveName:o}){let{t:l}=(0,eU.s9)(),s=(0,i.useRef)(null),[a,d]=(0,i.useState)("name"),[c,u]=(0,i.useState)(t);return(0,i.useEffect)(()=>{null!==e&&(d("name"),u(t))},[e,t]),(0,r.jsxs)(tR,{open:null!==e,onClose:n,title:l("sidebar_editProject"),width:720,height:620,closeLabel:l("dialog_close"),description:e?l("sidebar_editProjectDescription",{path:e}):void 0,children:[(0,r.jsx)("div",{style:{display:"flex",gap:8,marginBottom:14,flexWrap:"wrap"},children:[["name",l("sidebar_projectName")],["rules",l("sidebar_projectRules")],["skills",l("sidebar_projectSkills")]].map(([e,t])=>(0,r.jsx)("button",{type:"button",onClick:()=>d(e),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:a===e?"var(--bg-selected)":"var(--bg-panel)",color:a===e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:a===e?600:400},"aria-current":a===e?"page":void 0,children:t},e))}),"name"===a?(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=c.trim();t&&o(t)},children:[(0,r.jsx)("label",{htmlFor:"edit-project-name",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:l("sidebar_projectName")}),(0,r.jsx)("input",{id:"edit-project-name",ref:s,value:c,onChange:e=>u(e.target.value),placeholder:l("sidebar_projectName"),"aria-label":l("sidebar_projectName"),"aria-invalid":!c.trim(),autoComplete:"off",spellCheck:!1,style:{width:"100%",height:32,fontSize:12.5,padding:"0 10px",border:"1px solid var(--border)",borderRadius:7,outline:"none",background:"var(--bg-panel)",color:"var(--text)",boxSizing:"border-box"}}),!c.trim()&&(0,r.jsx)("div",{style:{marginTop:6,fontSize:11.5,color:"var(--status-danger)"},children:l("sidebar_projectNameRequired")}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginTop:14},children:[(0,r.jsx)("button",{type:"submit",disabled:!c.trim(),style:{minHeight:30,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:c.trim()?"pointer":"not-allowed",fontSize:12,fontWeight:600,opacity:c.trim()?1:.6},children:l("sidebar_save")}),(0,r.jsx)("button",{type:"button",onClick:n,style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:l("sidebar_cancel")})]})]}):e&&(0,r.jsx)(tK,{cwd:e,tab:"skills"===a?"skills":"rules"})]})}async function tJ(e,t,n){try{let r=await n(e,t),i=await r.json().catch(()=>({}));return{ok:r.ok,status:r.status,error:i.error}}catch(e){return{ok:!1,status:0,error:e instanceof Error?e.message:String(e)}}}function tY(e){if(!e.archivedAt)return-1/0;let t=Date.parse(e.archivedAt);return Number.isNaN(t)?-1/0:t}function tX(e,t=60){let n=e.name?.trim()||e.firstMessage.trim()||e.id;return n.length<=t?n:`${n.slice(0,t)}…`}function tG(e){return e.ok?"other":409===e.status?"running":403===e.status?"readOnly":0===e.status?"network":"other"}function tZ({sessions:e,count:t,homeDir:n,loading:o,onRefresh:l,onBack:s}){let{t:d}=(0,eU.s9)(),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)({sessionId:null}),[f,g]=(0,i.useState)(null);(0,i.useEffect)(()=>{l()},[l]);let m=(0,i.useCallback)(e=>{let t=tG(e);return"running"===t?d("archive_runningConflict"):"readOnly"===t?d("archive_readOnlyForbidden"):"network"===t?d("archive_networkError"):e.error??d("archive_unknownError")},[d]),x=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(d("archive_restoreFailed",{error:m(t)}));l()}catch(e){g(d("archive_restoreFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,d,m]),v=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(d("archive_deleteFailed",{error:m(t)}));h({sessionId:null}),l()}catch(e){g(d("archive_deleteFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,d,m]),y=[...e].sort((e,t)=>{let n=tY(e),r=tY(t);return n===r?0:n===-1/0?1:r===-1/0?-1:r-n}),b=p.sessionId?y.find(e=>e.id===p.sessionId)??null:null,w=b?tX(b):"",k=!!b&&c===b.id;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("button",{type:"button",onClick:s,"data-tooltip":d("archive_back"),"aria-label":d("archive_back"),className:"sidebar-icon-btn",style:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,r.jsx)(tr,{size:14})}),(0,r.jsx)("span",{style:{flex:1,minWidth:0,fontSize:12.5,fontWeight:600,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d("archive_viewTitle")}),(0,r.jsx)("span",{title:d("archive_viewCount",{count:t}),style:{flexShrink:0,minWidth:18,padding:"1px 6px",boxSizing:"border-box",borderRadius:999,background:"var(--bg-selected)",color:"var(--text-muted)",fontSize:10,fontWeight:600,textAlign:"center"},children:t})]}),f&&(0,r.jsx)("div",{role:"alert",style:{padding:"6px 10px",borderBottom:"1px solid var(--border)",background:"var(--status-danger-bg)",color:"var(--status-danger)",fontSize:11,lineHeight:1.4,overflowWrap:"anywhere",flexShrink:0},children:f}),(0,r.jsxs)("div",{style:{flex:"1 1 auto",overflowY:"auto",padding:"4px 0",minHeight:80},children:[o&&0===y.length&&(0,r.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:d("sidebar_loading")}),!o&&0===y.length&&(0,r.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[d("archive_empty"),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:d("archive_emptyHint")})]}),y.map(e=>{let t=tX(e),i=c===e.id;return(0,r.jsxs)("div",{"data-archive-session-id":e.id,style:{display:"flex",alignItems:"center",gap:6,margin:"1px 6px",padding:"7px 8px",borderRadius:6,background:"transparent",opacity:i?.5:1},children:[(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{title:t,style:{fontSize:12,fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4},children:t}),(0,r.jsxs)("div",{style:{fontSize:10.5,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4,marginTop:1},children:[a(e.cwd,n)," \xb7 ",d("archive_archivedAt",{date:eG(e.archivedAt??e.modified,d)})]})]}),(0,r.jsx)("button",{type:"button",disabled:i,onClick:()=>void x(e),title:d("archive_restore"),style:{padding:"3px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",fontSize:11,cursor:i?"not-allowed":"pointer",flexShrink:0},children:i?d("archive_restoring"):d("archive_restore")}),(0,r.jsx)("button",{type:"button",disabled:i,onClick:()=>h({sessionId:e.id}),title:d("archive_delete"),"aria-label":d("archive_delete"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:i?"not-allowed":"pointer",flexShrink:0},children:(0,r.jsx)(ti,{size:13})})]},e.id)})]}),(0,r.jsx)(tR,{open:null!==b,onClose:()=>{k||h({sessionId:null})},title:d("archive_delete"),description:b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{fontWeight:600,color:"var(--text)",marginBottom:4},children:w}),(0,r.jsx)("div",{children:d("archive_deleteConfirm")})]}):d("archive_deleteConfirm"),width:400,closeLabel:d("dialog_close"),closeOnBackdrop:!k,closeOnEsc:!k,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{disabled:k,onClick:()=>h({sessionId:null}),children:d("archive_deleteCancel")}),(0,r.jsx)(td,{danger:!0,disabled:k||!b,onClick:()=>{b&&v(b)},children:k?d("archive_deleting"):d("archive_deleteConfirmButton")})]})})]})}function tQ(e,t){let n=new Set(e);for(let e of t)n.add(e);return n}function t0(e){let t=e?.now??(()=>Date.now()),n={serverSessions:[],pendingById:new Map,pendingIds:new Set,deletedIds:new Set,archivedSessions:[],archivedCount:0,runningIds:new Set,startingIds:new Set,runningStartedAt:new Map,runningEpoch:new Map,unread:(0,eX.oJ)(),loading:!1,error:null,serverListLoaded:!1,listStatus:"idle"},r=new Set,i=()=>{for(let e of r)e()},o={getState:()=>n,getSnapshot(e=null){let t=function(e){let{serverSessions:t,pendingSessions:n,pendingIds:r=new Set(n.map(e=>e.id)),deletedIds:i}=e,o=new Map;for(let e of t)i?.has(e.id)||o.set(e.id,e);for(let e of n)!(i?.has(e.id)||o.has(e.id))&&r.has(e.id)&&o.set(e.id,e);return[...o.values()].sort(eP)}({serverSessions:n.serverSessions,pendingSessions:[...n.pendingById.values()],pendingIds:n.pendingIds,deletedIds:n.deletedIds}),r=tQ(n.runningIds,n.startingIds),i=(0,eX.hA)(n.unread),o=(0,eX.ah)(n.unread);for(let e of r)o.delete(e);for(let t of(e&&o.delete(e),r))i.delete(t);return e&&i.delete(e),{sessions:t,archivedSessions:n.archivedSessions,archivedCount:n.archivedCount,runningIds:new Set(n.runningIds),startingIds:new Set(n.startingIds),effectiveRunningIds:r,unreadIds:i,abnormalIds:o,loading:n.loading,error:n.error,serverListLoaded:n.serverListLoaded,listStatus:n.listStatus,runningStartedAt:new Map(n.runningStartedAt)}},subscribe:e=>(r.add(e),()=>{r.delete(e)}),applyServerList(e){let t=e.archivedSessions??[];n.serverSessions=[...e.sessions],n.archivedSessions=t,n.archivedCount=e.archivedCount??t.length,n.loading=!1,n.error=null,n.serverListLoaded=!e.provisional||n.serverListLoaded,n.listStatus="ready",((e,t)=>{let r=new Set(t.map(e=>e.id)),i=new Set(e.map(e=>e.id)),o=!1,l=new Map(n.pendingById);for(let e of[...l.keys()])(i.has(e)||r.has(e)||n.deletedIds.has(e))&&(l.delete(e),o=!0);let s=function(e,t){if(0===e.size)return e;let n=new Set(t.map(e=>e.id)),r=!1,i=new Set;for(let t of e){if(n.has(t)){r=!0;continue}i.add(t)}return r?i:e}(n.pendingIds,e);for(let e of[...s])(r.has(e)||n.deletedIds.has(e))&&s.delete(e);o&&(n.pendingById=l),n.pendingIds=s})(e.sessions,t);let r=new Set([...e.sessions.map(e=>e.id),...n.pendingIds]);if(n.unread=(0,eX.v7)(n.unread,r),e.runningSessionIds&&0===n.runningIds.size&&0===n.startingIds.size)o.applyRunningSnapshot({runningIds:e.runningSessionIds,runningStartedAt:e.runningStartedAt,selectedSessionId:e.selectedSessionId,now:e.now});else if(e.runningStartedAt){let t=new Map(n.runningStartedAt);for(let[n,r]of Object.entries(e.runningStartedAt))t.has(n)||"number"!=typeof r||t.set(n,r);n.runningStartedAt=t}i()},applyListError(e){n.loading=!1,n.error=e,n.listStatus="error",n.serverListLoaded=!0,i()},beginListLoad(){"idle"===n.listStatus&&(n.listStatus="loading"),n.loading=0===n.serverSessions.length&&0===n.pendingById.size,i()},upsertPending(e){if(n.deletedIds.has(e.id))return;let t=new Map(n.pendingById);t.set(e.id,e),n.pendingById=t;let r=new Set(n.pendingIds);r.add(e.id),n.pendingIds=r,i()},removePending(e){if(!n.pendingById.has(e)&&!n.pendingIds.has(e))return;let t=new Map(n.pendingById);t.delete(e),n.pendingById=t;let r=new Set(n.pendingIds);r.delete(e),n.pendingIds=r,i()},markDeleted(e){let t=new Set(n.deletedIds);t.add(e),n.deletedIds=t,o.removePending(e);let r=new Set(n.startingIds);r.delete(e),n.startingIds=r,i()},markStarting(e,r=t()){if(!e)return;let o=new Set(n.startingIds);o.add(e),n.startingIds=o;let l=new Map(n.runningStartedAt);l.has(e)||l.set(e,r),n.runningStartedAt=l,i()},clearStarting(e){if(!n.startingIds.has(e))return;let t=new Set(n.startingIds);if(t.delete(e),n.startingIds=t,!n.runningIds.has(e)&&n.runningStartedAt.has(e)){let t=new Map(n.runningStartedAt);t.delete(e),n.runningStartedAt=t}i()},applyRunningSnapshot(e){let r=new Set(e.runningIds),o=((e,t)=>{let r=new Set;for(let i of n.startingIds)!e.has(i)&&t.has(i)&&r.add(i);return r})(r,new Set(e.localInFlightIds??[])),l=n.runningIds,s=new Map(n.runningStartedAt),a=new Map(n.runningEpoch),d=e.now??t(),c=new Date(d).toISOString();if(e.runningStartedAt)for(let[t,i]of Object.entries(e.runningStartedAt)){if("number"!=typeof i)continue;let o=s.get(t);void 0!==o&&o!==i&&r.has(t)&&(a.set(t,(a.get(t)??0)+1),n.unread=(0,eX.du)(n.unread,new Set([t]),new Set,e.selectedSessionId??null,c)),s.set(t,i)}for(let e of r)s.has(e)||s.set(e,d);for(let e of[...s.keys()])r.has(e)||o.has(e)||s.delete(e);let u=tQ(r,o);n.unread=(0,eX.du)(n.unread,l,u,e.selectedSessionId??null,c),n.runningIds=r,n.startingIds=o,n.runningStartedAt=s,n.runningEpoch=a,i()},markRead(e,r=new Date(t()).toISOString()){let o=(0,eX.AH)(n.unread,e,r);o!==n.unread&&(n.unread=o,i())},replaceUnread(e){n.unread=e,i()}};return o}let t1=new Map;function t2(e){return{value:e.value,images:e.images.map(e=>({...e}))}}function t4(e){return!e.value&&0===e.images.length}function t6(e){return`drafts.${e}`}function t5(e){let t=t1.get(e);return t?t2(t):null}function t8(e,t){if(t4(t)){t1.delete(e),(0,eA.dM)(t6(e),void 0),(0,eA.qs)();return}t1.set(e,t2(t));let n={...t2(t),updatedAt:Date.now()};(0,eA.dM)(t6(e),n)}function t3(e){t1.delete(e),(0,eA.dM)(t6(e),void 0),(0,eA.qs)()}function t9(e,t,n=0){let r=t5(e);if(!r)return void t3(e);let i=""!==r.value&&r.value!==t,o=r.images.length>n,l=""===r.value&&r.images.length>0;i||o||l||t3(e)}var t7=n(54180),ne=n(61012);class nt extends Error{constructor(e){super("timeout"===e?"Timed out connecting to the agent event stream. Please try again.":"Failed to connect to the agent event stream. Please try again."),this.status=e,this.name="EventStreamConnectionError"}}function nn(e){return new EventSource(e)}function nr(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(()=>e()):setTimeout(e,16)}function ni(e){"function"==typeof cancelAnimationFrame?cancelAnimationFrame(e):clearTimeout(e)}function no(e){let t=e instanceof Error?e.message:String(e);return/already processing|already running|streamingBehavior/i.test(t)?"busy":/shell command is running/i.test(t)?"bash":/compaction/i.test(t)?"compacting":/cannot be queued|Extension command/i.test(t)?"extension":/no (valid )?model|model not found|未选择模型/i.test(t)?"model":/401|403|unauthor|api key|authentication|permission denied/i.test(t)?"auth":/running lease|locked by another|another process/i.test(t)?"locked":"error"}function nl(e=ns){return e()}function ns(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`sub-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function na(e){if("custom"!==e.role)return null;let t=e.renderedLines;return Array.isArray(t)&&t.length>0&&t.every(e=>"string"==typeof e)?t:null}function nd(e){if("custom"!==e.role)return null;let t="string"==typeof e.content?e.content:JSON.stringify(e.content);return`${e.customType}\u0000${e.display?"1":"0"}\u0000${t}`}function nc(e,t,n,r){let i=new Map,o=new Map;return e.forEach((e,n)=>{let r=na(e);if(!r)return;let l=t[n];if(l&&i.set(l,r),l)return;let s=nd(e);if(!s)return;let a=o.get(s)??[];a.push(r),o.set(s,a)}),n.map((e,t)=>{if("custom"!==e.role||na(e))return e;let n=r[t]?i.get(r[t]):void 0,l=n?null:nd(e),s=l?o.get(l)?.shift():void 0,a=n??s;return a?{...e,renderedLines:[...a]}:e})}function nu(e,t){return"custom"===e.role&&Array.isArray(t)&&t.every(e=>"string"==typeof e)?{...e,renderedLines:t}:e}function np(e){for(let t of[e.thinking,e.text,e.reasoning])if("string"==typeof t&&t.length>0)return t;return""}function nh(e){return"thinking"===e||"reasoning"===e||"redacted_thinking"===e}function nf(e){let t={...e,type:"thinking",thinking:np(e)};return!0===e.deferred&&(t.deferred=!0),t}let ng=/<think(?:ing)?>([\s\S]*?)<\/think(?:ing)?>/gi,nm=/<think(?:ing)?>/i;function nx(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function nv(e){if("assistant"!==e.role)return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map(e=>{let t=function(e){if(!nx(e)||"toolCall"!==e.type)return null;let t={type:"toolCall",toolCallId:"string"==typeof e.toolCallId?e.toolCallId:"string"==typeof e.id?e.id:"",toolName:"string"==typeof e.toolName?e.toolName:"string"==typeof e.name?e.name:"",input:"object"!=typeof e.input||null===e.input||Array.isArray(e.input)?"object"!=typeof e.arguments||null===e.arguments||Array.isArray(e.arguments)?{}:e.arguments:e.input};return Array.isArray(e.renderedCallLines)&&e.renderedCallLines.every(e=>"string"==typeof e)&&(t.renderedCallLines=[...e.renderedCallLines]),"string"==typeof e.toolLabel&&""!==e.toolLabel.trim()&&(t.toolLabel=e.toolLabel),"self"===e.toolShell&&(t.toolShell="self"),t}(e);return t||(nx(e)&&nh(e.type)?nf(e):e)});return{...e,content:n}}let ny="pidance.binary",nb=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/i;function nw(e){let t;if(!e||"object"!=typeof e||Array.isArray(e)||"binary"!==e.type||1!==e.version||"string"!=typeof e.path)return null;let n=e.path.trim();if(!n||n.length>4096)return null;let r=function(e){if("string"!=typeof e)return null;let t=e.replace(/[\\/\0]/g,"_").trim();return!t||t.length>180?null:t}(e.name),i=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return nb.test(t)?t:null}(e.mimeType);if(!r||!i||"number"!=typeof e.size||!Number.isSafeInteger(e.size)||e.size<0)return null;let o=e.kind;if("image"!==o&&"audio"!==o&&"video"!==o&&"file"!==o||o!==((t=i.toLowerCase()).startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"))return null;let l=void 0===e.previewPath?void 0:"string"==typeof e.previewPath&&e.previewPath.trim().length<=4096?e.previewPath.trim()||void 0:null;if(null===l)return null;let s=void 0===e.messageEntryId?void 0:"string"==typeof e.messageEntryId&&e.messageEntryId.trim()?e.messageEntryId.trim():null;return null===s?null:{type:"binary",version:1,kind:o,path:n,name:r,mimeType:i,size:e.size,...l?{previewPath:l}:{},...s?{messageEntryId:s}:{}}}function nk(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function nj(e,t,n){return{key:t||`disk:${n}`,message:e,entryId:t,pending:!1}}function nS(e,t){return{key:e,message:t,entryId:"",pending:!0}}function nC(e,t){return e.map((e,n)=>nj(e,t[n]??"",n))}function n_(e){return e.map(e=>e.entryId)}function nI(e,t){return e.find(e=>e.key===t)}function nR(e,t,n,r){let i=e.findIndex(e=>e.key===t);if(i<0)return null;let o=[...e];return o[i]={...o[i],message:n,entryId:r||o[i].entryId,pending:!1},o}function nT(e,t){let n=e.findIndex(e=>e.key===t);if(n<0)return{timeline:[...e],dropped:!1};let r=e[n];if(!r.pending||r.entryId)return{timeline:[...e],dropped:!1};let i=[...e];return i.splice(n,1),{timeline:i,dropped:!0}}function nE(e,t){let n=new Map;return e.forEach((e,r)=>{let i=t[r];if(!i||n.has(i))return;let o=na(e);o&&n.set(i,o)}),n}function nM(e,t){if(0===t.size)return e;let n=!1,r=e.map(e=>{let r=e.entryId?t.get(e.entryId):void 0;return!r||nA(e.message.renderedLines,r)?e:(n=!0,{...e,message:{...e.message,renderedLines:[...r]}})});return n?r:e}function nA(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function nL(){return{isStreaming:!1,streamingMessage:null}}function nz(e){if(0===e.themeLines.size&&0===e.themeSourceLines.size)return;let t=new Set(n_(e.timeline));for(let n of[...e.themeLines.keys()])t.has(n)||e.themeLines.delete(n);for(let n of[...e.themeSourceLines.keys()])t.has(n)&&e.themeLines.has(n)||e.themeSourceLines.delete(n)}function nW(e,t){t8(e,{value:t.value,images:t.images})}let n$=null;function nP(){var e;let t,r,i,o,l,s,a,d,c,u,p,h,f,g,m,x,v,y,b,w,k,j,S,C,_,I,R,T;return n$||(t=(e={async createAndPrompt(e,t){let n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"prompt",message:t.message,submissionId:t.submissionId,...t.images?.length?{images:(0,t7.py)(t.images)}:{},...t.binaryBlocks?.length?{binaryBlocks:t.binaryBlocks}:{},...t.provider&&t.modelId?{provider:t.provider,modelId:t.modelId}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{}}),signal:t.signal}),r=await n.json().catch(()=>({}));if(!n.ok||r.error||!r.sessionId)throw Error(r.error??`HTTP ${n.status}`);if(!r.data||"object"!=typeof r.data||!r.data.status)throw Error("Invalid prompt receipt: expected a status");return{sessionId:r.sessionId,receipt:r.data}},async postPrompt(e,t){let{submitAgentPrompt:r}=await Promise.resolve().then(n.bind(n,32383));return r(e,t,{signal:t.signal})},async ensureNewSession(e,t){let n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"ensure_session",...t?.provider&&t.modelId?{provider:t.provider,modelId:t.modelId}:{}})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.sessionId)throw Error(r.error??`HTTP ${n.status}`);return r.sessionId},async wake(e,t){let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/state?wake=1`,{signal:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error("string"==typeof e.error?e.error:`HTTP ${n.status}`)}},async getAgentState(e){let t=await fetch(`/api/agent/${encodeURIComponent(e)}?light=1`,{cache:"no-store"}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error??`HTTP ${t.status}`);return n},async cancelSubmission(e){let t=await fetch(`/api/agent/submissions/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"cancel"}),signal:AbortSignal.timeout(5e3)});if(!t.ok)throw Error(`HTTP ${t.status}`);return{status:"confirmed"===(await t.json().catch(()=>({}))).status?"confirmed":"pending"}}}).restoreDraft??nW,r=e.now??(()=>Date.now()),i=e.makeSubmissionId??nl,o=e.schedule??((e,t)=>setTimeout(e,t)),l=e.clearSchedule??(e=>clearTimeout(e)),s=new Map,a=!0,d=new Map,c=(e,t)=>{let n=s.get(e);if(n)return n;let r=d.get(e);if(void 0!==r){let t=s.get(r);if(t)return t;d.delete(e)}if(!t)return null;let i={sessionId:e,snapshot:{sessionId:e,messages:[],entryIds:[],messageKeys:[],hasMoreAfter:!1,streamState:nL(),agentRunning:!1,turnMetrics:{},bashRunning:!1,pendingBash:null,sendInFlight:!1,submissions:[],promptRunId:0,finishingRunId:null,completedRunId:null,streamRunSeq:null,attachCount:0,timelineSeq:0},submissions:new Map,inFlight:new Map,promptAborts:new Map,eventStream:null,attachments:new Set,viewHandlers:new Set,snapshotListeners:new Set,consumedEntryIds:new Set,timeline:[],derived:{source:null,messages:[],entryIds:[],messageKeys:[]},submissionKeys:new Map,localKeySeq:0,hydrateSeq:0,hydrateAppliedSeq:0,themeLines:new Map,themeSourceLines:new Map,hasMoreAfter:!1,idleCloseTimer:null,hiddenCloseTimer:null,sseRetryTimer:null,sseRetryAttempt:0,metrics:{}};return s.set(e,i),i},u=e=>{let t=new Set;for(let n of e.attachments)n.onEvent&&t.add(n.onEvent);e.viewHandlers=t},p=e=>{for(let t of(e.derived.source!==e.timeline&&(e.derived={source:e.timeline,messages:e.timeline.map(e=>e.message),entryIds:n_(e.timeline),messageKeys:e.timeline.map(e=>e.key)}),e.snapshot={...e.snapshot,sessionId:e.sessionId,messages:e.derived.messages,entryIds:e.derived.entryIds,messageKeys:e.derived.messageKeys,hasMoreAfter:e.hasMoreAfter,turnMetrics:{...e.metrics},submissions:[...e.submissions.values()],attachCount:e.attachments.size},e.snapshotListeners))t(e.snapshot)},h=e=>{e.idleCloseTimer&&(l(e.idleCloseTimer),e.idleCloseTimer=null),e.attachments.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0||(e.idleCloseTimer=o(()=>{e.idleCloseTimer=null,(e=>{if(e.idleCloseTimer&&(l(e.idleCloseTimer),e.idleCloseTimer=null),e.sseRetryTimer&&(l(e.sseRetryTimer),e.sseRetryTimer=null,e.sseRetryAttempt=0),e.attachments.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0)return;let t=e.eventStream;t&&(e.eventStream=null,t.close(),p(e))})(e),x()},5e3))},f=e=>{e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null),e.eventStream&&(e.hiddenCloseTimer=o(()=>{let t;e.hiddenCloseTimer=null,e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null),e.sseRetryTimer&&(l(e.sseRetryTimer),e.sseRetryTimer=null,e.sseRetryAttempt=0),(t=e.eventStream)&&(e.eventStream=null,t.close(),p(e))},3e5))},g=e=>{e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null)},m=e=>!(e.attachments.size>0||e.snapshotListeners.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0||e.promptAborts.size>0||e.timeline.some(e=>e.pending))&&!(e.submissionKeys.size>0)&&0!==e.timeline.length,x=()=>{for(let[e,t]of[...s])if(m(t))for(let[n,r]of(t.eventStream?.close(),t.eventStream=null,s.delete(e),[...d]))(r===e||n===e)&&d.delete(n)},v=e=>{e.snapshot.timelineSeq+=1},y=e=>(e.localKeySeq+=1,`local:${e.localKeySeq}`),b=(e,t,n)=>{let r=n??"",i={...t,entryId:r};e.timeline=function(e,t){let n=e.length;for(;n>0;){let t=e[n-1];if(!t.pending||!0!==t.duringStreamingStep)break;n-=1}return n===e.length?[...e,t]:[...e.slice(0,n),t,...e.slice(n)]}(e.timeline,{key:r||y(e),message:i,entryId:r,pending:!1}),v(e)},w=(e,t)=>"persisted"===e?e:t,k=(e,t,n,r)=>{let i=e.submissions.get(t),o=n;i&&(o=w(i.status,n),i.status=o,i.error=r),e.snapshot.sendInFlight=e.inFlight.size>0,e.inFlight.size<=1&&i?.delivered!==!0&&("rejected"===o||"unknown"===o)&&(e.snapshot.agentRunning=!1,e.snapshot.completedRunId=e.snapshot.promptRunId,e.snapshot.streamState=nL())},j=(e,n,r,i)=>(k(e,n.submissionId,r,i),n.delivered)?(p(e),{submissionId:n.submissionId,sessionId:e.sessionId,status:"accepted"}):(C(e,n.submissionId),t(n.draftKey,{value:n.message,images:n.images??[]}),p(e),{submissionId:n.submissionId,sessionId:e.sessionId,status:r,error:i}),S=(e,t,n)=>(k(e,t.submissionId,"rejected","queued"),C(e,t.submissionId),p(e),{submissionId:t.submissionId,sessionId:e.sessionId,status:"queued",queue:n}),C=(e,t)=>{let n=e.submissionKeys.get(t);if(e.submissionKeys.delete(t),void 0===n)return!1;let r=nT(e.timeline,n);return!!r.dropped&&(e.timeline=r.timeline,v(e),!0)},_=(e,t)=>{let n=t.type,r=t.streamRunSeq,i="number"==typeof r?r:null,o=t.turnMetrics;if(o&&("number"==typeof o.tokensPerSecond||"number"==typeof o.ttftMs)&&(e.metrics={...o}),"connected"===n)null!==i&&(e.snapshot.streamRunSeq=i),!0===t.isStreaming&&(e.snapshot.agentRunning=!0,e.snapshot.streamState={isStreaming:!0,streamingMessage:null});else if("agent_start"===n)o||(e.metrics={}),e.snapshot.promptRunId+=1,e.snapshot.agentRunning=!0,null!==i&&(e.snapshot.streamRunSeq=i),e.snapshot.completedRunId=null,e.snapshot.finishingRunId=null,e.snapshot.streamState={isStreaming:!0,streamingMessage:null},e.metrics={};else if("agent_end"===n||"prompt_done"===n){if(null!==i&&null!==e.snapshot.streamRunSeq&&i<e.snapshot.streamRunSeq)return;null!==i&&(e.snapshot.streamRunSeq=i),e.snapshot.agentRunning=!1,e.snapshot.completedRunId=e.snapshot.promptRunId,e.snapshot.streamState=nL()}else if("message_start"===n||"message_update"===n){let n=t.message;if(!e.snapshot.agentRunning||n?.role==="user")return;if(n){let r=nu(n,t.renderedLines);e.snapshot.streamState={isStreaming:!0,streamingMessage:nv(r)}}}else if("prompt_error"===n){var l;let t,n={timeline:t=(l=e.timeline).filter(e=>!(e.pending&&!e.entryId)),dropped:t.length!==l.length};if(n.dropped){for(let[t,r]of(e.timeline=n.timeline,e.submissionKeys))nI(e.timeline,r)||e.submissionKeys.delete(t);v(e)}}else if("message_end"===n){let n=t.message,r="string"==typeof t.entryId&&t.entryId?t.entryId:null;if(n?.role==="user"){if(r&&e.consumedEntryIds.has(r))return void p(e);r&&e.consumedEntryIds.add(r);let t=[...e.submissions.values()].find(t=>("accepted"===t.status||"submitting"===t.status)&&!t.entryId&&e.submissionKeys.has(t.submissionId)),i=t?e.submissionKeys.get(t.submissionId)??null:null,o=function(e,t){let{key:n,message:r,entryId:i,fallbackKey:o}=t,l=r.entryId===i?r:{...r,entryId:i},s=nk(l.content),a=function(e,t){if(0===t.length)return -1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.pending&&"user"===r.message.role&&nk(r.message.content)===t)return n}return -1}(e,s);if(n){let t=a<0||e[a]?.key===n?nI(e,n):void 0;if(t?.pending){let t=nR(e,n,l,i);if(t)return{timeline:t,outcome:"key"}}if(i?e.some(e=>e.entryId===i):s.length>0&&e.some(e=>e.entryId&&nk(e.message.content)===s)){if(a>=0){let t=nR(e,e[a].key,l,i);if(t)return{timeline:t,outcome:"text"}}return{timeline:[...e],outcome:"reconciled"}}}if(a>=0){let t=nR(e,e[a].key,l,i);if(t)return{timeline:t,outcome:"text"}}return i&&e.some(e=>e.entryId===i)?{timeline:[...e],outcome:"duplicate"}:{timeline:[...e,{key:o,message:l,entryId:i,pending:!1}],outcome:"appended"}}(e.timeline,{key:i,message:n,entryId:r??"",fallbackKey:r??y(e)});"duplicate"!==o.outcome&&(e.timeline=o.timeline,v(e)),t&&(e.submissionKeys.delete(t.submissionId),"duplicate"!==o.outcome&&(t.delivered=!0),null!==r&&(t.status=w(t.status,"persisted"),t.entryId=r))}else if(n?.role==="custom"&&n.customType===ny){let t=nw(n.details),i=t?.messageEntryId?e.timeline.findIndex(e=>e.entryId===t.messageEntryId):-1;i<0&&t?.messageEntryId&&(i=e.timeline.findLastIndex(e=>"user"===e.message.role&&!e.entryId));let o=i>=0?e.timeline[i]:void 0;if(t&&o?.message.role==="user"){if(!(o.message.binaryBlocks??[]).some(e=>e.path===t.path&&e.previewPath===t.previewPath)){let n=[...e.timeline];n[i]={...o,message:{...o.message,binaryBlocks:[...o.message.binaryBlocks??[],t]}},e.timeline=n,v(e)}}else e.snapshot.agentRunning&&b(e,n,r)}else n&&e.snapshot.agentRunning&&b(e,nv(nu(n,t.renderedLines)),r);e.snapshot.streamState=nL()}for(let n of(p(e),e.viewHandlers))try{n(t)}catch{}h(e)},I=[500,1500,3e3],R=t=>{if(!a)return;t.idleCloseTimer&&(l(t.idleCloseTimer),t.idleCloseTimer=null),t.sseRetryTimer&&(l(t.sseRetryTimer),t.sseRetryTimer=null,t.sseRetryAttempt=0);let n=t.eventStream?.getCurrentSource();if(t.eventStream&&n&&2!==n.readyState&&t.eventStream.isCurrent(t.sessionId))return;t.eventStream?.close(),t.eventStream=null;let r=e=>_(t,e),i=e.createEventStream?e.createEventStream(t.sessionId,r):function(e={}){let t=e.createEventSource??nn,n=e.getEventsUrl??(e=>`/api/agent/${encodeURIComponent(e)}/events`),r=e.connectTimeoutMs??5e3,i=e.reconnectDelayMs??1e3,o=e.shouldAutoReconnect??(()=>!1),l=e.schedule??((e,t)=>setTimeout(e,t)),s=e.clearSchedule??(e=>clearTimeout(e)),a=e.scheduleFrame??nr,d=e.cancelFrame??ni,c=null,u=null,p=null,h=null,f=null,g=()=>{null!==h&&(s(h),h=null)},m=()=>{c&&(c.close(),c=null),u?.(),u=null},x=(e,v)=>{g(),f?.(),f=null,m();let y=t(n(e));c=y,u=(0,ne.D)(y),p=e;let b=null,w=null,k=()=>{w=null;let e=b;if(b=null,e&&c===y)try{v(e)}catch{}};return f=()=>{null!==w&&d(w),w=null,b=null},new Promise(t=>{let n=!1,u=null,p=e=>{n||(n=!0,null!==u&&(s(u),u=null),t({status:e,source:y}))};u=l(()=>p("timeout"),r),y.onmessage=e=>{try{if(c!==y)return;let t=JSON.parse(e.data);if("connected"===t.type&&p("connected"),"message_update"===t.type){b=t,null===w&&(w=a(k));return}null!==w&&(d(w),w=null),k(),v(t)}catch{}},y.onerror=()=>{2===y.readyState&&(p("closed"),c===y&&o()&&(c=null,h=l(()=>{o()&&x(e,v)},i)))}})};return{connect:x,async ensureConnected(e,t){let n=await x(e,t);if("connected"!==n.status&&1!==n.source.readyState)throw c===n.source&&(c=null,f?.(),f=null),n.source.close(),new nt(n.status)},close:()=>{g(),f?.(),f=null,m(),p=null},getCurrentSource:()=>c,isCurrent:e=>null!==c&&p===e&&2!==c.readyState}}({shouldAutoReconnect:()=>{var e;return!!(e={agentRunning:t.snapshot.agentRunning,visibilityState:"u"<typeof document?void 0:document.visibilityState}).agentRunning&&(void 0===e.visibilityState||"hidden"!==e.visibilityState)}});t.eventStream=i,i.ensureConnected(t.sessionId,r).catch(()=>{if(t.eventStream===i&&(t.eventStream=null),!(t.attachments.size>0))return;let e=t.sseRetryAttempt;if(e>=I.length)return;let n=I[e];t.sseRetryAttempt=e+1,t.sseRetryTimer&&l(t.sseRetryTimer),t.sseRetryTimer=o(()=>{t.sseRetryTimer=null,!(t.attachments.size>0)||t.eventStream&&t.eventStream!==i||t.snapshot.agentRunning||t.snapshot.sendInFlight||R(t)},n)})},T=(e,t)=>{let n=c(e,!0),r=n.sessionId,i=s.get(t);return i&&i!==n&&(i.eventStream?.close(),i.eventStream=null,s.delete(t)),s.delete(r),r!==e&&d.delete(r),n.sessionId=t,n.snapshot.sessionId=t,s.set(t,n),e!==t&&d.set(e,t),n},n$={getSnapshot(e){let t=c(e,!1);return t?t.snapshot:null},subscribe(e,t){let n=c(e,!0);return n.snapshotListeners.add(t),t(n.snapshot),()=>{n.snapshotListeners.delete(t)}},attach(e,t){let n=c(e,!0),r={onEvent:t};n.attachments.add(r),u(n),R(n),p(n);let i=!1;return{sessionId:n.sessionId,dispose:()=>{i||(i=!0,n.attachments.delete(r),u(n),p(n),h(n))}}},detach(e,t){t.dispose()},async submitPrompt(t){var n,o,l,s,a;let d,u,f=t.submissionId?.trim()||i(),g="persisted"===t.target.kind?t.target.sessionId:eV(t.target.intentId),m=c(g,!0),x=m.submissions.get(f);if(x&&("accepted"===x.status||"persisted"===x.status||"submitting"===x.status))return{submissionId:f,sessionId:m.sessionId,status:"accepted"};let y=m.inFlight.get(f);if(y)return y;let b={submissionId:f,sessionId:g,draftKey:t.draftKey,message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,status:"submitting",delivered:!1,entryId:null},w=new AbortController;m.submissions.set(f,b),m.promptAborts.set(f,w),m.snapshot.sendInFlight=!0,m.snapshot.agentRunning=!0,m.snapshot.promptRunId+=1,m.snapshot.completedRunId=null,m.snapshot.finishingRunId=null,m.snapshot.streamState={isStreaming:!0,streamingMessage:null},m.metrics={};let C=`sub:${f}`;a=m.timeline,m.timeline=[...a,nS(C,(n=t.message,o=t.images,l=t.binaryBlocks,s=r(),d=o?.map(e=>({type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}})),u={role:"user",content:d?.length?[...n.trim()?[{type:"text",text:n}]:[],...d]:n,timestamp:s},l?.length&&(u.binaryBlocks=l.map(e=>({type:"binary",version:1,kind:e.mimeType.toLowerCase().startsWith("image/")?"image":e.mimeType.toLowerCase().startsWith("audio/")?"audio":e.mimeType.toLowerCase().startsWith("video/")?"video":"file",...e}))),u))],m.submissionKeys.set(f,C),v(m),p(m);let _=(async()=>{let n=g,r=!1;try{if("new"===t.target.kind){if(e.createAndPrompt){let{sessionId:i,receipt:o}=await e.createAndPrompt(t.target.cwd,{message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,submissionId:f,...t.model?.provider?{provider:t.model.provider,modelId:t.model.modelId}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{},signal:w.signal});if(w.signal.aborted)throw new DOMException("aborted","AbortError");if(n=i,b.sessionId=i,T(g,i),r=!0,"rejected"===o.status)return j(m,b,"rejected","rejected");if("queued"===o.status&&o.queue)return S(m,b,o.queue);return k(m,f,"accepted"),p(m),{submissionId:f,sessionId:n,status:"accepted"}}if(!e.ensureNewSession)return j(m,b,"rejected","no ensure implementation");let i=await e.ensureNewSession(t.target.cwd,t.model);if(w.signal.aborted)throw new DOMException("aborted","AbortError");n=i,b.sessionId=i,T(g,i),r=!0}!r&&e.wake&&await e.wake(n,w.signal),R(m);let i=await e.postPrompt(n,{message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,submissionId:f,signal:w.signal});if("rejected"===i.status)return j(m,b,"rejected","rejected");if("queued"===i.status&&i.queue)return S(m,b,i.queue);return k(m,f,"accepted"),p(m),{submissionId:f,sessionId:n,status:"accepted"}}catch(e){if(e instanceof Error&&("AbortError"===e.name||w.signal.aborted))return j(m,b,"unknown","aborted");return j(m,b,"unknown",e instanceof Error?e.message:String(e))}finally{m.inFlight.delete(f),m.promptAborts.delete(f),m.snapshot.sendInFlight=m.inFlight.size>0,p(m),h(m)}})();return m.inFlight.set(f,_),_},cancellationFor(e){let t=c(e,!1);if(!t)return null;let n=[...t.promptAborts.entries()][0];if(!n)return null;let[r,i]=n;return{submissionId:r,cancel:()=>i.abort(),signal:i.signal}},async abortSubmission(t,n){let r=c(t,!1);if(!r)return null;let i=n??[...r.promptAborts.keys()][0],o=i?r.promptAborts.get(i):void 0,l=i?r.inFlight.get(i):void 0;if(o?.abort(),i&&e.cancelSubmission)try{await e.cancelSubmission(i)}catch{}return l||Promise.resolve(null)},abort(e){let t=c(e,!1);if(t){for(let e of t.promptAborts.values())e.abort();t.snapshot.agentRunning=!1,t.snapshot.streamState=nL(),t.snapshot.sendInFlight=t.inFlight.size>0,p(t),h(t)}},setBashRunning(e,t,n){let r=c(e,!0);r.snapshot.bashRunning=t,r.snapshot.pendingBash=t?n??null:null,p(r)},getRunState(e){let t=c(e,!1)?.snapshot;return t?{promptRunId:t.promptRunId,agentRunning:t.agentRunning,sendInFlight:t.sendInFlight,finishingRunId:t.finishingRunId,completedRunId:t.completedRunId}:null},beginRunFinish(e,t){let n=c(e,!1);if(!n)return!1;let r=n.snapshot;return r.promptRunId===t&&null===r.finishingRunId&&(!!r.agentRunning||r.completedRunId===t)&&(r.finishingRunId=t,p(n),!0)},releaseRunFinish(e,t){let n=c(e,!1);n&&n.snapshot.finishingRunId===t&&(n.snapshot.finishingRunId=null,p(n))},completeRun(e,t){let n=c(e,!1);return!!n&&n.snapshot.promptRunId===t&&(n.snapshot.agentRunning=!1,n.snapshot.completedRunId=t,n.snapshot.streamState=nL(),p(n),!0)},importRunningRun(e,t){let n=c(e,!0),i=n.snapshot;i.agentRunning||i.sendInFlight||(i.agentRunning=!0,i.completedRunId=null,i.finishingRunId=null,i.promptRunId+=1,i.streamState={isStreaming:!0,streamingMessage:null},"number"==typeof t&&Number.isFinite(t)&&t>0||r(),n.metrics={},p(n))},seedTurnMetrics(e,t){let n=c(e,!0);n.metrics=t?{...t}:{},p(n)},async reconcile(t){var n;let r=c(t,!1);if(!r||!e.getAgentState)return null;let i=r.snapshot.promptRunId,o=await e.getAgentState(t),l=c(t,!1);if(l!==r||l.snapshot.promptRunId!==i)return{runId:i,stale:!0,live:!1,shouldFinish:!1};let s=!0===o.live||void 0===o.live&&!0===o.running;s&&!l.eventStream?.isCurrent(t)&&R(l);let a=o.state,d=!1===o.activeRun&&!0!==o.lockedByOther;return{runId:i,stale:!1,live:s,shouldFinish:!!(n={sendInFlight:l.snapshot.sendInFlight,clientRunning:l.snapshot.agentRunning,live:s,knownIdleWithoutLive:d,isStreaming:a?.isStreaming===!0,isPromptRunning:a?.isPromptRunning===!0,isCompacting:a?.isCompacting===!0}).clientRunning&&!n.sendInFlight&&(!!n.live||!!n.knownIdleWithoutLive)&&!n.isStreaming&&!n.isPromptRunning&&!n.isCompacting,state:a}},beginHydrate(e){let t=c(e,!0);return t.hydrateSeq+=1,t.hydrateSeq},hydrate(e,t,n=[],r){var i;let o,l,s,a=c(e,!0),d=r?.hydrateRequestSeq??++a.hydrateSeq;if(d<=a.hydrateAppliedSeq)return"superseded";if(r?.sinceSeq!==void 0&&a.snapshot.timelineSeq>r.sinceSeq)return"stale";a.hydrateSeq=Math.max(a.hydrateSeq,d),a.hydrateAppliedSeq=d,r?.hasMoreAfter!==void 0&&(a.hasMoreAfter=r.hasMoreAfter);let u=a.themeLines.size>0?nE(t,n):new Map,h=r?.mode??"replace",f=a.timeline,g="prepend"===h?function(e,t,n){let r=new Set(e.map(e=>e.entryId).filter(Boolean)),i=[];for(let e=0;e<n.length;e++){let o=n[e]??"";o&&r.has(o)||i.push(nj(t[e],o,e))}return 0===i.length?[...e]:[...i,...e]}(f,t,n):"tail"===h?function(e,t,n){if(0===n.length)return[...e];let r=nC(t,n),i=e.map(e=>e.entryId);if(i.every(e=>!e))return r;if(function(e,t){let n=t.filter(Boolean);if(0===n.length)return!1;let r=new Set(e.filter(Boolean));if(!n.every(e=>r.has(e)))return!1;let i=[...e].reverse().find(Boolean)??null,o=n[n.length-1];return null!==i&&o!==i}(i,n))return[...e];let o=r[0].entryId,l=o?i.indexOf(o):-1;return l<=0?r:[...e.slice(0,l),...r]}(f,t,n):nC(t,n),m="drop"===("retain"===(i=r?.pending)||"drop"===i?i:"replace"===h?"drop":"retain")?g:(o=new Set(g.map(e=>e.key)),l=function(e,t){let n=new Set(e.map(e=>e.entryId).filter(Boolean)),r=[...e].reverse().find(e=>e.entryId),i=0;if(r){let e=t.findIndex(e=>e.entryId===r.entryId);if(e<0)return 0;i=e+1}else for(let e=t.length-1;e>=0;e--)if(t[e].entryId&&"assistant"===t[e].message.role){i=e+1;break}let o=0;for(let e=i;e<t.length;e++){let r=t[e];r.entryId&&!n.has(r.entryId)&&"user"===r.message.role&&(o+=1)}return o}(f,g),0===(s=f.filter(e=>!(!e.pending||e.entryId||o.has(e.key))&&("user"!==e.message.role||!(l>0)||(l-=1,!1)))).length?g:[...g,...s]),x=m;if(u.size>0){let e=new Map;for(let[t,n]of u){let r=a.themeSourceLines.get(t),i=a.themeLines.get(t);r&&i&&nA(n,r)?e.set(t,i):(a.themeLines.delete(t),a.themeSourceLines.delete(t))}e.size>0&&(x=nM(m,e))}for(let e of(a.timeline=[...x],nz(a),n_(a.timeline)))e&&a.consumedEntryIds.add(e);return p(a),"applied"},refreshRenderedLines(e,t,n=[]){let r=c(e,!1);if(!r)return!1;let i=nE(t,n);if(0===i.size)return!1;let o=function(e){let t=new Map;for(let n of e){if(!n.entryId||t.has(n.entryId))continue;let e=na(n.message);e&&t.set(n.entryId,e)}return t}(r.timeline);for(let[e,t]of i){r.themeLines.set(e,t);let n=o.get(e);n&&!nA(n,t)?r.themeSourceLines.set(e,n):r.themeSourceLines.delete(e)}let l=nM(r.timeline,r.themeLines);return nz(r),l!==r.timeline&&(r.timeline=[...l],p(r),!0)},appendLocal(e,t){var n;let r=c(e,!0),i=y(r),o=!0===r.snapshot.agentRunning,l=o?{...t,_duringStreamingStep:!0}:t;return n=r.timeline,r.timeline=[...n,{...nS(i,l),...o?{duringStreamingStep:!0}:{}}],v(r),p(r),i},dropLocal(e,t){let n=c(e,!1);if(!n)return!1;let r=nT(n.timeline,t);return!!r.dropped&&(n.timeline=r.timeline,v(n),p(n),!0)},applyEvent(e,t){_(c(e,!0),t)},hasActiveEventStream(e){let t=c(e,!1);return t?.eventStream?.isCurrent(e)===!0},ensureEventsConnected(e){R(c(e,!0))},setTabVisibility(e){for(let t of(a=e,s.values()))e?g(t):f(t)},getEventSource:e=>c(e,!1)?.eventStream?.getCurrentSource()??null,getSubmission:(e,t)=>c(e,!1)?.submissions.get(t),resetForTests(){n$=null},debugSlotCount:()=>s.size,debugSlotIds:()=>[...s.keys()]}),n$}function nF(e){let t=new Set;if(!Array.isArray(e))return t;for(let n of e)if(n&&"object"==typeof n){let e=n.sessionId;"string"==typeof e&&e&&t.add(e)}return t}function nH({selectedSessionId:e,onSelectSession:t,onNewSession:n,initialSessionId:o,skipInitialProjectSelection:l,onInitialRestoreDone:c,restoreNonce:u=0,refreshKey:p,onSessionDeleted:k,onProjectAdded:j,onProjectRootsChange:S,catalogStore:C}){let{t:_}=(0,eU.s9)(),I=(0,i.useRef)(C??null);I.current||(I.current=C??t0()),C&&(I.current=C);let R=I.current,[T,E]=(0,i.useState)(0),M=(0,i.useRef)(e);M.current=e;let A=(0,i.useRef)(null),L=(0,i.useRef)(null),z=(0,i.useMemo)(()=>R.getSnapshot(M.current),[T,e]),$=z.sessions,P=z.serverListLoaded,D=z.loading,N=z.error,[B,O]=(0,i.useState)(!1),V=z.archivedSessions,J=z.runningIds,Y=(0,i.useRef)($);Y.current=$;let X=(0,i.useRef)(0),{cwd:G}=eO(),{setIdentity:Z}=eB(),[Q,ee]=(0,i.useState)(""),[et,en]=(0,i.useState)(!1),[er,ei]=(0,i.useState)(null),[eo,el]=(0,i.useState)(null),es=(0,i.useRef)(!0),[ea,ed]=(0,i.useState)(!1),eu=z.effectiveRunningIds,[ef,eg]=(0,i.useState)(!1),[ex,ev]=(0,i.useState)(null),[ey,eb]=(0,i.useState)(null),{runningChildIds:ew,bySessionId:ek}=eT(),ej=(0,i.useMemo)(()=>[...ek.keys()],[ek]),eC=(0,i.useMemo)(()=>{let e=new Set(ew);for(let t of $)t.subagent?.parentSessionId&&ew.has(t.id)&&e.add(t.subagent.parentSessionId);return e},[ew,$]),[e_,eI]=(0,i.useState)(()=>new Set),[eR,eE]=(0,i.useState)(()=>Date.now()),[eD,eN]=(0,i.useState)(()=>new Map),eq=eu.size>0||eC.size>0;(0,i.useEffect)(()=>{if(!eq)return;let e=setInterval(()=>eE(Date.now()),1e3);return()=>clearInterval(e)},[eq]),(0,i.useEffect)(()=>{let e=Date.now();eE(e),eN(t=>(function(e,t,n,r){let i=new Map,o=e.size!==t.length;for(let l of t){let t=function(e,t){let n=e?.get(t);return"number"==typeof n?n:void 0}(n,l)??e.get(l)??r;e.get(l)!==t&&(o=!0),i.set(l,t)}return o?i:e})(t,[...eu,...eC],z.runningStartedAt,e))},[eu,eC,z.runningStartedAt]);let eK=z.unreadIds,[eV,eY]=(0,i.useState)(""),[eG,eZ]=(0,i.useState)(!1),[e0,e4]=(0,i.useState)("meta"),[e5,tn]=(0,i.useState)([]),[ti,to]=(0,i.useState)([]),[ts,td]=(0,i.useState)(null),[tu,th]=(0,i.useState)(!1),[tf,tg]=(0,i.useState)(null),tm=(0,i.useRef)(0),tx=(0,i.useRef)(null),[tw,tk]=(0,i.useState)(!1),[tj,tS]=(0,i.useState)(null),tC=(0,i.useRef)(null),t_=(0,i.useRef)(null),tI=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!tw||!tI.current)return;let e=requestAnimationFrame(()=>{let e=t_.current,t=tI.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||tS(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(e)},[tw]);let[tR,tT]=(0,i.useState)(()=>U()),tE=(0,i.useRef)(0),tM=(0,i.useRef)(null),tA=(0,i.useRef)(function(){try{return null!==window.localStorage.getItem(W)}catch{return!1}}()),tL=(0,i.useRef)({}),[tz,tW]=(0,i.useState)({}),[t$,tD]=(0,i.useState)(()=>new Set),tN=(0,i.useRef)(new Set),tB=(0,i.useRef)(null),tO=(0,i.useRef)(!1),tU=(0,i.useRef)(null),tK=(0,i.useRef)(new Set),tY=(0,i.useRef)(new Set),tX=em(),tQ=(0,i.useRef)(!1),t1=(0,i.useRef)(0),t2=(0,i.useRef)(0),t4=(0,i.useRef)(null),t6=(0,i.useCallback)((e,t)=>{t1.current+=1;let n=[...e],r=nP(),i=[...R.getState().startingIds].filter(e=>r.getRunState(e)?.sendInFlight===!0);R.applyRunningSnapshot({runningIds:n,runningStartedAt:t,selectedSessionId:M.current,localInFlightIds:i,now:Date.now()})},[R]),t5=(0,i.useCallback)(e=>{tT(t=>{let n=e(t);if(n!==t){let e={...n,sidebarWidth:U().sidebarWidth};if(q(e),tA.current){let n=K(t),r=K(e),i=[];for(let e of Object.keys(r))if(JSON.stringify(n[e])!==JSON.stringify(r[e])){if("projectOrder"===e){i.push({key:`sidebarUi.${e}`,op:"set",value:r[e]});continue}if(x.has(e)){let t=Array.isArray(n[e])?n[e]:[],o=Array.isArray(r[e])?r[e]:[];for(let n of o.filter(e=>!t.includes(e)))i.push({key:`sidebarUi.${e}`,op:"add",value:n});for(let n of t.filter(e=>!o.includes(e)))i.push({key:`sidebarUi.${e}`,op:"remove",value:n});continue}(0,eA.dM)(`sidebarUi.${e}`,r[e]??null)}i.length>0&&(0,eA.ss)(i)}}return n})},[]),t8=(0,eA.Fd)(),t3=(0,i.useMemo)(()=>{let e=t8.projectAliases,t="object"!=typeof e||null===e||Array.isArray(e)?{}:e;return{...tR.projectAliases,...t}},[tR.projectAliases,t8]);(0,i.useEffect)(()=>{let e=t8.sidebarUi;void 0!==e&&tT(t=>{let n=function(e,t){if("object"!=typeof t||null===t||Array.isArray(t))return e;let n=F({...e,...t}),r=void 0!==t.projectRoots,i=r?null:H({added:t.addedProjectRoots,closed:t.closedProjectRoots,hasProjectRoots:!1}),o=null!==i&&0===e.projectRoots.length;return{...e,displayMode:n.displayMode,collapsedProjectRoots:n.collapsedProjectRoots,projectRoots:o?i.projectRoots:n.projectRoots,projectRootsMigrated:!r&&(e.projectRootsMigrated||o),showRecentSessions:n.showRecentSessions,pinnedSessionIds:n.pinnedSessionIds,projectSort:n.projectSort,projectOrder:n.projectOrder,ungroupedSessionIds:n.ungroupedSessionIds}}(t,e),r=JSON.stringify(K(t))===JSON.stringify(K(n));return(tA.current=!0,r&&t.projectRootsMigrated===n.projectRootsMigrated)?t:(q({...n,sidebarWidth:U().sidebarWidth}),n)})},[t8]);let t9=tR.displayMode,t7=tR.showRecentSessions,[ne,nt]=(0,i.useState)(5),nn=(0,i.useMemo)(()=>new Set(tR.collapsedProjectRoots),[tR.collapsedProjectRoots]);(0,i.useEffect)(()=>{S?.(tR.projectRoots)},[tR.projectRoots,S]),(0,i.useEffect)(()=>R.subscribe(()=>E(e=>e+1)),[R]);let nr=(0,i.useCallback)(async(e=!1)=>{let t=++X.current;if(e&&0===Y.current.length&&!P){let e=ep();if(e&&e.length>0){if(!es.current||!eF(t,X.current))return;R.applyServerList({sessions:e,archivedSessions:[],archivedCount:0,provisional:!0})}}R.beginListLoad();try{let n=await fetch("/api/sessions",{signal:AbortSignal.timeout(1e4)});if(!es.current||!eF(t,X.current))return;if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();if(!es.current||!eF(t,X.current))return;R.applyServerList({sessions:r.sessions,archivedSessions:r.archivedSessions??[],archivedCount:r.archivedCount??0,runningSessionIds:r.runningSessionIds,runningStartedAt:r.runningStartedAt,selectedSessionId:M.current,now:Date.now()}),eh(r.sessions);let i=M.current;if(i&&!eJ(i)&&!R.getState().startingIds.has(i)&&A.current!==i&&Y.current.some(e=>e.id===i)){let e=new Set(r.sessions.map(e=>e.id));for(let t of r.archivedSessions??[])e.add(t.id);e.has(i)||(A.current=i,L.current?.(i))}tE.current=0,tM.current&&(clearTimeout(tM.current),tM.current=null),e||(ed(!0),t4.current&&clearTimeout(t4.current),t4.current=setTimeout(()=>{es.current&&ed(!1)},2e3))}catch(e){if(!es.current||!eF(t,X.current))return;if(tE.current<2){let e=tE.current+1;tE.current=e,tM.current&&clearTimeout(tM.current),tM.current=setTimeout(()=>{tM.current=null,es.current&&ni.current(!1)},2e3*e);return}R.applyListError(String(e))}},[R,P,Y]),ni=(0,i.useRef)(nr);ni.current=nr;let no=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!no.current;no.current=!0,ni.current(e)},[p]);let nl=(0,i.useRef)({lastKey:"",attempts:0,lastAttemptAt:0});(0,i.useEffect)(()=>{let e=new Set(Y.current.map(e=>e.id)),t=function(e){let t=[...e.missingIds].filter(Boolean).sort().join(",");if(!t)return{fire:!1,lastKey:"",attempts:0,lastAttemptAt:0};let n=e.maxAttempts??3,r=e.cooldownMs??4e3;return t!==e.lastKey?{fire:!0,lastKey:t,attempts:1,lastAttemptAt:e.now}:e.attempts>=n||e.now-e.lastAttemptAt<r?{fire:!1,lastKey:t,attempts:e.attempts,lastAttemptAt:e.lastAttemptAt}:{fire:!0,lastKey:t,attempts:e.attempts+1,lastAttemptAt:e.now}}({missingIds:ej.filter(t=>!e.has(t)),lastKey:nl.current.lastKey,attempts:nl.current.attempts,lastAttemptAt:nl.current.lastAttemptAt,now:Date.now()});nl.current={lastKey:t.lastKey,attempts:t.attempts,lastAttemptAt:t.lastAttemptAt},t.fire&&ni.current(!1)},[ej,$]),(0,i.useEffect)(()=>{let e=eM({perform:()=>ni.current(!1)}),t=()=>{"visible"===document.visibilityState&&e.notify()};return document.addEventListener("visibilitychange",t),window.addEventListener("focus",t),()=>{document.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t),e.dispose()}},[]),(0,i.useEffect)(()=>{!tR.projectRootsMigrated||(0,eA.Vg)()&&t5(e=>e.projectRootsMigrated?{...e,projectRoots:e.projectRoots,projectRootsMigrated:!1}:e)},[tR.projectRootsMigrated,t8,t5]),(0,i.useEffect)(()=>{let e=(0,eX.zD)((0,eX.AR)(window.localStorage),(0,eX.mD)((0,eA.b3)("unreadSessionState")));R.replaceUnread(e)},[R,t8]),(0,i.useEffect)(()=>{let e=R.getState().unread;(0,eX.R)(window.localStorage,e);let t=tL.current;for(let[n,r]of Object.entries(e.readAt))t[n]!==r&&$.some(e=>e.id===n)&&(t[n]=r,(0,eA.dM)(`unreadSessionState.readAt.${n}`,r))},[$,T,R]),(0,i.useEffect)(()=>(0,ec.RD)(e=>{e&&("sessions-changed"===e.type?ni.current?.(!1):"running"===e.type&&(tQ.current=!0,t6(Array.isArray(e.runningSessionIds)?e.runningSessionIds.filter(e=>"string"==typeof e):[],e.runningStartedAt&&"object"==typeof e.runningStartedAt?e.runningStartedAt:void 0),eI(nF(e.pendingExtensionUi))))}),[t6]),(0,i.useEffect)(()=>{let e=eM({perform:()=>{if("visible"!==document.visibilityState)return;let e=++t2.current,t=t1.current;fetch("/api/agent/running",{cache:"no-store"}).then(e=>e.json()).then(n=>{!Array.isArray(n.runningSessionIds)||es.current&&(0,eX._i)(t,t1.current,e,t2.current)&&(tQ.current=!0,t6(n.runningSessionIds.filter(e=>"string"==typeof e),n.runningStartedAt&&"object"==typeof n.runningStartedAt?n.runningStartedAt:void 0),eI(nF(n.pendingExtensionUi)))}).catch(()=>void 0)}}),t=()=>{"visible"===document.visibilityState&&e.notify()};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t),e.dispose()}},[t6]),(0,i.useEffect)(()=>{ea&&eS()},[ea]),(0,i.useEffect)(()=>{let t=[...tK.current].filter(e=>!J.has(e));if(t.length>0)for(let r of t){var n;if(r.startsWith("__new__")||!((n={hidden:"hidden"===document.visibilityState,sessionId:r,visibleSessionId:e,notificationsEnabled:!0}).notificationsEnabled&&n.hidden&&n.sessionId&&n.sessionId!==n.visibleSessionId&&1))continue;let t=Y.current.find(e=>e.id===r)?.name||Y.current.find(e=>e.id===r)?.firstMessage||r;try{tX?.notify(_("desktop_runFinishedTitle"),_("desktop_runFinishedBody",{title:t}))}catch{}}tK.current=new Set(J),tY.current=new Set(eu)},[tX,eu,J,e,_]);let ns=(0,i.useRef)(new Set);(0,i.useEffect)(()=>{let e=ns.current,t=[...J].filter(t=>!e.has(t));ns.current=new Set(J),t.length>0&&nr(!1)},[J,nr]),(0,i.useEffect)(()=>{e&&R.markRead(e)},[e,R]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&ee(e.home)}).catch(()=>{})},[]);let na=(0,i.useRef)(!1);(0,i.useEffect)(()=>{na.current=!1},[u]),(0,i.useEffect)(()=>()=>{es.current=!1,tM.current&&clearTimeout(tM.current)},[]);let nd=(0,i.useCallback)(e=>{Z({cwd:e,status:e?"ready":"idle",error:null})},[Z]),[nc,nu]=(0,i.useState)(null);(0,i.useEffect)(()=>{nu(null)},[G]),(0,i.useEffect)(()=>{if(!l||o){if(o&&!na.current){if(N&&P){na.current=!0,c?.({error:N});return}if(!P)return;let e=$.find(e=>e.id===o);if(e){na.current=!0,t(e,!0),c?.({found:!0});return}na.current=!0,c?.({found:!1});return}if(0!==$.length&&null===G){let e=(function(e){let t=new Map;for(let n of e){let e=n.cwd,r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)})($).filter(e=>tR.projectRoots.includes(e));e[0]&&nd(e[0])}}},[$,G,o,l,t,c,nd,tR.projectRoots,P,N,u]);let np=(0,i.useCallback)(()=>{en(!1)},[]),nh=(0,i.useCallback)(e=>{t5(t=>t.projectRoots.includes(e)?t:{...t,projectRoots:[...t.projectRoots,e]}),np(),j?.(e),nd(e),n?.(e)},[t5,np,j,nd,n]),nf=(0,i.useCallback)(()=>{en(!0)},[]);(0,i.useEffect)(()=>{if(!tw)return;let e=e=>{!tC.current||tC.current.contains(e.target)||t_.current?.contains(e.target)||tk(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[tw]);let ng=(0,i.useCallback)(e=>{t(e)},[t]),nm=(0,i.useCallback)(e=>{t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),R.markDeleted(e),k?.(e),nr()},[R,k,nr,t5]);L.current=nm;let nx=(0,i.useCallback)(async e=>{if(null===ex){ev(e),eb(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"POST"},t)}(e);if(!t.ok){let e=tG(t);eb("running"===e?_("archive_runningConflict"):"readOnly"===e?_("archive_readOnlyForbidden"):"network"===e?_("archive_networkError"):t.error??_("archive_unknownError"));return}t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),nr()}catch(e){eb(e instanceof Error?e.message:String(e))}finally{ev(null)}}},[ex,nr,_,t5]),nv=(0,i.useCallback)(()=>{eg(e=>(e||eb(null),!e))},[]),ny=(0,i.useCallback)(e=>{t5(t=>t.showRecentSessions===e?t:{...t,showRecentSessions:e})},[t5]),nb=(0,i.useMemo)(()=>new Set(tR.pinnedSessionIds),[tR.pinnedSessionIds]),nw=(0,i.useMemo)(()=>new Set(tR.ungroupedSessionIds),[tR.ungroupedSessionIds]),nk=(0,i.useMemo)(()=>(function(e){let{sessions:t,pinnedSessionIds:n}=e,r=new Map;for(let e of t)e.subagent||r.set(e.id,e);let i=[],o=new Set;for(let e of n){let t=r.get(e);!t||o.has(e)||(o.add(e),i.push(t))}return i})({sessions:$,pinnedSessionIds:tR.pinnedSessionIds}),[$,tR.pinnedSessionIds]),nj=(0,i.useCallback)(e=>{t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:{...t,pinnedSessionIds:[e,...t.pinnedSessionIds]})},[t5]),nS=(0,i.useMemo)(()=>(function(e){let{sessions:t,excludeIds:n,limit:r=20}=e,i=Math.max(0,Math.floor(r));return t.filter(e=>!(e.subagent||n?.has(e.id))).slice().sort(eP).slice(0,i)})({sessions:$,excludeIds:nb,limit:20}),[$,nb]);(0,i.useEffect)(()=>{nt(e=>0===nS.length?5:Math.min(Math.max(e,5),nS.length))},[nS.length]);let nC=(0,i.useCallback)((e=G)=>{e&&(nd(e),n?.(e))},[G,n,nd]),n_=(0,i.useCallback)(()=>{eY(""),tn([]),to([]),td(null),tg(null),th(!1),tm.current+=1},[]),nI=(0,i.useCallback)(()=>{eG?(eZ(!1),n_()):(eZ(!0),setTimeout(()=>tx.current?.focus(),0))},[eG,n_]);(0,i.useEffect)(()=>{if(!eG||"fulltext"!==e0)return void th(!1);let e=eV.trim();if(!e){tn([]),to([]),td(null),tg(null),th(!1);return}let t=++tm.current;th(!0),tg(null);let n=setTimeout(()=>{(async()=>{try{let n=await fetch(`/api/sessions/search?q=${encodeURIComponent(e)}&limit=40`),r=await n.json().catch(()=>({}));if(t!==tm.current)return;if(!n.ok||r.error){tg(r.error??`HTTP ${n.status}`),tn([]),to([]),td(null);return}tn(r.hits??[]),to(r.sessionIds??[]),td(r.source??null)}catch(e){if(t!==tm.current)return;tg(e instanceof Error?e.message:String(e)),tn([]),to([]),td(null)}finally{t===tm.current&&th(!1)}})()},280);return()=>clearTimeout(n)},[eG,e0,eV]);let nR=(0,i.useMemo)(()=>(function(e,t={}){let{selectedCwd:n=null}=t,r=new Set(t.projectRoots??[]),i=m(t.ungroupedSessionIds),o=new Map;for(let t of e){if(i.has(t.id)||!r.has(t.cwd))continue;let e=o.get(t.cwd);e?e.push(t):o.set(t.cwd,[t])}for(let e of r)o.has(e)||o.set(e,[]);let l=[];for(let[e,t]of o)l.push({root:e,tree:h(t),latestActivity:function(e){let t="";for(let n of e)n.modified>t&&(t=n.modified);return t}(t)});return l.sort((e,t)=>e.latestActivity||t.latestActivity?e.latestActivity?t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):t.root===n?1:-1:e.root===n?-1:1:e.root.localeCompare(t.root)),l})($,{selectedCwd:G,projectRoots:tR.projectRoots,ungroupedSessionIds:nw}),[$,G,tR.projectRoots,nw]),nT=(0,i.useMemo)(()=>(function(e,t={}){return h(function(e,t={}){let n=new Set(t.projectRoots??[]),r=m(t.ungroupedSessionIds);return e.filter(e=>r.has(e.id)||!n.has(e.cwd))}(e,t))})($,{projectRoots:tR.projectRoots,ungroupedSessionIds:nw}),[$,tR.projectRoots,nw]),nE=(0,i.useMemo)(()=>{let e=new Map,t=n=>{for(let r of n)e.set(r.session.id,r),r.children.length>0&&t(r.children)};for(let e of nR)t(e.tree);return t(nT),e},[nR,nT]),nM=eV.trim().toLowerCase(),nA="fulltext"===e0&&nM.length>0,nL=(0,i.useMemo)(()=>nA?new Set(ti):null,[nA,ti]),nz=nA?ti.length>0||tu||!!tf:nM.length>0,nW=(0,i.useMemo)(()=>(function(e,t){let{mode:n,order:r=[],aliases:i,selectedRoot:o=null}=t,l=[...e];if("az"===n||"za"===n)return l.sort((e,t)=>{let r=y.compare(b(e,i),b(t,i));return"az"===n?r:-r}),l;if("fixed"===n){let e=new Map(r.map((e,t)=>[e,t]));return l.sort((t,n)=>{let r=e.has(t.root)?e.get(t.root):Number.MAX_SAFE_INTEGER,i=e.has(n.root)?e.get(n.root):Number.MAX_SAFE_INTEGER;return r!==i?r-i:n.latestActivity.localeCompare(t.latestActivity)}),l}return l.sort((e,t)=>e.latestActivity||t.latestActivity?e.latestActivity?t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):t.root===o?1:-1:e.root===o?-1:1:e.root.localeCompare(t.root)),l})(nR,{mode:tR.projectSort,order:tR.projectOrder,aliases:t3,selectedRoot:G}),[nR,tR.projectSort,tR.projectOrder,t3,G]),n$=(0,i.useMemo)(()=>(function(e,t,n,r){let i=null!=r;if(!i&&!t)return e;let o=[];for(let l of e){if(!i){let e=n?.[l.root];if(l.root.toLowerCase().includes(t)||void 0!==e&&e.toLowerCase().includes(t)){o.push(l);continue}}let e=i?w(l.tree,r):f(l.tree,t);e.length>0&&o.push({...l,tree:e})}return o})(nW,nA?"":nM,t3,nL),[nW,nM,t3,nL,nA]),nD=(0,i.useMemo)(()=>nA?w(nT,nL??new Set):f(nT,nM),[nT,nA,nL,nM]),nN=!nz&&nn.has(v),nB=(0,i.useCallback)((e,n)=>{let r=$.find(t=>t.id===e);r&&t(r,!1,n??null)},[$,t]);(0,i.useEffect)(()=>{let t;if(!e)return;let n=function(e,t){for(let n of e){let e=g(n.tree,t);if(e.length>0)return{projectRoot:n.root,ancestors:e};if(n.tree.some(e=>e.session.id===t))return{projectRoot:n.root,ancestors:[]}}return null}(nR,e),r=n?null:(t=g(nT,e)).length>0?t:nT.some(t=>t.session.id===e)?[]:null;if(!n&&null===r)return;let i=n?n.projectRoot:v,o=n?n.ancestors:r??[];if(t5(e=>e.collapsedProjectRoots.includes(i)?{...e,collapsedProjectRoots:e.collapsedProjectRoots.filter(e=>e!==i)}:e),o.length>0){for(let e of o)tN.current.add(e);tD(e=>{if(!o.some(t=>e.has(t)))return e;let t=new Set(e);return o.forEach(e=>t.delete(e)),t})}},[e,nR,nT,t5]),(0,i.useLayoutEffect)(()=>{if(!e)return;let t=tU.current!==e;tU.current=e;let n=tB.current;if(!n)return;let r=Array.from(n.querySelectorAll("[data-session-id]")).filter(t=>t.dataset.sessionId===e);if(0===r.length)return;let i=!tO.current&&o===e,l=n.getBoundingClientRect(),s=r.find(e=>{let t=e.getBoundingClientRect();return t.bottom>l.top&&t.top<l.bottom});!i&&(s||!t)||((s??r.map(e=>{let t=e.getBoundingClientRect();return{el:e,distance:Math.min(Math.abs(t.top-l.top),Math.abs(t.bottom-l.bottom))}}).sort((e,t)=>e.distance-t.distance)[0].el).scrollIntoView({block:"nearest"}),i&&(tO.current=!0))},[e,o,n$]);let nO=(0,i.useCallback)(e=>{tN.current.add(e),tD(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),nU=(0,i.useCallback)(e=>{t5(t=>({...t,collapsedProjectRoots:t.collapsedProjectRoots.includes(e)?t.collapsedProjectRoots.filter(t=>t!==e):[...t.collapsedProjectRoots,e]}))},[t5]),nq=(0,i.useCallback)(()=>{nU(v)},[nU]),nK=(0,i.useCallback)(e=>{let t;if(ei(null),t=eu instanceof Set?eu:new Set(eu),$.some(n=>n.cwd===e&&t.has(n.id)))return void nu({root:e,message:_("sidebar_closeProjectRunning")});nu(null);let r=$.filter(t=>t.cwd===e).map(e=>e.id);if(t5(t=>{if(!t.projectRoots.includes(e)&&0===r.length)return t;let n=new Set(t.ungroupedSessionIds),i=r.filter(e=>!n.has(e));return{...t,projectRoots:t.projectRoots.filter(t=>t!==e),ungroupedSessionIds:i.length>0?[...t.ungroupedSessionIds,...i]:t.ungroupedSessionIds}}),G===e){let t=function(e,t,n){for(let r of e)if(r.root!==t&&!n.has(r.root))return r.root;return null}(nR,e,new Set);t?nd(t):(nd(null),n?.())}},[G,nR,t5,nd,n,$,eu,_]),nV=(0,i.useCallback)(e=>{ei(null),el(e)},[]),nJ=(0,i.useCallback)(e=>{if(!eo)return;let t=e.trim();if(!t)return;el(null);let n={...t3};t===d(eo)?delete n[eo]:n[eo]=t,t5(e=>({...e,projectAliases:n})),(0,eA.dM)("projectAliases",n)},[eo,t3,t5]),nY=(0,i.useCallback)(e=>{t5(t=>t.displayMode===e?t:{...t,displayMode:e})},[t5]),nX=(0,i.useCallback)(e=>{t5(t=>{if(t.projectSort===e&&"fixed"!==e)return t;let n="fixed"===e?t.projectOrder.length>0?t.projectOrder:n$.map(e=>e.root):t.projectOrder;return{...t,projectSort:e,projectOrder:n}})},[t5,n$]),nG=(0,i.useCallback)((e,t)=>{e&&t&&e!==t&&t5(n=>{let r,i,o,l="fixed"===n.projectSort&&n.projectOrder.length>0?[...n.projectOrder]:n$.map(e=>e.root);for(let e of n$)l.includes(e.root)||l.push(e.root);return l.includes(e)||l.push(e),l.includes(t)||l.push(t),{...n,projectSort:"fixed",projectOrder:(i=(r=[...l]).indexOf(e),o=r.indexOf(t),i<0||o<0||i===o||(r.splice(i,1),r.splice(o,0,e)),r)}})},[t5,n$]),nZ=(0,i.useCallback)(()=>{let e=function(e,t={}){let n=e.map(e=>e.root);return t.includeUngrouped&&n.push(v),{projectRoots:n}}(nR,{includeUngrouped:nD.length>0});t5(t=>({...t,collapsedProjectRoots:e.projectRoots}))},[nR,nD,t5]),nQ=(0,i.useCallback)(()=>{t5(e=>0===e.collapsedProjectRoots.length?e:{...e,collapsedProjectRoots:[]})},[t5]);return(0,r.jsx)(tv.Provider,{value:{startedAt:eD,now:eR},children:(0,r.jsx)(tb.Provider,{value:z.abnormalIds,children:(0,r.jsx)(ty.Provider,{value:e_,children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,r.jsx)(e1,{}),(0,r.jsxs)("div",{className:"sidebar-toolbar",style:{display:"flex",alignItems:"center",gap:6},children:[(0,r.jsx)(e2,{label:_("sidebar_addProject"),onClick:nf,active:et,children:(0,r.jsx)(e6,{size:18})}),(0,r.jsx)(e2,{label:G?_("sidebar_newSessionIn",{project:a(G,Q)}):_("sidebar_selectProject"),disabled:!G,onClick:()=>nC(),children:(0,r.jsx)(e7,{size:18})}),(0,r.jsx)(e2,{label:_("sidebar_searchSessions"),active:eG,expanded:eG,onClick:nI,children:(0,r.jsx)(te,{size:18})}),(0,r.jsx)(e2,{label:_("sidebar_archive"),active:ef,expanded:ef,onClick:nv,children:(0,r.jsx)(e9,{size:18})}),(0,r.jsxs)("div",{ref:tC,style:{position:"relative"},children:[(0,r.jsx)(e2,{label:_("sidebar_displayOptions"),active:tw,expanded:tw,onClick:()=>{let e=!tw;if(tk(e),e){let e=tC.current?.getBoundingClientRect();e&&(tI.current={top:e.top,bottom:e.bottom,right:e.right},tS({top:e.bottom+4,right:Math.max(8,window.innerWidth-e.right)}))}},children:(0,r.jsx)(tt,{size:18})}),tw&&(0,s.createPortal)((0,r.jsx)(eQ,{open:tw,style:{position:"fixed",top:tj?.top??0,right:tj?.right??0,zIndex:600,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 6px 20px rgba(0,0,0,0.10)",overflow:"hidden",minWidth:168},children:(0,r.jsxs)("div",{ref:t_,onKeyDown:e=>{"Escape"===e.key&&tk(!1)},children:[(0,r.jsx)(tc,{label:_("sidebar_standard"),checked:"standard"===t9,onClick:()=>{nY("standard"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_compact"),checked:"compact"===t9,onClick:()=>{nY("compact"),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)("div",{style:{padding:"6px 10px 2px",fontSize:10,fontWeight:600,color:"var(--text-dim)",letterSpacing:"0.04em"},children:_("sidebar_projectSort")}),(0,r.jsx)(tc,{label:_("sidebar_projectSortRecent"),checked:"recent"===tR.projectSort,onClick:()=>{nX("recent"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortAz"),checked:"az"===tR.projectSort,onClick:()=>{nX("az"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortZa"),checked:"za"===tR.projectSort,onClick:()=>{nX("za"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortFixed"),checked:"fixed"===tR.projectSort,onClick:()=>{nX("fixed"),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)(tc,{label:_("sidebar_collapseAll"),onClick:()=>{nZ(),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_expandAll"),onClick:()=>{nQ(),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)(tc,{label:_("sidebar_recentSessions"),checked:t7,onClick:()=>{ny(!t7),tk(!1)}})]})}),document.body)]})]})]}),!ef&&eG&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:4,marginBottom:6},children:[(0,r.jsx)("button",{type:"button",onClick:()=>e4("meta"),"aria-pressed":"meta"===e0,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"meta"===e0?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:_("sidebar_searchModeMeta")}),(0,r.jsx)("button",{type:"button",onClick:()=>e4("fulltext"),"aria-pressed":"fulltext"===e0,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"fulltext"===e0?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:_("sidebar_searchModeFulltext")})]}),(0,r.jsxs)("div",{style:{position:"relative"},children:[(0,r.jsx)("span",{style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",color:"var(--text-dim)",pointerEvents:"none",display:"flex"},children:(0,r.jsx)(te,{size:13})}),(0,r.jsx)("input",{ref:tx,type:"search",value:eV,onChange:e=>eY(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),eV||eZ(!1),n_())},placeholder:"fulltext"===e0?_("sidebar_searchPlaceholderFulltext"):_("sidebar_searchPlaceholder"),"aria-label":_("sidebar_searchSessions"),style:{width:"100%",height:30,boxSizing:"border-box",padding:"0 28px 0 29px",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",color:"var(--text)",fontSize:11.5,outline:"none"}}),eV&&(0,r.jsx)("button",{type:"button",onClick:()=>n_(),"aria-label":_("sidebar_clearSearch"),title:_("sidebar_clearSearch"),style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",padding:0,border:"none",borderRadius:5,background:"none",color:"var(--text-dim)",cursor:"pointer"},children:(0,r.jsx)(tr,{size:13})})]}),"fulltext"===e0&&eV.trim()&&(0,r.jsxs)("div",{style:{marginTop:6,fontSize:10.5,color:"var(--text-dim)",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[tu&&(0,r.jsx)("span",{children:_("sidebar_searchFulltextLoading")}),!tu&&"fts"===ts&&(0,r.jsxs)("span",{children:[_("sidebar_searchFulltextSourceFts")," \xb7 ",_("sidebar_searchFulltextHits",{count:e5.length})]}),!tu&&"jsonl"===ts&&(0,r.jsxs)("span",{children:[_("sidebar_searchFulltextSourceJsonl")," \xb7 ",_("sidebar_searchFulltextHits",{count:e5.length})]}),tf&&(0,r.jsx)("span",{style:{color:"var(--status-danger)"},children:tf})]})]})]}),!ef&&eG&&"fulltext"===e0&&e5.length>0&&(0,r.jsx)("div",{style:{flex:"0 0 auto",maxHeight:160,overflowY:"auto",overflowX:"hidden",borderBottom:"1px solid var(--border)",padding:"4px 0"},children:e5.slice(0,12).map((e,t)=>(0,r.jsxs)("button",{type:"button",onClick:()=>nB(e.sessionId,e.entryId),title:_("sidebar_searchFulltextSnippet"),style:{display:"block",width:"100%",textAlign:"left",padding:"6px 12px",border:"none",background:"transparent",color:"var(--text)",cursor:"pointer",fontSize:11,lineHeight:1.4},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsxs)("div",{style:{color:"var(--text-dim)",fontSize:10,marginBottom:2},children:[e.role??"message"," \xb7 ",e.sessionId.slice(0,8)]}),(0,r.jsx)("div",{style:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",whiteSpace:"normal"},children:e.snippet})]},`${e.sessionId}-${e.timestamp}-${t}`))}),ef?(0,r.jsx)(tZ,{sessions:V,count:V.length,homeDir:Q,loading:D,onRefresh:nr,onBack:()=>eg(!1)}):(0,r.jsxs)(r.Fragment,{children:[ey&&(0,r.jsx)("div",{role:"alert",style:{padding:"6px 12px",borderBottom:"1px solid var(--border)",background:"var(--status-danger-bg)",color:"var(--status-danger)",fontSize:11,lineHeight:1.4,overflowWrap:"anywhere",flexShrink:0},children:ey}),(0,r.jsxs)("div",{ref:tB,style:{flex:"1 1 auto",overflowY:"auto",overflowX:"hidden",padding:"2px 0",minHeight:80},children:[D&&(0,r.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:_("sidebar_loading")}),N&&(0,r.jsxs)("div",{style:{padding:"12px 14px",color:"var(--status-danger)",fontSize:12,display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("div",{children:_("sidebar_loadFailed")}),(0,r.jsx)("div",{title:N,style:{color:"var(--text-muted)",fontSize:11,overflowWrap:"anywhere"},children:N.length>90?`${N.slice(0,90)}…`:N}),(0,r.jsx)("button",{type:"button",disabled:B,onClick:()=>{tE.current=0,O(!0),ni.current(!0).finally(()=>O(!1))},style:{alignSelf:"flex-start"},children:B?_("common_loading"):_("sidebar_loadFailedRetry")})]}),!D&&!N&&0===n$.length&&0===nD.length&&(("meta"===e0?nM.length>0:nA&&!tu)?(0,r.jsx)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.55},children:_("sidebar_searchEmpty",{query:eV.trim()})}):(0,r.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[_("sidebar_noProjects"),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:_("sidebar_addProject")})]})),!nz&&nk.length>0&&(0,r.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,r.jsxs)("div",{"data-sidebar-depth":0,className:"sidebar-row",style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",borderRadius:6},children:[(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e3,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_pinnedSessions")})]}),nk.map(t=>{let n=nE.get(t.id);return n?(0,r.jsx)(tF,{node:n,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.id):(0,r.jsx)(tH,{session:t,isSelected:t.id===e,isRunning:eu.has(t.id)||eC.has(t.id),isUnread:eK.has(t.id),onClick:()=>ng(t),onRenamed:nr,onDeleted:nm,onArchive:nx,isPinned:nb.has(t.id),onTogglePin:()=>nj(t.id),depth:0,displayMode:t9},t.id)})]}),!nz&&nS.length>0&&(0,r.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,r.jsxs)("div",{"data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":t7,"aria-label":t7?_("sidebar_collapseRecentSessions"):_("sidebar_expandRecentSessions"),onClick:()=>ny(!t7),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),ny(!t7))},className:"sidebar-row",style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",cursor:"pointer",borderRadius:6},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsx)(ta,{collapsed:!t7,label:t7?_("sidebar_collapseRecentSessions"):_("sidebar_expandRecentSessions"),left:6,onClick:e=>{e.stopPropagation(),ny(!t7)}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e8,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_recentSessions")})]}),t7&&(0,r.jsxs)("div",{children:[nS.slice(0,ne).map(t=>{let n=nE.get(t.id);return n?(0,r.jsx)(tF,{node:n,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.id):(0,r.jsx)(tH,{session:t,isSelected:t.id===e,isRunning:eu.has(t.id)||eC.has(t.id),isUnread:eK.has(t.id),onClick:()=>ng(t),onRenamed:nr,onDeleted:nm,onArchive:nx,isPinned:nb.has(t.id),onTogglePin:()=>nj(t.id),depth:0,displayMode:t9},t.id)}),(0,r.jsx)(tp,{groupKey:"recent",total:nS.length,visibleCount:ne,searchActive:!1,onShowMore:()=>nt(e=>eH(e,nS.length,"more")),onShowFewer:()=>nt(e=>eH(e,nS.length,"fewer"))})]})]}),n$.map(t=>(0,r.jsx)(tP,{project:t,displayMode:t9,projectAliases:t3,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,collapsedProjectRoots:nn,collapsedSessionIds:t$,searchActive:nz,onToggleProject:nU,onNewSession:nC,onSelectSession:ng,menuOpen:er===t.root,onMenuOpenChange:e=>ei(e?t.root:null),onEditProject:()=>nV(t.root),onCloseProject:()=>nK(t.root),onRenamed:nr,onSessionDeleted:nm,onToggleCollapse:nO,groupVisibleCounts:tz,onShowMore:e=>tW(t=>ez(t,e)),onShowFewer:e=>tW(t=>eW(t,e)),actionError:nc?.root===t.root?nc.message:null,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,onProjectDrop:nz?void 0:nG},t.root)),nD.length>0&&(0,r.jsxs)("div",{style:{borderTop:"1px solid var(--border)",marginTop:5,paddingTop:5},children:[(0,r.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!nN,"aria-label":nN?_("sidebar_expandUngroupedSessions"):_("sidebar_collapseUngroupedSessions"),onClick:nq,onKeyDown:e=>{e.target===e.currentTarget&&("Enter"===e.key||" "===e.key)&&(e.preventDefault(),nq())},style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",cursor:"pointer",borderRadius:6},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsx)(ta,{collapsed:nN,label:nN?_("sidebar_expandUngroupedSessions"):_("sidebar_collapseUngroupedSessions"),left:6,onClick:e=>{e.stopPropagation(),nq()}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(tl,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_ungroupedSessions")})]}),!nN&&(0,r.jsxs)("div",{children:[e$(nD,eL(tz,v),nz).map(t=>(0,r.jsx)(tF,{node:t,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.session.id)),(0,r.jsx)(tp,{groupKey:v,total:nD.length,visibleCount:eL(tz,v),searchActive:nz,onShowMore:e=>tW(t=>ez(t,e)),onShowFewer:e=>tW(t=>eW(t,e))})]})]})]})]}),(0,r.jsx)(tq,{open:et,onClose:np,onAdded:nh}),(0,r.jsx)(tV,{projectRoot:eo,initialName:eo?t3[eo]??d(eo):"",onClose:()=>el(null),onSaveName:nJ})]})})})})}var nD=n(32383);function nN(e,t){let n=new Set,r=(e,t)=>{if("number"!=typeof e||!Number.isInteger(e)||e<0)return;n.add(e);let r="number"==typeof t&&Number.isInteger(t)&&t>1?t:1;for(let t=1;t<r;t+=1)n.add(e+t)};for(let t of e??[])r(t?.lineIndex,t?.rows);for(let e of t??[])r(e?.lineIndex,1);return n}function nB(e,t){let n=new Map;t.forEach((e,t)=>{n.has(e)||n.set(e,t)});let r=[],i=0;for(let t of e??[]){let e="number"==typeof t?.lineIndex?n.get(t.lineIndex):void 0;if(void 0===e){i+=1;continue}r.push({...t,lineIndex:e})}return{items:r,dropped:i}}function nO(e){switch(e){case"too-large":return"message_imageReason_tooLarge";case"unsupported-format":return"message_imageReason_unsupportedFormat";case"incomplete":return"message_imageReason_incomplete";case"empty":return"message_imageReason_empty";default:return null}}let nU=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,nq=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,nK=/\x1B\[([0-9;]*)m/g,nV=/\x1B_pi:c\x07/g,nJ=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],nY=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function nX(e){return e.replace(nV,"").replace(nU,"")}function nG(e){let t=[],n=0;for(;n<e.length;){if(27===e.charCodeAt(n)){let t=e.slice(n).match(nq);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(void 0===r)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function nZ(e,t){let n=nG(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function nQ(e){return nG(e)[0]?.char}function n0(e,t){if(!Array.isArray(e))return{lines:[],sourceIndex:[]};let n=e.filter(e=>"string"==typeof e),r=t?.keep,i=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,o=[],l=[];n.forEach((e,t)=>{let n=e.replace(nV,""),s=nX(n).trimEnd();if(i.test(s)&&!r?.has(t))return;let a=n,d=nQ(a);("│"===d||"┃"===d)&&" "===nQ(a=nZ(a,0))&&(a=nZ(a,0));let c=function(e){let t=nG(e);for(let e=t.length-1;e>=0;e--)if(""!==t[e].char.trim())return e;return -1}(a),u=c>=0?nG(a)[c]?.char:void 0;("│"===u||"┃"===u)&&(a=nZ(a,c)),o.push(function(e){let t=e;for(;;){let e=nG(t),n=e[e.length-1];if(!n||""!==n.char.trim())return t;t=t.slice(0,n.start)+t.slice(n.end)}}(a)),l.push(t)});let s=e=>""===nX(o[e]).trim(),a=e=>r?.has(l[e])===!0;for(;o.length>0&&s(0)&&!a(0);)o.shift(),l.shift();for(;o.length>0&&s(o.length-1)&&!a(o.length-1);)o.pop(),l.pop();return 0===o.length?{lines:n,sourceIndex:n.map((e,t)=>t)}:{lines:o,sourceIndex:l}}function n1(e){let t,n=[],r={},i=0;for(nK.lastIndex=0;null!==(t=nK.exec(e));)t.index>i&&n.push({text:e.slice(i,t.index),style:r}),r=function(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e];if(0===r)for(let e of Object.keys(n))delete n[e];else if(1===r)n.fontWeight=700;else if(2===r)n.opacity=.65;else if(3===r)n.fontStyle="italic";else if(4===r)n.textDecoration="underline";else if(22===r)delete n.fontWeight,delete n.opacity;else if(23===r)delete n.fontStyle;else if(24===r)delete n.textDecoration;else if(39===r)delete n.color;else if(49===r)delete n.backgroundColor;else if(r>=30&&r<=37)n.color=nJ[r-30];else if(r>=90&&r<=97)n.color=nY[r-90];else if(r>=40&&r<=47)n.backgroundColor=nJ[r-40];else if(r>=100&&r<=107)n.backgroundColor=nY[r-100];else if((38===r||48===r)&&2===t[e+1]){let[i,o,l]=[t[e+2],t[e+3],t[e+4]];[i,o,l].every(e=>"number"==typeof e&&Number.isFinite(e))&&(38===r?n.color=`rgb(${i}, ${o}, ${l})`:n.backgroundColor=`rgb(${i}, ${o}, ${l})`),e+=4}else if((38===r||48===r)&&5===t[e+1]){let i=function(e){if(e>=0&&e<8)return nJ[e];if(e>=8&&e<16)return nY[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=e=>0===e?0:55+40*e;return`rgb(${i(n)}, ${i(r)}, ${i(t%6)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}(t[e+2]);i&&(38===r?n.color=i:n.backgroundColor=i),e+=2}}return n}(r,t[1]?t[1].split(";").map(e=>Number(e||"0")):[0]),i=t.index+t[0].length;return i<e.length&&n.push({text:e.slice(i),style:r}),n}let n2=new Map;function n4(e){return[e.fontFamily??"",e.fontSize??"",e.lineHeight??""].join("|")}function n6(e,t,n){let r=e.get(t);if(void 0!==r)return r;let i=n();return!Number.isFinite(i)||i<=0?null:(e.set(t,i),i)}function n5(e,t,n){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;visibility:hidden;white-space:pre",e.appendChild(r);let i=r.getBoundingClientRect(),o="width"===n?i.width/100:i.height;return r.remove(),o}function n8(e){let t=window.getComputedStyle(e);return n6(n2,`ch|${n4(t)}`,()=>n5(e,"0".repeat(100),"width"))}function n3(e){let t=window.getComputedStyle(e);return n6(n2,`lh|${n4(t)}`,()=>n5(e,"0","height"))}function n9({image:e,alt:t}){let n=(0,i.useRef)(null),[o,l]=(0,i.useState)(null);return(0,i.useEffect)(()=>{let t=n.current;if(!t)return;let r=t?t.parentElement??t:null;if(!r)return;let i=n3(r);if(!i)return;let o=n8(r);l({height:i*Math.max(1,e.rows),width:o?o*Math.max(1,e.cols):0})},[e.cols,e.id,e.rows]),(0,r.jsx)("span",{ref:n,style:{display:"inline-block",lineHeight:0},children:(0,r.jsx)("img",{src:`data:${e.mime};base64,${e.base64}`,alt:t,"data-pidance-terminal-image":e.id,style:{display:"block",height:o?`${o.height}px`:`${Math.max(1,e.rows)}em`,width:o&&o.width>0?`${o.width}px`:"auto",maxWidth:"100%",objectFit:"contain"}})})}function n7({label:e,reason:t}){return(0,r.jsx)("span",{role:"note",title:t,style:{color:"var(--text-muted)"},children:e})}function re({lines:e,images:t,imageFallbacks:n,keyPrefix:o,renderLine:l,imageAlt:s,fallbackLabel:a}){let d=Array.isArray(e)?e:[],c=new Map,u=new Set;for(let e of Array.isArray(t)?t:[])if("number"==typeof e?.lineIndex){c.set(e.lineIndex,e);for(let t=1;t<Math.max(1,e.rows);t+=1)u.add(e.lineIndex+t)}let p=new Map;for(let e of Array.isArray(n)?n:[])"number"==typeof e?.lineIndex&&p.set(e.lineIndex,e);return d.map((e,t)=>{if(u.has(t))return null;let n=c.get(t),h=p.get(t);return n||h?(0,r.jsxs)(i.Fragment,{children:[n?(0,r.jsx)(n9,{image:n,alt:s}):null,h?(0,r.jsx)(n7,{label:a(h.reason),reason:h.reason}):null,""!==e?l(e,`${o}-${t}`):null,t<d.length-1?"\n":null]},`${o}-${t}`):(0,r.jsxs)(i.Fragment,{children:[l(e,`${o}-${t}`),t<d.length-1?"\n":null]},`${o}-${t}`)})}let rt=/^[\s─│┌┐└┘├┤┬┴┼┏┓┗┛┣┫┳┻╋━┃]+$/,rn=["❯","▶","→",">"],rr=/^\s*(?:[❯▶>]\s*)?(?:\(?\d+[).、]|[-*•])\s+\S/;function ri(e){let t=nX(e);return""!==t.trim()&&rt.test(t)&&/[─│┌┐└┘├┤┬┴┼┏┓┗┛┣┫┳┻╋━┃]/.test(t)}function ro(e,t={}){let n=[];for(let t of e){let e=nX(t);if(ri(t))return null;if(!rr.test(e))continue;let r=e.replace(/^(\s*)[❯▶>]/,"$1 ").match(/^\s*/)?.[0].length??0,i=function(e){let t=nX(e);for(let e of rn){let n=t.indexOf(e);if(n>=0)return n}return -1}(t)>=0||/\x1b\[(?:4[0-7]|48;[0-9;]+|10[0-7])m/.test(t),o=e.replace(/^\s*(?:[❯▶>]\s*)?/,"").trim();n.push({index:n.length,line:t,label:o,cursor:i,indent:r})}if(n.length<2)return t.allowCursorList?function(e){let t=e.map(e=>({line:e,plain:nX(e)}));if(e.some(e=>ri(e)))return null;let n=-1,r=-1;for(let e=0;e<t.length;e+=1){let i=t[e].plain.match(/^(\s*)([❯▶→>])(\s+)/);if(i){if(n>=0)return null;n=e,r=i[1].length+i[2].length+i[3].length}}if(n<0||r<=0)return null;let i=(e,n)=>!ri(t[n].line)&&""!==e.trim()&&(/^\s*[❯▶→>](\s+)/.test(e)?e.length>r:e.length>r&&""===e.slice(0,r).trim()),o=n;for(;o-1>=0&&i(t[o-1].plain,o-1);)o-=1;let l=n;for(;l+1<t.length&&i(t[l+1].plain,l+1);)l+=1;let s=t.slice(o,l+1);if(s.length<2)return null;let a=s.map((e,t)=>({index:t,label:e.plain.slice(r).trim(),line:e.line,cursor:t===n-o}));return a.some(e=>0===e.label.length||e.label.length>60)?null:{items:a,cursorIndex:n-o}}(e):null;let r=n[0].indent;if(n.some(e=>Math.abs(e.indent-r)>1))return null;let i=n.filter(e=>e.cursor);return 1!==i.length||n.some(e=>0===e.label.length)?null:{items:n.map(e=>({index:e.index,label:e.label,line:e.line,cursor:e.cursor})),cursorIndex:i[0].index}}let rl={ArrowUp:"\x1b[A",ArrowDown:"\x1b[B",ArrowRight:"\x1b[C",ArrowLeft:"\x1b[D",Home:"\x1b[H",End:"\x1b[F",Insert:"\x1b[2~",Delete:"\x1b[3~",PageUp:"\x1b[5~",PageDown:"\x1b[6~",Escape:"\x1b",Backspace:""},rs={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function ra(e){if(e.metaKey||e.ctrlKey&&!e.altKey&&"v"===e.key.toLowerCase())return null;if(e.ctrlKey&&!e.altKey){let t=function(e){if(1!==e.length)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(31&t):"?"===e?"":null}(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if("Backspace"===e.key)return"\x1b\x7f";let t=rs[e.key];if(t)return t;if(1===e.key.length)return`\x1b${e.key}`}return"Enter"===e.key?e.shiftKey?"\n":"\r":"Tab"===e.key?e.shiftKey?"\x1b[Z":" ":rl[e.key]??null}function rd(e){return`\x1b[200~${e}\x1b[201~`}let rc=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","Escape"],ru={ArrowUp:"keyBar_up",ArrowDown:"keyBar_down",ArrowLeft:"keyBar_left",ArrowRight:"keyBar_right",Enter:"keyBar_enter",Escape:"keyBar_escape"},rp={ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Enter:"⏎",Escape:"Esc"};function rh({onKey:e,inline:t=!1}){return t?(0,r.jsx)(rf,{onKey:e,inline:!0}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{"aria-hidden":"true",style:{flexShrink:0,height:"calc(60px + env(safe-area-inset-bottom))"}}),(0,r.jsx)(rf,{onKey:e})]})}function rf({onKey:e,inline:t=!1}){let{t:n}=(0,eU.s9)();return(0,r.jsx)("div",{"data-extension-key-bar":"true",role:"toolbar","aria-label":n("keyBar_title"),style:{display:"flex",alignItems:"center",gap:t?6:8,...t?{flexShrink:0}:{position:"fixed",left:0,right:0,bottom:0,zIndex:40,flexShrink:0,justifyContent:"center",padding:"8px 12px calc(8px + env(safe-area-inset-bottom))",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"}},children:rc.map(i=>{let o=ra({key:i,shiftKey:!1,ctrlKey:!1,altKey:!1,metaKey:!1}),l=n(ru[i]);return(0,r.jsx)("button",{type:"button",disabled:null===o,"aria-label":l,title:l,onClick:()=>{null!==o&&e(i,o)},style:{minWidth:t?38:44,height:t?32:44,padding:t?"0 8px":"0 10px",borderRadius:8,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,cursor:"pointer"},children:rp[i]},i)})})}let rg={pressing:!1,longPressFired:!1,scrolled:!1};function rm(e){return e.pressing?{pressing:!1,longPressFired:e.longPressFired,scrolled:e.scrolled}:e}function rx(e,t){return Math.abs(e)>10||Math.abs(t)>10}function rv(e){let t=e.split(/[-_./]+/).filter(Boolean);return 0===t.length?e:t.map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function ry(e,t,n,r={}){return{kind:"message",source:"disk",messageIndex:t,keyPrefix:r.keyPrefix??"message",attachRef:r.attachRef??!0,showTimestamp:r.showTimestamp??function(e,t,n){if(e[t]?.role!=="assistant")return;let r=!0;for(let n=t+1;n<e.length;n++){let t=e[n].role;if("user"===t)break;if("assistant"===t){r=!1;break}}return r&&n&&t===e.length-1&&(r=!1),r}(e,t,n),...r.messageOverride?{messageOverride:r.messageOverride}:{}}}function rb(e,t){if(!t)return e.length;let n=e.length;for(;n>0;){let t=e[n-1];if(t?.role!=="user")break;let r=!0===t._duringStreamingStep,i=n-2>=0&&e[n-2]?.role==="user";if(!r&&!i)break;n--}return n}function rw(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.kind==="message"&&"live"===n.source)return n.messageOverride??null}return null}let rk="(max-width: 640px)";function rj(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(rk);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function rS(){return!!window.matchMedia&&window.matchMedia(rk).matches}function rC(){return!1}function r_(){return(0,i.useSyncExternalStore)(rj,rS,rC)}var rI=n(94514),rR=n(67635),rT=n(31025),rE=n(93631),rM=n(66088),rA=n(99815),rL=n(12651),rz=n(41585),rW=n(62791),r$=n(10762),rP=n(9921),rF=n(32316),rH=n(65063),rD=n(7644);let rN="pi-theme",rB="pi-theme-style",rO=new Set,rU=null;function rq(e){return"light"===e||"dark"===e||"system"===e}function rK(e){return"chamber"===e||"fusion"===e}function rV(e){return"system"!==e?e:window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function rJ(){if("u"<typeof document)return"light";let e=document.documentElement.dataset.themeMode??null;if(rq(e))return e;try{let e=localStorage.getItem(rN);if(rq(e))return e}catch{}return document.documentElement.classList.contains("dark")?"dark":"light"}function rY(){if("u"<typeof document)return"chamber";let e=document.documentElement.dataset.themeStyle??null;if(rK(e))return e;try{let e=localStorage.getItem(rB);if(rK(e))return e}catch{}return"chamber"}function rX(){if("u"<typeof document)return"light|chamber|light";let e=rJ();return`${e}|${rY()}|${document.documentElement.classList.contains("dark")?"dark":"light"}`}function rG(){rO.forEach(e=>e())}function rZ(){if("system"!==rJ())return;let e=rV("system");document.documentElement.classList.toggle("dark","dark"===e),rG()}function rQ(e){return rO.add(e),rU||(rU=window.matchMedia("(prefers-color-scheme: dark)")).addEventListener("change",rZ),()=>{rO.delete(e),0===rO.size&&rU&&(rU.removeEventListener("change",rZ),rU=null)}}function r0(e,t){let n=rV(e),r=document.documentElement;r.classList.toggle("dark","dark"===n),r.dataset.themeMode=e,r.dataset.themeStyle=t;try{localStorage.setItem(rN,e),localStorage.setItem(rB,t)}catch{}(0,eA.dM)("theme",{mode:e,style:t}),rG()}function r1(){let e=(0,eA.b3)("theme"),t="string"==typeof e?.mode?e.mode:null;if(!rq(t))return;let n="string"==typeof e?.style?e.style:null,r=rK(n)?n:rY();(t!==rJ()||r!==rY())&&r0(t,r)}function r2(){let[e,t,n]=(0,i.useSyncExternalStore)(rQ,rX,()=>"light|chamber|light").split("|"),r=(0,i.useCallback)((n,r,i)=>{if(e===n&&t===r)return;let o=()=>r0(n,r),l=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if("function"!=typeof document.startViewTransition||l)return void o();let s=i?.x??window.innerWidth/2,a=i?.y??window.innerHeight/2,d=Math.hypot(Math.max(s,window.innerWidth-s),Math.max(a,window.innerHeight-a));document.startViewTransition(o).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${s}px ${a}px)`,`circle(${d}px at ${s}px ${a}px)`]},{duration:450,easing:"cubic-bezier(0.22, 0.61, 0.36, 1)",pseudoElement:"::view-transition-new(root)"})}).catch(()=>{})},[e,t]),o=(0,i.useCallback)((e,n)=>{r(e,t,n)},[r,t]),l=(0,i.useCallback)((t,n)=>{r(e,t,n)},[e,r]),s=(0,i.useCallback)(e=>{o("dark"===n?"light":"dark",e)},[o,n]);return{theme:n,mode:e,themeStyle:t,toggleTheme:s,setTheme:o,setThemeStyle:l,isDark:"dark"===n}}(0,eA.zo)().then(r1),(0,eA.iX)(r1);var r4=n(28999);function r6(e){let t=(0,r4.A0)(e),n=/^[a-zA-Z]:\//.test(t),r=t.startsWith("//"),i=t.startsWith("/")&&!n&&!r,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():i||n||r||o.push(e);continue}o.push(e)}let l=o.join("/");return n?l:r?`//${l}`:i?`/${l}`:l}function r5(e,t,n=t){let r,i,o,l,s;if(!e)return null;let a=e.split("#",1)[0].split("?",1)[0].trim();if(!a)return null;let d=null,c=null,u=(0,r4.ex)(a),p=u.startsWith("\\\\"),h=(0,r4.A0)(u),f=h.toLowerCase();if(f.startsWith("/api/")||f.startsWith("/_next/")||!p&&h.startsWith("//")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(h)&&!f.startsWith("file:")&&!/^[a-zA-Z]:\//.test(h))return null;if(f.startsWith("file:")?c=(d=function(e){try{let t=new URL(e);if("file:"!==t.protocol)return null;let n=(0,r4.ex)(t.pathname);if(t.hostname)return`//${t.hostname}${n.startsWith("/")?n:`/${n}`}`;if(/^\/[a-zA-Z]:\//.test(n))return n.slice(1);return n}catch{return null}}(h))?"absolute":null:/^[a-zA-Z]:\//.test(h)||h.startsWith("/")?(d=h,c="absolute"):t&&!(h.startsWith("#")||h.startsWith("?"))&&(h.startsWith("./")||h.startsWith("../")||h.includes("/")||/(^|\/)\.?[^/]+\.[^/.]+$/.test(h))&&(d=`${(0,r4.A0)(t).replace(/\/+$/,"")}/${h}`,c="relative"),!d)return null;let g=r6(d).replace(/:\d+(?::\d+)?$/,"");return"relative"===c&&n&&(r=r6(g).replace(/\/+$/,""),i=r6(n).replace(/\/+$/,""),l=(o=/^[a-zA-Z]:\//.test(r)||/^[a-zA-Z]:\//.test(i))?r.toLowerCase():r,!(l===(s=o?i.toLowerCase():i)||l.startsWith(`${s}/`)))?null:g}var r8=n(88374),r3=n(5924),r9=n(94764),r7=n(63835),ie=n(84678),it=n(98164);let ir={...r9.j,attributes:{...r9.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...r9.j.strip||[],"iframe","object","style","form"]},ii=[ie.A,it.A],io=[ie.A],il=[r3.A,[r7.A,ir],[r8.A,{throwOnError:!1,strict:!1}]],is=[r3.A,[r7.A,ir]];var ia=n(82482),id=n(51914),ic=n(9199),iu=n(6962);let ip=null,ih=new Set,ig=new Set;function im(){for(let e of ih)e()}function ix(){null!==ip&&(ip=null,im())}async function iv(e){let t=e.fetchImpl??fetch;try{let r=await t("/api/files/save-as",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path,targetDirectory:e.targetDirectory})}),i=await r.json().catch(()=>null);if(!r.ok){var n;let e;return{ok:!1,message:(n=r.status,e=i?.error,"string"==typeof e&&e.trim()?e:403===n?"Access denied":404===n?"Not found":409===n?"Already exists":`HTTP ${n}`)}}let o="string"==typeof i?.path?i.path:"";if(!o)return{ok:!1,message:"Save failed"};return{ok:!0,path:o,name:"string"==typeof i?.name?i.name:o.split("/").pop()??o}}catch{return{ok:!1,message:"Save failed"}}}function iy({open:e,sourcePath:t,onClose:n}){let{t:o}=(0,eU.s9)(),l=(0,i.useRef)(null),[s,a]=(0,i.useState)(""),[d,c]=(0,i.useState)([]),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),[g,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(null),w=(0,i.useRef)(!1),k=(0,i.useCallback)(async e=>{let t=await tB(e);if(!t.ok){f(!0),c([]),p(null);return}f(!1),t.path&&(a(t.path),w.current||(w.current=!1)),c(t.entries),p(t.parentPath)},[]);(0,i.useEffect)(()=>{e&&(v(null),b(null),w.current=!1,k("~"))},[e,k]),(0,i.useEffect)(()=>{if(!e||w.current)return;let t=s.trim();if(!t)return;let n=setTimeout(()=>void k(t),250);return()=>clearTimeout(n)},[e,s,k]);let j=(0,i.useCallback)(e=>{w.current=!0,a(e),v(null),b(null),k(e)},[k]),S=(0,i.useCallback)(async()=>{let e=s.trim();if(!e||g)return;m(!0),b(null);let n=await iv({path:t,targetDirectory:e});if(m(!1),!n.ok){v(null),b(n.message);return}v(n.path),k(e)},[s,g,t,k]);return(0,r.jsx)(tR,{open:e,onClose:n,title:o("saveAs_title"),width:480,closeLabel:o("dialog_close"),initialFocusRef:l,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:n,children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:g||!s.trim(),onClick:()=>void S(),children:o(g?"saveAs_saving":"saveAs_save")})]}),children:(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"save-as-directory",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:o("saveAs_directory")}),(0,r.jsx)("input",{id:"save-as-directory",ref:l,value:s,onChange:e=>{a(e.target.value),b(null),v(null)},onKeyDown:e=>{"Enter"!==e.key||g||(e.preventDefault(),S())},placeholder:"~",spellCheck:!1,style:{width:"100%",boxSizing:"border-box",height:32,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:12}}),(0,r.jsx)("div",{style:{marginTop:6,fontSize:11,color:"var(--text-dim)"},children:o("saveAs_hint")}),(0,r.jsxs)("div",{className:"save-as-browse",style:{marginTop:10,maxHeight:220,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6},children:[u?(0,r.jsx)("button",{type:"button",onClick:()=>j(u),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text-muted)",fontSize:12,cursor:"pointer",borderRadius:5,fontFamily:"var(--font-mono)"},children:".."}):null,h?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseMissing")}):0===d.length?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseEmpty")}):d.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>j(e.path),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text)",fontSize:12,cursor:"pointer",borderRadius:5,textAlign:"left"},children:[(0,r.jsx)("span",{"aria-hidden":"true",style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"›"}),(0,r.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]}),x?(0,r.jsx)("div",{role:"status",style:{marginTop:10,fontSize:12,color:"var(--status-running)",overflowWrap:"anywhere"},children:o("saveAs_savedTo",{path:x})}):null,y?(0,r.jsx)("div",{role:"alert",style:{marginTop:10,fontSize:12,color:"var(--status-danger)",overflowWrap:"anywhere"},children:y}):null]})})}let ib={"image/avif":"avif","image/bmp":"bmp","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/svg+xml":"svg","image/webp":"webp","image/x-icon":"ico"};function iw(e){let t=e.source;if(t&&"object"==typeof t){if("base64"===t.type&&"string"==typeof t.data&&t.data.length>0){let e=ij(t.media_type);return{src:`data:${e};base64,${t.data}`,mimeType:e}}if("url"===t.type&&"string"==typeof t.url&&t.url.trim()){let e=t.url.trim();return iS(e)?{src:e,mimeType:ik(t.media_type)}:null}}if("string"==typeof e.data&&e.data.length>0){let t=ij(e.mimeType);return{src:`data:${t};base64,${e.data}`,mimeType:t}}return null}function ik(e){if("string"!=typeof e)return;let t=e.trim().toLowerCase();return/^image\/[a-z0-9.+-]+$/.test(t)?t:void 0}function ij(e){return ik(e)??"image/png"}function iS(e){let t=e.trim();if(!t)return!1;if(t.startsWith("data:"))return/^data:image\/[a-z0-9.+-]+;base64,/i.test(t);try{let e=new URL(t,"http://pidance.invalid").protocol;return"http:"===e||"https:"===e||"blob:"===e}catch{return!1}}let iC={display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:30,minHeight:30,padding:4,border:"1px solid rgba(255,255,255,0.22)",borderRadius:6,background:"rgba(255,255,255,0.10)",color:"#fff",cursor:"pointer",flexShrink:0};function i_({src:e,fullSrc:t,downloadHref:n,downloadName:i,mimeType:o,alt:l,title:s,maxWidth:a=360,maxHeight:d=280}){let{t:c}=(0,eU.s9)(),u=t&&iS(t)?t:e,p=n||u,h=i?.trim()||function(e,t){if(!e.startsWith("data:"))try{let t=new URL(e,"http://pidance.invalid"),n=decodeURIComponent(t.pathname.split("/").pop()??"");if(/^[^\\/:*?\"<>|]+\.[a-z0-9]{1,8}$/i.test(n))return n}catch{}return`image.${t?ib[t.toLowerCase()]??"png":"png"}`}(p,o),f=l||c("message_imageAlt");return e&&iS(e)?(0,r.jsx)("button",{type:"button",onClick:()=>{ip={...{src:u,downloadHref:p,downloadName:h,mimeType:o,alt:f,title:s},id:`${Date.now()}-${Math.random().toString(36).slice(2)}`},im()},"aria-label":c("message_openImage"),title:s||c("message_openImage"),style:{display:"block",maxWidth:a,maxHeight:d,margin:0,padding:0,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-subtle)",cursor:"zoom-in",overflow:"hidden",lineHeight:0},children:(0,r.jsx)("img",{src:e,alt:f,title:s,draggable:!1,decoding:"async",style:{display:"block",maxWidth:a,maxHeight:d,objectFit:"contain"}})}):null}function iI(){let{t:e}=(0,eU.s9)(),t=(0,i.useSyncExternalStore)(e=>(ih.add(e),()=>ih.delete(e)),()=>ip,()=>null),[n,o]=(0,i.useState)(1),[l,a]=(0,i.useState)(!1),[d,c]=(0,i.useState)(!1),u=t?(0,r4.n$)(t.downloadHref):null,[p,h]=(0,i.useState)({x:0,y:0}),[f,g]=(0,i.useState)(()=>t_()),m=(0,i.useRef)(!1),x=(0,i.useRef)(null),v=(0,i.useRef)(new Map),y=(0,i.useRef)(null),b=(0,i.useRef)(null),w=(0,i.useRef)(null),k=(0,i.useCallback)((e,t)=>{let n=b.current,r=w.current;if(!n||!r||t<=1)return{x:0,y:0};let i=window.getComputedStyle(r),o=r.clientWidth-Number.parseFloat(i.paddingLeft)-Number.parseFloat(i.paddingRight),l=r.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom),s=Math.max(0,(n.offsetWidth*t-o)/2),a=Math.max(0,(n.offsetHeight*t-l)/2);return{x:Math.min(s,Math.max(-s,e.x)),y:Math.min(a,Math.max(-a,e.y))}},[]),j=(0,i.useCallback)(()=>{o(1),h({x:0,y:0})},[]),S=(0,i.useCallback)(e=>{o(t=>{let n=Math.min(4,Math.max(1,Number((t+e).toFixed(2))));return h(e=>k(e,n)),n})},[k]);(0,i.useEffect)(()=>{var e;j(),x.current=null,a(!!t&&!!(e=t.downloadHref)&&ig.has(e)),c(!1)},[t?.id,t,j]),(0,i.useEffect)(()=>()=>ix(),[]),(0,i.useEffect)(()=>{if(!t)return;let e=()=>{g(t_()),h(e=>k(e,n))};e();let r=window.visualViewport;return r?.addEventListener("resize",e),r?.addEventListener("scroll",e),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{r?.removeEventListener("resize",e),r?.removeEventListener("scroll",e),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[t,k,n]),(0,i.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key?(e.preventDefault(),ix()):"+"===e.key||"="===e.key?(e.preventDefault(),S(.25)):"-"===e.key?(e.preventDefault(),S(-.25)):"0"===e.key&&(e.preventDefault(),j())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t,S,j]);let C=(0,i.useCallback)(e=>{e.preventDefault(),S(e.deltaY<0?.25:-.25)},[S]),_=(0,i.useCallback)(e=>{if(m.current=!1,v.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),v.current.size>=2){x.current=null;let[t,r]=[...v.current.values()];y.current={distance:Math.hypot(t.x-r.x,t.y-r.y)||1,zoom:n},e.preventDefault();return}n<=1||(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),x.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,offsetX:p.x,offsetY:p.y})},[p.x,p.y,n]),I=(0,i.useCallback)(e=>{let t=v.current;t.has(e.pointerId)&&t.set(e.pointerId,{x:e.clientX,y:e.clientY});let r=y.current;if(r&&t.size>=2){let[n,i]=[...t.values()],l=function(e,t){if(!Number.isFinite(e.distance)||e.distance<=0||!Number.isFinite(t)||t<0)return e.zoom;let n=e.zoom*(t/e.distance);return Number.isFinite(n)?Math.min(4,Math.max(1,Number(n.toFixed(2)))):e.zoom}(r,Math.hypot(n.x-i.x,n.y-i.y));m.current=!0,o(l),h(e=>k(e,l)),e.preventDefault();return}let i=x.current;if(!i||i.pointerId!==e.pointerId)return;let l=e.clientX-i.x,s=e.clientY-i.y;(Math.abs(l)>3||Math.abs(s)>3)&&(m.current=!0),h(k({x:i.offsetX+l,y:i.offsetY+s},n))},[k,n]),R=(0,i.useCallback)(e=>{v.current.delete(e.pointerId),v.current.size<2&&(y.current=null),x.current?.pointerId===e.pointerId&&(x.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),T=(0,i.useCallback)(e=>{if(m.current){m.current=!1;return}e.target===e.currentTarget&&ix()},[]);return t?(0,s.createPortal)((0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":e("message_imageViewer"),style:{position:"fixed",top:f.top,left:f.left,width:f.width,height:f.height,zIndex:1100,background:"color-mix(in srgb, #000 82%, transparent)",display:"flex",flexDirection:"column",overscrollBehavior:"contain"},children:[(0,r.jsxs)("div",{style:{position:"absolute",top:8,left:8,right:8,display:"flex",alignItems:"center",gap:6,padding:"6px 8px 6px 12px",borderRadius:9,background:"color-mix(in srgb, #000 55%, transparent)",backdropFilter:"blur(6px)",color:"#fff",zIndex:1},children:[(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:650},title:t.title||t.alt,children:t.title||t.alt}),(0,r.jsx)("button",{type:"button",onClick:()=>S(-.25),disabled:n<=1,"aria-label":e("message_zoomOut"),title:e("message_zoomOut"),style:{...iC,opacity:n<=1?.45:1},children:(0,r.jsx)(ia.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),(0,r.jsxs)("button",{type:"button",onClick:j,"aria-label":e("message_resetZoom"),title:e("message_resetZoom"),style:{...iC,minWidth:48,fontSize:11},children:[Math.round(100*n),"%"]}),(0,r.jsx)("button",{type:"button",onClick:()=>S(.25),disabled:n>=4,"aria-label":e("message_zoomIn"),title:e("message_zoomIn"),style:{...iC,opacity:n>=4?.45:1},children:(0,r.jsx)(id.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),(0,r.jsx)("button",{type:"button",onClick:j,"aria-label":e("message_resetZoom"),title:e("message_resetZoom"),style:iC,children:(0,r.jsx)(ic.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),l&&u?(0,r.jsxs)("button",{type:"button",onClick:()=>c(!0),"aria-label":e("message_saveImageAs"),title:e("message_saveImageAs"),style:{...iC,gap:5,fontSize:12},children:[(0,r.jsx)(iu.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e("message_saveImageAs")})]}):null,(0,r.jsxs)("a",{href:t.downloadHref,download:t.downloadName,onClick:()=>{var e;(e=t.downloadHref)&&ig.add(e),a(!0)},"aria-label":e("message_downloadImage"),title:e("message_downloadImage"),style:{...iC,gap:5,textDecoration:"none",fontSize:12,display:l?"none":"inline-flex"},children:[(0,r.jsx)(iu.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e("message_downloadImage")})]}),(0,r.jsx)("button",{type:"button",onClick:ix,"aria-label":e("message_closeImage"),title:e("message_closeImage"),style:{...iC,fontSize:20,lineHeight:1},children:"\xd7"})]}),(0,r.jsx)("div",{ref:w,role:"group","aria-label":e("message_imageViewer"),onWheel:C,onPointerDown:_,onPointerMove:I,onPointerUp:R,onPointerCancel:R,onClick:T,onDoubleClick:()=>n>1?j():S(1),style:{flex:1,minHeight:0,display:"flex",alignItems:"center",justifyContent:"center",padding:"56px 12px 12px",overflow:"hidden",cursor:n>1?"grab":"zoom-in",touchAction:"none"},children:(0,r.jsx)("img",{ref:b,src:t.src,alt:t.alt,draggable:!1,decoding:"async",style:{display:"block",maxWidth:"100%",maxHeight:"100%",width:"auto",height:"auto",objectFit:"contain",userSelect:"none",WebkitUserSelect:"none",transform:`translate(${p.x}px, ${p.y}px) scale(${n})`,transformOrigin:"center center",transition:x.current?"none":"transform 0.12s ease-out"}})}),u?(0,r.jsx)(iy,{open:d,sourcePath:u,onClose:()=>c(!1)}):null]}),document.body):null}function iR({code:e,isStreaming:t}){let{t:o}=(0,eU.s9)(),{isDark:l}=r2(),[s,a]=(0,i.useState)(!1),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(""),[h,f]=(0,i.useState)(null),g=`${l?"dark":"light"}
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{17581:(e,t,n)=>{Promise.resolve().then(n.bind(n,42470)),Promise.resolve().then(n.bind(n,84747))},28999:(e,t,n)=>{"use strict";function r(e){try{return decodeURIComponent(e)}catch{return e}}function i(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function o(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function l(e){return i(e).split("/").filter(Boolean).map(encodeURIComponent).join("/")}function s(e){var t;if("string"!=typeof e)return null;let n="/api/files/",i=e.indexOf(n);if(i<0)return null;let o=e.slice(i+n.length).split("?")[0].split("#")[0];if(!o)return null;let l=o.split("/").filter(e=>e.length>0).map(r);if(0===l.length)return null;let s=l.join("/").replace(/\\/g,"/");return(t=s,/^[a-zA-Z]:\//.test(t)||t.startsWith("//"))?s:`/${s.replace(/^\/+/,"")}`}function a(e){let t=i(e).replace(/\/+$/,"");return t.split("/").pop()??t}function d(e){let t=i(e).replace(/\/+$/,""),n=t.lastIndexOf("/");return n<0?"":0===n?"/":2===n&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,n)}function c(e,t){if(!t)return e;let n=i(e),r=i(t).replace(/\/$/,"");return n.startsWith(r+"/")?n.slice(r.length+1):e}function u(e,t){return`${i(e).replace(/\/$/,"")}/${t}`}n.d(t,{A0:()=>i,HG:()=>l,WP:()=>a,e_:()=>u,ex:()=>r,gX:()=>d,n$:()=>s,nf:()=>o,qP:()=>c})},32383:(e,t,n)=>{"use strict";n.d(t,{$J:()=>d,LY:()=>a,Us:()=>u,submitAgentPrompt:()=>c});var r=n(54180),i=n(99838);let o=["accepted","queued","rejected"],l=["prompt","steer","queued"],s=["busy","compacting","bash","media","locked","model","auth","extension","error"];function a(e){let t=e?.agentCommandStatus;return"number"==typeof t&&t>=400&&t<500}async function d(e,t,n){let r=await fetch(`/api/agent/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n?.signal}),i=await r.json().catch(()=>({}));if(!r.ok||i.error)throw function(e,t){if(e&&"object"==typeof e)try{e.agentCommandStatus=t}catch{}return e}(Error(i.error??`HTTP ${r.status}`),r.status);return i.data}async function c(e,t,n){let a=await d(e,{type:"prompt",message:t.message,submissionId:t.submissionId,...t.images?.length?{images:(0,r.py)(t.images)}:{},...t.binaryBlocks?.length?{binaryBlocks:t.binaryBlocks}:{}},n);if(!a||"object"!=typeof a)throw Error("Invalid prompt receipt: expected an object");if("string"!=typeof a.submissionId||!a.submissionId||"string"!=typeof a.sessionId||!a.sessionId||!o.includes(a.status)||a.submissionId!==t.submissionId||a.sessionId!==e)throw Error("Invalid prompt receipt");return{submissionId:a.submissionId,sessionId:a.sessionId,status:a.status,...l.includes(a.action)?{action:a.action}:{},...s.includes(a.reason)?{reason:a.reason}:{},...function(e){if(!e||"object"!=typeof e||!Array.isArray(e.items)||"number"!=typeof e.revision)return null;let t=Array.isArray(e.inFlight)?e.inFlight.filter(e=>"string"==typeof e):[];return{queue:{items:(0,i.hh)(e.items),revision:e.revision,inFlight:t}}}(a.queue)??{}}}function u(e){return"boolean"==typeof e.live?e.live:!0===e.running}},42470:(e,t,n)=>{"use strict";n.d(t,{AppShell:()=>pY});var r=n(95155),i=n(12115),o=n(73321);let l=null;var s=n(47650);function a(e,t){if(!t)return e;let n=e.replaceAll("\\","/"),r=t.replaceAll("\\","/").replace(/\/$/,"");return n===r?"~":n.startsWith(`${r}/`)?`~${n.slice(r.length)}`:e}function d(e){let t=e.replaceAll("\\","/").replace(/\/+$/,""),n=t.lastIndexOf("/");return(n>=0?t.slice(n+1):t)||e}let c={status:"idle",error:null,cwd:null,projectRoot:null};function u(e){return null===e.cwd?{...e,cwd:null,projectRoot:null}:{...e,projectRoot:e.cwd}}function p(e,t){return e.status===t.status&&e.error===t.error&&e.cwd===t.cwd&&e.projectRoot===t.projectRoot}function h(e){let t=e.filter(e=>!e.subagent),n=new Map;for(let e of t)n.set(e.id,{session:e,relation:null,children:[]});let r=new Map,i=e=>{let t=new Set([e]),n=r.get(e)?.parentId;for(;n;){if(t.has(n))return!0;t.add(n),n=r.get(n)?.parentId}return!1},o=[];for(let e of n.values()){let t=r.get(e.session.id),l=t?n.get(t.parentId):void 0;if(!t||!l||i(e.session.id)){o.push(e);continue}e.relation=t.relation,l.children.push(e)}let l=(e,t)=>t.session.modified.localeCompare(e.session.modified),s=(e,t)=>{if(t)e.sort(l);else{let t=e.filter(e=>"subagent"===e.relation).sort((e,t)=>(e.session.subagent?.runIndex??0)-(t.session.subagent?.runIndex??0)),n=e.filter(e=>"subagent"!==e.relation).sort(l);e.splice(0,e.length,...t,...n)}for(let t of e)s(t.children,!1)};return s(o,!0),o}function f(e,t){if(!t)return e;let n=[];for(let r of e){let e=f(r.children,t);((function(e,t){let n;return!t||(n=[e.name??"",e.firstMessage,e.id],e.subagent&&(n.push(e.subagent.agent??"",e.subagent.runId),n.push(`run ${e.subagent.runIndex}`,`run-${e.subagent.runIndex}`,String(e.subagent.runIndex))),n.join("\n").toLowerCase()).includes(t)})(r.session,t)||e.length>0)&&n.push({...r,children:e})}return n}function g(e,t){let n=(e,r)=>{for(let i of e){if(i.session.id===t)return r;let e=n(i.children,[...r,i.session.id]);if(e)return e}return null};return n(e,[])??[]}function m(e){return e?e instanceof Set?e:new Set(e):new Set}let x=new Set(["projectRoots","pinnedSessionIds","ungroupedSessionIds","collapsedProjectRoots"]),v="__ungrouped__",y=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function b(e,t){if(t?.[e.root])return t[e.root];let n=e.root.replaceAll("\\","/").replace(/\/+$/,""),r=n.lastIndexOf("/");return(r>=0?n.slice(r+1):n)||e.root}function w(e,t){if(0===t.size)return[];let n=[];for(let r of e){let e=w(r.children,t);(t.has(r.session.id)||e.length>0)&&n.push({...r,children:e})}return n}let k=1600/1920;function j(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(600,Math.round(e)):1600}function S(e){let t=e.ratio,n=e.availableWidth;if(Number.isFinite(t)&&t>1)return j(t);let r="number"!=typeof t||!Number.isFinite(t)||t<=0?k:Math.min(1,Math.max(.2,t));return!Number.isFinite(n)||n<=0?1600:j(n*r)}let C="--pidance-chat-column-width",_=`min(var(${C}, 1100px), 100%)`,I="min(320px, 45vh)",R="min(240px, 32vh)",T={padding:"0 10px 8px",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",overflowWrap:"anywhere"};function E(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(520,Math.max(240,Math.round(e))):300}function M(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(720,Math.max(320,Math.round(e))):400}function A(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(960,Math.max(320,Math.round(e))):560}function L(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.trim();if(!e||null===r||"object"!=typeof r||Array.isArray(r))continue;let i=Array.isArray(r.expanded)?r.expanded.filter(e=>"string"==typeof e):[],o="number"==typeof r.scrollTop&&Number.isFinite(r.scrollTop)&&r.scrollTop>0?Math.round(r.scrollTop):0;t[e]={expanded:i,scrollTop:o}}return t}let z={displayMode:"standard",collapsedProjectRoots:[],projectAliases:{},projectRoots:[],projectRootsMigrated:!1,sidebarWidth:300,rightPanelOpen:!1,rightPanelWidth:400,changesPanelOpen:!0,changesPanelWidth:560,chatColumnWidthRatio:1600,showRecentSessions:!0,pinnedSessionIds:[],ungroupedSessionIds:[],fileExplorerState:{},projectSort:"recent",projectOrder:[]},W="pidance:sidebar-preferences";function $(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function P(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if("string"!=typeof r)continue;let e=r.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n.length>1e3?n.slice(-1e3):n}function F(e){return null===e||"object"!=typeof e?{...z,projectAliases:{},collapsedProjectRoots:[]}:{displayMode:"compact"===e.displayMode||"standard"===e.displayMode?e.displayMode:z.displayMode,collapsedProjectRoots:$(e.collapsedProjectRoots),projectAliases:function(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if("string"!=typeof r)continue;let e=n.trim(),i=r.trim();e&&i&&(t[e]=i)}return t}(e.projectAliases),...function(e){if(void 0!==e.projectRoots)return{projectRoots:D($(e.projectRoots)),projectRootsMigrated:!1};let t=H({added:e.addedProjectRoots,closed:e.closedProjectRoots,hasProjectRoots:!1});return t?{projectRoots:t.projectRoots,projectRootsMigrated:!0}:{projectRoots:[],projectRootsMigrated:!1}}(e),sidebarWidth:E(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:M(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,chatColumnWidthRatio:V(e.chatColumnWidthRatio),changesPanelWidth:A(e.changesPanelWidth),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:$(e.pinnedSessionIds),ungroupedSessionIds:P(e.ungroupedSessionIds),fileExplorerState:L(e.fileExplorerState),projectSort:N(e.projectSort),projectOrder:$(e.projectOrder)}}function H(e){if(e.hasProjectRoots||void 0===e.added&&void 0===e.closed)return null;let t=new Set($(e.closed));return{projectRoots:D($(e.added).filter(e=>!t.has(e)))}}function D(e){let t=[],n=new Set;for(let r of e){let e=r.trim();!e||n.has(e)||(n.add(e),t.push(e))}return t}function N(e){return"az"===e||"za"===e||"fixed"===e||"recent"===e?e:z.projectSort}function B(e){return JSON.stringify({displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,projectAliases:e.projectAliases,projectRoots:e.projectRoots,sidebarWidth:E(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:M(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,changesPanelWidth:A(e.changesPanelWidth),chatColumnWidthRatio:V(e.chatColumnWidthRatio),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:$(e.pinnedSessionIds),ungroupedSessionIds:P(e.ungroupedSessionIds),fileExplorerState:L(e.fileExplorerState),projectSort:N(e.projectSort),projectOrder:$(e.projectOrder)})}function O(e){try{let t=e.getItem(W);if(null===t)return F(null);try{return F(JSON.parse(t))}catch{return F(null)}}catch{return F(null)}}function U(){return O(window.localStorage)}function q(e){try{window.localStorage.setItem(W,B(e))}catch{}}function K(e){return{displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,projectRoots:e.projectRoots,showRecentSessions:e.showRecentSessions,pinnedSessionIds:e.pinnedSessionIds,projectSort:e.projectSort,projectOrder:e.projectOrder,ungroupedSessionIds:e.ungroupedSessionIds}}function V(e){return"number"!=typeof e||!Number.isFinite(e)||e<=0?1600:j(e>1?e:1600*e)}function J(e){var t,n=window.localStorage;try{let r=O(n);n.setItem(W,B({...r,rightPanelOpen:void 0===e.open?r.rightPanelOpen:(t=e.open,!0===t),rightPanelWidth:void 0===e.width?r.rightPanelWidth:M(e.width)}))}catch{}}function Y(e){var t,n=window.localStorage;try{let r=O(n);n.setItem(W,B({...r,changesPanelOpen:void 0===e.open?r.changesPanelOpen:(t=e.open,!1!==t),changesPanelWidth:void 0===e.width?r.changesPanelWidth:A(e.width)}))}catch{}}function X(e,t){var n=window.localStorage;try{let r=O(n),i=L(r.fileExplorerState);e.trim()&&(i[e]={expanded:L({[e]:t})[e]?.expanded??[],scrollTop:Math.max(0,Math.round(Number.isFinite(t.scrollTop)?t.scrollTop:0))}),n.setItem(W,B({...r,fileExplorerState:i}))}catch{}}let G="pidance.streamingEnterDefault",Z="followUp";function Q(e){return"steer"===e?"steer":"followUp"}function ee(){var e=window.localStorage;try{let t=e.getItem(G);if(null===t)return Z;try{return Q(JSON.parse(t))}catch{return Q(t)}}catch{return Z}}function et(e){var t=window.localStorage;try{t.setItem(G,JSON.stringify(Q(e)))}catch{}}let en="pidance.autoUpdateCheck";function er(e){return!1!==e&&0!==e&&"0"!==e&&"false"!==e}function ei(){var e=window.localStorage;try{let t=e.getItem(en);if(null===t)return!0;try{return er(JSON.parse(t))}catch{return er(t)}}catch{return!0}}function eo(e){var t=window.localStorage;try{t.setItem(en,JSON.stringify(er(e)))}catch{}}let el="pidance.editorTakeover",es="pidance:editor-takeover-changed";function ea(e){return!1!==e&&0!==e&&"0"!==e&&"false"!==e}function ed(){var e=window.localStorage;try{let t=e.getItem(el);if(null===t)return!0;try{return ea(JSON.parse(t))}catch{return ea(t)}}catch{return!0}}var ec=n(72634);let eu="pidance.sessionList.v1";function ep(){try{let e=window.localStorage.getItem(eu);if(!e)return null;let t=JSON.parse(e);if(!Array.isArray(t.sessions))return null;return t.sessions}catch{return null}}function eh(e){try{let t=[...e].sort((e,t)=>e.modified<t.modified?1:e.modified>t.modified?-1:0).slice(0,50);window.localStorage.setItem(eu,JSON.stringify({sessions:t}))}catch{}}let ef=["openAtLogin","minimizeToTray","notificationsEnabled"];function eg(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{},n={openAtLogin:!1,minimizeToTray:!1,notificationsEnabled:!1};for(let e of ef)!0===t[e]&&(n[e]=!0);return n}function em(){let[e]=(0,i.useState)(()=>(function(e=globalThis){if(!e||"object"!=typeof e)return null;let t=e.pidanceDesktop;return t&&"object"==typeof t?"function"!=typeof t.getSettings||"function"!=typeof t.setSetting||"function"!=typeof t.notify||"function"!=typeof t.onOpenSettings?null:t:null})());return e}let ex=new Set(["running","queued","paused"]),ev={...{runningChildIds:new Set,bySessionId:new Map},stale:!1,updatedAt:null},ey=ev,eb=new Set,ew=null,ek=!1;function ej(e){for(let t of(ey=e,eb))t()}async function eS(){if(!ek){ek=!0;try{let e=await fetch("/api/subagent-runs?limit=50");if(!e.ok)return void ej({...ey,stale:!0});let t=await e.json();ej({...function(e){let t=new Set,n=new Map;for(let r of e??[]){if(!r||"object"!=typeof r)continue;let e=ex.has(r.state);for(let i of r.steps??[]){let o=i?.sessionId;o&&(e&&t.add(o),n.has(o)||n.set(o,{runId:r.id,mode:r.mode,active:e,step:i}))}}return{runningChildIds:t,bySessionId:n}}(t.runs),stale:!1,updatedAt:Date.now()})}catch{ej({...ey,stale:!0})}finally{ek=!1}}}function eC(){document.hidden||eS()}function e_(e){return eb.add(e),1===eb.size&&(eS(),ew=setInterval(()=>{document.hidden||eS()},3e4),document.addEventListener("visibilitychange",eC)),()=>{eb.delete(e),0===eb.size&&(ew&&clearInterval(ew),ew=null,document.removeEventListener("visibilitychange",eC))}}function eI(){return ey}function eR(){return ev}function eT(){return(0,i.useSyncExternalStore)(e_,eI,eR)}function eE(){return{scheduled:!1,inFlight:!1,rerun:!1}}function eM(e){let t=e.coalesceMs??200,n=e.setTimer??((e,t)=>setTimeout(e,t)),r=e.clearTimer??(e=>clearTimeout(e)),i=eE(),o=null,l=!1,s=t=>{l||(null!==o&&r(o),o=n(()=>{let t;if(o=null,!l){i={...i,scheduled:!1,inFlight:!0};try{t=e.perform()}catch{t=Promise.resolve()}Promise.resolve(t).catch(()=>void 0).then(()=>{var e;let t,n=(t=(e=i).rerun,{state:{...e,inFlight:!1,rerun:!1},rerun:t});i=n.state,n.rerun&&!l&&s(0)})}},t))};return{notify(){var e;if(l)return;let n=(e=i).inFlight?{state:{...e,rerun:!0},note:"deferred"}:e.scheduled?{state:e,note:"coalesced"}:{state:{...e,scheduled:!0},note:"schedule"};i=n.state,"schedule"===n.note&&s(t)},snapshot:()=>i,dispose(){l=!0,null!==o&&r(o),o=null,i=eE()}}}var eA=n(69892);function eL(e,t){let n=e[t];return"number"!=typeof n||!Number.isFinite(n)||n<5?5:Math.floor(n)}function ez(e,t){let n=eL(e,t);return{...e,[t]:n+5}}function eW(e,t){if(!(t in e))return e;let n={...e};return delete n[t],n}function e$(e,t,n){if(n)return e;let r=Math.max(0,Math.floor(t));return r>=e.length?e:e.slice(0,r)}function eP(e,t){let n=t.modified.localeCompare(e.modified);if(0!==n)return n;let r=t.created.localeCompare(e.created);return 0!==r?r:e.id.localeCompare(t.id)}function eF(e,t){return e===t&&e>0}function eH(e,t,n){let r=Math.max(0,Math.floor(t));return"fewer"===n?Math.min(5,r):Math.min((Number.isFinite(e)?Math.max(0,Math.floor(e)):5)+5,r)}let eD=(0,i.createContext)(null);function eN({children:e,initial:t}){let n=(0,i.useRef)(null);return n.current||(n.current=function(e={}){let t=u({...c,...e.identity}),n=new Set,r=t,i=()=>n.forEach(e=>e());return{getIdentitySnapshot:()=>r,subscribeIdentity:e=>(n.add(e),()=>n.delete(e)),setIdentity:e=>{let n=void 0!==e.cwd?{...e,projectRoot:e.cwd}:e,o=u({...t,...n});p(t,o)||(r=t=o,i())},reset:()=>{let e=!p(t,c);r=t=c,e&&i()}}}(t)),(0,r.jsx)(eD.Provider,{value:n.current,children:e})}function eB(){let e=(0,i.useContext)(eD);if(!e)throw Error("useProjectIdentity/useProjectActions 必须在 ProjectProvider 内使用");return e}function eO(){let e=eB();return(0,i.useSyncExternalStore)(e.subscribeIdentity,e.getIdentitySnapshot,e.getIdentitySnapshot)}var eU=n(99780);function eq(e,t,n=eY){return{id:n(),cwd:e,generation:t}}let eK="pending:";function eV(e){return`${eK}${e}`}function eJ(e){return e.startsWith(eK)}function eY(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`intent-${Date.now()}-${Math.random().toString(36).slice(2)}`}var eX=n(61995);function eG(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),o=Math.floor(r/36e5),l=Math.floor(r/864e5);return i<1?t("sidebar_justNow"):i<60?t("sidebar_minutesAgo",{count:i}):o<24?t("sidebar_hoursAgo",{count:o}):l<7?t("sidebar_daysAgo",{count:l}):n.toLocaleDateString()}function eZ({text:e,style:t}){return(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,r.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}function eQ({open:e,children:t,style:n}){let[o,l]=(0,i.useState)(e),[s,a]=(0,i.useState)(e);return((0,i.useEffect)(()=>{let t,n;return e?(l(!0),a(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>a(!0))})):(a(!1),n=setTimeout(()=>l(!1),140)),()=>{void 0!==t&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),o)?(0,r.jsx)("div",{style:{...n,opacity:+!!s,transform:s?"translateY(0) scale(1)":"translateY(-8px) scale(0.96)",transformOrigin:"top center",transition:"opacity 140ms ease, transform 140ms ease",pointerEvents:e?"auto":"none"},children:t}):null}let e0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function e1(){let[e,t]=(0,i.useState)(!1),[n,o]=(0,i.useState)(!1),l=(0,i.useRef)(null),s=function(e,t){let[n,r]=(0,i.useState)(e),o=(0,i.useRef)(null),l=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t)return void r(e);l.current=0;let n=4*e.length,i=()=>{l.current+=1;let t=Math.floor(l.current/n*e.length);r(e.split("").map((e,n)=>" "===e?" ":n<t?e:e0[Math.floor(Math.random()*e0.length)]).join("")),l.current<n?o.current=requestAnimationFrame(i):r(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t]),n}(e?"0.2.49pexternal":"Pidance",n),a=(0,i.useCallback)(e=>{t(e),o(!0),setTimeout(()=>o(!1),(e?6:8)*4*(1e3/60)+100)},[]),d=(0,i.useCallback)(()=>{l.current&&clearTimeout(l.current);let t=!e;a(t),t&&(l.current=setTimeout(()=>a(!1),3e3))},[e,a]);return(0,i.useEffect)(()=>()=>{l.current&&clearTimeout(l.current)},[]),(0,r.jsx)("button",{onClick:d,style:{background:"none",border:"none",padding:0,cursor:"default",fontWeight:700,fontSize:15,letterSpacing:"-0.01em",color:e?"var(--accent)":"var(--text)",fontFamily:"var(--font-mono)",minWidth:"6ch"},children:s})}function e2({label:e,onClick:t,disabled:n=!1,active:i=!1,danger:o=!1,done:l=!1,hoverReveal:s=!1,expanded:a,pressed:d,haspopup:c,buttonRef:u,children:p}){let h=["sidebar-icon-btn"];return i&&h.push("sidebar-icon-btn--active"),o&&h.push("sidebar-icon-btn--danger"),l&&h.push("sidebar-icon-btn--done"),s&&h.push("sidebar-icon-btn--hover"),(0,r.jsx)("button",{type:"button",ref:u,onClick:t,disabled:n,"data-tooltip":e,"aria-label":e,"aria-expanded":a,"aria-pressed":d,"aria-haspopup":c,className:h.join(" "),children:p})}function e4(e){return{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0}}let e6=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),(0,r.jsx)("path",{d:"M12 10v6"}),(0,r.jsx)("path",{d:"M9 13h6"})]}),e5=({size:e=14})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})}),e8=({size:e=14})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,r.jsx)("path",{d:"M3 4v5h5"}),(0,r.jsx)("path",{d:"M12 7v5l3 2"})]}),e3=({size:e=13})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M12 17v5"}),(0,r.jsx)("path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1z"})]}),e9=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),(0,r.jsx)("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),(0,r.jsx)("path",{d:"M10 12h4"})]}),e7=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"}),(0,r.jsx)("path",{d:"M12 7v6"}),(0,r.jsx)("path",{d:"M9 10h6"})]}),te=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,r.jsx)("path",{d:"m21 21-4.3-4.3"})]}),tt=({size:e=18})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("line",{x1:"21",x2:"14",y1:"4",y2:"4"}),(0,r.jsx)("line",{x1:"10",x2:"3",y1:"4",y2:"4"}),(0,r.jsx)("line",{x1:"21",x2:"12",y1:"12",y2:"12"}),(0,r.jsx)("line",{x1:"8",x2:"3",y1:"12",y2:"12"}),(0,r.jsx)("line",{x1:"21",x2:"16",y1:"20",y2:"20"}),(0,r.jsx)("line",{x1:"12",x2:"3",y1:"20",y2:"20"}),(0,r.jsx)("line",{x1:"14",x2:"14",y1:"2",y2:"6"}),(0,r.jsx)("line",{x1:"8",x2:"8",y1:"10",y2:"14"}),(0,r.jsx)("line",{x1:"16",x2:"16",y1:"18",y2:"22"})]}),tn=({size:e=14})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("polyline",{points:"20 6 9 17 4 12"})}),tr=({size:e=14})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),ti=({size:e=13})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,r.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,r.jsx)("path",{d:"M10 11v6M14 11v6"}),(0,r.jsx)("path",{d:"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"})]}),to=({size:e=13})=>(0,r.jsx)("svg",{...e4(e),children:(0,r.jsx)("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})}),tl=({size:e=10})=>(0,r.jsxs)("svg",{...e4(e),children:[(0,r.jsx)("polygon",{points:"12 2 2 7 12 12 22 7 12 2"}),(0,r.jsx)("polyline",{points:"2 17 12 22 22 17"}),(0,r.jsx)("polyline",{points:"2 12 12 17 22 12"})]}),ts=({size:e=14})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"12",cy:"5",r:"1.7"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"1.7"}),(0,r.jsx)("circle",{cx:"12",cy:"19",r:"1.7"})]});function ta({collapsed:e,label:t,left:n,onClick:i}){return(0,r.jsx)("button",{type:"button",onClick:e=>{i(e),e.currentTarget.blur()},"data-tooltip":t,"aria-label":t,className:"sidebar-indent-indicator",style:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:n,top:"50%",width:16,height:20,padding:0,flexShrink:0,zIndex:1,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",transform:`translateY(-50%)${e?" rotate(-90deg)":""}`,transition:"transform 0.15s"},children:(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,r.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})})}function td({primary:e=!1,danger:t=!1,disabled:n=!1,onClick:i,children:o}){let l=e||t;return(0,r.jsx)("button",{type:"button",onClick:i,disabled:n,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,height:30,padding:"0 14px",flexShrink:0,background:t?"var(--status-danger)":e?"var(--accent)":"var(--bg)",border:l?"none":"1px solid var(--border)",borderRadius:7,color:l?"#fff":"var(--text-muted)",cursor:n?"not-allowed":"pointer",fontSize:12,fontWeight:l?600:500,opacity:n?.55:1,whiteSpace:"nowrap"},children:o})}function tc({label:e,checked:t,onClick:n}){return(0,r.jsxs)("button",{type:"button",onClick:n,style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"7px 10px",background:"var(--bg-elevated)",border:"none",color:t?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11.5},children:[t?(0,r.jsx)("span",{style:{color:"var(--accent)",display:"flex",flexShrink:0},children:(0,r.jsx)(tn,{size:11})}):(0,r.jsx)("span",{style:{width:11,flexShrink:0}}),e]})}function tu({icon:e,label:t,onClick:n}){return(0,r.jsxs)("button",{type:"button",role:"menuitem",onClick:n,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:"var(--bg-elevated)",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:12,whiteSpace:"nowrap"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"},onFocus:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onBlur:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"},children:[(0,r.jsx)("span",{style:{display:"flex",flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true",children:e}),t]})}function tp({groupKey:e,total:t,visibleCount:n,searchActive:i,onShowMore:o,onShowFewer:l}){let{t:s}=(0,eU.s9)(),a=!i&&t>Math.max(0,Math.floor(n)),d=!i&&Math.floor(n)>5;return a||d?(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 8px 5px 28px"},children:[a&&(0,r.jsxs)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>o(e),children:[s("sidebar_showMore"),(0,r.jsxs)("span",{"aria-hidden":"true",children:["+",5]})]}),d&&(0,r.jsx)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>l(e),children:s("sidebar_showFewer")})]}):null}function th({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_running"),"aria-label":t("sidebar_running"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-running)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:e-4,height:e-4,borderRadius:"50%",border:"2px solid currentColor",borderTopColor:"transparent",background:"transparent",boxSizing:"border-box",animation:"sidebar-running-spin 1s linear infinite"}})})}function tf({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_waiting"),"aria-label":t("sidebar_waiting"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-waiting)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:6,height:6,borderRadius:"50%",background:"currentColor"}})})}function tg({startedAt:e,now:t,running:n}){let{t:i}=(0,eU.s9)();return n?(0,r.jsx)("span",{title:i("sidebar_running"),style:{display:"inline-flex",alignItems:"center",flexShrink:0,color:"var(--status-running)",fontSize:10,fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"},children:(0,r.jsx)("span",{children:void 0!==e?function(e,t){let n,r,{hours:i,minutes:o,seconds:l}=(r=Math.floor((n=Math.max(0,Math.floor(e/1e3)))/3600),{hours:r,minutes:Math.floor(n%3600/60),seconds:n%60});return i>0?t("sidebar_runningHoursMinutes",{h:i,m:o}):o>0?t("sidebar_runningMinutesSeconds",{m:o,s:l}):t("sidebar_runningSeconds",{s:l})}(Math.max(0,t-e),i):i("sidebar_running")})}):null}function tm({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_abnormal"),"aria-label":t("sidebar_abnormal"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-danger)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{width:e,height:e,borderRadius:"50%",background:"currentColor"}})})}function tx({size:e=14}){let{t}=(0,eU.s9)();return(0,r.jsx)("span",{title:t("sidebar_activity"),"aria-label":t("sidebar_activity"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--status-unread)"},children:(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:6,height:6,borderRadius:"50%",background:"currentColor"}})})}let tv=(0,i.createContext)({startedAt:new Map,now:Date.now()}),ty=(0,i.createContext)(new Set),tb=(0,i.createContext)(new Set),tw=0,tk=null,tj=[];function tS(e){return tj.length>0&&tj[tj.length-1]===e}let tC=i.useLayoutEffect;function t_(){let e={top:0,left:0,width:Number.isFinite(window.innerWidth)?Math.max(0,window.innerWidth):0,height:Number.isFinite(window.innerHeight)?Math.max(0,window.innerHeight):0},t=window.visualViewport;if(!t)return e;let n=Number.isFinite(t.width)?Math.max(0,t.width):0,r=Number.isFinite(t.height)?Math.max(0,t.height):0;return n<=0||r<=0?e:{top:Number.isFinite(t.offsetTop)?Math.max(0,t.offsetTop):0,left:Number.isFinite(t.offsetLeft)?Math.max(0,t.offsetLeft):0,width:n,height:r}}function tI(e){return Array.from(e.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>e.getClientRects().length>0)}function tR({open:e,onClose:t,title:n,description:o,children:l,actions:a,width:d=560,height:c,zIndex:u=1e3,closeOnBackdrop:p=!0,closeOnEsc:h=!0,initialFocusRef:f,headerActions:g,contentPadding:m="14px 18px",closeLabel:x="Close"}){let v=(0,i.useRef)(null),y=(0,i.useId)(),b=(0,i.useId)(),w=(0,i.useRef)(null);null===w.current&&(w.current=Symbol("ViewportDialog")),(0,i.useEffect)(()=>{if(e){var t;let e;return t=w.current,tj.push(t),e=!1,()=>{if(e)return;e=!0;let n=tj.lastIndexOf(t);n>=0&&tj.splice(n,1)}}},[e]),(0,i.useEffect)(()=>{var t,n;if(!e)return;let r=document.activeElement,i=v.current,o=(t=f?.current,n=i?tI(i):[],t??n[0]??i);return o?.focus({preventScroll:!0}),()=>{var e,t;let n=(e=r instanceof HTMLElement?r:null,t=e=>document.contains(e),null!==e&&t(e)?e:null);n?.focus({preventScroll:!0})}},[e,f]),(0,i.useEffect)(()=>{if(e){var t;let e;return t=document.body,0===tw&&(tk=t.style.overflow,t.style.overflow="hidden"),tw+=1,e=!1,()=>{e||(e=!0,0==(tw-=1)&&(t.style.overflow=tk??"",tk=null))}}},[e]),(0,i.useEffect)(()=>{if(!e)return;let n=w.current,r=e=>{let r=function(e){if(!e.isTop)return{stopPropagation:!1,preventDefault:!1,close:!1};let t="Escape"===e.key&&e.closeOnEsc&&!e.defaultPrevented;return{stopPropagation:!0,preventDefault:t,close:t}}({key:e.key,defaultPrevented:e.defaultPrevented,closeOnEsc:h,isTop:tS(n)});r.stopPropagation&&(e.stopPropagation(),r.preventDefault&&e.preventDefault(),r.close&&t())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,h,t]),(0,i.useEffect)(()=>{if(!e)return;let t=w.current,n=e=>{if(!tS(t))return;let n=v.current;!n||!(e.target instanceof Node)||n.contains(e.target)||(tI(n)[0]??n).focus({preventScroll:!0})};return document.addEventListener("focusin",n),()=>document.removeEventListener("focusin",n)},[e]);let[k,j]=(0,i.useState)(null),S=(0,i.useRef)(0),C=(0,i.useCallback)(()=>{let e=t_();j(t=>t&&t.top===e.top&&t.left===e.left&&t.width===e.width&&t.height===e.height?t:e)},[]);if(tC(()=>{if(!e)return void j(null);C();let t=()=>{S.current||(S.current=requestAnimationFrame(()=>{S.current=0,C()}))};window.addEventListener("resize",t);let n=window.visualViewport;return n?.addEventListener("resize",t),n?.addEventListener("scroll",t),()=>{window.removeEventListener("resize",t),n?.removeEventListener("resize",t),n?.removeEventListener("scroll",t),S.current&&(cancelAnimationFrame(S.current),S.current=0)}},[e,C]),!e||"u"<typeof document)return null;let _="number"==typeof d?`${d}px`:d,I=k??t_(),R=function(e,t=16){return{maxWidth:Math.max(0,e.width-2*t),maxHeight:Math.max(0,e.height-2*t)}}(I),T="number"==typeof d?Math.min(d,R.maxWidth):`min(${_}, ${R.maxWidth}px)`,E=void 0===c?void 0:"number"==typeof c?Math.min(c,R.maxHeight):`min(${c}, ${R.maxHeight}px)`;return(0,s.createPortal)((0,r.jsx)("div",{onMouseDown:e=>{p&&e.target===e.currentTarget&&t()},style:{position:"fixed",top:I.top,left:I.left,width:I.width,height:I.height,zIndex:u,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,overscrollBehavior:"contain"},children:(0,r.jsxs)("div",{ref:v,role:"dialog","aria-modal":"true","data-pidance-modal":"true","aria-labelledby":y,"aria-describedby":o?b:void 0,tabIndex:-1,onKeyDown:e=>{if("Tab"!==e.key)return;let t=v.current;if(!t)return;let n=function(e){let{focusable:t,active:n,shiftKey:r,panel:i,contains:o}=e;if(0===t.length)return{handled:!0,target:i};let l=t[0],s=t[t.length-1],a=null!==n&&o(n);if(r){if(n===l||!a)return{handled:!0,target:s}}else if(n===s||!a)return{handled:!0,target:l};return{handled:!1}}({focusable:tI(t),active:document.activeElement,shiftKey:e.shiftKey,panel:t,contains:e=>t.contains(e)});n.handled&&(e.preventDefault(),n.target.focus({preventScroll:!0}))},style:{width:"100%",maxWidth:T,maxHeight:R.maxHeight,...void 0!==E?{height:E,minHeight:0}:{},display:"flex",flexDirection:"column",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:10,boxShadow:"0 8px 32px rgba(0,0,0,0.18)",overflow:"hidden",outline:"none"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("div",{id:y,style:{fontSize:15,fontWeight:700,color:"var(--text)",minWidth:0,flex:1},children:n}),g,(0,r.jsx)("button",{type:"button",onClick:t,"aria-label":x,style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",minWidth:32,minHeight:32,padding:"2px 6px",background:"none",border:"none",borderRadius:7,color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color="var(--text-muted)"},children:"\xd7"})]}),o&&(0,r.jsx)("div",{id:b,style:{padding:"10px 18px",borderBottom:"1px solid var(--border)",fontSize:13,lineHeight:1.55,color:"var(--text-muted)",flexShrink:0},children:o}),l&&(0,r.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overscrollBehavior:"contain",padding:m},children:l}),a&&(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"12px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:a})]})}),document.body)}let tT={readOnly:!1,canPrompt:!0,canFork:!0,canCompact:!0,canChangeModel:!0,canChangeThinking:!0,canChangeTools:!0,canRename:!0,canAutoName:!0,canDelete:!0,canConnectEvents:!0,canSendSessionCommands:!0},tE={readOnly:!0,canPrompt:!1,canFork:!1,canCompact:!1,canChangeModel:!1,canChangeThinking:!1,canChangeTools:!1,canRename:!1,canAutoName:!1,canDelete:!1,canConnectEvents:!1,canSendSessionCommands:!1};function tM(e){return e?.readOnly===!0?tE:tT}function tA(e){let t=()=>{try{let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-1000px",t.style.opacity="0",document.body.appendChild(t),t.select(),t.setSelectionRange(0,t.value.length);let n=document.execCommand("copy");return document.body.removeChild(t),n?Promise.resolve():Promise.reject(Error('document.execCommand("copy") returned false'))}catch(e){return Promise.reject(e instanceof Error?e:Error("clipboard unavailable"))}},n="u"<typeof navigator?void 0:navigator.clipboard;if(!n?.writeText)return t();try{return n.writeText(e).catch(t)}catch(e){return t().catch(()=>Promise.reject(e))}}function tL(e){return`/api/sessions/${encodeURIComponent(e)}/export`}function tz(e,t,n=2){return!!e&&!!t&&(Math.abs(e.top-t.top)>=n||Math.abs(e.right-t.right)>=n)}function tW({open:e,onOpenChange:t,projectName:n,onEdit:o,onClose:l}){let{t:a}=(0,eU.s9)(),d=(0,i.useRef)(null),c=(0,i.useRef)(null),u=(0,i.useRef)(null),[p,h]=(0,i.useState)(null),f=(0,i.useRef)(null),g=(0,i.useCallback)(e=>{t(!1),e&&c.current?.focus()},[t]),m=(0,i.useCallback)(()=>{if(e)return void g(!0);let n=c.current?.getBoundingClientRect();n&&(f.current={top:n.top,bottom:n.bottom,right:n.right},h({top:n.bottom+4,right:Math.max(8,window.innerWidth-n.right)})),t(!0)},[e,g,t]);return(0,i.useEffect)(()=>{if(!e||!f.current)return;let t=requestAnimationFrame(()=>{let e=u.current,t=f.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||h(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(t)},[e]),(0,i.useEffect)(()=>{if(!e)return;let n=e=>{!d.current||d.current.contains(e.target)||u.current?.contains(e.target)||t(!1)},r=()=>{let e=c.current?.getBoundingClientRect();tz(f.current,e?{top:e.top,right:e.right}:null)&&t(!1)};return document.addEventListener("mousedown",n),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{document.removeEventListener("mousedown",n),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[e,t]),(0,i.useEffect)(()=>{if(!e)return;let t=requestAnimationFrame(()=>{u.current?.querySelector("[role='menuitem']")?.focus()});return()=>cancelAnimationFrame(t)},[e]),(0,r.jsxs)("div",{ref:d,style:{position:"relative",flexShrink:0,display:"flex"},onClick:e=>e.stopPropagation(),onKeyDown:t=>{"Escape"===t.key&&e&&(t.stopPropagation(),t.preventDefault(),g(!0))},children:[(0,r.jsx)(e2,{label:a("sidebar_projectMenuLabel",{project:n}),active:e,expanded:e,haspopup:"menu",hoverReveal:!0,buttonRef:c,onClick:e=>{e.stopPropagation(),m()},children:(0,r.jsx)(ts,{size:14})}),e&&(0,s.createPortal)((0,r.jsx)(eQ,{open:e,style:{position:"fixed",top:p?.top??0,right:p?.right??0,zIndex:600,background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-float)",overflow:"hidden",minWidth:148},children:(0,r.jsxs)("div",{ref:u,role:"menu","aria-label":a("sidebar_projectMenuLabel",{project:n}),children:[(0,r.jsx)(tu,{icon:(0,r.jsx)(to,{size:13}),label:a("sidebar_editProject"),onClick:()=>{g(!0),o()}}),(0,r.jsx)(tu,{icon:(0,r.jsx)(tr,{size:13}),label:a("sidebar_closeProject"),onClick:()=>{g(!0),l()}})]})}),document.body)]})}function t$({session:e,title:t,canRename:n,canDelete:o,canArchive:l,archiveDisabledReason:a,isPinned:d,onTogglePin:c,onRename:u,onDelete:p,onArchive:h}){var f;let g,{t:m}=(0,eU.s9)(),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(null),w=(0,i.useRef)(null),k=(0,i.useRef)(null),j=(0,i.useRef)(null),S=m("sidebar_sessionMenuLabel",{session:t}),C=(0,i.useCallback)((e=!1)=>{v(!1),e&&k.current?.focus()},[]);(0,i.useEffect)(()=>{if(!x||!w.current)return;let e=requestAnimationFrame(()=>{let e=j.current,t=w.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||b(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(e)},[x]),(0,i.useEffect)(()=>{if(!x)return;let e=e=>{let t=e.target;j.current?.contains(t)||k.current?.contains(t)||C()},t=()=>{let e=k.current?.getBoundingClientRect();tz(w.current,e?{top:e.top,right:e.right}:null)&&C()};document.addEventListener("mousedown",e),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0);let n=requestAnimationFrame(()=>j.current?.querySelector("[role='menuitem']")?.focus());return()=>{cancelAnimationFrame(n),document.removeEventListener("mousedown",e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},[C,x]);let _={display:"flex",alignItems:"center",gap:8,width:"100%",minHeight:32,padding:"6px 11px",boxSizing:"border-box",background:"var(--bg-elevated)",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",textDecoration:"none",fontSize:12,whiteSpace:"nowrap"},I={onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-elevated)",e.currentTarget.style.color="var(--text-muted)"}},R=e=>(0,r.jsx)("span",{"aria-hidden":"true",style:{display:"flex",color:"var(--text-dim)"},children:e});return(0,r.jsxs)("div",{style:{display:"flex",flexShrink:0},onClick:e=>e.stopPropagation(),onKeyDown:e=>{"Escape"===e.key&&x&&(e.preventDefault(),C(!0))},children:[(0,r.jsx)(e2,{label:S,active:x,expanded:x,haspopup:"menu",hoverReveal:!0,buttonRef:k,onClick:e=>{e.stopPropagation(),(()=>{if(x)return C();let e=k.current?.getBoundingClientRect();e&&(w.current={top:e.top,bottom:e.bottom,right:e.right},b({top:e.bottom+4,right:Math.max(8,window.innerWidth-e.right)})),v(!0)})()},children:(0,r.jsx)(ts,{size:14})}),x&&y&&(0,s.createPortal)((0,r.jsxs)("div",{ref:j,role:"menu","aria-label":S,style:{position:"fixed",top:y.top,right:y.right,zIndex:600,minWidth:190,padding:4,background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-float)"},children:[n&&(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),u()},children:[R((0,r.jsx)(to,{size:13})),m("sidebar_renameSession")]}),(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),tA(e.id)},children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,r.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})),m("sidebar_copySessionId")]}),!e.subagent&&c&&(0,r.jsxs)("button",{type:"button",role:"menuitem",style:_,...I,onClick:()=>{C(),c()},children:[R((0,r.jsx)(e3,{size:13})),m(d?"sidebar_unpinSession":"sidebar_pinSession")]}),(l||null!==a)&&(0,r.jsxs)("button",{type:"button",role:"menuitem",disabled:!l,title:l?void 0:a??void 0,style:{..._,opacity:l?1:.45,cursor:l?"pointer":"not-allowed"},onClick:()=>{l&&(C(),h())},children:[R((0,r.jsx)(e9,{size:13})),m("sidebar_archiveSession")]}),"string"==typeof e?.id&&e.id.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("a",{role:"menuitem",href:tL(e.id),download:!0,style:_,...I,onClick:()=>C(),children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("path",{d:"M12 3v12"}),(0,r.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,r.jsx)("path",{d:"M5 21h14"})]})),m("sidebar_exportSessionHtml")]}),(0,r.jsxs)("a",{role:"menuitem",href:(f=e.id,g=new URLSearchParams({format:"jsonl"}),`${tL(f)}?${g.toString()}`),download:!0,style:_,...I,onClick:()=>C(),children:[R((0,r.jsxs)("svg",{...e4(13),children:[(0,r.jsx)("path",{d:"M8 3H7a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2 2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1"}),(0,r.jsx)("path",{d:"M16 21h1a2 2 0 0 0 2-2v-4a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"})]})),m("sidebar_exportSessionJsonl")]})]}),o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{height:1,margin:"4px 6px",background:"var(--border)"}}),(0,r.jsxs)("button",{type:"button",role:"menuitem",style:{..._,color:"var(--status-danger)"},onClick:()=>{C(),p()},children:[R((0,r.jsx)(ti,{size:13})),m("sidebar_deleteSession")]})]})]}),document.body)]})}function tP({project:e,displayMode:t,projectAliases:n,selectedSessionId:i,runningSessionIds:o,subagentRunningIds:l,unreadSessionIds:s,collapsedProjectRoots:a,collapsedSessionIds:c,searchActive:u,onToggleProject:p,onNewSession:h,onSelectSession:f,menuOpen:g,onMenuOpenChange:m,onEditProject:x,onCloseProject:v,onRenamed:y,onSessionDeleted:b,onToggleCollapse:w,groupVisibleCounts:k,onShowMore:j,onShowFewer:S,actionError:C,onSessionArchive:_,isSessionPinned:I,onTogglePin:R,onProjectDrop:T}){var E;let{t:M}=(0,eU.s9)(),A=(E=e.root,!u&&a.has(E)),L=e.tree.length>0,z=n[e.root]??d(e.root),W=M(A?"sidebar_expandProjectNamed":"sidebar_collapseProjectNamed",{project:z});return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!A,"aria-label":W,draggable:!!T,onDragStart:t=>{T&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/pidance-project",e.root),t.dataTransfer.setData("text/plain",e.root))},onDragOver:e=>{T&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{if(!T)return;t.preventDefault(),t.stopPropagation();let n=t.dataTransfer.getData("text/pidance-project")||t.dataTransfer.getData("text/plain");n&&T(n,e.root)},onClick:()=>p(e.root),onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onKeyDown:t=>{t.target===t.currentTarget&&("Enter"===t.key||" "===t.key)&&(t.preventDefault(),p(e.root))},title:e.root,style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",position:"relative",paddingLeft:32,paddingRight:8,borderRadius:6,cursor:"pointer",background:"transparent",color:"var(--text-muted)"},children:[(0,r.jsx)(ta,{collapsed:A,label:W,left:6,onClick:t=>{t.stopPropagation(),p(e.root)}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e5,{size:13})}),(0,r.jsx)(eZ,{text:z,style:{flex:1,fontSize:12.5,fontWeight:600,fontFamily:"var(--font-mono)"}}),(0,r.jsx)(e2,{label:M("sidebar_newSessionIn",{project:z}),hoverReveal:!0,onClick:t=>{t.stopPropagation(),h(e.root)},children:(0,r.jsx)(e7,{size:14})}),(0,r.jsx)(tW,{open:g,onOpenChange:m,projectName:z,onEdit:x,onClose:v})]}),C&&(0,r.jsx)("div",{role:"alert",style:{padding:"3px 10px 6px 31px",color:"var(--status-danger)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:C}),!A&&(0,r.jsxs)("div",{children:[e$(e.tree,eL(k,e.root),u).map(e=>(0,r.jsx)(tF,{node:e,selectedSessionId:i,runningSessionIds:o,subagentRunningIds:l,unreadSessionIds:s,onSelectSession:f,onRenamed:y,onSessionDeleted:b,onSessionArchive:_,isSessionPinned:I,onTogglePin:R,depth:0,collapsedSessionIds:c,searchActive:u,onToggleCollapse:w,displayMode:t},e.session.id)),(0,r.jsx)(tp,{groupKey:e.root,total:e.tree.length,visibleCount:eL(k,e.root),searchActive:u,onShowMore:j,onShowFewer:S}),!L&&(0,r.jsx)("div",{style:{padding:"2px 10px 6px 31px",color:"var(--text-dim)",fontSize:11},children:M("sidebar_noSessionsYet")})]})]})}function tF({node:e,selectedSessionId:t,runningSessionIds:n,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:s,onSessionDeleted:a,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:m}){var x;let v=e.children.length>0,y=(x=e.session.id,!f&&h.has(x));return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{"data-session-id":e.session.id,style:{position:"relative"},children:(0,r.jsx)(tH,{session:e.session,relation:e.relation,isSelected:e.session.id===t,isRunning:n.has(e.session.id)||i.has(e.session.id),isUnread:!e.session.subagent&&o.has(e.session.id),onClick:()=>l(e.session),onRenamed:s,onDeleted:e=>a?.(e),onArchive:e=>d?.(e),isPinned:c?.(e.session.id),onTogglePin:()=>u?.(e.session.id),depth:p,hasChildren:v,collapsed:y,onToggleCollapse:()=>g(e.session.id),displayMode:m})}),v&&!y&&(0,r.jsx)("div",{children:e.children.map(e=>(0,r.jsx)(tF,{node:e,selectedSessionId:t,runningSessionIds:n,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:s,onSessionDeleted:a,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p+1,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:m},e.session.id))})]})}function tH({session:e,relation:t=null,isSelected:n,isRunning:o,isUnread:l,onClick:s,onRenamed:a,onDeleted:d,onArchive:c,isPinned:u,onTogglePin:p,depth:h=0,hasChildren:f=!1,collapsed:g=!1,onToggleCollapse:m,displayMode:x}){let{t:v}=(0,eU.s9)(),[y,b]=(0,i.useState)(!1),[w,k]=(0,i.useState)(!1),[j,S]=(0,i.useState)(""),[C,_]=(0,i.useState)(!1),[I,R]=(0,i.useState)(!1),T=(0,i.useRef)(null),E=(0,i.useContext)(ty),M=(0,i.useContext)(tb),A=!!e.id&&M.has(e.id),L=!!e.id&&E.has(e.id),z=tM(e),W=!0===o,$=!W&&!1===tM(e).readOnly,P=$?null:v(W?"archive_rowDisabledRunning":"archive_rowDisabledReadOnly"),F=(0,i.useContext)(tv),H=e.id?F.startedAt.get(e.id):void 0,D=!0===o&&!(f&&g),N=e.firstMessage.trim(),B=e.subagent&&(!N||"(no messages)"===N)?`${e.subagent.agent?`${e.subagent.agent} \xb7 `:""}${v("sidebar_runCount",{count:e.subagent.runIndex})}`:"",O="(no messages)"===N?v("sidebar_noMessages"):e.firstMessage,U=e.name||B||O.slice(0,50)||e.id.slice(0,12),q=(0,i.useCallback)(()=>{z.canRename&&(S(U),k(!0),setTimeout(()=>T.current?.select(),0))},[U,z.canRename]),K=(0,i.useCallback)(async()=>{if(!z.canRename)return void k(!1);let t=j.trim();if(k(!1),t!==(e.name??""))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}),a?.()}catch{}},[j,e.id,e.name,a,z.canRename]),V=(0,i.useCallback)(()=>{z.canDelete&&_(!0)},[z.canDelete]),J=(0,i.useCallback)(async()=>{if(!z.canDelete)return void _(!1);_(!1),R(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)return void R(!1);d?.(e.id)}catch{R(!1)}},[e.id,d,z.canDelete]),Y=(0,i.useCallback)(()=>{_(!1)},[]),X="compact"===x,G=X?30:40;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"sidebar-row","data-sidebar-depth":h,onClick:w?void 0:s,onMouseEnter:()=>b(!0),onMouseLeave:()=>{b(!1)},style:{height:G,display:"flex",alignItems:"center",width:"calc(100% - 12px)",margin:"1px 6px",position:"relative",paddingLeft:32+14*h,paddingRight:8,borderRadius:6,cursor:w?"default":"pointer",background:n?"var(--bg-selected)":y?"var(--bg-hover)":"transparent",borderLeft:n?"2px solid var(--accent)":"2px solid transparent",transition:"background 0.15s ease, color 0.15s ease",opacity:I?.5:1,gap:6,overflow:"hidden"},children:w?(0,r.jsx)("input",{ref:T,value:j,onChange:e=>S(e.target.value),onBlur:K,onKeyDown:e=>{"Enter"===e.key&&K(),"Escape"===e.key&&k(!1)},autoFocus:!0,"aria-label":v("sidebar_renameSession"),style:{flex:1,fontSize:X?11:12,padding:"0 8px",border:"1px solid var(--accent)",borderRadius:5,outline:"none",background:"var(--bg)",color:"var(--text)",height:X?20:28}}):(0,r.jsxs)(r.Fragment,{children:[f?(0,r.jsx)("button",{type:"button",className:"sidebar-chevron-btn sidebar-indent-indicator sidebar-chevron-always",onClick:e=>{e.stopPropagation(),m?.()},"data-tooltip":v(g?"sidebar_expandChild":"sidebar_collapseChild"),"aria-label":v(g?"sidebar_expandChild":"sidebar_collapseChild"),style:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:6+14*h,top:"50%",width:20,height:20,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",transform:`translateY(-50%)${g?" rotate(-90deg)":""}`,transition:"transform 0.15s"},children:(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,r.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})}):(0,r.jsx)("span",{className:"sidebar-indent-placeholder","aria-hidden":"true",style:{position:"absolute",left:6+14*h,top:"50%",width:20,height:20,transform:"translateY(-50%)"}}),o&&!L&&(0,r.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:6+14*h,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",pointerEvents:"none"},children:(0,r.jsx)(th,{size:18})}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:X?11.5:12,fontWeight:400,lineHeight:1.4,color:n?"var(--accent-hover)":"var(--text)"},title:U,children:[L?(0,r.jsx)(tf,{size:10}):o?null:A?(0,r.jsx)(tm,{size:10}):l?(0,r.jsx)(tx,{size:10}):null,!L&&D&&X&&(0,r.jsx)(tg,{startedAt:H,now:F.now,running:!0}),(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:U}),X&&e.subagent&&(0,r.jsx)("span",{title:`${v("sidebar_subagentReadOnly")}${e.subagent.agent?` \xb7 ${e.subagent.agent}`:""} \xb7 ${v("sidebar_runCount",{count:e.subagent.runIndex})}`,style:{display:"inline-flex",alignItems:"center",flexShrink:0,padding:"0 5px",border:"1px solid color-mix(in srgb, var(--status-success) 42%, var(--border))",borderRadius:999,color:"var(--status-success)",fontSize:9,lineHeight:1.55},children:v("sidebar_subagentBadge")})]}),!X&&(0,r.jsxs)("div",{style:{marginTop:1,display:"flex",alignItems:"center",gap:8,color:"var(--text-dim)",fontSize:10.5,minWidth:0},children:[!L&&D&&(0,r.jsx)(tg,{startedAt:H,now:F.now,running:!0}),(0,r.jsx)("span",{title:e.modified,children:eG(e.modified,v)}),(0,r.jsx)("span",{children:v("sidebar_messagesCount",{count:e.messageCount})}),e.subagent&&(0,r.jsxs)("span",{title:`${v("sidebar_subagentReadOnly")}${e.subagent.agent?` \xb7 ${e.subagent.agent}`:""} \xb7 ${v("sidebar_runCount",{count:e.subagent.runIndex})}`,style:{display:"flex",alignItems:"center",gap:4,color:"var(--text-muted)",minWidth:0,overflow:"hidden"},children:[(0,r.jsx)("span",{style:{flexShrink:0,fontSize:9,padding:"0 5px",borderRadius:999,border:"1px solid color-mix(in srgb, var(--status-success) 42%, var(--border))",color:"var(--status-success)",lineHeight:1.55},children:v("sidebar_subagentBadge")}),(0,r.jsxs)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:10},children:[e.subagent.agent?`${e.subagent.agent} \xb7 `:"",v("sidebar_runCount",{count:e.subagent.runIndex})]})]})]})]}),(0,r.jsx)(t$,{session:e,title:U,canRename:z.canRename,canDelete:z.canDelete,canArchive:$,archiveDisabledReason:P,isPinned:u,onTogglePin:p,onRename:q,onDelete:V,onArchive:()=>c?.(e.id)})]})}),(0,r.jsx)(tR,{open:C,onClose:Y,title:v("sidebar_deleteSession"),description:v("sidebar_deleteConfirm",{name:U}),width:400,closeLabel:v("dialog_close"),actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{disabled:I,onClick:Y,children:v("sidebar_cancel")}),(0,r.jsx)(td,{danger:!0,disabled:I,onClick:()=>void J(),children:v("sidebar_deleteSession")})]})})]})}function tD(e){return"string"==typeof e?.name&&"string"==typeof e?.path}let tN={ok:!1,path:null,parentPath:null,entries:[],git:null};async function tB(e,t=fetch){try{var n;let r=await t(`/api/cwd/browse?path=${encodeURIComponent(e)}`);if(!r.ok)return tN;let i=await r.json().catch(()=>null);if(!i||"object"!=typeof i)return tN;return{ok:!0,path:"string"==typeof i.path&&i.path?i.path:e,parentPath:"string"==typeof i.parentPath?i.parentPath:null,entries:Array.isArray(i.entries)?i.entries.filter(tD):[],git:(n=i.git,"boolean"==typeof n?.isRepo)?i.git:null}}catch{return tN}}async function tO(e,t=fetch){try{let n=await t("/api/cwd/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await n.json().catch(()=>({}));if(!n.ok||r.error){if("NOT_FOUND"===r.code)return{kind:"notFound",cwd:r.cwd??e};return{kind:"error",message:r.error??`HTTP ${n.status}`}}return{kind:"ok",cwd:r.cwd??e}}catch(e){return{kind:"error",message:e instanceof Error?e.message:String(e)}}}async function tU(e,t=fetch){try{let n=await t("/api/cwd/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await n.json().catch(()=>({}));if(!n.ok||r.error)return{ok:!1,message:r.error??`HTTP ${n.status}`};return{ok:!0,cwd:r.cwd??e}}catch(e){return{ok:!1,message:e instanceof Error?e.message:String(e)}}}function tq({open:e,onClose:t,onAdded:n}){let{t:o}=(0,eU.s9)(),l=(0,i.useRef)(null),[s,a]=(0,i.useState)(""),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,m]=(0,i.useState)(null),[x,v]=(0,i.useState)([]),[y,b]=(0,i.useState)(null),[w,k]=(0,i.useState)(!1),[j,S]=(0,i.useState)(null),[C,_]=(0,i.useState)(null),[I,R]=(0,i.useState)(null),T=(0,i.useRef)(0),E=(0,i.useRef)(null),M=(0,i.useRef)(null),A=(0,i.useCallback)(()=>{T.current+=1,null!==E.current&&(window.clearTimeout(E.current),E.current=null)},[]),L=(0,i.useCallback)(()=>{A(),a(""),c(null),p(!1),f(null),m(null),v([]),b(null),k(!1),S(null),_(null),R(null),M.current=null},[A]);(0,i.useEffect)(()=>()=>A(),[A]);let z=(0,i.useCallback)(async(e,t=!1)=>{let n=++T.current;p(!0);let r=await tB(e);if(n===T.current){if(r.ok){let n=r.path??e;t&&(M.current=n,a(n)),f(n),m(r.parentPath),v(r.entries),b(r.git),k(!1)}else f(null),m(null),v([]),b(null),k(!0);p(!1)}},[]);(0,i.useEffect)(()=>{e?z("",!0):L()},[e,L,z]),(0,i.useEffect)(()=>{if(!e)return;let t=s.trim();if(t){if(null!==M.current&&M.current===t){M.current=null;return}A(),E.current=window.setTimeout(()=>{E.current=null,z(t)},250)}},[e,s,z,A]);let W=(0,i.useCallback)(e=>{A(),z(e,!0)},[z,A]),$=(0,i.useCallback)(()=>{t()},[t]),P=(0,i.useCallback)(async()=>{let e=s.trim();if(e&&null===I){R("validate"),c(null);try{let t=await tO(e);if("notFound"===t.kind){_(null),S(t.cwd);return}if("error"===t.kind)return void c(t.message);n(t.cwd)}finally{R(null)}}},[s,I,n]),F=(0,i.useCallback)(async()=>{if(j&&null===I){R("create"),_(null);try{let e=await tU(j);if(!e.ok)return void _(e.message);S(null),n(e.cwd)}finally{R(null)}}},[j,I,n]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(tR,{open:e,onClose:$,title:o("sidebar_addProjectDialog"),width:440,closeLabel:o("dialog_close"),initialFocusRef:l,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:$,children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:null!==I||!s.trim(),onClick:()=>void P(),children:o("validate"===I?"sidebar_validating":"sidebar_add")})]}),children:(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"add-project-path",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:o("sidebar_projectPath")}),(0,r.jsx)("input",{id:"add-project-path",ref:l,value:s,onChange:e=>{a(e.target.value),c(null),M.current=null},onKeyDown:e=>{"Escape"===e.key&&null===I&&(e.preventDefault(),$())},placeholder:"/path/to/project","aria-label":o("sidebar_projectPath"),autoComplete:"off",spellCheck:!1,style:{width:"100%",height:32,fontSize:12,fontFamily:"var(--font-mono)",padding:"0 10px",border:"1px solid var(--border)",borderRadius:7,outline:"none",background:"var(--bg-panel)",color:"var(--text)",boxSizing:"border-box"}}),(0,r.jsxs)("div",{style:{marginTop:10},children:[u&&!h&&(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseLoading")}),!u&&w&&(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseMissing")}),!w&&y&&(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,marginBottom:6,color:y.isRepo?"var(--text-muted)":"var(--text-dim)"},children:y.isRepo?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{style:{color:"var(--accent)",fontWeight:600},children:o("sidebar_browseGitRepo")}),y.branch&&(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10.5},children:y.branch})]}):(0,r.jsx)("span",{children:o("sidebar_browseNotGit")})}),h&&(0,r.jsxs)("div",{style:{maxHeight:150,overflowY:"auto",overflowX:"hidden",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:4},children:[g&&(0,r.jsx)("button",{type:"button",disabled:u,onClick:()=>W(g),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text-muted)",fontSize:12,cursor:"pointer",borderRadius:5,fontFamily:"var(--font-mono)"},onMouseEnter:e=>e.currentTarget.style.background="var(--bg-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:".."}),0===x.length?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseEmpty")}):x.map(e=>(0,r.jsxs)("button",{type:"button",disabled:u,onClick:()=>W(e.path),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text)",fontSize:12,cursor:"pointer",borderRadius:5,textAlign:"left",fontFamily:"var(--font-mono)"},onMouseEnter:e=>e.currentTarget.style.background="var(--bg-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10.5},children:"▸"}),(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]})]}),d&&(0,r.jsx)("div",{role:"alert",style:{marginTop:8,color:"var(--status-danger)",fontSize:12,lineHeight:1.45,overflowWrap:"anywhere"},children:d})]})}),(0,r.jsxs)(tR,{open:null!==j,onClose:()=>{S(null),_(null)},title:o("sidebar_createPathTitle"),width:400,zIndex:1100,closeLabel:o("dialog_close"),actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:()=>{S(null),_(null)},children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:null!==I,onClick:()=>void F(),children:o("create"===I?"sidebar_creatingPath":"sidebar_createPathAction")})]}),children:[(0,r.jsx)("div",{style:{fontSize:12.5,color:"var(--text)",lineHeight:1.5,overflowWrap:"anywhere"},children:o("sidebar_createPathPrompt",{path:j??""})}),j&&(0,r.jsx)("div",{style:{marginTop:6,fontSize:11.5,fontFamily:"var(--font-mono)",color:"var(--text-muted)",overflowWrap:"anywhere"},children:j}),C&&(0,r.jsx)("div",{role:"alert",style:{marginTop:8,color:"var(--status-danger)",fontSize:12,lineHeight:1.45,overflowWrap:"anywhere"},children:C})]})]})}function tK({cwd:e,tab:t}){let{t:n}=(0,eU.s9)(),[o,l]=(0,i.useState)(null),[s,a]=(0,i.useState)(null),[d,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(""),[w,k]=(0,i.useState)(""),j=(0,i.useCallback)(async()=>{c(!0),f(null);try{let t=await fetch(`/api/project-assets?cwd=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let n=await t.json();l(n.rulesContent??""),a(Array.isArray(n.skills)?n.skills:[])}catch(e){f(e instanceof Error?e.message:String(e))}finally{c(!1)}},[e]);(0,i.useEffect)(()=>{j()},[j]);let S=(0,i.useCallback)(async t=>{let n=await fetch("/api/project-assets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})});if(!n.ok)throw Error((await n.json().catch(()=>({}))).error??`HTTP ${n.status}`);return!0},[e]),C=(0,i.useCallback)(async()=>{if(null!==o){p(!0),f(null),m(!1);try{await S({kind:"rules",content:o}),m(!0),window.setTimeout(()=>m(!1),2e3)}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[o,S]),_=(0,i.useCallback)(async()=>{let e=w.trim();if(e){p(!0),f(null);try{await S({kind:"skill",action:"create",name:e}),k(""),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[w,S,j]),I=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"update",name:e,content:y}),v(null),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[y,S,j]),R=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"toggle",name:e.name,enabled:!e.enabled}),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,j]),T=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"delete",name:e}),await j()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,j]),E={width:"100%",minHeight:200,padding:"10px 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,lineHeight:1.55,outline:"none",fontFamily:"var(--font-mono)",whiteSpace:"pre",overflow:"auto",boxSizing:"border-box",resize:"vertical"};return d?(0,r.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:n("common_loading")}):(0,r.jsxs)("div",{children:[h&&(0,r.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10,whiteSpace:"pre-wrap"},children:h}),"rules"===t?(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:8,fontFamily:"var(--font-mono)"},children:[e,"/AGENTS.md"]}),(0,r.jsx)("textarea",{value:o??"",onChange:e=>l(e.target.value),spellCheck:!1,"aria-label":n("projectAssets_rules"),style:E}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:10},children:[(0,r.jsx)("button",{type:"button",onClick:()=>void C(),disabled:u||null===o,style:{minHeight:30,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u||null===o?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u||null===o?.6:1},children:u?n("common_saving"):n("common_save")}),g&&(0,r.jsx)("span",{style:{fontSize:12,color:"var(--accent)"},children:n("common_saved")})]})]}):(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12},children:[(0,r.jsx)("input",{type:"text",value:w,onChange:e=>k(e.target.value),placeholder:n("projectAssets_newSkillName"),"aria-label":n("projectAssets_newSkillName"),style:{flex:1,height:30,padding:"0 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,outline:"none"}}),(0,r.jsx)("button",{type:"button",onClick:()=>void _(),disabled:u||!w.trim(),style:{minHeight:30,padding:"0 12px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u||!w.trim()?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u||!w.trim()?.6:1},children:n("projectAssets_addSkill")})]}),s?.length===0?(0,r.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:n("projectAssets_noSkills")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:(s??[]).map(e=>(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,r.jsx)("span",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,r.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer"},children:[(0,r.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:()=>void R(e),disabled:u}),n("projectAssets_enabled")]}),(0,r.jsx)("button",{type:"button",onClick:()=>{v(e.name),b(e.content)},style:{fontSize:11,color:"var(--accent)",cursor:"pointer",background:"none",border:"none"},children:n("projectAssets_edit")}),(0,r.jsx)("button",{type:"button",onClick:()=>void T(e.name),disabled:u,style:{fontSize:11,color:"var(--status-danger)",cursor:u?"not-allowed":"pointer",background:"none",border:"none"},children:n("common_remove")})]}),x===e.name&&(0,r.jsxs)("div",{style:{padding:8},children:[(0,r.jsx)("textarea",{value:y,onChange:e=>b(e.target.value),spellCheck:!1,"aria-label":`${e.name} SKILL.md`,style:E}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginTop:8},children:[(0,r.jsx)("button",{type:"button",onClick:()=>void I(e.name),disabled:u,style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u?.6:1},children:u?n("common_saving"):n("common_save")}),(0,r.jsx)("button",{type:"button",onClick:()=>v(null),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:n("common_cancel")})]})]})]},e.name))})]})]})}function tV({projectRoot:e,initialName:t,onClose:n,onSaveName:o}){let{t:l}=(0,eU.s9)(),s=(0,i.useRef)(null),[a,d]=(0,i.useState)("name"),[c,u]=(0,i.useState)(t);return(0,i.useEffect)(()=>{null!==e&&(d("name"),u(t))},[e,t]),(0,r.jsxs)(tR,{open:null!==e,onClose:n,title:l("sidebar_editProject"),width:720,height:620,closeLabel:l("dialog_close"),description:e?l("sidebar_editProjectDescription",{path:e}):void 0,children:[(0,r.jsx)("div",{style:{display:"flex",gap:8,marginBottom:14,flexWrap:"wrap"},children:[["name",l("sidebar_projectName")],["rules",l("sidebar_projectRules")],["skills",l("sidebar_projectSkills")]].map(([e,t])=>(0,r.jsx)("button",{type:"button",onClick:()=>d(e),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:a===e?"var(--bg-selected)":"var(--bg-panel)",color:a===e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:a===e?600:400},"aria-current":a===e?"page":void 0,children:t},e))}),"name"===a?(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=c.trim();t&&o(t)},children:[(0,r.jsx)("label",{htmlFor:"edit-project-name",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:l("sidebar_projectName")}),(0,r.jsx)("input",{id:"edit-project-name",ref:s,value:c,onChange:e=>u(e.target.value),placeholder:l("sidebar_projectName"),"aria-label":l("sidebar_projectName"),"aria-invalid":!c.trim(),autoComplete:"off",spellCheck:!1,style:{width:"100%",height:32,fontSize:12.5,padding:"0 10px",border:"1px solid var(--border)",borderRadius:7,outline:"none",background:"var(--bg-panel)",color:"var(--text)",boxSizing:"border-box"}}),!c.trim()&&(0,r.jsx)("div",{style:{marginTop:6,fontSize:11.5,color:"var(--status-danger)"},children:l("sidebar_projectNameRequired")}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginTop:14},children:[(0,r.jsx)("button",{type:"submit",disabled:!c.trim(),style:{minHeight:30,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:c.trim()?"pointer":"not-allowed",fontSize:12,fontWeight:600,opacity:c.trim()?1:.6},children:l("sidebar_save")}),(0,r.jsx)("button",{type:"button",onClick:n,style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:l("sidebar_cancel")})]})]}):e&&(0,r.jsx)(tK,{cwd:e,tab:"skills"===a?"skills":"rules"})]})}async function tJ(e,t,n){try{let r=await n(e,t),i=await r.json().catch(()=>({}));return{ok:r.ok,status:r.status,error:i.error}}catch(e){return{ok:!1,status:0,error:e instanceof Error?e.message:String(e)}}}function tY(e){if(!e.archivedAt)return-1/0;let t=Date.parse(e.archivedAt);return Number.isNaN(t)?-1/0:t}function tX(e,t=60){let n=e.name?.trim()||e.firstMessage.trim()||e.id;return n.length<=t?n:`${n.slice(0,t)}…`}function tG(e){return e.ok?"other":409===e.status?"running":403===e.status?"readOnly":0===e.status?"network":"other"}function tZ({sessions:e,count:t,homeDir:n,loading:o,onRefresh:l,onBack:s}){let{t:d}=(0,eU.s9)(),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)({sessionId:null}),[f,g]=(0,i.useState)(null);(0,i.useEffect)(()=>{l()},[l]);let m=(0,i.useCallback)(e=>{let t=tG(e);return"running"===t?d("archive_runningConflict"):"readOnly"===t?d("archive_readOnlyForbidden"):"network"===t?d("archive_networkError"):e.error??d("archive_unknownError")},[d]),x=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(d("archive_restoreFailed",{error:m(t)}));l()}catch(e){g(d("archive_restoreFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,d,m]),v=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(d("archive_deleteFailed",{error:m(t)}));h({sessionId:null}),l()}catch(e){g(d("archive_deleteFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,d,m]),y=[...e].sort((e,t)=>{let n=tY(e),r=tY(t);return n===r?0:n===-1/0?1:r===-1/0?-1:r-n}),b=p.sessionId?y.find(e=>e.id===p.sessionId)??null:null,w=b?tX(b):"",k=!!b&&c===b.id;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("button",{type:"button",onClick:s,"data-tooltip":d("archive_back"),"aria-label":d("archive_back"),className:"sidebar-icon-btn",style:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,r.jsx)(tr,{size:14})}),(0,r.jsx)("span",{style:{flex:1,minWidth:0,fontSize:12.5,fontWeight:600,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d("archive_viewTitle")}),(0,r.jsx)("span",{title:d("archive_viewCount",{count:t}),style:{flexShrink:0,minWidth:18,padding:"1px 6px",boxSizing:"border-box",borderRadius:999,background:"var(--bg-selected)",color:"var(--text-muted)",fontSize:10,fontWeight:600,textAlign:"center"},children:t})]}),f&&(0,r.jsx)("div",{role:"alert",style:{padding:"6px 10px",borderBottom:"1px solid var(--border)",background:"var(--status-danger-bg)",color:"var(--status-danger)",fontSize:11,lineHeight:1.4,overflowWrap:"anywhere",flexShrink:0},children:f}),(0,r.jsxs)("div",{style:{flex:"1 1 auto",overflowY:"auto",padding:"4px 0",minHeight:80},children:[o&&0===y.length&&(0,r.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:d("sidebar_loading")}),!o&&0===y.length&&(0,r.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[d("archive_empty"),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:d("archive_emptyHint")})]}),y.map(e=>{let t=tX(e),i=c===e.id;return(0,r.jsxs)("div",{"data-archive-session-id":e.id,style:{display:"flex",alignItems:"center",gap:6,margin:"1px 6px",padding:"7px 8px",borderRadius:6,background:"transparent",opacity:i?.5:1},children:[(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{title:t,style:{fontSize:12,fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4},children:t}),(0,r.jsxs)("div",{style:{fontSize:10.5,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4,marginTop:1},children:[a(e.cwd,n)," \xb7 ",d("archive_archivedAt",{date:eG(e.archivedAt??e.modified,d)})]})]}),(0,r.jsx)("button",{type:"button",disabled:i,onClick:()=>void x(e),title:d("archive_restore"),style:{padding:"3px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",fontSize:11,cursor:i?"not-allowed":"pointer",flexShrink:0},children:i?d("archive_restoring"):d("archive_restore")}),(0,r.jsx)("button",{type:"button",disabled:i,onClick:()=>h({sessionId:e.id}),title:d("archive_delete"),"aria-label":d("archive_delete"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:i?"not-allowed":"pointer",flexShrink:0},children:(0,r.jsx)(ti,{size:13})})]},e.id)})]}),(0,r.jsx)(tR,{open:null!==b,onClose:()=>{k||h({sessionId:null})},title:d("archive_delete"),description:b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{fontWeight:600,color:"var(--text)",marginBottom:4},children:w}),(0,r.jsx)("div",{children:d("archive_deleteConfirm")})]}):d("archive_deleteConfirm"),width:400,closeLabel:d("dialog_close"),closeOnBackdrop:!k,closeOnEsc:!k,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{disabled:k,onClick:()=>h({sessionId:null}),children:d("archive_deleteCancel")}),(0,r.jsx)(td,{danger:!0,disabled:k||!b,onClick:()=>{b&&v(b)},children:k?d("archive_deleting"):d("archive_deleteConfirmButton")})]})})]})}function tQ(e,t){let n=new Set(e);for(let e of t)n.add(e);return n}function t0(e){let t=e?.now??(()=>Date.now()),n={serverSessions:[],pendingById:new Map,pendingIds:new Set,deletedIds:new Set,archivedSessions:[],archivedCount:0,runningIds:new Set,startingIds:new Set,runningStartedAt:new Map,runningEpoch:new Map,unread:(0,eX.oJ)(),loading:!1,error:null,serverListLoaded:!1,listStatus:"idle"},r=new Set,i=()=>{for(let e of r)e()},o={getState:()=>n,getSnapshot(e=null){let t=function(e){let{serverSessions:t,pendingSessions:n,pendingIds:r=new Set(n.map(e=>e.id)),deletedIds:i}=e,o=new Map;for(let e of t)i?.has(e.id)||o.set(e.id,e);for(let e of n)!(i?.has(e.id)||o.has(e.id))&&r.has(e.id)&&o.set(e.id,e);return[...o.values()].sort(eP)}({serverSessions:n.serverSessions,pendingSessions:[...n.pendingById.values()],pendingIds:n.pendingIds,deletedIds:n.deletedIds}),r=tQ(n.runningIds,n.startingIds),i=(0,eX.hA)(n.unread),o=(0,eX.ah)(n.unread);for(let e of r)o.delete(e);for(let t of(e&&o.delete(e),r))i.delete(t);return e&&i.delete(e),{sessions:t,archivedSessions:n.archivedSessions,archivedCount:n.archivedCount,runningIds:new Set(n.runningIds),startingIds:new Set(n.startingIds),effectiveRunningIds:r,unreadIds:i,abnormalIds:o,loading:n.loading,error:n.error,serverListLoaded:n.serverListLoaded,listStatus:n.listStatus,runningStartedAt:new Map(n.runningStartedAt)}},subscribe:e=>(r.add(e),()=>{r.delete(e)}),applyServerList(e){let t=e.archivedSessions??[];n.serverSessions=[...e.sessions],n.archivedSessions=t,n.archivedCount=e.archivedCount??t.length,n.loading=!1,n.error=null,n.serverListLoaded=!e.provisional||n.serverListLoaded,n.listStatus="ready",((e,t)=>{let r=new Set(t.map(e=>e.id)),i=new Set(e.map(e=>e.id)),o=!1,l=new Map(n.pendingById);for(let e of[...l.keys()])(i.has(e)||r.has(e)||n.deletedIds.has(e))&&(l.delete(e),o=!0);let s=function(e,t){if(0===e.size)return e;let n=new Set(t.map(e=>e.id)),r=!1,i=new Set;for(let t of e){if(n.has(t)){r=!0;continue}i.add(t)}return r?i:e}(n.pendingIds,e);for(let e of[...s])(r.has(e)||n.deletedIds.has(e))&&s.delete(e);o&&(n.pendingById=l),n.pendingIds=s})(e.sessions,t);let r=new Set([...e.sessions.map(e=>e.id),...n.pendingIds]);if(n.unread=(0,eX.v7)(n.unread,r),e.runningSessionIds&&0===n.runningIds.size&&0===n.startingIds.size)o.applyRunningSnapshot({runningIds:e.runningSessionIds,runningStartedAt:e.runningStartedAt,selectedSessionId:e.selectedSessionId,now:e.now});else if(e.runningStartedAt){let t=new Map(n.runningStartedAt);for(let[n,r]of Object.entries(e.runningStartedAt))t.has(n)||"number"!=typeof r||t.set(n,r);n.runningStartedAt=t}i()},applyListError(e){n.loading=!1,n.error=e,n.listStatus="error",n.serverListLoaded=!0,i()},beginListLoad(){"idle"===n.listStatus&&(n.listStatus="loading"),n.loading=0===n.serverSessions.length&&0===n.pendingById.size,i()},upsertPending(e){if(n.deletedIds.has(e.id))return;let t=new Map(n.pendingById);t.set(e.id,e),n.pendingById=t;let r=new Set(n.pendingIds);r.add(e.id),n.pendingIds=r,i()},removePending(e){if(!n.pendingById.has(e)&&!n.pendingIds.has(e))return;let t=new Map(n.pendingById);t.delete(e),n.pendingById=t;let r=new Set(n.pendingIds);r.delete(e),n.pendingIds=r,i()},markDeleted(e){let t=new Set(n.deletedIds);t.add(e),n.deletedIds=t,o.removePending(e);let r=new Set(n.startingIds);r.delete(e),n.startingIds=r,i()},markStarting(e,r=t()){if(!e)return;let o=new Set(n.startingIds);o.add(e),n.startingIds=o;let l=new Map(n.runningStartedAt);l.has(e)||l.set(e,r),n.runningStartedAt=l,i()},clearStarting(e){if(!n.startingIds.has(e))return;let t=new Set(n.startingIds);if(t.delete(e),n.startingIds=t,!n.runningIds.has(e)&&n.runningStartedAt.has(e)){let t=new Map(n.runningStartedAt);t.delete(e),n.runningStartedAt=t}i()},applyRunningSnapshot(e){let r=new Set(e.runningIds),o=((e,t)=>{let r=new Set;for(let i of n.startingIds)!e.has(i)&&t.has(i)&&r.add(i);return r})(r,new Set(e.localInFlightIds??[])),l=n.runningIds,s=new Map(n.runningStartedAt),a=new Map(n.runningEpoch),d=e.now??t(),c=new Date(d).toISOString();if(e.runningStartedAt)for(let[t,i]of Object.entries(e.runningStartedAt)){if("number"!=typeof i)continue;let o=s.get(t);void 0!==o&&o!==i&&r.has(t)&&(a.set(t,(a.get(t)??0)+1),n.unread=(0,eX.du)(n.unread,new Set([t]),new Set,e.selectedSessionId??null,c)),s.set(t,i)}for(let e of r)s.has(e)||s.set(e,d);for(let e of[...s.keys()])r.has(e)||o.has(e)||s.delete(e);let u=tQ(r,o);n.unread=(0,eX.du)(n.unread,l,u,e.selectedSessionId??null,c),n.runningIds=r,n.startingIds=o,n.runningStartedAt=s,n.runningEpoch=a,i()},markRead(e,r=new Date(t()).toISOString()){let o=(0,eX.AH)(n.unread,e,r);o!==n.unread&&(n.unread=o,i())},replaceUnread(e){n.unread=e,i()}};return o}let t1=new Map;function t2(e){return{value:e.value,images:e.images.map(e=>({...e}))}}function t4(e){return!e.value&&0===e.images.length}function t6(e){return`drafts.${e}`}function t5(e){let t=t1.get(e);return t?t2(t):null}function t8(e,t){if(t4(t)){t1.delete(e),(0,eA.dM)(t6(e),void 0),(0,eA.qs)();return}t1.set(e,t2(t));let n={...t2(t),updatedAt:Date.now()};(0,eA.dM)(t6(e),n)}function t3(e){t1.delete(e),(0,eA.dM)(t6(e),void 0),(0,eA.qs)()}function t9(e,t,n=0){let r=t5(e);if(!r)return void t3(e);let i=""!==r.value&&r.value!==t,o=r.images.length>n,l=""===r.value&&r.images.length>0;i||o||l||t3(e)}var t7=n(54180),ne=n(61012);class nt extends Error{constructor(e){super("timeout"===e?"Timed out connecting to the agent event stream. Please try again.":"Failed to connect to the agent event stream. Please try again."),this.status=e,this.name="EventStreamConnectionError"}}function nn(e){return new EventSource(e)}function nr(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(()=>e()):setTimeout(e,16)}function ni(e){"function"==typeof cancelAnimationFrame?cancelAnimationFrame(e):clearTimeout(e)}function no(e){let t=e instanceof Error?e.message:String(e);return/already processing|already running|streamingBehavior/i.test(t)?"busy":/shell command is running/i.test(t)?"bash":/compaction/i.test(t)?"compacting":/cannot be queued|Extension command/i.test(t)?"extension":/no (valid )?model|model not found|未选择模型/i.test(t)?"model":/401|403|unauthor|api key|authentication|permission denied/i.test(t)?"auth":/running lease|locked by another|another process/i.test(t)?"locked":"error"}function nl(e=ns){return e()}function ns(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`sub-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function na(e){if("custom"!==e.role)return null;let t=e.renderedLines;return Array.isArray(t)&&t.length>0&&t.every(e=>"string"==typeof e)?t:null}function nd(e){if("custom"!==e.role)return null;let t="string"==typeof e.content?e.content:JSON.stringify(e.content);return`${e.customType}\u0000${e.display?"1":"0"}\u0000${t}`}function nc(e,t,n,r){let i=new Map,o=new Map;return e.forEach((e,n)=>{let r=na(e);if(!r)return;let l=t[n];if(l&&i.set(l,r),l)return;let s=nd(e);if(!s)return;let a=o.get(s)??[];a.push(r),o.set(s,a)}),n.map((e,t)=>{if("custom"!==e.role||na(e))return e;let n=r[t]?i.get(r[t]):void 0,l=n?null:nd(e),s=l?o.get(l)?.shift():void 0,a=n??s;return a?{...e,renderedLines:[...a]}:e})}function nu(e,t){return"custom"===e.role&&Array.isArray(t)&&t.every(e=>"string"==typeof e)?{...e,renderedLines:t}:e}function np(e){for(let t of[e.thinking,e.text,e.reasoning])if("string"==typeof t&&t.length>0)return t;return""}function nh(e){return"thinking"===e||"reasoning"===e||"redacted_thinking"===e}function nf(e){let t={...e,type:"thinking",thinking:np(e)};return!0===e.deferred&&(t.deferred=!0),t}let ng=/<think(?:ing)?>([\s\S]*?)<\/think(?:ing)?>/gi,nm=/<think(?:ing)?>/i;function nx(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function nv(e){if("assistant"!==e.role)return e;let t=e.content;if(!Array.isArray(t))return e;let n=t.map(e=>{let t=function(e){if(!nx(e)||"toolCall"!==e.type)return null;let t={type:"toolCall",toolCallId:"string"==typeof e.toolCallId?e.toolCallId:"string"==typeof e.id?e.id:"",toolName:"string"==typeof e.toolName?e.toolName:"string"==typeof e.name?e.name:"",input:"object"!=typeof e.input||null===e.input||Array.isArray(e.input)?"object"!=typeof e.arguments||null===e.arguments||Array.isArray(e.arguments)?{}:e.arguments:e.input};return Array.isArray(e.renderedCallLines)&&e.renderedCallLines.every(e=>"string"==typeof e)&&(t.renderedCallLines=[...e.renderedCallLines]),"string"==typeof e.toolLabel&&""!==e.toolLabel.trim()&&(t.toolLabel=e.toolLabel),"self"===e.toolShell&&(t.toolShell="self"),t}(e);return t||(nx(e)&&nh(e.type)?nf(e):e)});return{...e,content:n}}let ny="pidance.binary",nb=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/i;function nw(e){let t;if(!e||"object"!=typeof e||Array.isArray(e)||"binary"!==e.type||1!==e.version||"string"!=typeof e.path)return null;let n=e.path.trim();if(!n||n.length>4096)return null;let r=function(e){if("string"!=typeof e)return null;let t=e.replace(/[\\/\0]/g,"_").trim();return!t||t.length>180?null:t}(e.name),i=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return nb.test(t)?t:null}(e.mimeType);if(!r||!i||"number"!=typeof e.size||!Number.isSafeInteger(e.size)||e.size<0)return null;let o=e.kind;if("image"!==o&&"audio"!==o&&"video"!==o&&"file"!==o||o!==((t=i.toLowerCase()).startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"))return null;let l=void 0===e.previewPath?void 0:"string"==typeof e.previewPath&&e.previewPath.trim().length<=4096?e.previewPath.trim()||void 0:null;if(null===l)return null;let s=void 0===e.messageEntryId?void 0:"string"==typeof e.messageEntryId&&e.messageEntryId.trim()?e.messageEntryId.trim():null;return null===s?null:{type:"binary",version:1,kind:o,path:n,name:r,mimeType:i,size:e.size,...l?{previewPath:l}:{},...s?{messageEntryId:s}:{}}}function nk(e){return"string"==typeof e?e:Array.isArray(e)?e.map(e=>e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function nj(e,t,n){return{key:t||`disk:${n}`,message:e,entryId:t,pending:!1}}function nS(e,t){return{key:e,message:t,entryId:"",pending:!0}}function nC(e,t){return e.map((e,n)=>nj(e,t[n]??"",n))}function n_(e){return e.map(e=>e.entryId)}function nI(e,t){return e.find(e=>e.key===t)}function nR(e,t,n,r){let i=e.findIndex(e=>e.key===t);if(i<0)return null;let o=[...e];return o[i]={...o[i],message:n,entryId:r||o[i].entryId,pending:!1},o}function nT(e,t){let n=e.findIndex(e=>e.key===t);if(n<0)return{timeline:[...e],dropped:!1};let r=e[n];if(!r.pending||r.entryId)return{timeline:[...e],dropped:!1};let i=[...e];return i.splice(n,1),{timeline:i,dropped:!0}}function nE(e,t){let n=new Map;return e.forEach((e,r)=>{let i=t[r];if(!i||n.has(i))return;let o=na(e);o&&n.set(i,o)}),n}function nM(e,t){if(0===t.size)return e;let n=!1,r=e.map(e=>{let r=e.entryId?t.get(e.entryId):void 0;return!r||nA(e.message.renderedLines,r)?e:(n=!0,{...e,message:{...e.message,renderedLines:[...r]}})});return n?r:e}function nA(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function nL(){return{isStreaming:!1,streamingMessage:null}}function nz(e){if(0===e.themeLines.size&&0===e.themeSourceLines.size)return;let t=new Set(n_(e.timeline));for(let n of[...e.themeLines.keys()])t.has(n)||e.themeLines.delete(n);for(let n of[...e.themeSourceLines.keys()])t.has(n)&&e.themeLines.has(n)||e.themeSourceLines.delete(n)}function nW(e,t){t8(e,{value:t.value,images:t.images})}let n$=null;function nP(){var e;let t,r,i,o,l,s,a,d,c,u,p,h,f,g,m,x,v,y,b,w,k,j,S,C,_,I,R,T;return n$||(t=(e={async createAndPrompt(e,t){let n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"prompt",message:t.message,submissionId:t.submissionId,...t.images?.length?{images:(0,t7.py)(t.images)}:{},...t.binaryBlocks?.length?{binaryBlocks:t.binaryBlocks}:{},...t.provider&&t.modelId?{provider:t.provider,modelId:t.modelId}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{}}),signal:t.signal}),r=await n.json().catch(()=>({}));if(!n.ok||r.error||!r.sessionId)throw Error(r.error??`HTTP ${n.status}`);if(!r.data||"object"!=typeof r.data||!r.data.status)throw Error("Invalid prompt receipt: expected a status");return{sessionId:r.sessionId,receipt:r.data}},async postPrompt(e,t){let{submitAgentPrompt:r}=await Promise.resolve().then(n.bind(n,32383));return r(e,t,{signal:t.signal})},async ensureNewSession(e,t){let n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"ensure_session",...t?.provider&&t.modelId?{provider:t.provider,modelId:t.modelId}:{}})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.sessionId)throw Error(r.error??`HTTP ${n.status}`);return r.sessionId},async wake(e,t){let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/state?wake=1`,{signal:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error("string"==typeof e.error?e.error:`HTTP ${n.status}`)}},async getAgentState(e){let t=await fetch(`/api/agent/${encodeURIComponent(e)}?light=1`,{cache:"no-store"}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error??`HTTP ${t.status}`);return n},async cancelSubmission(e){let t=await fetch(`/api/agent/submissions/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"cancel"}),signal:AbortSignal.timeout(5e3)});if(!t.ok)throw Error(`HTTP ${t.status}`);return{status:"confirmed"===(await t.json().catch(()=>({}))).status?"confirmed":"pending"}}}).restoreDraft??nW,r=e.now??(()=>Date.now()),i=e.makeSubmissionId??nl,o=e.schedule??((e,t)=>setTimeout(e,t)),l=e.clearSchedule??(e=>clearTimeout(e)),s=new Map,a=!0,d=new Map,c=(e,t)=>{let n=s.get(e);if(n)return n;let r=d.get(e);if(void 0!==r){let t=s.get(r);if(t)return t;d.delete(e)}if(!t)return null;let i={sessionId:e,snapshot:{sessionId:e,messages:[],entryIds:[],messageKeys:[],hasMoreAfter:!1,streamState:nL(),agentRunning:!1,turnMetrics:{},bashRunning:!1,pendingBash:null,sendInFlight:!1,submissions:[],promptRunId:0,finishingRunId:null,completedRunId:null,streamRunSeq:null,attachCount:0,timelineSeq:0},submissions:new Map,inFlight:new Map,promptAborts:new Map,eventStream:null,attachments:new Set,viewHandlers:new Set,snapshotListeners:new Set,consumedEntryIds:new Set,timeline:[],derived:{source:null,messages:[],entryIds:[],messageKeys:[]},submissionKeys:new Map,localKeySeq:0,hydrateSeq:0,hydrateAppliedSeq:0,themeLines:new Map,themeSourceLines:new Map,hasMoreAfter:!1,idleCloseTimer:null,hiddenCloseTimer:null,sseRetryTimer:null,sseRetryAttempt:0,metrics:{}};return s.set(e,i),i},u=e=>{let t=new Set;for(let n of e.attachments)n.onEvent&&t.add(n.onEvent);e.viewHandlers=t},p=e=>{for(let t of(e.derived.source!==e.timeline&&(e.derived={source:e.timeline,messages:e.timeline.map(e=>e.message),entryIds:n_(e.timeline),messageKeys:e.timeline.map(e=>e.key)}),e.snapshot={...e.snapshot,sessionId:e.sessionId,messages:e.derived.messages,entryIds:e.derived.entryIds,messageKeys:e.derived.messageKeys,hasMoreAfter:e.hasMoreAfter,turnMetrics:{...e.metrics},submissions:[...e.submissions.values()],attachCount:e.attachments.size},e.snapshotListeners))t(e.snapshot)},h=e=>{e.idleCloseTimer&&(l(e.idleCloseTimer),e.idleCloseTimer=null),e.attachments.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0||(e.idleCloseTimer=o(()=>{e.idleCloseTimer=null,(e=>{if(e.idleCloseTimer&&(l(e.idleCloseTimer),e.idleCloseTimer=null),e.sseRetryTimer&&(l(e.sseRetryTimer),e.sseRetryTimer=null,e.sseRetryAttempt=0),e.attachments.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0)return;let t=e.eventStream;t&&(e.eventStream=null,t.close(),p(e))})(e),x()},5e3))},f=e=>{e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null),e.eventStream&&(e.hiddenCloseTimer=o(()=>{let t;e.hiddenCloseTimer=null,e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null),e.sseRetryTimer&&(l(e.sseRetryTimer),e.sseRetryTimer=null,e.sseRetryAttempt=0),(t=e.eventStream)&&(e.eventStream=null,t.close(),p(e))},3e5))},g=e=>{e.hiddenCloseTimer&&(l(e.hiddenCloseTimer),e.hiddenCloseTimer=null)},m=e=>!(e.attachments.size>0||e.snapshotListeners.size>0||e.snapshot.agentRunning||e.snapshot.bashRunning||e.snapshot.sendInFlight||e.inFlight.size>0||e.promptAborts.size>0||e.timeline.some(e=>e.pending))&&!(e.submissionKeys.size>0)&&0!==e.timeline.length,x=()=>{for(let[e,t]of[...s])if(m(t))for(let[n,r]of(t.eventStream?.close(),t.eventStream=null,s.delete(e),[...d]))(r===e||n===e)&&d.delete(n)},v=e=>{e.snapshot.timelineSeq+=1},y=e=>(e.localKeySeq+=1,`local:${e.localKeySeq}`),b=(e,t,n)=>{let r=n??"",i={...t,entryId:r};e.timeline=function(e,t){let n=e.length;for(;n>0;){let t=e[n-1];if(!t.pending||!0!==t.duringStreamingStep)break;n-=1}return n===e.length?[...e,t]:[...e.slice(0,n),t,...e.slice(n)]}(e.timeline,{key:r||y(e),message:i,entryId:r,pending:!1}),v(e)},w=(e,t)=>"persisted"===e?e:t,k=(e,t,n,r)=>{let i=e.submissions.get(t),o=n;i&&(o=w(i.status,n),i.status=o,i.error=r),e.snapshot.sendInFlight=e.inFlight.size>0,e.inFlight.size<=1&&i?.delivered!==!0&&("rejected"===o||"unknown"===o)&&(e.snapshot.agentRunning=!1,e.snapshot.completedRunId=e.snapshot.promptRunId,e.snapshot.streamState=nL())},j=(e,n,r,i)=>(k(e,n.submissionId,r,i),n.delivered)?(p(e),{submissionId:n.submissionId,sessionId:e.sessionId,status:"accepted"}):(C(e,n.submissionId),t(n.draftKey,{value:n.message,images:n.images??[]}),p(e),{submissionId:n.submissionId,sessionId:e.sessionId,status:r,error:i}),S=(e,t,n)=>(k(e,t.submissionId,"rejected","queued"),C(e,t.submissionId),p(e),{submissionId:t.submissionId,sessionId:e.sessionId,status:"queued",queue:n}),C=(e,t)=>{let n=e.submissionKeys.get(t);if(e.submissionKeys.delete(t),void 0===n)return!1;let r=nT(e.timeline,n);return!!r.dropped&&(e.timeline=r.timeline,v(e),!0)},_=(e,t)=>{let n=t.type,r=t.streamRunSeq,i="number"==typeof r?r:null,o=t.turnMetrics;if(o&&("number"==typeof o.tokensPerSecond||"number"==typeof o.ttftMs)&&(e.metrics={...o}),"connected"===n)null!==i&&(e.snapshot.streamRunSeq=i),!0===t.isStreaming&&(e.snapshot.agentRunning=!0,e.snapshot.streamState={isStreaming:!0,streamingMessage:null});else if("agent_start"===n)o||(e.metrics={}),e.snapshot.promptRunId+=1,e.snapshot.agentRunning=!0,null!==i&&(e.snapshot.streamRunSeq=i),e.snapshot.completedRunId=null,e.snapshot.finishingRunId=null,e.snapshot.streamState={isStreaming:!0,streamingMessage:null},e.metrics={};else if("agent_end"===n||"prompt_done"===n){if(null!==i&&null!==e.snapshot.streamRunSeq&&i<e.snapshot.streamRunSeq)return;null!==i&&(e.snapshot.streamRunSeq=i),e.snapshot.agentRunning=!1,e.snapshot.completedRunId=e.snapshot.promptRunId,e.snapshot.streamState=nL()}else if("message_start"===n||"message_update"===n){let n=t.message;if(!e.snapshot.agentRunning||n?.role==="user")return;if(n){let r=nu(n,t.renderedLines);e.snapshot.streamState={isStreaming:!0,streamingMessage:nv(r)}}}else if("prompt_error"===n){var l;let t,n={timeline:t=(l=e.timeline).filter(e=>!(e.pending&&!e.entryId)),dropped:t.length!==l.length};if(n.dropped){for(let[t,r]of(e.timeline=n.timeline,e.submissionKeys))nI(e.timeline,r)||e.submissionKeys.delete(t);v(e)}}else if("message_end"===n){let n=t.message,r="string"==typeof t.entryId&&t.entryId?t.entryId:null;if(n?.role==="user"){if(r&&e.consumedEntryIds.has(r))return void p(e);r&&e.consumedEntryIds.add(r);let t=[...e.submissions.values()].find(t=>("accepted"===t.status||"submitting"===t.status)&&!t.entryId&&e.submissionKeys.has(t.submissionId)),i=t?e.submissionKeys.get(t.submissionId)??null:null,o=function(e,t){let{key:n,message:r,entryId:i,fallbackKey:o}=t,l=r.entryId===i?r:{...r,entryId:i},s=nk(l.content),a=function(e,t){if(0===t.length)return -1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.pending&&"user"===r.message.role&&nk(r.message.content)===t)return n}return -1}(e,s);if(n){let t=a<0||e[a]?.key===n?nI(e,n):void 0;if(t?.pending){let t=nR(e,n,l,i);if(t)return{timeline:t,outcome:"key"}}if(i?e.some(e=>e.entryId===i):s.length>0&&e.some(e=>e.entryId&&nk(e.message.content)===s)){if(a>=0){let t=nR(e,e[a].key,l,i);if(t)return{timeline:t,outcome:"text"}}return{timeline:[...e],outcome:"reconciled"}}}if(a>=0){let t=nR(e,e[a].key,l,i);if(t)return{timeline:t,outcome:"text"}}return i&&e.some(e=>e.entryId===i)?{timeline:[...e],outcome:"duplicate"}:{timeline:[...e,{key:o,message:l,entryId:i,pending:!1}],outcome:"appended"}}(e.timeline,{key:i,message:n,entryId:r??"",fallbackKey:r??y(e)});"duplicate"!==o.outcome&&(e.timeline=o.timeline,v(e)),t&&(e.submissionKeys.delete(t.submissionId),"duplicate"!==o.outcome&&(t.delivered=!0),null!==r&&(t.status=w(t.status,"persisted"),t.entryId=r))}else if(n?.role==="custom"&&n.customType===ny){let t=nw(n.details),i=t?.messageEntryId?e.timeline.findIndex(e=>e.entryId===t.messageEntryId):-1;i<0&&t?.messageEntryId&&(i=e.timeline.findLastIndex(e=>"user"===e.message.role&&!e.entryId));let o=i>=0?e.timeline[i]:void 0;if(t&&o?.message.role==="user"){if(!(o.message.binaryBlocks??[]).some(e=>e.path===t.path&&e.previewPath===t.previewPath)){let n=[...e.timeline];n[i]={...o,message:{...o.message,binaryBlocks:[...o.message.binaryBlocks??[],t]}},e.timeline=n,v(e)}}else e.snapshot.agentRunning&&b(e,n,r)}else n&&e.snapshot.agentRunning&&b(e,nv(nu(n,t.renderedLines)),r);e.snapshot.streamState=nL()}for(let n of(p(e),e.viewHandlers))try{n(t)}catch{}h(e)},I=[500,1500,3e3],R=t=>{if(!a)return;t.idleCloseTimer&&(l(t.idleCloseTimer),t.idleCloseTimer=null),t.sseRetryTimer&&(l(t.sseRetryTimer),t.sseRetryTimer=null,t.sseRetryAttempt=0);let n=t.eventStream?.getCurrentSource();if(t.eventStream&&n&&2!==n.readyState&&t.eventStream.isCurrent(t.sessionId))return;t.eventStream?.close(),t.eventStream=null;let r=e=>_(t,e),i=e.createEventStream?e.createEventStream(t.sessionId,r):function(e={}){let t=e.createEventSource??nn,n=e.getEventsUrl??(e=>`/api/agent/${encodeURIComponent(e)}/events`),r=e.connectTimeoutMs??5e3,i=e.reconnectDelayMs??1e3,o=e.shouldAutoReconnect??(()=>!1),l=e.schedule??((e,t)=>setTimeout(e,t)),s=e.clearSchedule??(e=>clearTimeout(e)),a=e.scheduleFrame??nr,d=e.cancelFrame??ni,c=null,u=null,p=null,h=null,f=null,g=()=>{null!==h&&(s(h),h=null)},m=()=>{c&&(c.close(),c=null),u?.(),u=null},x=(e,v)=>{g(),f?.(),f=null,m();let y=t(n(e));c=y,u=(0,ne.D)(y),p=e;let b=null,w=null,k=()=>{w=null;let e=b;if(b=null,e&&c===y)try{v(e)}catch{}};return f=()=>{null!==w&&d(w),w=null,b=null},new Promise(t=>{let n=!1,u=null,p=e=>{n||(n=!0,null!==u&&(s(u),u=null),t({status:e,source:y}))};u=l(()=>p("timeout"),r),y.onmessage=e=>{try{if(c!==y)return;let t=JSON.parse(e.data);if("connected"===t.type&&p("connected"),"message_update"===t.type){b=t,null===w&&(w=a(k));return}null!==w&&(d(w),w=null),k(),v(t)}catch{}},y.onerror=()=>{2===y.readyState&&(p("closed"),c===y&&o()&&(c=null,h=l(()=>{o()&&x(e,v)},i)))}})};return{connect:x,async ensureConnected(e,t){let n=await x(e,t);if("connected"!==n.status&&1!==n.source.readyState)throw c===n.source&&(c=null,f?.(),f=null),n.source.close(),new nt(n.status)},close:()=>{g(),f?.(),f=null,m(),p=null},getCurrentSource:()=>c,isCurrent:e=>null!==c&&p===e&&2!==c.readyState}}({shouldAutoReconnect:()=>{var e;return!!(e={agentRunning:t.snapshot.agentRunning,visibilityState:"u"<typeof document?void 0:document.visibilityState}).agentRunning&&(void 0===e.visibilityState||"hidden"!==e.visibilityState)}});t.eventStream=i,i.ensureConnected(t.sessionId,r).catch(()=>{if(t.eventStream===i&&(t.eventStream=null),!(t.attachments.size>0))return;let e=t.sseRetryAttempt;if(e>=I.length)return;let n=I[e];t.sseRetryAttempt=e+1,t.sseRetryTimer&&l(t.sseRetryTimer),t.sseRetryTimer=o(()=>{t.sseRetryTimer=null,!(t.attachments.size>0)||t.eventStream&&t.eventStream!==i||t.snapshot.agentRunning||t.snapshot.sendInFlight||R(t)},n)})},T=(e,t)=>{let n=c(e,!0),r=n.sessionId,i=s.get(t);return i&&i!==n&&(i.eventStream?.close(),i.eventStream=null,s.delete(t)),s.delete(r),r!==e&&d.delete(r),n.sessionId=t,n.snapshot.sessionId=t,s.set(t,n),e!==t&&d.set(e,t),n},n$={getSnapshot(e){let t=c(e,!1);return t?t.snapshot:null},subscribe(e,t){let n=c(e,!0);return n.snapshotListeners.add(t),t(n.snapshot),()=>{n.snapshotListeners.delete(t)}},attach(e,t){let n=c(e,!0),r={onEvent:t};n.attachments.add(r),u(n),R(n),p(n);let i=!1;return{sessionId:n.sessionId,dispose:()=>{i||(i=!0,n.attachments.delete(r),u(n),p(n),h(n))}}},detach(e,t){t.dispose()},async submitPrompt(t){var n,o,l,s,a;let d,u,f=t.submissionId?.trim()||i(),g="persisted"===t.target.kind?t.target.sessionId:eV(t.target.intentId),m=c(g,!0),x=m.submissions.get(f);if(x&&("accepted"===x.status||"persisted"===x.status||"submitting"===x.status))return{submissionId:f,sessionId:m.sessionId,status:"accepted"};let y=m.inFlight.get(f);if(y)return y;let b={submissionId:f,sessionId:g,draftKey:t.draftKey,message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,status:"submitting",delivered:!1,entryId:null},w=new AbortController;m.submissions.set(f,b),m.promptAborts.set(f,w),m.snapshot.sendInFlight=!0,m.snapshot.agentRunning=!0,m.snapshot.promptRunId+=1,m.snapshot.completedRunId=null,m.snapshot.finishingRunId=null,m.snapshot.streamState={isStreaming:!0,streamingMessage:null},m.metrics={};let C=`sub:${f}`;a=m.timeline,m.timeline=[...a,nS(C,(n=t.message,o=t.images,l=t.binaryBlocks,s=r(),d=o?.map(e=>({type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}})),u={role:"user",content:d?.length?[...n.trim()?[{type:"text",text:n}]:[],...d]:n,timestamp:s},l?.length&&(u.binaryBlocks=l.map(e=>({type:"binary",version:1,kind:e.mimeType.toLowerCase().startsWith("image/")?"image":e.mimeType.toLowerCase().startsWith("audio/")?"audio":e.mimeType.toLowerCase().startsWith("video/")?"video":"file",...e}))),u))],m.submissionKeys.set(f,C),v(m),p(m);let _=(async()=>{let n=g,r=!1;try{if("new"===t.target.kind){if(e.createAndPrompt){let{sessionId:i,receipt:o}=await e.createAndPrompt(t.target.cwd,{message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,submissionId:f,...t.model?.provider?{provider:t.model.provider,modelId:t.model.modelId}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{},signal:w.signal});if(w.signal.aborted)throw new DOMException("aborted","AbortError");if(n=i,b.sessionId=i,T(g,i),r=!0,"rejected"===o.status)return j(m,b,"rejected","rejected");if("queued"===o.status&&o.queue)return S(m,b,o.queue);return k(m,f,"accepted"),p(m),{submissionId:f,sessionId:n,status:"accepted"}}if(!e.ensureNewSession)return j(m,b,"rejected","no ensure implementation");let i=await e.ensureNewSession(t.target.cwd,t.model);if(w.signal.aborted)throw new DOMException("aborted","AbortError");n=i,b.sessionId=i,T(g,i),r=!0}!r&&e.wake&&await e.wake(n,w.signal),R(m);let i=await e.postPrompt(n,{message:t.message,images:t.images,binaryBlocks:t.binaryBlocks,submissionId:f,signal:w.signal});if("rejected"===i.status)return j(m,b,"rejected","rejected");if("queued"===i.status&&i.queue)return S(m,b,i.queue);return k(m,f,"accepted"),p(m),{submissionId:f,sessionId:n,status:"accepted"}}catch(e){if(e instanceof Error&&("AbortError"===e.name||w.signal.aborted))return j(m,b,"unknown","aborted");return j(m,b,"unknown",e instanceof Error?e.message:String(e))}finally{m.inFlight.delete(f),m.promptAborts.delete(f),m.snapshot.sendInFlight=m.inFlight.size>0,p(m),h(m)}})();return m.inFlight.set(f,_),_},cancellationFor(e){let t=c(e,!1);if(!t)return null;let n=[...t.promptAborts.entries()][0];if(!n)return null;let[r,i]=n;return{submissionId:r,cancel:()=>i.abort(),signal:i.signal}},async abortSubmission(t,n){let r=c(t,!1);if(!r)return null;let i=n??[...r.promptAborts.keys()][0],o=i?r.promptAborts.get(i):void 0,l=i?r.inFlight.get(i):void 0;if(o?.abort(),i&&e.cancelSubmission)try{await e.cancelSubmission(i)}catch{}return l||Promise.resolve(null)},abort(e){let t=c(e,!1);if(t){for(let e of t.promptAborts.values())e.abort();t.snapshot.agentRunning=!1,t.snapshot.streamState=nL(),t.snapshot.sendInFlight=t.inFlight.size>0,p(t),h(t)}},setBashRunning(e,t,n){let r=c(e,!0);r.snapshot.bashRunning=t,r.snapshot.pendingBash=t?n??null:null,p(r)},getRunState(e){let t=c(e,!1)?.snapshot;return t?{promptRunId:t.promptRunId,agentRunning:t.agentRunning,sendInFlight:t.sendInFlight,finishingRunId:t.finishingRunId,completedRunId:t.completedRunId}:null},beginRunFinish(e,t){let n=c(e,!1);if(!n)return!1;let r=n.snapshot;return r.promptRunId===t&&null===r.finishingRunId&&(!!r.agentRunning||r.completedRunId===t)&&(r.finishingRunId=t,p(n),!0)},releaseRunFinish(e,t){let n=c(e,!1);n&&n.snapshot.finishingRunId===t&&(n.snapshot.finishingRunId=null,p(n))},completeRun(e,t){let n=c(e,!1);return!!n&&n.snapshot.promptRunId===t&&(n.snapshot.agentRunning=!1,n.snapshot.completedRunId=t,n.snapshot.streamState=nL(),p(n),!0)},importRunningRun(e,t){let n=c(e,!0),i=n.snapshot;i.agentRunning||i.sendInFlight||(i.agentRunning=!0,i.completedRunId=null,i.finishingRunId=null,i.promptRunId+=1,i.streamState={isStreaming:!0,streamingMessage:null},"number"==typeof t&&Number.isFinite(t)&&t>0||r(),n.metrics={},p(n))},seedTurnMetrics(e,t){let n=c(e,!0);n.metrics=t?{...t}:{},p(n)},async reconcile(t){var n;let r=c(t,!1);if(!r||!e.getAgentState)return null;let i=r.snapshot.promptRunId,o=await e.getAgentState(t),l=c(t,!1);if(l!==r||l.snapshot.promptRunId!==i)return{runId:i,stale:!0,live:!1,shouldFinish:!1};let s=!0===o.live||void 0===o.live&&!0===o.running;s&&!l.eventStream?.isCurrent(t)&&R(l);let a=o.state,d=!1===o.activeRun&&!0!==o.lockedByOther;return{runId:i,stale:!1,live:s,shouldFinish:!!(n={sendInFlight:l.snapshot.sendInFlight,clientRunning:l.snapshot.agentRunning,live:s,knownIdleWithoutLive:d,isStreaming:a?.isStreaming===!0,isPromptRunning:a?.isPromptRunning===!0,isCompacting:a?.isCompacting===!0}).clientRunning&&!n.sendInFlight&&(!!n.live||!!n.knownIdleWithoutLive)&&!n.isStreaming&&!n.isPromptRunning&&!n.isCompacting,state:a}},beginHydrate(e){let t=c(e,!0);return t.hydrateSeq+=1,t.hydrateSeq},hydrate(e,t,n=[],r){var i;let o,l,s,a=c(e,!0),d=r?.hydrateRequestSeq??++a.hydrateSeq;if(d<=a.hydrateAppliedSeq)return"superseded";if(r?.sinceSeq!==void 0&&a.snapshot.timelineSeq>r.sinceSeq)return"stale";a.hydrateSeq=Math.max(a.hydrateSeq,d),a.hydrateAppliedSeq=d,r?.hasMoreAfter!==void 0&&(a.hasMoreAfter=r.hasMoreAfter);let u=a.themeLines.size>0?nE(t,n):new Map,h=r?.mode??"replace",f=a.timeline,g="prepend"===h?function(e,t,n){let r=new Set(e.map(e=>e.entryId).filter(Boolean)),i=[];for(let e=0;e<n.length;e++){let o=n[e]??"";o&&r.has(o)||i.push(nj(t[e],o,e))}return 0===i.length?[...e]:[...i,...e]}(f,t,n):"tail"===h?function(e,t,n){if(0===n.length)return[...e];let r=nC(t,n),i=e.map(e=>e.entryId);if(i.every(e=>!e))return r;if(function(e,t){let n=t.filter(Boolean);if(0===n.length)return!1;let r=new Set(e.filter(Boolean));if(!n.every(e=>r.has(e)))return!1;let i=[...e].reverse().find(Boolean)??null,o=n[n.length-1];return null!==i&&o!==i}(i,n))return[...e];let o=r[0].entryId,l=o?i.indexOf(o):-1;return l<=0?r:[...e.slice(0,l),...r]}(f,t,n):nC(t,n),m="drop"===("retain"===(i=r?.pending)||"drop"===i?i:"replace"===h?"drop":"retain")?g:(o=new Set(g.map(e=>e.key)),l=function(e,t){let n=new Set(e.map(e=>e.entryId).filter(Boolean)),r=[...e].reverse().find(e=>e.entryId),i=0;if(r){let e=t.findIndex(e=>e.entryId===r.entryId);if(e<0)return 0;i=e+1}else for(let e=t.length-1;e>=0;e--)if(t[e].entryId&&"assistant"===t[e].message.role){i=e+1;break}let o=0;for(let e=i;e<t.length;e++){let r=t[e];r.entryId&&!n.has(r.entryId)&&"user"===r.message.role&&(o+=1)}return o}(f,g),0===(s=f.filter(e=>!(!e.pending||e.entryId||o.has(e.key))&&("user"!==e.message.role||!(l>0)||(l-=1,!1)))).length?g:[...g,...s]),x=m;if(u.size>0){let e=new Map;for(let[t,n]of u){let r=a.themeSourceLines.get(t),i=a.themeLines.get(t);r&&i&&nA(n,r)?e.set(t,i):(a.themeLines.delete(t),a.themeSourceLines.delete(t))}e.size>0&&(x=nM(m,e))}for(let e of(a.timeline=[...x],nz(a),n_(a.timeline)))e&&a.consumedEntryIds.add(e);return p(a),"applied"},refreshRenderedLines(e,t,n=[]){let r=c(e,!1);if(!r)return!1;let i=nE(t,n);if(0===i.size)return!1;let o=function(e){let t=new Map;for(let n of e){if(!n.entryId||t.has(n.entryId))continue;let e=na(n.message);e&&t.set(n.entryId,e)}return t}(r.timeline);for(let[e,t]of i){r.themeLines.set(e,t);let n=o.get(e);n&&!nA(n,t)?r.themeSourceLines.set(e,n):r.themeSourceLines.delete(e)}let l=nM(r.timeline,r.themeLines);return nz(r),l!==r.timeline&&(r.timeline=[...l],p(r),!0)},appendLocal(e,t){var n;let r=c(e,!0),i=y(r),o=!0===r.snapshot.agentRunning,l=o?{...t,_duringStreamingStep:!0}:t;return n=r.timeline,r.timeline=[...n,{...nS(i,l),...o?{duringStreamingStep:!0}:{}}],v(r),p(r),i},dropLocal(e,t){let n=c(e,!1);if(!n)return!1;let r=nT(n.timeline,t);return!!r.dropped&&(n.timeline=r.timeline,v(n),p(n),!0)},applyEvent(e,t){_(c(e,!0),t)},hasActiveEventStream(e){let t=c(e,!1);return t?.eventStream?.isCurrent(e)===!0},ensureEventsConnected(e){R(c(e,!0))},setTabVisibility(e){for(let t of(a=e,s.values()))e?g(t):f(t)},getEventSource:e=>c(e,!1)?.eventStream?.getCurrentSource()??null,getSubmission:(e,t)=>c(e,!1)?.submissions.get(t),resetForTests(){n$=null},debugSlotCount:()=>s.size,debugSlotIds:()=>[...s.keys()]}),n$}function nF(e){let t=new Set;if(!Array.isArray(e))return t;for(let n of e)if(n&&"object"==typeof n){let e=n.sessionId;"string"==typeof e&&e&&t.add(e)}return t}function nH({selectedSessionId:e,onSelectSession:t,onNewSession:n,initialSessionId:o,skipInitialProjectSelection:l,onInitialRestoreDone:c,restoreNonce:u=0,refreshKey:p,onSessionDeleted:k,onProjectAdded:j,onProjectRootsChange:S,catalogStore:C}){let{t:_}=(0,eU.s9)(),I=(0,i.useRef)(C??null);I.current||(I.current=C??t0()),C&&(I.current=C);let R=I.current,[T,E]=(0,i.useState)(0),M=(0,i.useRef)(e);M.current=e;let A=(0,i.useRef)(null),L=(0,i.useRef)(null),z=(0,i.useMemo)(()=>R.getSnapshot(M.current),[T,e]),$=z.sessions,P=z.serverListLoaded,D=z.loading,N=z.error,[B,O]=(0,i.useState)(!1),V=z.archivedSessions,J=z.runningIds,Y=(0,i.useRef)($);Y.current=$;let X=(0,i.useRef)(0),{cwd:G}=eO(),{setIdentity:Z}=eB(),[Q,ee]=(0,i.useState)(""),[et,en]=(0,i.useState)(!1),[er,ei]=(0,i.useState)(null),[eo,el]=(0,i.useState)(null),es=(0,i.useRef)(!0),[ea,ed]=(0,i.useState)(!1),eu=z.effectiveRunningIds,[ef,eg]=(0,i.useState)(!1),[ex,ev]=(0,i.useState)(null),[ey,eb]=(0,i.useState)(null),{runningChildIds:ew,bySessionId:ek}=eT(),ej=(0,i.useMemo)(()=>[...ek.keys()],[ek]),eC=(0,i.useMemo)(()=>{let e=new Set(ew);for(let t of $)t.subagent?.parentSessionId&&ew.has(t.id)&&e.add(t.subagent.parentSessionId);return e},[ew,$]),[e_,eI]=(0,i.useState)(()=>new Set),[eR,eE]=(0,i.useState)(()=>Date.now()),[eD,eN]=(0,i.useState)(()=>new Map),eq=eu.size>0||eC.size>0;(0,i.useEffect)(()=>{if(!eq)return;let e=setInterval(()=>eE(Date.now()),1e3);return()=>clearInterval(e)},[eq]),(0,i.useEffect)(()=>{let e=Date.now();eE(e),eN(t=>(function(e,t,n,r){let i=new Map,o=e.size!==t.length;for(let l of t){let t=function(e,t){let n=e?.get(t);return"number"==typeof n?n:void 0}(n,l)??e.get(l)??r;e.get(l)!==t&&(o=!0),i.set(l,t)}return o?i:e})(t,[...eu,...eC],z.runningStartedAt,e))},[eu,eC,z.runningStartedAt]);let eK=z.unreadIds,[eV,eY]=(0,i.useState)(""),[eG,eZ]=(0,i.useState)(!1),[e0,e4]=(0,i.useState)("meta"),[e5,tn]=(0,i.useState)([]),[ti,to]=(0,i.useState)([]),[ts,td]=(0,i.useState)(null),[tu,th]=(0,i.useState)(!1),[tf,tg]=(0,i.useState)(null),tm=(0,i.useRef)(0),tx=(0,i.useRef)(null),[tw,tk]=(0,i.useState)(!1),[tj,tS]=(0,i.useState)(null),tC=(0,i.useRef)(null),t_=(0,i.useRef)(null),tI=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!tw||!tI.current)return;let e=requestAnimationFrame(()=>{let e=t_.current,t=tI.current;if(!e||!t)return;let n=e.offsetHeight;t.bottom+4+n<=window.innerHeight||tS(e=>e?{...e,top:Math.max(8,t.top-n-4)}:e)});return()=>cancelAnimationFrame(e)},[tw]);let[tR,tT]=(0,i.useState)(()=>U()),tE=(0,i.useRef)(0),tM=(0,i.useRef)(null),tA=(0,i.useRef)(function(){try{return null!==window.localStorage.getItem(W)}catch{return!1}}()),tL=(0,i.useRef)({}),[tz,tW]=(0,i.useState)({}),[t$,tD]=(0,i.useState)(()=>new Set),tN=(0,i.useRef)(new Set),tB=(0,i.useRef)(null),tO=(0,i.useRef)(!1),tU=(0,i.useRef)(null),tK=(0,i.useRef)(new Set),tY=(0,i.useRef)(new Set),tX=em(),tQ=(0,i.useRef)(!1),t1=(0,i.useRef)(0),t2=(0,i.useRef)(0),t4=(0,i.useRef)(null),t6=(0,i.useCallback)((e,t)=>{t1.current+=1;let n=[...e],r=nP(),i=[...R.getState().startingIds].filter(e=>r.getRunState(e)?.sendInFlight===!0);R.applyRunningSnapshot({runningIds:n,runningStartedAt:t,selectedSessionId:M.current,localInFlightIds:i,now:Date.now()})},[R]),t5=(0,i.useCallback)(e=>{tT(t=>{let n=e(t);if(n!==t){let e={...n,sidebarWidth:U().sidebarWidth};if(q(e),tA.current){let n=K(t),r=K(e),i=[];for(let e of Object.keys(r))if(JSON.stringify(n[e])!==JSON.stringify(r[e])){if("projectOrder"===e){i.push({key:`sidebarUi.${e}`,op:"set",value:r[e]});continue}if(x.has(e)){let t=Array.isArray(n[e])?n[e]:[],o=Array.isArray(r[e])?r[e]:[];for(let n of o.filter(e=>!t.includes(e)))i.push({key:`sidebarUi.${e}`,op:"add",value:n});for(let n of t.filter(e=>!o.includes(e)))i.push({key:`sidebarUi.${e}`,op:"remove",value:n});continue}(0,eA.dM)(`sidebarUi.${e}`,r[e]??null)}i.length>0&&(0,eA.ss)(i)}}return n})},[]),t8=(0,eA.Fd)(),t3=(0,i.useMemo)(()=>{let e=t8.projectAliases,t="object"!=typeof e||null===e||Array.isArray(e)?{}:e;return{...tR.projectAliases,...t}},[tR.projectAliases,t8]);(0,i.useEffect)(()=>{let e=t8.sidebarUi;void 0!==e&&tT(t=>{let n=function(e,t){if("object"!=typeof t||null===t||Array.isArray(t))return e;let n=F({...e,...t}),r=void 0!==t.projectRoots,i=r?null:H({added:t.addedProjectRoots,closed:t.closedProjectRoots,hasProjectRoots:!1}),o=null!==i&&0===e.projectRoots.length;return{...e,displayMode:n.displayMode,collapsedProjectRoots:n.collapsedProjectRoots,projectRoots:o?i.projectRoots:n.projectRoots,projectRootsMigrated:!r&&(e.projectRootsMigrated||o),showRecentSessions:n.showRecentSessions,pinnedSessionIds:n.pinnedSessionIds,projectSort:n.projectSort,projectOrder:n.projectOrder,ungroupedSessionIds:n.ungroupedSessionIds}}(t,e),r=JSON.stringify(K(t))===JSON.stringify(K(n));return(tA.current=!0,r&&t.projectRootsMigrated===n.projectRootsMigrated)?t:(q({...n,sidebarWidth:U().sidebarWidth}),n)})},[t8]);let t9=tR.displayMode,t7=tR.showRecentSessions,[ne,nt]=(0,i.useState)(5),nn=(0,i.useMemo)(()=>new Set(tR.collapsedProjectRoots),[tR.collapsedProjectRoots]);(0,i.useEffect)(()=>{S?.(tR.projectRoots)},[tR.projectRoots,S]),(0,i.useEffect)(()=>R.subscribe(()=>E(e=>e+1)),[R]);let nr=(0,i.useCallback)(async(e=!1)=>{let t=++X.current;if(e&&0===Y.current.length&&!P){let e=ep();if(e&&e.length>0){if(!es.current||!eF(t,X.current))return;R.applyServerList({sessions:e,archivedSessions:[],archivedCount:0,provisional:!0})}}R.beginListLoad();try{let n=await fetch("/api/sessions",{signal:AbortSignal.timeout(1e4)});if(!es.current||!eF(t,X.current))return;if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();if(!es.current||!eF(t,X.current))return;R.applyServerList({sessions:r.sessions,archivedSessions:r.archivedSessions??[],archivedCount:r.archivedCount??0,runningSessionIds:r.runningSessionIds,runningStartedAt:r.runningStartedAt,selectedSessionId:M.current,now:Date.now()}),eh(r.sessions);let i=M.current;if(i&&!eJ(i)&&!R.getState().startingIds.has(i)&&A.current!==i&&Y.current.some(e=>e.id===i)){let e=new Set(r.sessions.map(e=>e.id));for(let t of r.archivedSessions??[])e.add(t.id);e.has(i)||(A.current=i,L.current?.(i))}tE.current=0,tM.current&&(clearTimeout(tM.current),tM.current=null),e||(ed(!0),t4.current&&clearTimeout(t4.current),t4.current=setTimeout(()=>{es.current&&ed(!1)},2e3))}catch(e){if(!es.current||!eF(t,X.current))return;if(tE.current<2){let e=tE.current+1;tE.current=e,tM.current&&clearTimeout(tM.current),tM.current=setTimeout(()=>{tM.current=null,es.current&&ni.current(!1)},2e3*e);return}R.applyListError(String(e))}},[R,P,Y]),ni=(0,i.useRef)(nr);ni.current=nr;let no=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!no.current;no.current=!0,ni.current(e)},[p]);let nl=(0,i.useRef)({lastKey:"",attempts:0,lastAttemptAt:0});(0,i.useEffect)(()=>{let e=new Set(Y.current.map(e=>e.id)),t=function(e){let t=[...e.missingIds].filter(Boolean).sort().join(",");if(!t)return{fire:!1,lastKey:"",attempts:0,lastAttemptAt:0};let n=e.maxAttempts??3,r=e.cooldownMs??4e3;return t!==e.lastKey?{fire:!0,lastKey:t,attempts:1,lastAttemptAt:e.now}:e.attempts>=n||e.now-e.lastAttemptAt<r?{fire:!1,lastKey:t,attempts:e.attempts,lastAttemptAt:e.lastAttemptAt}:{fire:!0,lastKey:t,attempts:e.attempts+1,lastAttemptAt:e.now}}({missingIds:ej.filter(t=>!e.has(t)),lastKey:nl.current.lastKey,attempts:nl.current.attempts,lastAttemptAt:nl.current.lastAttemptAt,now:Date.now()});nl.current={lastKey:t.lastKey,attempts:t.attempts,lastAttemptAt:t.lastAttemptAt},t.fire&&ni.current(!1)},[ej,$]),(0,i.useEffect)(()=>{let e=eM({perform:()=>ni.current(!1)}),t=()=>{"visible"===document.visibilityState&&e.notify()};return document.addEventListener("visibilitychange",t),window.addEventListener("focus",t),()=>{document.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t),e.dispose()}},[]),(0,i.useEffect)(()=>{!tR.projectRootsMigrated||(0,eA.Vg)()&&t5(e=>e.projectRootsMigrated?{...e,projectRoots:e.projectRoots,projectRootsMigrated:!1}:e)},[tR.projectRootsMigrated,t8,t5]),(0,i.useEffect)(()=>{let e=(0,eX.zD)((0,eX.AR)(window.localStorage),(0,eX.mD)((0,eA.b3)("unreadSessionState")));R.replaceUnread(e)},[R,t8]),(0,i.useEffect)(()=>{let e=R.getState().unread;(0,eX.R)(window.localStorage,e);let t=tL.current;for(let[n,r]of Object.entries(e.readAt))t[n]!==r&&$.some(e=>e.id===n)&&(t[n]=r,(0,eA.dM)(`unreadSessionState.readAt.${n}`,r))},[$,T,R]),(0,i.useEffect)(()=>(0,ec.RD)(e=>{e&&("sessions-changed"===e.type?ni.current?.(!1):"running"===e.type&&(tQ.current=!0,t6(Array.isArray(e.runningSessionIds)?e.runningSessionIds.filter(e=>"string"==typeof e):[],e.runningStartedAt&&"object"==typeof e.runningStartedAt?e.runningStartedAt:void 0),eI(nF(e.pendingExtensionUi))))}),[t6]),(0,i.useEffect)(()=>{let e=eM({perform:()=>{if("visible"!==document.visibilityState)return;let e=++t2.current,t=t1.current;fetch("/api/agent/running",{cache:"no-store"}).then(e=>e.json()).then(n=>{!Array.isArray(n.runningSessionIds)||es.current&&(0,eX._i)(t,t1.current,e,t2.current)&&(tQ.current=!0,t6(n.runningSessionIds.filter(e=>"string"==typeof e),n.runningStartedAt&&"object"==typeof n.runningStartedAt?n.runningStartedAt:void 0),eI(nF(n.pendingExtensionUi)))}).catch(()=>void 0)}}),t=()=>{"visible"===document.visibilityState&&e.notify()};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t),e.dispose()}},[t6]),(0,i.useEffect)(()=>{ea&&eS()},[ea]),(0,i.useEffect)(()=>{let t=[...tK.current].filter(e=>!J.has(e));if(t.length>0)for(let r of t){var n;if(r.startsWith("__new__")||!((n={hidden:"hidden"===document.visibilityState,sessionId:r,visibleSessionId:e,notificationsEnabled:!0}).notificationsEnabled&&n.hidden&&n.sessionId&&n.sessionId!==n.visibleSessionId&&1))continue;let t=Y.current.find(e=>e.id===r)?.name||Y.current.find(e=>e.id===r)?.firstMessage||r;try{tX?.notify(_("desktop_runFinishedTitle"),_("desktop_runFinishedBody",{title:t}))}catch{}}tK.current=new Set(J),tY.current=new Set(eu)},[tX,eu,J,e,_]);let ns=(0,i.useRef)(new Set);(0,i.useEffect)(()=>{let e=ns.current,t=[...J].filter(t=>!e.has(t));ns.current=new Set(J),t.length>0&&nr(!1)},[J,nr]),(0,i.useEffect)(()=>{e&&R.markRead(e)},[e,R]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&ee(e.home)}).catch(()=>{})},[]);let na=(0,i.useRef)(!1);(0,i.useEffect)(()=>{na.current=!1},[u]),(0,i.useEffect)(()=>()=>{es.current=!1,tM.current&&clearTimeout(tM.current)},[]);let nd=(0,i.useCallback)(e=>{Z({cwd:e,status:e?"ready":"idle",error:null})},[Z]),[nc,nu]=(0,i.useState)(null);(0,i.useEffect)(()=>{nu(null)},[G]),(0,i.useEffect)(()=>{if(!l||o){if(o&&!na.current){if(N&&P){na.current=!0,c?.({error:N});return}if(!P)return;let e=$.find(e=>e.id===o);if(e){na.current=!0,t(e,!0),c?.({found:!0});return}na.current=!0,c?.({found:!1});return}if(0!==$.length&&null===G){let e=(function(e){let t=new Map;for(let n of e){let e=n.cwd,r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)})($).filter(e=>tR.projectRoots.includes(e));e[0]&&nd(e[0])}}},[$,G,o,l,t,c,nd,tR.projectRoots,P,N,u]);let np=(0,i.useCallback)(()=>{en(!1)},[]),nh=(0,i.useCallback)(e=>{t5(t=>t.projectRoots.includes(e)?t:{...t,projectRoots:[...t.projectRoots,e]}),np(),j?.(e),nd(e),n?.(e)},[t5,np,j,nd,n]),nf=(0,i.useCallback)(()=>{en(!0)},[]);(0,i.useEffect)(()=>{if(!tw)return;let e=e=>{!tC.current||tC.current.contains(e.target)||t_.current?.contains(e.target)||tk(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[tw]);let ng=(0,i.useCallback)(e=>{t(e)},[t]),nm=(0,i.useCallback)(e=>{t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),R.markDeleted(e),k?.(e),nr()},[R,k,nr,t5]);L.current=nm;let nx=(0,i.useCallback)(async e=>{if(null===ex){ev(e),eb(null);try{let t=await function(e,t=fetch){return tJ(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"POST"},t)}(e);if(!t.ok){let e=tG(t);eb("running"===e?_("archive_runningConflict"):"readOnly"===e?_("archive_readOnlyForbidden"):"network"===e?_("archive_networkError"):t.error??_("archive_unknownError"));return}t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),nr()}catch(e){eb(e instanceof Error?e.message:String(e))}finally{ev(null)}}},[ex,nr,_,t5]),nv=(0,i.useCallback)(()=>{eg(e=>(e||eb(null),!e))},[]),ny=(0,i.useCallback)(e=>{t5(t=>t.showRecentSessions===e?t:{...t,showRecentSessions:e})},[t5]),nb=(0,i.useMemo)(()=>new Set(tR.pinnedSessionIds),[tR.pinnedSessionIds]),nw=(0,i.useMemo)(()=>new Set(tR.ungroupedSessionIds),[tR.ungroupedSessionIds]),nk=(0,i.useMemo)(()=>(function(e){let{sessions:t,pinnedSessionIds:n}=e,r=new Map;for(let e of t)e.subagent||r.set(e.id,e);let i=[],o=new Set;for(let e of n){let t=r.get(e);!t||o.has(e)||(o.add(e),i.push(t))}return i})({sessions:$,pinnedSessionIds:tR.pinnedSessionIds}),[$,tR.pinnedSessionIds]),nj=(0,i.useCallback)(e=>{t5(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:{...t,pinnedSessionIds:[e,...t.pinnedSessionIds]})},[t5]),nS=(0,i.useMemo)(()=>(function(e){let{sessions:t,excludeIds:n,limit:r=20}=e,i=Math.max(0,Math.floor(r));return t.filter(e=>!(e.subagent||n?.has(e.id))).slice().sort(eP).slice(0,i)})({sessions:$,excludeIds:nb,limit:20}),[$,nb]);(0,i.useEffect)(()=>{nt(e=>0===nS.length?5:Math.min(Math.max(e,5),nS.length))},[nS.length]);let nC=(0,i.useCallback)((e=G)=>{e&&(nd(e),n?.(e))},[G,n,nd]),n_=(0,i.useCallback)(()=>{eY(""),tn([]),to([]),td(null),tg(null),th(!1),tm.current+=1},[]),nI=(0,i.useCallback)(()=>{eG?(eZ(!1),n_()):(eZ(!0),setTimeout(()=>tx.current?.focus(),0))},[eG,n_]);(0,i.useEffect)(()=>{if(!eG||"fulltext"!==e0)return void th(!1);let e=eV.trim();if(!e){tn([]),to([]),td(null),tg(null),th(!1);return}let t=++tm.current;th(!0),tg(null);let n=setTimeout(()=>{(async()=>{try{let n=await fetch(`/api/sessions/search?q=${encodeURIComponent(e)}&limit=40`),r=await n.json().catch(()=>({}));if(t!==tm.current)return;if(!n.ok||r.error){tg(r.error??`HTTP ${n.status}`),tn([]),to([]),td(null);return}tn(r.hits??[]),to(r.sessionIds??[]),td(r.source??null)}catch(e){if(t!==tm.current)return;tg(e instanceof Error?e.message:String(e)),tn([]),to([]),td(null)}finally{t===tm.current&&th(!1)}})()},280);return()=>clearTimeout(n)},[eG,e0,eV]);let nR=(0,i.useMemo)(()=>(function(e,t={}){let{selectedCwd:n=null}=t,r=new Set(t.projectRoots??[]),i=m(t.ungroupedSessionIds),o=new Map;for(let t of e){if(i.has(t.id)||!r.has(t.cwd))continue;let e=o.get(t.cwd);e?e.push(t):o.set(t.cwd,[t])}for(let e of r)o.has(e)||o.set(e,[]);let l=[];for(let[e,t]of o)l.push({root:e,tree:h(t),latestActivity:function(e){let t="";for(let n of e)n.modified>t&&(t=n.modified);return t}(t)});return l.sort((e,t)=>e.latestActivity||t.latestActivity?e.latestActivity?t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):t.root===n?1:-1:e.root===n?-1:1:e.root.localeCompare(t.root)),l})($,{selectedCwd:G,projectRoots:tR.projectRoots,ungroupedSessionIds:nw}),[$,G,tR.projectRoots,nw]),nT=(0,i.useMemo)(()=>(function(e,t={}){return h(function(e,t={}){let n=new Set(t.projectRoots??[]),r=m(t.ungroupedSessionIds);return e.filter(e=>r.has(e.id)||!n.has(e.cwd))}(e,t))})($,{projectRoots:tR.projectRoots,ungroupedSessionIds:nw}),[$,tR.projectRoots,nw]),nE=(0,i.useMemo)(()=>{let e=new Map,t=n=>{for(let r of n)e.set(r.session.id,r),r.children.length>0&&t(r.children)};for(let e of nR)t(e.tree);return t(nT),e},[nR,nT]),nM=eV.trim().toLowerCase(),nA="fulltext"===e0&&nM.length>0,nL=(0,i.useMemo)(()=>nA?new Set(ti):null,[nA,ti]),nz=nA?ti.length>0||tu||!!tf:nM.length>0,nW=(0,i.useMemo)(()=>(function(e,t){let{mode:n,order:r=[],aliases:i,selectedRoot:o=null}=t,l=[...e];if("az"===n||"za"===n)return l.sort((e,t)=>{let r=y.compare(b(e,i),b(t,i));return"az"===n?r:-r}),l;if("fixed"===n){let e=new Map(r.map((e,t)=>[e,t]));return l.sort((t,n)=>{let r=e.has(t.root)?e.get(t.root):Number.MAX_SAFE_INTEGER,i=e.has(n.root)?e.get(n.root):Number.MAX_SAFE_INTEGER;return r!==i?r-i:n.latestActivity.localeCompare(t.latestActivity)}),l}return l.sort((e,t)=>e.latestActivity||t.latestActivity?e.latestActivity?t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):t.root===o?1:-1:e.root===o?-1:1:e.root.localeCompare(t.root)),l})(nR,{mode:tR.projectSort,order:tR.projectOrder,aliases:t3,selectedRoot:G}),[nR,tR.projectSort,tR.projectOrder,t3,G]),n$=(0,i.useMemo)(()=>(function(e,t,n,r){let i=null!=r;if(!i&&!t)return e;let o=[];for(let l of e){if(!i){let e=n?.[l.root];if(l.root.toLowerCase().includes(t)||void 0!==e&&e.toLowerCase().includes(t)){o.push(l);continue}}let e=i?w(l.tree,r):f(l.tree,t);e.length>0&&o.push({...l,tree:e})}return o})(nW,nA?"":nM,t3,nL),[nW,nM,t3,nL,nA]),nD=(0,i.useMemo)(()=>nA?w(nT,nL??new Set):f(nT,nM),[nT,nA,nL,nM]),nN=!nz&&nn.has(v),nB=(0,i.useCallback)((e,n)=>{let r=$.find(t=>t.id===e);r&&t(r,!1,n??null)},[$,t]);(0,i.useEffect)(()=>{let t;if(!e)return;let n=function(e,t){for(let n of e){let e=g(n.tree,t);if(e.length>0)return{projectRoot:n.root,ancestors:e};if(n.tree.some(e=>e.session.id===t))return{projectRoot:n.root,ancestors:[]}}return null}(nR,e),r=n?null:(t=g(nT,e)).length>0?t:nT.some(t=>t.session.id===e)?[]:null;if(!n&&null===r)return;let i=n?n.projectRoot:v,o=n?n.ancestors:r??[];if(t5(e=>e.collapsedProjectRoots.includes(i)?{...e,collapsedProjectRoots:e.collapsedProjectRoots.filter(e=>e!==i)}:e),o.length>0){for(let e of o)tN.current.add(e);tD(e=>{if(!o.some(t=>e.has(t)))return e;let t=new Set(e);return o.forEach(e=>t.delete(e)),t})}},[e,nR,nT,t5]),(0,i.useLayoutEffect)(()=>{if(!e)return;let t=tU.current!==e;tU.current=e;let n=tB.current;if(!n)return;let r=Array.from(n.querySelectorAll("[data-session-id]")).filter(t=>t.dataset.sessionId===e);if(0===r.length)return;let i=!tO.current&&o===e,l=n.getBoundingClientRect(),s=r.find(e=>{let t=e.getBoundingClientRect();return t.bottom>l.top&&t.top<l.bottom});!i&&(s||!t)||((s??r.map(e=>{let t=e.getBoundingClientRect();return{el:e,distance:Math.min(Math.abs(t.top-l.top),Math.abs(t.bottom-l.bottom))}}).sort((e,t)=>e.distance-t.distance)[0].el).scrollIntoView({block:"nearest"}),i&&(tO.current=!0))},[e,o,n$]);let nO=(0,i.useCallback)(e=>{tN.current.add(e),tD(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),nU=(0,i.useCallback)(e=>{t5(t=>({...t,collapsedProjectRoots:t.collapsedProjectRoots.includes(e)?t.collapsedProjectRoots.filter(t=>t!==e):[...t.collapsedProjectRoots,e]}))},[t5]),nq=(0,i.useCallback)(()=>{nU(v)},[nU]),nK=(0,i.useCallback)(e=>{let t;if(ei(null),t=eu instanceof Set?eu:new Set(eu),$.some(n=>n.cwd===e&&t.has(n.id)))return void nu({root:e,message:_("sidebar_closeProjectRunning")});nu(null);let r=$.filter(t=>t.cwd===e).map(e=>e.id);if(t5(t=>{if(!t.projectRoots.includes(e)&&0===r.length)return t;let n=new Set(t.ungroupedSessionIds),i=r.filter(e=>!n.has(e));return{...t,projectRoots:t.projectRoots.filter(t=>t!==e),ungroupedSessionIds:i.length>0?[...t.ungroupedSessionIds,...i]:t.ungroupedSessionIds}}),G===e){let t=function(e,t,n){for(let r of e)if(r.root!==t&&!n.has(r.root))return r.root;return null}(nR,e,new Set);t?nd(t):(nd(null),n?.())}},[G,nR,t5,nd,n,$,eu,_]),nV=(0,i.useCallback)(e=>{ei(null),el(e)},[]),nJ=(0,i.useCallback)(e=>{if(!eo)return;let t=e.trim();if(!t)return;el(null);let n={...t3};t===d(eo)?delete n[eo]:n[eo]=t,t5(e=>({...e,projectAliases:n})),(0,eA.dM)("projectAliases",n)},[eo,t3,t5]),nY=(0,i.useCallback)(e=>{t5(t=>t.displayMode===e?t:{...t,displayMode:e})},[t5]),nX=(0,i.useCallback)(e=>{t5(t=>{if(t.projectSort===e&&"fixed"!==e)return t;let n="fixed"===e?t.projectOrder.length>0?t.projectOrder:n$.map(e=>e.root):t.projectOrder;return{...t,projectSort:e,projectOrder:n}})},[t5,n$]),nG=(0,i.useCallback)((e,t)=>{e&&t&&e!==t&&t5(n=>{let r,i,o,l="fixed"===n.projectSort&&n.projectOrder.length>0?[...n.projectOrder]:n$.map(e=>e.root);for(let e of n$)l.includes(e.root)||l.push(e.root);return l.includes(e)||l.push(e),l.includes(t)||l.push(t),{...n,projectSort:"fixed",projectOrder:(i=(r=[...l]).indexOf(e),o=r.indexOf(t),i<0||o<0||i===o||(r.splice(i,1),r.splice(o,0,e)),r)}})},[t5,n$]),nZ=(0,i.useCallback)(()=>{let e=function(e,t={}){let n=e.map(e=>e.root);return t.includeUngrouped&&n.push(v),{projectRoots:n}}(nR,{includeUngrouped:nD.length>0});t5(t=>({...t,collapsedProjectRoots:e.projectRoots}))},[nR,nD,t5]),nQ=(0,i.useCallback)(()=>{t5(e=>0===e.collapsedProjectRoots.length?e:{...e,collapsedProjectRoots:[]})},[t5]);return(0,r.jsx)(tv.Provider,{value:{startedAt:eD,now:eR},children:(0,r.jsx)(tb.Provider,{value:z.abnormalIds,children:(0,r.jsx)(ty.Provider,{value:e_,children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,r.jsx)(e1,{}),(0,r.jsxs)("div",{className:"sidebar-toolbar",style:{display:"flex",alignItems:"center",gap:6},children:[(0,r.jsx)(e2,{label:_("sidebar_addProject"),onClick:nf,active:et,children:(0,r.jsx)(e6,{size:18})}),(0,r.jsx)(e2,{label:G?_("sidebar_newSessionIn",{project:a(G,Q)}):_("sidebar_selectProject"),disabled:!G,onClick:()=>nC(),children:(0,r.jsx)(e7,{size:18})}),(0,r.jsx)(e2,{label:_("sidebar_searchSessions"),active:eG,expanded:eG,onClick:nI,children:(0,r.jsx)(te,{size:18})}),(0,r.jsx)(e2,{label:_("sidebar_archive"),active:ef,expanded:ef,onClick:nv,children:(0,r.jsx)(e9,{size:18})}),(0,r.jsxs)("div",{ref:tC,style:{position:"relative"},children:[(0,r.jsx)(e2,{label:_("sidebar_displayOptions"),active:tw,expanded:tw,onClick:()=>{let e=!tw;if(tk(e),e){let e=tC.current?.getBoundingClientRect();e&&(tI.current={top:e.top,bottom:e.bottom,right:e.right},tS({top:e.bottom+4,right:Math.max(8,window.innerWidth-e.right)}))}},children:(0,r.jsx)(tt,{size:18})}),tw&&(0,s.createPortal)((0,r.jsx)(eQ,{open:tw,style:{position:"fixed",top:tj?.top??0,right:tj?.right??0,zIndex:600,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 6px 20px rgba(0,0,0,0.10)",overflow:"hidden",minWidth:168},children:(0,r.jsxs)("div",{ref:t_,onKeyDown:e=>{"Escape"===e.key&&tk(!1)},children:[(0,r.jsx)(tc,{label:_("sidebar_standard"),checked:"standard"===t9,onClick:()=>{nY("standard"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_compact"),checked:"compact"===t9,onClick:()=>{nY("compact"),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)("div",{style:{padding:"6px 10px 2px",fontSize:10,fontWeight:600,color:"var(--text-dim)",letterSpacing:"0.04em"},children:_("sidebar_projectSort")}),(0,r.jsx)(tc,{label:_("sidebar_projectSortRecent"),checked:"recent"===tR.projectSort,onClick:()=>{nX("recent"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortAz"),checked:"az"===tR.projectSort,onClick:()=>{nX("az"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortZa"),checked:"za"===tR.projectSort,onClick:()=>{nX("za"),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_projectSortFixed"),checked:"fixed"===tR.projectSort,onClick:()=>{nX("fixed"),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)(tc,{label:_("sidebar_collapseAll"),onClick:()=>{nZ(),tk(!1)}}),(0,r.jsx)(tc,{label:_("sidebar_expandAll"),onClick:()=>{nQ(),tk(!1)}}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,r.jsx)(tc,{label:_("sidebar_recentSessions"),checked:t7,onClick:()=>{ny(!t7),tk(!1)}})]})}),document.body)]})]})]}),!ef&&eG&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:4,marginBottom:6},children:[(0,r.jsx)("button",{type:"button",onClick:()=>e4("meta"),"aria-pressed":"meta"===e0,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"meta"===e0?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:_("sidebar_searchModeMeta")}),(0,r.jsx)("button",{type:"button",onClick:()=>e4("fulltext"),"aria-pressed":"fulltext"===e0,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"fulltext"===e0?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:_("sidebar_searchModeFulltext")})]}),(0,r.jsxs)("div",{style:{position:"relative"},children:[(0,r.jsx)("span",{style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",color:"var(--text-dim)",pointerEvents:"none",display:"flex"},children:(0,r.jsx)(te,{size:13})}),(0,r.jsx)("input",{ref:tx,type:"search",value:eV,onChange:e=>eY(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),eV||eZ(!1),n_())},placeholder:"fulltext"===e0?_("sidebar_searchPlaceholderFulltext"):_("sidebar_searchPlaceholder"),"aria-label":_("sidebar_searchSessions"),style:{width:"100%",height:30,boxSizing:"border-box",padding:"0 28px 0 29px",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",color:"var(--text)",fontSize:11.5,outline:"none"}}),eV&&(0,r.jsx)("button",{type:"button",onClick:()=>n_(),"aria-label":_("sidebar_clearSearch"),title:_("sidebar_clearSearch"),style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",padding:0,border:"none",borderRadius:5,background:"none",color:"var(--text-dim)",cursor:"pointer"},children:(0,r.jsx)(tr,{size:13})})]}),"fulltext"===e0&&eV.trim()&&(0,r.jsxs)("div",{style:{marginTop:6,fontSize:10.5,color:"var(--text-dim)",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[tu&&(0,r.jsx)("span",{children:_("sidebar_searchFulltextLoading")}),!tu&&"fts"===ts&&(0,r.jsxs)("span",{children:[_("sidebar_searchFulltextSourceFts")," \xb7 ",_("sidebar_searchFulltextHits",{count:e5.length})]}),!tu&&"jsonl"===ts&&(0,r.jsxs)("span",{children:[_("sidebar_searchFulltextSourceJsonl")," \xb7 ",_("sidebar_searchFulltextHits",{count:e5.length})]}),tf&&(0,r.jsx)("span",{style:{color:"var(--status-danger)"},children:tf})]})]})]}),!ef&&eG&&"fulltext"===e0&&e5.length>0&&(0,r.jsx)("div",{style:{flex:"0 0 auto",maxHeight:160,overflowY:"auto",overflowX:"hidden",borderBottom:"1px solid var(--border)",padding:"4px 0"},children:e5.slice(0,12).map((e,t)=>(0,r.jsxs)("button",{type:"button",onClick:()=>nB(e.sessionId,e.entryId),title:_("sidebar_searchFulltextSnippet"),style:{display:"block",width:"100%",textAlign:"left",padding:"6px 12px",border:"none",background:"transparent",color:"var(--text)",cursor:"pointer",fontSize:11,lineHeight:1.4},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsxs)("div",{style:{color:"var(--text-dim)",fontSize:10,marginBottom:2},children:[e.role??"message"," \xb7 ",e.sessionId.slice(0,8)]}),(0,r.jsx)("div",{style:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",whiteSpace:"normal"},children:e.snippet})]},`${e.sessionId}-${e.timestamp}-${t}`))}),ef?(0,r.jsx)(tZ,{sessions:V,count:V.length,homeDir:Q,loading:D,onRefresh:nr,onBack:()=>eg(!1)}):(0,r.jsxs)(r.Fragment,{children:[ey&&(0,r.jsx)("div",{role:"alert",style:{padding:"6px 12px",borderBottom:"1px solid var(--border)",background:"var(--status-danger-bg)",color:"var(--status-danger)",fontSize:11,lineHeight:1.4,overflowWrap:"anywhere",flexShrink:0},children:ey}),(0,r.jsxs)("div",{ref:tB,style:{flex:"1 1 auto",overflowY:"auto",overflowX:"hidden",padding:"2px 0",minHeight:80},children:[D&&(0,r.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:_("sidebar_loading")}),N&&(0,r.jsxs)("div",{style:{padding:"12px 14px",color:"var(--status-danger)",fontSize:12,display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("div",{children:_("sidebar_loadFailed")}),(0,r.jsx)("div",{title:N,style:{color:"var(--text-muted)",fontSize:11,overflowWrap:"anywhere"},children:N.length>90?`${N.slice(0,90)}…`:N}),(0,r.jsx)("button",{type:"button",disabled:B,onClick:()=>{tE.current=0,O(!0),ni.current(!0).finally(()=>O(!1))},style:{alignSelf:"flex-start"},children:B?_("common_loading"):_("sidebar_loadFailedRetry")})]}),!D&&!N&&0===n$.length&&0===nD.length&&(("meta"===e0?nM.length>0:nA&&!tu)?(0,r.jsx)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.55},children:_("sidebar_searchEmpty",{query:eV.trim()})}):(0,r.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[_("sidebar_noProjects"),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:_("sidebar_addProject")})]})),!nz&&nk.length>0&&(0,r.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,r.jsxs)("div",{"data-sidebar-depth":0,className:"sidebar-row",style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",borderRadius:6},children:[(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e3,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_pinnedSessions")})]}),nk.map(t=>{let n=nE.get(t.id);return n?(0,r.jsx)(tF,{node:n,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.id):(0,r.jsx)(tH,{session:t,isSelected:t.id===e,isRunning:eu.has(t.id)||eC.has(t.id),isUnread:eK.has(t.id),onClick:()=>ng(t),onRenamed:nr,onDeleted:nm,onArchive:nx,isPinned:nb.has(t.id),onTogglePin:()=>nj(t.id),depth:0,displayMode:t9},t.id)})]}),!nz&&nS.length>0&&(0,r.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,r.jsxs)("div",{"data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":t7,"aria-label":t7?_("sidebar_collapseRecentSessions"):_("sidebar_expandRecentSessions"),onClick:()=>ny(!t7),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),ny(!t7))},className:"sidebar-row",style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",cursor:"pointer",borderRadius:6},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsx)(ta,{collapsed:!t7,label:t7?_("sidebar_collapseRecentSessions"):_("sidebar_expandRecentSessions"),left:6,onClick:e=>{e.stopPropagation(),ny(!t7)}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(e8,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_recentSessions")})]}),t7&&(0,r.jsxs)("div",{children:[nS.slice(0,ne).map(t=>{let n=nE.get(t.id);return n?(0,r.jsx)(tF,{node:n,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.id):(0,r.jsx)(tH,{session:t,isSelected:t.id===e,isRunning:eu.has(t.id)||eC.has(t.id),isUnread:eK.has(t.id),onClick:()=>ng(t),onRenamed:nr,onDeleted:nm,onArchive:nx,isPinned:nb.has(t.id),onTogglePin:()=>nj(t.id),depth:0,displayMode:t9},t.id)}),(0,r.jsx)(tp,{groupKey:"recent",total:nS.length,visibleCount:ne,searchActive:!1,onShowMore:()=>nt(e=>eH(e,nS.length,"more")),onShowFewer:()=>nt(e=>eH(e,nS.length,"fewer"))})]})]}),n$.map(t=>(0,r.jsx)(tP,{project:t,displayMode:t9,projectAliases:t3,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,collapsedProjectRoots:nn,collapsedSessionIds:t$,searchActive:nz,onToggleProject:nU,onNewSession:nC,onSelectSession:ng,menuOpen:er===t.root,onMenuOpenChange:e=>ei(e?t.root:null),onEditProject:()=>nV(t.root),onCloseProject:()=>nK(t.root),onRenamed:nr,onSessionDeleted:nm,onToggleCollapse:nO,groupVisibleCounts:tz,onShowMore:e=>tW(t=>ez(t,e)),onShowFewer:e=>tW(t=>eW(t,e)),actionError:nc?.root===t.root?nc.message:null,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,onProjectDrop:nz?void 0:nG},t.root)),nD.length>0&&(0,r.jsxs)("div",{style:{borderTop:"1px solid var(--border)",marginTop:5,paddingTop:5},children:[(0,r.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!nN,"aria-label":nN?_("sidebar_expandUngroupedSessions"):_("sidebar_collapseUngroupedSessions"),onClick:nq,onKeyDown:e=>{e.target===e.currentTarget&&("Enter"===e.key||" "===e.key)&&(e.preventDefault(),nq())},style:{display:"flex",alignItems:"center",gap:6,height:32,margin:"1px 6px",paddingLeft:32,paddingRight:8,color:"var(--text-muted)",fontSize:12.5,fontWeight:600,position:"relative",cursor:"pointer",borderRadius:6},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,r.jsx)(ta,{collapsed:nN,label:nN?_("sidebar_expandUngroupedSessions"):_("sidebar_collapseUngroupedSessions"),left:6,onClick:e=>{e.stopPropagation(),nq()}}),(0,r.jsx)("span",{"aria-hidden":"true",className:"sidebar-indicator-icon",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",color:"var(--text-dim)"},children:(0,r.jsx)(tl,{size:13})}),(0,r.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:_("sidebar_ungroupedSessions")})]}),!nN&&(0,r.jsxs)("div",{children:[e$(nD,eL(tz,v),nz).map(t=>(0,r.jsx)(tF,{node:t,selectedSessionId:e,runningSessionIds:eu,subagentRunningIds:eC,unreadSessionIds:eK,onSelectSession:ng,onRenamed:nr,onSessionDeleted:nm,onSessionArchive:nx,isSessionPinned:e=>nb.has(e),onTogglePin:nj,depth:0,collapsedSessionIds:t$,searchActive:nz,onToggleCollapse:nO,displayMode:t9},t.session.id)),(0,r.jsx)(tp,{groupKey:v,total:nD.length,visibleCount:eL(tz,v),searchActive:nz,onShowMore:e=>tW(t=>ez(t,e)),onShowFewer:e=>tW(t=>eW(t,e))})]})]})]})]}),(0,r.jsx)(tq,{open:et,onClose:np,onAdded:nh}),(0,r.jsx)(tV,{projectRoot:eo,initialName:eo?t3[eo]??d(eo):"",onClose:()=>el(null),onSaveName:nJ})]})})})})}var nD=n(32383);function nN(e,t){let n=new Set,r=(e,t)=>{if("number"!=typeof e||!Number.isInteger(e)||e<0)return;n.add(e);let r="number"==typeof t&&Number.isInteger(t)&&t>1?t:1;for(let t=1;t<r;t+=1)n.add(e+t)};for(let t of e??[])r(t?.lineIndex,t?.rows);for(let e of t??[])r(e?.lineIndex,1);return n}function nB(e,t){let n=new Map;t.forEach((e,t)=>{n.has(e)||n.set(e,t)});let r=[],i=0;for(let t of e??[]){let e="number"==typeof t?.lineIndex?n.get(t.lineIndex):void 0;if(void 0===e){i+=1;continue}r.push({...t,lineIndex:e})}return{items:r,dropped:i}}function nO(e){switch(e){case"too-large":return"message_imageReason_tooLarge";case"unsupported-format":return"message_imageReason_unsupportedFormat";case"incomplete":return"message_imageReason_incomplete";case"empty":return"message_imageReason_empty";default:return null}}let nU=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,nq=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,nK=/\x1B\[([0-9;]*)m/g,nV=/\x1B_pi:c\x07/g,nJ=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],nY=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function nX(e){return e.replace(nV,"").replace(nU,"")}function nG(e){let t=[],n=0;for(;n<e.length;){if(27===e.charCodeAt(n)){let t=e.slice(n).match(nq);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(void 0===r)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function nZ(e,t){let n=nG(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function nQ(e){return nG(e)[0]?.char}function n0(e,t){if(!Array.isArray(e))return{lines:[],sourceIndex:[]};let n=e.filter(e=>"string"==typeof e),r=t?.keep,i=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,o=[],l=[];n.forEach((e,t)=>{let n=e.replace(nV,""),s=nX(n).trimEnd();if(i.test(s)&&!r?.has(t))return;let a=n,d=nQ(a);("│"===d||"┃"===d)&&" "===nQ(a=nZ(a,0))&&(a=nZ(a,0));let c=function(e){let t=nG(e);for(let e=t.length-1;e>=0;e--)if(""!==t[e].char.trim())return e;return -1}(a),u=c>=0?nG(a)[c]?.char:void 0;("│"===u||"┃"===u)&&(a=nZ(a,c)),o.push(function(e){let t=e;for(;;){let e=nG(t),n=e[e.length-1];if(!n||""!==n.char.trim())return t;t=t.slice(0,n.start)+t.slice(n.end)}}(a)),l.push(t)});let s=e=>""===nX(o[e]).trim(),a=e=>r?.has(l[e])===!0;for(;o.length>0&&s(0)&&!a(0);)o.shift(),l.shift();for(;o.length>0&&s(o.length-1)&&!a(o.length-1);)o.pop(),l.pop();return 0===o.length?{lines:n,sourceIndex:n.map((e,t)=>t)}:{lines:o,sourceIndex:l}}function n1(e){let t,n=[],r={},i=0;for(nK.lastIndex=0;null!==(t=nK.exec(e));)t.index>i&&n.push({text:e.slice(i,t.index),style:r}),r=function(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e];if(0===r)for(let e of Object.keys(n))delete n[e];else if(1===r)n.fontWeight=700;else if(2===r)n.opacity=.65;else if(3===r)n.fontStyle="italic";else if(4===r)n.textDecoration="underline";else if(22===r)delete n.fontWeight,delete n.opacity;else if(23===r)delete n.fontStyle;else if(24===r)delete n.textDecoration;else if(39===r)delete n.color;else if(49===r)delete n.backgroundColor;else if(r>=30&&r<=37)n.color=nJ[r-30];else if(r>=90&&r<=97)n.color=nY[r-90];else if(r>=40&&r<=47)n.backgroundColor=nJ[r-40];else if(r>=100&&r<=107)n.backgroundColor=nY[r-100];else if((38===r||48===r)&&2===t[e+1]){let[i,o,l]=[t[e+2],t[e+3],t[e+4]];[i,o,l].every(e=>"number"==typeof e&&Number.isFinite(e))&&(38===r?n.color=`rgb(${i}, ${o}, ${l})`:n.backgroundColor=`rgb(${i}, ${o}, ${l})`),e+=4}else if((38===r||48===r)&&5===t[e+1]){let i=function(e){if(e>=0&&e<8)return nJ[e];if(e>=8&&e<16)return nY[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=e=>0===e?0:55+40*e;return`rgb(${i(n)}, ${i(r)}, ${i(t%6)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}(t[e+2]);i&&(38===r?n.color=i:n.backgroundColor=i),e+=2}}return n}(r,t[1]?t[1].split(";").map(e=>Number(e||"0")):[0]),i=t.index+t[0].length;return i<e.length&&n.push({text:e.slice(i),style:r}),n}let n2=new Map;function n4(e){return[e.fontFamily??"",e.fontSize??"",e.lineHeight??""].join("|")}function n6(e,t,n){let r=e.get(t);if(void 0!==r)return r;let i=n();return!Number.isFinite(i)||i<=0?null:(e.set(t,i),i)}function n5(e,t,n){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;visibility:hidden;white-space:pre",e.appendChild(r);let i=r.getBoundingClientRect(),o="width"===n?i.width/100:i.height;return r.remove(),o}function n8(e){let t=window.getComputedStyle(e);return n6(n2,`ch|${n4(t)}`,()=>n5(e,"0".repeat(100),"width"))}function n3(e){let t=window.getComputedStyle(e);return n6(n2,`lh|${n4(t)}`,()=>n5(e,"0","height"))}function n9({image:e,alt:t}){let n=(0,i.useRef)(null),[o,l]=(0,i.useState)(null);return(0,i.useEffect)(()=>{let t=n.current;if(!t)return;let r=t?t.parentElement??t:null;if(!r)return;let i=n3(r);if(!i)return;let o=n8(r);l({height:i*Math.max(1,e.rows),width:o?o*Math.max(1,e.cols):0})},[e.cols,e.id,e.rows]),(0,r.jsx)("span",{ref:n,style:{display:"inline-block",lineHeight:0},children:(0,r.jsx)("img",{src:`data:${e.mime};base64,${e.base64}`,alt:t,"data-pidance-terminal-image":e.id,style:{display:"block",height:o?`${o.height}px`:`${Math.max(1,e.rows)}em`,width:o&&o.width>0?`${o.width}px`:"auto",maxWidth:"100%",objectFit:"contain"}})})}function n7({label:e,reason:t}){return(0,r.jsx)("span",{role:"note",title:t,style:{color:"var(--text-muted)"},children:e})}function re({lines:e,images:t,imageFallbacks:n,keyPrefix:o,renderLine:l,imageAlt:s,fallbackLabel:a}){let d=Array.isArray(e)?e:[],c=new Map,u=new Set;for(let e of Array.isArray(t)?t:[])if("number"==typeof e?.lineIndex){c.set(e.lineIndex,e);for(let t=1;t<Math.max(1,e.rows);t+=1)u.add(e.lineIndex+t)}let p=new Map;for(let e of Array.isArray(n)?n:[])"number"==typeof e?.lineIndex&&p.set(e.lineIndex,e);return d.map((e,t)=>{if(u.has(t))return null;let n=c.get(t),h=p.get(t);return n||h?(0,r.jsxs)(i.Fragment,{children:[n?(0,r.jsx)(n9,{image:n,alt:s}):null,h?(0,r.jsx)(n7,{label:a(h.reason),reason:h.reason}):null,""!==e?l(e,`${o}-${t}`):null,t<d.length-1?"\n":null]},`${o}-${t}`):(0,r.jsxs)(i.Fragment,{children:[l(e,`${o}-${t}`),t<d.length-1?"\n":null]},`${o}-${t}`)})}let rt=/^[\s─│┌┐└┘├┤┬┴┼┏┓┗┛┣┫┳┻╋━┃]+$/,rn=["❯","▶","→",">"],rr=/^\s*(?:[❯▶>]\s*)?(?:\(?\d+[).、]|[-*•])\s+\S/;function ri(e){let t=nX(e);return""!==t.trim()&&rt.test(t)&&/[─│┌┐└┘├┤┬┴┼┏┓┗┛┣┫┳┻╋━┃]/.test(t)}function ro(e,t={}){let n=[];for(let t of e){let e=nX(t);if(ri(t))return null;if(!rr.test(e))continue;let r=e.replace(/^(\s*)[❯▶>]/,"$1 ").match(/^\s*/)?.[0].length??0,i=function(e){let t=nX(e);for(let e of rn){let n=t.indexOf(e);if(n>=0)return n}return -1}(t)>=0||/\x1b\[(?:4[0-7]|48;[0-9;]+|10[0-7])m/.test(t),o=e.replace(/^\s*(?:[❯▶>]\s*)?/,"").trim();n.push({index:n.length,line:t,label:o,cursor:i,indent:r})}if(n.length<2)return t.allowCursorList?function(e){let t=e.map(e=>({line:e,plain:nX(e)}));if(e.some(e=>ri(e)))return null;let n=-1,r=-1;for(let e=0;e<t.length;e+=1){let i=t[e].plain.match(/^(\s*)([❯▶→>])(\s+)/);if(i){if(n>=0)return null;n=e,r=i[1].length+i[2].length+i[3].length}}if(n<0||r<=0)return null;let i=(e,n)=>!ri(t[n].line)&&""!==e.trim()&&(/^\s*[❯▶→>](\s+)/.test(e)?e.length>r:e.length>r&&""===e.slice(0,r).trim()),o=n;for(;o-1>=0&&i(t[o-1].plain,o-1);)o-=1;let l=n;for(;l+1<t.length&&i(t[l+1].plain,l+1);)l+=1;let s=t.slice(o,l+1);if(s.length<2)return null;let a=s.map((e,t)=>({index:t,label:e.plain.slice(r).trim(),line:e.line,cursor:t===n-o}));return a.some(e=>0===e.label.length||e.label.length>60)?null:{items:a,cursorIndex:n-o}}(e):null;let r=n[0].indent;if(n.some(e=>Math.abs(e.indent-r)>1))return null;let i=n.filter(e=>e.cursor);return 1!==i.length||n.some(e=>0===e.label.length)?null:{items:n.map(e=>({index:e.index,label:e.label,line:e.line,cursor:e.cursor})),cursorIndex:i[0].index}}let rl={ArrowUp:"\x1b[A",ArrowDown:"\x1b[B",ArrowRight:"\x1b[C",ArrowLeft:"\x1b[D",Home:"\x1b[H",End:"\x1b[F",Insert:"\x1b[2~",Delete:"\x1b[3~",PageUp:"\x1b[5~",PageDown:"\x1b[6~",Escape:"\x1b",Backspace:""},rs={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function ra(e){if(e.metaKey||e.ctrlKey&&!e.altKey&&"v"===e.key.toLowerCase())return null;if(e.ctrlKey&&!e.altKey){let t=function(e){if(1!==e.length)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(31&t):"?"===e?"":null}(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if("Backspace"===e.key)return"\x1b\x7f";let t=rs[e.key];if(t)return t;if(1===e.key.length)return`\x1b${e.key}`}return"Enter"===e.key?e.shiftKey?"\n":"\r":"Tab"===e.key?e.shiftKey?"\x1b[Z":" ":rl[e.key]??null}function rd(e){return`\x1b[200~${e}\x1b[201~`}let rc=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","Escape"],ru={ArrowUp:"keyBar_up",ArrowDown:"keyBar_down",ArrowLeft:"keyBar_left",ArrowRight:"keyBar_right",Enter:"keyBar_enter",Escape:"keyBar_escape"},rp={ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Enter:"⏎",Escape:"Esc"};function rh({onKey:e,inline:t=!1}){return t?(0,r.jsx)(rf,{onKey:e,inline:!0}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{"aria-hidden":"true",style:{flexShrink:0,height:"calc(60px + env(safe-area-inset-bottom))"}}),(0,r.jsx)(rf,{onKey:e})]})}function rf({onKey:e,inline:t=!1}){let{t:n}=(0,eU.s9)();return(0,r.jsx)("div",{"data-extension-key-bar":"true",role:"toolbar","aria-label":n("keyBar_title"),style:{display:"flex",alignItems:"center",gap:t?6:8,...t?{flexShrink:0}:{position:"fixed",left:0,right:0,bottom:0,zIndex:40,flexShrink:0,justifyContent:"center",padding:"8px 12px calc(8px + env(safe-area-inset-bottom))",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"}},children:rc.map(i=>{let o=ra({key:i,shiftKey:!1,ctrlKey:!1,altKey:!1,metaKey:!1}),l=n(ru[i]);return(0,r.jsx)("button",{type:"button",disabled:null===o,"aria-label":l,title:l,onClick:()=>{null!==o&&e(i,o)},style:{minWidth:t?38:44,height:t?32:44,padding:t?"0 8px":"0 10px",borderRadius:8,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,cursor:"pointer"},children:rp[i]},i)})})}let rg={pressing:!1,longPressFired:!1,scrolled:!1};function rm(e){return e.pressing?{pressing:!1,longPressFired:e.longPressFired,scrolled:e.scrolled}:e}function rx(e,t){return Math.abs(e)>10||Math.abs(t)>10}function rv(e){let t=e.split(/[-_./]+/).filter(Boolean);return 0===t.length?e:t.map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function ry(e,t,n,r={}){return{kind:"message",source:"disk",messageIndex:t,keyPrefix:r.keyPrefix??"message",attachRef:r.attachRef??!0,showTimestamp:r.showTimestamp??function(e,t,n){if(e[t]?.role!=="assistant")return;let r=!0;for(let n=t+1;n<e.length;n++){let t=e[n].role;if("user"===t)break;if("assistant"===t){r=!1;break}}return r&&n&&t===e.length-1&&(r=!1),r}(e,t,n),...r.messageOverride?{messageOverride:r.messageOverride}:{}}}function rb(e,t){if(!t)return e.length;let n=e.length;for(;n>0;){let t=e[n-1];if(t?.role!=="user")break;let r=!0===t._duringStreamingStep,i=n-2>=0&&e[n-2]?.role==="user";if(!r&&!i)break;n--}return n}function rw(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.kind==="message"&&"live"===n.source)return n.messageOverride??null}return null}let rk="(max-width: 640px)";function rj(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(rk);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function rS(){return!!window.matchMedia&&window.matchMedia(rk).matches}function rC(){return!1}function r_(){return(0,i.useSyncExternalStore)(rj,rS,rC)}var rI=n(94514),rR=n(67635),rT=n(31025),rE=n(93631),rM=n(66088),rA=n(99815),rL=n(12651),rz=n(41585),rW=n(62791),r$=n(10762),rP=n(9921),rF=n(32316),rH=n(65063),rD=n(7644);let rN="pi-theme",rB="pi-theme-style",rO=new Set,rU=null;function rq(e){return"light"===e||"dark"===e||"system"===e}function rK(e){return"chamber"===e||"fusion"===e}function rV(e){return"system"!==e?e:window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function rJ(){if("u"<typeof document)return"light";let e=document.documentElement.dataset.themeMode??null;if(rq(e))return e;try{let e=localStorage.getItem(rN);if(rq(e))return e}catch{}return document.documentElement.classList.contains("dark")?"dark":"light"}function rY(){if("u"<typeof document)return"chamber";let e=document.documentElement.dataset.themeStyle??null;if(rK(e))return e;try{let e=localStorage.getItem(rB);if(rK(e))return e}catch{}return"chamber"}function rX(){if("u"<typeof document)return"light|chamber|light";let e=rJ();return`${e}|${rY()}|${document.documentElement.classList.contains("dark")?"dark":"light"}`}function rG(){rO.forEach(e=>e())}function rZ(){if("system"!==rJ())return;let e=rV("system");document.documentElement.classList.toggle("dark","dark"===e),rG()}function rQ(e){return rO.add(e),rU||(rU=window.matchMedia("(prefers-color-scheme: dark)")).addEventListener("change",rZ),()=>{rO.delete(e),0===rO.size&&rU&&(rU.removeEventListener("change",rZ),rU=null)}}function r0(e,t){let n=rV(e),r=document.documentElement;r.classList.toggle("dark","dark"===n),r.dataset.themeMode=e,r.dataset.themeStyle=t;try{localStorage.setItem(rN,e),localStorage.setItem(rB,t)}catch{}(0,eA.dM)("theme",{mode:e,style:t}),rG()}function r1(){let e=(0,eA.b3)("theme"),t="string"==typeof e?.mode?e.mode:null;if(!rq(t))return;let n="string"==typeof e?.style?e.style:null,r=rK(n)?n:rY();(t!==rJ()||r!==rY())&&r0(t,r)}function r2(){let[e,t,n]=(0,i.useSyncExternalStore)(rQ,rX,()=>"light|chamber|light").split("|"),r=(0,i.useCallback)((n,r,i)=>{if(e===n&&t===r)return;let o=()=>r0(n,r),l=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if("function"!=typeof document.startViewTransition||l)return void o();let s=i?.x??window.innerWidth/2,a=i?.y??window.innerHeight/2,d=Math.hypot(Math.max(s,window.innerWidth-s),Math.max(a,window.innerHeight-a));document.startViewTransition(o).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${s}px ${a}px)`,`circle(${d}px at ${s}px ${a}px)`]},{duration:450,easing:"cubic-bezier(0.22, 0.61, 0.36, 1)",pseudoElement:"::view-transition-new(root)"})}).catch(()=>{})},[e,t]),o=(0,i.useCallback)((e,n)=>{r(e,t,n)},[r,t]),l=(0,i.useCallback)((t,n)=>{r(e,t,n)},[e,r]),s=(0,i.useCallback)(e=>{o("dark"===n?"light":"dark",e)},[o,n]);return{theme:n,mode:e,themeStyle:t,toggleTheme:s,setTheme:o,setThemeStyle:l,isDark:"dark"===n}}(0,eA.zo)().then(r1),(0,eA.iX)(r1);var r4=n(28999);function r6(e){let t=(0,r4.A0)(e),n=/^[a-zA-Z]:\//.test(t),r=t.startsWith("//"),i=t.startsWith("/")&&!n&&!r,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():i||n||r||o.push(e);continue}o.push(e)}let l=o.join("/");return n?l:r?`//${l}`:i?`/${l}`:l}function r5(e,t,n=t){let r,i,o,l,s;if(!e)return null;let a=e.split("#",1)[0].split("?",1)[0].trim();if(!a)return null;let d=null,c=null,u=(0,r4.ex)(a),p=u.startsWith("\\\\"),h=(0,r4.A0)(u),f=h.toLowerCase();if(f.startsWith("/api/")||f.startsWith("/_next/")||!p&&h.startsWith("//")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(h)&&!f.startsWith("file:")&&!/^[a-zA-Z]:\//.test(h))return null;if(f.startsWith("file:")?c=(d=function(e){try{let t=new URL(e);if("file:"!==t.protocol)return null;let n=(0,r4.ex)(t.pathname);if(t.hostname)return`//${t.hostname}${n.startsWith("/")?n:`/${n}`}`;if(/^\/[a-zA-Z]:\//.test(n))return n.slice(1);return n}catch{return null}}(h))?"absolute":null:/^[a-zA-Z]:\//.test(h)||h.startsWith("/")?(d=h,c="absolute"):t&&!(h.startsWith("#")||h.startsWith("?"))&&(h.startsWith("./")||h.startsWith("../")||h.includes("/")||/(^|\/)\.?[^/]+\.[^/.]+$/.test(h))&&(d=`${(0,r4.A0)(t).replace(/\/+$/,"")}/${h}`,c="relative"),!d)return null;let g=r6(d).replace(/:\d+(?::\d+)?$/,"");return"relative"===c&&n&&(r=r6(g).replace(/\/+$/,""),i=r6(n).replace(/\/+$/,""),l=(o=/^[a-zA-Z]:\//.test(r)||/^[a-zA-Z]:\//.test(i))?r.toLowerCase():r,!(l===(s=o?i.toLowerCase():i)||l.startsWith(`${s}/`)))?null:g}var r8=n(88374),r3=n(5924),r9=n(94764),r7=n(63835),ie=n(84678),it=n(98164);let ir={...r9.j,attributes:{...r9.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...r9.j.strip||[],"iframe","object","style","form"]},ii=[ie.A,it.A],io=[ie.A],il=[r3.A,[r7.A,ir],[r8.A,{throwOnError:!1,strict:!1}]],is=[r3.A,[r7.A,ir]];var ia=n(82482),id=n(51914),ic=n(9199),iu=n(6962);let ip=null,ih=new Set,ig=new Set;function im(){for(let e of ih)e()}function ix(){null!==ip&&(ip=null,im())}async function iv(e){let t=e.fetchImpl??fetch;try{let r=await t("/api/files/save-as",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path,targetDirectory:e.targetDirectory})}),i=await r.json().catch(()=>null);if(!r.ok){var n;let e;return{ok:!1,message:(n=r.status,e=i?.error,"string"==typeof e&&e.trim()?e:403===n?"Access denied":404===n?"Not found":409===n?"Already exists":`HTTP ${n}`)}}let o="string"==typeof i?.path?i.path:"";if(!o)return{ok:!1,message:"Save failed"};return{ok:!0,path:o,name:"string"==typeof i?.name?i.name:o.split("/").pop()??o}}catch{return{ok:!1,message:"Save failed"}}}function iy({open:e,sourcePath:t,onClose:n}){let{t:o}=(0,eU.s9)(),l=(0,i.useRef)(null),[s,a]=(0,i.useState)(""),[d,c]=(0,i.useState)([]),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),[g,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(null),w=(0,i.useRef)(!1),k=(0,i.useCallback)(async e=>{let t=await tB(e);if(!t.ok){f(!0),c([]),p(null);return}f(!1),t.path&&(a(t.path),w.current||(w.current=!1)),c(t.entries),p(t.parentPath)},[]);(0,i.useEffect)(()=>{e&&(v(null),b(null),w.current=!1,k("~"))},[e,k]),(0,i.useEffect)(()=>{if(!e||w.current)return;let t=s.trim();if(!t)return;let n=setTimeout(()=>void k(t),250);return()=>clearTimeout(n)},[e,s,k]);let j=(0,i.useCallback)(e=>{w.current=!0,a(e),v(null),b(null),k(e)},[k]),S=(0,i.useCallback)(async()=>{let e=s.trim();if(!e||g)return;m(!0),b(null);let n=await iv({path:t,targetDirectory:e});if(m(!1),!n.ok){v(null),b(n.message);return}v(n.path),k(e)},[s,g,t,k]);return(0,r.jsx)(tR,{open:e,onClose:n,title:o("saveAs_title"),width:480,closeLabel:o("dialog_close"),initialFocusRef:l,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(td,{onClick:n,children:o("sidebar_cancel")}),(0,r.jsx)(td,{primary:!0,disabled:g||!s.trim(),onClick:()=>void S(),children:o(g?"saveAs_saving":"saveAs_save")})]}),children:(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"save-as-directory",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:o("saveAs_directory")}),(0,r.jsx)("input",{id:"save-as-directory",ref:l,value:s,onChange:e=>{a(e.target.value),b(null),v(null)},onKeyDown:e=>{"Enter"!==e.key||g||(e.preventDefault(),S())},placeholder:"~",spellCheck:!1,style:{width:"100%",boxSizing:"border-box",height:32,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:12}}),(0,r.jsx)("div",{style:{marginTop:6,fontSize:11,color:"var(--text-dim)"},children:o("saveAs_hint")}),(0,r.jsxs)("div",{className:"save-as-browse",style:{marginTop:10,maxHeight:220,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6},children:[u?(0,r.jsx)("button",{type:"button",onClick:()=>j(u),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text-muted)",fontSize:12,cursor:"pointer",borderRadius:5,fontFamily:"var(--font-mono)"},children:".."}):null,h?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseMissing")}):0===d.length?(0,r.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:o("sidebar_browseEmpty")}):d.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>j(e.path),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",background:"transparent",color:"var(--text)",fontSize:12,cursor:"pointer",borderRadius:5,textAlign:"left"},children:[(0,r.jsx)("span",{"aria-hidden":"true",style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"›"}),(0,r.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]}),x?(0,r.jsx)("div",{role:"status",style:{marginTop:10,fontSize:12,color:"var(--status-running)",overflowWrap:"anywhere"},children:o("saveAs_savedTo",{path:x})}):null,y?(0,r.jsx)("div",{role:"alert",style:{marginTop:10,fontSize:12,color:"var(--status-danger)",overflowWrap:"anywhere"},children:y}):null]})})}let ib={"image/avif":"avif","image/bmp":"bmp","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/svg+xml":"svg","image/webp":"webp","image/x-icon":"ico"};function iw(e){let t=e.source;if(t&&"object"==typeof t){if("base64"===t.type&&"string"==typeof t.data&&t.data.length>0){let e=ij(t.media_type);return{src:`data:${e};base64,${t.data}`,mimeType:e}}if("url"===t.type&&"string"==typeof t.url&&t.url.trim()){let e=t.url.trim();return iS(e)?{src:e,mimeType:ik(t.media_type)}:null}}if("string"==typeof e.data&&e.data.length>0){let t=ij(e.mimeType);return{src:`data:${t};base64,${e.data}`,mimeType:t}}return null}function ik(e){if("string"!=typeof e)return;let t=e.trim().toLowerCase();return/^image\/[a-z0-9.+-]+$/.test(t)?t:void 0}function ij(e){return ik(e)??"image/png"}function iS(e){let t=e.trim();if(!t)return!1;if(t.startsWith("data:"))return/^data:image\/[a-z0-9.+-]+;base64,/i.test(t);try{let e=new URL(t,"http://pidance.invalid").protocol;return"http:"===e||"https:"===e||"blob:"===e}catch{return!1}}let iC={display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:30,minHeight:30,padding:4,border:"1px solid rgba(255,255,255,0.22)",borderRadius:6,background:"rgba(255,255,255,0.10)",color:"#fff",cursor:"pointer",flexShrink:0};function i_({src:e,fullSrc:t,downloadHref:n,downloadName:i,mimeType:o,alt:l,title:s,maxWidth:a=360,maxHeight:d=280}){let{t:c}=(0,eU.s9)(),u=t&&iS(t)?t:e,p=n||u,h=i?.trim()||function(e,t){if(!e.startsWith("data:"))try{let t=new URL(e,"http://pidance.invalid"),n=decodeURIComponent(t.pathname.split("/").pop()??"");if(/^[^\\/:*?\"<>|]+\.[a-z0-9]{1,8}$/i.test(n))return n}catch{}return`image.${t?ib[t.toLowerCase()]??"png":"png"}`}(p,o),f=l||c("message_imageAlt");return e&&iS(e)?(0,r.jsx)("button",{type:"button",onClick:()=>{ip={...{src:u,downloadHref:p,downloadName:h,mimeType:o,alt:f,title:s},id:`${Date.now()}-${Math.random().toString(36).slice(2)}`},im()},"aria-label":c("message_openImage"),title:s||c("message_openImage"),style:{display:"block",maxWidth:a,maxHeight:d,margin:0,padding:0,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-subtle)",cursor:"zoom-in",overflow:"hidden",lineHeight:0},children:(0,r.jsx)("img",{src:e,alt:f,title:s,draggable:!1,decoding:"async",style:{display:"block",maxWidth:a,maxHeight:d,objectFit:"contain"}})}):null}function iI(){let{t:e}=(0,eU.s9)(),t=(0,i.useSyncExternalStore)(e=>(ih.add(e),()=>ih.delete(e)),()=>ip,()=>null),[n,o]=(0,i.useState)(1),[l,a]=(0,i.useState)(!1),[d,c]=(0,i.useState)(!1),u=t?(0,r4.n$)(t.downloadHref):null,[p,h]=(0,i.useState)({x:0,y:0}),[f,g]=(0,i.useState)(()=>t_()),m=(0,i.useRef)(!1),x=(0,i.useRef)(null),v=(0,i.useRef)(new Map),y=(0,i.useRef)(null),b=(0,i.useRef)(null),w=(0,i.useRef)(null),k=(0,i.useCallback)((e,t)=>{let n=b.current,r=w.current;if(!n||!r||t<=1)return{x:0,y:0};let i=window.getComputedStyle(r),o=r.clientWidth-Number.parseFloat(i.paddingLeft)-Number.parseFloat(i.paddingRight),l=r.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom),s=Math.max(0,(n.offsetWidth*t-o)/2),a=Math.max(0,(n.offsetHeight*t-l)/2);return{x:Math.min(s,Math.max(-s,e.x)),y:Math.min(a,Math.max(-a,e.y))}},[]),j=(0,i.useCallback)(()=>{o(1),h({x:0,y:0})},[]),S=(0,i.useCallback)(e=>{o(t=>{let n=Math.min(4,Math.max(1,Number((t+e).toFixed(2))));return h(e=>k(e,n)),n})},[k]);(0,i.useEffect)(()=>{var e;j(),x.current=null,a(!!t&&!!(e=t.downloadHref)&&ig.has(e)),c(!1)},[t?.id,t,j]),(0,i.useEffect)(()=>()=>ix(),[]),(0,i.useEffect)(()=>{if(!t)return;let e=()=>{g(t_()),h(e=>k(e,n))};e();let r=window.visualViewport;return r?.addEventListener("resize",e),r?.addEventListener("scroll",e),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{r?.removeEventListener("resize",e),r?.removeEventListener("scroll",e),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[t,k,n]),(0,i.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key?(e.preventDefault(),ix()):"+"===e.key||"="===e.key?(e.preventDefault(),S(.25)):"-"===e.key?(e.preventDefault(),S(-.25)):"0"===e.key&&(e.preventDefault(),j())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t,S,j]);let C=(0,i.useCallback)(e=>{e.preventDefault(),S(e.deltaY<0?.25:-.25)},[S]),_=(0,i.useCallback)(e=>{if(m.current=!1,v.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),v.current.size>=2){x.current=null;let[t,r]=[...v.current.values()];y.current={distance:Math.hypot(t.x-r.x,t.y-r.y)||1,zoom:n},e.preventDefault();return}n<=1||(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),x.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,offsetX:p.x,offsetY:p.y})},[p.x,p.y,n]),I=(0,i.useCallback)(e=>{let t=v.current;t.has(e.pointerId)&&t.set(e.pointerId,{x:e.clientX,y:e.clientY});let r=y.current;if(r&&t.size>=2){let[n,i]=[...t.values()],l=function(e,t){if(!Number.isFinite(e.distance)||e.distance<=0||!Number.isFinite(t)||t<0)return e.zoom;let n=e.zoom*(t/e.distance);return Number.isFinite(n)?Math.min(4,Math.max(1,Number(n.toFixed(2)))):e.zoom}(r,Math.hypot(n.x-i.x,n.y-i.y));m.current=!0,o(l),h(e=>k(e,l)),e.preventDefault();return}let i=x.current;if(!i||i.pointerId!==e.pointerId)return;let l=e.clientX-i.x,s=e.clientY-i.y;(Math.abs(l)>3||Math.abs(s)>3)&&(m.current=!0),h(k({x:i.offsetX+l,y:i.offsetY+s},n))},[k,n]),R=(0,i.useCallback)(e=>{v.current.delete(e.pointerId),v.current.size<2&&(y.current=null),x.current?.pointerId===e.pointerId&&(x.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),T=(0,i.useCallback)(e=>{if(m.current){m.current=!1;return}e.target===e.currentTarget&&ix()},[]);return t?(0,s.createPortal)((0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":e("message_imageViewer"),style:{position:"fixed",top:f.top,left:f.left,width:f.width,height:f.height,zIndex:1100,background:"color-mix(in srgb, #000 82%, transparent)",display:"flex",flexDirection:"column",overscrollBehavior:"contain"},children:[(0,r.jsxs)("div",{style:{position:"absolute",top:8,left:8,right:8,display:"flex",alignItems:"center",gap:6,padding:"6px 8px 6px 12px",borderRadius:9,background:"color-mix(in srgb, #000 55%, transparent)",backdropFilter:"blur(6px)",color:"#fff",zIndex:1},children:[(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:650},title:t.title||t.alt,children:t.title||t.alt}),(0,r.jsx)("button",{type:"button",onClick:()=>S(-.25),disabled:n<=1,"aria-label":e("message_zoomOut"),title:e("message_zoomOut"),style:{...iC,opacity:n<=1?.45:1},children:(0,r.jsx)(ia.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),(0,r.jsxs)("button",{type:"button",onClick:j,"aria-label":e("message_resetZoom"),title:e("message_resetZoom"),style:{...iC,minWidth:48,fontSize:11},children:[Math.round(100*n),"%"]}),(0,r.jsx)("button",{type:"button",onClick:()=>S(.25),disabled:n>=4,"aria-label":e("message_zoomIn"),title:e("message_zoomIn"),style:{...iC,opacity:n>=4?.45:1},children:(0,r.jsx)(id.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),(0,r.jsx)("button",{type:"button",onClick:j,"aria-label":e("message_resetZoom"),title:e("message_resetZoom"),style:iC,children:(0,r.jsx)(ic.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})}),l&&u?(0,r.jsxs)("button",{type:"button",onClick:()=>c(!0),"aria-label":e("message_saveImageAs"),title:e("message_saveImageAs"),style:{...iC,gap:5,fontSize:12},children:[(0,r.jsx)(iu.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e("message_saveImageAs")})]}):null,(0,r.jsxs)("a",{href:t.downloadHref,download:t.downloadName,onClick:()=>{var e;(e=t.downloadHref)&&ig.add(e),a(!0)},"aria-label":e("message_downloadImage"),title:e("message_downloadImage"),style:{...iC,gap:5,textDecoration:"none",fontSize:12,display:l?"none":"inline-flex"},children:[(0,r.jsx)(iu.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e("message_downloadImage")})]}),(0,r.jsx)("button",{type:"button",onClick:ix,"aria-label":e("message_closeImage"),title:e("message_closeImage"),style:{...iC,fontSize:20,lineHeight:1},children:"\xd7"})]}),(0,r.jsx)("div",{ref:w,role:"group","aria-label":e("message_imageViewer"),onWheel:C,onPointerDown:_,onPointerMove:I,onPointerUp:R,onPointerCancel:R,onClick:T,onDoubleClick:()=>n>1?j():S(1),style:{flex:1,minHeight:0,display:"flex",alignItems:"center",justifyContent:"center",padding:"56px 12px 12px",overflow:"hidden",cursor:n>1?"grab":"zoom-in",touchAction:"none"},children:(0,r.jsx)("img",{ref:b,src:t.src,alt:t.alt,draggable:!1,decoding:"async",style:{display:"block",maxWidth:"100%",maxHeight:"100%",width:"auto",height:"auto",objectFit:"contain",userSelect:"none",WebkitUserSelect:"none",transform:`translate(${p.x}px, ${p.y}px) scale(${n})`,transformOrigin:"center center",transition:x.current?"none":"transform 0.12s ease-out"}})}),u?(0,r.jsx)(iy,{open:d,sourcePath:u,onClose:()=>c(!1)}):null]}),document.body):null}function iR({code:e,isStreaming:t}){let{t:o}=(0,eU.s9)(),{isDark:l}=r2(),[s,a]=(0,i.useState)(!1),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(""),[h,f]=(0,i.useState)(null),g=`${l?"dark":"light"}
|
|
2
2
|
${e}`;(0,i.useEffect)(()=>{if(!s||t)return;let r=!1;return f(null),(async()=>{let{default:t}=await Promise.all([n.e(279),n.e(2280),n.e(3308)]).then(n.bind(n,43328));if(t.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:l?"dark":"default"}),!await t.parse(e,{suppressErrors:!0}))throw Error("Invalid Mermaid diagram");let i="u">typeof crypto&&"randomUUID"in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,o=await t.render(i,e);r||(c(o.svg),p(g))})().catch(()=>{r||f(g)}),()=>{r=!0}},[e,g,l,t,s]);let m=(0,r.jsx)("button",{onClick:()=>a(e=>!e),disabled:t,title:o(t?"markdown_previewAfterStreaming":s?"markdown_showSource":"markdown_preview"),className:["markdown-code-action",s?"is-active":""].filter(Boolean).join(" "),children:o(s?"markdown_source":"markdown_previewShort")});if(!s||t)return(0,r.jsx)(iT,{code:e,lang:"mermaid",headerAction:m});let x=h===g?(0,r.jsx)("div",{className:"mermaid-block mermaid-block-error",children:o("markdown_invalidMermaid")}):d&&u===g?(0,r.jsx)("div",{className:"mermaid-block",dangerouslySetInnerHTML:{__html:d}}):(0,r.jsx)("div",{className:"mermaid-block mermaid-block-loading","aria-label":o("markdown_renderingMermaid")});return(0,r.jsxs)("div",{className:"markdown-code-block",children:[(0,r.jsxs)("div",{className:"markdown-code-header",children:[(0,r.jsx)("span",{className:"markdown-code-lang",children:"mermaid"}),m]}),x]})}function iT({code:e,lang:t,headerAction:n}){let{t:o}=(0,eU.s9)(),{isDark:l}=r2(),[s,a]=(0,i.useState)(!1);return(0,r.jsxs)("div",{className:"markdown-code-block",children:[(0,r.jsxs)("div",{className:"markdown-code-header",children:[(0,r.jsx)("span",{className:"markdown-code-lang",children:t||"text"}),(0,r.jsxs)("div",{className:"markdown-code-actions",children:[n,(0,r.jsx)("button",{onClick:()=>{tA(e).then(()=>{a(!0),setTimeout(()=>a(!1),1500)})},className:"markdown-code-action",children:o(s?"markdown_copied":"markdown_copy")})]})]}),(0,r.jsx)("div",{className:"markdown-code-body",children:(0,r.jsx)(rH.A,{language:t||"text",style:l?rD.xJ:rD.vs,showLineNumbers:!0,showInlineLineNumbers:!1,lineNumberStyle:{color:"var(--text-dim)",fontStyle:"normal",userSelect:"none"},customStyle:{margin:0,padding:"11px 13px",fontSize:12.5,lineHeight:1.62,borderRadius:0,background:"color-mix(in srgb, var(--bg) 92%, var(--bg-panel))",userSelect:"text",WebkitUserSelect:"text"},codeTagProps:{style:{fontFamily:"var(--font-mono)",userSelect:"text",WebkitUserSelect:"text"}},children:e})})]})}let iE=(0,i.memo)(function({children:e,className:t,isStreaming:n,cwd:o,onOpenFile:l}){let s=(0,i.useMemo)(()=>{var t;let n,r,i;return n=(t=e).includes("\r\n")?"\r\n":"\n",r=t.split(/\r?\n/),i=null,r.map(e=>{let t=e.match(/^ {0,3}(`{3,}|~{3,})/);if(t){let n=t[1][0],r=t[1].length;return i?n===i.marker&&r>=i.size&&(i=null):i={marker:n,size:r},e}if(i)return e;let r=e.match(/^([ \t]{0,3})\$\$(.+)\$\$[ \t]*$/);if(!r)return e;let o=r[2].trim();return o?`${r[1]}$$${n}${o}${n}${r[1]}$$`:e}).join(n)},[e]);return(0,r.jsx)("div",{className:["markdown-body",t].filter(Boolean).join(" "),children:(0,r.jsx)(rF.oz,{remarkPlugins:ii,rehypePlugins:il,components:{code({className:e,children:t,...i}){delete i.node;let o=e?.replace("language-","").toLowerCase()??"",l=String(t);return e?.includes("language-")||l.includes("\n")?"mermaid"===o?(0,r.jsx)(iR,{code:l.replace(/\n$/,""),isStreaming:n}):(0,r.jsx)(iT,{code:l.replace(/\n$/,""),lang:o}):(0,r.jsx)("code",{className:"markdown-inline-code",...i,children:t})},pre:({children:e})=>(0,r.jsx)(r.Fragment,{children:e}),img:({src:e,alt:t,title:n,...i})=>(delete i.node,"string"==typeof e&&e)?(0,r.jsx)(i_,{src:e,fullSrc:e,alt:t,title:n,maxWidth:"100%",maxHeight:480}):null,a({href:e,children:t,...n}){delete n.node;let i=l?r5(e,o):null;return i&&l?(0,r.jsx)("a",{href:e,...n,onClick:e=>{if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute("target");t&&"_self"!==t||(e.preventDefault(),l(i))},children:t}):(0,r.jsx)("a",{href:e,...n,target:"_blank",rel:"noopener noreferrer",children:t})},table:({children:e})=>(0,r.jsx)("div",{className:"markdown-table-wrap",children:(0,r.jsx)("div",{className:"markdown-table-scroll",children:e})}),thead:({children:e})=>(0,r.jsx)("div",{className:"markdown-table-head",children:e}),tbody:({children:e})=>(0,r.jsx)("div",{className:"markdown-table-body",children:e}),tr({children:e}){let t=i.Children.count(e)||1;return(0,r.jsx)("div",{className:"markdown-table-row",style:{gridTemplateColumns:`repeat(${t}, minmax(0, 1fr))`},children:e})},th:({children:e})=>(0,r.jsx)("div",{className:"markdown-table-th",children:e}),td:({children:e})=>(0,r.jsx)("div",{className:"markdown-table-td",children:e})},children:s})})});var iM=n(78916);function iA(e,t,n,r=!1){let i=new URLSearchParams({type:t});return n&&"read"===t&&i.set("mime",n),r&&i.set("messageMedia","1"),`/api/files/${(0,r4.HG)(e)}?${i.toString()}`}let iL={display:"flex",alignItems:"center",gap:8,minWidth:0,maxWidth:"100%",padding:"7px 9px",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-subtle)",color:"var(--text-muted)",fontSize:12},iz={display:"inline-flex",alignItems:"center",gap:4,flexShrink:0,color:"var(--accent)",textDecoration:"underline",textUnderlineOffset:2,fontSize:11};function iW({binary:e}){var t;let{t:n}=(0,eU.s9)(),i=iA(e.path,"read",e.mimeType,!0),o=iA(e.path,"download"),l=e.size<=0x1900000,s=`${e.name} \xb7 ${!Number.isFinite(t=e.size)||t<0?"":t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(+(t<10240))} KB`:t<0x40000000?`${(t/1048576).toFixed(+(t<0xa00000))} MB`:`${(t/0x40000000).toFixed(1)} GB`}`;if("image"===e.kind){let t=e.previewPath||e.path;return(0,r.jsx)("div",{style:{marginBottom:8,maxWidth:"100%"},children:(0,r.jsx)(i_,{src:iA(t,"read",e.mimeType,!0),fullSrc:i,downloadHref:o,downloadName:e.name,mimeType:e.mimeType,alt:e.name,title:e.name,maxWidth:360,maxHeight:280})})}return"audio"===e.kind?(0,r.jsxs)("div",{style:{...iL,flexDirection:"column",alignItems:"stretch",maxWidth:480,marginBottom:8},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,children:s}),(0,r.jsxs)("a",{href:o,download:e.name,style:iz,"aria-label":n("message_downloadOriginal"),children:[(0,r.jsx)(iu.A,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),n("message_downloadOriginal")]})]}),l?(0,r.jsx)("audio",{controls:!0,preload:"metadata",src:i,style:{width:"100%"}}):(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:n("message_mediaTooLargeToPlay")})]}):"video"===e.kind?(0,r.jsxs)("div",{style:{...iL,flexDirection:"column",alignItems:"stretch",maxWidth:640,marginBottom:8},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,children:s}),(0,r.jsxs)("a",{href:o,download:e.name,style:iz,"aria-label":n("message_downloadOriginal"),children:[(0,r.jsx)(iu.A,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),n("message_downloadOriginal")]})]}),l?(0,r.jsx)("video",{controls:!0,preload:"metadata",src:i,style:{display:"block",width:"100%",maxHeight:360,borderRadius:5,background:"var(--bg)",border:"1px solid var(--border)"}}):(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:n("message_mediaTooLargeToPlay")})]}):(0,r.jsxs)("div",{style:{...iL,marginBottom:8},children:[(0,r.jsx)(iM.A,{size:15,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,children:s}),(0,r.jsxs)("a",{href:o,download:e.name,style:iz,"aria-label":n("message_downloadOriginal"),children:[(0,r.jsx)(iu.A,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),n("message_downloadOriginal")]})]})}function i$({binaries:e}){return 0===e.length?null:(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:e.map((e,t)=>(0,r.jsx)(iW,{binary:e},`${e.path}-${t}`))})}n(92619).Buffer;let iP=["result","warning","error","output"];function iF(e){let t=e?.trim()??"";return""===t?null:t}function iH(e){return e.readOnly?{allowed:!1,reason:"readOnly"}:e.busy?{allowed:!1,reason:"busy"}:{allowed:!0}}let iD=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,iN=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;function iB(e){let t=[],n=[],r=e.match(iN),i=r?.[1]??"",o=r?.index===void 0?e:e.slice(0,r.index);return i.replace(iD,(e,r,i)=>{let o=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return"read-files"===r?t.push(...o):n.push(...o),""}),{body:o.trim(),readFiles:t,modifiedFiles:n}}let iO=/(?:no body|no content|empty body)(?!\s*\w)/i,iU=new Set([400,413,422]);function iq(e,t={}){let n=(e??"").split("\n").map(e=>e.trim()).filter(Boolean);return 0===n.length?"":t.streaming?n[n.length-1]:n[0]}function iK(e){let t,n=[],r=null,i=0,o=0,l=[],s=[],a=()=>({lineNo:null,text:"",type:"empty"}),d=()=>{if(!r){l=[],s=[];return}let e=Math.max(l.length,s.length);for(let t=0;t<e;t++){let e=l[t]?{lineNo:l[t].lineNo,text:l[t].text,type:"removed"}:a(),n=s[t]?{lineNo:s[t].lineNo,text:s[t].text,type:"added"}:a();r.rows.push({type:"line",left:e,right:n})}l=[],s=[]};for(let a of e.split(/\r?\n/)){if(a.startsWith("--- ")){d(),t=iV(a.slice(4));continue}if(a.startsWith("+++ ")){d(),r={oldPath:t,newPath:iV(a.slice(4)),rows:[]},n.push(r);continue}let e=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){r||(r={rows:[]},n.push(r)),d(),i=Number(e[1]),o=Number(e[2]),r.rows.push({type:"hunk",text:a});continue}if(!r)continue;if(a.startsWith("\\ ")){d(),r.rows.push({type:"hunk",text:a});continue}let c=a[0],u=a.slice(1);" "===c?(d(),r.rows.push({type:"line",left:{lineNo:i++,text:u,type:"context"},right:{lineNo:o++,text:u,type:"context"}})):"-"===c?l.push({lineNo:i++,text:u}):"+"===c?s.push({lineNo:o++,text:u}):""!==a&&(d(),r.rows.push({type:"hunk",text:a}))}d();let c=n.filter(e=>e.rows.some(e=>"line"===e.type));return c.length>0?c:null}function iV(e){return e.split(" ")[0].trim()}function iJ(e,t){if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e.input;if("string"==typeof t&&t.length>0)return t}return"string"==typeof t?t:""}function iY(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function iX(e){return iG(e).length>0}function iG(e){if(!iY(e)||!iY(e.result))return[];let t=e.result.failures;if(!Array.isArray(t))return[];let n=[];for(let e of t){if("string"==typeof e){let t=e.trim();t&&n.push({filePath:t});continue}if(!iY(e))continue;let t="string"==typeof e.filePath?e.filePath.trim():"",r="string"==typeof e.message&&e.message.trim()?e.message.trim():void 0;(t||r)&&n.push(r?{filePath:t,message:r}:{filePath:t})}return n}function iZ(e){if(!iY(e)||!iY(e.result))return[];let t=e.result.appliedFiles;if(!Array.isArray(t))return[];let n=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();t&&!n.includes(t)&&n.push(t)}return n}function iQ(){let e=[],t=[],n=[],r=()=>({lineNo:null,text:"",type:"empty"}),i=()=>{let i=Math.max(t.length,n.length);for(let o=0;o<i;o++)e.push({type:"line",left:t[o]??r(),right:n[o]??r()});t=[],n=[]};return{rows:e,context(t,n){i(),e.push({type:"line",left:{lineNo:n,text:t,type:"context"},right:{lineNo:n,text:t,type:"context"}})},removed(e,n){t.push({lineNo:n,text:e,type:"removed"})},added(e,t){n.push({lineNo:t,text:e,type:"added"})},finish(){i();for(let t=e.length-1;t>=0;t--)"line"!==e[t].type&&e.splice(t,1)}}}function i0(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e.files;if(!Array.isArray(t))return null;let n=[];for(let e of t){if(!e||"object"!=typeof e||Array.isArray(e)||"string"!=typeof e.filePath||"string"!=typeof e.diff)continue;let t=iQ();for(let n of e.diff.split(/\r?\n/)){let e=n.match(/^([+\- ])\s*(\d+) (.*)$/);if(!e)continue;let[,r,i,o]=e,l=Number(i);"+"===r?t.added(o,l):"-"===r?t.removed(o,l):t.context(o,l)}t.finish();let r="add"===e.operation,i="delete"===e.operation;n.push({oldPath:r?void 0:e.filePath,newPath:i?void 0:e.movePath??e.filePath,rows:t.rows})}let r=n.filter(e=>e.rows.length>0);return r.length>0?r:null}function i1(e){let t=e.toLowerCase();return"edit"===t||t.startsWith("edit_")||t.endsWith(".edit")||t.endsWith("_edit")||t.includes("str_replace")||t.includes("replace_editor")}function i2(e){return e.toLowerCase().includes("apply_patch")}let i4={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif"},i6={mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",weba:"audio/webm"},i5={mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo"};function i8(e){return(e.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function i3(e){return null!==(i4[i8(e)]??null)}function i9(e){return null!==(i6[i8(e)]??null)}function i7(e){return null!==(i5[i8(e)]??null)}function oe(e,t,n,r=!1){let i=new URLSearchParams({type:t});return n&&"read"===t&&i.set("mime",n),r&&i.set("messageMedia","1"),`/api/files/${(0,r4.HG)(e)}?${i.toString()}`}function ot(e,t,n=!1){return oe(e,"read",t,n)}function on({imageBlocks:e,pathImages:t,pathAudio:n,pathVideo:i}){let o=e??[],l=t??[],s=n??[],a=i??[];return 0===o.length&&0===l.length&&0===s.length&&0===a.length?null:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginBottom:8},children:[(o.length>0||l.length>0)&&(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[o.map((e,t)=>{let n=iw(e);return n?(0,r.jsx)(i_,{src:n.src,fullSrc:n.src,mimeType:n.mimeType,alt:"",maxWidth:280,maxHeight:280},`b-${t}`):null}),l.map(e=>(0,r.jsx)(i_,{src:ot(e),fullSrc:ot(e),downloadHref:oe(e,"download"),downloadName:e.replace(/\\/g,"/").split("/").pop()||"image",alt:e,title:e,maxWidth:280,maxHeight:280},e))]}),s.map(e=>(0,r.jsxs)("div",{style:{minWidth:200,maxWidth:420},children:[(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e,children:e.split(/[\\/]/).pop()}),(0,r.jsx)("audio",{controls:!0,preload:"metadata",src:ot(e),style:{width:"100%"}})]},e)),a.map(e=>(0,r.jsxs)("div",{style:{minWidth:200,maxWidth:480},children:[(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e,children:e.split(/[\\/]/).pop()}),(0,r.jsx)("video",{controls:!0,preload:"metadata",src:ot(e),style:{width:"100%",maxHeight:320,borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)"}})]},e))]})}let or=new Map,oi=new Map;function oo(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&!0===e.deferredHeavy}function ol(e){if(!e)return null;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r)return i;let o=t.toLocaleDateString([],{month:"short",day:"numeric",year:t.getFullYear()!==n.getFullYear()?"numeric":void 0});return`${o} ${i}`}let os=(0,i.memo)(function({message:e,isStreaming:t,toolResults:n,toolExecutionSnapshots:i,modelNames:o,cwd:l,onOpenFile:s,onReferenceFile:a,writtenFiles:d,entryId:c,onBranchHere:u,onNewSessionFromHere:p,onBranchFromAssistant:h,onNewSessionFromAnswer:f,forking:g,showTimestamp:m,prevTimestamp:x,sessionId:v,toolsActive:y,contextUsage:b,onCompactContext:w,hiddenThinkingLabel:k}){if("user"===e.role)return(0,r.jsx)(oa,{message:e,cwd:l,onOpenFile:s,entryId:c,onBranchHere:u,onNewSessionFromHere:p,forking:g});if("assistant"===e.role)return(0,r.jsx)(od,{message:e,isStreaming:t,toolResults:n,toolExecutionSnapshots:i,modelNames:o,cwd:l,onOpenFile:s,onReferenceFile:a,writtenFiles:d,showTimestamp:m,prevTimestamp:x,sessionId:v,entryId:c,onBranchFromAssistant:h,onNewSessionFromAnswer:f,toolsActive:y,contextUsage:b,onCompactContext:w,hiddenThinkingLabel:k});if("toolResult"===e.role)return null;if("custom"===e.role){if(e.customType===ny){let t=nw(e.details);return t?(0,r.jsx)(iW,{binary:t}):null}if("compaction"===e.customType)return(0,r.jsx)(oA,{message:e});if("pidance.command"===e.customType)return(0,r.jsx)(oL,{message:e});if("branch_summary"===e.customType)return(0,r.jsx)(oz,{message:e});if("pidance.activity"===e.customType){var j;let t=oE(j=e.details)&&1===j.version&&"string"==typeof j.kind&&iP.includes(j.kind)&&"string"==typeof j.title&&""!==j.title.trim()&&"string"==typeof j.content&&(void 0===j.source||"string"==typeof j.source)&&(void 0===j.requestId||"string"==typeof j.requestId)&&(void 0===j.metadata||oE(j.metadata))?j:null;if(t)return(0,r.jsx)(oD,{message:e,activity:t})}return(0,r.jsx)(oN,{message:e,cwd:l,onOpenFile:s})}return"bashExecution"===e.role?(0,r.jsx)(oU,{message:e,sessionId:v}):null},(e,t)=>{var n,r;return e.message===t.message&&e.isStreaming===t.isStreaming&&function(e,t,n){if(t===n||"assistant"!==e.role)return!0;for(let r of e.content??[])if("toolCall"===r.type&&t?.get(r.toolCallId)!==n?.get(r.toolCallId))return!1;return!0}(e.message,e.toolResults,t.toolResults)&&e.toolExecutionSnapshots===t.toolExecutionSnapshots&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.onReferenceFile===t.onReferenceFile&&((n=e.writtenFiles)===(r=t.writtenFiles)||(n&&r?n.length===r.length&&n.every((e,t)=>e===r[t]):(n?.length??0)===(r?.length??0)))&&e.entryId===t.entryId&&e.onBranchHere===t.onBranchHere&&e.onNewSessionFromHere===t.onNewSessionFromHere&&e.onBranchFromAssistant===t.onBranchFromAssistant&&e.onNewSessionFromAnswer===t.onNewSessionFromAnswer&&e.forking===t.forking&&e.showTimestamp===t.showTimestamp&&e.prevTimestamp===t.prevTimestamp&&e.sessionId===t.sessionId&&e.hiddenThinkingLabel===t.hiddenThinkingLabel});function oa({message:e,cwd:t,onOpenFile:n,entryId:o,onBranchHere:l,onNewSessionFromHere:s,forking:a}){let{t:d}=(0,eU.s9)(),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)(!1),f="string"==typeof e.content?e.content:e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),g="string"==typeof e.content?[]:e.content.filter(e=>"image"===e.type),m=e.binaryBlocks??[],x=m.some(e=>"image"===e.kind),v=(0,i.useMemo)(()=>(function(e){let t,n=[],r=[],i=[],o=new Set,l=/(?:^|[\s`"'(\[]|-\s)((?:\/|[A-Za-z]:[\\/]|~\/)[^\s`"'\)\]]+\.(?:png|jpe?g|gif|webp|bmp|avif|svg|mp3|wav|ogg|oga|opus|m4a|aac|flac|weba|mp4|m4v|webm|ogv|mov|mkv|avi))\b/gim;for(;null!==(t=l.exec(e));){let e=t[1]?.replace(/[.,;:]+$/,"")??"";!(!e||o.has(e))&&(o.add(e),i7(e)?i.push(e):i9(e)?r.push(e):i3(e)&&n.push(e))}return{images:n,audio:r,video:i}})(f),[f]),y=ol(e.timestamp),b=!!o&&!!l,w=!!o&&!!s;return(0,r.jsxs)("div",{style:{marginBottom:28,display:"flex",flexDirection:"column",alignItems:"flex-end"},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:6,maxWidth:"85%"},children:(0,r.jsxs)("div",{style:{flex:1,minWidth:0,background:"var(--user-bg)",border:"1px solid color-mix(in srgb, var(--accent) 18%, var(--border))",borderRadius:"var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg)",padding:"11px 14px",fontSize:14,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word"},children:[(0,r.jsx)(on,{imageBlocks:x?[]:g,pathImages:v.images,pathAudio:v.audio,pathVideo:v.video}),m.length>0&&(0,r.jsx)(i$,{binaries:m}),f&&(0,r.jsx)(iE,{className:"markdown-user-message",cwd:t,onOpenFile:n,children:f})]})}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:6,marginTop:3},children:[(0,r.jsx)("div",{style:{display:"flex",gap:3,opacity:+!!c,pointerEvents:c?"auto":"none",transition:"opacity 0.12s"},children:(0,r.jsx)("button",{onClick:()=>{tA(f).then(()=>{h(!0),setTimeout(()=>h(!1),1500)})},"data-tooltip":d("message_copy"),className:"instant-tooltip","aria-label":d("message_copy"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 6px",height:22,background:"none",border:"none",borderRadius:5,color:p?"var(--accent)":"var(--text-dim)",cursor:"pointer",transition:"color 0.12s"},onMouseEnter:e=>{p||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{p||(e.currentTarget.style.color="var(--text-dim)")},children:p?(0,r.jsx)(rI.A,{size:11,strokeWidth:1.8}):(0,r.jsx)(rR.A,{size:11,strokeWidth:1.8})})}),(b||w)&&(0,r.jsxs)("div",{style:{display:"flex",gap:3,opacity:c||a?1:0,pointerEvents:c||a?"auto":"none",transition:"opacity 0.12s"},children:[b&&(0,r.jsx)("button",{onClick:()=>{l(o,f)},"data-tooltip":d("message_branchHereTooltip"),className:"instant-tooltip","aria-label":d("message_branchHere"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:22,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",transition:"color 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:(0,r.jsx)(rT.A,{size:14,strokeWidth:1.8})}),w&&(0,r.jsx)("button",{onClick:()=>{s(o,f)},disabled:a,"data-tooltip":d(a?"message_creating":"message_newSessionFromHereTooltip"),className:"instant-tooltip","aria-label":d("message_newSessionFromHere"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:22,padding:0,background:"none",border:"none",borderRadius:5,color:a?"var(--accent)":"var(--text-dim)",cursor:a?"not-allowed":"pointer",transition:"color 0.12s"},onMouseEnter:e=>{a||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{a||(e.currentTarget.style.color="var(--text-dim)")},children:(0,r.jsx)(rE.A,{size:14,strokeWidth:1.8})})]}),y&&(0,r.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:y})]})]})}function od({message:e,isStreaming:t,toolResults:n,toolExecutionSnapshots:o,modelNames:l,cwd:s,onOpenFile:a,onReferenceFile:d,writtenFiles:c,showTimestamp:u,prevTimestamp:p,sessionId:h,entryId:f,onBranchFromAssistant:g,onNewSessionFromAnswer:m,toolsActive:x,contextUsage:v,onCompactContext:y,hiddenThinkingLabel:b}){var w,k,j;let S,C,_,I,R,{t:T}=(0,eU.s9)(),E=r_(),M=u?ol(e.timestamp):null,A=(w=e.content??[],R=[],w.forEach((e,t)=>{if(nh(e.type))return void R.push({block:nf(e),sourceIndex:t});if("text"===e.type&&"string"==typeof e.text&&nm.test(e.text)){for(let n of(nm.lastIndex=0,function(e){let t,n=[],r=0;for(ng.lastIndex=0;null!==(t=ng.exec(e));)t.index>r&&n.push({type:"text",value:e.slice(r,t.index)}),n.push({type:"thinking",value:t[1]??""}),r=t.index+t[0].length;let i=e.slice(r),o=nm.exec(i);return o&&void 0!==o.index?(o.index>0&&n.push({type:"text",value:i.slice(0,o.index)}),n.push({type:"thinking",value:i.slice(o.index+o[0].length)})):i.length>0&&n.push({type:"text",value:i}),n}(e.text)))"thinking"===n.type?R.push({block:{type:"thinking",thinking:n.value},sourceIndex:t}):n.value.length>0&&R.push({block:{...e,type:"text",text:n.value},sourceIndex:t});return}R.push({block:e,sourceIndex:t})}),R).map(({block:e,sourceIndex:t})=>({block:e,originalIndex:t})).filter(({block:e})=>!function(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&""===np(e).trim()}(e,{isStreaming:t})),L=A.map(({block:e})=>e),[z,W]=(0,i.useState)(!1),[$,P]=(0,i.useState)(!1),F=(0,i.useRef)(null),[H,D]=(0,i.useState)(null),N=(0,i.useRef)(A);N.current=A;let B=(0,i.useRef)(new Map),[O,U]=(0,i.useState)(new Map),q=(0,i.useMemo)(()=>{if(!e.timestamp||!p)return;let t=Math.round((e.timestamp-p)/1e3);return t>0?t:void 0},[e.timestamp,p]),K=(0,i.useMemo)(()=>{let t=new Map;if(!n||!e.timestamp)return t;for(let[r,i]of n)if(i.timestamp&&e.timestamp){let n=Math.round((i.timestamp-e.timestamp)/1e3);n>0&&t.set(r,n)}return t},[n,e.timestamp]),V=(0,i.useMemo)(()=>new Map(o?.map(e=>[e.toolCallId,e])??[]),[o]),J=L.filter(e=>"text"===e.type).map(e=>e.text).join("\n");(0,i.useEffect)(()=>{if(!t){let e=new Date().getTime();U(t=>{let n=new Map(t);for(let[t,r]of B.current)n.has(t)||n.set(t,Math.round((e-r)/1e3));return n}),F.current=null,D(null);return}let e=setInterval(()=>{let e=N.current,t=e.map(({block:e})=>e),n=Date.now();e.forEach(({originalIndex:e})=>{B.current.has(e)||B.current.set(e,n)}),U(t=>{let r=!1,i=new Map(t);for(let t=0;t<e.length-1;t++){let o=e[t].originalIndex,l=e[t+1].originalIndex;if(!i.has(o)&&B.current.has(o)){let e=B.current.get(o),t=B.current.get(l)??n;i.set(o,Math.round((t-e)/1e3)),r=!0}}return r?i:t});let r=0;for(let e of t)"text"===e.type?r+=e.text?.length??0:"thinking"===e.type?r+=e.thinking?.length??0:"toolCall"===e.type&&(r+=JSON.stringify(e.input??{}).length);if(0===r)return;null===F.current&&(F.current=n);let i=(n-F.current)/1e3;i>.5&&D(r/4/i)},300);return()=>clearInterval(e)},[t]);let Y=e.stopReason,X="string"==typeof e.errorMessage?e.errorMessage.trim():"",G="error"===Y||X.length>0&&"end_turn"!==Y&&"toolUse"!==Y&&"length"!==Y,Z="aborted"===Y,Q=G||Z||X.length>0,ee="length"===e.stopReason;return 0!==L.length||t||Q||ee?(0,r.jsxs)("div",{style:{marginBottom:30},onMouseEnter:()=>W(!0),onMouseLeave:()=>W(!1),children:[(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:8,display:"flex",alignItems:"center",gap:6},children:[e.provider&&(0,r.jsx)("span",{children:l?.[`${e.provider}:${e.model}`]??l?.[e.model]??e.model}),t&&(()=>{let e,t=0;for(let e of L)"text"===e.type?t+=e.text?.length??0:"thinking"===e.type?t+=e.thinking?.length??0:"toolCall"===e.type&&(t+=JSON.stringify(e.input??{}).length);let n=Math.round(t/4);return(0,r.jsx)(r.Fragment,{children:n>0&&(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:T("message_estimatedTokensStreaming"),children:[(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,r.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),n]}),null!==H&&(e=H>=50?"#53b3cb":H>=30?"#9bc53d":H>=15?"#f9c22e":"#e01a4f",(0,r.jsxs)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:e,color:"#fff",fontSize:11,fontWeight:400},children:[H.toFixed(1)," t/s"]}))]})})})()]}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:A.map(({block:i,originalIndex:o},l)=>{var c;return(0,r.jsx)(oc,{block:i,toolResults:n,toolExecutionMap:V,isStreaming:t,activeStreamBlock:(c=A.length,!!t&&c>0&&l===c-1),streamingDuration:O.get(o)??("thinking"===i.type?q:void 0),toolCallDurations:K,cwd:s,onOpenFile:a,onReferenceFile:d,sessionId:h,entryId:f,blockIndex:o,toolsActive:x,startedAt:e.timestamp,hiddenThinkingLabel:b},`${f??"stream"}-${o}`)})}),!t&&Q&&(0,r.jsxs)("div",{role:"alert",style:{marginTop:10,padding:"10px 12px",borderRadius:8,border:`1px solid ${Z?"var(--status-warning-border, var(--border))":"var(--status-danger-border, var(--border))"}`,background:Z?"var(--status-warning-bg, var(--bg-subtle))":"var(--status-danger-bg, var(--bg-subtle))",color:Z?"var(--status-warning, var(--text))":"var(--error-text, var(--status-danger, var(--text)))",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:[(0,r.jsxs)("div",{style:{fontWeight:600,marginBottom:4*!!X},children:[Z?T("message_aborted"):T("message_apiError"),Y&&"error"!==Y&&"aborted"!==Y?(0,r.jsxs)("span",{style:{fontWeight:400,opacity:.8},children:[" (",Y,")"]}):null]}),X?(0,r.jsx)("div",{children:X}):null,!function(e){let t=(e??"").trim();if(!t||!iO.test(t))return!1;let n=function(e){for(let t of[/status code (\d{3})/i,/API error \((\d{3})\)/i,/\b([45]\d{2})\b/]){let n=e.match(t);if(n)return Number(n[1])}return null}(t);return null!==n&&iU.has(n)}(X)?null:(0,r.jsxs)("div",{style:{marginTop:8,display:"flex",flexDirection:"column",gap:4},children:[(0,r.jsx)("div",{children:T("message_unexplainedRejection")}),v&&null!==v.tokens?(0,r.jsx)("div",{style:{opacity:.85},children:T("message_unexplainedRejectionUsage",{tokens:v.tokens.toLocaleString(),window:v.contextWindow.toLocaleString()})}):null,y?(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8,marginTop:2},children:[(0,r.jsx)("button",{type:"button",onClick:y,style:{padding:E?"8px 12px":"3px 10px",minHeight:E?40:void 0,borderRadius:5,border:"1px solid currentColor",background:"transparent",color:"inherit",font:"inherit",cursor:"pointer"},children:T("message_compactContext")}),(0,r.jsx)("span",{style:{opacity:.85},children:T("message_compactContextHint")})]}):null]})]}),!t&&ee&&(0,r.jsxs)("div",{role:"alert",style:{marginTop:10,padding:"10px 12px",borderRadius:8,border:"1px solid var(--status-warning-border, var(--border))",background:"var(--status-warning-bg, var(--bg-subtle))",color:"var(--status-warning, var(--text))",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:[(0,r.jsx)("div",{style:{fontWeight:600,marginBottom:4},children:T("message_truncatedTitle")}),(0,r.jsx)("div",{children:T("message_truncated")})]}),(0,r.jsx)(oP,{files:c,isStreaming:t,onOpenFile:a,onReferenceFile:d}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[e.usage&&!t&&(0,r.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:(k=e.usage,j=e,S=[],k.input&&S.push(`${k.input.toLocaleString()} in`),k.output&&S.push(`${k.output.toLocaleString()} out`),k.cacheRead&&S.push(`${k.cacheRead.toLocaleString()} cache`),k.cost?.total&&S.push(`$${k.cost.total.toFixed(4)}`),C=j?.provider?.trim(),_=j?.model?.trim(),(C||_)&&S.push([C,_].filter(Boolean).join(" / ")),(I=j?.thinkingLevel?.trim())&&"off"!==I&&S.push(I),S.join(" \xb7 "))}),J&&!t&&(0,r.jsx)("button",{onClick:()=>{tA(J).then(()=>{P(!0),setTimeout(()=>P(!1),1500)})},"data-tooltip":T("message_copyAnswer"),className:"instant-tooltip","aria-label":T("message_copyAnswer"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 6px",height:22,width:22,background:"none",border:"none",borderRadius:5,color:$?"var(--accent)":"var(--text-dim)",cursor:"pointer",transition:"opacity 0.12s, color 0.12s",opacity:+!!z,pointerEvents:z?"auto":"none"},onMouseEnter:e=>{$||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{$||(e.currentTarget.style.color="var(--text-dim)")},children:$?(0,r.jsx)(rI.A,{size:11,strokeWidth:1.8}):(0,r.jsx)(rR.A,{size:11,strokeWidth:1.8})}),f&&!t&&g&&(0,r.jsx)("button",{onClick:()=>{g(f)},"data-tooltip":T("message_branchFromAnswerTooltip"),className:"instant-tooltip","aria-label":T("message_branchFromAnswer"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:22,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",opacity:+!!z,pointerEvents:z?"auto":"none",transition:"opacity 0.12s, color 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:(0,r.jsx)(rT.A,{size:14,strokeWidth:1.8})}),f&&!t&&m&&(0,r.jsx)("button",{onClick:()=>{m(f)},"data-tooltip":T("message_newSessionFromAnswerTooltip"),className:"instant-tooltip","aria-label":T("message_newSessionFromAnswer"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:22,padding:0,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",opacity:+!!z,pointerEvents:z?"auto":"none",transition:"opacity 0.12s, color 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:(0,r.jsx)(rE.A,{size:14,strokeWidth:1.8})}),M&&!t&&(0,r.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginLeft:"auto"},children:M})]})]}):null}function oc({block:e,toolResults:t,toolExecutionMap:n,isStreaming:i,activeStreamBlock:o,streamingDuration:l,toolCallDurations:s,cwd:a,onOpenFile:d,onReferenceFile:c,sessionId:u,entryId:p,blockIndex:h,toolsActive:f,startedAt:g,hiddenThinkingLabel:m}){if("text"===e.type)return(0,r.jsx)(ou,{block:e,isStreaming:i,cwd:a,onOpenFile:d});if("thinking"===e.type)return(0,r.jsx)(oy,{block:e,duration:l,isStreaming:!!o,sessionId:u,entryId:p,blockIndex:h,hiddenThinkingLabel:m});if("image"===e.type){let t=iw(e);return t?(0,r.jsx)(i_,{src:t.src,fullSrc:t.src,mimeType:t.mimeType,alt:"",maxWidth:520,maxHeight:360}):null}if("toolCall"===e.type){let i=t?.get(e.toolCallId),o=s?.get(e.toolCallId);return(0,r.jsx)(ob,{block:e,result:i,snapshot:n?.get(e.toolCallId),duration:o,sessionId:u,onReferenceFile:c,pending:!i&&!0===f,startedAt:i||!0!==f?void 0:g})}return null}function ou({block:e,isStreaming:t,cwd:n,onOpenFile:i}){return(0,r.jsx)(iE,{isStreaming:t,cwd:n,onOpenFile:i,children:e.text})}function op(){return r_()?R:I}let oh={flexShrink:0,padding:0,border:"none",background:"none",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.4},of=(0,i.createContext)(null);function og({value:e,children:t}){return(0,r.jsx)(of.Provider,{value:e,children:t})}let om={flexShrink:0,fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums"},ox={flex:1,minWidth:0,color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.4,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function ov({label:e,expanded:t,onToggle:n,summary:i,summaryTitle:o,meta:l,showCommandLabel:s,running:a=!1,toggleTitle:d}){let{t:c}=(0,eU.s9)();return(0,r.jsxs)("button",{type:"button",onClick:n,"aria-expanded":t,className:a?"tool-row-running":void 0,title:t?d?.collapse??c("chat_hideProcess"):d?.expand??c("chat_showProcess"),"data-block-header":"true",style:{display:"flex",alignItems:"center",gap:7,width:"100%",boxSizing:"border-box",padding:"6px 10px",minWidth:0,border:"none",background:"none",color:"inherit",cursor:"pointer",textAlign:"left"},children:[(0,r.jsx)("span",{style:oh,children:e}),null!==i&&(0,r.jsx)("span",{style:ox,title:o??void 0,children:i}),s&&(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10,textTransform:"uppercase",letterSpacing:"0.08em",flexShrink:0},children:c("message_toolCommand")}),l&&(0,r.jsx)("span",{style:{...om,marginLeft:"auto"},children:l})]})}function oy({block:e,duration:t,isStreaming:n,sessionId:o,entryId:l,blockIndex:s,hiddenThinkingLabel:a}){var d;let{t:c}=(0,eU.s9)(),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),y=g?c("message_thinkingLoading"):x??(e.deferred?h:np(e)),b=g?c("message_thinkingLoading"):iq(y,{streaming:n}),w="string"==typeof a&&""!==a?function(e){let t=Array.from(e);if(t.length<=60)return e;let n=Math.ceil(29.5),r=59-n;return`${t.slice(0,n).join("")}…${t.slice(t.length-r).join("")}`}(a):null,k=(0,i.useRef)(null),[j,S]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let t=k.current;if(!t||!0!==e.deferred||"u"<typeof IntersectionObserver)return;let n=new IntersectionObserver(e=>{e[0]?.isIntersecting&&S(!0)},{rootMargin:"100% 0px"});return n.observe(t),()=>n.disconnect()},[e.deferred]),(0,i.useEffect)(()=>{(j||u)&&C()},[j,u]);let C=async()=>{if(e.deferred&&null===h&&!g){if(!o||!l)return void v(c("message_thinkingUnavailable"));m(!0),v(null);try{f(await function(e,t,n){let r=`${e}:${t}:${n}`,i=or.get(r);if(i)return or.delete(r),or.set(r,i),i;let o=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if("string"!=typeof t.thinking)throw Error("Invalid thinking response");return t.thinking}).catch(e=>{throw or.delete(r),e});if(or.set(r,o),or.size>100){let e=or.keys().next().value;e&&or.delete(e)}return o}(o,l,s))}catch(e){v(e instanceof Error?e.message:String(e))}finally{m(!1)}}};(0,i.useEffect)(()=>{u&&C()},[u]);let _=async()=>{let t=!u;p(t),t&&e.deferred&&null===h&&await C()};return(0,r.jsxs)("div",{ref:k,style:{border:"1px solid var(--border)",borderRadius:6,overflow:"hidden",fontSize:13,background:"var(--bg-panel)"},children:[(0,r.jsx)(ov,{label:(d=c("chat_blockThinking"),`${d}\xb7`),expanded:u,onToggle:()=>void _(),summary:u?null:w??b,summaryTitle:u||null===w||w===a?null:a,meta:void 0===t?null:oS(1e3*t)}),u&&(0,r.jsx)("div",{tabIndex:0,className:"chat-selectable",style:{...T,color:x?"var(--error-text)":"var(--text-muted)"},children:y})]})}function ob({block:e,result:t,snapshot:n,duration:o,sessionId:l,onReferenceFile:s,pending:a,startedAt:d,defaultExpanded:c}){var u,p,h;let f,g,{t:m}=(0,eU.s9)(),x=op(),[v,y]=(0,i.useState)(!0===c),b=(0,i.useContext)(of),w=b?.revision;(0,i.useEffect)(()=>{b&&y(b.expanded)},[w]);let[k,j]=(0,i.useState)(()=>Date.now()),[S,C]=(0,i.useState)(void 0),[_,I]=(0,i.useState)(void 0),[R,T]=(0,i.useState)(!1),E=(0,i.useRef)(null),M=(0,i.useRef)(!0),A=(0,i.useRef)(!1),L=!t&&(n?.status==="running"||!0===a),z=i1(e.toolName),W=i2(e.toolName),$=t&&(void 0!==S||void 0!==_)?{...t,...void 0!==S?{details:S}:{},...void 0!==_?{content:_}:{}}:t,P=$&&!$.isError?function(e){let t=e.details;if(!oE(t))return null;let n="string"==typeof t.patch?t.patch:null;if(n)return{text:n};let r="string"==typeof t.diff?t.diff:null;return r?{text:r}:null}($):null,F=W?function(e,t){if(!i2(e.toolName))return null;let n=function(e){if(!e.includes("*** Begin Patch")&&!/\*\*\* (?:Add|Delete|Update) File: /.test(e))return null;let t=[],n=null,r=null,i=null;for(let o of e.split(/\r?\n/)){let e=o.match(/^\*\*\* (Add|Delete|Update) File: (.+)$/);if(e){let o=e[1]?.toLowerCase()??"update",l=(e[2]??"").trim();n?.finish(),i=o,r={oldPath:"add"===o?void 0:l,newPath:"delete"===o?void 0:l,rows:(n=iQ()).rows},t.push(r);continue}if(/^\*\*\* Move to: /.test(o)){let e=o.replace(/^\*\*\* Move to: /,"").trim();r&&"update"===i&&(r.newPath=e);continue}if(!n||!r)continue;let l=n;if(!o.startsWith("*** ")&&!("update"===i&&o.startsWith("@@"))){if("update"===i){let e=o[0],t=o.slice(1);"+"===e?l.added(t,null):"-"===e?l.removed(t,null):" "===e?l.context(t,null):""!==o&&l.context(o,null)}else if("add"===i){if(""===o)continue;l.added(o.startsWith("+")?o.slice(1):o,null)}else if("delete"===i){if(""===o)continue;l.removed(o.startsWith("-")?o.slice(1):o,null)}}}n?.finish();let o=t.filter(e=>e.rows.length>0);return o.length>0?o:null}(iJ(e.input));if(n)return n;let r=t&&!t.isError?t.details:void 0;if(oE(r)){let e=i0(r.preview);if(e)return e}return null}(e,$):null,H=W?0===(f=function(e){let t=[];for(let n of e.matchAll(/^\*\*\* (?:Add|Delete|Update) File: (.+)$/gm)){let e=(n[1]??"").trim();e&&!t.includes(e)&&t.push(e)}return t}(iJ(e.input))).length?null:f.join(", ").slice(0,120):null,D=W?iG($?.details):[],N=W?iZ($?.details):[],B=$?$.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"):null,O=$?$.content.filter(e=>"image"===e.type):[],U=null!==B&&("(no output)"===B.trim()||""===B.trim()),q=($?.isError??!1)||W&&iX($?.details),K=function(e,t,n=!1,r=!1){return"running"===e||r?"var(--status-running)":"success"===e||n&&!t?"var(--status-success)":"error"===e||t?"var(--status-danger)":"cancelled"===e?"var(--text-dim)":"var(--text-muted)"}(n?.status,q,null!=$,a),V=function(e,t){if(t?.command)return t.command;let n=e.input;if(n&&"object"==typeof n&&"command"in n){let e=n.command;if("string"==typeof e)return e;if(e&&"object"==typeof e){if("string"==typeof e.command)return e.command;if("string"==typeof e.cmd)return e.cmd}}var r=e;let i=r.input;if(!i||"object"!=typeof i)return"";let o=Object.keys(i);return 0===o.length?"":"command"in i?String(i.command).slice(0,120):"path"in i?String(i.path).slice(0,120):"file_path"in i?String(i.file_path).slice(0,120):"pattern"in i?String(i.pattern).slice(0,120):"query"in i?String(i.query).slice(0,120):String(i[o[0]]).slice(0,120)}(e,n),J=ow(n?.renderedCallLines??e.renderedCallLines),Y=ow(n?.renderedLines),X=ow(n?.renderedResultLines??$?.renderedResultLines),G=n?.toolLabel??e.toolLabel,Z=(n?.toolShell??e.toolShell)==="self"&&!!(J||Y||X),Q=G&&""!==G.trim()?(u=G.trim(),`${u}\xb7`):(p=(g=e.toolName.trim()||"tool").charAt(0).toUpperCase()+g.slice(1),`${p}\xb7`),ee=n?Math.max(0,("running"===n.status?k:n.endedAt??n.startedAt)-n.startedAt):void 0!==d?!0===a||void 0===o?Math.max(0,k-d):1e3*o:void 0===o?void 0:1e3*o,et=L?iq(n?.output,{streaming:!0})||V:H||V||iq(n?.output,{streaming:!1}),en=(h={hasSnapshot:void 0!==n,isRunning:L,hasResult:void 0!==$}).hasSnapshot&&(h.isRunning||!h.hasResult);return(0,i.useEffect)(()=>{if(!L)return;let e=setInterval(()=>j(Date.now()),500);return()=>clearInterval(e)},[L]),(0,i.useEffect)(()=>{v&&(M.current=!0)},[v]),(0,i.useEffect)(()=>{var e,t;e=E.current,t=v&&M.current,e&&t&&(A.current=!0,e.scrollTop=e.scrollHeight,requestAnimationFrame(()=>{A.current=!1}))},[v,n?.output,n?.renderedLines,Y]),(0,i.useEffect)(()=>{if(!v||!t||!l||R)return;let n=oo(t.details)&&void 0===S,r=t.content.some(e=>"text"===e.type&&/^\[\d+ tool result image(?:s)? omitted from initial history payload/.test(e.text))&&void 0===_;if(!n&&!r)return;let i=!1;return T(!0),(function(e,t){let n=`${e}:${t}`,r=oi.get(n);if(r)return oi.delete(n),oi.set(n,r),r;let i=fetch(`/api/sessions/${encodeURIComponent(e)}/tool-results/${encodeURIComponent(t)}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=Array.isArray(t.content)?t.content.filter(e=>"object"==typeof e&&null!==e&&("text"===e.type||"image"===e.type)):[];return{details:t.details??null,content:n}}).catch(e=>{throw oi.delete(n),e});if(oi.set(n,i),oi.size>50){let e=oi.keys().next().value;e&&oi.delete(e)}return i})(l,e.toolCallId).then(e=>{!i&&(n&&C(e.details),r&&I(e.content))}).catch(()=>{!i&&n&&C(t.details),!i&&r&&I(t.content)}).finally(()=>{i||T(!1)}),()=>{i=!0}},[v,t,l,e.toolCallId,S,_,R]),(0,r.jsxs)("div",{style:Z?{fontSize:12}:{borderRadius:"var(--radius-md)",overflow:"hidden",fontSize:12,border:"1px solid var(--border)",borderLeft:`3px solid ${K}`,background:"var(--tool-bg)"},children:[(!v||!V)&&(0,r.jsx)(ov,{label:Q,expanded:v,onToggle:()=>y(!v),summary:v?null:et,meta:void 0===ee?null:oS(ee),running:L}),v&&V&&(0,r.jsxs)("div",{style:Z?void 0:{background:"var(--bg-subtle)"},children:[(0,r.jsx)(ov,{label:Q,expanded:v,onToggle:()=>y(!v),summary:null,meta:void 0===ee?null:oS(ee),showCommandLabel:!0,running:L}),(0,r.jsx)("code",{style:{display:"block",padding:"0 10px 8px",maxHeight:x,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11.5,lineHeight:1.55,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:V})]}),v&&J&&(0,r.jsx)(oj,{lines:J,statusColor:K,bare:Z}),v&&!z&&!W&&(0,r.jsx)("div",{style:{margin:0,padding:"8px 10px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,maxHeight:x,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",background:Z?void 0:"var(--bg-subtle)",borderTop:Z?void 0:`1px solid color-mix(in srgb, ${K} 20%, var(--border))`,display:"flex",flexDirection:"column",gap:3},children:(function(e){let t=[];for(let[n,r]of Object.entries(e)){if(null==r)continue;let e="string"==typeof r?r:"number"==typeof r||"boolean"==typeof r?String(r):"";if(e)t.push({key:n,value:e});else try{t.push({key:n,value:JSON.stringify(r).slice(0,200)})}catch{t.push({key:n,value:"[…]"})}}return t})(e.input).filter(e=>"command"!==e.key).map(e=>(0,r.jsxs)("div",{style:{display:"flex",gap:8,minWidth:0},children:[(0,r.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",width:88,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.key}),(0,r.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere",whiteSpace:"pre-wrap"},children:e.value})]},e.key))}),v&&en&&n&&(0,r.jsxs)("div",{style:Z?void 0:{borderTop:`1px solid color-mix(in srgb, ${K} 24%, var(--border))`,background:"var(--tool-bg)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"6px 10px 4px",color:"var(--text-dim)",fontSize:10,textTransform:"uppercase",letterSpacing:"0.08em"},children:[(0,r.jsx)("span",{children:m("message_toolLiveOutput")}),n.truncated&&(0,r.jsx)("span",{style:{color:"var(--warning)",textTransform:"none",letterSpacing:0},children:m("message_toolOutputTruncated")})]}),(0,r.jsx)("pre",{ref:E,tabIndex:0,onScroll:e=>{if(!A.current){var t;M.current=(t=e.currentTarget).scrollHeight-t.scrollTop-t.clientHeight<=24}},style:{margin:0,padding:"4px 10px 10px",maxHeight:x,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",color:Y||n.output?"var(--text-muted)":"var(--text-dim)",background:"var(--tool-bg)",fontFamily:"var(--font-mono)",fontSize:11.5,lineHeight:1.55,whiteSpace:"pre"},children:Y?ok(Y,"tool-live"):n.output||m("message_toolWaitingOutput")})]}),v&&$&&(0,r.jsxs)(r.Fragment,{children:[O.length>0&&(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 10px",background:"var(--bg-subtle)"},children:(0,r.jsx)(on,{imageBlocks:O})}),X?(0,r.jsx)(oj,{lines:X,statusColor:K,bare:Z}):R&&oo(t?.details)&&!P&&!F?(0,r.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid var(--border)",color:"var(--text-dim)",fontSize:11},children:m("message_thinkingLoading")}):F?(0,r.jsx)(oC,{files:F,isError:q}):P?(0,r.jsx)(oC,{diff:P,isError:q}):(0,r.jsx)(oM,{text:B??"",isEmpty:U,isError:q}),D.length>0&&(0,r.jsxs)("div",{role:"alert",style:{padding:"8px 10px",borderTop:"1px solid var(--status-danger-border)",background:"var(--status-danger-bg)",color:"var(--error-text)",fontSize:12,lineHeight:1.5,overflowWrap:"anywhere"},children:[(0,r.jsx)("div",{style:{fontWeight:600,marginBottom:4},children:m("message_applyPatchFailed")}),(0,r.jsx)("ul",{style:{margin:0,paddingLeft:18,display:"flex",flexDirection:"column",gap:3},children:D.map((e,t)=>(0,r.jsxs)("li",{children:[(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11.5},children:e.filePath||"?"}),e.message?` — ${e.message}`:null]},`${e.filePath}-${t}`))})]}),N.length>0&&(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:6,padding:"6px 10px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)",color:"var(--text-dim)",fontSize:11},children:[(0,r.jsx)("span",{children:m("message_modifiedFiles")}),N.map(e=>(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2,minWidth:0},children:[(0,r.jsx)("code",{title:e,style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text)",overflowWrap:"anywhere"},children:e}),s?(0,r.jsx)(o$,{filePath:e,onReferenceFile:s}):null]},e))]})]})]})}function ow(e){return Array.isArray(e)&&e.length>0&&e.every(e=>"string"==typeof e)?e:null}function ok(e,t){return e.map((n,i)=>{var o;return(0,r.jsxs)("span",{children:[(o=`${t}-${i}`,n1(n).map((e,t)=>Object.keys(e.style).length>0?(0,r.jsx)("span",{style:e.style,children:e.text},`${o}-${t}`):e.text)),i<e.length-1?"\n":null]},`${t}-${i}`)})}function oj({lines:e,statusColor:t,bare:n=!1}){let i=op();return(0,r.jsx)("pre",{tabIndex:0,style:n?{margin:0,padding:"8px 10px",maxHeight:i,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,whiteSpace:"pre"}:{margin:0,padding:"8px 10px",maxHeight:i,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",borderTop:`1px solid color-mix(in srgb, ${t} 24%, var(--border))`,background:"var(--bg-subtle)",color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,whiteSpace:"pre"},children:ok(e,"tool-rendered")})}function oS(e){let t=Number.isFinite(e)?Math.max(0,e):0;if(t<1e3)return`${Math.floor(t)}ms`;let n=t/1e3;if(n<10)return`${n.toFixed(1)}s`;if(n<60)return`${Math.round(n)}s`;let r=Math.round(n);return`${Math.floor(r/60)}m ${String(r%60).padStart(2,"0")}s`}function oC({diff:e,files:t,isError:n=!1}){return(0,r.jsx)("div",{style:{borderTop:`1px solid ${n?"var(--status-danger-border)":"var(--status-success-border)"}`,background:"var(--bg)"},children:(0,r.jsx)(o_,{text:e?.text,files:t})})}function o_({text:e,files:t}){let n=(0,i.useMemo)(()=>t??iK(e??""),[t,e]);if(!n)return(0,r.jsx)(oT,{text:e??""});let o=n.length>1;return(0,r.jsx)("div",{style:{maxHeight:"min(560px, 50vh)",overflowY:"auto",overflowX:"hidden",overscrollBehavior:"auto",touchAction:"pan-y",background:"var(--bg)"},children:n.map((e,t)=>(0,r.jsxs)("div",{style:{minWidth:0,borderTop:0===t?"none":"1px solid var(--border)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55},children:[o&&(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",position:"sticky",top:0,zIndex:1,background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,r.jsx)(oI,{title:e.oldPath||"Before",side:"left"}),(0,r.jsx)(oI,{title:e.newPath||"After",side:"right"})]}),(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)"},children:e.rows.map((e,t)=>"hunk"===e.type?null:(0,r.jsxs)("div",{style:{display:"contents"},children:[(0,r.jsx)(oR,{cell:e.left,side:"left"}),(0,r.jsx)(oR,{cell:e.right,side:"right"})]},t))})]},t))})}function oI({title:e,side:t}){return(0,r.jsx)("div",{title:e,style:{padding:"5px 10px",color:"var(--text-dim)",borderRight:"left"===t?"1px solid var(--border)":"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})}function oR({cell:e,side:t}){let n="added"===e.type?"var(--diff-added-bg)":"removed"===e.type?"var(--diff-removed-bg)":"empty"===e.type?"var(--bg-subtle)":"transparent",i="added"===e.type?"+":"removed"===e.type?"-":" ",o="added"===e.type?"var(--diff-added-text)":"removed"===e.type?"var(--diff-removed-text)":"var(--text-dim)";return(0,r.jsxs)("div",{style:{display:"flex",minWidth:0,background:n,borderRight:"left"===t?"1px solid var(--border)":"none"},children:[(0,r.jsx)("span",{style:{width:42,padding:"0 6px",textAlign:"right",color:"var(--text-dim)",userSelect:"none",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",flexShrink:0},children:e.lineNo??""}),(0,r.jsx)("span",{style:{width:18,padding:"0 5px",color:o,userSelect:"none",fontWeight:"context"===e.type||"empty"===e.type?400:700,flexShrink:0},children:i}),(0,r.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 10px 0 0",color:"empty"===e.type?"var(--text-dim)":"var(--text)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",userSelect:"text",WebkitUserSelect:"text"},children:e.text||"\xa0"})]})}function oT({text:e}){let t=e.split(/\r?\n/);return(0,r.jsx)("div",{className:"chat-selectable",style:{maxHeight:"min(520px, 45vh)",overflowY:"auto",overflowX:"hidden",overscrollBehavior:"auto",touchAction:"pan-y",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let n=e.startsWith("@@")?"hunk":e.startsWith("+")&&!e.startsWith("+++")?"added":e.startsWith("-")&&!e.startsWith("---")?"removed":"context";return(0,r.jsxs)("div",{style:{display:"flex",background:"added"===n?"var(--diff-added-bg)":"removed"===n?"var(--diff-removed-bg)":"hunk"===n?"var(--diff-hunk-bg)":"transparent",borderLeft:"added"===n?"3px solid var(--diff-added-border)":"removed"===n?"3px solid var(--diff-removed-border)":"hunk"===n?"3px solid var(--accent)":"3px solid transparent"},children:[(0,r.jsx)("span",{style:{width:48,padding:"0 8px",color:"var(--text-dim)",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",textAlign:"right",userSelect:"none",flexShrink:0},children:t+1}),(0,r.jsx)("span",{style:{padding:"0 10px",whiteSpace:"pre-wrap",overflowWrap:"anywhere",color:"added"===n?"var(--diff-added-text)":"removed"===n?"var(--diff-removed-text)":"hunk"===n?"var(--accent)":"var(--text)"},children:e||"\xa0"})]},t)})})}function oE(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function oM({text:e,isEmpty:t,isError:n}){let{t:i}=(0,eU.s9)();return(0,r.jsx)("div",{style:{borderTop:`1px solid ${n?"var(--status-danger-border)":"var(--status-success-border)"}`,background:n?"var(--status-danger-bg)":"var(--bg-subtle)"},children:(0,r.jsx)("pre",{style:{margin:0,padding:"8px 10px",color:n?"var(--error-text)":t?"var(--text-dim)":"var(--text-muted)",fontSize:12,lineHeight:1.5,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",maxHeight:"min(400px, 45vh)",background:"var(--bg)",whiteSpace:"pre-wrap",wordBreak:"break-all",fontStyle:t?"italic":"normal",opacity:t?.6:1},children:t?`(${i("message_noOutput").toLowerCase()})`:e})})}function oA({message:e}){let{t}=(0,eU.s9)(),n=oB(e.content),o=(0,i.useMemo)(()=>iB(n),[n]),l=ol(e.timestamp),s=iq(n,{streaming:!1}),[a,d]=(0,i.useState)(!1),c=t(a?"message_collapse":"message_expand");return(0,r.jsx)("div",{style:{marginBottom:16},children:(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>d(e=>!e),"aria-expanded":a,title:`${t("message_compaction")} \xb7 ${c}`,"aria-label":`${t("message_compaction")} \xb7 ${c}`,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:"none",borderBottom:a?"1px solid var(--border)":"none",background:"var(--bg-panel)",color:"var(--text-muted)",fontFamily:"inherit",fontSize:12,textAlign:"left",cursor:"pointer"},children:[(0,r.jsx)(rM.A,{size:12,strokeWidth:1.8,"aria-hidden":"true",style:{flexShrink:0,transform:a?"none":"rotate(-90deg)",transition:"transform 0.15s ease"}}),(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:t("message_compaction")}),!a&&s&&(0,r.jsx)("span",{style:{minWidth:0,flex:"1 1 auto",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:12},children:s}),l&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:l})]}),a&&(0,r.jsxs)("div",{style:{padding:"11px 13px 12px"},children:[(0,r.jsx)("div",{style:{color:"var(--text)",fontSize:15,fontWeight:700,lineHeight:1.35},children:t("message_conversationCompacted")}),(0,r.jsx)("div",{style:{marginTop:3,marginBottom:10,color:"var(--text)",fontSize:14,lineHeight:1.5},children:t("message_conversationCompactedDescription")}),o.body?(0,r.jsx)(iE,{className:"markdown-compaction-message",children:o.body}):(0,r.jsxs)("span",{style:{color:"var(--text-dim)",fontSize:12},children:["(",t("message_noSummary"),")"]}),(0,r.jsx)(oW,{readFiles:o.readFiles,modifiedFiles:o.modifiedFiles})]})]})})}function oL({message:e}){let{t}=(0,eU.s9)(),n=oB(e.content),i=e.details?.ok!==!1,o=e.details?.result,l=ol(e.timestamp);return(0,r.jsxs)("div",{style:{marginBottom:12},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",border:"1px solid var(--border)",borderLeft:"2px solid var(--accent)",borderRadius:8,background:"var(--bg-subtle)"},children:[(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10,whiteSpace:"nowrap"},children:t("message_command")}),(0,r.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text)",overflowWrap:"anywhere"},children:n}),i&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:"✓"}),!i&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:"✗"}),l&&(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10,whiteSpace:"nowrap"},children:l})]}),o&&(0,r.jsx)("div",{style:{marginTop:4,padding:"0 4px",color:"var(--text-muted)",fontSize:12},children:o})]})}function oz({message:e}){let{t}=(0,eU.s9)(),n=oB(e.content),o=(0,i.useMemo)(()=>iB(n),[n]),l=(0,i.useMemo)(()=>(function(e){if(!e||"object"!=typeof e)return null;let t=e.details;if(!t||"object"!=typeof t)return null;let n=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[],r=n(t.readFiles),i=n(t.modifiedFiles);return 0===r.length&&0===i.length?null:{readFiles:r,modifiedFiles:i}})(e.details),[e.details]),s=l?.readFiles??o.readFiles,a=l?.modifiedFiles??o.modifiedFiles,d=ol(e.timestamp),c=iq(n,{streaming:!1}),[u,p]=(0,i.useState)(!1),h=t(u?"message_collapse":"message_expand");return(0,r.jsx)("div",{style:{marginBottom:16},children:(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderLeft:"2px solid var(--accent)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>p(e=>!e),"aria-expanded":u,title:`${t("message_branchSummary")} \xb7 ${h}`,"aria-label":`${t("message_branchSummary")} \xb7 ${h}`,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:"none",borderBottom:u?"1px solid var(--border)":"none",background:"var(--bg-panel)",color:"var(--text-muted)",fontFamily:"inherit",fontSize:12,textAlign:"left",cursor:"pointer"},children:[(0,r.jsx)(rM.A,{size:12,strokeWidth:1.8,"aria-hidden":"true",style:{flexShrink:0,transform:u?"none":"rotate(-90deg)",transition:"transform 0.15s ease"}}),(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,r.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,r.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,r.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,r.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:t("message_branchSummary")}),!u&&c&&(0,r.jsx)("span",{style:{minWidth:0,flex:"1 1 auto",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:12},children:c}),d&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:d})]}),u&&(0,r.jsxs)("div",{style:{padding:"11px 13px 12px"},children:[(0,r.jsx)("div",{style:{marginBottom:10,color:"var(--text-muted)",fontSize:13,lineHeight:1.5},children:t("message_branchSummaryDescription")}),o.body?(0,r.jsx)(iE,{className:"markdown-compaction-message",children:o.body}):(0,r.jsxs)("span",{style:{color:"var(--text-dim)",fontSize:12},children:["(",t("message_noSummary"),")"]}),(0,r.jsx)(oW,{readFiles:s,modifiedFiles:a})]})]})})}function oW({readFiles:e,modifiedFiles:t}){let{t:n}=(0,eU.s9)();if(0===e.length+t.length)return null;let i=[];return e.length>0&&i.push(`${e.length} ${n("message_read").toLowerCase()}`),t.length>0&&i.push(`${t.length} ${n("message_modified").toLowerCase()}`),(0,r.jsxs)("details",{className:"compaction-file-details",children:[(0,r.jsxs)("summary",{children:[n("message_fileContext"),": ",i.join(", ")]}),t.length>0&&(0,r.jsx)(oF,{title:n("message_modifiedFiles"),files:t}),e.length>0&&(0,r.jsx)(oF,{title:n("message_readFiles"),files:e})]})}function o$({filePath:e,onReferenceFile:t}){let{t:n}=(0,eU.s9)(),i=n("files_insertIntoChat",{name:(0,r4.WP)(e)});return(0,r.jsx)("button",{type:"button",className:"file-row-action-btn message-file-action-btn",title:i,"aria-label":i,onClick:()=>t(e),style:{color:"var(--accent)",flexShrink:0},children:(0,r.jsx)(rA.A,{size:12,strokeWidth:2,"aria-hidden":"true"})})}function oP({files:e,isStreaming:t,onOpenFile:n,onReferenceFile:o}){let{t:l}=(0,eU.s9)(),[s,a]=(0,i.useState)(!1);return e&&0!==e.length?(0,r.jsxs)("div",{style:{marginTop:10,border:"1px solid var(--border)",borderRadius:8,background:"var(--bg-panel)",overflow:"hidden"},children:[(0,r.jsx)(ov,{label:l("message_writtenThisTurn"),expanded:s,onToggle:()=>a(!s),summary:s?null:iq(e.map(e=>(0,r4.WP)(e)).join("\n"),{streaming:t}),meta:String(e.length),toggleTitle:{expand:l("message_writtenFilesExpand"),collapse:l("message_writtenFilesCollapse")}}),s&&(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,padding:"8px 10px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)"},children:e.map(e=>{let t=(0,r4.WP)(e);return(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2,maxWidth:"100%",minWidth:0},children:[(0,r.jsxs)("button",{type:"button",className:"message-file-open-btn",title:e,"aria-label":l("message_openWrittenFile",{name:t}),onClick:()=>n?.(e),style:{display:"inline-flex",alignItems:"center",gap:4,flex:"1 1 auto",minWidth:0,maxWidth:"100%",padding:"2px 8px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11.5,cursor:n?"pointer":"default"},children:[(0,r.jsx)(rE.A,{size:12,strokeWidth:1.8}),(0,r.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t})]}),o?(0,r.jsx)(o$,{filePath:e,onReferenceFile:o}):null]},e)})})]}):null}function oF({title:e,files:t}){return(0,r.jsxs)("div",{className:"compaction-file-section",children:[(0,r.jsx)("div",{className:"compaction-file-title",children:e}),(0,r.jsx)("ul",{className:"compaction-file-list",children:t.map(e=>(0,r.jsx)("li",{children:e},e))})]})}let oH={result:{color:"var(--status-success)",border:"var(--status-success-border)",background:"var(--status-success-bg)",Icon:rL.A},warning:{color:"var(--status-warning)",border:"var(--status-warning-border)",background:"var(--status-warning-bg)",Icon:rz.A},error:{color:"var(--error-text)",border:"var(--status-danger-border)",background:"var(--status-danger-bg)",Icon:rW.A},output:{color:"var(--accent)",border:"var(--border)",background:"var(--bg)",Icon:r$.A}};function oD({message:e,activity:t}){let{t:n}=(0,eU.s9)(),o=op(),[l,s]=(0,i.useState)(!1),a=ol(e.timestamp),{color:d,border:c,background:u,Icon:p}=oH[t.kind],h=""!==t.content.trim(),f=function(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e)){if(t.length>=4)break;"string"==typeof r?t.push([n,r]):("number"==typeof r||"boolean"==typeof r)&&t.push([n,String(r)])}return t}(t.metadata);return(0,r.jsx)("div",{style:{marginBottom:16},children:(0,r.jsxs)("section",{"aria-label":`${t.kind}: ${t.title}`,style:{border:`1px solid ${c}`,borderLeft:`2px solid ${d}`,borderRadius:8,overflow:"hidden",background:u},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",minWidth:0},children:[(0,r.jsx)("span",{style:{display:"flex",color:d,flexShrink:0},"aria-hidden":"true",children:(0,r.jsx)(p,{size:12,strokeWidth:1.8})}),(0,r.jsx)("span",{style:{color:d,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:650,letterSpacing:.6,textTransform:"uppercase",flexShrink:0},children:t.kind}),(0,r.jsx)("span",{style:{color:"var(--text)",fontSize:13,fontWeight:600,minWidth:0,overflowWrap:"anywhere"},children:t.title}),a&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10,flexShrink:0},children:a})]}),h&&(0,r.jsx)("pre",{tabIndex:0,style:{margin:0,padding:"8px 12px",maxHeight:o,overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",color:"var(--text)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:t.content}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px 10px",padding:"4px 9px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:10},children:[(0,r.jsx)("button",{onClick:()=>{tA(h?t.content:t.title).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},title:n("message_copy"),"aria-label":n("message_copy"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 7px",border:"none",background:"none",color:l?"var(--accent)":"var(--text-dim)",cursor:"pointer"},children:l?(0,r.jsx)(rI.A,{size:11,strokeWidth:1.8}):(0,r.jsx)(rR.A,{size:11,strokeWidth:1.8})}),t.source&&(0,r.jsx)("span",{style:{overflowWrap:"anywhere"},children:t.source}),t.requestId&&(0,r.jsx)("span",{style:{overflowWrap:"anywhere"},title:t.requestId,children:t.requestId}),f.map(([e,t])=>(0,r.jsxs)("span",{style:{overflowWrap:"anywhere"},children:[e,"=",t]},e))]})]})})}function oN({message:e,cwd:t,onOpenFile:n}){var o;let{t:l}=(0,eU.s9)(),s=!1===e.display,[a,d]=(0,i.useState)(!1),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)(!1),f=oB(e.content),g="string"==typeof(o=e.content)?[]:o.filter(e=>"image"===e.type),m=void 0!==e.details,x=m?function(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}(e.details):"",v=e.customType?rv(e.customType):l("message_extensionDefaultType"),y=ol(e.timestamp),b=ow(e.renderedLines),w=b?b.map(e=>nX(e)):null,k=w?iq(w.join("\n"),{streaming:!1}):"",j=!!(b&&b.length>1);return(0,r.jsx)("div",{style:{marginBottom:16},children:(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:s?"var(--bg-subtle)":"var(--bg)",opacity:b||!s||a?1:.82},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12},children:[(0,r.jsx)("span",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:v}),s&&(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:11},children:l("message_hiddenExtensionMessage")}),y&&(0,r.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:y}),j||s&&!b?(0,r.jsx)("button",{type:"button",onClick:()=>d(e=>!e),"aria-expanded":a,title:l(a?"message_collapse":"message_expand"),"aria-label":l(a?"message_collapse":"message_expand"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"2px 6px",border:"1px solid var(--border)",borderRadius:6,background:"transparent",color:"var(--text-dim)",cursor:"pointer"},children:a?(0,r.jsx)(rP.A,{size:12,strokeWidth:1.8}):(0,r.jsx)(rM.A,{size:12,strokeWidth:1.8})}):null]}),b?a||!j?(0,r.jsx)("pre",{style:{margin:0,padding:"6px 9px",color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,whiteSpace:"pre"},children:ok(b??[],"custom-rendered")}):(0,r.jsx)("button",{type:"button",onClick:()=>d(!0),"aria-expanded":!1,title:l("message_expand"),style:{display:"block",width:"100%",padding:"8px 10px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:12,textAlign:"left",fontFamily:"var(--font-mono)"},children:oO(k||w?.[0]||"",l("message_noExtensionMessage"))}):a?(0,r.jsxs)("div",{style:{padding:"6px 9px"},children:[g.length>0&&(0,r.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!f},children:g.map((e,t)=>{let n=iw(e);return n?(0,r.jsx)(i_,{src:n.src,fullSrc:n.src,mimeType:n.mimeType,alt:"",maxWidth:240,maxHeight:240},t):null})}),f?(0,r.jsx)(iE,{className:"markdown-custom-message",cwd:t,onOpenFile:n,children:f}):(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:12},children:l("message_noMessages")})]}):(0,r.jsx)("button",{onClick:()=>d(!0),style:{display:"block",width:"100%",padding:"8px 10px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:12,textAlign:"left"},children:f?oO(iq(f,{streaming:!1})||f,l("message_noExtensionMessage")):l("message_showExtensionMessage")}),!b&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 9px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)"},children:[f||x?(0,r.jsx)("button",{onClick:()=>{tA(f||x).then(()=>{h(!0),setTimeout(()=>h(!1),1500)})},title:l("message_copy"),"aria-label":l("message_copy"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 7px",border:"none",background:"none",color:p?"var(--accent)":"var(--text-dim)",cursor:"pointer"},children:p?(0,r.jsx)(rI.A,{size:11,strokeWidth:1.8}):(0,r.jsx)(rR.A,{size:11,strokeWidth:1.8})}):null,m&&!s&&(0,r.jsx)("button",{onClick:()=>{s?d(e=>!e):u(e=>!e)},title:l(s?a?"message_collapse":"message_expand":c?"message_hideDetails":"message_showDetails"),"aria-label":l(s?a?"message_collapse":"message_expand":c?"message_hideDetails":"message_showDetails"),style:{display:"flex",alignItems:"center",justifyContent:"center",marginLeft:"auto",padding:"3px 7px",border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer"},children:(s?a:c)?(0,r.jsx)(rP.A,{size:12,strokeWidth:1.8}):(0,r.jsx)(rM.A,{size:12,strokeWidth:1.8})})]}),!b&&m&&(s&&a||!s&&c)&&(0,r.jsx)("pre",{style:{margin:0,padding:"9px 10px",borderTop:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:"min(360px, 45vh)",overflow:"auto",overscrollBehavior:"auto",touchAction:"pan-y",fontFamily:"var(--font-mono)"},children:x})]})})}function oB(e){return"string"==typeof e?e:e.filter(e=>"text"===e.type).map(e=>e.text).join("\n")}function oO(e,t){let n=e.replace(/\s+/g," ").trim();return n?n.length>140?`${n.slice(0,140)}...`:n:t}function oU({message:e,sessionId:t}){let{t:n}=(0,eU.s9)(),[o,l]=(0,i.useState)(null),[s,a]=(0,i.useState)(!1),[d,c]=(0,i.useState)(null),u=!e.output&&void 0===e.exitCode&&!e.cancelled,p=e.cancelled||void 0!==e.exitCode&&0!==e.exitCode,h=t&&e.fullOutputPath?`/api/agent/${encodeURIComponent(t)}/bash-output?path=${encodeURIComponent(e.fullOutputPath)}`:null,f=e.truncated&&h&&null===o,g=o??e.output;async function m(){if(h){a(!0),c(null);try{let e=await fetch(h),t=await e.json();t.success?l(t.data?.output??""):c(t.error??"failed")}catch(e){c(String(e))}finally{a(!1)}}}let x=e.excludeFromContext?"bash (local)":"bash",v={type:"toolCall",toolCallId:`bash-${e.timestamp??""}`,toolName:x,input:{command:e.command}},y=u?void 0:{role:"toolResult",toolCallId:v.toolCallId,toolName:x,content:g?[{type:"text",text:g}]:[],isError:p,timestamp:e.timestamp};return(0,r.jsxs)("div",{style:{margin:"6px 0"},children:[(0,r.jsx)(ob,{block:v,result:y,pending:u,startedAt:u?e.timestamp:void 0}),e.truncated&&h&&(0,r.jsxs)("div",{style:{padding:"4px 10px",fontSize:11,marginTop:-1},children:[f&&(0,r.jsx)("button",{onClick:m,disabled:s,style:{background:"none",border:"none",color:"var(--accent)",cursor:s?"default":"pointer",fontSize:11,padding:0,textDecoration:"underline"},children:n(s?"message_loadingOutput":"message_viewFullOutput")}),(0,r.jsx)("a",{href:`${h}&download=1`,style:{marginLeft:10*!!f,color:"var(--accent)",fontSize:11,textDecoration:"underline"},children:n("message_downloadFullOutput")}),d&&(0,r.jsxs)("span",{style:{marginLeft:6,color:"var(--text-dim)",fontSize:11},children:["(",d,")"]})]})]})}function oq(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function oK(e){return"string"==typeof e&&e&&"auto"!==e?e:null}let oV=["off","minimal","low","medium","high","xhigh","max"];function oJ(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function oY(e){let t=0;for(let n=0;n<e.length;n++)"/"===e[n]&&t++;return t}function oX(e,t){if(!e)return!0;let n=0;for(let r=0;r<t.length&&n<e.length;r++)t[r]===e[n]&&n++;return n===e.length}function oG(e,t){let n=t?`${e}/`:e;return n.includes(" ")?`@"${n}" `:`@${n} `}let oZ="var(--text-dim)";function oQ({size:e=14,open:t=!1}){return t?(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,r.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5h7.5v1H1V4.5Z",fill:oZ}),(0,r.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:oZ,strokeWidth:"1",fill:oZ,fillOpacity:"0.12"})]}):(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:(0,r.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5H14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4.5Z",stroke:oZ,strokeWidth:"1",fill:oZ,fillOpacity:"0.1"})})}function o0({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,r.jsx)("path",{d:"M3 2h7l3 3v9H3V2Z",stroke:oZ,strokeWidth:"1",fill:oZ,fillOpacity:"0.08"}),(0,r.jsx)("path",{d:"M10 2v3h3",stroke:oZ,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function o1({label:e,size:t=14}){let n=t/14;return(0,r.jsxs)("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("text",{x:"7",y:"9.5",textAnchor:"middle",fontSize:3.4*n,fontFamily:"var(--font-mono), monospace",fontWeight:"600",fill:oZ,letterSpacing:"0",children:e})]})}function o2({size:e=14}){return(0,r.jsx)(o1,{label:"TS",size:e})}function o4({size:e=14}){return(0,r.jsx)(o1,{label:"TSX",size:e})}function o6({size:e=14}){return(0,r.jsx)(o1,{label:"JS",size:e})}function o5({size:e=14}){return(0,r.jsx)(o1,{label:"JSX",size:e})}function o8({size:e=14}){return(0,r.jsx)(o1,{label:"PY",size:e})}function o3({size:e=14}){return(0,r.jsx)(o1,{label:"{}",size:e})}function o9({size:e=14}){return(0,r.jsx)(o1,{label:"CSS",size:e})}function o7({size:e=14}){return(0,r.jsx)(o1,{label:"SC",size:e})}function le({size:e=14}){return(0,r.jsx)(o1,{label:"HTM",size:e})}function lt({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:oZ,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,r.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:oZ,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function ln({size:e=14}){return(0,r.jsx)(o1,{label:"YML",size:e})}function lr({size:e=14}){return(0,r.jsx)(o1,{label:"TOM",size:e})}function li({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:oZ,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,r.jsx)("path",{d:"M7.5 10.5h2.5",stroke:oZ,strokeWidth:"0.95",strokeLinecap:"round"})]})}function lo({size:e=14}){return(0,r.jsx)(o1,{label:"RS",size:e})}function ll({size:e=14}){return(0,r.jsx)(o1,{label:"GO",size:e})}function ls({size:e=14}){return(0,r.jsx)(o1,{label:"SQL",size:e})}function la({size:e=14}){return(0,r.jsx)(o1,{label:"GQL",size:e})}function ld({size:e=14}){return(0,r.jsx)(o1,{label:"TF",size:e})}function lc({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("rect",{x:"3.5",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:oZ,strokeWidth:"0.8"}),(0,r.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:oZ,strokeWidth:"0.8"}),(0,r.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:oZ,strokeWidth:"0.8"})]})}function lu({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:oZ,strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:oZ,strokeWidth:"0.9",strokeLinecap:"round"})]})}function lp({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:oZ,strokeWidth:"0.85"}),(0,r.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:oZ,strokeWidth:"0.85"}),(0,r.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:oZ,strokeWidth:"0.85"}),(0,r.jsx)("path",{d:"M5 7.5V9",stroke:oZ,strokeWidth:"0.85",strokeLinecap:"round"}),(0,r.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:oZ,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function lh({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("rect",{x:"4.5",y:"8.5",width:"5",height:"3",rx:"0.6",stroke:oZ,strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:oZ,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function lf({size:e=14}){return(0,r.jsx)(o1,{label:"DOC",size:e})}function lg({size:e=14}){return(0,r.jsx)(o1,{label:"PDF",size:e})}function lm({size:e=14}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,r.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:oZ,strokeWidth:"0.9",fill:oZ,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M8.5 1v3h3",stroke:oZ,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,r.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:oZ,strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M7 6.5v.7M7 10.3v.7M5 8.5h.7M8.3 8.5H9M5.5 6.9l.5.5M8.5 9.6l-.5-.5M5.5 10.1l.5-.5M8.5 7.4l-.5.5",stroke:oZ,strokeWidth:"0.8",strokeLinecap:"round"})]})}function lx(e,t=14){let n=e.toLowerCase(),i=n.split(".").pop()??"";if("dockerfile"===n||n.startsWith("dockerfile."))return(0,r.jsx)(lc,{size:t});if(".env"===n||n.startsWith(".env."))return(0,r.jsx)(lu,{size:t});if(".gitignore"===n||".gitattributes"===n||".gitmodules"===n)return(0,r.jsx)(lp,{size:t});if("package-lock.json"===n||"yarn.lock"===n||"bun.lock"===n||"pnpm-lock.yaml"===n||"cargo.lock"===n)return(0,r.jsx)(lh,{size:t});if(n.endsWith(".config.ts")||n.endsWith(".config.js")||n.endsWith(".config.mjs")||n.endsWith(".config.cjs")||[".eslintrc",".eslintrc.js",".eslintrc.json",".eslintrc.yml","eslint.config.mjs","eslint.config.js"].includes(n))return(0,r.jsx)(lm,{size:t});switch(i){case"ts":return(0,r.jsx)(o2,{size:t});case"tsx":return(0,r.jsx)(o4,{size:t});case"js":case"mjs":case"cjs":return(0,r.jsx)(o6,{size:t});case"jsx":return(0,r.jsx)(o5,{size:t});case"py":return(0,r.jsx)(o8,{size:t});case"json":case"jsonl":return(0,r.jsx)(o3,{size:t});case"css":case"less":return(0,r.jsx)(o9,{size:t});case"scss":return(0,r.jsx)(o7,{size:t});case"html":case"htm":return(0,r.jsx)(le,{size:t});case"md":case"mdx":return(0,r.jsx)(lt,{size:t});case"yaml":case"yml":return(0,r.jsx)(ln,{size:t});case"toml":return(0,r.jsx)(lr,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,r.jsx)(li,{size:t});case"rs":return(0,r.jsx)(lo,{size:t});case"go":return(0,r.jsx)(ll,{size:t});case"sql":return(0,r.jsx)(ls,{size:t});case"graphql":case"gql":return(0,r.jsx)(la,{size:t});case"tf":case"hcl":return(0,r.jsx)(ld,{size:t});case"docx":return(0,r.jsx)(lf,{size:t});case"pdf":return(0,r.jsx)(lg,{size:t});case"lock":return(0,r.jsx)(lh,{size:t});default:return(0,r.jsx)(o0,{size:t})}}let lv=RegExp("(?:\\s|(?:(?=\\p{Punctuation})[\\p{Script_Extensions=Han}\\p{Script_Extensions=Hiragana}\\p{Script_Extensions=Katakana}\\p{Script_Extensions=Hangul}\\p{Script_Extensions=Bopomofo}]|[,.:;!?()[]{}“”‘’…—]))","u"),ly={status:"local"},lb=(e,t=0)=>Number.isFinite(e)?e:t,lw=i.useLayoutEffect;function lk(e){let{open:t,anchorRef:n,overlayRef:r,preferredPlacement:o="below",margin:l=8,gap:s=4,minHeight:a,maxHeight:d,maxWidth:c,align:u,width:p,minWidth:h,pollIntervalMs:f=250}=e,[g,m]=(0,i.useState)(null),x=(0,i.useRef)(0),v=(0,i.useCallback)(()=>{let e,t=n.current,i=r.current;if(!t||!i)return;let p=t.getBoundingClientRect();if(0===p.width&&0===p.height)return void m(e=>null===e?e:null);let h=function(e){let{anchor:t,desiredSize:n,viewport:r}=e,i=Math.max(0,lb(e.margin??8)),o=Math.max(0,lb(e.gap??4)),l=Math.max(0,lb(e.minHeight??0)),s=Math.max(0,lb(r.offsetLeft)),a=Math.max(0,lb(r.offsetTop)),d=s+i,c=a+i,u=s+Math.max(0,lb(r.width))-i,p=a+Math.max(0,lb(r.height))-i,h=Math.max(0,u-d),f=Math.max(0,p-c),g=Math.min(f,Math.max(0,lb(t.top)-o-c)),m=Math.min(f,Math.max(0,p-lb(t.bottom)-o)),x=e.preferredPlacement??"below",v="below"===x?"above":"below",y=Math.max(l,Math.max(0,lb(n.height))),b=("below"===x?m:g)>=y?x:("below"===v?m:g)>=y?v:m>=g?"below":"above",w=Math.max(0,"below"===b?m:g),k=Math.max(0,lb(n.width)),j=Math.min(Math.max("end"===e.align?lb(t.right)-k:lb(t.left),d),Math.max(d,u-k)),S=Math.min(Math.max("below"===b?lb(t.bottom)+o:lb(t.top)-o-Math.max(0,lb(n.height)),c),Math.max(c,p-Math.min(w,Math.max(0,lb(n.height)))));return{top:lb(S,c),left:lb(j,d),maxHeight:w,maxWidth:h,placement:b}}({anchor:{top:p.top,left:p.left,right:p.right,bottom:p.bottom},desiredSize:{width:i.offsetWidth,height:Math.min(i.offsetHeight,d??1/0)},viewport:(e=window.visualViewport)?{offsetLeft:e.offsetLeft,offsetTop:e.offsetTop,width:e.width,height:e.height}:{offsetLeft:0,offsetTop:0,width:window.innerWidth,height:window.innerHeight},margin:l,gap:s,minHeight:a,preferredPlacement:o,align:u}),f={top:h.top,left:h.left,maxHeight:void 0===d?h.maxHeight:Math.min(h.maxHeight,d),maxWidth:void 0===c?h.maxWidth:Math.min(h.maxWidth,c),anchorWidth:p.width,placement:h.placement};m(e=>null!==e&&e.top===f.top&&e.left===f.left&&e.maxHeight===f.maxHeight&&e.maxWidth===f.maxWidth&&e.anchorWidth===f.anchorWidth&&e.placement===f.placement?e:f)},[n,r,l,s,a,d,c,o,u]);return lw(()=>{if(!t)return void m(null);v();let e=()=>{x.current||(x.current=requestAnimationFrame(()=>{x.current=0,v()}))};window.addEventListener("resize",e),window.addEventListener("scroll",e,!0);let i=window.visualViewport;i?.addEventListener("resize",e),i?.addEventListener("scroll",e);let o=new ResizeObserver(e),l=n.current,s=r.current;l&&o.observe(l),s&&o.observe(s);let a=f>0?window.setInterval(e,f):0;return()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e),i?.removeEventListener("resize",e),i?.removeEventListener("scroll",e),o.disconnect(),a&&window.clearInterval(a),x.current&&(cancelAnimationFrame(x.current),x.current=0)}},[t,v,n,r,f]),{style:(0,i.useMemo)(()=>{if(!g)return{position:"fixed",top:0,left:0,visibility:"hidden"};let e={position:"fixed",top:g.top,left:g.left,maxHeight:g.maxHeight,maxWidth:g.maxWidth,visibility:"visible"},t=e=>Math.max(0,Math.min(e,g.maxWidth));"anchor"===p?e.width=t(g.anchorWidth):"max"===p?e.width=g.maxWidth:"number"==typeof p&&(e.width=t(p));let n="anchor"===h?g.anchorWidth:"number"==typeof h?h:void 0;return void 0!==n&&(e.minWidth=Math.min(n,g.maxWidth)),e},[g,p,h]),placement:g?.placement??o,ready:null!==g}}function lj(e,t){let n=e.key.toLowerCase();return!e.ctrlKey&&!e.metaKey||"a"!==n&&("c"!==n||!(t.length>0))}let lS=new Set(["a","c","v","x","z","y","p","s","f","n","t","w","r","l","o"]),lC=new Set(["k"]);function l_(e){return!!e.ctrlKey&&lC.has(e.key.toLowerCase())}function lI(e){return!!e.ctrlKey&&(" "===e.key||lS.has(e.key.toLowerCase()))}function lR(e){return 1===e.key.length&&!e.ctrlKey&&!e.altKey&&!e.metaKey}function lT(){return{interactive:!1,lastRoutedAt:0}}function lE(e,t){var n;return"ignore"===t.action||"exit-interaction"===t.action?{interactive:!1,lastRoutedAt:e.lastRoutedAt}:"Escape"===(n=t.key)||"Enter"===n?{interactive:!1,lastRoutedAt:t.now}:{interactive:!0===t.consumed,lastRoutedAt:t.now}}function lM(e,t,n){return!0===e.isComposing||229===e.keyCode||n<t}function lA(e){if(!e||"function"!=typeof e.closest)return!1;try{return null!==e.closest('[data-extension-keytrap="true"]')}catch{return!1}}function lL(e){let t=e?.ownerDocument;return!!t&&(e===t.body||e===t.documentElement)}let lz=null;function lW(){if(lz)return lz;let e=globalThis.crypto;return lz=e&&"function"==typeof e.randomUUID?e.randomUUID():`client-${Math.random().toString(36).slice(2)}-${Date.now().toString(36)}`}function l$(e,t,n=16384){return"number"==typeof e&&!!Number.isFinite(e)&&!(e<=0)&&"number"==typeof t&&!!Number.isFinite(t)&&!(t<=0)&&e>t-(Number.isFinite(n)&&n>0?n:0)}function lP(e){return e.type.startsWith("image/")&&"image/svg+xml"!==e.type}function lF(){return`up-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function lH(e){if("number"!=typeof e||!Number.isFinite(e)||e<=0)return"";if(e>=1e6){let t=e/1e6;return`${Number.isInteger(t)?t:t.toFixed(1)}M`}return e>=1e3?`${Math.round(e/1e3)}K`:String(e)}let lD=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function lN(e,t){return lD.compare(e.name||e.modelId,t.name||t.modelId)||lD.compare(e.provider,t.provider)||lD.compare(e.modelId,t.modelId)}function lB(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:e.toLocaleString()}let lO=[{name:"compact",description:"input_compactCommandDescription",source:"builtin"},{name:"reload",description:"input_reloadCommandDescription",source:"builtin"},{name:"name",description:"input_nameCommandDescription",source:"builtin"},{name:"session",description:"input_sessionCommandDescription",source:"builtin"},{name:"copy",description:"input_copyCommandDescription",source:"builtin"}],lU=["builtin","extension","prompt","skill"],lq={builtin:"input_builtIn",extension:"input_extensions",prompt:"input_prompts",skill:"input_skills"},lK={builtin:0,extension:1,prompt:2,skill:3};function lV(e,t){let n=e.name.toLowerCase(),r=e.description?.toLowerCase()??"";return n===t?0:n.startsWith(t)?1:n.includes(t)?2:r.includes(t)?3:4}function lJ(e){return{mimeType:e.mimeType,...e.media?{media:e.media}:{},...e.original?{original:e.original}:{},...!e.media&&!e.original&&e.data?{data:e.data}:{}}}function lY(e){let t={mimeType:e.mimeType,...e.data?{data:e.data}:{},...e.media?{media:e.media}:{},...e.original?{original:e.original}:{}};return t.previewUrl=e.data?`data:${e.mimeType};base64,${e.data}`:(0,t7.zr)(t),t}function lX(e){return e.media?.original.path??e.original?.path??`${e.mimeType}:${e.data?.slice(0,64)??""}`}function lG(e){e.previewUrl?.startsWith("blob:")&&URL.revokeObjectURL(e.previewUrl)}function lZ(e,t){if(!e)return;let n=e.querySelector(`${t}[aria-checked="true"], ${t}[aria-selected="true"]`),r=e.querySelector(t);(n??r)?.focus({preventScroll:!0})}let lQ=i.memo(function({kind:e,text:t,state:n,stateLabel:i,imageCount:o}){return(0,r.jsxs)("div",{title:t,style:{display:"flex",alignItems:"center",gap:8,padding:"3px 10px",fontSize:12,color:"var(--text-muted)",minWidth:0},children:[(0,r.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",padding:"1px 7px",borderRadius:999,border:`1px solid ${"steer"===e?"color-mix(in srgb, var(--accent) 45%, transparent)":"var(--border)"}`,color:"steer"===e?"var(--accent)":"var(--text-dim)"},children:e}),o?(0,r.jsxs)("span",{style:{flexShrink:0,display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontFamily:"var(--font-mono)",padding:"1px 7px",borderRadius:999,border:"1px solid var(--border)",color:"var(--text-dim)"},children:[(0,r.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,r.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),(0,r.jsx)("path",{d:"m21 15-5-5L5 21"})]}),o]}):null,n&&"waiting"!==n&&(0,r.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",padding:"1px 7px",borderRadius:999,border:`1px solid ${"unknown"===n?"color-mix(in srgb, var(--status-warning) 45%, transparent)":"color-mix(in srgb, var(--accent) 35%, transparent)"}`,color:"unknown"===n?"var(--status-warning)":"var(--text-dim)"},children:i??n}),(0,r.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t})]})}),l0=(0,i.forwardRef)(function({onSend:e,onAbort:t,onSteer:n,onFollowUp:o,isStreaming:l,blocked:a=!1,model:d,isAutoModelSelection:c,modelNames:u,modelList:p,sessionTokens:h,modelAuthConfigured:f,onModelChange:g,onAbortCompaction:m,isCompacting:x,compactError:v,compactResult:y,thinkingLevel:b,thinkingReady:w,onThinkingLevelChange:k,defaultThinkingLevel:j,availableThinkingLevels:S,thinkingLevelMap:C,thinkingLevelMaps:I,retryInfo:R,queuedMessages:T,onRecallQueue:E,onSendQueueAsSteer:M,slashCommands:A,slashCommandsLoading:L,onLoadSlashCommands:z,onLoadCommandArgumentCompletions:W,autocompleteProviderCount:$,autocompleteTriggerCharacters:P,onLoadCompletionSuggestions:F,onApplyCompletionSuggestion:H,onBuiltinCommand:D,onAudioUnlock:N,onPromptWithStreamingBehavior:B,footerCollapsed:O,onFooterToggle:U,draftKey:q,cwd:K,sessionId:V,extensionWidgetKeysEnabled:J=!1},Y){var X,G;let Z,Q,et,en,er,ei,eo,el,{t:es}=(0,eU.s9)(),ea=r_(),[ed,ec]=(0,i.useState)("followUp"),[eu,ep]=(0,i.useState)(!1),eh=T?.followUpRows?.length?T.followUpRows:(T?.followUp??[]).map((e,t)=>({id:`legacy-${t}`,text:e,state:"waiting",imageCount:0}));(0,i.useEffect)(()=>{ec(ee());let e=e=>{"pidance.streamingEnterDefault"===e.key&&ec(ee())},t=()=>ec(ee());return window.addEventListener("storage",e),window.addEventListener("pidance:streaming-enter-changed",t),()=>{window.removeEventListener("storage",e),window.removeEventListener("pidance:streaming-enter-changed",t)}},[]);let[ef,eg]=(0,i.useState)(()=>q?t5(q)?.value??"":"");!function(e){let{sessionId:t,enabled:n,composerEmpty:r,composerFocused:o}=e,l=(0,i.useRef)("");""===l.current&&(l.current=lW());let s=(0,i.useRef)(lT()),a=(0,i.useRef)(0),d=(0,i.useRef)(null),c=(0,i.useRef)({focused:o,empty:r});c.current={focused:o,empty:r},(0,i.useEffect)(()=>{n&&o&&r||(s.current=lT())},[n,o,r,t]),(0,i.useEffect)(()=>{if(!t)return;let e=e=>{d.current!==e&&(d.current=e,(0,nD.$J)(t,{type:"editor_focus",focused:e,clientId:l.current}).catch(()=>{}))},n=()=>{let t=c.current.focused&&"visible"===document.visibilityState;t||(s.current=lT()),e(t)};return d.current=null,n(),document.addEventListener("visibilitychange",n),window.addEventListener("pagehide",n),window.addEventListener("focus",n),()=>{document.removeEventListener("visibilitychange",n),window.removeEventListener("pagehide",n),window.removeEventListener("focus",n),s.current=lT(),e(!1)}},[t,o]),(0,i.useEffect)(()=>{if(!n||!t){s.current=lT();return}let e=()=>{a.current=Date.now()+80},r=e=>{let n=Date.now(),r=function(e){if(e.composing||e.ctrlKey||e.altKey||e.metaKey)return"ignore";if(function(e){if(e.shiftKey)return!1;switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Escape":case"Enter":case"j":case"k":return!0;default:return!1}}(e))return e.interactive?"route-navigation":e.shiftKey||"ArrowDown"!==e.key&&"ArrowLeft"!==e.key?"ignore":"route-activation";return e.interactive?"exit-interaction":"ignore"}({key:e.key,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,composing:e.defaultPrevented||lM(e,a.current,n),interactive:function(e,t,n=1e4){return!!e.interactive&&t-e.lastRoutedAt<=n}(s.current,n)});if("ignore"===r)return;if("exit-interaction"===r){s.current=lE(s.current,{action:r,key:e.key,consumed:!1,now:n});return}if(!c.current.focused||!c.current.empty){s.current=lT();return}let i=ra(e)??(lR(e)?e.key:null);i&&("route-navigation"===r&&(e.preventDefault(),e.stopPropagation()),(0,nD.$J)(t,{type:"terminal_input",data:i,assertFocus:!0,clientId:l.current}).then(t=>{s.current=lE(s.current,{action:r,key:e.key,consumed:t?.consumed===!0,now:Date.now()})}).catch(()=>{s.current=lT()}))};return window.addEventListener("keydown",r,!0),window.addEventListener("compositionend",e,!0),()=>{window.removeEventListener("keydown",r,!0),window.removeEventListener("compositionend",e,!0)}},[n,t])}({sessionId:V??null,enabled:J,composerEmpty:0===ef.length,composerFocused:eu});let[em,ex]=(0,i.useState)(!1),[ev,ey]=(0,i.useState)(!1),[eb,ew]=(0,i.useState)(!0),[ek,ej]=(0,i.useState)(()=>q?t5(q)?.images.map(lY)??[]:[]),[eS,eC]=(0,i.useState)(null),[e_,eI]=(0,i.useState)([]),eR=(0,i.useRef)(e_);eR.current=e_;let eT=ef.trimStart(),eE=0===ek.length&&eT.startsWith("!"),eM=eE&&eT.startsWith("!!"),[eL,ez]=(0,i.useState)(!1),[eW,e$]=(0,i.useState)([]),[eP,eF]=(0,i.useState)(0),[eH,eD]=(0,i.useState)(!1),[eN,eB]=(0,i.useState)(0),[eO,eq]=(0,i.useState)(null),[eK,eV]=(0,i.useState)(!1),[eJ,eY]=(0,i.useState)(0),[eX,eG]=(0,i.useState)(null),[eZ,eQ]=(0,i.useState)(!1),[e0,e1]=(0,i.useState)(null),e2=(0,i.useRef)(null),e4=(0,i.useRef)(!1),[e6,e5]=(0,i.useState)(!1),e8=(0,i.useRef)(null),e3=(0,i.useRef)(null),e9=(0,i.useRef)(null),e7=(0,i.useRef)(null),te=(0,i.useRef)(null),tt=(0,i.useRef)(null),tn=(0,i.useRef)(null),tr=(0,i.useRef)(null),ti=(0,i.useRef)(null),to=(0,i.useRef)(!1),tl=(0,i.useRef)(0),ts=(0,i.useRef)(!1),ta=(0,i.useRef)([]),td=(0,i.useRef)(null),tc=(0,i.useRef)([]),tu=(0,i.useRef)(0),tp=(0,i.useRef)([]),th=(0,i.useRef)(null),tf=(0,i.useRef)(null),tg=(0,i.useRef)(q),tm=(0,i.useRef)(null),[tx,tv]=(0,i.useState)(null),ty=(0,i.useCallback)(()=>{tm.current=tg.current??null},[]),tb=(0,i.useCallback)(e=>{ty(),eg(e)},[ty]),[tw,tk]=(0,i.useState)(null),[tj,tS]=(0,i.useState)(null),tC=(0,i.useRef)(null),t_=(0,i.useCallback)((e,t)=>{let n=t.getBoundingClientRect(),r=n.right+6;r+120>window.innerWidth-8&&(r=Math.max(8,n.left-120-6)),tS({top:Math.max(8,Math.min(n.top,window.innerHeight-8-352)),left:r}),tk(e)},[]),tI=(0,i.useCallback)(()=>{tk(null),tS(null)},[]);(0,i.useEffect)(()=>{if(null===tw)return;let e=e=>{let t=e.target;if(!tC.current?.contains(t)&&!t?.closest?.("[data-depth-trigger]")){if(e9.current?.contains(t))return void window.setTimeout(()=>tI(),0);tI()}};return document.addEventListener("pointerdown",e),window.addEventListener("resize",tI),window.addEventListener("scroll",tI),()=>{document.removeEventListener("pointerdown",e),window.removeEventListener("resize",tI),window.removeEventListener("scroll",tI)}},[tI,tw]);let tR=(0,i.useCallback)(e=>{let t=[e.name];return"number"==typeof e.contextWindow&&t.push(`${es("input_modelContext")} ${lH(e.contextWindow)}`),"number"==typeof e.maxTokens&&t.push(`${es("input_modelMaxOutput")} ${lH(e.maxTokens)}`),"number"==typeof h&&h>0&&"number"==typeof e.contextWindow&&t.push(l$(h,e.contextWindow)?es("input_modelSessionOverflow",{tokens:lH(h),window:lH(e.contextWindow),reserve:lH(16384)}):es("input_modelSessionUsage",{tokens:lH(h),window:lH(e.contextWindow)})),t.join(" \xb7 ")},[es,h]),tT=j??"off",tE=(X=!1!==w,G=j?tT:null,X?oK(b)??(null!=G?oK(G):null):null),tM=(0,i.useCallback)((e,t)=>{var n;return n=I?.[`${e}:${t}`]??void 0,oV.filter(e=>n?.[e]!==null)},[I]),tA=(0,eA.Fd)(),tL=(0,i.useCallback)((e,t)=>{let n=(0,eA.b3)(`thinkingLevel.${e}:${t}`);return"string"==typeof n&&n?n:null},[tA]),tz=(0,i.useCallback)((e,t,n)=>{l||((0,eA.dM)(`thinkingLevel.${e}:${t}`,n),tI(),ex(!1),e3.current?.focus({preventScroll:!0}),g?.(e,t,n))},[tI,l,g]),tW=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!q)return;let e=!1;(0,eA.zo)().catch(()=>{e=!0}).then(()=>{if(tW.current===q||(tW.current=q,tv(q),e))return;let t=function(e){let t=(0,eA.b3)(t6(e));if(!t||"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.value)return null;let n=Array.isArray(t.images)?t.images.filter(e=>"object"==typeof e&&null!==e&&"string"==typeof e.mimeType&&!!(e.media||e.original||"string"==typeof e.data)):[],r={value:t.value,images:n};return t4(r)?null:(t1.set(e,t2(r)),r)}(q);if(!t)return;let n=t5(q);n&&(""!==n.value||n.images.length>0)||(eg(t.value),t.images.length>0&&ej(t.images.map(lY)))})},[q,ej]);let t$=(0,i.useRef)(ef),tP=(0,i.useRef)(ek);t$.current=ef,tP.current=ek;let tF=(0,i.useCallback)(e=>{let t=e2.current;(t?t.value:ef).trim()||(tb(e),eq(null),requestAnimationFrame(()=>{t&&(t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)}))},[ef,tb]),tH=(0,i.useCallback)(e=>{if(!e?.length)return;let t=e.map(e=>e.previewUrl?e:lY(lJ(e)));ej(e=>{let n=new Set(e.map(lX));return[...e,...t.filter(e=>!n.has(lX(e)))]})},[]),tD=(0,i.useCallback)((e,t)=>{if(!e.trim()&&!t?.length||(tH(t),!e.trim()))return;let n=e2.current,r=[e,n?n.value:ef].filter(e=>e.trim()).join("\n\n");tb(r),eq(null),requestAnimationFrame(()=>{n&&(n.focus(),n.setSelectionRange(r.length,r.length),n.style.height="auto",n.style.height=`${Math.min(n.scrollHeight,200)}px`)})},[ef,tb]),tN=(0,i.useCallback)(()=>{let e=tg.current,t=e?t5(e):null;tb(t?.value??""),ej(e=>(e.forEach(lG),t?.images.map(lY)??[])),eq(null)},[tb]);(0,i.useImperativeHandle)(Y,()=>({focus(){e2.current?.focus()},insertIfEmpty:tF,prependText:tD,reloadDraft:tN,restoreDraft(e,t,n){if(n&&n!==tg.current){let r=t5(n)??{value:"",images:[]},i=(t??[]).map(lJ);t8(n,{value:[e,r.value].filter(e=>e.trim()).join("\n\n"),images:[...i,...r.images]});return}tH(t),tD(e)},replaceText(e){let t=e2.current;tb(e),eq(null),requestAnimationFrame(()=>{if(!t)return;t.focus();let n=e.length;t.setSelectionRange(n,n),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`})},insertText(e){let t=e2.current;if(!t)return void tb(t=>t+(t?" ":"")+e);let n=t.selectionStart??t.value.length,r=t.selectionEnd??t.value.length,i=t.value.slice(0,n),o=t.value.slice(r),l=i.length>0&&!i.endsWith(" ")?" ":"";tb(i+l+e+o),eq(null),requestAnimationFrame(()=>{if(!t)return;let r=n+l.length+e.length;t.setSelectionRange(r,r),t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`})},addFiles(e){tJ(e)}}));let[tB,tO]=(0,i.useState)([]),tU=(0,i.useRef)(tB);tU.current=tB;let tq=(0,i.useCallback)(async e=>{eI(t=>t.map(t=>t.id===e.id?{...t,status:"uploading",error:void 0}:t));try{let t=await (0,t7.CS)(e.file,e.previewUrl);if(!(tg.current===e.draftKey&&eR.current.some(t=>t.id===e.id))){URL.revokeObjectURL(e.previewUrl),(0,t7.LH)((0,t7.I9)(t).flatMap(t7.wZ));return}ej(e=>[...e,t]),eI(t=>t.filter(t=>t.id!==e.id))}catch(n){let t=n instanceof Error?n.message:String(n);eI(n=>n.map(n=>n.id===e.id?{...n,status:"failed",error:t}:n))}},[]),tK=(0,i.useCallback)(async e=>{let t=e.filter(lP);if(!t.length)return;eC(null);let n=tg.current??null,r=t.map(e=>({id:lF(),file:e,previewUrl:URL.createObjectURL(e),status:"uploading",draftKey:n}));eI(e=>[...e,...r]),await Promise.all(r.map(e=>tq(e)))},[tq]),tV=(0,i.useCallback)(async e=>{if(l||0===e.length)return;let t=e.filter(lP),n=e.filter(e=>!lP(e));if(t.length&&await tK(t),0===n.length)return;let r=n.map(e=>({id:lF(),name:e.name,mimeType:e.type||"application/octet-stream",size:e.size,status:"uploading"}));tO(e=>[...e,...r]),await Promise.all(n.map(async(e,t)=>{let n=r[t].id;try{let{path:t,name:r}=await (0,t7.Rc)(e,e.name,e.type);tO(e=>e.map(e=>e.id===n?{...e,path:t,name:r,status:"ready"}:e))}catch(t){let e=t instanceof Error?t.message:String(t);tO(t=>t.map(t=>t.id===n?{...t,status:"error",error:e}:t))}}))},[l,tK]),tJ=(0,i.useCallback)(e=>{if(0===e.length)return;let t=e.filter(lP);t.length&&tK(t);let n=e.filter(e=>!lP(e));if(0!==n.length){if(l)return void tO(e=>[...e,...n.map(e=>({id:lF(),name:e.name,mimeType:e.type||"application/octet-stream",size:e.size,status:"error",error:es("input_uploadWhileStreaming")}))]);tV(n)}},[l,tV,tK,es]),tY=(0,i.useCallback)(e=>{ej(t=>{let n=[...t],[r]=n.splice(e,1);return r&&(lG(r),(0,t7.LH)((0,t7.I9)(r).flatMap(t7.wZ))),n})},[]),tX=(0,i.useCallback)(e=>{let t=e_.find(t=>t.id===e);t&&tq(t)},[e_,tq]),tG=(0,i.useCallback)(e=>{eI(t=>{let n=t.find(t=>t.id===e);return n&&URL.revokeObjectURL(n.previewUrl),t.filter(t=>t.id!==e)}),eC(null)},[]),tZ=(0,i.useCallback)(e=>{let t=tU.current.find(t=>t.id===e);t?.status==="ready"&&t.path&&(0,t7.LH)([t.path]),tO(t=>t.filter(t=>t.id!==e))},[]),tQ=(0,i.useCallback)(()=>{ej(e=>(e.forEach(lG),[]))},[]),t0=(0,i.useCallback)(()=>{eI(e=>(e.forEach(e=>URL.revokeObjectURL(e.previewUrl)),[]))},[]),t9=(0,i.useCallback)(()=>{tO([])},[]),ne=(0,i.useCallback)(()=>{tb(""),t$.current="",eq(null),q&&t3(q),tg.current&&tg.current!==q&&t3(tg.current),eC(null),tQ(),t9(),t0(),e2.current&&(e2.current.style.height="auto")},[tQ,t9,t0,q,tb]),nt=(0,i.useCallback)(e=>{let t=tU.current.filter(e=>"ready"===e.status&&e.path);if(0===t.length)return e;let n=t.map(e=>`- path=${e.path}`).join("\n"),r=`${es("input_attachedFilesPrompt")}
|
|
3
3
|
${n}`;return e.trim()?`${e.trim()}
|
|
4
4
|
|