@henlii/pidance 0.2.15 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -5
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.json +1 -1
  6. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/_not-found.html +1 -1
  17. package/.next/server/app/_not-found.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  19. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next/server/app/api/about/route.js +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  26. package/.next/server/app/api/agent/[id]/route.js +1 -1
  27. package/.next/server/app/api/agent/new/route.js +1 -1
  28. package/.next/server/app/api/agent/running/events/route.js +2 -2
  29. package/.next/server/app/api/agent/running/route.js +1 -1
  30. package/.next/server/app/api/files/[...path]/route.js +1 -1
  31. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  32. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -11
  33. package/.next/server/app/api/sessions/[id]/command-entry/route.js +1 -1
  34. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  35. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  36. package/.next/server/app/api/sessions/[id]/export/route.js +1 -67
  37. package/.next/server/app/api/sessions/[id]/info/route.js +1 -1
  38. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  39. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  40. package/.next/server/app/api/sessions/[id]/tool-results/[toolCallId]/route.js +1 -1
  41. package/.next/server/app/api/sessions/route.js +1 -1
  42. package/.next/server/app/api/sessions/search/route.js +1 -26
  43. package/.next/server/app/api/subagent-runs/route.js +1 -1
  44. package/.next/server/app/index.html +1 -1
  45. package/.next/server/app/index.rsc +5 -5
  46. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  47. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  48. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  50. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  51. package/.next/server/app/page.js +14 -14
  52. package/.next/server/app/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app-paths-manifest.json +5 -5
  54. package/.next/server/chunks/188.js +1 -1
  55. package/.next/server/chunks/5274.js +1 -1
  56. package/.next/server/chunks/5304.js +2 -2
  57. package/.next/server/chunks/5582.js +1 -1
  58. package/.next/server/chunks/7594.js +103 -2
  59. package/.next/server/middleware-build-manifest.js +1 -1
  60. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  61. package/.next/server/pages/404.html +1 -1
  62. package/.next/server/pages/500.html +1 -1
  63. package/.next/server/server-reference-manifest.json +1 -1
  64. package/.next/static/chunks/9780-cdf61d5a173248f5.js +1 -0
  65. package/.next/static/chunks/app/page-e3cedfae5a7168f0.js +25 -0
  66. package/.next/static/css/0f9646dc4217843e.css +1 -0
  67. package/README.en.md +1 -1
  68. package/README.md +1 -1
  69. package/package.json +1 -1
  70. package/.next/static/chunks/9780-2ad03045668c179d.js +0 -1
  71. package/.next/static/chunks/app/page-ece7b46fbfdf512a.js +0 -25
  72. package/.next/static/css/b890757d9e0dd456.css +0 -1
  73. /package/.next/static/{9zvG8cZCC35dzSYUEFh9J → heUyQMecqBQuQDeQY1IoQ}/_buildManifest.js +0 -0
  74. /package/.next/static/{9zvG8cZCC35dzSYUEFh9J → heUyQMecqBQuQDeQY1IoQ}/_ssgManifest.js +0 -0
@@ -1,25 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{17581:(e,t,r)=>{Promise.resolve().then(r.bind(r,94369)),Promise.resolve().then(r.bind(r,84747))},84747:(e,t,r)=>{"use strict";r.d(t,{UiLoginGate:()=>l,b:()=>a});var n=r(95155),i=r(12115),o=r(99780);function l({children:e}){let{t}=(0,o.s9)(),[r,a]=(0,i.useState)("loading"),[s,d]=(0,i.useState)(""),[c,u]=(0,i.useState)(!0),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(!1),x=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/auth/ui-session",{method:"GET",credentials:"same-origin",cache:"no-store"}),t=await e.json().catch(()=>({}));if(!t.passwordRequired||e.ok&&t.authenticated)return void a("ready");a("login")}catch{a("login")}},[]);(0,i.useEffect)(()=>{x()},[x]);let m=(0,i.useCallback)(async e=>{if(e.preventDefault(),!f){g(!0),h(null);try{let e=await fetch("/api/auth/ui-session",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:s,trustDevice:c})}),r=await e.json().catch(()=>({}));if(429===e.status)return void h(t("auth_loginRateLimited",{seconds:r.retryAfter??60}));if(!e.ok||!r.authenticated)return void h("Invalid credentials"===r.error?t("auth_invalidCredentials"):r.error??t("auth_loginFailed"));d(""),a("ready")}catch{h(t("auth_loginFailed"))}finally{g(!1)}}},[s,f,t,c]);return"loading"===r?(0,n.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--bg)",color:"var(--text-muted)",fontSize:13},children:t("auth_checking")}):"login"===r?(0,n.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--bg)",padding:24},children:(0,n.jsxs)("form",{onSubmit:e=>{m(e)},style:{width:"100%",maxWidth:360,padding:"28px 24px",borderRadius:"var(--radius-md, 10px)",border:"1px solid var(--border)",background:"var(--bg-panel)",boxShadow:"var(--shadow-float, 0 8px 28px rgba(0,0,0,0.12))"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:18},children:[(0,n.jsx)("img",{src:"/brand/pidance-logo.png",alt:"",width:32,height:32,style:{borderRadius:8}}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:16,fontWeight:600,color:"var(--text)"},children:t("auth_loginTitle")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",marginTop:2},children:t("auth_loginHint")})]})]}),(0,n.jsxs)("label",{style:{display:"block",fontSize:12,color:"var(--text-muted)",marginBottom:6},children:[t("auth_password"),(0,n.jsx)("input",{type:"password",autoFocus:!0,autoComplete:"current-password",value:s,onChange:e=>d(e.target.value),disabled:f,style:{display:"block",width:"100%",marginTop:6,height:36,padding:"0 10px",boxSizing:"border-box",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:14}})]}),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,marginTop:12,fontSize:12,color:"var(--text-muted)",cursor:"pointer",userSelect:"none"},children:[(0,n.jsx)("input",{type:"checkbox",checked:c,onChange:e=>u(e.target.checked),disabled:f}),t("auth_trustDevice")]}),p&&(0,n.jsx)("div",{role:"alert",style:{marginTop:12,fontSize:12,color:"var(--status-danger)",lineHeight:1.4},children:p}),(0,n.jsx)("button",{type:"submit",disabled:f||!s,style:{marginTop:18,width:"100%",height:36,border:"none",borderRadius:6,background:!s||f?"var(--border)":"var(--accent)",color:!s||f?"var(--text-dim)":"#fff",fontSize:13,fontWeight:600,cursor:!s||f?"not-allowed":"pointer"},children:f?t("auth_loggingIn"):t("auth_login")})]})}):(0,n.jsx)(n.Fragment,{children:e})}async function a(){await fetch("/api/auth/ui-session",{method:"DELETE",credentials:"same-origin"}).catch(()=>void 0),window.location.reload()}},94369:(e,t,r)=>{"use strict";r.d(t,{AppShell:()=>dl});var n=r(95155),i=r(12115),o=r(73321);let l=null;var a=r(47650);function s(e){let t=new Map;for(let r of e){let e=r.projectRoot??r.cwd,n=t.get(e);(!n||r.modified>n)&&t.set(e,r.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)}function d(e,t){if(!t)return e;let r=e.replaceAll("\\","/"),n=t.replaceAll("\\","/").replace(/\/$/,"");return r===n?"~":r.startsWith(`${n}/`)?`~${r.slice(n.length)}`:e}function c(e){let t=e.replaceAll("\\","/").replace(/\/+$/,""),r=t.lastIndexOf("/");return(r>=0?t.slice(r+1):t)||e}let u={status:"idle",error:null,cwd:null,projectRoot:null,branch:null,isGit:!1,isTopLevel:!1};function p(e){return null!==e.cwd&&null!==e.projectRoot?e:{...e,cwd:null,projectRoot:null,branch:null,isGit:!1,isTopLevel:!1}}function h(e,t){return e.status===t.status&&e.error===t.error&&e.cwd===t.cwd&&e.projectRoot===t.projectRoot&&e.branch===t.branch&&e.isGit===t.isGit&&e.isTopLevel===t.isTopLevel}function f(e){let t=e.filter(e=>!e.subagent),r=new Map;for(let e of t)r.set(e.id,{session:e,relation:null,children:[]});let n=new Map;for(let e of t)e.parentSessionId&&n.set(e.id,e.parentSessionId);let i=e=>{let t=n.get(e),i=new Set,o=[];for(;t;){if(i.has(t)||t===e)return null;i.add(t),o.push(t),t=n.get(t)}return o.find(e=>r.has(e))??null},o=new Map;for(let e of t){let t=i(e.id);t&&o.set(e.id,{parentId:t,relation:"fork"})}let l=e=>{let t=new Set([e]),r=o.get(e)?.parentId;for(;r;){if(t.has(r))return!0;t.add(r),r=o.get(r)?.parentId}return!1},a=[];for(let e of r.values()){let t=o.get(e.session.id),n=t?r.get(t.parentId):void 0;if(!t||!n||l(e.session.id)){a.push(e);continue}e.relation=t.relation,n.children.push(e)}let s=(e,t)=>t.session.modified.localeCompare(e.session.modified),d=(e,t)=>{if(t)e.sort(s);else{let t=e.filter(e=>"subagent"===e.relation).sort((e,t)=>(e.session.subagent?.runIndex??0)-(t.session.subagent?.runIndex??0)),r=e.filter(e=>"subagent"!==e.relation).sort(s);e.splice(0,e.length,...t,...r)}for(let t of e)d(t.children,!1)};return d(a,!0),a}function g(e,t){if(!t)return e;let r=[];for(let n of e){let e=g(n.children,t);((function(e,t){let r;return!t||(r=[e.name??"",e.firstMessage,e.id,e.worktreeBranch??""],e.subagent&&(r.push(e.subagent.agent??"",e.subagent.runId),r.push(`run ${e.subagent.runIndex}`,`run-${e.subagent.runIndex}`,String(e.subagent.runIndex))),r.join("\n").toLowerCase()).includes(t)})(n.session,t)||e.length>0)&&r.push({...n,children:e})}return r}function x(e,t){let r=(e,n)=>{for(let i of e){if(i.session.id===t)return n;let e=r(i.children,[...n,i.session.id]);if(e)return e}return null};return r(e,[])??[]}function m(e){let t=[],r=e=>{for(let n of e)n.children.length>0&&t.push(n.session.id),n.children.length>0&&r(n.children)};return r(e),t}function v(e){let t="";for(let r of e)r.modified>t&&(t=r.modified);return t}let y=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function b(e,t){if(t?.[e.root])return t[e.root];let r=e.root.replaceAll("\\","/").replace(/\/+$/,""),n=r.lastIndexOf("/");return(n>=0?r.slice(n+1):r)||e.root}function j(e,t){if(0===t.size)return[];let r=[];for(let n of e){let e=j(n.children,t);(t.has(n.session.id)||e.length>0)&&r.push({...n,children:e})}return r}function w(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(520,Math.max(240,Math.round(e))):300}function k(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(720,Math.max(320,Math.round(e))):400}function S(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(960,Math.max(320,Math.round(e))):560}function C(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[r,n]of Object.entries(e)){let e=r.trim();if(!e||null===n||"object"!=typeof n||Array.isArray(n))continue;let i=Array.isArray(n.expanded)?n.expanded.filter(e=>"string"==typeof e):[],o="number"==typeof n.scrollTop&&Number.isFinite(n.scrollTop)&&n.scrollTop>0?Math.round(n.scrollTop):0;t[e]={expanded:i,scrollTop:o}}return t}let _={displayMode:"standard",collapsedProjectRoots:[],collapsedWorktreePaths:[],projectAliases:{},closedProjectRoots:[],addedProjectRoots:[],sidebarWidth:300,rightPanelOpen:!1,rightPanelWidth:400,changesPanelOpen:!0,changesPanelWidth:560,showRecentSessions:!0,pinnedSessionIds:[],fileExplorerState:{},projectSort:"recent",projectOrder:[]},R="pidance:sidebar-preferences";function I(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function T(e){return null===e||"object"!=typeof e?{..._,projectAliases:{},closedProjectRoots:[],collapsedProjectRoots:[],collapsedWorktreePaths:[]}:{displayMode:"compact"===e.displayMode||"standard"===e.displayMode?e.displayMode:_.displayMode,collapsedProjectRoots:I(e.collapsedProjectRoots),collapsedWorktreePaths:I(e.collapsedWorktreePaths),projectAliases:function(e){if(null===e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let[r,n]of Object.entries(e)){if("string"!=typeof n)continue;let e=r.trim(),i=n.trim();e&&i&&(t[e]=i)}return t}(e.projectAliases),closedProjectRoots:I(e.closedProjectRoots),addedProjectRoots:I(e.addedProjectRoots),sidebarWidth:w(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:k(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,changesPanelWidth:S(e.changesPanelWidth),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:I(e.pinnedSessionIds),fileExplorerState:C(e.fileExplorerState),projectSort:M(e.projectSort),projectOrder:I(e.projectOrder)}}function M(e){return"az"===e||"za"===e||"fixed"===e||"recent"===e?e:_.projectSort}function E(e){return JSON.stringify({displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,collapsedWorktreePaths:e.collapsedWorktreePaths,projectAliases:e.projectAliases,closedProjectRoots:e.closedProjectRoots,addedProjectRoots:e.addedProjectRoots,sidebarWidth:w(e.sidebarWidth),rightPanelOpen:!0===e.rightPanelOpen,rightPanelWidth:k(e.rightPanelWidth),changesPanelOpen:!1!==e.changesPanelOpen,changesPanelWidth:S(e.changesPanelWidth),showRecentSessions:!1!==e.showRecentSessions,pinnedSessionIds:I(e.pinnedSessionIds),fileExplorerState:C(e.fileExplorerState),projectSort:M(e.projectSort),projectOrder:I(e.projectOrder)})}function z(e){try{let t=e.getItem(R);if(null===t)return T(null);try{return T(JSON.parse(t))}catch{return T(null)}}catch{return T(null)}}function W(){return z(window.localStorage)}function L(e){try{window.localStorage.setItem(R,E(e))}catch{}}function A(e){return{displayMode:e.displayMode,collapsedProjectRoots:e.collapsedProjectRoots,collapsedWorktreePaths:e.collapsedWorktreePaths,closedProjectRoots:e.closedProjectRoots,addedProjectRoots:e.addedProjectRoots,showRecentSessions:e.showRecentSessions,pinnedSessionIds:e.pinnedSessionIds,projectSort:e.projectSort,projectOrder:e.projectOrder}}function P(e){var t,r=window.localStorage;try{let n=z(r);r.setItem(R,E({...n,rightPanelOpen:void 0===e.open?n.rightPanelOpen:(t=e.open,!0===t),rightPanelWidth:void 0===e.width?n.rightPanelWidth:k(e.width)}))}catch{}}function $(e){var t,r=window.localStorage;try{let n=z(r);r.setItem(R,E({...n,changesPanelOpen:void 0===e.open?n.changesPanelOpen:(t=e.open,!1!==t),changesPanelWidth:void 0===e.width?n.changesPanelWidth:S(e.width)}))}catch{}}function H(e,t){var r=window.localStorage;try{let n=z(r),i=C(n.fileExplorerState);e.trim()&&(i[e]={expanded:C({[e]:t})[e]?.expanded??[],scrollTop:Math.max(0,Math.round(Number.isFinite(t.scrollTop)?t.scrollTop:0))}),r.setItem(R,E({...n,fileExplorerState:i}))}catch{}}let D="pidance.streamingEnterDefault",F="followUp";function N(e){return"steer"===e?"steer":"followUp"}function B(){var e=window.localStorage;try{let t=e.getItem(D);if(null===t)return F;try{return N(JSON.parse(t))}catch{return N(t)}}catch{return F}}function O(e){var t=window.localStorage;try{t.setItem(D,JSON.stringify(N(e)))}catch{}}let U="pidance.autoUpdateCheck";function q(e){return!1!==e&&0!==e&&"0"!==e&&"false"!==e}function K(){var e=window.localStorage;try{let t=e.getItem(U);if(null===t)return!0;try{return q(JSON.parse(t))}catch{return q(t)}}catch{return!0}}function V(e){var t=window.localStorage;try{t.setItem(U,JSON.stringify(q(e)))}catch{}}let J="pidance.sessionList.v1";function Y(){try{let e=window.localStorage.getItem(J);if(!e)return null;let t=JSON.parse(e);if(!Array.isArray(t.sessions))return null;return t.sessions}catch{return null}}function Z(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(J,JSON.stringify({sessions:t}))}catch{}}var X=r(69892);function G(e,t){let r=e[t];return"number"!=typeof r||!Number.isFinite(r)||r<5?5:Math.floor(r)}function Q(e,t,r){if(r)return e;let n=Math.max(0,Math.floor(t));return n>=e.length?e:e.slice(0,n)}function ee(e,t){let r=t.modified.localeCompare(e.modified);if(0!==r)return r;let n=t.created.localeCompare(e.created);return 0!==n?n:e.id.localeCompare(t.id)}function et(e,t){return e===t&&e>0}let er={status:"idle",worktrees:[]};function en(e,t,r){var n;let i,o=e[t];switch(r.status){case"idle":i=er;break;case"loading":i={status:"loading",worktrees:o?.worktrees??[]};break;case"ready":i={status:"ready",worktrees:r.worktrees};break;case"error":i={status:"error",worktrees:r.worktrees??o?.worktrees??[],error:r.error}}return(n=i,o&&o.status===n.status&&(o.error??void 0)===(n.error??void 0)&&function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],i=t[r];if(n.path!==i.path||n.branch!==i.branch||n.isMain!==i.isMain)return!1}return!0}(o.worktrees,n.worktrees))?e:{...e,[t]:i}}let ei=(0,i.createContext)(null);function eo({children:e,initial:t}){let r=(0,i.useRef)(null);return r.current||(r.current=function(e={}){let t=p({...u,...e.identity}),r=new Set,n=t,i=()=>r.forEach(e=>e());return{getIdentitySnapshot:()=>n,subscribeIdentity:e=>(r.add(e),()=>r.delete(e)),setIdentity:e=>{let r=void 0!==e.cwd&&void 0===e.projectRoot?{...e,projectRoot:e.cwd}:e,o=p({...t,...r});h(t,o)||(n=t=o,i())},reset:()=>{let e=!h(t,u);n=t=u,e&&i()}}}(t)),(0,n.jsx)(ei.Provider,{value:r.current,children:e})}function el(){let e=(0,i.useContext)(ei);if(!e)throw Error("useProjectIdentity/useProjectActions 必须在 ProjectProvider 内使用");return e}function ea(){let e=el();return(0,i.useSyncExternalStore)(e.subscribeIdentity,e.getIdentitySnapshot,e.getIdentitySnapshot)}var es=r(99780),ed=r(61995);function ec(e,t){let r=new Date(e),n=new Date().getTime()-r.getTime(),i=Math.floor(n/6e4),o=Math.floor(n/36e5),l=Math.floor(n/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}):r.toLocaleDateString()}function eu({text:e,style:t}){return(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,n.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}function ep({open:e,children:t,style:r}){let[o,l]=(0,i.useState)(e),[a,s]=(0,i.useState)(e);return((0,i.useEffect)(()=>{let t,r;return e?(l(!0),s(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>s(!0))})):(s(!1),r=setTimeout(()=>l(!1),140)),()=>{void 0!==t&&window.cancelAnimationFrame(t),r&&clearTimeout(r)}},[e]),o)?(0,n.jsx)("div",{style:{...r,opacity:+!!a,transform:a?"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 eh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function ef(){let[e,t]=(0,i.useState)(!1),[r,o]=(0,i.useState)(!1),l=(0,i.useRef)(null),a=function(e,t){let[r,n]=(0,i.useState)(e),o=(0,i.useRef)(null),l=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t)return void n(e);l.current=0;let r=4*e.length,i=()=>{l.current+=1;let t=Math.floor(l.current/r*e.length);n(e.split("").map((e,r)=>" "===e?" ":r<t?e:eh[Math.floor(Math.random()*eh.length)]).join("")),l.current<r?o.current=requestAnimationFrame(i):n(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t]),r}(e?"0.2.15pexternal":"Pidance",r),s=(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;s(t),t&&(l.current=setTimeout(()=>s(!1),3e3))},[e,s]);return(0,i.useEffect)(()=>()=>{l.current&&clearTimeout(l.current)},[]),(0,n.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:a})}function eg({label:e,onClick:t,disabled:r=!1,active:i=!1,danger:o=!1,done:l=!1,hoverReveal:a=!1,expanded:s,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"),a&&h.push("sidebar-icon-btn--hover"),(0,n.jsx)("button",{type:"button",ref:u,onClick:t,disabled:r,"data-tooltip":e,"aria-label":e,"aria-expanded":s,"aria-pressed":d,"aria-haspopup":c,className:h.join(" "),children:p})}function ex(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 em=({size:e=18})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.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,n.jsx)("path",{d:"M12 10v6"}),(0,n.jsx)("path",{d:"M9 13h6"})]}),ev=({size:e=14})=>(0,n.jsx)("svg",{...ex(e),children:(0,n.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"})}),ey=({size:e=14})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,n.jsx)("path",{d:"M3 4v5h5"}),(0,n.jsx)("path",{d:"M12 7v5l3 2"})]}),eb=({size:e=13})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("path",{d:"M12 17v5"}),(0,n.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"})]}),ej=({size:e=18})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),(0,n.jsx)("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),(0,n.jsx)("path",{d:"M10 12h4"})]}),ew=({size:e=18})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.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,n.jsx)("path",{d:"M12 7v6"}),(0,n.jsx)("path",{d:"M9 10h6"})]}),ek=({size:e=18})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,n.jsx)("path",{d:"m21 21-4.3-4.3"})]}),eS=({size:e=18})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("line",{x1:"21",x2:"14",y1:"4",y2:"4"}),(0,n.jsx)("line",{x1:"10",x2:"3",y1:"4",y2:"4"}),(0,n.jsx)("line",{x1:"21",x2:"12",y1:"12",y2:"12"}),(0,n.jsx)("line",{x1:"8",x2:"3",y1:"12",y2:"12"}),(0,n.jsx)("line",{x1:"21",x2:"16",y1:"20",y2:"20"}),(0,n.jsx)("line",{x1:"12",x2:"3",y1:"20",y2:"20"}),(0,n.jsx)("line",{x1:"14",x2:"14",y1:"2",y2:"6"}),(0,n.jsx)("line",{x1:"8",x2:"8",y1:"10",y2:"14"}),(0,n.jsx)("line",{x1:"16",x2:"16",y1:"18",y2:"22"})]}),eC=({size:e=14})=>(0,n.jsx)("svg",{...ex(e),children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),e_=({size:e=15})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),(0,n.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]}),eR=({size:e=14})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),eI=({size:e=12})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),eT=({size:e=14})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("path",{d:"M15.5 17.5h5"}),(0,n.jsx)("path",{d:"M18 15v5"})]}),eM=({size:e=13})=>(0,n.jsxs)("svg",{...ex(e),children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,n.jsx)("path",{d:"M10 11v6M14 11v6"}),(0,n.jsx)("path",{d:"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"})]}),eE=({size:e=13})=>(0,n.jsx)("svg",{...ex(e),children:(0,n.jsx)("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})}),ez=({size:e=14})=>(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"5",r:"1.7"}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"1.7"}),(0,n.jsx)("circle",{cx:"12",cy:"19",r:"1.7"})]});function eW({collapsed:e,label:t,left:r,onClick:i}){return(0,n.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:r,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,n.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,n.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})})}function eL({primary:e=!1,danger:t=!1,disabled:r=!1,onClick:i,children:o}){let l=e||t;return(0,n.jsx)("button",{type:"button",onClick:i,disabled:r,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:r?"not-allowed":"pointer",fontSize:12,fontWeight:l?600:500,opacity:r?.55:1,whiteSpace:"nowrap"},children:o})}function eA({label:e,checked:t,onClick:r}){return(0,n.jsxs)("button",{type:"button",onClick:r,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,n.jsx)("span",{style:{color:"var(--accent)",display:"flex",flexShrink:0},children:(0,n.jsx)(eC,{size:11})}):(0,n.jsx)("span",{style:{width:11,flexShrink:0}}),e]})}function eP({icon:e,label:t,onClick:r}){return(0,n.jsxs)("button",{type:"button",role:"menuitem",onClick:r,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,n.jsx)("span",{style:{display:"flex",flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true",children:e}),t]})}function e$({groupKey:e,total:t,visibleCount:r,searchActive:i,onShowMore:o,onShowFewer:l}){let{t:a}=(0,es.s9)(),s=!i&&t>Math.max(0,Math.floor(r)),d=!i&&Math.floor(r)>5;return s||d?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 8px 5px 28px"},children:[s&&(0,n.jsxs)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>o(e),children:[a("sidebar_showMore"),(0,n.jsxs)("span",{"aria-hidden":"true",children:["+",5]})]}),d&&(0,n.jsx)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>l(e),children:a("sidebar_showFewer")})]}):null}function eH({size:e=14}){let{t}=(0,es.s9)();return(0,n.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,n.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 eD({startedAt:e,now:t,running:r}){let{t:i}=(0,es.s9)();return r?(0,n.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,n.jsx)("span",{children:void 0!==e?function(e,t){let r,n,{hours:i,minutes:o,seconds:l}=(n=Math.floor((r=Math.max(0,Math.floor(e/1e3)))/3600),{hours:n,minutes:Math.floor(r%3600/60),seconds:r%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 eF({size:e=14}){let{t}=(0,es.s9)();return(0,n.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,n.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:6,height:6,borderRadius:"50%",background:"currentColor"}})})}let eN=(0,i.createContext)({startedAt:new Map,now:Date.now()}),eB=0,eO=null,eU=[];function eq(e){return eU.length>0&&eU[eU.length-1]===e}let eK=i.useLayoutEffect;function eV(){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 r=Number.isFinite(t.width)?Math.max(0,t.width):0,n=Number.isFinite(t.height)?Math.max(0,t.height):0;return r<=0||n<=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:r,height:n}}function eJ(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 eY({open:e,onClose:t,title:r,description:o,children:l,actions:s,width:d=560,height:c,zIndex:u=1e3,closeOnBackdrop:p=!0,closeOnEsc:h=!0,initialFocusRef:f,headerActions:g,contentPadding:x="14px 18px",closeLabel:m="Close"}){let v=(0,i.useRef)(null),y=(0,i.useId)(),b=(0,i.useId)(),j=(0,i.useRef)(null);null===j.current&&(j.current=Symbol("ViewportDialog")),(0,i.useEffect)(()=>{if(e){var t;let e;return t=j.current,eU.push(t),e=!1,()=>{if(e)return;e=!0;let r=eU.lastIndexOf(t);r>=0&&eU.splice(r,1)}}},[e]),(0,i.useEffect)(()=>{var t,r;if(!e)return;let n=document.activeElement,i=v.current,o=(t=f?.current,r=i?eJ(i):[],t??r[0]??i);return o?.focus({preventScroll:!0}),()=>{var e,t;let r=(e=n instanceof HTMLElement?n:null,t=e=>document.contains(e),null!==e&&t(e)?e:null);r?.focus({preventScroll:!0})}},[e,f]),(0,i.useEffect)(()=>{if(e){var t;let e;return t=document.body,0===eB&&(eO=t.style.overflow,t.style.overflow="hidden"),eB+=1,e=!1,()=>{e||(e=!0,0==(eB-=1)&&(t.style.overflow=eO??"",eO=null))}}},[e]),(0,i.useEffect)(()=>{if(!e)return;let r=j.current,n=e=>{let n=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:eq(r)});n.stopPropagation&&(e.stopPropagation(),n.preventDefault&&e.preventDefault(),n.close&&t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,h,t]),(0,i.useEffect)(()=>{if(!e)return;let t=j.current,r=e=>{if(!eq(t))return;let r=v.current;!r||!(e.target instanceof Node)||r.contains(e.target)||(eJ(r)[0]??r).focus({preventScroll:!0})};return document.addEventListener("focusin",r),()=>document.removeEventListener("focusin",r)},[e]);let[w,k]=(0,i.useState)(null),S=(0,i.useRef)(0),C=(0,i.useCallback)(()=>{let e=eV();k(t=>t&&t.top===e.top&&t.left===e.left&&t.width===e.width&&t.height===e.height?t:e)},[]);if(eK(()=>{if(!e)return void k(null);C();let t=()=>{S.current||(S.current=requestAnimationFrame(()=>{S.current=0,C()}))};window.addEventListener("resize",t);let r=window.visualViewport;return r?.addEventListener("resize",t),r?.addEventListener("scroll",t),()=>{window.removeEventListener("resize",t),r?.removeEventListener("resize",t),r?.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,R=w??eV(),I=function(e,t=16){return{maxWidth:Math.max(0,e.width-2*t),maxHeight:Math.max(0,e.height-2*t)}}(R),T="number"==typeof d?Math.min(d,I.maxWidth):`min(${_}, ${I.maxWidth}px)`,M=void 0===c?void 0:"number"==typeof c?Math.min(c,I.maxHeight):`min(${c}, ${I.maxHeight}px)`;return(0,a.createPortal)((0,n.jsx)("div",{onMouseDown:e=>{p&&e.target===e.currentTarget&&t()},style:{position:"fixed",top:R.top,left:R.left,width:R.width,height:R.height,zIndex:u,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,overscrollBehavior:"contain"},children:(0,n.jsxs)("div",{ref:v,role:"dialog","aria-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 r=function(e){let{focusable:t,active:r,shiftKey:n,panel:i,contains:o}=e;if(0===t.length)return{handled:!0,target:i};let l=t[0],a=t[t.length-1],s=null!==r&&o(r);if(n){if(r===l||!s)return{handled:!0,target:a}}else if(r===a||!s)return{handled:!0,target:l};return{handled:!1}}({focusable:eJ(t),active:document.activeElement,shiftKey:e.shiftKey,panel:t,contains:e=>t.contains(e)});r.handled&&(e.preventDefault(),r.target.focus({preventScroll:!0}))},style:{width:"100%",maxWidth:T,maxHeight:I.maxHeight,...void 0!==M?{height:M,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,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("div",{id:y,style:{fontSize:15,fontWeight:700,color:"var(--text)",minWidth:0,flex:1},children:r}),g,(0,n.jsx)("button",{type:"button",onClick:t,"aria-label":m,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,n.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,n.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overscrollBehavior:"contain",padding:x},children:l}),s&&(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"12px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:s})]})}),document.body)}let eZ={readOnly:!1,canPrompt:!0,canFork:!0,canCompact:!0,canChangeModel:!0,canChangeThinking:!0,canChangeTools:!0,canRename:!0,canAutoName:!0,canDelete:!0,canConnectEvents:!0,canSendSessionCommands:!0},eX={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 eG(e){return e?.readOnly===!0?eX:eZ}function eQ(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);try{let t=document.createElement("textarea");return t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}catch{return Promise.reject()}}function e0(e){return`/api/sessions/${encodeURIComponent(e)}/export`}function e1(e,t,r=2){return!!e&&!!t&&(Math.abs(e.top-t.top)>=r||Math.abs(e.right-t.right)>=r)}function e2({open:e,onOpenChange:t,projectName:r,onEdit:o,onClose:l}){let{t:s}=(0,es.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]),x=(0,i.useCallback)(()=>{if(e)return void g(!0);let r=c.current?.getBoundingClientRect();r&&(f.current={top:r.top,bottom:r.bottom,right:r.right},h({top:r.bottom+4,right:Math.max(8,window.innerWidth-r.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 r=e.offsetHeight;t.bottom+4+r<=window.innerHeight||h(e=>e?{...e,top:Math.max(8,t.top-r-4)}:e)});return()=>cancelAnimationFrame(t)},[e]),(0,i.useEffect)(()=>{if(!e)return;let r=e=>{!d.current||d.current.contains(e.target)||u.current?.contains(e.target)||t(!1)},n=()=>{let e=c.current?.getBoundingClientRect();e1(f.current,e?{top:e.top,right:e.right}:null)&&t(!1)};return document.addEventListener("mousedown",r),window.addEventListener("scroll",n,!0),window.addEventListener("resize",n),()=>{document.removeEventListener("mousedown",r),window.removeEventListener("scroll",n,!0),window.removeEventListener("resize",n)}},[e,t]),(0,i.useEffect)(()=>{if(!e)return;let t=requestAnimationFrame(()=>{u.current?.querySelector("[role='menuitem']")?.focus()});return()=>cancelAnimationFrame(t)},[e]),(0,n.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,n.jsx)(eg,{label:s("sidebar_projectMenuLabel",{project:r}),active:e,expanded:e,haspopup:"menu",hoverReveal:!0,buttonRef:c,onClick:e=>{e.stopPropagation(),x()},children:(0,n.jsx)(ez,{size:14})}),e&&(0,a.createPortal)((0,n.jsx)(ep,{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,n.jsxs)("div",{ref:u,role:"menu","aria-label":s("sidebar_projectMenuLabel",{project:r}),children:[(0,n.jsx)(eP,{icon:(0,n.jsx)(eE,{size:13}),label:s("sidebar_editProject"),onClick:()=>{g(!0),o()}}),(0,n.jsx)(eP,{icon:(0,n.jsx)(eR,{size:13}),label:s("sidebar_closeProject"),onClick:()=>{g(!0),l()}})]})}),document.body)]})}function e4({session:e,title:t,canRename:r,canDelete:o,canArchive:l,archiveDisabledReason:s,isPinned:d,onTogglePin:c,onRename:u,onDelete:p,onArchive:h}){var f;let g,{t:x}=(0,es.s9)(),[m,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(null),j=(0,i.useRef)(null),w=(0,i.useRef)(null),k=(0,i.useRef)(null),S=x("sidebar_sessionMenuLabel",{session:t}),C=(0,i.useCallback)((e=!1)=>{v(!1),e&&w.current?.focus()},[]);(0,i.useEffect)(()=>{if(!m||!j.current)return;let e=requestAnimationFrame(()=>{let e=k.current,t=j.current;if(!e||!t)return;let r=e.offsetHeight;t.bottom+4+r<=window.innerHeight||b(e=>e?{...e,top:Math.max(8,t.top-r-4)}:e)});return()=>cancelAnimationFrame(e)},[m]),(0,i.useEffect)(()=>{if(!m)return;let e=e=>{let t=e.target;k.current?.contains(t)||w.current?.contains(t)||C()},t=()=>{let e=w.current?.getBoundingClientRect();e1(j.current,e?{top:e.top,right:e.right}:null)&&C()};document.addEventListener("mousedown",e),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0);let r=requestAnimationFrame(()=>k.current?.querySelector("[role='menuitem']")?.focus());return()=>{cancelAnimationFrame(r),document.removeEventListener("mousedown",e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},[C,m]);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"},R={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)"}},I=e=>(0,n.jsx)("span",{"aria-hidden":"true",style:{display:"flex",color:"var(--text-dim)"},children:e});return(0,n.jsxs)("div",{style:{display:"flex",flexShrink:0},onClick:e=>e.stopPropagation(),onKeyDown:e=>{"Escape"===e.key&&m&&(e.preventDefault(),C(!0))},children:[(0,n.jsx)(eg,{label:S,active:m,expanded:m,haspopup:"menu",hoverReveal:!0,buttonRef:w,onClick:e=>{e.stopPropagation(),(()=>{if(m)return C();let e=w.current?.getBoundingClientRect();e&&(j.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,n.jsx)(ez,{size:14})}),m&&y&&(0,a.createPortal)((0,n.jsxs)("div",{ref:k,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:[r&&(0,n.jsxs)("button",{type:"button",role:"menuitem",style:_,...R,onClick:()=>{C(),u()},children:[I((0,n.jsx)(eE,{size:13})),x("sidebar_renameSession")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:_,...R,onClick:()=>{C(),eQ(e.id)},children:[I((0,n.jsxs)("svg",{...ex(13),children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})),x("sidebar_copySessionId")]}),!e.subagent&&c&&(0,n.jsxs)("button",{type:"button",role:"menuitem",style:_,...R,onClick:()=>{C(),c()},children:[I((0,n.jsx)(eb,{size:13})),x(d?"sidebar_unpinSession":"sidebar_pinSession")]}),(l||null!==s)&&(0,n.jsxs)("button",{type:"button",role:"menuitem",disabled:!l,title:l?void 0:s??void 0,style:{..._,opacity:l?1:.45,cursor:l?"pointer":"not-allowed"},onClick:()=>{l&&(C(),h())},children:[I((0,n.jsx)(ej,{size:13})),x("sidebar_archiveSession")]}),"string"==typeof e?.id&&e.id.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("a",{role:"menuitem",href:e0(e.id),download:!0,style:_,...R,onClick:()=>C(),children:[I((0,n.jsxs)("svg",{...ex(13),children:[(0,n.jsx)("path",{d:"M12 3v12"}),(0,n.jsx)("path",{d:"m7 10 5 5 5-5"}),(0,n.jsx)("path",{d:"M5 21h14"})]})),x("sidebar_exportSessionHtml")]}),(0,n.jsxs)("a",{role:"menuitem",href:(f=e.id,g=new URLSearchParams({format:"jsonl"}),`${e0(f)}?${g.toString()}`),download:!0,style:_,...R,onClick:()=>C(),children:[I((0,n.jsxs)("svg",{...ex(13),children:[(0,n.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,n.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"})]})),x("sidebar_exportSessionJsonl")]})]}),o&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{height:1,margin:"4px 6px",background:"var(--border)"}}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:{..._,color:"var(--status-danger)"},onClick:()=>{C(),p()},children:[I((0,n.jsx)(eM,{size:13})),x("sidebar_deleteSession")]})]})]}),document.body)]})}function e6({project:e,homeDir:t,displayMode:r,projectAliases:i,selectedSessionId:o,runningSessionIds:l,subagentRunningIds:a,unreadSessionIds:s,collapsedProjectRoots:d,collapsedWorktreePaths:u,collapsedSessionIds:p,searchActive:h,onToggleProject:f,onToggleWorktree:g,onNewSession:x,onSelectSession:m,menuOpen:v,onMenuOpenChange:y,onEditProject:b,onCloseProject:j,onRenamed:w,onSessionDeleted:k,onToggleCollapse:S,groupVisibleCounts:C,onShowMore:_,onShowFewer:R,worktreeActions:I,wtNewOpen:T,wtNewBranch:M,wtError:E,wtConfirmRemove:z,wtNewInputRef:W,onStartCreateWorktree:L,onWtNewBranchChange:A,onSubmitCreateWorktree:P,onCancelCreateWorktree:$,onRequestRemoveWorktree:H,onConfirmRemoveWorktree:D,onCancelRemoveWorktree:F,onSessionArchive:N,isSessionPinned:B,onTogglePin:O,onProjectDrop:U}){var q;let{t:K}=(0,es.s9)(),V=(q=e.root,!h&&d.has(q)),J=e.mainTree.length>0||e.worktrees.some(e=>e.tree.length>0),Y=i[e.root]??c(e.root),Z=K(V?"sidebar_expandProjectNamed":"sidebar_collapseProjectNamed",{project:Y});return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!V,"aria-label":Z,draggable:!!U,onDragStart:t=>{U&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/pidance-project",e.root),t.dataTransfer.setData("text/plain",e.root))},onDragOver:e=>{U&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{if(!U)return;t.preventDefault(),t.stopPropagation();let r=t.dataTransfer.getData("text/pidance-project")||t.dataTransfer.getData("text/plain");r&&U(r,e.root)},onClick:()=>f(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(),f(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,n.jsx)(eW,{collapsed:V,label:Z,left:6,onClick:t=>{t.stopPropagation(),f(e.root)}}),(0,n.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,n.jsx)(ev,{size:13})}),(0,n.jsx)(eu,{text:Y,style:{flex:1,fontSize:12.5,fontWeight:600,fontFamily:"var(--font-mono)"}}),(0,n.jsx)(eg,{label:K("sidebar_newSessionIn",{project:Y}),hoverReveal:!0,onClick:t=>{t.stopPropagation(),x(e.root)},children:(0,n.jsx)(ew,{size:14})}),I&&(0,n.jsx)(eg,{label:I.createHint,disabled:!I.canManage||I.busy,hoverReveal:!0,onClick:e=>{e.stopPropagation(),L()},children:(0,n.jsx)(eT,{size:14})}),(0,n.jsx)(e2,{open:v,onOpenChange:y,projectName:Y,onEdit:b,onClose:j})]}),!V&&(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[Q(e.mainTree,G(C,`main:${e.root}`),h).map(e=>(0,n.jsx)(e8,{node:e,selectedSessionId:o,runningSessionIds:l,subagentRunningIds:a,unreadSessionIds:s,onSelectSession:m,onRenamed:w,onSessionDeleted:k,onSessionArchive:N,isSessionPinned:B,onTogglePin:O,depth:0,collapsedSessionIds:p,searchActive:h,onToggleCollapse:S,displayMode:r},e.session.id)),(0,n.jsx)(e$,{groupKey:`main:${e.root}`,total:e.mainTree.length,visibleCount:G(C,`main:${e.root}`),searchActive:h,onShowMore:_,onShowFewer:R})]}),e.worktrees.map(e=>(0,n.jsx)(e5,{group:e,homeDir:t,displayMode:r,selectedSessionId:o,runningSessionIds:l,subagentRunningIds:a,unreadSessionIds:s,collapsedWorktreePaths:u,collapsedSessionIds:p,searchActive:h,onToggleWorktree:e=>g(e),onNewSession:()=>x(e.path),onSelectSession:m,onRenamed:w,onSessionDeleted:k,onToggleCollapse:S,visibleCount:G(C,`worktree:${e.path}`),onShowMore:()=>_(`worktree:${e.path}`),onShowFewer:()=>R(`worktree:${e.path}`),worktreeActions:I,confirmRemove:z===e.path,onRequestRemove:()=>H(e.path),onConfirmRemove:()=>D(e.path),onCancelRemove:F,onSessionArchive:N,isSessionPinned:B,onTogglePin:O},e.path)),T&&I?.canManage&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px 4px 30px"},children:[(0,n.jsx)("span",{style:{display:"flex",color:"var(--text-dim)",flexShrink:0},children:(0,n.jsx)(eI,{size:11})}),(0,n.jsx)("input",{ref:W,value:M,onChange:e=>A(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),P()),"Escape"===e.key&&$()},placeholder:K("sidebar_branchName"),"aria-label":K("sidebar_branchName"),style:{flex:1,minWidth:0,height:26,fontSize:11,fontFamily:"var(--font-mono)",padding:"0 8px",border:"1px solid var(--accent)",borderRadius:5,outline:"none",background:"var(--bg)",color:"var(--text)",boxSizing:"border-box"}}),(0,n.jsx)(eg,{label:K(I.busy?"sidebar_creating":"sidebar_createWorktreeAction"),disabled:I.busy||!M.trim(),onClick:P,children:(0,n.jsx)(eC,{size:14})}),(0,n.jsx)(eg,{label:K("sidebar_cancel"),onClick:$,children:(0,n.jsx)(eR,{size:13})})]}),E&&I&&(0,n.jsx)("div",{style:{padding:"3px 10px 6px 30px",color:"var(--status-danger)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:E}),!J&&0===e.worktrees.length&&(0,n.jsx)("div",{style:{padding:"2px 10px 6px 31px",color:"var(--text-dim)",fontSize:11},children:K("sidebar_noSessionsYet")})]})]})}function e5({group:e,homeDir:t,displayMode:r,selectedSessionId:o,runningSessionIds:l,subagentRunningIds:a,unreadSessionIds:s,collapsedWorktreePaths:c,collapsedSessionIds:u,searchActive:p,onToggleWorktree:h,onNewSession:f,onSelectSession:g,onRenamed:x,onSessionDeleted:m,onToggleCollapse:v,visibleCount:y,onShowMore:b,onShowFewer:j,worktreeActions:w,confirmRemove:k,onRequestRemove:S,onConfirmRemove:C,onCancelRemove:_,onSessionArchive:R,isSessionPinned:I,onTogglePin:T}){var M;let{t:E}=(0,es.s9)(),z=(M=e.path,!p&&c.has(M)),W=e.branch??d(e.path,t),L=E(z?"sidebar_expandWorktreeNamed":"sidebar_collapseWorktreeNamed",{name:W}),A=(0,i.useMemo)(()=>{let t=new Set([...l,...a]),r=e=>e.some(e=>t.has(e.session.id)||r(e.children));return r(e.tree)},[e,l,a]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"sidebar-row","data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":!z,"aria-label":L,onClick:()=>h(e.path),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(),h(e.path))},title:e.path,style:{display:"flex",alignItems:"center",gap:6,height:30,margin:"1px 6px",position:"relative",paddingLeft:32,paddingRight:8,borderRadius:6,cursor:"pointer",background:"transparent",color:"var(--text-muted)"},children:[(0,n.jsx)(eW,{collapsed:z,label:L,left:6,onClick:t=>{t.stopPropagation(),h(e.path)}}),(0,n.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,n.jsx)(eI,{size:11})}),A&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:6,top:"50%",display:"flex",width:20,height:20,alignItems:"center",justifyContent:"center",transform:"translateY(-50%)",pointerEvents:"none"},children:(0,n.jsx)(eH,{size:18})}),(0,n.jsx)(eu,{text:W,style:{flex:1,fontSize:12,fontWeight:400,fontFamily:"var(--font-mono)"}}),A&&(0,n.jsx)(eH,{size:10}),(0,n.jsx)(eg,{label:E("sidebar_newSessionIn",{project:W}),hoverReveal:!0,onClick:e=>{e.stopPropagation(),f()},children:(0,n.jsx)(ew,{size:13})}),w?.canManage&&!k&&(0,n.jsx)(eg,{label:E("sidebar_removeWorktreeAt",{path:e.path}),danger:!0,hoverReveal:!0,disabled:w.busy,onClick:e=>{e.stopPropagation(),S()},children:(0,n.jsx)(eM,{size:13})})]}),k&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 8px 5px 30px",background:"var(--status-danger-bg)"},children:[(0,n.jsx)("span",{style:{flex:1,minWidth:0,fontSize:11,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:E("sidebar_dirtyWorktreeConfirm")}),(0,n.jsx)("button",{type:"button",onClick:C,disabled:w?.busy,style:{padding:"3px 9px",background:"var(--status-danger)",border:"none",borderRadius:5,color:"#fff",fontSize:11,fontWeight:600,cursor:"pointer",flexShrink:0},children:E("sidebar_forceRemove")}),(0,n.jsx)("button",{type:"button",onClick:_,style:{padding:"3px 9px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text-muted)",fontSize:11,cursor:"pointer",flexShrink:0},children:E("sidebar_cancel")})]}),!z&&(0,n.jsxs)("div",{children:[Q(e.tree,y,p).map(e=>(0,n.jsx)(e8,{node:e,selectedSessionId:o,runningSessionIds:l,subagentRunningIds:a,unreadSessionIds:s,onSelectSession:g,onRenamed:x,onSessionDeleted:m,onSessionArchive:R,isSessionPinned:I,onTogglePin:T,depth:0,collapsedSessionIds:u,searchActive:p,onToggleCollapse:v,displayMode:r},e.session.id)),(0,n.jsx)(e$,{groupKey:e.path,total:e.tree.length,visibleCount:y,searchActive:p,onShowMore:b,onShowFewer:j}),0===e.tree.length&&(0,n.jsx)("div",{style:{padding:"2px 10px 5px 28px",color:"var(--text-dim)",fontSize:11},children:E("sidebar_noSessions")})]})]})}function e8({node:e,selectedSessionId:t,runningSessionIds:r,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:a,onSessionDeleted:s,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:x}){var m;let v=e.children.length>0,y=(m=e.session.id,!f&&h.has(m));return(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{"data-session-id":e.session.id,style:{position:"relative"},children:(0,n.jsx)(e3,{session:e.session,relation:e.relation,isSelected:e.session.id===t,isRunning:r.has(e.session.id)||i.has(e.session.id),isUnread:!e.session.subagent&&o.has(e.session.id),onClick:()=>l(e.session),onRenamed:a,onDeleted:e=>s?.(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:x})}),v&&!y&&(0,n.jsx)("div",{children:e.children.map(e=>(0,n.jsx)(e8,{node:e,selectedSessionId:t,runningSessionIds:r,subagentRunningIds:i,unreadSessionIds:o,onSelectSession:l,onRenamed:a,onSessionDeleted:s,onSessionArchive:d,isSessionPinned:c,onTogglePin:u,depth:p+1,collapsedSessionIds:h,searchActive:f,onToggleCollapse:g,displayMode:x},e.session.id))})]})}function e3({session:e,relation:t=null,isSelected:r,isRunning:o,isUnread:l,onClick:a,onRenamed:s,onDeleted:d,onArchive:c,isPinned:u,onTogglePin:p,depth:h=0,hasChildren:f=!1,collapsed:g=!1,onToggleCollapse:x,displayMode:m}){let{t:v}=(0,es.s9)(),[y,b]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),[k,S]=(0,i.useState)(""),[C,_]=(0,i.useState)(!1),[R,I]=(0,i.useState)(!1),T=(0,i.useRef)(null),M=eG(e),E=!0===o,z=!E&&!1===eG(e).readOnly,W=z?null:v(E?"archive_rowDisabledRunning":"archive_rowDisabledReadOnly"),L=(0,i.useContext)(eN),A=e.id?L.startedAt.get(e.id):void 0,P=!0===o&&!(f&&g),$=e.firstMessage.trim(),H=e.subagent&&(!$||"(no messages)"===$)?`${e.subagent.agent?`${e.subagent.agent} \xb7 `:""}${v("sidebar_runCount",{count:e.subagent.runIndex})}`:"",D="(no messages)"===$?v("sidebar_noMessages"):e.firstMessage,F=e.name||H||D.slice(0,50)||e.id.slice(0,12),N=(0,i.useCallback)(()=>{M.canRename&&(S(F),w(!0),setTimeout(()=>T.current?.select(),0))},[F,M.canRename]),B=(0,i.useCallback)(async()=>{if(!M.canRename)return void w(!1);let t=k.trim();if(w(!1),t!==(e.name??""))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}),s?.()}catch{}},[k,e.id,e.name,s,M.canRename]),O=(0,i.useCallback)(()=>{M.canDelete&&_(!0)},[M.canDelete]),U=(0,i.useCallback)(async()=>{if(!M.canDelete)return void _(!1);_(!1),I(!0);try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"}),d?.(e.id)}catch{I(!1)}},[e.id,d,M.canDelete]),q=(0,i.useCallback)(()=>{_(!1)},[]),K="compact"===m,V=K?30:40;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sidebar-row","data-sidebar-depth":h,onClick:j?void 0:a,onMouseEnter:()=>b(!0),onMouseLeave:()=>{b(!1)},style:{height:V,display:"flex",alignItems:"center",width:"calc(100% - 12px)",margin:"1px 6px",position:"relative",paddingLeft:32+14*h,paddingRight:8,borderRadius:6,cursor:j?"default":"pointer",background:r?"var(--bg-selected)":y?"var(--bg-hover)":"transparent",borderLeft:r?"2px solid var(--accent)":"2px solid transparent",transition:"background 0.15s ease, color 0.15s ease",opacity:R?.5:1,gap:6,overflow:"hidden"},children:j?(0,n.jsx)("input",{ref:T,value:k,onChange:e=>S(e.target.value),onBlur:B,onKeyDown:e=>{"Enter"===e.key&&B(),"Escape"===e.key&&w(!1)},autoFocus:!0,"aria-label":v("sidebar_renameSession"),style:{flex:1,fontSize:K?11:12,padding:"0 8px",border:"1px solid var(--accent)",borderRadius:5,outline:"none",background:"var(--bg)",color:"var(--text)",height:K?20:28}}):(0,n.jsxs)(n.Fragment,{children:[f?(0,n.jsx)("button",{type:"button",className:"sidebar-chevron-btn sidebar-indent-indicator sidebar-chevron-always",onClick:e=>{e.stopPropagation(),x?.()},title:v(g?"sidebar_expandChild":"sidebar_collapseChild"),"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,n.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,n.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})}):(0,n.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&&(0,n.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,n.jsx)(eH,{size:18})}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:K?11.5:12,fontWeight:400,lineHeight:1.4,color:r?"var(--accent-hover)":"var(--text)"},title:F,children:[!o&&l&&(0,n.jsx)(eF,{size:10}),P&&K&&(0,n.jsx)(eD,{startedAt:A,now:L.now,running:!0}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:F}),K&&e.subagent&&(0,n.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")})]}),!K&&(0,n.jsxs)("div",{style:{marginTop:1,display:"flex",alignItems:"center",gap:8,color:"var(--text-dim)",fontSize:10.5,minWidth:0},children:[P&&(0,n.jsx)(eD,{startedAt:A,now:L.now,running:!0}),(0,n.jsx)("span",{title:e.modified,children:ec(e.modified,v)}),(0,n.jsx)("span",{children:v("sidebar_messagesCount",{count:e.messageCount})}),e.subagent&&(0,n.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,n.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,n.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})]})]}),e.worktreeBranch&&(0,n.jsxs)("span",{title:v("sidebar_worktreeTooltip",{path:e.cwd}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--accent)",minWidth:0,overflow:"hidden"},children:[(0,n.jsx)(eI,{size:9}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.worktreeBranch})]})]})]}),(0,n.jsx)(e4,{session:e,title:F,canRename:M.canRename,canDelete:M.canDelete,canArchive:z,archiveDisabledReason:W,isPinned:u,onTogglePin:p,onRename:N,onDelete:O,onArchive:()=>c?.(e.id)})]})}),(0,n.jsx)(eY,{open:C,onClose:q,title:v("sidebar_deleteSession"),description:v("sidebar_deleteConfirm",{name:F}),width:400,closeLabel:v("dialog_close"),actions:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eL,{onClick:q,children:v("sidebar_cancel")}),(0,n.jsx)(eL,{danger:!0,onClick:()=>void U(),children:v("sidebar_deleteSession")})]})})]})}function e9({open:e,onClose:t,resolveProjectRoot:r,onAdded:o}){let{t:l}=(0,es.s9)(),a=(0,i.useRef)(null),[s,d]=(0,i.useState)(""),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(!1),[f,g]=(0,i.useState)([]),[x,m]=(0,i.useState)(null),[v,y]=(0,i.useState)(!1),[b,j]=(0,i.useState)(!1),[w,k]=(0,i.useState)(null),[S,C]=(0,i.useState)(null),[_,R]=(0,i.useState)(!1),I=(0,i.useRef)(0);(0,i.useEffect)(()=>{R(!!window.piDesktop?.selectDirectory)},[]);let T=(0,i.useCallback)(()=>{d(""),u(null),h(!1),g([]),m(null),y(!1),j(!1),k(null),C(null)},[]),M=(0,i.useCallback)(async e=>{let t=++I.current;y(!0),j(!1),u(null);try{let r=await fetch(`/api/cwd/browse?path=${encodeURIComponent(e)}`);if(t!==I.current)return;if(!r.ok){g([]),m(null),j(!0),k(null),C(null);return}let n=await r.json();if(t!==I.current)return;d(n.path??e),k(n.path??e),C(n.parentPath??null),g(n.entries??[]),m(n.git??null),j(!1)}catch{if(t!==I.current)return;g([]),m(null),j(!0),k(null),C(null)}finally{t===I.current&&y(!1)}},[]);(0,i.useEffect)(()=>{e?M(""):T()},[e,T,M]);let E=(0,i.useCallback)(()=>{t()},[t]),z=(0,i.useCallback)(async e=>{let t=(e??w??s).trim();if(t&&!p){h(!0),u(null);try{let e=await fetch("/api/cwd/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t})}),n=await e.json().catch(()=>({}));if(!e.ok||n.error)return void u(n.error??`HTTP ${e.status}`);let i=n.cwd??t;o(i,r(i))}catch(e){u(e instanceof Error?e.message:String(e))}finally{h(!1)}}},[w,s,p,o,r]),W=(0,i.useCallback)(async()=>{let e=window.piDesktop;if(e)try{u(null);let t=await e.selectDirectory();null!==t&&(d(t),M(t))}catch(e){u(e instanceof Error?e.message:String(e))}},[M]),L=(0,i.useCallback)(async()=>{if(!p){h(!0),u(null);try{let e=await fetch("/api/default-cwd",{method:"POST"}),t=await e.json().catch(()=>({}));if(!e.ok||t.error||!t.cwd)return void u(t.error??`HTTP ${e.status}`);o(t.cwd,r(t.cwd))}catch(e){u(e instanceof Error?e.message:String(e))}finally{h(!1)}}},[p,o,r]),A=!!(w&&s.trim()===w);return(0,n.jsx)(eY,{open:e,onClose:E,title:l("sidebar_addProjectDialog"),width:440,closeLabel:l("dialog_close"),initialFocusRef:a,description:l("sidebar_addProjectDescription"),actions:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eL,{onClick:E,children:l("sidebar_cancel")}),(0,n.jsx)("span",{title:A?void 0:l("sidebar_browseOpenBeforeSelect"),children:(0,n.jsx)(eL,{primary:!0,disabled:p||!A,onClick:()=>void z(),children:l(p?"sidebar_validating":"sidebar_add")})})]}),children:(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=s.trim();t&&t!==w&&M(t)},children:[(0,n.jsx)("label",{htmlFor:"add-project-path",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:l("sidebar_projectPath")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("input",{id:"add-project-path",ref:a,value:s,onChange:e=>{d(e.target.value),u(null)},onKeyDown:e=>{"Escape"!==e.key||p||(e.preventDefault(),E())},placeholder:"/path/to/project","aria-label":l("sidebar_projectPath"),autoComplete:"off",spellCheck:!1,style:{flex:1,minWidth:0,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,n.jsx)(eL,{disabled:v||!s.trim(),onClick:()=>void M(s.trim()),children:l(v?"sidebar_browseLoading":"sidebar_browseGo")}),_&&(0,n.jsx)(eL,{onClick:()=>void W(),children:l("sidebar_selectDirectory")})]}),w&&(0,n.jsxs)("div",{style:{marginTop:10},children:[v&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:l("sidebar_browseLoading")}),!v&&b&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:l("sidebar_browseMissing")}),!v&&!b&&x&&(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,marginBottom:6,color:x.isRepo?"var(--text-muted)":"var(--text-dim)"},children:x.isRepo?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{color:"var(--accent)",fontWeight:600},children:l("sidebar_browseGitRepo")}),x.branch&&(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10.5},children:x.branch})]}):(0,n.jsx)("span",{children:l("sidebar_browseNotGit")})}),!v&&!b&&(0,n.jsxs)("div",{style:{maxHeight:150,overflowY:"auto",overflowX:"hidden",border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:4},children:[S&&(0,n.jsx)("button",{type:"button",disabled:v,onClick:()=>{M(S)},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===f.length?(0,n.jsx)("div",{style:{padding:"6px 8px",fontSize:11,color:"var(--text-dim)"},children:l("sidebar_browseEmpty")}):f.map(e=>(0,n.jsxs)("button",{type:"button",disabled:v,onClick:()=>{M(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,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10.5},children:"▸"}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]})]}),c&&(0,n.jsx)("div",{role:"alert",style:{marginTop:8,color:"var(--status-danger)",fontSize:12,lineHeight:1.45,overflowWrap:"anywhere"},children:c}),(0,n.jsxs)("div",{style:{marginTop:14,paddingTop:12,borderTop:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,n.jsx)("span",{style:{fontSize:11.5,color:"var(--text-dim)"},children:l("sidebar_noExistingDirectory")}),(0,n.jsxs)(eL,{disabled:p,onClick:()=>void L(),children:[(0,n.jsx)(e_,{size:13}),l("sidebar_createDefaultDirectory")]})]})]})})}function e7({cwd:e,tab:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(null),[a,s]=(0,i.useState)(null),[d,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),[g,x]=(0,i.useState)(!1),[m,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(""),[j,w]=(0,i.useState)(""),k=(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 r=await t.json();l(r.rulesContent??""),s(Array.isArray(r.skills)?r.skills:[])}catch(e){f(e instanceof Error?e.message:String(e))}finally{c(!1)}},[e]);(0,i.useEffect)(()=>{k()},[k]);let S=(0,i.useCallback)(async t=>{let r=await fetch("/api/project-assets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})});if(!r.ok)throw Error((await r.json().catch(()=>({}))).error??`HTTP ${r.status}`);return!0},[e]),C=(0,i.useCallback)(async()=>{if(null!==o){p(!0),f(null),x(!1);try{await S({kind:"rules",content:o}),x(!0),window.setTimeout(()=>x(!1),2e3)}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[o,S]),_=(0,i.useCallback)(async()=>{let e=j.trim();if(e){p(!0),f(null);try{await S({kind:"skill",action:"create",name:e}),w(""),await k()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}}},[j,S,k]),R=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"update",name:e,content:y}),v(null),await k()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[y,S,k]),I=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"toggle",name:e.name,enabled:!e.enabled}),await k()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,k]),T=(0,i.useCallback)(async e=>{p(!0),f(null);try{await S({kind:"skill",action:"delete",name:e}),await k()}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[S,k]),M={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,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:r("common_loading")}):(0,n.jsxs)("div",{children:[h&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10,whiteSpace:"pre-wrap"},children:h}),"rules"===t?(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:8,fontFamily:"var(--font-mono)"},children:[e,"/AGENTS.md"]}),(0,n.jsx)("textarea",{value:o??"",onChange:e=>l(e.target.value),spellCheck:!1,"aria-label":r("projectAssets_rules"),style:M}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:10},children:[(0,n.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?r("common_saving"):r("common_save")}),g&&(0,n.jsx)("span",{style:{fontSize:12,color:"var(--accent)"},children:r("common_saved")})]})]}):(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12},children:[(0,n.jsx)("input",{type:"text",value:j,onChange:e=>w(e.target.value),placeholder:r("projectAssets_newSkillName"),"aria-label":r("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,n.jsx)("button",{type:"button",onClick:()=>void _(),disabled:u||!j.trim(),style:{minHeight:30,padding:"0 12px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:u||!j.trim()?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:u||!j.trim()?.6:1},children:r("projectAssets_addSkill")})]}),a?.length===0?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:r("projectAssets_noSkills")}):(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:(a??[]).map(e=>(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,n.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,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:()=>void I(e),disabled:u}),r("projectAssets_enabled")]}),(0,n.jsx)("button",{type:"button",onClick:()=>{v(e.name),b(e.content)},style:{fontSize:11,color:"var(--accent)",cursor:"pointer",background:"none",border:"none"},children:r("projectAssets_edit")}),(0,n.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:r("common_remove")})]}),m===e.name&&(0,n.jsxs)("div",{style:{padding:8},children:[(0,n.jsx)("textarea",{value:y,onChange:e=>b(e.target.value),spellCheck:!1,"aria-label":`${e.name} SKILL.md`,style:M}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,marginTop:8},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void R(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?r("common_saving"):r("common_save")}),(0,n.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:r("common_cancel")})]})]})]},e.name))})]})]})}function te({projectRoot:e,initialName:t,onClose:r,onSaveName:o}){let{t:l}=(0,es.s9)(),a=(0,i.useRef)(null),[s,d]=(0,i.useState)("name"),[c,u]=(0,i.useState)(t);return(0,i.useEffect)(()=>{null!==e&&(d("name"),u(t))},[e,t]),(0,n.jsxs)(eY,{open:null!==e,onClose:r,title:l("sidebar_editProject"),width:720,height:620,closeLabel:l("dialog_close"),description:e?l("sidebar_editProjectDescription",{path:e}):void 0,children:[(0,n.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,n.jsx)("button",{type:"button",onClick:()=>d(e),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:s===e?"var(--bg-selected)":"var(--bg-panel)",color:s===e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:s===e?600:400},"aria-current":s===e?"page":void 0,children:t},e))}),"name"===s?(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=c.trim();t&&o(t)},children:[(0,n.jsx)("label",{htmlFor:"edit-project-name",style:{display:"block",fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:6},children:l("sidebar_projectName")}),(0,n.jsx)("input",{id:"edit-project-name",ref:a,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,n.jsx)("div",{style:{marginTop:6,fontSize:11.5,color:"var(--status-danger)"},children:l("sidebar_projectNameRequired")}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,marginTop:14},children:[(0,n.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,n.jsx)("button",{type:"button",onClick:r,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,n.jsx)(e7,{cwd:e,tab:"skills"===s?"skills":"rules"})]})}async function tt(e,t,r){try{let n=await r(e,t),i=await n.json().catch(()=>({}));return{ok:n.ok,status:n.status,error:i.error}}catch(e){return{ok:!1,status:0,error:e instanceof Error?e.message:String(e)}}}function tr(e){if(!e.archivedAt)return-1/0;let t=Date.parse(e.archivedAt);return Number.isNaN(t)?-1/0:t}function tn(e,t=60){let r=e.name?.trim()||e.firstMessage.trim()||e.id;return r.length<=t?r:`${r.slice(0,t)}…`}function ti(e){return e.ok?"other":409===e.status?"running":403===e.status?"readOnly":0===e.status?"network":"other"}function to({sessions:e,count:t,homeDir:r,loading:o,onRefresh:l,onBack:a}){let{t:s}=(0,es.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 x=(0,i.useCallback)(e=>{let t=ti(e);return"running"===t?s("archive_runningConflict"):"readOnly"===t?s("archive_readOnlyForbidden"):"network"===t?s("archive_networkError"):e.error??s("archive_unknownError")},[s]),m=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tt(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(s("archive_restoreFailed",{error:x(t)}));l()}catch(e){g(s("archive_restoreFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,s,x]),v=(0,i.useCallback)(async e=>{if(null===c){u(e.id),g(null);try{let t=await function(e,t=fetch){return tt(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"},t)}(e.id);if(!t.ok)return void g(s("archive_deleteFailed",{error:x(t)}));h({sessionId:null}),l()}catch(e){g(s("archive_deleteFailed",{error:e instanceof Error?e.message:String(e)}))}finally{u(null)}}},[c,l,s,x]),y=[...e].sort((e,t)=>{let r=tr(e),n=tr(t);return r===n?0:r===-1/0?1:n===-1/0?-1:n-r}),b=p.sessionId?y.find(e=>e.id===p.sessionId)??null:null,j=b?tn(b):"",w=!!b&&c===b.id;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("button",{type:"button",onClick:a,"data-tooltip":s("archive_back"),"aria-label":s("archive_back"),className:"sidebar-icon-btn",style:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,n.jsx)(eR,{size:14})}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,fontSize:12.5,fontWeight:600,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s("archive_viewTitle")}),(0,n.jsx)("span",{title:s("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,n.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,n.jsxs)("div",{style:{flex:"1 1 auto",overflowY:"auto",padding:"4px 0",minHeight:80},children:[o&&0===y.length&&(0,n.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:s("sidebar_loading")}),!o&&0===y.length&&(0,n.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[s("archive_empty"),(0,n.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:s("archive_emptyHint")})]}),y.map(e=>{let t=tn(e),i=c===e.id;return(0,n.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,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{title:t,style:{fontSize:12,fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4},children:t}),(0,n.jsxs)("div",{style:{fontSize:10.5,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:1.4,marginTop:1},children:[d(e.cwd,r)," \xb7 ",s("archive_archivedAt",{date:ec(e.archivedAt??e.modified,s)})]})]}),(0,n.jsx)("button",{type:"button",disabled:i,onClick:()=>void m(e),title:s("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?s("archive_restoring"):s("archive_restore")}),(0,n.jsx)("button",{type:"button",disabled:i,onClick:()=>h({sessionId:e.id}),title:s("archive_delete"),"aria-label":s("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,n.jsx)(eM,{size:13})})]},e.id)})]}),(0,n.jsx)(eY,{open:null!==b,onClose:()=>{w||h({sessionId:null})},title:s("archive_delete"),description:b?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{fontWeight:600,color:"var(--text)",marginBottom:4},children:j}),(0,n.jsx)("div",{children:s("archive_deleteConfirm")})]}):s("archive_deleteConfirm"),width:400,closeLabel:s("dialog_close"),closeOnBackdrop:!w,closeOnEsc:!w,actions:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eL,{disabled:w,onClick:()=>h({sessionId:null}),children:s("archive_deleteCancel")}),(0,n.jsx)(eL,{danger:!0,disabled:w||!b,onClick:()=>{b&&v(b)},children:w?s("archive_deleting"):s("archive_deleteConfirmButton")})]})})]})}function tl({selectedSessionId:e,onSelectSession:t,onNewSession:r,initialSessionId:o,skipInitialProjectSelection:l,onInitialRestoreDone:u,refreshKey:p,onSessionDeleted:h,onProjectAdded:w,optimisticSessions:k,clientRunningSessionId:S}){let{t:C}=(0,es.s9)(),[_,R]=(0,i.useState)([]),[I,M]=(0,i.useState)(!1),E=(0,i.useRef)([]),[z,P]=(0,i.useState)(()=>new Map),[$,H]=(0,i.useState)(()=>new Set),[D,F]=(0,i.useState)(()=>new Set),[N,B]=(0,i.useState)(!0),[O,U]=(0,i.useState)(null),q=(0,i.useRef)(0),{cwd:K,projectRoot:V}=ea(),{setIdentity:J,getIdentitySnapshot:Q}=el(),[er,ei]=(0,i.useState)(""),[eo,ec]=(0,i.useState)(!1),[eu,eh]=(0,i.useState)(null),[ex,ev]=(0,i.useState)(null),eC=(0,i.useRef)(!0),e_=(0,i.useRef)(null),[eI,eT]=(0,i.useState)(!1),[eM,eE]=(0,i.useState)(()=>new Set),ez=(0,i.useMemo)(()=>{if(!S||eM.has(S))return eM;let e=new Set(eM);return e.add(S),e},[eM,S]),[eL,eP]=(0,i.useState)([]),[e$,eH]=(0,i.useState)(0),[eD,eF]=(0,i.useState)(!1),[eB,eO]=(0,i.useState)(null),[eU,eq]=(0,i.useState)(null),[eK,eV]=(0,i.useState)(()=>new Set),eJ=(0,i.useRef)(null),[eY,eZ]=(0,i.useState)(()=>Date.now()),[eX,eG]=(0,i.useState)(()=>new Map),eQ=ez.size>0||eK.size>0;(0,i.useEffect)(()=>{if(!eQ)return;let e=setInterval(()=>eZ(Date.now()),1e3);return()=>clearInterval(e)},[eQ]),(0,i.useEffect)(()=>{let e=Date.now();eZ(e),eG(t=>(function(e,t,r){let n=new Map,i=e.size!==t.length;for(let o of t){let t=e.get(o);void 0!==t?n.set(o,t):(n.set(o,r),i=!0)}return i?n:e})(t,[...ez,...eK],e))},[ez,eK]);let[e0,e1]=(0,i.useState)(()=>{let e=(0,ed.Uj)();return(0,ed.mD)([...e])}),e2=(0,i.useRef)(!1),e4=(0,i.useMemo)(()=>{let e=(0,ed.hA)(e0);for(let t of ez)e.delete(t);return e},[e0,ez]),[e5,e7]=(0,i.useState)(""),[tr,tn]=(0,i.useState)(!1),[ta,ts]=(0,i.useState)("meta"),[td,tc]=(0,i.useState)([]),[tu,tp]=(0,i.useState)([]),[th,tf]=(0,i.useState)(null),[tg,tx]=(0,i.useState)(!1),[tm,tv]=(0,i.useState)(null),ty=(0,i.useRef)(0),tb=(0,i.useRef)(null),[tj,tw]=(0,i.useState)(!1),[tk,tS]=(0,i.useState)(null),tC=(0,i.useRef)(null),t_=(0,i.useRef)(null),tR=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!tj||!tR.current)return;let e=requestAnimationFrame(()=>{let e=t_.current,t=tR.current;if(!e||!t)return;let r=e.offsetHeight;t.bottom+4+r<=window.innerHeight||tS(e=>e?{...e,top:Math.max(8,t.top-r-4)}:e)});return()=>cancelAnimationFrame(e)},[tj]);let[tI,tT]=(0,i.useState)(()=>W()),[tM,tE]=(0,i.useState)({}),[tz,tW]=(0,i.useState)(()=>new Set),tL=(0,i.useRef)(new Set),tA=(0,i.useRef)(null),tP=(0,i.useRef)(!1),t$=(0,i.useRef)(null),tH=(0,i.useRef)(new Set),tD=(0,i.useRef)(new Set),tF=(0,i.useRef)(!1),tN=(0,i.useRef)(0),tB=(0,i.useRef)(0),tO=(0,i.useRef)(null),tU=(0,i.useCallback)(e=>{tN.current+=1,eE(new Set(e))},[]),tq=(0,i.useCallback)(e=>{tT(t=>{let r=e(t);if(r!==t){let e={...r,sidebarWidth:W().sidebarWidth};L(e),(0,X.dM)("sidebarUi",A(e))}return r})},[]),tK=(0,X.Fd)(),tV=(0,i.useMemo)(()=>{let e=tK.projectAliases,t="object"!=typeof e||null===e||Array.isArray(e)?{}:e;return{...tI.projectAliases,...t}},[tI.projectAliases,tK]);(0,i.useEffect)(()=>{let e=tK.sidebarUi;void 0!==e&&tT(t=>{let r=function(e,t){if("object"!=typeof t||null===t||Array.isArray(t))return e;let r=T({...e,...t});return{...e,displayMode:r.displayMode,collapsedProjectRoots:r.collapsedProjectRoots,collapsedWorktreePaths:r.collapsedWorktreePaths,closedProjectRoots:r.closedProjectRoots,addedProjectRoots:r.addedProjectRoots,showRecentSessions:r.showRecentSessions,pinnedSessionIds:r.pinnedSessionIds,projectSort:r.projectSort,projectOrder:r.projectOrder}}(t,e);return JSON.stringify(A(t))===JSON.stringify(A(r))?t:(L({...r,sidebarWidth:W().sidebarWidth}),r)})},[tK]);let tJ=tI.displayMode,tY=tI.showRecentSessions,[tZ,tX]=(0,i.useState)(5),tG=(0,i.useMemo)(()=>new Set(tI.collapsedProjectRoots),[tI.collapsedProjectRoots]),tQ=(0,i.useMemo)(()=>new Set(tI.collapsedWorktreePaths),[tI.collapsedWorktreePaths]),t0=(0,i.useMemo)(()=>new Set(tI.closedProjectRoots),[tI.closedProjectRoots]),t1=(0,i.useRef)($);t1.current=$;let t2=(0,i.useCallback)(async(e=!1)=>{let t=++q.current;if(e&&0===E.current.length){let e=Y();if(e&&e.length>0){if(!eC.current||!et(t,q.current))return;R(e),E.current=e,B(!1)}}try{e&&0===E.current.length&&B(!0);let r=await fetch("/api/sessions");if(!eC.current||!et(t,q.current))return;if(!r.ok)throw Error(`HTTP ${r.status}`);let n=await r.json();if(!eC.current||!et(t,q.current))return;R(n.sessions),E.current=n.sessions,M(!0),Z(n.sessions),eP(n.archivedSessions??[]),eH(n.archivedCount??0),H(e=>(function(e,t){if(0===e.size)return e;let r=new Set(t.map(e=>e.id)),n=!1,i=new Set;for(let t of e){if(r.has(t)){n=!0;continue}i.add(t)}return n?i:e})(e,n.sessions)),P(e=>{if(0===e.size)return e;let t=new Map(e),r=!1;for(let e of n.sessions)t.has(e.id)&&(t.delete(e.id),r=!0);return r?t:e}),tF.current||tU(n.runningSessionIds??[]),n.runningStartedAt&&eG(e=>{let t=new Map(e),r=!1;for(let[e,i]of Object.entries(n.runningStartedAt??{}))t.has(e)||"number"!=typeof i||(t.set(e,i),r=!0);return r?t:e});let i=new Set(n.sessions.map(e=>e.id)),o=t1.current;e1(e=>{let t=new Set([...i,...o]);return(0,ed.v7)(e,t)}),U(null),e||(eT(!0),tO.current&&clearTimeout(tO.current),tO.current=setTimeout(()=>{eC.current&&eT(!1)},2e3))}catch(e){if(!eC.current||!et(t,q.current))return;U(String(e)),M(!0)}finally{eC.current&&et(t,q.current)&&e&&B(!1)}},[tU]),t4=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!t4.current;t4.current=!0,t2(e)},[t2,p]),(0,i.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&t2(!1)};return document.addEventListener("visibilitychange",e),window.addEventListener("focus",e),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("focus",e)}},[t2]),(0,i.useEffect)(()=>{let e=new Set((k??[]).map(e=>e.id).filter(Boolean));if(P(t=>{let r=null;for(let n of t.keys())!n.startsWith("pending:")||e.has(n)||(r||(r=new Map(t)),r.delete(n));return r??t}),H(t=>{let r=null;for(let n of t)!n.startsWith("pending:")||e.has(n)||(r||(r=new Set(t)),r.delete(n));return r??t}),!k||0===k.length)return;let t=k.filter(e=>e?.id);0!==t.length&&(F(e=>{let r=null;for(let n of t)e.has(n.id)&&(r||(r=new Set(e)),r.delete(n.id));return r??e}),H(e=>{let r=null;for(let n of t)e.has(n.id)||(r||(r=new Set(e)),r.add(n.id));return r??e}),P(e=>{let r=null;for(let n of t)e.get(n.id)!==n&&(r||(r=new Map(e)),r.set(n.id,n));return r??e}))},[k]);let t6=(0,i.useMemo)(()=>(function(e){let{serverSessions:t,pendingSessions:r,pendingIds:n=new Set(r.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 r)!(i?.has(e.id)||o.has(e.id))&&n.has(e.id)&&o.set(e.id,e);return[...o.values()].sort(ee)})({serverSessions:_,pendingSessions:[...z.values()],pendingIds:$,deletedIds:D}),[_,z,$,D]),{worktreeSnapshots:t5,worktreeSnapshotsRef:t8,worktreeMetadata:t3,setWtRefreshKey:t9,commitWorktreeSnapshots:t7}=function({allSessions:e,selectedCwd:t,selectedProjectRoot:r,setIdentity:n,getIdentitySnapshot:o,mountedRef:l}){let[a,d]=(0,i.useState)({}),c=(0,i.useRef)({}),[u,p]=(0,i.useState)({}),h=(0,i.useRef)(new Set),f=(0,i.useRef)(new Map),[g,x]=(0,i.useState)(0),m=(0,i.useCallback)(e=>{d(t=>{let r=e(t);return c.current=r,r})},[]);(0,i.useEffect)(()=>()=>{f.current.clear()},[]);let v=(0,i.useCallback)(async e=>{if(h.current.has(e))return;let t=`${Date.now()}:${Math.random()}`;h.current.add(e),f.current.set(e,t),m(t=>en(t,e,{status:"loading"}));try{var r;let i=await fetch(`/api/worktrees?cwd=${encodeURIComponent(e)}`),a=await i.json().catch(()=>({}));if(!i.ok||a.error||!a.projectRoot)throw Error(a.error??`HTTP ${i.status}`);if(!l.current||f.current.get(e)!==t)return;let s=a.projectRoot,d=a.worktrees??[];m(t=>s===e?en(t,e,{status:"ready",worktrees:d}):en(function(e,t){if(!(t in e))return e;let r={...e};return delete r[t],r}(t,e),s,{status:"ready",worktrees:d})),p(t=>{let r={isGit:a.isGit??!1,isTopLevel:a.isTopLevel??!1};return s===e?{...t,[e]:r}:{...t,[s]:r}});let c=o();(r={snapshotCwd:c.cwd,snapshotProjectRoot:c.projectRoot,requestedRoot:e,canonicalRoot:s}).snapshotCwd&&(r.snapshotCwd===r.requestedRoot||r.snapshotProjectRoot===r.requestedRoot||r.snapshotCwd===r.canonicalRoot||r.snapshotProjectRoot===r.canonicalRoot)&&n({cwd:c.cwd,projectRoot:s,branch:d.find(e=>e.path===c.cwd)?.branch??c.branch,isGit:a.isGit??!1,isTopLevel:a.isTopLevel??!1,status:"ready",error:null})}catch(r){if(!l.current||f.current.get(e)!==t)return;m(t=>en(t,e,{status:"error",error:r instanceof Error?r.message:String(r)}))}finally{f.current.get(e)===t&&(f.current.delete(e),h.current.delete(e))}},[m,o,n,l]),y=(0,i.useMemo)(()=>{var n,i,o;return n=s(e),i=t,(o=r)?n.includes(o)?n:[o,...n]:i&&!n.includes(i)?[i,...n]:n},[e,t,r]),b=(0,i.useRef)(new Map);return(0,i.useEffect)(()=>{let e=`wt:${Math.max(0,Math.floor(g))}`,t=y.filter(t=>b.current.get(t)!==e);for(let r of t)b.current.set(r,e);let r=!1;return Promise.all(Array.from({length:Math.min(3,t.length)},async()=>{for(;!r;){let e=t.shift();if(!e)return;await v(e)}})),()=>{r=!0}},[y,g,v]),{worktreeSnapshots:a,worktreeSnapshotsRef:c,worktreeMetadata:u,wtRefreshKey:g,setWtRefreshKey:x,commitWorktreeSnapshots:m,fetchProjectWorktrees:v,knownProjectRoots:y}}({allSessions:t6,selectedCwd:K,selectedProjectRoot:V,setIdentity:J,getIdentitySnapshot:Q,mountedRef:eC});(0,i.useEffect)(()=>{let e=(0,X.b3)("unreadSessionState"),t=(0,X.b3)("unreadSessionIds");if(void 0===e&&!Array.isArray(t))return;e2.current=!0;let r=(0,ed.zD)((0,ed.mD)(e),(0,ed.mD)(t));e1(e=>(0,ed.zD)(e,r))},[tK]),(0,i.useEffect)(()=>{let e=(0,ed.hA)(e0);(0,ed.Xb)(e),e2.current&&((0,X.dM)("unreadSessionState",e0),(0,X.dM)("unreadSessionIds",[...e]),(0,X.qs)())},[e0]),(0,i.useEffect)(()=>{let e=new EventSource("/api/agent/running/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);"running"===t.type&&(tF.current=!0,tU((t.runningSessionIds??[]).filter(e=>"string"==typeof e)))}catch{}},()=>e.close()},[tU]),(0,i.useEffect)(()=>{let e=()=>{if("visible"!==document.visibilityState)return;let e=++tB.current,t=tN.current;fetch("/api/agent/running",{cache:"no-store"}).then(e=>e.json()).then(r=>{!Array.isArray(r.runningSessionIds)||eC.current&&(0,ed._i)(t,tN.current,e,tB.current)&&(tF.current=!0,tU(r.runningSessionIds.filter(e=>"string"==typeof e)))}).catch(()=>void 0)};return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[tU]);let re=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/subagent-runs?limit=50");if(!e.ok)return;let t=((await e.json()).runs??[]).filter(e=>"running"===e.state||"queued"===e.state||"paused"===e.state),r=new Set;for(let e of t)for(let t of e.steps??[])t.sessionId&&r.add(t.sessionId);let n=new Set;if(r.size>0)for(let e of E.current)e.subagent?.parentSessionId&&r.has(e.id)&&n.add(e.subagent.parentSessionId);eV(new Set([...r,...n]))}catch{}},[]);(0,i.useEffect)(()=>(re(),eJ.current=setInterval(()=>void re(),3e4),()=>{eJ.current&&clearInterval(eJ.current)}),[re]),(0,i.useEffect)(()=>{eI&&re()},[eI,re]),(0,i.useEffect)(()=>{let t=tH.current,r=tD.current,n=[...ez].filter(e=>!r.has(e));if(e1(r=>(0,ed.du)(r,t,eM,e,new Date().toISOString())),n.length>0){let e=new Date().toISOString();R(t=>{let r=!1,i=t.map(t=>!n.includes(t.id)||t.modified>=e?t:(r=!0,{...t,modified:e}));if(!r)return t;let o=[...i].sort((e,t)=>e.modified<t.modified?1:e.modified>t.modified?-1:0);return E.current=o,Z(o),o})}tH.current=new Set(eM),tD.current=new Set(ez)},[ez,eM,e]);let rt=(0,i.useRef)(new Set);(0,i.useEffect)(()=>{let e=rt.current,t=[...eM].filter(t=>!e.has(t));rt.current=new Set(eM),t.length>0&&t2(!1)},[eM,t2]),(0,i.useEffect)(()=>{e&&e1(t=>(0,ed.AH)(t,e,new Date().toISOString()))},[e]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&ei(e.home)}).catch(()=>{})},[]);let rr=(0,i.useRef)(!1);(0,i.useEffect)(()=>()=>{eC.current=!1},[]);let rn=(0,i.useCallback)(e=>{if(!e)return null;if(K===e&&V)return V;for(let[t,r]of Object.entries(t8.current))if(r.worktrees.some(t=>t.path===e))return t;let t=t6.find(t=>t.cwd===e);return t?.projectRoot??e},[K,V,t6]),ri=(0,i.useCallback)((e,t)=>{let r=null===e?null:t??rn(e)??e;J({cwd:e,projectRoot:r,status:e?"ready":"idle",error:null})},[rn,J]),ro=V??rn(K),{wtNewForProject:rl,setWtNewForProject:ra,wtNewBranch:rs,setWtNewBranch:rd,wtError:rc,setWtError:ru,wtErrorRoot:rp,setWtErrorRoot:rh,wtBusy:rf,wtConfirmRemove:rg,setWtConfirmRemove:rx,handleCreateWorktree:rm,handleRemoveWorktree:rv}=function({selectedCwd:e,selectCwd:t,commitWorktreeSnapshots:r,setWtRefreshKey:n}){let[o,l]=(0,i.useState)(null),[a,s]=(0,i.useState)(""),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null);(0,i.useEffect)(()=>{l(null),s(""),c(null),p(null),x(null)},[e]);let m=(0,i.useCallback)(async()=>{let e=a.trim();if(e&&!h&&o){f(!0),c(null),p(null);try{let i=await fetch("/api/worktrees",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:o,branch:e})}),a=await i.json().catch(()=>({}));if(!i.ok||a.error||!a.path){c(a.error??`HTTP ${i.status}`),p(o);return}l(null),s(""),r(t=>en(t,o,{status:"ready",worktrees:[...t[o]?.worktrees??[],{path:a.path,branch:e,isMain:!1}]})),t(a.path,o),n(e=>e+1)}catch(e){c(e instanceof Error?e.message:String(e)),p(o)}finally{f(!1)}}},[o,a,h,r,t,n]),v=(0,i.useCallback)(async(r,i,o)=>{if(!h){f(!0),c(null),p(null);try{let l=await fetch("/api/worktrees",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,path:i,force:o})}),a=await l.json().catch(()=>({}));if(!l.ok){if(a.dirty&&!o)return void x(i);c(a.error??`HTTP ${l.status}`),p(r);return}x(null),e===i&&t(r,r),n(e=>e+1)}catch(e){c(e instanceof Error?e.message:String(e)),p(r)}finally{f(!1)}}},[h,e,t,n]);return{wtNewForProject:o,setWtNewForProject:l,wtNewBranch:a,setWtNewBranch:s,wtError:d,setWtError:c,wtErrorRoot:u,setWtErrorRoot:p,wtBusy:h,wtConfirmRemove:g,setWtConfirmRemove:x,handleCreateWorktree:m,handleRemoveWorktree:v}}({selectedCwd:K,selectCwd:(e,t)=>ri(e,t),commitWorktreeSnapshots:t7,setWtRefreshKey:t9});(0,i.useEffect)(()=>{if(0!==t6.length&&!l){if(o&&!rr.current){let e=t6.find(e=>e.id===o);if(e){rr.current=!0,t(e,!0);return}if(!I)return;rr.current=!0,u?.()}if(null===K){let e=s(t6).find(e=>!t0.has(e));e&&ri(e)}}},[t6,K,o,l,t,u,ri,t0,I]);let ry=(0,i.useCallback)(()=>{ec(!1)},[]),rb=(0,i.useCallback)(e=>{tq(t=>t.closedProjectRoots.includes(e)?{...t,closedProjectRoots:t.closedProjectRoots.filter(t=>t!==e)}:t)},[tq]),rj=(0,i.useCallback)((e,t)=>{tq(e=>e.addedProjectRoots.includes(t)?e:{...e,addedProjectRoots:[...e.addedProjectRoots,t]}),rb(t),ry(),w?.(t)},[tq,rb,ry,w]),rw=(0,i.useCallback)(()=>{ec(!0)},[]);(0,i.useEffect)(()=>{if(!tj)return;let e=e=>{!tC.current||tC.current.contains(e.target)||t_.current?.contains(e.target)||tw(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[tj]);let rk=(0,i.useCallback)(e=>{t(e)},[t]),rS=(0,i.useCallback)(e=>{tq(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),F(t=>{let r=new Set(t);return r.add(e),r}),H(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r}),P(t=>{if(!t.has(e))return t;let r=new Map(t);return r.delete(e),r}),h?.(e),t2()},[h,t2,tq]),rC=(0,i.useCallback)(async e=>{if(null===eB){eO(e),eq(null);try{let t=await function(e,t=fetch){return tt(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"POST"},t)}(e);if(!t.ok){let e=ti(t);eq("running"===e?C("archive_runningConflict"):"readOnly"===e?C("archive_readOnlyForbidden"):"network"===e?C("archive_networkError"):t.error??C("archive_unknownError"));return}tq(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:t),t2()}catch(e){eq(e instanceof Error?e.message:String(e))}finally{eO(null)}}},[eB,t2,C,tq]),r_=(0,i.useCallback)(()=>{eF(e=>(e||eq(null),!e))},[]),rR=(0,i.useCallback)(e=>{tq(t=>t.showRecentSessions===e?t:{...t,showRecentSessions:e})},[tq]),rI=(0,i.useMemo)(()=>new Set(tI.pinnedSessionIds),[tI.pinnedSessionIds]),rT=(0,i.useMemo)(()=>(function(e){let{sessions:t,pinnedSessionIds:r,closedProjectRoots:n}=e,i=new Map;for(let e of t){if(e.subagent)continue;let t=e.projectRoot??e.cwd;t&&n?.has(t)||i.set(e.id,e)}let o=[],l=new Set;for(let e of r){let t=i.get(e);t&&!l.has(e)&&(l.add(e),o.push(t))}return o})({sessions:t6,pinnedSessionIds:tI.pinnedSessionIds,closedProjectRoots:t0}),[t6,tI.pinnedSessionIds,t0]),rM=(0,i.useCallback)(e=>{tq(t=>t.pinnedSessionIds.includes(e)?{...t,pinnedSessionIds:t.pinnedSessionIds.filter(t=>t!==e)}:{...t,pinnedSessionIds:[e,...t.pinnedSessionIds]})},[tq]),rE=(0,i.useMemo)(()=>(function(e){let{sessions:t,closedProjectRoots:r,excludeIds:n,limit:i=20}=e,o=Math.max(0,Math.floor(i));return t.filter(e=>{if(e.subagent||n?.has(e.id))return!1;let t=e.projectRoot??e.cwd;return!(t&&r?.has(t))}).slice().sort(ee).slice(0,o)})({sessions:t6,closedProjectRoots:t0,excludeIds:rI,limit:20}),[t6,t0,rI]);(0,i.useEffect)(()=>{tX(e=>0===rE.length?5:Math.min(Math.max(e,5),rE.length))},[rE.length]);let rz=(0,i.useCallback)((e=K)=>{e&&(ri(e,rn(e)),r?.(e))},[K,r,ri,rn]),rW=(0,i.useCallback)(()=>{e7(""),tc([]),tp([]),tf(null),tv(null),tx(!1),ty.current+=1},[]),rL=(0,i.useCallback)(()=>{tr?(tn(!1),rW()):(tn(!0),setTimeout(()=>tb.current?.focus(),0))},[tr,rW]);(0,i.useEffect)(()=>{if(!tr||"fulltext"!==ta)return void tx(!1);let e=e5.trim();if(!e){tc([]),tp([]),tf(null),tv(null),tx(!1);return}let t=++ty.current;tx(!0),tv(null);let r=setTimeout(()=>{(async()=>{try{let r=await fetch(`/api/sessions/search?q=${encodeURIComponent(e)}&limit=40`),n=await r.json().catch(()=>({}));if(t!==ty.current)return;if(!r.ok||n.error){tv(n.error??`HTTP ${r.status}`),tc([]),tp([]),tf(null);return}tc(n.hits??[]),tp(n.sessionIds??[]),tf(n.source??null)}catch(e){if(t!==ty.current)return;tv(e instanceof Error?e.message:String(e)),tc([]),tp([]),tf(null)}finally{t===ty.current&&tx(!1)}})()},280);return()=>clearTimeout(r)},[tr,ta,e5]);let rA=(0,i.useMemo)(()=>Object.fromEntries(Object.entries(t5).map(([e,t])=>[e,t.worktrees])),[t5]),rP=(0,i.useMemo)(()=>(function(e,t={}){let{selectedCwd:r=null,selectedProjectRoot:n=null,knownWorktrees:i=[],knownWorktreesByProject:o={}}=t,l=new Map;for(let t of e){let e=t.projectRoot??t.cwd,r=l.get(e);if(r||(r={main:[],worktrees:new Map},l.set(e,r)),t.cwd===e)r.main.push(t);else{let e=r.worktrees.get(t.cwd);e||(e={sessions:[],branch:null},r.worktrees.set(t.cwd,e)),e.sessions.push(t),!e.branch&&t.worktreeBranch&&(e.branch=t.worktreeBranch)}}let a=n??r;for(let[e,t]of Object.entries(a?{...o,[a]:o[a]??i}:o)){let r=l.get(e);for(let n of(r||(r={main:[],worktrees:new Map},l.set(e,r)),t))!n.isMain&&(r.worktrees.has(n.path)||r.worktrees.set(n.path,{sessions:[],branch:n.branch}))}for(let e of(a&&!l.has(a)&&l.set(a,{main:[],worktrees:new Map}),t.addedProjectRoots??[]))l.has(e)||l.set(e,{main:[],worktrees:new Map});let s=[];for(let[e,t]of l){let r=[...t.worktrees.entries()].map(([e,t])=>({path:e,branch:t.branch,tree:f(t.sessions),latestActivity:v(t.sessions)})).sort((e,t)=>e.latestActivity&&t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):e.latestActivity?-1:t.latestActivity?1:e.path.localeCompare(t.path)),n=[...t.main,...t.worktrees.values().flatMap(e=>e.sessions)];s.push({root:e,mainTree:f(t.main),worktrees:r,latestActivity:v(n)})}return s.sort((e,t)=>e.latestActivity||t.latestActivity?e.latestActivity?t.latestActivity?t.latestActivity.localeCompare(e.latestActivity):t.root===a?1:-1:e.root===a?-1:1:e.root.localeCompare(t.root)),s})(t6,{selectedCwd:K,selectedProjectRoot:ro,knownWorktreesByProject:rA,addedProjectRoots:tI.addedProjectRoots}),[t6,K,ro,rA,tI.addedProjectRoots]),r$=(0,i.useMemo)(()=>{let e=new Map,t=r=>{for(let n of r)e.set(n.session.id,n),n.children.length>0&&t(n.children)};for(let e of rP)for(let r of(t(e.mainTree),e.worktrees))t(r.tree);return e},[rP]),rH=(0,i.useMemo)(()=>0===t0.size?rP:rP.filter(e=>!t0.has(e.root)),[rP,t0]),rD=e5.trim().toLowerCase(),rF="fulltext"===ta&&rD.length>0,rN=(0,i.useMemo)(()=>rF?new Set(tu):null,[rF,tu]),rB=rF?tu.length>0||tg||!!tm:rD.length>0,rO=(0,i.useMemo)(()=>(function(e,t){let{mode:r,order:n=[],aliases:i,selectedRoot:o=null}=t,l=[...e];if("az"===r||"za"===r)return l.sort((e,t)=>{let n=y.compare(b(e,i),b(t,i));return"az"===r?n:-n}),l;if("fixed"===r){let e=new Map(n.map((e,t)=>[e,t]));return l.sort((t,r)=>{let n=e.has(t.root)?e.get(t.root):Number.MAX_SAFE_INTEGER,i=e.has(r.root)?e.get(r.root):Number.MAX_SAFE_INTEGER;return n!==i?n-i:r.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})(rH,{mode:tI.projectSort,order:tI.projectOrder,aliases:tV,selectedRoot:ro}),[rH,tI.projectSort,tI.projectOrder,tV,ro]),rU=(0,i.useMemo)(()=>(function(e,t,r,n){let i=null!=n;if(!i&&!t)return e;let o=[];for(let l of e){if(!i){let e=r?.[l.root];if(l.root.toLowerCase().includes(t)||void 0!==e&&e.toLowerCase().includes(t)){o.push(l);continue}}let e=i?j(l.mainTree,n):g(l.mainTree,t),a=[];for(let e of l.worktrees){if(!i&&`${e.branch??""}
2
- ${e.path}`.toLowerCase().includes(t)){a.push(e);continue}let r=i?j(e.tree,n):g(e.tree,t);r.length>0&&a.push({...e,tree:r})}(e.length>0||a.length>0)&&o.push({...l,mainTree:e,worktrees:a})}return o})(rO,rF?"":rD,tV,rN),[rO,rD,tV,rN,rF]),rq=(0,i.useCallback)(e=>{let t=t6.find(t=>t.id===e);t&&rk(t)},[t6,rk]);(0,i.useEffect)(()=>{let e=function(e){let t=[];for(let r of e)for(let e of(t.push(...m(r.mainTree)),r.worktrees))t.push(...m(e.tree));return t}(rP);0!==e.length&&tW(t=>{let r=!1,n=new Set(t);for(let t of e)!tL.current.has(t)&&(n.has(t)||(n.add(t),r=!0));return r?n:t})},[rP]),(0,i.useEffect)(()=>{if(!e)return;let t=function(e,t){for(let r of e){if(r.mainTree.some(e=>e.session.id===t))return{projectRoot:r.root,worktreePath:null,ancestors:[]};let e=x(r.mainTree,t);if(e.length>0)return{projectRoot:r.root,worktreePath:null,ancestors:e};for(let e of r.worktrees){if(e.tree.some(e=>e.session.id===t))return{projectRoot:r.root,worktreePath:e.path,ancestors:[]};let n=x(e.tree,t);if(n.length>0)return{projectRoot:r.root,worktreePath:e.path,ancestors:n}}}return null}(rP,e);if(t&&(tq(e=>{let r=e.collapsedProjectRoots.includes(t.projectRoot),n=null!==t.worktreePath&&e.collapsedWorktreePaths.includes(t.worktreePath);return r||n?{...e,collapsedProjectRoots:r?e.collapsedProjectRoots.filter(e=>e!==t.projectRoot):e.collapsedProjectRoots,collapsedWorktreePaths:n?e.collapsedWorktreePaths.filter(e=>e!==t.worktreePath):e.collapsedWorktreePaths}:e}),t.ancestors.length>0)){for(let e of t.ancestors)tL.current.add(e);tW(e=>{if(!t.ancestors.some(t=>e.has(t)))return e;let r=new Set(e);return t.ancestors.forEach(e=>r.delete(e)),r})}},[e,rP,tq]),(0,i.useLayoutEffect)(()=>{if(!e)return;let t=tA.current;if(!t)return;let r=Array.from(t.querySelectorAll("[data-session-id]")).find(t=>t.dataset.sessionId===e);if(!r)return;let n=!tP.current&&o===e,i=t$.current!==e;t$.current=e;let l=t.getBoundingClientRect(),a=r.getBoundingClientRect(),s=a.top<l.top||a.bottom>l.bottom;(n||i&&s)&&r.scrollIntoView({block:"nearest"}),n&&(tP.current=!0)},[e,o,rU,tG,tQ,tz]);let rK=(0,i.useCallback)(e=>{tL.current.add(e),tW(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),rV=(0,i.useCallback)(e=>{tq(t=>({...t,collapsedProjectRoots:t.collapsedProjectRoots.includes(e)?t.collapsedProjectRoots.filter(t=>t!==e):[...t.collapsedProjectRoots,e]}))},[tq]),rJ=(0,i.useCallback)(e=>{tq(t=>({...t,collapsedWorktreePaths:t.collapsedWorktreePaths.includes(e)?t.collapsedWorktreePaths.filter(t=>t!==e):[...t.collapsedWorktreePaths,e]}))},[tq]),rY=(0,i.useCallback)(e=>{let t;if(eh(null),t=ez instanceof Set?ez:new Set(ez),t6.some(r=>(r.projectRoot??r.cwd)===e&&t.has(r.id)))return void U(C("sidebar_closeProjectRunning"));let n=new Set(tI.closedProjectRoots);if(n.add(e),tq(t=>t.closedProjectRoots.includes(e)?t:{...t,closedProjectRoots:[...t.closedProjectRoots,e]}),ro===e){let t=function(e,t,r){for(let n of e)if(n.root!==t&&!r.has(n.root))return n.root;return null}(rP,e,n);t?ri(t,t):(ri(null),r?.())}},[tI.closedProjectRoots,ro,rP,tq,ri,r,t6,ez,C]),rZ=(0,i.useCallback)(e=>{eh(null),ev(e)},[]),rX=(0,i.useCallback)(e=>{if(!ex)return;let t=e.trim();if(!t)return;ev(null);let r={...tV};t===c(ex)?delete r[ex]:r[ex]=t,tq(e=>({...e,projectAliases:r})),(0,X.dM)("projectAliases",r)},[ex,tV,tq]),rG=(0,i.useCallback)(e=>{tq(t=>t.displayMode===e?t:{...t,displayMode:e})},[tq]),rQ=(0,i.useCallback)(e=>{tq(t=>{if(t.projectSort===e&&"fixed"!==e)return t;let r="fixed"===e?t.projectOrder.length>0?t.projectOrder:rU.map(e=>e.root):t.projectOrder;return{...t,projectSort:e,projectOrder:r}})},[tq,rU]),r0=(0,i.useCallback)((e,t)=>{e&&t&&e!==t&&tq(r=>{let n,i,o,l="fixed"===r.projectSort&&r.projectOrder.length>0?[...r.projectOrder]:rU.map(e=>e.root);for(let e of rU)l.includes(e.root)||l.push(e.root);return l.includes(e)||l.push(e),l.includes(t)||l.push(t),{...r,projectSort:"fixed",projectOrder:(i=(n=[...l]).indexOf(e),o=n.indexOf(t),i<0||o<0||i===o||(n.splice(i,1),n.splice(o,0,e)),n)}})},[tq,rU]),r1=(0,i.useCallback)(()=>{let e=function(e){let t=[],r=[];for(let n of e)for(let e of(t.push(n.root),n.worktrees))r.push(e.path);return{projectRoots:t,worktreePaths:r}}(rH);tq(t=>({...t,collapsedProjectRoots:e.projectRoots,collapsedWorktreePaths:e.worktreePaths}))},[rH,tq]),r2=(0,i.useCallback)(()=>{tq(e=>0===e.collapsedProjectRoots.length&&0===e.collapsedWorktreePaths.length?e:{...e,collapsedProjectRoots:[],collapsedWorktreePaths:[]})},[tq]),r4=(0,i.useCallback)(e=>{let t=t5[e],r=t3[e],n=!!(r?.isGit&&r.isTopLevel),i=n?C("sidebar_createWorktree"):t?.status!=="loading"&&t?r?.isGit?C("sidebar_worktreeOpenRoot"):C("sidebar_worktreeGitOnly"):C("sidebar_checkingWorktree");return{canManage:n,createHint:i,busy:rf}},[t5,t3,rf,C]);return(0,n.jsx)(eN.Provider,{value:{startedAt:eX,now:eY},children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(ef,{}),(0,n.jsxs)("div",{className:"sidebar-toolbar",style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)(eg,{label:C("sidebar_addProject"),onClick:rw,active:eo,children:(0,n.jsx)(em,{size:18})}),(0,n.jsx)(eg,{label:K?C("sidebar_newSessionIn",{project:d(K,er)}):C("sidebar_selectProject"),disabled:!K,onClick:()=>rz(),children:(0,n.jsx)(ew,{size:18})}),(0,n.jsx)(eg,{label:C("sidebar_searchSessions"),active:tr,expanded:tr,onClick:rL,children:(0,n.jsx)(ek,{size:18})}),(0,n.jsx)(eg,{label:C("sidebar_archive"),active:eD,expanded:eD,onClick:r_,children:(0,n.jsx)(ej,{size:18})}),(0,n.jsxs)("div",{ref:tC,style:{position:"relative"},children:[(0,n.jsx)(eg,{label:C("sidebar_displayOptions"),active:tj,expanded:tj,onClick:()=>{let e=!tj;if(tw(e),e){let e=tC.current?.getBoundingClientRect();e&&(tR.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,n.jsx)(eS,{size:18})}),tj&&(0,a.createPortal)((0,n.jsx)(ep,{open:tj,style:{position:"fixed",top:tk?.top??0,right:tk?.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,n.jsxs)("div",{ref:t_,onKeyDown:e=>{"Escape"===e.key&&tw(!1)},children:[(0,n.jsx)(eA,{label:C("sidebar_standard"),checked:"standard"===tJ,onClick:()=>{rG("standard"),tw(!1)}}),(0,n.jsx)(eA,{label:C("sidebar_compact"),checked:"compact"===tJ,onClick:()=>{rG("compact"),tw(!1)}}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,n.jsx)("div",{style:{padding:"6px 10px 2px",fontSize:10,fontWeight:600,color:"var(--text-dim)",letterSpacing:"0.04em"},children:C("sidebar_projectSort")}),(0,n.jsx)(eA,{label:C("sidebar_projectSortRecent"),checked:"recent"===tI.projectSort,onClick:()=>{rQ("recent"),tw(!1)}}),(0,n.jsx)(eA,{label:C("sidebar_projectSortAz"),checked:"az"===tI.projectSort,onClick:()=>{rQ("az"),tw(!1)}}),(0,n.jsx)(eA,{label:C("sidebar_projectSortZa"),checked:"za"===tI.projectSort,onClick:()=>{rQ("za"),tw(!1)}}),(0,n.jsx)(eA,{label:C("sidebar_projectSortFixed"),checked:"fixed"===tI.projectSort,onClick:()=>{rQ("fixed"),tw(!1)}}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,n.jsx)(eA,{label:C("sidebar_collapseAll"),onClick:()=>{r1(),tw(!1)}}),(0,n.jsx)(eA,{label:C("sidebar_expandAll"),onClick:()=>{r2(),tw(!1)}}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"2px 0"}}),(0,n.jsx)(eA,{label:C("sidebar_recentSessions"),checked:tY,onClick:()=>{rR(!tY),tw(!1)}})]})}),document.body)]})]})]}),!eD&&tr&&(0,n.jsxs)("div",{style:{marginTop:8},children:[(0,n.jsxs)("div",{style:{display:"flex",gap:4,marginBottom:6},children:[(0,n.jsx)("button",{type:"button",onClick:()=>ts("meta"),"aria-pressed":"meta"===ta,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"meta"===ta?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:C("sidebar_searchModeMeta")}),(0,n.jsx)("button",{type:"button",onClick:()=>ts("fulltext"),"aria-pressed":"fulltext"===ta,style:{flex:1,height:24,borderRadius:6,border:"1px solid var(--border)",background:"fulltext"===ta?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:C("sidebar_searchModeFulltext")})]}),(0,n.jsxs)("div",{style:{position:"relative"},children:[(0,n.jsx)("span",{style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",color:"var(--text-dim)",pointerEvents:"none",display:"flex"},children:(0,n.jsx)(ek,{size:13})}),(0,n.jsx)("input",{ref:tb,type:"search",value:e5,onChange:e=>e7(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),e5||tn(!1),rW())},placeholder:"fulltext"===ta?C("sidebar_searchPlaceholderFulltext"):C("sidebar_searchPlaceholder"),"aria-label":C("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"}}),e5&&(0,n.jsx)("button",{type:"button",onClick:()=>rW(),"aria-label":C("sidebar_clearSearch"),title:C("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,n.jsx)(eR,{size:13})})]}),"fulltext"===ta&&e5.trim()&&(0,n.jsxs)("div",{style:{marginTop:6,fontSize:10.5,color:"var(--text-dim)",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[tg&&(0,n.jsx)("span",{children:C("sidebar_searchFulltextLoading")}),!tg&&"fts"===th&&(0,n.jsxs)("span",{children:[C("sidebar_searchFulltextSourceFts")," \xb7 ",C("sidebar_searchFulltextHits",{count:td.length})]}),!tg&&"jsonl"===th&&(0,n.jsxs)("span",{children:[C("sidebar_searchFulltextSourceJsonl")," \xb7 ",C("sidebar_searchFulltextHits",{count:td.length})]}),tm&&(0,n.jsx)("span",{style:{color:"var(--status-danger)"},children:tm})]})]})]}),!eD&&tr&&"fulltext"===ta&&td.length>0&&(0,n.jsx)("div",{style:{flex:"0 0 auto",maxHeight:160,overflowY:"auto",overflowX:"hidden",borderBottom:"1px solid var(--border)",padding:"4px 0"},children:td.slice(0,12).map((e,t)=>(0,n.jsxs)("button",{type:"button",onClick:()=>rq(e.sessionId),title:C("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,n.jsxs)("div",{style:{color:"var(--text-dim)",fontSize:10,marginBottom:2},children:[e.role??"message"," \xb7 ",e.sessionId.slice(0,8)]}),(0,n.jsx)("div",{style:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",whiteSpace:"normal"},children:e.snippet})]},`${e.sessionId}-${e.timestamp}-${t}`))}),eD?(0,n.jsx)(to,{sessions:eL,count:e$,homeDir:er,loading:N,onRefresh:t2,onBack:()=>eF(!1)}):(0,n.jsxs)(n.Fragment,{children:[eU&&(0,n.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:eU}),(0,n.jsxs)("div",{ref:tA,style:{flex:"1 1 auto",overflowY:"auto",overflowX:"hidden",padding:"2px 0",minHeight:80},children:[N&&(0,n.jsx)("div",{style:{padding:"16px 14px",color:"var(--text-muted)",fontSize:12},children:C("sidebar_loading")}),O&&(0,n.jsx)("div",{style:{padding:"12px 14px",color:"var(--status-danger)",fontSize:12},children:O}),!N&&!O&&0===rU.length&&(("meta"===ta?rD.length>0:rF&&!tg)?(0,n.jsx)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.55},children:C("sidebar_searchEmpty",{query:e5.trim()})}):(0,n.jsxs)("div",{style:{padding:"18px 14px",color:"var(--text-muted)",fontSize:12,lineHeight:1.7},children:[C("sidebar_noProjects"),(0,n.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:C("sidebar_addProject")})]})),!rB&&rT.length>0&&(0,n.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,n.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,n.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,n.jsx)(eb,{size:13})}),(0,n.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:C("sidebar_pinnedSessions")})]}),rT.map(t=>{let r=r$.get(t.id);return r?(0,n.jsx)(e8,{node:r,selectedSessionId:e,runningSessionIds:ez,subagentRunningIds:eK,unreadSessionIds:e4,onSelectSession:rk,onRenamed:t2,onSessionDeleted:rS,onSessionArchive:rC,isSessionPinned:e=>rI.has(e),onTogglePin:rM,depth:0,collapsedSessionIds:tz,searchActive:rB,onToggleCollapse:rK,displayMode:tJ},t.id):(0,n.jsx)(e3,{session:t,isSelected:t.id===e,isRunning:ez.has(t.id)||eK.has(t.id),isUnread:e4.has(t.id),onClick:()=>rk(t),onRenamed:t2,onDeleted:rS,onArchive:rC,isPinned:rI.has(t.id),onTogglePin:()=>rM(t.id),depth:0,displayMode:tJ},t.id)})]}),!rB&&rE.length>0&&(0,n.jsxs)("div",{style:{paddingBottom:5,borderBottom:"1px solid var(--border)",marginBottom:5},children:[(0,n.jsxs)("div",{"data-sidebar-depth":0,role:"button",tabIndex:0,"aria-expanded":tY,"aria-label":tY?C("sidebar_collapseRecentSessions"):C("sidebar_expandRecentSessions"),onClick:()=>rR(!tY),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),rR(!tY))},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,n.jsx)(eW,{collapsed:!tY,label:tY?C("sidebar_collapseRecentSessions"):C("sidebar_expandRecentSessions"),left:6,onClick:e=>{e.stopPropagation(),rR(!tY)}}),(0,n.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,n.jsx)(ey,{size:13})}),(0,n.jsx)("span",{style:{flex:1,fontSize:12.5,fontWeight:600},children:C("sidebar_recentSessions")})]}),tY&&(0,n.jsxs)("div",{children:[rE.slice(0,tZ).map(t=>{let r=r$.get(t.id);return r?(0,n.jsx)(e8,{node:r,selectedSessionId:e,runningSessionIds:ez,subagentRunningIds:eK,unreadSessionIds:e4,onSelectSession:rk,onRenamed:t2,onSessionDeleted:rS,onSessionArchive:rC,isSessionPinned:e=>rI.has(e),onTogglePin:rM,depth:0,collapsedSessionIds:tz,searchActive:rB,onToggleCollapse:rK,displayMode:tJ},t.id):(0,n.jsx)(e3,{session:t,isSelected:t.id===e,isRunning:ez.has(t.id)||eK.has(t.id),isUnread:e4.has(t.id),onClick:()=>rk(t),onRenamed:t2,onDeleted:rS,onArchive:rC,isPinned:rI.has(t.id),onTogglePin:()=>rM(t.id),depth:0,displayMode:tJ},t.id)}),tZ<rE.length&&(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 8px 5px 28px"},children:(0,n.jsxs)("button",{type:"button",className:"sidebar-pagination-btn",onClick:()=>tX(e=>Math.min(e+5,rE.length)),children:[C("sidebar_showMore"),(0,n.jsxs)("span",{"aria-hidden":"true",children:["+",5]})]})})]})]}),rU.map(t=>(0,n.jsx)(e6,{project:t,homeDir:er,displayMode:tJ,projectAliases:tV,selectedSessionId:e,runningSessionIds:ez,subagentRunningIds:eK,unreadSessionIds:e4,collapsedProjectRoots:tG,collapsedWorktreePaths:tQ,collapsedSessionIds:tz,searchActive:rB,onToggleProject:rV,onToggleWorktree:rJ,onNewSession:rz,onSelectSession:rk,menuOpen:eu===t.root,onMenuOpenChange:e=>eh(e?t.root:null),onEditProject:()=>rZ(t.root),onCloseProject:()=>rY(t.root),onRenamed:t2,onSessionDeleted:rS,onToggleCollapse:rK,groupVisibleCounts:tM,onShowMore:e=>tE(t=>{let r;return r=G(t,e),{...t,[e]:r+5}}),onShowFewer:e=>tE(t=>(function(e,t){if(!(t in e))return e;let r={...e};return delete r[t],r})(t,e)),worktreeActions:r4(t.root),wtNewOpen:rl===t.root,wtNewBranch:rs,wtError:rp===t.root?rc:null,wtConfirmRemove:rg,wtNewInputRef:e_,onStartCreateWorktree:()=>{ra(t.root),ru(null),rh(null),setTimeout(()=>e_.current?.focus(),0)},onWtNewBranchChange:e=>{rd(e),ru(null),rh(null)},onSubmitCreateWorktree:()=>void rm(),onCancelCreateWorktree:()=>{ra(null),rd(""),ru(null),rh(null)},onRequestRemoveWorktree:e=>void rv(t.root,e,!1),onConfirmRemoveWorktree:e=>void rv(t.root,e,!0),onCancelRemoveWorktree:()=>rx(null),onSessionArchive:rC,isSessionPinned:e=>rI.has(e),onTogglePin:rM,onProjectDrop:rB?void 0:r0},t.root))]})]}),(0,n.jsx)(e9,{open:eo,onClose:ry,resolveProjectRoot:e=>rn(e)??e,onAdded:rj}),(0,n.jsx)(te,{projectRoot:ex,initialName:ex?tV[ex]??c(ex):"",onClose:()=>ev(null),onSaveName:rX})]})})}let ta=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,ts=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,td=/\x1B\[([0-9;]*)m/g,tc=/\x1B_pi:c\x07/g,tu=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],tp=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function th(e){return e.replace(tc,"").replace(ta,"")}function tf(e){let t=[],r=0;for(;r<e.length;){if(27===e.charCodeAt(r)){let t=e.slice(r).match(ts);if(t){r+=t[0].length;continue}}let n=e.codePointAt(r);if(void 0===n)break;let i=String.fromCodePoint(n);t.push({start:r,end:r+i.length,char:i}),r+=i.length}return t}function tg(e,t){let r=tf(e)[t];return r?e.slice(0,r.start)+e.slice(r.end):e}function tx(e){return tf(e)[0]?.char}function tm(e){let t,r=[],n={},i=0;for(td.lastIndex=0;null!==(t=td.exec(e));)t.index>i&&r.push({text:e.slice(i,t.index),style:n}),n=function(e,t){let r={...e};for(let e=0;e<t.length;e++){let n=t[e];if(0===n)for(let e of Object.keys(r))delete r[e];else if(1===n)r.fontWeight=700;else if(2===n)r.opacity=.65;else if(3===n)r.fontStyle="italic";else if(4===n)r.textDecoration="underline";else if(22===n)delete r.fontWeight,delete r.opacity;else if(23===n)delete r.fontStyle;else if(24===n)delete r.textDecoration;else if(39===n)delete r.color;else if(49===n)delete r.backgroundColor;else if(n>=30&&n<=37)r.color=tu[n-30];else if(n>=90&&n<=97)r.color=tp[n-90];else if(n>=40&&n<=47)r.backgroundColor=tu[n-40];else if(n>=100&&n<=107)r.backgroundColor=tp[n-100];else if((38===n||48===n)&&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===n?r.color=`rgb(${i}, ${o}, ${l})`:r.backgroundColor=`rgb(${i}, ${o}, ${l})`),e+=4}else if((38===n||48===n)&&5===t[e+1]){let i=function(e){if(e>=0&&e<8)return tu[e];if(e>=8&&e<16)return tp[e-8];if(e>=16&&e<=231){let t=e-16,r=Math.floor(t/36),n=Math.floor(t%36/6),i=e=>0===e?0:55+40*e;return`rgb(${i(r)}, ${i(n)}, ${i(t%6)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}(t[e+2]);i&&(38===n?r.color=i:r.backgroundColor=i),e+=2}}return r}(n,t[1]?t[1].split(";").map(e=>Number(e||"0")):[0]),i=t.index+t[0].length;return i<e.length&&r.push({text:e.slice(i),style:n}),r}let tv={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:""},ty={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function tb(e){for(let t of[e.thinking,e.text,e.reasoning])if("string"==typeof t&&t.length>0)return t;return""}function tj(e){return"thinking"===e||"reasoning"===e||"redacted_thinking"===e}function tw(e){let t={...e,type:"thinking",thinking:tb(e)};return!0===e.deferred&&(t.deferred=!0),t}let tk=/<think(?:ing)?>([\s\S]*?)<\/think(?:ing)?>/gi,tS=/<think(?:ing)?>/i;function tC(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&""===tb(e).trim()}function t_(e,t={}){return(e.content??[]).filter(e=>!tC(e,t))}function tR(e,t={}){let r=t_(e,t),n=r.findLastIndex(e=>"text"!==e.type&&"image"!==e.type);return -1===n?{answerBlocks:r,processBlocks:[]}:{answerBlocks:r.slice(n+1),processBlocks:r.slice(0,n+1)}}function tI(e){return e.filter(e=>"toolCall"===e.type).length}function tT(e){let t=e.stopReason;return"error"===t||"aborted"===t||"string"==typeof e.errorMessage&&e.errorMessage.trim().length>0}function tM(e,t,r=!1){let n={...e,content:t};return r&&(n.usage=void 0),n}function tE(e,t,r,n={}){return{kind:"message",source:"disk",messageIndex:t,keyPrefix:n.keyPrefix??"message",attachRef:n.attachRef??!0,showTimestamp:n.showTimestamp??function(e,t,r){if(e[t]?.role!=="assistant")return;let n=!0;for(let r=t+1;r<e.length;r++){let t=e[r].role;if("user"===t)break;if("assistant"===t){n=!1;break}}return n&&r&&t===e.length-1&&(n=!1),n}(e,t,r),...n.messageOverride?{messageOverride:n.messageOverride}:{}}}var tz=r(94514),tW=r(67635),tL=r(31025),tA=r(93631),tP=r(10762),t$=r(49387),tH=r(48368),tD=r(61878),tF=r(92451),tN=r(15161),tB=r(63),tO=r(44478),tU=r(12651),tq=r(41585),tK=r(62791),tV=r(9921),tJ=r(66088),tY=r(32316),tZ=r(65063),tX=r(7644);let tG="pi-theme",tQ="pi-theme-style",t0=new Set,t1=null;function t2(e){return"light"===e||"dark"===e||"system"===e}function t4(e){return"chamber"===e||"fusion"===e}function t6(e){return"system"!==e?e:window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function t5(){if("u"<typeof document)return"light";let e=document.documentElement.dataset.themeMode??null;if(t2(e))return e;try{let e=localStorage.getItem(tG);if(t2(e))return e}catch{}return document.documentElement.classList.contains("dark")?"dark":"light"}function t8(){if("u"<typeof document)return"chamber";let e=document.documentElement.dataset.themeStyle??null;if(t4(e))return e;try{let e=localStorage.getItem(tQ);if(t4(e))return e}catch{}return"chamber"}function t3(){if("u"<typeof document)return"light|chamber|light";let e=t5();return`${e}|${t8()}|${document.documentElement.classList.contains("dark")?"dark":"light"}`}function t9(){t0.forEach(e=>e())}function t7(){if("system"!==t5())return;let e=t6("system");document.documentElement.classList.toggle("dark","dark"===e),t9()}function re(e){return t0.add(e),t1||(t1=window.matchMedia("(prefers-color-scheme: dark)")).addEventListener("change",t7),()=>{t0.delete(e),0===t0.size&&t1&&(t1.removeEventListener("change",t7),t1=null)}}function rt(e,t){let r=t6(e),n=document.documentElement;n.classList.toggle("dark","dark"===r),n.dataset.themeMode=e,n.dataset.themeStyle=t;try{localStorage.setItem(tG,e),localStorage.setItem(tQ,t)}catch{}(0,X.dM)("theme",{mode:e,style:t}),t9()}function rr(){let[e,t,r]=(0,i.useSyncExternalStore)(re,t3,()=>"light|chamber|light").split("|"),n=(0,i.useCallback)((r,n,i)=>{if(e===r&&t===n)return;let o=()=>rt(r,n),l=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if("function"!=typeof document.startViewTransition||l)return void o();let a=i?.x??window.innerWidth/2,s=i?.y??window.innerHeight/2,d=Math.hypot(Math.max(a,window.innerWidth-a),Math.max(s,window.innerHeight-s));document.startViewTransition(o).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${s}px)`,`circle(${d}px at ${a}px ${s}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,r)=>{n(e,t,r)},[n,t]),l=(0,i.useCallback)((t,r)=>{n(e,t,r)},[e,n]),a=(0,i.useCallback)(e=>{o("dark"===r?"light":"dark",e)},[o,r]);return{theme:r,mode:e,themeStyle:t,toggleTheme:a,setTheme:o,setThemeStyle:l,isDark:"dark"===r}}function rn(e){try{return decodeURIComponent(e)}catch{return e}}function ri(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function ro(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function rl(e){return ri(e).split("/").filter(Boolean).map(encodeURIComponent).join("/")}function ra(e){let t=ri(e).replace(/\/+$/,"");return t.split("/").pop()??t}function rs(e){let t=ri(e).replace(/\/+$/,""),r=t.lastIndexOf("/");return r<0?"":0===r?"/":2===r&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,r)}function rd(e,t){if(!t)return e;let r=ri(e),n=ri(t).replace(/\/$/,"");return r.startsWith(n+"/")?r.slice(n.length+1):e}function rc(e,t){return`${ri(e).replace(/\/$/,"")}/${t}`}function ru(e){let t=ri(e),r=/^[a-zA-Z]:\//.test(t),n=t.startsWith("//"),i=t.startsWith("/")&&!r&&!n,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():i||r||n||o.push(e);continue}o.push(e)}let l=o.join("/");return r?l:n?`//${l}`:i?`/${l}`:l}function rp(e,t,r=t){let n,i,o,l,a;if(!e)return null;let s=e.split("#",1)[0].split("?",1)[0].trim();if(!s)return null;let d=null,c=null,u=rn(s),p=u.startsWith("\\\\"),h=ri(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 r=rn(t.pathname);if(t.hostname)return`//${t.hostname}${r.startsWith("/")?r:`/${r}`}`;if(/^\/[a-zA-Z]:\//.test(r))return r.slice(1);return r}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=`${ri(t).replace(/\/+$/,"")}/${h}`,c="relative"),!d)return null;let g=ru(d).replace(/:\d+(?::\d+)?$/,"");return"relative"===c&&r&&(n=ru(g).replace(/\/+$/,""),i=ru(r).replace(/\/+$/,""),l=(o=/^[a-zA-Z]:\//.test(n)||/^[a-zA-Z]:\//.test(i))?n.toLowerCase():n,!(l===(a=o?i.toLowerCase():i)||l.startsWith(`${a}/`)))?null:g}(0,X.zo)().then(()=>{let e=(0,X.b3)("theme"),t="string"==typeof e?.mode?e.mode:null,r="string"==typeof e?.style?e.style:null;t2(t)&&rt(t,t4(r)?r:t8())});var rh=r(88374),rf=r(5924),rg=r(94764),rx=r(63835),rm=r(84678),rv=r(98164);let ry={...rg.j,attributes:{...rg.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...rg.j.strip||[],"iframe","object","style","form"]},rb=[rm.A,rv.A],rj=[rm.A],rw=[rf.A,[rx.A,ry],[rh.A,{throwOnError:!1,strict:!1}]],rk=[rf.A,[rx.A,ry]];function rS({children:e,className:t,isStreaming:r,cwd:o,onOpenFile:l}){let a=(0,i.useMemo)(()=>{var t;let r,n,i;return r=(t=e).includes("\r\n")?"\r\n":"\n",n=t.split(/\r?\n/),i=null,n.map(e=>{let t=e.match(/^ {0,3}(`{3,}|~{3,})/);if(t){let r=t[1][0],n=t[1].length;return i?r===i.marker&&n>=i.size&&(i=null):i={marker:r,size:n},e}if(i)return e;let n=e.match(/^([ \t]{0,3})\$\$(.+)\$\$[ \t]*$/);if(!n)return e;let o=n[2].trim();return o?`${n[1]}$$${r}${o}${r}${n[1]}$$`:e}).join(r)},[e]);return(0,n.jsx)("div",{className:["markdown-body",t].filter(Boolean).join(" "),children:(0,n.jsx)(tY.oz,{remarkPlugins:rb,rehypePlugins:rw,components:{code({className:e,children:t,...i}){let o=e?.replace("language-","").toLowerCase()??"",l=String(t);return e?.includes("language-")||l.includes("\n")?"mermaid"===o?(0,n.jsx)(rC,{code:l.replace(/\n$/,""),isStreaming:r}):(0,n.jsx)(r_,{code:l.replace(/\n$/,""),lang:o}):(0,n.jsx)("code",{className:"markdown-inline-code",...i,children:t})},pre:({children:e})=>(0,n.jsx)(n.Fragment,{children:e}),a({href:e,children:t,...r}){delete r.node;let i=l?rp(e,o):null;return i&&l?(0,n.jsx)("a",{href:e,...r,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,n.jsx)("a",{href:e,...r,target:"_blank",rel:"noopener noreferrer",children:t})},table:({children:e})=>(0,n.jsx)("div",{className:"markdown-table-wrap",children:(0,n.jsx)("table",{children:e})})},children:a})})}function rC({code:e,isStreaming:t}){let{t:o}=(0,es.s9)(),{isDark:l}=rr(),[a,s]=(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"}
3
- ${e}`;(0,i.useEffect)(()=>{if(!a||t)return;let n=!1;return f(null),(async()=>{let{default:t}=await Promise.all([r.e(279),r.e(2280),r.e(3308)]).then(r.bind(r,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);n||(c(o.svg),p(g))})().catch(()=>{n||f(g)}),()=>{n=!0}},[e,g,l,t,a]);let x=(0,n.jsx)("button",{onClick:()=>s(e=>!e),disabled:t,title:o(t?"markdown_previewAfterStreaming":a?"markdown_showSource":"markdown_preview"),className:["markdown-code-action",a?"is-active":""].filter(Boolean).join(" "),children:o(a?"markdown_source":"markdown_previewShort")});if(!a||t)return(0,n.jsx)(r_,{code:e,lang:"mermaid",headerAction:x});let m=h===g?(0,n.jsx)("div",{className:"mermaid-block mermaid-block-error",children:o("markdown_invalidMermaid")}):d&&u===g?(0,n.jsx)("div",{className:"mermaid-block",dangerouslySetInnerHTML:{__html:d}}):(0,n.jsx)("div",{className:"mermaid-block mermaid-block-loading","aria-label":o("markdown_renderingMermaid")});return(0,n.jsxs)("div",{className:"markdown-code-block",children:[(0,n.jsxs)("div",{className:"markdown-code-header",children:[(0,n.jsx)("span",{className:"markdown-code-lang",children:"mermaid"}),x]}),m]})}function r_({code:e,lang:t,headerAction:r}){let{t:o}=(0,es.s9)(),{isDark:l}=rr(),[a,s]=(0,i.useState)(!1);return(0,n.jsxs)("div",{className:"markdown-code-block",children:[(0,n.jsxs)("div",{className:"markdown-code-header",children:[(0,n.jsx)("span",{className:"markdown-code-lang",children:t||"text"}),(0,n.jsxs)("div",{className:"markdown-code-actions",children:[r,(0,n.jsx)("button",{onClick:()=>{eQ(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},className:"markdown-code-action",children:o(a?"markdown_copied":"markdown_copy")})]})]}),(0,n.jsx)(tZ.A,{language:t||"text",style:l?tX.xJ:tX.vs,showLineNumbers:!0,lineNumberStyle:{color:"var(--text-dim)",fontStyle:"normal"},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))"},codeTagProps:{style:{fontFamily:"var(--font-mono)"}},children:e})]})}r(92619).Buffer;let rR=["result","warning","error","output"];function rI(e){let t=e?.trim()??"";return""===t?null:t}function rT(e){return e.readOnly?{allowed:!1,reason:"readOnly"}:e.busy?{allowed:!1,reason:"busy"}:{allowed:!0}}let rM=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,rE=/(?:\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 rz(e){let t=[],r=[],n=e.match(rE),i=n?.[1]??"",o=n?.index===void 0?e:e.slice(0,n.index);return i.replace(rM,(e,n,i)=>{let o=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return"read-files"===n?t.push(...o):r.push(...o),""}),{body:o.trim(),readFiles:t,modifiedFiles:r}}function rW(e){let t,r=[],n=null,i=0,o=0,l=[],a=[],s=()=>({lineNo:null,text:"",type:"empty"}),d=()=>{if(!n){l=[],a=[];return}let e=Math.max(l.length,a.length);for(let t=0;t<e;t++){let e=l[t]?{lineNo:l[t].lineNo,text:l[t].text,type:"removed"}:s(),r=a[t]?{lineNo:a[t].lineNo,text:a[t].text,type:"added"}:s();n.rows.push({type:"line",left:e,right:r})}l=[],a=[]};for(let s of e.split(/\r?\n/)){if(s.startsWith("--- ")){d(),t=rL(s.slice(4));continue}if(s.startsWith("+++ ")){d(),n={oldPath:t,newPath:rL(s.slice(4)),rows:[]},r.push(n);continue}let e=s.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){n||(n={rows:[]},r.push(n)),d(),i=Number(e[1]),o=Number(e[2]),n.rows.push({type:"hunk",text:s});continue}if(!n)continue;if(s.startsWith("\\ ")){d(),n.rows.push({type:"hunk",text:s});continue}let c=s[0],u=s.slice(1);" "===c?(d(),n.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?a.push({lineNo:o++,text:u}):""!==s&&(d(),n.rows.push({type:"hunk",text:s}))}d();let c=r.filter(e=>e.rows.some(e=>"line"===e.type));return c.length>0?c:null}function rL(e){return e.split(" ")[0].trim()}let rA={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"},rP={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"},r$={mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo"};function rH(e){return(e.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function rD(e){return null!==(rA[rH(e)]??null)}function rF(e){return null!==(rP[rH(e)]??null)}function rN(e){return null!==(r$[rH(e)]??null)}function rB(e){return`/api/files/${rl(e)}?type=read`}function rO({imageBlocks:e,pathImages:t,pathAudio:r,pathVideo:i}){let o=e??[],l=t??[],a=r??[],s=i??[];return 0===o.length&&0===l.length&&0===a.length&&0===s.length?null:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginBottom:8},children:[(o.length>0||l.length>0)&&(0,n.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[o.map((e,t)=>{let r=e.source?"base64"===e.source.type?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??"":e.data?`data:${e.mimeType};base64,${e.data}`:"";return r?(0,n.jsx)("img",{src:r,alt:"",style:{maxWidth:280,maxHeight:280,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid var(--border)"}},`b-${t}`):null}),l.map(e=>(0,n.jsx)("img",{src:rB(e),alt:e,title:e,style:{maxWidth:280,maxHeight:280,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid var(--border)"}},e))]}),a.map(e=>(0,n.jsxs)("div",{style:{minWidth:200,maxWidth:420},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e,children:e.split(/[\\/]/).pop()}),(0,n.jsx)("audio",{controls:!0,preload:"metadata",src:rB(e),style:{width:"100%"}})]},e)),s.map(e=>(0,n.jsxs)("div",{style:{minWidth:200,maxWidth:480},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e,children:e.split(/[\\/]/).pop()}),(0,n.jsx)("video",{controls:!0,preload:"metadata",src:rB(e),style:{width:"100%",maxHeight:320,borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)"}})]},e))]})}let rU=new Map,rq=new Map;function rK(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&!0===e.deferredHeavy}function rV(e){if(!e)return null;let t=new Date(e),r=new Date,n=t.getFullYear()===r.getFullYear()&&t.getMonth()===r.getMonth()&&t.getDate()===r.getDate(),i=t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(n)return i;let o=t.toLocaleDateString([],{month:"short",day:"numeric",year:t.getFullYear()!==r.getFullYear()?"numeric":void 0});return`${o} ${i}`}let rJ=(0,i.memo)(function({message:e,isStreaming:t,toolResults:r,toolExecutionSnapshots:i,modelNames:o,cwd:l,onOpenFile:a,entryId:s,onBranchHere:d,onNewSessionFromHere:c,onBranchFromAssistant:u,onNewSessionFromAnswer:p,forking:h,showTimestamp:f,prevTimestamp:g,sessionId:x,toolsActive:m}){if("user"===e.role)return(0,n.jsx)(rY,{message:e,cwd:l,onOpenFile:a,entryId:s,onBranchHere:d,onNewSessionFromHere:c,forking:h});if("assistant"===e.role)return(0,n.jsx)(rZ,{message:e,isStreaming:t,toolResults:r,toolExecutionSnapshots:i,modelNames:o,cwd:l,onOpenFile:a,showTimestamp:f,prevTimestamp:g,sessionId:x,entryId:s,onBranchFromAssistant:u,onNewSessionFromAnswer:p,toolsActive:m});if("toolResult"===e.role)return null;if("custom"===e.role){if("compaction"===e.customType)return(0,n.jsx)(nl,{message:e});if("pidance.command"===e.customType)return(0,n.jsx)(na,{message:e});if("branch_summary"===e.customType)return(0,n.jsx)(ns,{message:e});if("pidance.activity"===e.customType){var v;let t=ni(v=e.details)&&1===v.version&&"string"==typeof v.kind&&rR.includes(v.kind)&&"string"==typeof v.title&&""!==v.title.trim()&&"string"==typeof v.content&&(void 0===v.source||"string"==typeof v.source)&&(void 0===v.requestId||"string"==typeof v.requestId)&&(void 0===v.metadata||ni(v.metadata))?v:null;if(t)return(0,n.jsx)(np,{message:e,activity:t})}return(0,n.jsx)(nh,{message:e,cwd:l,onOpenFile:a})}return"bashExecution"===e.role?(0,n.jsx)(ng,{message:e,sessionId:x}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&function(e,t,r){if(t===r||"assistant"!==e.role)return!0;for(let n of e.content??[])if("toolCall"===n.type&&t?.get(n.toolCallId)!==r?.get(n.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.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);function rY({message:e,cwd:t,onOpenFile:r,entryId:o,onBranchHere:l,onNewSessionFromHere:a,forking:s}){let{t:d}=(0,es.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),x=(0,i.useMemo)(()=>(function(e){let t,r=[],n=[],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),rN(e)?i.push(e):rF(e)?n.push(e):rD(e)&&r.push(e))}return{images:r,audio:n,video:i}})(f),[f]),m=rV(e.timestamp),v=!!o&&!!l,y=!!o&&!!a;return(0,n.jsxs)("div",{style:{marginBottom:28,display:"flex",flexDirection:"column",alignItems:"flex-end"},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:6,maxWidth:"85%"},children:(0,n.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,n.jsx)(rO,{imageBlocks:g,pathImages:x.images,pathAudio:x.audio,pathVideo:x.video}),f&&(0,n.jsx)(rS,{className:"markdown-user-message",cwd:t,onOpenFile:r,children:f})]})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:6,marginTop:3},children:[(0,n.jsx)("div",{style:{display:"flex",gap:3,opacity:+!!c,pointerEvents:c?"auto":"none",transition:"opacity 0.12s"},children:(0,n.jsx)("button",{onClick:()=>{eQ(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,n.jsx)(tz.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(tW.A,{size:11,strokeWidth:1.8})})}),(v||y)&&(0,n.jsxs)("div",{style:{display:"flex",gap:3,opacity:c||s?1:0,pointerEvents:c||s?"auto":"none",transition:"opacity 0.12s"},children:[v&&(0,n.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,n.jsx)(tL.A,{size:14,strokeWidth:1.8})}),y&&(0,n.jsx)("button",{onClick:()=>{a(o,f)},disabled:s,title:d(s?"message_creating":"message_newSessionFromHereTooltip"),"data-tooltip":d(s?"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:s?"var(--accent)":"var(--text-dim)",cursor:s?"not-allowed":"pointer",transition:"color 0.12s"},onMouseEnter:e=>{s||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{s||(e.currentTarget.style.color="var(--text-dim)")},children:(0,n.jsx)(tA.A,{size:14,strokeWidth:1.8})})]}),m&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:m})]})]})}function rZ({message:e,isStreaming:t,toolResults:r,toolExecutionSnapshots:o,modelNames:l,cwd:a,onOpenFile:s,showTimestamp:d,prevTimestamp:c,sessionId:u,entryId:p,onBranchFromAssistant:h,onNewSessionFromAnswer:f,toolsActive:g}){var x,m,v;let y,b,j,w,k,{t:S}=(0,es.s9)(),C=d?rV(e.timestamp):null,_=(x=e.content??[],k=[],x.forEach((e,t)=>{if(tj(e.type))return void k.push({block:tw(e),sourceIndex:t});if("text"===e.type&&"string"==typeof e.text&&tS.test(e.text)){for(let r of(tS.lastIndex=0,function(e){let t,r=[],n=0;for(tk.lastIndex=0;null!==(t=tk.exec(e));)t.index>n&&r.push({type:"text",value:e.slice(n,t.index)}),r.push({type:"thinking",value:t[1]??""}),n=t.index+t[0].length;let i=e.slice(n),o=tS.exec(i);return o&&void 0!==o.index?(o.index>0&&r.push({type:"text",value:i.slice(0,o.index)}),r.push({type:"thinking",value:i.slice(o.index+o[0].length)})):i.length>0&&r.push({type:"text",value:i}),r}(e.text)))"thinking"===r.type?k.push({block:{type:"thinking",thinking:r.value},sourceIndex:t}):r.value.length>0&&k.push({block:{...e,type:"text",text:r.value},sourceIndex:t});return}k.push({block:e,sourceIndex:t})}),k).map(({block:e,sourceIndex:t})=>({block:e,originalIndex:t})).filter(({block:e})=>!tC(e,{isStreaming:t})),R=_.map(({block:e})=>e),[I,T]=(0,i.useState)(!1),[M,E]=(0,i.useState)(!1),z=(0,i.useRef)(null),[W,L]=(0,i.useState)(null),A=(0,i.useRef)(_);A.current=_;let P=(0,i.useRef)(new Map),[$,H]=(0,i.useState)(new Map),D=(0,i.useMemo)(()=>{if(!e.timestamp||!c)return;let t=Math.round((e.timestamp-c)/1e3);return t>0?t:void 0},[e.timestamp,c]),F=(0,i.useMemo)(()=>{let t=new Map;if(!r||!e.timestamp)return t;for(let[n,i]of r)if(i.timestamp&&e.timestamp){let r=Math.round((i.timestamp-e.timestamp)/1e3);r>0&&t.set(n,r)}return t},[r,e.timestamp]),N=(0,i.useMemo)(()=>new Map(o?.map(e=>[e.toolCallId,e])??[]),[o]),B=R.filter(e=>"text"===e.type).map(e=>e.text).join("\n");(0,i.useEffect)(()=>{if(!t){let e=new Date().getTime();H(t=>{let r=new Map(t);for(let[t,n]of P.current)r.has(t)||r.set(t,Math.round((e-n)/1e3));return r}),z.current=null,L(null);return}let e=setInterval(()=>{let e=A.current,t=e.map(({block:e})=>e),r=Date.now();e.forEach(({originalIndex:e})=>{P.current.has(e)||P.current.set(e,r)}),H(t=>{let n=!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)&&P.current.has(o)){let e=P.current.get(o),t=P.current.get(l)??r;i.set(o,Math.round((t-e)/1e3)),n=!0}}return n?i:t});let n=0;for(let e of t)"text"===e.type?n+=e.text?.length??0:"thinking"===e.type?n+=e.thinking?.length??0:"toolCall"===e.type&&(n+=JSON.stringify(e.input??{}).length);if(0===n)return;null===z.current&&(z.current=r);let i=(r-z.current)/1e3;i>.5&&L(n/4/i)},300);return()=>clearInterval(e)},[t]);let O=e.stopReason,U="string"==typeof e.errorMessage?e.errorMessage.trim():"",q="error"===O||U.length>0&&"end_turn"!==O&&"toolUse"!==O&&"length"!==O,K="aborted"===O,V=q||K||U.length>0;return 0!==R.length||t||V?(0,n.jsxs)("div",{style:{marginBottom:30},onMouseEnter:()=>T(!0),onMouseLeave:()=>T(!1),children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:8,display:"flex",alignItems:"center",gap:6},children:[e.provider&&(0,n.jsx)("span",{children:l?.[`${e.provider}:${e.model}`]??l?.[e.model]??e.model}),t&&(()=>{let e,t=0;for(let e of R)"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 r=Math.round(t/4);return(0,n.jsx)(n.Fragment,{children:r>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:S("message_estimatedTokensStreaming"),children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,n.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,n.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),r]}),null!==W&&(e=W>=50?"#53b3cb":W>=30?"#9bc53d":W>=15?"#f9c22e":"#e01a4f",(0,n.jsxs)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:e,color:"#fff",fontSize:11,fontWeight:400},children:[W.toFixed(1)," t/s"]}))]})})})()]}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:_.map(({block:i,originalIndex:o},l)=>{var d;return(0,n.jsx)(rX,{block:i,toolResults:r,toolExecutionMap:N,isStreaming:t,activeStreamBlock:(d=_.length,!!t&&d>0&&l===d-1),streamingDuration:$.get(o)??("thinking"===i.type?D:void 0),toolCallDurations:F,cwd:a,onOpenFile:s,sessionId:u,entryId:p,blockIndex:o,toolsActive:g,startedAt:e.timestamp},`${p??"stream"}-${o}`)})}),!t&&V&&(0,n.jsxs)("div",{role:"alert",style:{marginTop:10,padding:"10px 12px",borderRadius:8,border:`1px solid ${K?"var(--status-warning-border, var(--border))":"var(--status-danger-border, var(--border))"}`,background:K?"var(--status-warning-bg, var(--bg-subtle))":"var(--status-danger-bg, var(--bg-subtle))",color:K?"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,n.jsxs)("div",{style:{fontWeight:600,marginBottom:4*!!U},children:[K?S("message_aborted"):S("message_apiError"),O&&"error"!==O&&"aborted"!==O?(0,n.jsxs)("span",{style:{fontWeight:400,opacity:.8},children:[" (",O,")"]}):null]}),U?(0,n.jsx)("div",{children:U}):null]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[e.usage&&!t&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:(m=e.usage,v=e,y=[],m.input&&y.push(`${m.input.toLocaleString()} in`),m.output&&y.push(`${m.output.toLocaleString()} out`),m.cacheRead&&y.push(`${m.cacheRead.toLocaleString()} cache`),m.cost?.total&&y.push(`$${m.cost.total.toFixed(4)}`),b=v?.provider?.trim(),j=v?.model?.trim(),(b||j)&&y.push([b,j].filter(Boolean).join(" / ")),(w=v?.thinkingLevel?.trim())&&"off"!==w&&y.push(w),y.join(" \xb7 "))}),B&&!t&&(0,n.jsx)("button",{onClick:()=>{eQ(B).then(()=>{E(!0),setTimeout(()=>E(!1),1500)})},"data-tooltip":S("message_copyAnswer"),className:"instant-tooltip","aria-label":S("message_copyAnswer"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 6px",height:22,width:22,background:"none",border:"none",borderRadius:5,color:M?"var(--accent)":"var(--text-dim)",cursor:"pointer",transition:"opacity 0.12s, color 0.12s",opacity:+!!I,pointerEvents:I?"auto":"none"},onMouseEnter:e=>{M||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{M||(e.currentTarget.style.color="var(--text-dim)")},children:M?(0,n.jsx)(tz.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(tW.A,{size:11,strokeWidth:1.8})}),p&&!t&&h&&(0,n.jsx)("button",{onClick:()=>{h(p)},"data-tooltip":S("message_branchFromAnswerTooltip"),className:"instant-tooltip","aria-label":S("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:+!!I,pointerEvents:I?"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,n.jsx)(tL.A,{size:14,strokeWidth:1.8})}),p&&!t&&f&&(0,n.jsx)("button",{onClick:()=>{f(p)},"data-tooltip":S("message_newSessionFromAnswerTooltip"),className:"instant-tooltip","aria-label":S("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:+!!I,pointerEvents:I?"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,n.jsx)(tA.A,{size:14,strokeWidth:1.8})}),C&&!t&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginLeft:"auto"},children:C})]})]}):null}function rX({block:e,toolResults:t,toolExecutionMap:r,isStreaming:i,activeStreamBlock:o,streamingDuration:l,toolCallDurations:a,cwd:s,onOpenFile:d,sessionId:c,entryId:u,blockIndex:p,toolsActive:h,startedAt:f}){if("text"===e.type)return(0,n.jsx)(rG,{block:e,isStreaming:i,cwd:s,onOpenFile:d});if("thinking"===e.type)return(0,n.jsx)(r2,{block:e,duration:l,isStreaming:!!o,sessionId:c,entryId:u,blockIndex:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),o=a?.get(e.toolCallId);return(0,n.jsx)(r4,{block:e,result:i,snapshot:r?.get(e.toolCallId),duration:o,sessionId:c,pending:!i&&!0===h,startedAt:i||!0!==h?void 0:f})}return null}function rG({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(rS,{isStreaming:t,cwd:r,onOpenFile:i,children:e.text})}let rQ="min(320px, 45vh)";function r0(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=24}function r1(e,t,r){e&&t&&(r.current=!0,e.scrollTop=e.scrollHeight,requestAnimationFrame(()=>{r.current=!1}))}function r2({block:e,duration:t,isStreaming:r,sessionId:o,entryId:l,blockIndex:a}){let{t:s}=(0,es.s9)(),[d,c]=(0,i.useState)(r??!1),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null),m=(0,i.useRef)(null),v=(0,i.useRef)(!0),y=(0,i.useRef)(!1);(0,i.useEffect)(()=>{c(r??!1)},[r]);let b=h?s("message_thinkingLoading"):g??(e.deferred?u:tb(e)),j=async()=>{if(e.deferred&&null===u&&!h){if(!o||!l)return void x(s("message_thinkingUnavailable"));f(!0),x(null);try{p(await function(e,t,r){let n=`${e}:${t}:${r}`,i=rU.get(n);if(i)return rU.delete(n),rU.set(n,i),i;let o=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${r}`).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 rU.delete(n),e});if(rU.set(n,o),rU.size>100){let e=rU.keys().next().value;e&&rU.delete(e)}return o}(o,l,a))}catch(e){x(e instanceof Error?e.message:String(e))}finally{f(!1)}}};(0,i.useEffect)(()=>{d&&j()},[d]);let w=async()=>{let t=!d;c(t),t&&e.deferred&&null===u&&await j()};return(0,i.useEffect)(()=>{d&&(v.current=!0)},[d]),(0,i.useEffect)(()=>{r1(m.current,d&&v.current,y)},[d,b]),(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:6,overflow:"hidden",fontSize:13},children:[(0,n.jsxs)("button",{onClick:()=>void w(),"aria-expanded":d,style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"6px 10px",background:"var(--bg-panel)",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left"},children:[(0,n.jsx)("span",{children:s("chat_thinking")}),void 0!==t&&(0,n.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums"},children:r9(1e3*t)})]}),d&&(0,n.jsx)("div",{ref:m,tabIndex:0,onScroll:e=>{y.current||(v.current=r0(e.currentTarget))},style:{padding:"8px 10px",color:g?"var(--error-text)":"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",background:"var(--bg-panel)",borderTop:"1px solid var(--border)",maxHeight:rQ,overflow:"auto",overscrollBehavior:"contain"},children:b})]})}function r4({block:e,result:t,snapshot:r,duration:o,sessionId:l,pending:a,startedAt:s}){var d,c;let u,p,h,{t:f}=(0,es.s9)(),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)(()=>Date.now()),[y,b]=(0,i.useState)(void 0),[j,w]=(0,i.useState)(!1),k=(0,i.useRef)(null),S=(0,i.useRef)(!0),C=(0,i.useRef)(!1),_=!t&&(r?.status==="running"||!0===a),R=g??_,I="edit"===(u=e.toolName.toLowerCase())||u.startsWith("edit_")||u.endsWith(".edit")||u.endsWith("_edit")||u.includes("str_replace")||u.includes("replace_editor"),T=t&&void 0!==y?{...t,details:y}:t,M=T&&!T.isError?function(e){let t=e.details;if(!ni(t))return null;let r="string"==typeof t.patch?t.patch:null;if(r)return{text:r};let n="string"==typeof t.diff?t.diff:null;return n?{text:n}:null}(T):null,E=T?T.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"):null,z=null!==E&&("(no output)"===E.trim()||""===E.trim()),W=T?.isError??!1,L=r?.status,A=function(e,t,r=!1,n=!1){return"running"===e||n?"var(--status-running)":"success"===e||r&&!t?"var(--status-success)":"error"===e||t?"var(--status-danger)":"cancelled"===e?"var(--text-dim)":"var(--text-muted)"}(L,W,null!=T,a),P=function(e,t){if(t?.command)return t.command;let r=e.input;if(r&&"object"==typeof r&&"command"in r){let e=r.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 n=e;let i=n.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,r),$=r6(r?.renderedCallLines??e.renderedCallLines),H=r6(r?.renderedLines),D=r6(r?.renderedResultLines??T?.renderedResultLines),F=r?Math.max(0,("running"===r.status?m:r.endedAt??r.startedAt)-r.startedAt):void 0!==s?!0===a||void 0===o?Math.max(0,m-s):1e3*o:void 0===o?void 0:1e3*o;return(0,i.useEffect)(()=>{if(!_)return;let e=setInterval(()=>v(Date.now()),500);return()=>clearInterval(e)},[_]),(0,i.useEffect)(()=>{R&&(S.current=!0)},[R]),(0,i.useEffect)(()=>{r1(k.current,R&&S.current,C)},[R,r?.output,r?.renderedLines,H]),(0,i.useEffect)(()=>{if(!R||!t||!l||!rK(t.details)||void 0!==y||j)return;let r=!1;return w(!0),(function(e,t){let r=`${e}:${t}`,n=rq.get(r);if(n)return rq.delete(r),rq.set(r,n),n;let i=fetch(`/api/sessions/${encodeURIComponent(e)}/tool-results/${encodeURIComponent(t)}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).details??null}).catch(e=>{throw rq.delete(r),e});if(rq.set(r,i),rq.size>50){let e=rq.keys().next().value;e&&rq.delete(e)}return i})(l,e.toolCallId).then(e=>{r||b(e)}).catch(()=>{r||b(t.details)}).finally(()=>{r||w(!1)}),()=>{r=!0}},[R,t,l,e.toolCallId,y,j]),(0,n.jsxs)("div",{style:{borderRadius:"var(--radius-md)",overflow:"hidden",fontSize:12,border:"1px solid var(--border)",borderLeft:`3px solid ${A}`,background:"var(--tool-bg)"},children:[(0,n.jsxs)("button",{onClick:()=>x(!R),"aria-expanded":R,style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",minWidth:0},children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5,flexShrink:0},children:[(d=e.toolName,c=A,p=d.toLowerCase(),h={size:12,color:c},"bash"===p||"exec_command"===p||"terminal"===p||p.includes("shell")?(0,n.jsx)(tP.A,{...h}):"edit"===p||"write"===p||p.includes("edit")||p.includes("write")?(0,n.jsx)(t$.A,{...h}):"read"===p||"multi_read"===p||p.includes("read")||p.includes("view")?(0,n.jsx)(tH.A,{...h}):"grep"===p||"search"===p||p.includes("grep")||p.includes("search")||p.includes("find")?(0,n.jsx)(tD.A,{...h}):p.includes("web")||p.includes("fetch")||p.includes("http")||p.includes("url")?(0,n.jsx)(tF.A,{...h}):p.includes("todo")||p.includes("task")?(0,n.jsx)(tN.A,{...h}):p.includes("notify")||p.includes("message")?(0,n.jsx)(tB.A,{...h}):p.includes("approve")||p.includes("permission")||p.includes("confirm")?(0,n.jsx)(tO.A,{...h}):(0,n.jsx)(tP.A,{...h})),_&&(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:A},"aria-hidden":"true"})]}),(0,n.jsx)("span",{style:{color:A,fontFamily:"var(--font-mono)",fontWeight:600,fontSize:11,flexShrink:0},children:e.toolName}),(0,n.jsx)("span",{title:P,style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0},children:P}),L&&(0,n.jsx)("span",{style:{color:A,fontSize:10,fontWeight:600,flexShrink:0},children:f(r3[L])}),void 0!==F&&(0,n.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flexShrink:0,fontVariantNumeric:"tabular-nums"},children:r9(F)}),(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--text-dim)",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,transform:R?"rotate(180deg)":"none",transition:"transform 0.15s"},children:(0,n.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})})]}),R&&P&&(0,n.jsxs)("div",{style:{padding:"8px 10px",borderTop:`1px solid color-mix(in srgb, ${A} 22%, var(--border))`,background:"var(--bg-subtle)"},children:[(0,n.jsx)("div",{style:{marginBottom:4,color:"var(--text-dim)",fontSize:10,textTransform:"uppercase",letterSpacing:"0.08em"},children:f("message_toolCommand")}),(0,n.jsx)("code",{style:{display:"block",maxHeight:rQ,overflow:"auto",overscrollBehavior:"contain",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11.5,lineHeight:1.55,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:P})]}),R&&$&&(0,n.jsx)(r8,{lines:$,statusColor:A}),R&&!I&&(0,n.jsx)("div",{style:{margin:0,padding:"8px 10px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,maxHeight:rQ,overflow:"auto",overscrollBehavior:"contain",background:"var(--bg-subtle)",borderTop:`1px solid color-mix(in srgb, ${A} 20%, var(--border))`,display:"flex",flexDirection:"column",gap:3},children:(function(e){let t=[];for(let[r,n]of Object.entries(e)){if(null==n)continue;let e="string"==typeof n?n:"number"==typeof n||"boolean"==typeof n?String(n):"";if(e)t.push({key:r,value:e});else try{t.push({key:r,value:JSON.stringify(n).slice(0,200)})}catch{t.push({key:r,value:"[…]"})}}return t})(e.input).filter(e=>"command"!==e.key).map(e=>(0,n.jsxs)("div",{style:{display:"flex",gap:8,minWidth:0},children:[(0,n.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,n.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere",whiteSpace:"pre-wrap"},children:e.value})]},e.key))}),R&&r&&(0,n.jsxs)("div",{style:{borderTop:`1px solid color-mix(in srgb, ${A} 24%, var(--border))`,background:"var(--tool-bg)"},children:[(0,n.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,n.jsx)("span",{children:f("message_toolLiveOutput")}),r.truncated&&(0,n.jsx)("span",{style:{color:"var(--warning)",textTransform:"none",letterSpacing:0},children:f("message_toolOutputTruncated")})]}),(0,n.jsx)("pre",{ref:k,tabIndex:0,onScroll:e=>{C.current||(S.current=r0(e.currentTarget))},style:{margin:0,padding:"4px 10px 10px",maxHeight:rQ,overflow:"auto",overscrollBehavior:"contain",color:H||r.output?"var(--text-muted)":"var(--text-dim)",background:"var(--tool-bg)",fontFamily:"var(--font-mono)",fontSize:11.5,lineHeight:1.55,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:H?r5(H,"tool-live"):r.output||f("message_toolWaitingOutput")})]}),R&&T&&(D?(0,n.jsx)(r8,{lines:D,statusColor:A}):j&&rK(t?.details)&&!M?(0,n.jsx)("div",{style:{padding:"8px 10px",borderTop:"1px solid var(--border)",color:"var(--text-dim)",fontSize:11},children:f("message_thinkingLoading")}):M?(0,n.jsx)(r7,{diff:M}):(0,n.jsx)(no,{text:E??"",isEmpty:z,isError:W}))]})}function r6(e){return Array.isArray(e)&&e.length>0&&e.every(e=>"string"==typeof e)?e:null}function r5(e,t){return e.map((r,i)=>{var o;return(0,n.jsxs)("span",{children:[(o=`${t}-${i}`,tm(r).map((e,t)=>Object.keys(e.style).length>0?(0,n.jsx)("span",{style:e.style,children:e.text},`${o}-${t}`):e.text)),i<e.length-1?"\n":null]},`${t}-${i}`)})}function r8({lines:e,statusColor:t}){return(0,n.jsx)("pre",{tabIndex:0,style:{margin:0,padding:"8px 10px",maxHeight:rQ,overflow:"auto",overscrollBehavior:"contain",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-wrap",overflowWrap:"anywhere"},children:r5(e,"tool-rendered")})}let r3={running:"message_toolStatusRunning",success:"message_toolStatusSuccess",error:"message_toolStatusError",cancelled:"message_toolStatusCancelled"};function r9(e){let t=Number.isFinite(e)?Math.max(0,e):0;if(t<1e3)return`${Math.floor(t)}ms`;let r=t/1e3;if(r<10)return`${r.toFixed(1)}s`;if(r<60)return`${Math.round(r)}s`;let n=Math.round(r);return`${Math.floor(n/60)}m ${String(n%60).padStart(2,"0")}s`}function r7({diff:e}){return(0,n.jsx)("div",{style:{borderTop:"1px solid var(--status-success-border)",background:"var(--bg)"},children:(0,n.jsx)(ne,{text:e.text})})}function ne({text:e}){let t=(0,i.useMemo)(()=>rW(e),[e]);if(!t)return(0,n.jsx)(nn,{text:e});let r=t.length>1;return(0,n.jsx)("div",{style:{maxHeight:560,overflowY:"auto",overflowX:"hidden",background:"var(--bg)"},children:t.map((e,t)=>(0,n.jsxs)("div",{style:{minWidth:0,borderTop:0===t?"none":"1px solid var(--border)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55},children:[r&&(0,n.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,n.jsx)(nt,{title:e.oldPath||"Before",side:"left"}),(0,n.jsx)(nt,{title:e.newPath||"After",side:"right"})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)"},children:e.rows.map((e,t)=>"hunk"===e.type?null:(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)(nr,{cell:e.left,side:"left"}),(0,n.jsx)(nr,{cell:e.right,side:"right"})]},t))})]},t))})}function nt({title:e,side:t}){return(0,n.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 nr({cell:e,side:t}){let r="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,n.jsxs)("div",{style:{display:"flex",minWidth:0,background:r,borderRight:"left"===t?"1px solid var(--border)":"none"},children:[(0,n.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,n.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,n.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"},children:e.text||"\xa0"})]})}function nn({text:e}){let t=e.split(/\r?\n/);return(0,n.jsx)("div",{style:{maxHeight:520,overflowY:"auto",overflowX:"hidden",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let r=e.startsWith("@@")?"hunk":e.startsWith("+")&&!e.startsWith("+++")?"added":e.startsWith("-")&&!e.startsWith("---")?"removed":"context";return(0,n.jsxs)("div",{style:{display:"flex",background:"added"===r?"var(--diff-added-bg)":"removed"===r?"var(--diff-removed-bg)":"hunk"===r?"var(--diff-hunk-bg)":"transparent",borderLeft:"added"===r?"3px solid var(--diff-added-border)":"removed"===r?"3px solid var(--diff-removed-border)":"hunk"===r?"3px solid var(--accent)":"3px solid transparent"},children:[(0,n.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,n.jsx)("span",{style:{padding:"0 10px",whiteSpace:"pre-wrap",overflowWrap:"anywhere",color:"added"===r?"var(--diff-added-text)":"removed"===r?"var(--diff-removed-text)":"hunk"===r?"var(--accent)":"var(--text)"},children:e||"\xa0"})]},t)})})}function ni(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function no({text:e,isEmpty:t,isError:r}){let{t:i}=(0,es.s9)();return(0,n.jsx)("div",{style:{borderTop:`1px solid ${r?"var(--status-danger-border)":"var(--status-success-border)"}`,background:r?"var(--status-danger-bg)":"var(--bg-subtle)"},children:(0,n.jsx)("pre",{style:{margin:0,padding:"8px 10px",color:r?"var(--error-text)":t?"var(--text-dim)":"var(--text-muted)",fontSize:12,lineHeight:1.5,overflow:"auto",maxHeight:400,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 nl({message:e}){let{t}=(0,es.s9)(),r=nf(e.content),o=(0,i.useMemo)(()=>rz(r),[r]),l=rV(e.timestamp);return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,n.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)"},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:t("message_compaction")}),l&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:l})]}),(0,n.jsxs)("div",{style:{padding:"11px 13px 12px"},children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:15,fontWeight:700,lineHeight:1.35},children:t("message_conversationCompacted")}),(0,n.jsx)("div",{style:{marginTop:3,marginBottom:10,color:"var(--text)",fontSize:14,lineHeight:1.5},children:t("message_conversationCompactedDescription")}),o.body?(0,n.jsx)(rS,{className:"markdown-compaction-message",children:o.body}):(0,n.jsxs)("span",{style:{color:"var(--text-dim)",fontSize:12},children:["(",t("message_noSummary"),")"]}),(0,n.jsx)(nd,{readFiles:o.readFiles,modifiedFiles:o.modifiedFiles})]})]})})}function na({message:e}){let{t}=(0,es.s9)(),r=nf(e.content),i=e.details?.ok!==!1,o=e.details?.result,l=rV(e.timestamp);return(0,n.jsxs)("div",{style:{marginBottom:12},children:[(0,n.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,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10,whiteSpace:"nowrap"},children:t("message_command")}),(0,n.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text)",overflowWrap:"anywhere"},children:r}),i&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:"✓"}),!i&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:"✗"}),l&&(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10,whiteSpace:"nowrap"},children:l})]}),o&&(0,n.jsx)("div",{style:{marginTop:4,padding:"0 4px",color:"var(--text-muted)",fontSize:12},children:o})]})}function ns({message:e}){let{t}=(0,es.s9)(),r=nf(e.content),o=(0,i.useMemo)(()=>rz(r),[r]),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 r=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[],n=r(t.readFiles),i=r(t.modifiedFiles);return 0===n.length&&0===i.length?null:{readFiles:n,modifiedFiles:i}})(e.details),[e.details]),a=l?.readFiles??o.readFiles,s=l?.modifiedFiles??o.modifiedFiles,d=rV(e.timestamp);return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderLeft:"2px solid var(--accent)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,n.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)"},children:[(0,n.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,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:t("message_branchSummary")}),d&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:d})]}),(0,n.jsxs)("div",{style:{padding:"11px 13px 12px"},children:[(0,n.jsx)("div",{style:{marginBottom:10,color:"var(--text-muted)",fontSize:13,lineHeight:1.5},children:t("message_branchSummaryDescription")}),o.body?(0,n.jsx)(rS,{className:"markdown-compaction-message",children:o.body}):(0,n.jsxs)("span",{style:{color:"var(--text-dim)",fontSize:12},children:["(",t("message_noSummary"),")"]}),(0,n.jsx)(nd,{readFiles:a,modifiedFiles:s})]})]})})}function nd({readFiles:e,modifiedFiles:t}){let{t:r}=(0,es.s9)();if(0===e.length+t.length)return null;let i=[];return e.length>0&&i.push(`${e.length} ${r("message_read").toLowerCase()}`),t.length>0&&i.push(`${t.length} ${r("message_modified").toLowerCase()}`),(0,n.jsxs)("details",{className:"compaction-file-details",children:[(0,n.jsxs)("summary",{children:[r("message_fileContext"),": ",i.join(", ")]}),t.length>0&&(0,n.jsx)(nc,{title:r("message_modifiedFiles"),files:t}),e.length>0&&(0,n.jsx)(nc,{title:r("message_readFiles"),files:e})]})}function nc({title:e,files:t}){return(0,n.jsxs)("div",{className:"compaction-file-section",children:[(0,n.jsx)("div",{className:"compaction-file-title",children:e}),(0,n.jsx)("ul",{className:"compaction-file-list",children:t.map(e=>(0,n.jsx)("li",{children:e},e))})]})}let nu={result:{color:"var(--status-success)",border:"var(--status-success-border)",background:"var(--status-success-bg)",Icon:tU.A},warning:{color:"var(--status-warning)",border:"var(--status-warning-border)",background:"var(--status-warning-bg)",Icon:tq.A},error:{color:"var(--error-text)",border:"var(--status-danger-border)",background:"var(--status-danger-bg)",Icon:tK.A},output:{color:"var(--accent)",border:"var(--border)",background:"var(--bg)",Icon:tP.A}};function np({message:e,activity:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(!1),a=rV(e.timestamp),{color:s,border:d,background:c,Icon:u}=nu[t.kind],p=""!==t.content.trim(),h=function(e){if(!e)return[];let t=[];for(let[r,n]of Object.entries(e)){if(t.length>=4)break;"string"==typeof n?t.push([r,n]):("number"==typeof n||"boolean"==typeof n)&&t.push([r,String(n)])}return t}(t.metadata);return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("section",{"aria-label":`${t.kind}: ${t.title}`,style:{border:`1px solid ${d}`,borderLeft:`2px solid ${s}`,borderRadius:8,overflow:"hidden",background:c},children:[(0,n.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,n.jsx)("span",{style:{display:"flex",color:s,flexShrink:0},"aria-hidden":"true",children:(0,n.jsx)(u,{size:12,strokeWidth:1.8})}),(0,n.jsx)("span",{style:{color:s,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:650,letterSpacing:.6,textTransform:"uppercase",flexShrink:0},children:t.kind}),(0,n.jsx)("span",{style:{color:"var(--text)",fontSize:13,fontWeight:600,minWidth:0,overflowWrap:"anywhere"},children:t.title}),a&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10,flexShrink:0},children:a})]}),p&&(0,n.jsx)("pre",{tabIndex:0,style:{margin:0,padding:"8px 12px",maxHeight:rQ,overflow:"auto",color:"var(--text)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:t.content}),(0,n.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,n.jsx)("button",{onClick:()=>{eQ(p?t.content:t.title).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},title:r("message_copy"),"aria-label":r("message_copy"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 7px",border:"none",background:"none",color:o?"var(--accent)":"var(--text-dim)",cursor:"pointer"},children:o?(0,n.jsx)(tz.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(tW.A,{size:11,strokeWidth:1.8})}),t.source&&(0,n.jsx)("span",{style:{overflowWrap:"anywhere"},children:t.source}),t.requestId&&(0,n.jsx)("span",{style:{overflowWrap:"anywhere"},title:t.requestId,children:t.requestId}),h.map(([e,t])=>(0,n.jsxs)("span",{style:{overflowWrap:"anywhere"},children:[e,"=",t]},e))]})]})})}function nh({message:e,cwd:t,onOpenFile:r}){var o,l,a;let s,{t:d}=(0,es.s9)(),c=!1===e.display,[u,p]=(0,i.useState)(!c),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(!1),m=nf(e.content),v="string"==typeof(o=e.content)?[]:o.filter(e=>"image"===e.type),y=void 0!==e.details,b=y?function(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}(e.details):"",j=e.customType||d("message_extensionDefaultType"),w=rV(e.timestamp),k=r6(e.renderedLines);return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:c?"var(--bg-subtle)":"var(--bg)",opacity:k||!c||u?1:.82},children:[(0,n.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,n.jsx)("span",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:j}),c&&(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:11},children:d("message_hiddenExtensionMessage")}),w&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:w})]}),k?(0,n.jsx)("pre",{style:{margin:0,padding:"6px 9px",color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:r5(k,"custom-rendered")}):u?(0,n.jsxs)("div",{style:{padding:"6px 9px"},children:[v.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!m},children:v.map((e,t)=>{var r;let i=(r=e).source?"base64"===r.source.type?`data:${r.source.media_type};base64,${r.source.data}`:r.source.url??"":r.data?`data:${r.mimeType};base64,${r.data}`:"";return i?(0,n.jsx)("img",{src:i,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid var(--border)"}},t):null})}),m?(0,n.jsx)(rS,{className:"markdown-custom-message",cwd:t,onOpenFile:r,children:m}):(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:12},children:d("message_noMessages")})]}):(0,n.jsx)("button",{onClick:()=>p(!0),style:{display:"block",width:"100%",padding:"8px 10px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:12,textAlign:"left"},children:m?(l=m,a=d("message_noExtensionMessage"),(s=l.replace(/\s+/g," ").trim())?s.length>140?`${s.slice(0,140)}...`:s:a):d("message_showExtensionMessage")}),!k&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 9px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)"},children:[m||b?(0,n.jsx)("button",{onClick:()=>{eQ(m||b).then(()=>{x(!0),setTimeout(()=>x(!1),1500)})},title:d("message_copy"),"aria-label":d("message_copy"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"3px 7px",border:"none",background:"none",color:g?"var(--accent)":"var(--text-dim)",cursor:"pointer"},children:g?(0,n.jsx)(tz.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(tW.A,{size:11,strokeWidth:1.8})}):null,(y||c)&&(0,n.jsx)("button",{onClick:()=>{c?p(e=>!e):f(e=>!e)},title:d(c?u?"message_collapse":"message_expand":h?"message_hideDetails":"message_showDetails"),"aria-label":d(c?u?"message_collapse":"message_expand":h?"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:(c?u:h)?(0,n.jsx)(tV.A,{size:12,strokeWidth:1.8}):(0,n.jsx)(tJ.A,{size:12,strokeWidth:1.8})})]}),!k&&y&&(c&&u||!c&&h)&&(0,n.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:360,overflow:"auto",fontFamily:"var(--font-mono)"},children:b})]})})}function nf(e){return"string"==typeof e?e:e.filter(e=>"text"===e.type).map(e=>e.text).join("\n")}function ng({message:e,sessionId:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(null),[a,s]=(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 x(){if(h){s(!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{s(!1)}}}let m=e.excludeFromContext?"bash (local)":"bash",v={type:"toolCall",toolCallId:`bash-${e.timestamp??""}`,toolName:m,input:{command:e.command}},y=u?void 0:{role:"toolResult",toolCallId:v.toolCallId,toolName:m,content:g?[{type:"text",text:g}]:[],isError:p,timestamp:e.timestamp};return(0,n.jsxs)("div",{style:{margin:"6px 0"},children:[(0,n.jsx)(r4,{block:v,result:y,pending:u,startedAt:u?e.timestamp:void 0}),e.truncated&&h&&(0,n.jsxs)("div",{style:{padding:"4px 10px",fontSize:11,marginTop:-1},children:[f&&(0,n.jsx)("button",{onClick:x,disabled:a,style:{background:"none",border:"none",color:"var(--accent)",cursor:a?"default":"pointer",fontSize:11,padding:0,textDecoration:"underline"},children:r(a?"message_loadingOutput":"message_viewFullOutput")}),(0,n.jsx)("a",{href:`${h}&download=1`,style:{marginLeft:10*!!f,color:"var(--accent)",fontSize:11,textDecoration:"underline"},children:r("message_downloadFullOutput")}),d&&(0,n.jsxs)("span",{style:{marginLeft:6,color:"var(--text-dim)",fontSize:11},children:["(",d,")"]})]})]})}let nx=new Map;function nm(e){return{value:e.value,images:e.images.map(e=>({...e}))}}function nv(e){return!e.value&&0===e.images.length}function ny(e){return`drafts.${e}`}function nb(e){let t=nx.get(e);return t?nm(t):null}function nj(e,t){if(nv(t)){nx.delete(e),(0,X.dM)(ny(e),void 0);return}nx.set(e,nm(t)),(0,X.dM)(ny(e),nm(t))}function nw(e){nx.delete(e),(0,X.dM)(ny(e),void 0)}function nk(e){return"string"==typeof e&&e&&"auto"!==e?e:null}let nS=["off","minimal","low","medium","high","xhigh","max"];function nC(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let r=/(?:^|\s)@([^\s"]*)$/.exec(e);return r?{start:e.length-(r[1].length+1),query:r[1],quoted:!1}:null}function n_(e){let t=0;for(let r=0;r<e.length;r++)"/"===e[r]&&t++;return t}function nR(e,t){if(!e)return!0;let r=0;for(let n=0;n<t.length&&r<e.length;n++)t[n]===e[r]&&r++;return r===e.length}function nI(e,t){let r=t?`${e}/`:e;return r.includes(" ")?`@"${r}" `:`@${r} `}let nT="var(--text-dim)";function nM({size:e=14,open:t=!1}){return t?(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5h7.5v1H1V4.5Z",fill:nT}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:nT,strokeWidth:"1",fill:nT,fillOpacity:"0.12"})]}):(0,n.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:(0,n.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:nT,strokeWidth:"1",fill:nT,fillOpacity:"0.1"})})}function nE({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M3 2h7l3 3v9H3V2Z",stroke:nT,strokeWidth:"1",fill:nT,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:nT,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function nz({label:e,size:t=14}){let r=t/14;return(0,n.jsxs)("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("text",{x:"7",y:"9.5",textAnchor:"middle",fontSize:3.4*r,fontFamily:"var(--font-mono), monospace",fontWeight:"600",fill:nT,letterSpacing:"0",children:e})]})}function nW({size:e=14}){return(0,n.jsx)(nz,{label:"TS",size:e})}function nL({size:e=14}){return(0,n.jsx)(nz,{label:"TSX",size:e})}function nA({size:e=14}){return(0,n.jsx)(nz,{label:"JS",size:e})}function nP({size:e=14}){return(0,n.jsx)(nz,{label:"JSX",size:e})}function n$({size:e=14}){return(0,n.jsx)(nz,{label:"PY",size:e})}function nH({size:e=14}){return(0,n.jsx)(nz,{label:"{}",size:e})}function nD({size:e=14}){return(0,n.jsx)(nz,{label:"CSS",size:e})}function nF({size:e=14}){return(0,n.jsx)(nz,{label:"SC",size:e})}function nN({size:e=14}){return(0,n.jsx)(nz,{label:"HTM",size:e})}function nB({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:nT,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:nT,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function nO({size:e=14}){return(0,n.jsx)(nz,{label:"YML",size:e})}function nU({size:e=14}){return(0,n.jsx)(nz,{label:"TOM",size:e})}function nq({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:nT,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:nT,strokeWidth:"0.95",strokeLinecap:"round"})]})}function nK({size:e=14}){return(0,n.jsx)(nz,{label:"RS",size:e})}function nV({size:e=14}){return(0,n.jsx)(nz,{label:"GO",size:e})}function nJ({size:e=14}){return(0,n.jsx)(nz,{label:"SQL",size:e})}function nY({size:e=14}){return(0,n.jsx)(nz,{label:"GQL",size:e})}function nZ({size:e=14}){return(0,n.jsx)(nz,{label:"TF",size:e})}function nX({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"3.5",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:nT,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:nT,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:nT,strokeWidth:"0.8"})]})}function nG({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:nT,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:nT,strokeWidth:"0.9",strokeLinecap:"round"})]})}function nQ({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:nT,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:nT,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:nT,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:nT,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:nT,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function n0({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"4.5",y:"8.5",width:"5",height:"3",rx:"0.6",stroke:nT,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:nT,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function n1({size:e=14}){return(0,n.jsx)(nz,{label:"DOC",size:e})}function n2({size:e=14}){return(0,n.jsx)(nz,{label:"PDF",size:e})}function n4({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:nT,strokeWidth:"0.9",fill:nT,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:nT,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:nT,strokeWidth:"0.9"}),(0,n.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:nT,strokeWidth:"0.8",strokeLinecap:"round"})]})}function n6(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(nX,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(nG,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(nQ,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(n0,{size:t});if(r.endsWith(".config.ts")||r.endsWith(".config.js")||r.endsWith(".config.mjs")||r.endsWith(".config.cjs")||[".eslintrc",".eslintrc.js",".eslintrc.json",".eslintrc.yml","eslint.config.mjs","eslint.config.js"].includes(r))return(0,n.jsx)(n4,{size:t});switch(i){case"ts":return(0,n.jsx)(nW,{size:t});case"tsx":return(0,n.jsx)(nL,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(nA,{size:t});case"jsx":return(0,n.jsx)(nP,{size:t});case"py":return(0,n.jsx)(n$,{size:t});case"json":case"jsonl":return(0,n.jsx)(nH,{size:t});case"css":case"less":return(0,n.jsx)(nD,{size:t});case"scss":return(0,n.jsx)(nF,{size:t});case"html":case"htm":return(0,n.jsx)(nN,{size:t});case"md":case"mdx":return(0,n.jsx)(nB,{size:t});case"yaml":case"yml":return(0,n.jsx)(nO,{size:t});case"toml":return(0,n.jsx)(nU,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(nq,{size:t});case"rs":return(0,n.jsx)(nK,{size:t});case"go":return(0,n.jsx)(nV,{size:t});case"sql":return(0,n.jsx)(nJ,{size:t});case"graphql":case"gql":return(0,n.jsx)(nY,{size:t});case"tf":case"hcl":return(0,n.jsx)(nZ,{size:t});case"docx":return(0,n.jsx)(n1,{size:t});case"pdf":return(0,n.jsx)(n2,{size:t});case"lock":return(0,n.jsx)(n0,{size:t});default:return(0,n.jsx)(nE,{size:t})}}let n5="(max-width: 640px)";function n8(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(n5);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function n3(){return!!window.matchMedia&&window.matchMedia(n5).matches}function n9(){return!1}function n7(){return(0,i.useSyncExternalStore)(n8,n3,n9)}let ie=(e,t=0)=>Number.isFinite(e)?e:t,it=i.useLayoutEffect;function ir(e){let{open:t,anchorRef:r,overlayRef:n,preferredPlacement:o="below",margin:l=8,gap:a=4,minHeight:s,maxHeight:d,maxWidth:c,align:u,width:p,minWidth:h,pollIntervalMs:f=250}=e,[g,x]=(0,i.useState)(null),m=(0,i.useRef)(0),v=(0,i.useCallback)(()=>{let e,t=r.current,i=n.current;if(!t||!i)return;let p=t.getBoundingClientRect();if(0===p.width&&0===p.height)return void x(e=>null===e?e:null);let h=function(e){let{anchor:t,desiredSize:r,viewport:n}=e,i=Math.max(0,ie(e.margin??8)),o=Math.max(0,ie(e.gap??4)),l=Math.max(0,ie(e.minHeight??0)),a=Math.max(0,ie(n.offsetLeft)),s=Math.max(0,ie(n.offsetTop)),d=a+i,c=s+i,u=a+Math.max(0,ie(n.width))-i,p=s+Math.max(0,ie(n.height))-i,h=Math.max(0,u-d),f=Math.max(0,p-c),g=Math.min(f,Math.max(0,ie(t.top)-o-c)),x=Math.min(f,Math.max(0,p-ie(t.bottom)-o)),m=e.preferredPlacement??"below",v="below"===m?"above":"below",y=Math.max(l,Math.max(0,ie(r.height))),b=("below"===m?x:g)>=y?m:("below"===v?x:g)>=y?v:x>=g?"below":"above",j=Math.max(0,"below"===b?x:g),w=Math.max(0,ie(r.width)),k=Math.min(Math.max("end"===e.align?ie(t.right)-w:ie(t.left),d),Math.max(d,u-w)),S=Math.min(Math.max("below"===b?ie(t.bottom)+o:ie(t.top)-o-Math.max(0,ie(r.height)),c),Math.max(c,p-Math.min(j,Math.max(0,ie(r.height)))));return{top:ie(S,c),left:ie(k,d),maxHeight:j,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:a,minHeight:s,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};x(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)},[r,n,l,a,s,d,c,o,u]);return it(()=>{if(!t)return void x(null);v();let e=()=>{m.current||(m.current=requestAnimationFrame(()=>{m.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=r.current,a=n.current;l&&o.observe(l),a&&o.observe(a);let s=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(),s&&window.clearInterval(s),m.current&&(cancelAnimationFrame(m.current),m.current=0)}},[t,v,r,n,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 r="anchor"===h?g.anchorWidth:"number"==typeof h?h:void 0;return void 0!==r&&(e.minWidth=Math.min(r,g.maxWidth)),e},[g,p,h]),placement:g?.placement??o,ready:null!==g}}function ii(e){return e.type.startsWith("image/")&&"image/svg+xml"!==e.type}async function io(e){let t=new FormData;t.append("files",e,e.name);let r=await fetch("/api/attachments",{method:"POST",body:t}),n=await r.json().catch(()=>({}));if(!r.ok&&207!==r.status)throw Error(n.error??`HTTP ${r.status}`);let i=n.errors?.[0];if(i&&(!n.uploaded||0===n.uploaded.length))throw Error(i.error);let o=n.uploaded?.[0];if(!o?.path)throw Error(n.error??i?.error??"upload failed");return{path:o.path,name:o.name||e.name}}function il(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 ia=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function is(e,t){return ia.compare(e.name||e.modelId,t.name||t.modelId)||ia.compare(e.provider,t.provider)||ia.compare(e.modelId,t.modelId)}function id(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:e.toLocaleString()}let ic=[{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"}],iu=["builtin","extension","prompt","skill"],ip={builtin:"input_builtIn",extension:"input_extensions",prompt:"input_prompts",skill:"input_skills"},ih={builtin:0,extension:1,prompt:2,skill:3};function ig(e,t){let r=e.name.toLowerCase(),n=e.description?.toLowerCase()??"";return r===t?0:r.startsWith(t)?1:r.includes(t)?2:n.includes(t)?3:4}function ix(e){return{data:e.data,mimeType:e.mimeType}}function im(e){return{...e,previewUrl:`data:${e.mimeType};base64,${e.data}`}}function iv(e){e.previewUrl.startsWith("blob:")&&URL.revokeObjectURL(e.previewUrl)}function iy(e,t){if(!e)return;let r=e.querySelector(`${t}[aria-checked="true"], ${t}[aria-selected="true"]`),n=e.querySelector(t);(r??n)?.focus({preventScroll:!0})}function ib({kind:e,text:t}){return(0,n.jsxs)("div",{title:t,style:{display:"flex",alignItems:"center",gap:8,padding:"3px 10px",fontSize:12,color:"var(--text-muted)",minWidth:0},children:[(0,n.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}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t})]})}let ij=(0,i.forwardRef)(function({onSend:e,onAbort:t,onSteer:r,onFollowUp:o,isStreaming:l,model:s,isAutoModelSelection:d,modelNames:c,modelList:u,modelAuthConfigured:p,onModelChange:h,onAbortCompaction:f,isCompacting:g,compactError:x,compactResult:m,thinkingLevel:v,onThinkingLevelChange:y,defaultThinkingLevel:b,availableThinkingLevels:j,thinkingLevelMap:w,thinkingLevelMaps:k,retryInfo:S,queuedMessages:C,onRecallQueue:_,onSendQueueAsSteer:R,slashCommands:I,slashCommandsLoading:T,onLoadSlashCommands:M,onBuiltinCommand:E,onAudioUnlock:z,onPromptWithStreamingBehavior:W,footerCollapsed:L,onFooterToggle:A,draftKey:P,cwd:$},H){let D,F,N,O,U,q,{t:K}=(0,es.s9)(),V=n7(),[J,Y]=(0,i.useState)("followUp");(0,i.useEffect)(()=>{Y(B());let e=e=>{"pidance.streamingEnterDefault"===e.key&&Y(B())},t=()=>Y(B());return window.addEventListener("storage",e),window.addEventListener("pidance:streaming-enter-changed",t),()=>{window.removeEventListener("storage",e),window.removeEventListener("pidance:streaming-enter-changed",t)}},[]);let[Z,G]=(0,i.useState)(()=>P?nb(P)?.value??"":""),[Q,ee]=(0,i.useState)(!1),[et,er]=(0,i.useState)(!1),[en,ei]=(0,i.useState)(()=>P?nb(P)?.images.map(im)??[]:[]),eo=Z.trimStart(),el=0===en.length&&eo.startsWith("!"),ea=el&&eo.startsWith("!!"),[ed,ec]=(0,i.useState)(!1),[eu,ep]=(0,i.useState)(0),[eh,ef]=(0,i.useState)(null),[eg,ex]=(0,i.useState)(!1),[em,ev]=(0,i.useState)(0),[ey,eb]=(0,i.useState)(null),[ej,ew]=(0,i.useState)(!1),[ek,eS]=(0,i.useState)(null),eC=(0,i.useRef)(null),e_=(0,i.useRef)(null),eR=(0,i.useRef)(null),eI=(0,i.useRef)(null),eT=(0,i.useRef)(null),eM=(0,i.useRef)(null),eE=(0,i.useRef)(null),ez=(0,i.useRef)(null),eW=(0,i.useRef)(null),eL=(0,i.useRef)(null),eA=(0,i.useRef)(!1),eP=(0,i.useRef)(0),e$=(0,i.useRef)(!1),eH=(0,i.useRef)([]),eD=(0,i.useRef)([]),eF=(0,i.useRef)(null),eN=(0,i.useRef)(null),eB=(0,i.useRef)(P),[eO,eU]=(0,i.useState)(null),[eq,eK]=(0,i.useState)(null),eV=(0,i.useRef)(null),eJ=(0,i.useCallback)((e,t)=>{let r=t.getBoundingClientRect(),n=r.right+6;n+120>window.innerWidth-8&&(n=Math.max(8,r.left-120-6)),eK({top:Math.max(8,Math.min(r.top,window.innerHeight-8-352)),left:n}),eU(e)},[]),eY=(0,i.useCallback)(()=>{eU(null),eK(null)},[]);(0,i.useEffect)(()=>{if(null===eO)return;let e=e=>{let t=e.target;if(!eV.current?.contains(t)&&!t?.closest?.("[data-depth-trigger]")){if(eI.current?.contains(t))return void window.setTimeout(()=>eY(),0);eY()}};return document.addEventListener("pointerdown",e),window.addEventListener("resize",eY),window.addEventListener("scroll",eY),()=>{document.removeEventListener("pointerdown",e),window.removeEventListener("resize",eY),window.removeEventListener("scroll",eY)}},[eY,eO]);let eZ=(0,i.useCallback)(e=>{let t=[e.name];return"number"==typeof e.contextWindow&&t.push(`${K("input_modelContext")} ${il(e.contextWindow)}`),"number"==typeof e.maxTokens&&t.push(`${K("input_modelMaxOutput")} ${il(e.maxTokens)}`),t.join(" \xb7 ")},[K]),eX=b??"off",eG=(0,i.useCallback)((e,t)=>{var r;return r=k?.[`${e}:${t}`]??void 0,nS.filter(e=>r?.[e]!==null)},[k]),eQ=(0,X.Fd)(),e0=(0,i.useCallback)((e,t)=>{let r=(0,X.b3)(`thinkingLevel.${e}:${t}`);return"string"==typeof r&&r?r:null},[eQ]),e1=(0,i.useCallback)((e,t,r)=>{(0,X.dM)(`thinkingLevel.${e}:${t}`,r),eY(),ee(!1),eR.current?.focus({preventScroll:!0}),h?.(e,t,r)},[eY,h]),e2=(0,i.useRef)(null);(0,i.useEffect)(()=>{P&&(0,X.zo)().then(()=>{if(e2.current===P)return;e2.current=P;let e=function(e){let t=(0,X.b3)(ny(e));if(!t||"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.value)return null;let r=Array.isArray(t.images)?t.images.filter(e=>"object"==typeof e&&null!==e&&"string"==typeof e.data):[],n={value:t.value,images:r};return nv(n)?null:(nx.set(e,nm(n)),n)}(P);if(!e)return;let t=nb(P);t&&(""!==t.value||t.images.length>0)||(G(e.value),e.images.length>0&&ei(e.images.map(im)))})},[P,ei]);let e4=(0,i.useRef)(Z),e6=(0,i.useRef)(en);e4.current=Z,e6.current=en;let e5=(0,i.useCallback)(e=>{let t=eC.current;(t?t.value:Z).trim()||(G(e),ef(null),requestAnimationFrame(()=>{t&&(t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)}))},[Z]);(0,i.useImperativeHandle)(H,()=>({insertIfEmpty:e5,prependText(e){if(!e.trim())return;let t=eC.current,r=[e,t?t.value:Z].filter(e=>e.trim()).join("\n\n");G(r),ef(null),requestAnimationFrame(()=>{t&&(t.focus(),t.setSelectionRange(r.length,r.length),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)})},replaceText(e){let t=eC.current;G(e),ef(null),requestAnimationFrame(()=>{if(!t)return;t.focus();let r=e.length;t.setSelectionRange(r,r),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`})},insertText(e){let t=eC.current;if(!t)return void G(t=>t+(t?" ":"")+e);let r=t.selectionStart??t.value.length,n=t.selectionEnd??t.value.length,i=t.value.slice(0,r),o=t.value.slice(n),l=i.length>0&&!i.endsWith(" ")?" ":"";G(i+l+e+o),ef(null),requestAnimationFrame(()=>{if(!t)return;let n=r+l.length+e.length;t.setSelectionRange(n,n),t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`})},addImages(e){te(e)}}));let[e8,e3]=(0,i.useState)([]),e9=(0,i.useRef)(e8);e9.current=e8;let e7=(0,i.useCallback)(async e=>{if(l)return;let t=e.filter(ii);if(!t.length)return;let r=await Promise.all(t.map(e=>new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{t({data:n.result.split(",")[1],mimeType:e.type,previewUrl:URL.createObjectURL(e)})},n.onerror=r,n.readAsDataURL(e)})));ei(e=>[...e,...r])},[l]),te=(0,i.useCallback)(async e=>{if(l||0===e.length)return;let t=e.filter(ii),r=e.filter(e=>!ii(e));if(t.length&&await e7(t),0===r.length)return;let n=r.map(e=>({id:`up-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,name:e.name,mimeType:e.type||"application/octet-stream",size:e.size,status:"uploading"}));e3(e=>[...e,...n]),await Promise.all(r.map(async(e,t)=>{let r=n[t].id;try{let{path:t,name:n}=await io(e);e3(e=>e.map(e=>e.id===r?{...e,path:t,name:n,status:"ready"}:e))}catch(t){let e=t instanceof Error?t.message:String(t);e3(t=>t.map(t=>t.id===r?{...t,status:"error",error:e}:t))}}))},[l,e7]),tt=(0,i.useCallback)(e=>{ei(t=>{let r=[...t],[n]=r.splice(e,1);return n&&iv(n),r})},[]),tr=(0,i.useCallback)(e=>{e3(t=>t.filter(t=>t.id!==e))},[]),tn=(0,i.useCallback)(()=>{ei(e=>(e.forEach(iv),[]))},[]),ti=(0,i.useCallback)(()=>{e3([])},[]),to=(0,i.useCallback)(()=>{G(""),ef(null),P&&nw(P),eB.current&&eB.current!==P&&nw(eB.current),tn(),ti(),eC.current&&(eC.current.style.height="auto")},[tn,ti,P]),tl=(0,i.useCallback)(e=>{let t=e9.current.filter(e=>"ready"===e.status&&e.path);if(0===t.length)return e;let r=t.map(e=>`- \`${e.path}\``).join("\n"),n=`${K("input_attachedFilesPrompt")}
4
- ${r}`;return e.trim()?`${e.trim()}
5
-
6
- ${n}`:n},[K]);(0,i.useEffect)(()=>{P&&eB.current===P&&nj(P,{value:Z,images:en.map(ix)})},[en,P,Z]),(0,i.useEffect)(()=>{let e=eB.current;if(e===P)return;e&&nj(e,{value:e4.current,images:e6.current.map(ix)});let t=P?nb(P):null;eB.current=P,G(t?.value??""),ef(null),ei(e=>(e.forEach(iv),t?.images.map(im)??[]))},[P]),(0,i.useEffect)(()=>{let e=eC.current;e&&(e.style.height="auto",Z&&(e.style.height=`${Math.min(e.scrollHeight,200)}px`))},[Z]),(0,i.useEffect)(()=>()=>{e6.current.forEach(iv)},[]);let ta=e8.some(e=>"ready"===e.status&&e.path),ts=e8.some(e=>"uploading"===e.status),td=en.length>0||ta,tc=(0,i.useCallback)(async()=>{let t=Z.trim();if(!t&&!en.length&&!ta)return;if(z?.(),l&&!en.length&&!ta&&W){to(),W(t,"followUp",void 0);return}if(l||ts)return;let r=en.length>0||ta;if(r||to(),!en.length&&!ta&&t.startsWith("/")&&E){let e=await E(t);if(e.handled){e.error&&e5(t);return}}let n=tl(t);if(!1===await e(n,en.length?en:void 0)){r||e5(t);return}r&&to()},[Z,en,ta,ts,l,E,e,to,e5,z,tl]),tu=Z.startsWith("/")&&!/\s/.test(Z.slice(1))?Z.slice(1).toLowerCase():null,tp=null===tu?[]:[...l?[]:ic,...I??[]].filter(e=>{let t=e.name.toLowerCase(),r=e.description?.toLowerCase()??"";return t.includes(tu)||r.includes(tu)}).sort((e,t)=>{let r=ig(e,tu)-ig(t,tu);return 0!==r?r:ih[e.source]-ih[t.source]||ia.compare(e.name,t.name)}),th=(()=>{let e=new Map;for(let t of iu)e.set(t,{source:t,items:[]});return tp.forEach((t,r)=>{e.get(t.source)?.items.push({command:t,index:r})}),iu.map(t=>e.get(t)).filter(e=>e.items.length>0)})(),tf=1===tp.length?K(tu?"input_matchCountOne":"input_commandCountOne"):K(tu?"input_matchCount":"input_commandCount",{count:tp.length}),tg=(!!Z.trim()||ta)&&0===en.length&&!ts,tx=(0,i.useCallback)((e,t)=>{if(!$)return void ef(null);let r=t??e.length;ef(nC(e.slice(0,r)))},[$]),tm=eh?.query??null,tv=i.useMemo(()=>null!==tm&&ey&&ey.cwd===$?function(e,t,r=20){let n=t.toLowerCase();if(!n)return e.slice(0,r);let i=[];for(let t of e){let e=function(e,t){let r=e.path.toLowerCase(),n=0;if(t.includes("/"))r===t?n=100:r.startsWith(t)?n=80:r.includes(t)?n=50:nR(t,r)&&(n=10);else{let e=r.lastIndexOf("/"),i=-1===e?r:r.slice(e+1);i===t?n=100:i.startsWith(t)?n=80:i.includes(t)?n=50:r.includes(t)?n=30:nR(t,r)&&(n=10)}return e.isDir&&n>0&&(n+=10),n}(t,n);e>0&&i.push({entry:t,score:e})}return i.sort((e,t)=>t.score-e.score||n_(e.entry.path)-n_(t.entry.path)||e.entry.path.localeCompare(t.entry.path)),i.slice(0,r).map(e=>e.entry)}(ey.entries,tm):[],[tm,ey,$]),ty=!!(tm&&ey?.truncated&&ey.cwd===$);(0,i.useEffect)(()=>{if(!ty||!$||!tm)return;let e=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent($)}&q=${encodeURIComponent(tm)}`).then(e=>{if(!e.ok)throw Error(`file search failed: ${e.status}`);return e.json()}).then(e=>eS({cwd:$,query:tm,matches:e.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(e)},[ty,tm,$]);let tb=ty&&null!==ek&&ek.cwd===$&&ek.query===tm,tj=tb?ek.matches:tv,tw=null===eh?null:`${eh.start}:${+!!eh.quoted}:${eh.query}`;(0,i.useEffect)(()=>{if(null===tw){ex(!1),ev(0);return}ex(!0),ev(0)},[tw]);let tk=null!==eh;(0,i.useEffect)(()=>{if(!tk||!$)return;let e=eF.current;e&&e.cwd===$&&Date.now()-e.fetchedAt<1e4||eN.current===$||(eN.current=$,ew(!0),fetch(`/api/file-index?cwd=${encodeURIComponent($)}`).then(e=>{if(!e.ok)throw Error(`file index failed: ${e.status}`);return e.json()}).then(e=>{eb({cwd:$,entries:function(e){let t=new Set;for(let r of e){let e=r.indexOf("/");for(;-1!==e;)t.add(r.slice(0,e)),e=r.indexOf("/",e+1)}let r=[];for(let e of t)r.push({path:e,isDir:!0});for(let t of e)t&&r.push({path:t,isDir:!1});return r.sort((e,t)=>n_(e.path)-n_(t.path)||e.path.localeCompare(t.path)),r}(e.files??[]),truncated:!!e.truncated}),eF.current={cwd:$,fetchedAt:Date.now()}}).catch(()=>{eF.current=null}).finally(()=>{eN.current=null,ew(!1)}))},[tk,$]);let tS=(0,i.useCallback)(e=>{if(!eh)return;let t=eC.current,r=t?.selectionStart??Z.length,n=Z.slice(0,eh.start),i=Z.slice(r);eh.quoted&&i.startsWith('"')&&(i=i.slice(1));let o=function(e,t,r=!1){let n=t?`${e}/`:e,i=r||n.includes(" ");if(t){let e=i?`@"${n}"`:`@${n}`;return{text:e,cursorOffset:i?e.length-1:e.length}}let o=i?`@"${n}" `:`@${n} `;return{text:o,cursorOffset:o.length}}(e.path,e.isDir,eh.quoted),l=n+o.text+i,a=n.length+o.cursorOffset;G(l),ef(nC(l.slice(0,a))),requestAnimationFrame(()=>{let e=eC.current;e&&(e.focus(),e.setSelectionRange(a,a),e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)})},[eh,Z]);(0,i.useEffect)(()=>{em>=tj.length&&ev(Math.max(0,tj.length-1))},[tj.length,em]),(0,i.useEffect)(()=>{eD.current.length=tj.length},[tj.length]),(0,i.useEffect)(()=>{eg&&eD.current[em]?.scrollIntoView({block:"nearest",inline:"nearest"})},[em,eg]);let tC=(0,i.useCallback)(e=>{let t=`/${e.name} `;G(t),ec(!1),ep(0),requestAnimationFrame(()=>{let e=eC.current;e&&(e.focus(),e.setSelectionRange(t.length,t.length),e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)})},[]),t_=(0,i.useCallback)(e=>{let t=Z.trim();if(!t&&!ta||en.length||ts)return;z?.();let n=tl(t);if(n.startsWith("/")&&W){W(n,"steer"===e?"steer":"followUp",void 0),to();return}"steer"===e&&r?r(n,void 0):"followup"===e&&o?o(n,void 0):"steer"===e&&o&&o(n,void 0),to()},[Z,en.length,ta,ts,W,r,o,to,z,tl]),tR=(0,i.useCallback)(()=>{if(!R)return;if(en.length||ts)return void R();let e=Z.trim(),t=e||ta?tl(e).trim():"";z?.(),R(t||void 0),t&&to()},[R,en.length,ts,Z,ta,tl,z,to]),tI=(0,i.useCallback)(e=>{let t=tp.length-1;if(t<0)return 0;if("left"===e)return Math.max(0,eu-1);if("right"===e)return Math.min(t,eu+1);let r=eH.current[eu];if(!r)return"down"===e?Math.min(t,eu+1):Math.max(0,eu-1);let n=r.getBoundingClientRect(),i=n.left+n.width/2,o=n.top+n.height/2,l=-1,a=1/0;for(let r=0;r<=t;r+=1){if(r===eu)continue;let t=eH.current[r];if(!t)continue;let n=t.getBoundingClientRect(),s=n.top+n.height/2-o;if("down"===e?s<=4:s>=-4)continue;let d=1e3*Math.abs(s)+Math.abs(n.left+n.width/2-i);d<a&&(l=r,a=d)}return l>=0?l:"down"===e?Math.min(t,eu+1):Math.max(0,eu-1)},[tp.length,eu]),tT=(0,i.useCallback)(e=>{let n=e.nativeEvent,i=Date.now()-eP.current<100,a=eA.current||n.isComposing||229===n.keyCode;if("Enter"===e.key&&!e.shiftKey&&(a||i)){i&&e.preventDefault();return}if(ed&&null!==tu){if("ArrowDown"===e.key){e.preventDefault(),ep(tI("down"));return}if("ArrowUp"===e.key){e.preventDefault(),ep(tI("up"));return}if("ArrowRight"===e.key){e.preventDefault(),ep(tI("right"));return}if("ArrowLeft"===e.key){e.preventDefault(),ep(tI("left"));return}if("Escape"===e.key){e.preventDefault(),ec(!1);return}if(("Tab"===e.key||"Enter"===e.key&&!e.shiftKey)&&tp[eu]){e.preventDefault(),tC(tp[eu]);return}}if(eg&&null!==eh&&!a){if("ArrowDown"===e.key){e.preventDefault(),ev(e=>Math.min(Math.max(0,tj.length-1),e+1));return}if("ArrowUp"===e.key){e.preventDefault(),ev(e=>Math.max(0,e-1));return}if("Escape"===e.key){e.preventDefault(),ex(!1);return}if(("Tab"===e.key||"Enter"===e.key&&!e.shiftKey)&&tj[em]){e.preventDefault(),tS(tj[em]);return}}if("Escape"===e.key&&!a&&l&&t){e.preventDefault(),t();return}if("Enter"===e.key&&!e.shiftKey){if(V)return;e.preventDefault();let t=e.ctrlKey||e.metaKey,n=C?.followUp.length??0,i=C?.followUp.length??0,a=!!Z.trim()||ta;if(!t&&!a&&i>0&&R||t&&n>0&&R)return void tR();if(l&&(r||o)){let e="steer"!==J;t_(t?e?"steer":"followup":e?"followup":"steer")}else tc()}},[l,V,J,r,o,t,ed,tu,tp,eu,tC,t_,tc,tI,eg,eh,tj,em,tS,C,R,tR]),tM=(0,i.useCallback)(()=>{let e=eC.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)},[]),tE=(0,i.useCallback)(e=>{let t=Array.from(e.clipboardData?.items??[]).filter(e=>e.type.startsWith("image/"));t.length&&(e.preventDefault(),e7(t.map(e=>e.getAsFile()).filter(e=>null!==e)))},[e7]);(0,i.useEffect)(()=>{if(null===tu){ec(!1),ep(0),e$.current=!1;return}ec(!0),ep(0),!e$.current&&M&&(e$.current=!0,Promise.resolve(M()).catch(()=>{e$.current=!1}))},[tu,M]),(0,i.useEffect)(()=>{eu>=tp.length&&ep(Math.max(0,tp.length-1))},[tp.length,eu]),(0,i.useEffect)(()=>{eH.current.length=tp.length},[tp.length]),(0,i.useEffect)(()=>{ed&&eH.current[eu]?.scrollIntoView({block:"nearest",inline:"nearest"})},[eu,ed]);let tz=u&&u.length>0?u.map(e=>({provider:e.provider,modelId:e.id,name:e.name,contextWindow:e.contextWindow,maxTokens:e.maxTokens})).sort(is):Object.entries(c??{}).map(([e,t])=>({provider:s?.provider??"unknown",modelId:e,name:t})).sort(is),tW=[];for(let e of tz){let t=tW.find(t=>t.provider===e.provider);t?t.options.push(e):tW.push({provider:e.provider,options:[e]})}let tL=s?tz.find(e=>e.modelId===s.modelId&&e.provider===s.provider)?.name??s.modelId:null,tA=m?Math.max(0,m.tokensBefore-m.estimatedTokensAfter):0,tP=m?.reason==="auto"?"input_compactionReason_auto":m?.reason==="threshold"?"input_compactionReason_threshold":m?.reason==="overflow"?"input_compactionReason_overflow":null,t$=m?tP?K("input_compactionResultWithReason",{before:id(m.tokensBefore),after:id(m.estimatedTokensAfter),saved:id(tA),reason:K(tP)}):K("input_compactionResult",{before:id(m.tokensBefore),after:id(m.estimatedTokensAfter),saved:id(tA)}):null,tH=v??eX,tD=(0,i.useId)(),tF=(0,i.useId)(),tN=(0,i.useId)(),tB=ir({open:ed&&null!==tu,anchorRef:eE,overlayRef:ez,preferredPlacement:"above",gap:8,margin:8,maxHeight:460,width:"anchor"}),tO=ir({open:eg&&null!==eh,anchorRef:eE,overlayRef:eW,preferredPlacement:"above",gap:8,margin:8,maxHeight:400,width:"anchor"}),tU=ir({open:Q,anchorRef:eR,overlayRef:eI,preferredPlacement:"above",gap:6,margin:8,minWidth:"anchor",width:V?"max":void 0}),tq=ed&&null!==tu,tK=eg&&null!==eh,tV=tq&&tp.length>0?`${tD}-opt-${eu}`:tK&&tj.length>0?`${tF}-opt-${em}`:void 0,tJ=tq?tD:tK?tF:void 0;return(0,i.useEffect)(()=>{if(!(et||Q))return;let e=e=>{if("Escape"===e.key&&!e.defaultPrevented)if(e.preventDefault(),et){var t;er(!1),t=eT.current,t?.querySelector("button")?.focus({preventScroll:!0})}else Q&&(ee(!1),eR.current?.focus({preventScroll:!0}))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[et,Q]),(0,i.useEffect)(()=>{et&&iy(eM.current,'[role="menuitemradio"]')},[et]),(0,i.useEffect)(()=>{Q&&iy(eI.current,'[role="option"]')},[Q]),(0,i.useEffect)(()=>{let e=e=>{let t=e.target,r=eV.current?.contains(t);!e_.current||e_.current.contains(t)||!eI.current||eI.current.contains(t)||r||(ee(!1),eY()),eT.current&&!eT.current.contains(t)&&eM.current&&!eM.current.contains(t)&&er(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[eY]),(0,n.jsxs)("div",{style:{flexShrink:0,background:"transparent",padding:"0 16px 8px",paddingRight:V?16:52},children:[(0,n.jsx)("input",{ref:eL,type:"file",multiple:!0,disabled:l,style:{display:"none"},onChange:e=>{te(Array.from(e.target.files??[])),e.target.value=""}}),(0,n.jsxs)("div",{style:{maxWidth:820,margin:"0 auto"},children:[(C?.followUp.length??0)>0&&(0,n.jsxs)("div",{style:{marginBottom:8,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",padding:"5px 0"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"2px 8px 4px 10px"},children:[(0,n.jsx)("span",{style:{fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:.4},children:K("input_queued",{count:C?.followUp.length??0})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexShrink:0},children:[R&&(0,n.jsxs)("button",{type:"button",onClick:tR,"data-tooltip":K("input_sendQueueAsSteerTooltip"),className:"instant-tooltip tooltip-up",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 12px",fontSize:12,color:"var(--accent)",background:"transparent",border:"1px solid color-mix(in srgb, var(--accent) 45%, var(--border))",borderRadius:7,cursor:"pointer",transition:"background 0.12s, border-color 0.12s",whiteSpace:"nowrap",fontWeight:600},onMouseEnter:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--accent) 10%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,n.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]}),K("input_sendQueueAsSteer")]}),_&&(0,n.jsxs)("button",{type:"button",onClick:_,"data-tooltip":K("input_recall"),className:"instant-tooltip tooltip-up",style:{display:"flex",alignItems:"center",gap:6,padding:"4px 12px",fontSize:12,color:"var(--text)",background:"transparent",border:"1px solid var(--border)",borderRadius:7,cursor:"pointer",transition:"background 0.12s, border-color 0.12s",whiteSpace:"nowrap"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 45%, var(--border))"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.borderColor="var(--border)"},children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("polyline",{points:"9 14 4 9 9 4"}),(0,n.jsx)("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})]}),K("input_recall")]})]})]}),C?.followUp.map((e,t)=>(0,n.jsx)(ib,{kind:"follow-up",text:e},`followup-${t}`))]}),S&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-warning) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-warning) 28%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-warning)",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,n.jsx)("path",{d:"M3 3v5h5"})]}),K("input_retrying")," (",S.attempt,"/",S.maxAttempts,")",S.errorMessage&&(0,n.jsxs)("span",{style:{opacity:.7,marginLeft:4},children:["— ",S.errorMessage]})]}),x&&(0,n.jsx)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-danger) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-danger) 28%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-danger)",display:"flex",alignItems:"center",gap:6},children:x}),t$&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-success) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-success) 28%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-success)",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),t$]}),(en.length>0||e8.length>0)&&(0,n.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap",alignItems:"center"},children:[en.map((e,t)=>(0,n.jsxs)("div",{style:{position:"relative",flexShrink:0},children:[(0,n.jsx)("img",{src:e.previewUrl,alt:"",style:{width:56,height:56,objectFit:"cover",borderRadius:6,border:"1px solid var(--border)",display:"block"}}),(0,n.jsx)("button",{type:"button",onClick:()=>tt(t),"aria-label":K("input_removeAttachment"),style:{position:"absolute",top:-4,right:-4,width:16,height:16,borderRadius:"50%",background:"var(--bg-panel)",border:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"var(--text-muted)"},children:(0,n.jsxs)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,n.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},`img-${t}`)),e8.map(e=>{let t=rN(e.name)?"video":rF(e.name)?"audio":rD(e.name)?"image":"file",r="error"===e.status?"var(--status-danger)":"uploading"===e.status?"var(--text-dim)":"var(--text-muted)";return(0,n.jsxs)("div",{title:e.error||e.path||e.name,style:{position:"relative",display:"flex",alignItems:"center",gap:6,maxWidth:220,padding:"6px 10px",borderRadius:8,border:`1px solid ${"error"===e.status?"color-mix(in srgb, var(--status-danger) 40%, var(--border))":"var(--border)"}`,background:"var(--bg-panel)",fontSize:12,color:r},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,textTransform:"uppercase",letterSpacing:.4,color:"var(--text-dim)"},children:t}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:"uploading"===e.status?K("input_uploadingAttachment"):e.name}),(0,n.jsx)("button",{type:"button",onClick:()=>tr(e.id),"aria-label":K("input_removeAttachment"),style:{flexShrink:0,width:16,height:16,borderRadius:"50%",background:"var(--bg)",border:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"var(--text-muted)"},children:(0,n.jsxs)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,n.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},e.id)})]}),(0,n.jsxs)("div",{ref:eE,style:{position:"relative"},children:[tq&&(0,n.jsxs)("div",{ref:ez,style:{...tB.style,zIndex:120,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"above"===tB.placement?"0 -6px 20px rgba(0,0,0,0.12)":"0 6px 20px rgba(0,0,0,0.12)",overflow:"hidden",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)",flexShrink:0},children:[(0,n.jsx)("span",{children:T?K("input_loadingCommands"):`${K("input_slashCommands")} \xb7 ${tf}`}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:K("input_tabEnter")})]}),(0,n.jsx)("div",{id:tD,role:"listbox","aria-label":K("input_slashCommands"),style:{flex:1,minHeight:0,overflowY:"auto",padding:10},children:T||0!==tp.length?th.map(e=>(0,n.jsxs)("section",{style:{marginBottom:12},children:[(0,n.jsxs)("div",{style:{position:"sticky",top:-10,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"4px 0 6px",background:"var(--bg)",color:"var(--text-dim)",fontSize:10,fontWeight:600,textTransform:"uppercase"},children:[(0,n.jsx)("span",{children:K(ip[e.source])}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:500},children:e.items.length})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:8},children:e.items.map(({command:e,index:t})=>{let r=t===eu;return(0,n.jsxs)("button",{id:`${tD}-opt-${t}`,role:"option","aria-selected":r,ref:e=>{eH.current[t]=e},type:"button",onMouseDown:t=>{t.preventDefault(),tC(e)},onMouseEnter:()=>ep(t),style:{width:"100%",minWidth:0,minHeight:58,display:"flex",flexDirection:"column",gap:4,justifyContent:"center",padding:"9px 10px",border:`1px solid ${r?"var(--accent)":"var(--border)"}`,borderRadius:7,background:r?"var(--bg-selected)":"var(--bg-panel)",color:"var(--text)",cursor:"pointer",textAlign:"left",boxShadow:r?"0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)":"none"},children:[(0,n.jsxs)("span",{style:{fontSize:13,fontFamily:"var(--font-mono)",overflowWrap:"anywhere",wordBreak:"break-word"},children:["/",e.name]}),e.description&&(0,n.jsx)("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",fontSize:11,lineHeight:1.35,color:"var(--text-dim)"},children:e.description})]},`${e.source}:${e.name}`)})})]},e.source)):(0,n.jsx)("div",{style:{padding:"2px 2px 4px",fontSize:12,color:"var(--text-dim)"},children:K("input_noCommands")})})]}),tK&&(D=ej&&(!ey||ey.cwd!==$),F=1===tj.length?K("input_matchCountOne"):K("input_matchCount",{count:tj.length}),N=ey?.truncated&&!tb?eh.query?` \xb7 ${K("input_searchingAllFiles")}`:` \xb7 ${K("input_indexTruncated")}`:"",(0,n.jsxs)("div",{ref:eW,style:{...tO.style,zIndex:120,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"above"===tO.placement?"0 -6px 20px rgba(0,0,0,0.12)":"0 6px 20px rgba(0,0,0,0.12)",overflow:"hidden",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)",flexShrink:0},children:[(0,n.jsx)("span",{children:D?K("input_loadingFiles"):`${K("input_files")} \xb7 ${F}${N}`}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:K("input_tabEnter")})]}),(0,n.jsx)("div",{id:tF,role:"listbox","aria-label":K("input_files"),style:{flex:1,minHeight:0,overflowY:"auto",padding:4},children:D||0!==tj.length?tj.map((e,t)=>{let r=t===em,i=e.path.split("/").pop()??e.path,o=e.path.slice(0,e.path.length-i.length);return(0,n.jsxs)("button",{id:`${tF}-opt-${t}`,role:"option","aria-selected":r,ref:e=>{eD.current[t]=e},type:"button",onMouseDown:t=>{t.preventDefault(),tS(e)},onMouseEnter:()=>ev(t),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 8px",minHeight:V?44:void 0,border:"none",borderRadius:6,background:r?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,fontFamily:"var(--font-mono)"},children:[(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:e.isDir?(0,n.jsx)(nM,{size:14}):n6(i,14)}),(0,n.jsxs)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[o&&(0,n.jsx)("span",{style:{color:"var(--text-dim)"},children:o}),i,e.isDir&&(0,n.jsx)("span",{style:{color:"var(--text-dim)"},children:"/"})]})]},`${e.isDir?"d":"f"}:${e.path}`)}):(0,n.jsx)("div",{style:{padding:"6px 8px",fontSize:12,color:"var(--text-dim)"},children:ty&&!tb?K("input_searching"):K("input_noMatchingFiles")})})]})),(0,n.jsxs)("div",{className:"chat-input-shell",style:{display:"flex",gap:8,alignItems:"flex-end",background:"var(--bg-elevated)",border:`1px solid ${el?"var(--tool-bg)":l&&(r||o)?"color-mix(in srgb, var(--status-warning) 45%, var(--border-strong))":"var(--border-strong)"}`,borderRadius:"var(--radius-lg)",padding:"10px 10px 10px 10px",boxShadow:"var(--shadow-input)",transition:"border-color 0.15s, background 0.15s, box-shadow 0.15s"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>eL.current?.click(),disabled:l,"data-tooltip":K("input_attachFile"),className:"instant-tooltip tooltip-up","aria-label":K("input_attachFile"),style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,padding:0,background:"none",border:"none",borderRadius:9,color:td?"var(--accent)":"var(--text-muted)",cursor:l?"not-allowed":"pointer",opacity:l?.5:1,transition:"background 0.12s, color 0.12s",alignSelf:"flex-end"},onMouseEnter:e=>{l||(e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color=td?"var(--accent)":"var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color=td?"var(--accent)":"var(--text-muted)"},children:(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})})}),(0,n.jsx)("textarea",{ref:eC,value:Z,role:"combobox","aria-expanded":tq||tK,"aria-controls":tJ,"aria-activedescendant":tV,"aria-autocomplete":"list",onChange:e=>{G(e.target.value),tx(e.target.value,e.target.selectionStart)},onSelect:e=>{let t=e.currentTarget;tx(t.value,t.selectionStart)},onKeyDown:tT,onCompositionStart:()=>{eA.current=!0},onCompositionEnd:e=>{eA.current=!1,eP.current=Date.now();let t=e.currentTarget;tx(t.value,t.selectionStart)},onInput:tM,onPaste:tE,placeholder:l&&(r||o)?K("input_placeholderSteer"):l?K("input_placeholderRunning"):K("input_placeholderMessage"),rows:1,style:{flex:1,background:"none",border:"none",outline:"none",resize:"none",color:"var(--text)",fontSize:14,lineHeight:1.45,fontFamily:"inherit",minHeight:32,maxHeight:200,padding:"5px 0",boxSizing:"border-box",overflow:"auto"}}),(U=(O=l&&(r||o))?tg:!!((Z.trim()||en.length||ta)&&!ts),q=O?en.length?K("input_imageQueueDisabled"):K("input_sendQueueTooltip"):void 0,(0,n.jsxs)("button",{type:"button",onClick:()=>{O?t_("followup"):tc()},disabled:!U,title:q,"data-tooltip":q,className:q?"instant-tooltip tooltip-up":void 0,style:{flexShrink:0,alignSelf:"flex-end",display:"flex",alignItems:"center",gap:6,padding:"7px 14px",background:U?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:8,color:U?"var(--accent-foreground)":"var(--text-dim)",cursor:U?"pointer":"not-allowed",fontSize:13,fontWeight:600,letterSpacing:"-0.01em",boxShadow:U?"0 1px 3px color-mix(in srgb, var(--accent) 30%, transparent)":"none",transition:"background 0.15s, box-shadow 0.15s"},children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"2",y1:"7",x2:"11",y2:"7"}),(0,n.jsx)("polyline",{points:"7.5 3 12 7 7.5 11"})]}),K("input_send")]}))]})]}),el&&(0,n.jsx)("div",{className:"text-xs px-2 py-1",style:{color:ea?"var(--text-muted)":"var(--accent)",marginTop:4},children:K("input_shellStatus",{scope:ea?K("input_shellLocal"):K("input_shellModel")})}),(0,n.jsxs)("div",{style:{marginTop:8,display:V?"grid":"flex",gridTemplateColumns:V?"minmax(0, 1fr) auto":void 0,alignItems:"center",gap:6},children:[(0,n.jsxs)("div",{style:{flex:"0 1 auto",minWidth:0,display:"flex",alignItems:"center",gap:2,maxWidth:V?"100%":void 0},children:[A&&(0,n.jsx)("button",{type:"button",onClick:A,"aria-expanded":!L,"aria-label":L?K("footer_expand"):K("footer_collapse"),title:L?K("footer_expand"):K("footer_collapse"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:V?26:24,height:V?26:24,padding:0,border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:L?(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m6 9 6 6 6-6"})}):(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m6 15 6-6 6 6"})})}),tz.length>0&&h&&(0,n.jsxs)("div",{ref:e_,style:{position:"relative",flex:"0 1 auto",minWidth:V?96:140},children:[(0,n.jsxs)("button",{ref:eR,"aria-haspopup":"listbox","aria-expanded":Q,"aria-controls":tN,onClick:()=>{let e=!Q;ee(e),e&&(er(!1),ec(!1),ex(!1))},title:l?K("input_changeAppliesNextTurn"):s?eZ({modelId:s.modelId,name:tL??s.modelId,provider:s.provider,contextWindow:u?.find(e=>e.provider===s?.provider&&e.id===s?.modelId)?.contextWindow,maxTokens:u?.find(e=>e.provider===s?.provider&&e.id===s?.modelId)?.maxTokens}):void 0,style:{display:"flex",alignItems:"center",gap:V?4:6,justifyContent:"flex-start",padding:V?"6px 8px":"8px 12px",height:32,width:"auto",minWidth:V?96:140,maxWidth:V?220:340,overflow:"hidden",background:Q?"var(--bg-hover)":"none",border:"none",borderRadius:9,color:"var(--text-muted)",cursor:"pointer",fontSize:V?11:12,transition:"background 0.12s, color 0.12s",flex:"0 1 auto"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background=Q?"var(--bg-hover)":"none",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,n.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"}),(0,n.jsx)("line",{x1:"9",y1:"1",x2:"9",y2:"4"}),(0,n.jsx)("line",{x1:"15",y1:"1",x2:"15",y2:"4"}),(0,n.jsx)("line",{x1:"9",y1:"20",x2:"9",y2:"23"}),(0,n.jsx)("line",{x1:"15",y1:"20",x2:"15",y2:"23"}),(0,n.jsx)("line",{x1:"20",y1:"9",x2:"23",y2:"9"}),(0,n.jsx)("line",{x1:"20",y1:"14",x2:"23",y2:"14"}),(0,n.jsx)("line",{x1:"1",y1:"9",x2:"4",y2:"9"}),(0,n.jsx)("line",{x1:"1",y1:"14",x2:"4",y2:"14"})]}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:tL??K("input_modelTitle")}),(0,n.jsxs)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginLeft:2},children:["\xb7",tH]})]}),Q&&(0,a.createPortal)((0,n.jsx)("div",{ref:eI,id:tN,role:"listbox","aria-label":K("input_modelTitle"),onKeyDown:e=>(function(e,t){let r,n=e.key;if("ArrowDown"!==n&&"ArrowUp"!==n&&"Home"!==n&&"End"!==n)return;let i=Array.from(e.currentTarget.querySelectorAll(t));if(0===i.length)return;e.preventDefault();let o=i.indexOf(document.activeElement);r="Home"===n?0:"End"===n?i.length-1:"ArrowDown"===n?o<0?0:(o+1)%i.length:o<0?i.length-1:(o-1+i.length)%i.length,i[r]?.focus({preventScroll:!0})})(e,'[role="option"]'),style:{...tU.style,zIndex:500,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"above"===tU.placement?"0 -4px 16px rgba(0,0,0,0.10)":"0 4px 16px rgba(0,0,0,0.10)",overflow:"hidden",overflowY:"auto"},children:tW.map((e,t)=>{let r=p?.[e.provider]===!1;return(0,n.jsxs)("div",{children:[tW.length>1&&(0,n.jsxs)("div",{style:{padding:"6px 12px 4px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em",borderTop:t>0?"1px solid var(--border)":"none",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.provider}),r&&(0,n.jsx)("span",{title:K("models_authRequiredToViewModels"),style:{flexShrink:0,fontSize:9,padding:"1px 6px",borderRadius:999,border:"1px solid var(--border)",color:"var(--text-dim)",textTransform:"none",letterSpacing:0,fontWeight:400},children:K("models_authRequired")})]}),e.options.map(e=>{let t=e.modelId===s?.modelId&&e.provider===s?.provider,i=r&&!t,o=i?K("models_authRequiredToViewModels"):eZ(e),l=e0(e.provider,e.modelId),d=function(e,t,r,n="off"){return t?nk(r)??nk(e)??n:nk(e)??n}(l,t,v,eX),c=eG(e.provider,e.modelId),u=`${e.provider}:${e.modelId}`,p=eO===u,f=()=>{!i&&h&&(ee(!1),eY(),eR.current?.focus({preventScroll:!0}),h(e.provider,e.modelId,function(e,t="off"){return nk(e)??t}(l,eX)))};return(0,n.jsxs)("div",{role:"option","aria-selected":t,"aria-disabled":i||void 0,title:o,tabIndex:i?-1:0,onClick:f,onKeyDown:e=>{i||("Enter"===e.key||" "===e.key)&&(e.preventDefault(),f())},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",minHeight:V?44:void 0,background:t?"var(--bg-selected)":"none",border:"none",color:i?"var(--text-dim)":t?"var(--text)":"var(--text-muted)",cursor:i?"not-allowed":"pointer",fontSize:12,textAlign:"left",fontWeight:t?600:400,whiteSpace:"nowrap",opacity:i?.55:1,boxSizing:"border-box"},onMouseEnter:e=>{t||i||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{t||i||(e.currentTarget.style.background="none")},children:[t?(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,n.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})}):(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)("span",{style:{flex:"1 1 auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:e.name}),"number"==typeof e.contextWindow&&(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:il(e.contextWindow)}),(0,n.jsxs)("button",{type:"button","data-depth-trigger":u,"aria-label":K("input_modelThinkingLevel"),"aria-expanded":p,disabled:i,onClick:e=>{e.stopPropagation(),e.preventDefault(),i||(p?eY():eJ(u,e.currentTarget))},style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,minWidth:44,minHeight:V?44:32,justifyContent:"center",padding:"0 6px",borderRadius:6,border:"none",background:p?"var(--bg-selected)":"var(--bg-subtle)",color:"var(--text-muted)",cursor:i?"not-allowed":"pointer",fontSize:11,fontFamily:"var(--font-mono)"},children:[d,(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})]}),p&&eq&&(0,a.createPortal)((0,n.jsx)("div",{ref:eV,role:"listbox","aria-label":K("input_modelThinkingLevel"),style:{position:"fixed",top:eq.top,left:eq.left,zIndex:10070,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 4px 16px rgba(0,0,0,0.12)",padding:4,display:"flex",flexDirection:"column",gap:2,minWidth:116},onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:c.map(t=>(0,n.jsx)("button",{type:"button",role:"option","aria-selected":t===d,onClick:r=>{r.stopPropagation(),e1(e.provider,e.modelId,t)},style:{minHeight:V?44:30,padding:"0 10px",border:"none",borderRadius:6,background:t===d?"var(--bg-selected)":"none",color:t===d?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:11,fontFamily:"var(--font-mono)",textAlign:"left"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background=t===d?"var(--bg-selected)":"none"},children:t},t))}),document.body)]},u)})]},e.provider)})}),document.body)]})]}),!V&&(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)("div",{style:{flex:"0 0 auto",display:"flex",alignItems:"center",justifyContent:"flex-end",marginLeft:"auto"},children:(l||g)&&(0,n.jsxs)("button",{type:"button",onClick:()=>{g&&f?f():t()},"data-tooltip":g?K("input_stopCompaction"):K("chat_cancel"),className:"instant-tooltip tooltip-up",style:{display:"flex",alignItems:"center",gap:6,padding:V?"6px 10px":"8px 14px",height:32,background:"color-mix(in srgb, var(--status-danger) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-danger) 30%, transparent)",borderRadius:9,color:"var(--status-danger)",cursor:"pointer",fontSize:12,fontWeight:600,whiteSpace:"nowrap",letterSpacing:"-0.01em",transition:"background 0.12s"},onMouseEnter:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--status-danger) 16%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--status-danger) 8%, transparent)"},children:[(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,n.jsx)("rect",{x:"1.5",y:"1.5",width:"7",height:"7",rx:"1.5",fill:"currentColor"})}),g?K("input_stopCompaction"):K("input_stop")]})})]})]})]})});function iw(e){return"user"===e.role?{bg:"var(--bg-selected)",border:"var(--accent)"}:{bg:"var(--bg-hover)",border:"var(--text-dim)"}}function ik({messages:e,plan:t,scrollContainer:r,messageRefs:o}){let[l,a]=(0,i.useState)(0),[s,d]=(0,i.useState)(1),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)([]),[f,g]=(0,i.useState)(!1),[x,m]=(0,i.useState)(null),v=(0,i.useRef)(!1),y=(0,i.useRef)(null),b=(0,i.useMemo)(()=>{let r,n=(r=t[t.length-1],r?.kind==="message"&&"live"===r.source?r.messageOverride??null:null);return n?[...e,n]:e},[t,e]),j=(0,i.useRef)(b);j.current=b;let w=(0,i.useCallback)(()=>{let e=r.current;if(!e)return;let t=e.scrollHeight,n=e.clientHeight,i=t-n;u(i>20),i<=0?(a(0),d(1)):(a(e.scrollTop/i),d(n/t))},[r]),k=(0,i.useRef)(null),S=(0,i.useCallback)(()=>{k.current||(k.current=setTimeout(()=>{k.current=null;let e=r.current;if(!e)return;let t=e.scrollHeight;if(t<=0)return;let n=o.current,i=[],l=0,a=j.current;for(let r=0;r<a.length;r++){let o=a[r];if("user"!==o.role&&"assistant"!==o.role)continue;let s=n?.[l];if(l++,("user"===o.role||"assistant"===o.role&&(o.content??[]).some(e=>"text"===e.type))&&s){let r=s.getBoundingClientRect(),n=e.getBoundingClientRect(),l=r.top-n.top+e.scrollTop,a=r.height;i.push({topRatio:l/t,heightRatio:a/t,msg:o,index:i.length})}}h(i)},150))},[r,o]);(0,i.useEffect)(()=>{let e=r.current;if(e)return e.addEventListener("scroll",w,{passive:!0}),()=>e.removeEventListener("scroll",w)},[r,w]),(0,i.useEffect)(()=>{let e=r.current;if(!e)return;let t=()=>{w(),S()},n=new ResizeObserver(t);return n.observe(e),e.firstElementChild&&n.observe(e.firstElementChild),t(),()=>{n.disconnect(),k.current&&(clearTimeout(k.current),k.current=null)}},[r,S,w]),(0,i.useEffect)(()=>{let e=setTimeout(()=>{w(),S()},50);return()=>clearTimeout(e)},[e.length,S,w]);let C=(0,i.useCallback)(e=>{let t=r.current;if(!t)return;let n=t.scrollHeight-t.clientHeight;n<=0||(t.scrollTop=Math.max(0,Math.min(1-s,e))/(1-s)*n)},[r,s]),_=(0,i.useCallback)(e=>{if(!c)return;v.current=!0;let t=e.currentTarget.getBoundingClientRect(),r=(e.clientY-t.top)/t.height,n=r-l*(1-s),i=n>=0&&n<=s?n:s/2;C(r-i);let o=e=>{v.current&&C((e.clientY-t.top)/t.height-i)},a=()=>{v.current=!1,window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",a)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",a)},[c,s,l,C]),R=y.current?.clientHeight??600,I=(0,i.useMemo)(()=>{if(!f||0===p.length)return[];let e=p.map(e=>Math.round(e.topRatio*R-11));for(let t=0;t<10;t++){for(let t=1;t<e.length;t++){let r=e[t-1]+22+2;e[t]<r&&(e[t]=r)}for(let t=e.length-2;t>=0;t--){let r=e[t+1]-22-2;e[t]>r&&(e[t]=r)}}for(let t=0;t<e.length;t++)e[t]=Math.max(0,Math.min(R-22,e[t]));return e},[f,p,R]);if(!c)return null;let T=l*(1-s)*100,M=100*s,E=null!==x&&p.length>0?p.reduce((e,t)=>Math.abs(t.topRatio-x)<Math.abs(p[e].topRatio-x)?t.index:e,0):null;return(0,n.jsxs)("div",{ref:y,onMouseDown:_,onMouseEnter:()=>g(!0),onMouseLeave:()=>{g(!1),m(null)},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect();m((e.clientY-t.top)/t.height)},style:{width:36,flexShrink:0,position:"relative",cursor:"default",userSelect:"none",borderLeft:"1px solid var(--border)",background:"var(--bg-panel)",overflow:"visible"},children:[(0,n.jsx)("div",{style:{position:"absolute",left:0,right:0,top:`${T}%`,height:`${M}%`,background:"var(--bg-hover)",borderTop:"1px solid var(--border-strong)",borderBottom:"1px solid var(--border-strong)",pointerEvents:"none",zIndex:1}}),p.map(e=>{let t=iw(e.msg),r=f&&E===e.index,i="user"===e.msg.role,o=100*e.topRatio;return(0,n.jsx)("div",{style:{position:"absolute",top:`${o}%`,transform:"translateY(-50%)",left:0,right:0,height:"12px",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:2},children:(0,n.jsx)("div",{style:{width:i?8:6,height:i?8:6,borderRadius:i?2:"50%",background:t.bg,border:`1.5px solid ${t.border}`,flexShrink:0,transition:"transform 0.1s",transform:r?"scale(1.6)":"scale(1)"}})},e.index)}),(0,n.jsx)("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,background:"var(--border)",transform:"translateX(-50%)",zIndex:0}}),f&&p.map((e,t)=>{let r=function(e){if("user"===e.role){let t=e.content;return"string"==typeof t?t.slice(0,200):Array.isArray(t)?t.filter(e=>"text"===e.type&&e.text).map(e=>e.text).join("\n").slice(0,200):""}if("assistant"===e.role){let t=e.content??[],r=t.filter(e=>"text"===e.type).map(e=>e.text).join(" ");if(r)return r.slice(0,200);let n=t.filter(e=>"toolCall"===e.type).map(e=>e.toolName);if(n.length)return n.join(", ")}return""}(e.msg),i=iw(e.msg),o=E===e.index;return r&&0!==I.length?(0,n.jsx)("div",{style:{position:"absolute",top:I[t],right:"100%",marginRight:6,background:"var(--bg)",borderTop:`1px solid ${o?i.border:"var(--border)"}`,borderRight:`1px solid ${o?i.border:"var(--border)"}`,borderBottom:`1px solid ${o?i.border:"var(--border)"}`,borderLeft:`2px solid ${i.border}`,borderRadius:4,padding:"2px 7px",width:200,zIndex:100,pointerEvents:"none",opacity:o?1:.45,transition:"top 0.1s, opacity 0.1s"},children:(0,n.jsx)("div",{style:{fontSize:11,color:o?"var(--text)":"var(--text-muted)",lineHeight:1.4,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:r})},e.index):null})]})}function iS(e){return"number"==typeof e.expiresAt&&Number.isFinite(e.expiresAt)&&e.expiresAt<=Date.now()}function iC(){return(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function i_(){return(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}let iR={width:"100%",maxWidth:"100%",minHeight:26,padding:"6px 9px",overflow:"hidden",border:"1px solid var(--border)",borderRadius:6,font:"inherit",fontSize:12,lineHeight:1.45,textAlign:"left",whiteSpace:"normal",overflowWrap:"anywhere"},iI={minWidth:0,height:28,flex:1,padding:"0 8px",border:"1px solid var(--border)",borderRadius:6,outline:"none",background:"var(--bg)",color:"var(--text)",font:"inherit",fontSize:12};function iT({request:e,disabled:t=!1,onRespond:r}){let{t:o}=(0,es.s9)(),l=(0,i.useRef)(null),[a,s]=(0,i.useState)(null),[d,c]=(0,i.useState)({requestId:e.id,value:""}),[u,p]=(0,i.useState)({requestId:e.id,value:"editor"===e.method?e.prefill??"":""}),h=u.requestId===e.id?u.value:"",f=d.requestId===e.id?d.value:"",g=iS(e),x=a===e.id,m=t||g||x,v=e.id,y=n=>{t||l.current===v||iS(e)||(l.current=v,s(v),r(n))},b=t=>{c({requestId:e.id,value:t})},j="select"===e.method?e.options:[],w=g?o("extension_expired"):t?o("extension_waitingEnded"):x?o("extension_responseSent"):null;return(0,n.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":`${o("extension_extension")}: ${e.title}`,style:{position:"fixed",inset:0,zIndex:60,display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"color-mix(in srgb, var(--bg) 55%, transparent)",backdropFilter:"blur(2px)"},children:(0,n.jsxs)("section",{"aria-label":`${o("extension_extension")}: ${e.title}`,style:{width:"min(560px, 100%)",maxHeight:"80vh",display:"flex",flexDirection:"column",overflow:"hidden",border:"1px solid color-mix(in srgb, var(--accent) 20%, var(--border))",borderRadius:10,background:"var(--bg-panel)",boxShadow:"0 12px 40px color-mix(in srgb, var(--bg) 70%, transparent)"},children:[(0,n.jsxs)("div",{style:{display:"flex",minHeight:32,alignItems:"center",gap:8,padding:"6px 10px 6px 12px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:m?"var(--text-dim)":"var(--accent)"}}),(0,n.jsx)("div",{title:e.title,style:{minWidth:0,flex:1,overflow:"hidden",color:"var(--text)",fontSize:13,fontWeight:650},children:(0,n.jsx)(rS,{className:"markdown-body--extension",children:e.title})}),(0,n.jsxs)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:9,letterSpacing:.35,textTransform:"uppercase"},children:[o("extension_extension")," \xb7 ",e.method]})]}),(0,n.jsxs)("div",{style:{padding:"10px 12px",overflowY:"auto"},children:["confirm"===e.method&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[(0,n.jsx)("div",{style:{minWidth:0,flex:1,color:"var(--text-muted)",fontSize:12,lineHeight:1.5,overflowWrap:"anywhere"},children:(0,n.jsx)(rS,{className:"markdown-body--extension",children:e.message})}),(0,n.jsxs)("div",{style:{display:"flex",flexShrink:0,alignItems:"center",gap:5},children:[(0,n.jsx)("button",{type:"button",className:"sidebar-icon-btn sidebar-icon-btn--danger",disabled:m,title:o("extension_cancel"),"aria-label":o("extension_cancel"),onClick:()=>y({cancelled:!0}),children:(0,n.jsx)(i_,{})}),(0,n.jsx)("button",{type:"button",className:"sidebar-icon-btn",disabled:m,title:o("extension_confirm"),"aria-label":o("extension_confirm"),onClick:()=>y({confirmed:!0}),style:{color:"var(--accent)"},children:(0,n.jsx)(iC,{})})]})]}),"input"===e.method&&(0,n.jsxs)("div",{style:{display:"flex",minWidth:0,alignItems:"center",gap:5},children:[(0,n.jsx)("input",{value:f,disabled:m,placeholder:e.placeholder,"aria-label":e.title,autoComplete:"off",autoFocus:!0,onChange:e=>b(e.target.value),onKeyDown:e=>{if(!e.nativeEvent.isComposing){if("Enter"===e.key){e.preventDefault(),y({value:f});return}"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),f.length>0?b(""):e.currentTarget.blur())}},style:iI}),(0,n.jsx)("button",{type:"button",className:"sidebar-icon-btn",disabled:m,title:o("extension_submit"),"aria-label":o("extension_submit"),onClick:()=>y({value:f}),style:{color:"var(--accent)"},children:(0,n.jsx)(iC,{})}),(0,n.jsx)("button",{type:"button",className:"sidebar-icon-btn sidebar-icon-btn--danger",disabled:m,title:o("extension_cancel"),"aria-label":o("extension_cancel"),onClick:()=>y({cancelled:!0}),children:(0,n.jsx)(i_,{})})]}),"editor"===e.method&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsx)("textarea",{value:h,disabled:m,placeholder:e.prefill??"","aria-label":e.title,autoComplete:"off",autoFocus:!0,onChange:t=>p({requestId:e.id,value:t.target.value}),onKeyDown:e=>{e.nativeEvent.isComposing||((e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),y({value:h})),"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),y({cancelled:!0})))},style:{minWidth:0,minHeight:110,maxHeight:320,padding:"8px 10px",border:"1px solid var(--border)",borderRadius:6,outline:"none",background:"var(--bg)",color:"var(--text)",font:"inherit",fontSize:12,lineHeight:1.55,fontFamily:"var(--font-mono)",resize:"vertical",overflowY:"auto"}}),(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:5},children:[(0,n.jsx)("button",{type:"button",className:"extension-card-btn",disabled:m,title:o("extension_submit"),"aria-label":o("extension_submit"),onClick:()=>y({value:h}),style:{color:"var(--accent)",borderColor:"var(--accent)"},children:o("extension_submit")}),(0,n.jsx)("button",{type:"button",className:"extension-card-btn",disabled:m,title:o("extension_cancel"),"aria-label":o("extension_cancel"),onClick:()=>y({cancelled:!0}),children:o("extension_cancel")}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontSize:10,color:"var(--text-dim)"},children:o("extension_ctrlEnterHint")})]})]}),"select"===e.method&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsx)("div",{role:"group","aria-label":o("extension_selectAnOption"),style:{display:"flex",flexDirection:"column",gap:6},children:j.map((e,t)=>(0,n.jsx)("button",{type:"button",disabled:m,title:e,onClick:()=>{y({value:e})},onMouseEnter:e=>{m||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg)"},style:{...iR,background:"var(--bg)",color:m?"var(--text-dim)":"var(--text)",cursor:m?"not-allowed":"pointer"},children:e},`${t}-${e}`))}),(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:5},children:(0,n.jsx)("button",{type:"button",className:"extension-card-btn",disabled:m,title:o("extension_cancel"),"aria-label":o("extension_cancel"),onClick:()=>y({cancelled:!0}),children:o("extension_cancel")})})]})]}),w&&(0,n.jsx)("div",{role:"status","aria-live":"polite",style:{padding:"5px 10px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)",color:g?"var(--status-warning)":"var(--text-dim)",fontSize:10,lineHeight:1.4},children:w})]})})}var iM=r(38798),iE=r(51914);function iz(e,t=12,r=[]){let n=new Map;for(let t of e){let e=t.projectRoot??t.cwd;if(!e)continue;let r=t.modified?Date.parse(t.modified):t.created?Date.parse(t.created):0,i=n.get(e)??{count:0,latest:0};i.count+=1,r>i.latest&&(i.latest=r),n.set(e,i)}let i=[...n.entries()].map(([e,t])=>({cwd:e,count:t.count,latest:t.latest})).sort((e,t)=>t.latest-e.latest).slice(0,t),o=new Set(i.map(e=>e.cwd)),l=r.filter(e=>!o.has(e)).map(e=>({cwd:e,count:0,latest:0}));return l.length>0?[...l,...i].slice(0,t):i}let iW="pidance.guideWorktrees.v1",iL=null;function iA(){try{let e=window.localStorage.getItem(iW);return function(e,t){let r,n=new Map;if(!e)return n;try{r=JSON.parse(e)}catch{return n}if("object"!=typeof r||null===r||Array.isArray(r))return n;for(let[e,i]of Object.entries(r)){if("object"!=typeof i||null===i||Array.isArray(i))continue;let{items:r,at:o}=i;Array.isArray(r)&&"number"==typeof o&&(t-o>=6e4||n.set(e,{items:r,at:o}))}return n}(e,Date.now())}catch{return new Map}}function iP(e){try{window.localStorage.setItem(iW,function(e){let t={};for(let[r,n]of e)t[r]=n;return JSON.stringify(t)}(e))}catch{}}function i$({targetCwd:e,onTargetChange:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)([]),[a,s]=(0,i.useState)(!0),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),g=(0,i.useRef)((iL||(iL={data:new Map,loadedAt:new Map,inFlight:new Map}),iL)),x=(0,i.useRef)(null),m=(0,i.useRef)(t=>{if(!e)return;let r=function(e,t){if(e.some(e=>e.cwd===t))return t;let r=t.match(/^(.+)-worktrees\/[^/]+$/);if(r&&e.some(e=>e.cwd===r[1]))return r[1];let n=e.filter(e=>t.startsWith(e.cwd+"/")).sort((e,t)=>t.cwd.length-e.cwd.length)[0];return n?n.cwd:null}(t,e);r&&(c(r),b.current(r))});(0,i.useEffect)(()=>{var e=g.current;for(let[t,r]of iA())e.data.has(t)&&e.loadedAt.has(t)||(e.data.set(t,r.items),e.loadedAt.set(t,r.at))},[]);let v=(0,i.useMemo)(()=>W().addedProjectRoots,[]);(0,i.useEffect)(()=>{let e=!1,t=Y();if(t&&t.length>0){let e=iz(t,12,v);l(e),s(!1),m.current(e)}return(async()=>{try{let t=await fetch("/api/sessions"),r=(await t.json()).sessions??[];Z(r);let n=iz(r,12,v);e||(l(n),m.current(n))}catch{}finally{e||s(!1)}})(),()=>{e=!0}},[v]);let y=(0,i.useCallback)(e=>{c(e),x.current=e;let t=function(e,t,r,n=Date.now()){let i=e.loadedAt.get(t),o=void 0!==i&&n-i<6e4?e.data.get(t)??null:null,l=e.inFlight.get(t);if(l)return{promise:l,stale:o};let a=Promise.resolve().then(r).then(r=>(e.data.set(t,r),e.loadedAt.set(t,n),r)).finally(()=>{e.inFlight.get(t)===a&&e.inFlight.delete(t)});return e.inFlight.set(t,a),{promise:a,stale:o}}(g.current,e,async()=>{let t=new URLSearchParams({cwd:e}),r=await fetch(`/api/worktrees?${t.toString()}`),n=(await r.json()).worktrees??[],i=iA();return i.set(e,{items:n,at:Date.now()}),iP(i),n});return t.stale?(p(t.stale),f(!1)):(p(null),f(!0)),t.promise.then(t=>{x.current===e&&(p(t),f(!1))}).catch(()=>{x.current===e&&(p(e=>e??[]),f(!1))})},[]),b=(0,i.useRef)(y);b.current=y;let j=u?.find(e=>e.isMain)??null,w=u?.filter(e=>!e.isMain)??[],k=null!==u&&u.length>0,S=e&&u?.some(t=>t.path===e)?e:"",[C,_]=(0,i.useState)(!1),[R,I]=(0,i.useState)(""),[T,M]=(0,i.useState)(!1),[E,z]=(0,i.useState)(null),L=(0,i.useRef)(null);(0,i.useEffect)(()=>{C&&L.current?.focus()},[C]);let A=(0,i.useCallback)(async()=>{let e=R.trim();if(e&&d&&!T){M(!0),z(null);try{var r,n;let i=await fetch("/api/worktrees",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:d,branch:e})}),o=await i.json();if(!i.ok||!o.path)return void z(o.error??`HTTP ${i.status}`);t(o.path,d??o.path),_(!1),I(""),iL&&(d?(r=iL,n=d,r.data.delete(n),r.loadedAt.delete(n),r.inFlight.delete(n)):(iL.data.clear(),iL.loadedAt.clear(),iL.inFlight.clear()));let l=iA();l.delete(d),iP(l),await y(d)}catch(e){z(e instanceof Error?e.message:String(e))}finally{M(!1)}}},[R,d,T,t,y]);return(0,n.jsxs)("div",{className:"guide-selectors",children:[(0,n.jsxs)("div",{className:"guide-selector",children:[(0,n.jsx)(iM.A,{size:12,className:"guide-selector-icon","aria-hidden":!0}),(0,n.jsxs)("select",{className:"guide-select",value:d??"",disabled:a||0===o.length,onChange:e=>{let r=e.target.value;r&&(t(r,r),y(r))},"aria-label":r("guide_projectTitle"),children:[(0,n.jsx)("option",{value:"",disabled:!0,children:a?r("guide_loading"):0===o.length?r("guide_noProjects"):r("guide_projectPlaceholder")}),o.map(e=>{var t;return(0,n.jsx)("option",{value:e.cwd,title:`${e.cwd} \xb7 ${r("guide_sessionCount",{count:e.count})}`,children:(t=e.cwd).replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()||t},e.cwd)})]})]}),k&&(0,n.jsxs)("div",{className:"guide-selector",children:[(0,n.jsx)(tL.A,{size:12,className:"guide-selector-icon","aria-hidden":!0}),(0,n.jsxs)("select",{className:"guide-select",value:S,disabled:!d||h||null===u,onChange:e=>{let r=e.target.value;r&&t(r,d??r)},"aria-label":r("guide_worktreeTitle"),children:[(0,n.jsx)("option",{value:"",disabled:!0,children:r("guide_branchPlaceholder")}),j&&(0,n.jsx)("optgroup",{label:r("guide_mainWorktree"),children:(0,n.jsx)("option",{value:j.path,children:j.branch??j.path})}),w.length>0&&(0,n.jsx)("optgroup",{label:r("guide_worktree"),children:w.map(e=>(0,n.jsxs)("option",{value:e.path,children:[e.branch??e.path," \xb7 ",e.path]},e.path))})]}),!T&&!C&&(0,n.jsx)("button",{type:"button",className:"guide-new-worktree-btn",title:r("guide_newWorktree"),"aria-label":r("guide_newWorktree"),disabled:!d||h,onClick:()=>{z(null),_(!0)},children:(0,n.jsx)(iE.A,{size:12})})]}),k&&C&&(0,n.jsxs)("div",{className:"guide-worktree-form",children:[(0,n.jsx)("input",{ref:L,className:"guide-worktree-input",value:R,placeholder:r("guide_newWorktreePlaceholder"),disabled:T,onChange:e=>I(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||A(),"Escape"===e.key&&(_(!1),I(""),z(null))}}),(0,n.jsx)("button",{type:"button",className:"extension-card-btn",disabled:T||!R.trim(),onClick:()=>void A(),children:T?r("guide_creatingWorktree"):r("guide_createWorktree")}),(0,n.jsx)("button",{type:"button",className:"extension-card-btn",disabled:T,onClick:()=>{_(!1),I(""),z(null)},children:r("extension_cancel")}),E&&(0,n.jsx)("span",{className:"guide-worktree-error",children:E})]})]})}let iH={pending:"todo_pending",in_progress:"todo_inProgress",completed:"todo_completed"},iD={high:"todo_high",medium:"todo_medium",low:"todo_low"},iF={high:"var(--status-danger)",medium:"var(--status-warning)",low:"var(--text-dim)"};function iN({status:e}){return(0,n.jsx)("span",{className:"in_progress"===e?"animate-[pulse_1.5s_ease-in-out_infinite]":void 0,style:{display:"inline-flex",flex:"0 0 14px",color:"completed"===e?"var(--status-success)":"in_progress"===e?"var(--accent)":"var(--text-dim)"},"aria-hidden":"true",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"8"}),"completed"===e?(0,n.jsx)("polyline",{points:"8.5 12.5 11 15 15.8 9.6"}):"in_progress"===e?(0,n.jsx)("circle",{cx:"12",cy:"12",r:"2.5",fill:"currentColor",stroke:"none"}):null]})})}function iB({todos:e,collapsed:t,onToggle:r}){let{t:o}=(0,es.s9)(),l=(0,i.useId)();if(0===e.length)return null;let a=e.reduce((e,t)=>e+ +("completed"===t.status),0),s=e.find(e=>"in_progress"===e.status)??null,d=e.reduce((e,t)=>e+ +("in_progress"===t.status),0),c=Math.round(a/e.length*100),u=a===e.length;return(0,n.jsxs)("section",{"aria-label":o("todo_toggle"),style:{marginBottom:8,overflow:"hidden",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg-panel)"},children:[(0,n.jsxs)("button",{type:"button","aria-controls":l,"aria-expanded":!t,title:t?o("todo_expand"):o("todo_collapse"),onClick:r,style:{display:"flex",width:"100%",minHeight:32,alignItems:"center",gap:8,padding:"5px 9px",border:0,background:"transparent",color:"var(--text-muted)",cursor:"pointer",font:"inherit",textAlign:"left"},children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{flexShrink:0,transform:t?"none":"rotate(90deg)",transition:"transform 0.15s ease"},children:(0,n.jsx)("polyline",{points:"4 2.5 7.5 6 4 9.5"})}),(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:10,fontWeight:650,letterSpacing:.45,textTransform:"uppercase"},children:o("todo_toggle")}),(0,n.jsxs)("span",{style:{flexShrink:0,color:u?"var(--status-success)":"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:10},children:[a,"/",e.length]}),(0,n.jsx)("span",{role:"progressbar","aria-label":o("todo_complete"),"aria-valuemin":0,"aria-valuemax":e.length,"aria-valuenow":a,title:`${c}% ${o("todo_complete")}`,style:{width:46,height:3,flexShrink:0,overflow:"hidden",borderRadius:999,background:"color-mix(in srgb, var(--border) 78%, transparent)"},children:(0,n.jsx)("span",{style:{display:"block",width:`${c}%`,height:"100%",borderRadius:"inherit",background:u?"var(--status-success)":"var(--accent)",transition:"width 0.2s ease"}})}),s?(0,n.jsxs)("span",{className:"hidden min-[520px]:flex",style:{minWidth:0,alignItems:"center",gap:5,color:"var(--text-muted)",fontSize:11},children:[(0,n.jsx)("span",{className:"animate-[pulse_1.5s_ease-in-out_infinite]","aria-hidden":"true",style:{width:5,height:5,flexShrink:0,borderRadius:"50%",background:"var(--accent)"}}),(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:10},children:d>1?`${d} ${o("todo_active")}`:o("todo_active")}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.activeForm??s.content})]}):(0,n.jsx)("span",{style:{flex:1}})]}),!t&&(0,n.jsx)("ul",{id:l,style:{maxHeight:224,margin:0,padding:"3px 0 5px",overflowY:"auto",borderTop:"1px solid var(--border)",listStyle:"none"},children:e.map(e=>{let t="completed"===e.status;return(0,n.jsxs)("li",{style:{display:"flex",alignItems:"flex-start",gap:8,padding:"4px 10px",color:t?"var(--text-dim)":"var(--text)",fontSize:12,lineHeight:1.45,opacity:t?.78:1},children:[(0,n.jsx)("span",{style:{paddingTop:2},children:(0,n.jsx)(iN,{status:e.status})}),(0,n.jsxs)("span",{className:"sr-only",children:[o(iH[e.status]),": "]}),(0,n.jsxs)("span",{style:{minWidth:0,flex:1},children:[(0,n.jsx)("span",{style:{display:"block",overflowWrap:"anywhere",textDecoration:t?"line-through":"none",textDecorationColor:"color-mix(in srgb, var(--text-dim) 60%, transparent)"},children:e.content}),e.blockedBy&&e.blockedBy.length>0?(0,n.jsx)("span",{style:{display:"block",marginTop:1,color:"var(--text-dim)",fontSize:10},children:o("todo_blockedBy",{list:e.blockedBy.join(", ")})}):null]}),e.priority?(0,n.jsx)("span",{title:`${o(iD[e.priority])} ${o("todo_priority")}`,style:{flexShrink:0,paddingTop:1,color:iF[e.priority],fontFamily:"var(--font-mono)",fontSize:9,fontWeight:"high"===e.priority?700:550,letterSpacing:.35,textTransform:"uppercase"},children:o(iD[e.priority])}):null]},e.id)})})]})}function iO(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function iU(e){if("assistant"!==e.role)return e;let t=e.content;if(!Array.isArray(t))return e;let r=t.map(e=>{let t=function(e){if(!iO(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]),t}(e);return t||(iO(e)&&tj(e.type)?tw(e):e)});return{...e,content:r}}function iq(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 iK(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 iV(e,t,r,n){let i=new Map,o=new Map;return e.forEach((e,r)=>{let n=iq(e);if(!n)return;let l=t[r];if(l&&i.set(l,n),l)return;let a=iK(e);if(!a)return;let s=o.get(a)??[];s.push(n),o.set(a,s)}),r.map((e,t)=>{if("custom"!==e.role||iq(e))return e;let r=n[t]?i.get(n[t]):void 0,l=r?null:iK(e),a=l?o.get(l)?.shift():void 0,s=r??a;return s?{...e,renderedLines:[...s]}:e})}function iJ(e,t){return"custom"===e.role&&Array.isArray(t)&&t.every(e=>"string"==typeof e)?{...e,renderedLines:t}:e}async function iY(e,t,r){let n=await fetch(`/api/agent/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:r?.signal}),i=await n.json().catch(()=>({}));if(!n.ok||i.error)throw Error(i.error??`HTTP ${n.status}`);return i.data}function iZ(e,t){if(!t||"object"!=typeof e||null===e||Array.isArray(e))return null;let r=e.sessionQueue,n=("object"!=typeof r||null===r||Array.isArray(r)?void 0:r[t])??e[`sessionQueue.${t}`];return Array.isArray(n)?n.filter(e=>"string"==typeof e&&e.trim().length>0):null}function iX(e,t,r=i0){return{id:r(),cwd:e,generation:t}}let iG="pending:";function iQ(e){return`${iG}${e}`}function i0(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`intent-${Date.now()}-${Math.random().toString(36).slice(2)}`}class i1 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 i2(e){return new EventSource(e)}function i4(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(()=>e()):setTimeout(e,16)}function i6(e){"function"==typeof cancelAnimationFrame?cancelAnimationFrame(e):clearTimeout(e)}function i5(e){return e.blockingQueue??[]}function i8(e){let t=e[0];return t?{dialog:t}:{dialog:null}}function i3(e,t){let r=i8(t);return{...e,blockingQueue:t,dialog:r.dialog}}function i9(e,t){let r=i5(e);return 0===r.length?e.dialog?.id===t?{...e,dialog:null,blockingQueue:[]}:e:-1===r.findIndex(e=>e.id===t)?e:i3(e,r.filter(e=>e.id!==t))}function i7(e){let t=e.findIndex(e=>"transient"===e.tier&&!e.exiting);return -1===t?e:e.map((e,r)=>r===t?{...e,exiting:!0}:e)}function oe(e,t){switch(t.type){case"add":{if("important"===t.notice.tier)return{...e,visible:[...e.visible,t.notice]};let r=e.visible.filter(e=>"transient"===e.tier).length,n=e.visible.some(e=>"transient"===e.tier&&e.exiting);if(n||r>=5)return{visible:n?e.visible:i7(e.visible),pending:[...e.pending,t.notice]};return{...e,visible:[...e.visible,t.notice]}}case"dismiss":return{...e,visible:e.visible.map(e=>e.id===t.id?{...e,exiting:!0}:e),pending:e.pending.filter(e=>e.id!==t.id)};case"toggle_pin":return{...e,visible:e.visible.map(e=>e.id===t.id&&"important"===e.tier?{...e,pinned:!e.pinned}:e)};case"mark_oldest_transient_exiting":return{...e,visible:i7(e.visible)};case"remove":return function(e,t){let r=e,n=t;for(;n.length>0&&r.filter(e=>"transient"===e.tier).length<5;){let[e,...t]=n;r=[...r,e],n=t}return n.length>0&&!r.some(e=>e.exiting)&&(r=i7(r)),{visible:r,pending:n}}(e.visible.filter(e=>e.id!==t.id),e.pending);default:return e}}let ot=["pending","in_progress","completed"],or=["high","medium","low"],on=["pending","in_progress","completed","deleted"];function oi(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function oo(e,t){let{cancelled:r,newSessionId:n}=e??{};return r||!n?{kind:"noop"}:{kind:"switch-session",sessionId:n,...t?{prefill:t}:{}}}function ol(e,t,r){if(e.noop)return!1;let n=e.editorText;return"string"==typeof n&&("replace"===r?t?.replaceText(n):""!==n&&t?.insertIfEmpty(n)),!0}function oa(e,t,r){return Math.max(0,e-t-r)}function os(e,t){return t?40:Math.max(48,Math.round(.1*e))}function od(e,t){switch(t.kind){case"send":case"reset":case"jump-button":return"following";case"up-intent":return"released";case"scroll":if(function(e,t=1){return e<=t}(t.distance,t.bottomTolerance??1)||"down"===t.direction&&t.distance<=t.zoneSize)return"following";if("up"===t.direction&&"following"===e)return"released";return e}}let oc=new Set(["ArrowUp","PageUp","Home"]);function ou(e,t){if(!(e instanceof Element))return!1;let r=e;for(;r&&r!==t;){if(r instanceof HTMLElement){var n;let e=getComputedStyle(r).overflowY;if(("auto"===e||"scroll"===e)&&(n={scrollTop:r.scrollTop,scrollHeight:r.scrollHeight,clientHeight:r.clientHeight}).scrollHeight-n.clientHeight>1&&n.scrollTop>0)return!0}r=r.parentElement}return!1}let op=["off","minimal","low","medium","high","xhigh","max"];function oh(e){return"string"==typeof e&&op.includes(e)}function of(e){return!!e.clientRunning&&!e.sendInFlight&&!!e.live&&!e.isStreaming&&!e.isPromptRunning&&!e.isCompacting}let og=["cmd","path","pattern","query","file","name"];function ox(e){return"string"==typeof e&&e.length>0?e:null}function om(e){return"string"==typeof e&&e.length>0?e:void 0}function ov(e){if(Array.isArray(e)&&0!==e.length&&e.every(e=>"string"==typeof e))return[...e]}function oy(e){if(null==e)return"";if("string"==typeof e)return e.replace(/\r/g,"");if("object"==typeof e){if(Array.isArray(e.content)){let t=[];for(let r of e.content){if("string"==typeof r){t.push(r.replace(/\r/g,""));continue}"object"==typeof r&&null!==r&&"text"===r.type&&"string"==typeof r.text&&t.push(r.text.replace(/\r/g,""))}if(t.length>0||0===e.content.length)return t.join("\n")}if("string"==typeof e.text)return e.text.replace(/\r/g,"")}try{let t=JSON.stringify(e);return void 0===t?String(e):t}catch{return String(e)}}function ob(e){return e.length<=65536?{text:e,truncated:!1}:{text:e.slice(0,65536),truncated:!0}}function oj(e){if("object"!=typeof e||null===e)return;let t=e.command;if("string"==typeof t)return t;if("object"==typeof t&&null!==t){let e="string"==typeof t.command?t.command:t.cmd;if("string"==typeof e)return e}for(let t of og){let r=e[t];if("string"==typeof r&&r.length>0)return r}}function ow(e,t){if("object"!=typeof t||null===t)return e;let r=ox(t.toolCallId);if(!r)return e;let n=e.get(r),i=om(t.toolName)??n?.toolName??"",o=oj(t.args)??n?.command,l=ov(t.renderedCallLines)??n?.renderedCallLines;if(n?.status==="running")return i===n.toolName&&o===n.command&&l===n.renderedCallLines?e:new Map(e).set(r,{...n,toolName:i,command:o,renderedCallLines:l});let a={toolCallId:r,toolName:i,command:o,renderedCallLines:l,output:"",startedAt:Date.now(),status:"running"};return new Map(e).set(r,a)}function ok(e){return Array.from(e.values())}function oS(e){let{previousMessages:t,previousEntryIds:r,nextMessages:n,nextEntryIds:i}=e;if(0===i.length)return{messages:t,entryIds:r};if(0===r.length)return{messages:n,entryIds:i};let o=i[0],l=r.indexOf(o);return l<=0?{messages:n,entryIds:i}:{messages:[...t.slice(0,l),...n],entryIds:[...r.slice(0,l),...i]}}function oC(e){let{previousMessages:t,previousEntryIds:r,olderMessages:n,olderEntryIds:i}=e;if(0===i.length)return{messages:t,entryIds:r};let o=new Set(r),l=[],a=[];for(let e=0;e<i.length;e++){let t=i[e];o.has(t)||(l.push(n[e]),a.push(t))}return{messages:[...l,...t],entryIds:[...a,...r]}}function o_(e,t){switch(t.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:t.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return e}}function oR(e){return new Promise(t=>setTimeout(t,e))}function oI(e){if(!e||"object"!=typeof e||"image"!==e.type)return"";let t=e.source;return t&&"object"==typeof t?["url"===t.type?"url":"base64","string"==typeof t.media_type?t.media_type:"","string"==typeof t.data?t.data:"","string"==typeof t.url?t.url:""].join(":"):["base64","string"==typeof e.mimeType?e.mimeType:"","string"==typeof e.data?e.data:"",""].join(":")}function oT(e){let t,r=e.content;return"string"==typeof r?JSON.stringify({text:r,images:[]}):Array.isArray(r)?JSON.stringify({text:"string"==typeof(t=e.content)?t:Array.isArray(t)?t.map(e=>e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):"",images:r.map(oI).filter(Boolean)}):JSON.stringify({text:"",images:[]})}function oM(e,t){return e&&"object"==typeof e?"number"!=typeof e.tokensBefore||"number"!=typeof e.estimatedTokensAfter?null:{reason:t,tokensBefore:e.tokensBefore,estimatedTokensAfter:e.estimatedTokensAfter}:null}let oE="pi-sound-enabled",oz="pidance:sound-enabled-changed";function oW(){try{let e=localStorage.getItem(oE);return null===e||"true"===e}catch{return!0}}function oL(e){try{localStorage.setItem(oE,String(e))}catch{}window.dispatchEvent(new CustomEvent(oz,{detail:{enabled:e}}))}function oA(e,t=50){return e+t}function oP({messageCount:e,toolCallCount:t,children:r,t:o}){let[l,a]=(0,i.useState)(!0),s=[o("chat_processDetails"),`${e} ${o(1===e?"chat_message":"chat_messages")}`];return t>0&&s.push(`${t} ${o(1===t?"chat_toolCall":"chat_toolCalls")}`),(0,n.jsxs)("div",{style:{marginBottom:14},children:[(0,n.jsxs)("button",{type:"button","aria-expanded":l,onClick:()=>a(e=>!e),style:{display:"flex",alignItems:"center",gap:8,width:"auto",minHeight:24,padding:"2px 0",border:"none",background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left"},title:o(l?"chat_hideProcess":"chat_showProcess"),children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,transform:l?"rotate(90deg)":"none",transition:"transform 0.15s"},children:(0,n.jsx)("polyline",{points:"4 2.5 7.5 6 4 9.5"})}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.join(" \xb7 ")})]}),l&&(0,n.jsx)("div",{style:{marginTop:8},children:r})]})}function o$({session:e,newSessionCwd:t,newSessionIntentId:r,guideDefaultCwd:o,onGuideTargetChange:a,onAgentEnd:s,onAgentRunningChange:d,onSessionCreated:c,onSessionForked:u,modelsRefreshKey:p,chatInputRef:h,onBranchDataChange:f,onSystemPromptChange:g,onSessionStatsChange:x,onSessionStatsPanelOpen:m,onContextUsageChange:v,onOpenFile:y}){var b;let j,{t:w}=(0,es.s9)(),{soundEnabled:k,onSoundToggle:S,playDoneSound:C,unlockAudio:_}=function(){let[e,t]=(0,i.useState)(()=>oW()),r=(0,i.useRef)(e);(0,i.useEffect)(()=>{r.current=e},[e]),(0,i.useEffect)(()=>{let e=()=>{let e=oW();r.current=e,t(e)},n=t=>{t.key===oE&&e()};return window.addEventListener("storage",n),window.addEventListener(oz,e),()=>{window.removeEventListener("storage",n),window.removeEventListener(oz,e)}},[]);let n=(0,i.useRef)(null),o=(0,i.useCallback)(()=>{if(n.current&&"closed"!==n.current.state)return n.current;try{n.current=new AudioContext}catch{return null}return n.current},[]),l=(0,i.useCallback)((e=!1)=>{if(!e&&!r.current)return;let t=o();t&&"suspended"===t.state&&t.resume().catch(()=>{})},[o]),a=(0,i.useCallback)(()=>{let e=!r.current;e&&l(!0),r.current=e,oL(e),t(e)},[l]);return{soundEnabled:e,onSoundToggle:a,setSoundEnabled:(0,i.useCallback)(e=>{e&&l(!0),r.current=e,oL(e),t(e)},[l]),playDoneSound:(0,i.useCallback)(()=>{if(!r.current)return;let e=o();if(!e)return;let t=()=>{try{let t;t=e.currentTime,[523.25,659.25].forEach((r,n)=>{let i=e.createOscillator(),o=e.createGain();i.connect(o),o.connect(e.destination),i.type="sine",i.frequency.value=r;let l=t+.18*n;o.gain.setValueAtTime(0,l),o.gain.linearRampToValueAtTime(.18,l+.02),o.gain.exponentialRampToValueAtTime(.001,l+.45),i.start(l),i.stop(l+.45)})}catch{}};"suspended"===e.state?e.resume().then(t).catch(()=>{}):t()},[o]),unlockAudio:l,soundEnabledRef:r}}(),R=n7(),I=e?.readOnly===!0,[T,M]=(0,i.useState)(()=>{if(o)return o;try{return localStorage.getItem("pidance.draftTargetCwd")}catch{return null}}),E=(0,i.useCallback)((e,t)=>{M(e);try{e?(localStorage.setItem("pidance.draftTargetCwd",e),(0,X.dM)("draftTargetCwd",e)):(localStorage.removeItem("pidance.draftTargetCwd"),(0,X.dM)("draftTargetCwd",null))}catch{}e&&a?.(e,t??e)},[a]);(0,i.useEffect)(()=>{o&&E(o)},[o,E]);let z=T??t,W=(0,i.useRef)(C);W.current=C;let L=(0,i.useRef)(k);L.current=k;let{loading:A,historyLoading:P,hasMoreBefore:$,error:H,messages:D,entryIds:F,streamState:N,agentRunning:B,bashRunning:O,pendingBash:U,modelNames:q,modelList:K,modelAuthConfigured:V,modelThinkingLevels:J,modelThinkingLevelMaps:Y,thinkingLevel:Z,retryInfo:G,contextUsage:Q,forkingEntryId:ee,isCompacting:et,compactError:er,compactResult:en,displayModel:ei,sessionStats:eo,defaultThinkingLevel:el,slashCommands:ea,slashCommandsLoading:ed,queuedMessages:ec,notices:eu,liveNoticeActivities:ep,dismissNotice:eh,toggleNoticePin:ef,extensionDialog:eg,extensionCustomUi:ex,extensionStatuses:em,extensionWidgets:ev,respondToExtensionUi:ey,dismissExtensionUiRequest:eb,sendExtensionCustomInput:ej,todos:ew,isAutoModelSelection:ek,agentPhase:eS,toolExecutionSnapshots:eC,isNew:e_,sessionIdRef:eR,scrollContainerRef:eI,jumpButtonVisible:eT,jumpToBottom:eM,markExternalScrollWrite:eE,notifyProgrammaticSmooth:ez,loadOlderHistory:eW,handleSend:eL,handleAbort:eA,handleModelChange:eP,handleCompact:e$,handleSteer:eH,handleFollowUp:eD,handlePromptWithStreamingBehavior:eF,handleAbortCompaction:eN,handleRecallQueue:eB,handleSendQueueAsSteer:eO,handleBuiltinSlashCommand:eU,handleThinkingLevelChange:eq,loadSlashCommands:eK,handleBranchHere:eV,handleBranchFromAssistant:eJ,handleNewSessionFromHere:eY,handleNewSessionFromAnswer:eZ}=function(e){let{t}=(0,es.s9)(),{session:r,newSessionCwd:n,newSessionIntentId:o,onAgentEnd:l,onAgentRunningChange:a,onSessionCreated:s,onSessionForked:d,modelsRefreshKey:c,onBranchDataChange:u,onSystemPromptChange:p,onSessionStatsPanelOpen:h}=e,f=null===r&&null!==n,g=(0,i.useRef)(n),x=(0,i.useRef)(o??null);g.current=n,x.current=o??null;let m=eG(r),v=m.readOnly,[y,b]=(0,i.useState)(null),[j,w]=(0,i.useState)(!f),[k,S]=(0,i.useState)(!1),[C,_]=(0,i.useState)(!1),[R,I]=(0,i.useState)(null),[T,M]=(0,i.useState)(null),[E,z]=(0,i.useState)([]),[W,L]=(0,i.useState)([]),A=(0,i.useRef)(!1),P=(0,i.useRef)(!1),[$,H]=(0,i.useReducer)(o_,{isStreaming:!1,streamingMessage:null}),[D,F]=(0,i.useState)(!1),[N,B]=(0,i.useState)(!1),[O,U]=(0,i.useState)(null),[q,K]=(0,i.useState)({}),[V,J]=(0,i.useState)([]),[Y,Z]=(0,i.useState)({}),[G,Q]=(0,i.useState)({}),[ee,et]=(0,i.useState)({}),[er,en]=(0,i.useState)(null),[ei,eo]=(0,i.useState)(null),[el,ea]=(0,i.useState)(null),[ed,ec]=(0,i.useState)(null),eu=ed??el??"off",[ep,eh]=(0,i.useState)(null),[ef,eg]=(0,i.useState)(null),[ex,em]=(0,i.useState)(null),[ev,ey]=(0,i.useState)(null),[eb,ej]=(0,i.useState)(null),[ew,ek]=(0,i.useState)(null),eS=(0,i.useRef)(null),[eC,e_]=(0,i.useState)(!1),[eR,eI]=(0,i.useState)(null),[eT,eM]=(0,i.useState)(null),[eE,ez]=(0,i.useState)(null),[eW,eL]=(0,i.useState)([]),[eA,eP]=(0,i.useState)([]),[e$,eH]=(0,i.useState)(!1),{notices:eD,liveNoticeActivities:eF,addNotice:eN,addLiveActivity:eB,clearLiveActivities:eO,dismissNotice:eU,toggleNoticePin:eq}=function(){let[e,t]=(0,i.useReducer)(oe,{visible:[],pending:[]}),[r,n]=(0,i.useState)([]),o=(0,i.useCallback)(e=>{let r=e.message.trim();if(!r)return;let n=e.type??"info",i="warning"===n||"error"===n;t({type:"add",notice:{id:e.id??("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`),message:r,type:n,tier:i?"important":"transient",pinned:!1,activityRecord:!0===e.activityRecord}})},[]),l=(0,i.useCallback)(e=>{n(t=>t.some(t=>t.activity.requestId===e.requestId)?t:[...t,{activity:e,timestamp:Date.now()}])},[]),a=(0,i.useCallback)(()=>{n([])},[]),s=(0,i.useCallback)(e=>{t({type:"dismiss",id:e})},[]),d=(0,i.useCallback)(e=>{t({type:"toggle_pin",id:e})},[]);return(0,i.useEffect)(()=>{if(0===e.visible.length)return;let r=e.visible.find(e=>e.exiting);if(r){let e=setTimeout(()=>{t({type:"remove",id:r.id})},180);return()=>clearTimeout(e)}if(!e.visible.find(e=>"transient"===e.tier&&!e.exiting))return;let n=setTimeout(()=>{t({type:"mark_oldest_transient_exiting"})},5e3);return()=>clearTimeout(n)},[e.visible]),{notices:e.visible,liveNoticeActivities:r,addNotice:o,addLiveActivity:l,clearLiveActivities:a,dismissNotice:s,toggleNoticePin:d}}(),[eK,eV]=(0,i.useState)(null),{extensionDialog:eJ,extensionCustomUi:eY,extensionStatuses:eZ,extensionWidgets:eX,extensionUiStateRef:eQ,commitExtensionUiState:e0,patchExtensionUiState:e1,dismissExtensionUiRequest:e2}=function(){var e;let[t,r]=(0,i.useState)(null),[n,o]=(0,i.useState)(null),[l,a]=(0,i.useState)([]),[s,d]=(0,i.useState)([]),c=(0,i.useRef)((e={customUi:n,statuses:l,widgets:s},{dialog:null,customUi:e?.customUi??null,statuses:e?.statuses??[],widgets:e?.widgets??[],blockingQueue:[]})),u=(0,i.useCallback)(e=>{c.current=e,r(e.dialog),o(e.customUi),a(e.statuses),d(e.widgets)},[]),p=(0,i.useCallback)(e=>{u({...c.current,...e})},[u]),h=(0,i.useCallback)(e=>{let t=c.current,r=i9(t,e);r!==t&&u(r)},[u]);return{extensionDialog:t,extensionCustomUi:n,extensionStatuses:l,extensionWidgets:s,extensionUiStateRef:c,commitExtensionUiState:u,patchExtensionUiState:p,dismissExtensionUiRequest:h}}(),[e4,e6]=(0,i.useState)({steering:[],followUp:[]}),[,e5]=(0,i.useState)([]),e8=(0,i.useRef)([]),e3=(0,i.useRef)(Promise.resolve()),e9=(0,i.useCallback)(e=>{e8.current=e,e5(e),e6(t=>({...t,followUp:e}))},[]),e7=(0,i.useCallback)(e=>{let t={steering:e?.steering??[],followUp:e?.followUp??[]};e9(t.followUp),e6({steering:t.steering,followUp:t.followUp})},[e9]),te=(0,i.useCallback)(async e=>{let t=e8.current,r=[...e];e9(r);let n=ti.current;if(!n)return;let i=e3.current.catch(()=>void 0).then(async()=>{await iY(n,{type:"set_follow_up_queue",items:r})});e3.current=i.catch(()=>void 0);try{await i}catch(e){throw ti.current===n&&e8.current===r&&e9(t),e}},[e9]),[tt,tr]=(0,i.useState)(!1),tn=(0,i.useRef)(null),ti=(0,i.useRef)(r?.id??null),to=(0,i.useRef)(null);(0,i.useEffect)(()=>{a?.(D,ti.current??r?.id??null)},[D,r?.id,a]);let tl=(0,i.useRef)(r?.id??null),ta=(0,i.useRef)([]),ts=(0,i.useRef)(!1),td=(0,i.useRef)(!1),tc=(0,i.useRef)(!1),tu=(0,i.useRef)(null),tp=(0,i.useRef)(!1),th=(0,i.useRef)(!1),tf=(0,i.useRef)(0),tg=(0,i.useRef)(null),tx=(0,i.useRef)(async()=>{}),tm=(0,i.useRef)(void 0),{scrollContainerRef:tv,jumpButtonVisible:ty,jumpToBottom:tb,notifyAutoFollowSend:tj,notifyAutoFollowBranchReset:tw,notifyAutoFollowEnd:tk,markExternalScrollWrite:tS,notifyProgrammaticSmooth:tC}=function({isMobile:e,loading:t,isNew:r,messages:n,agentRunning:o,bashRunning:l}){let a=(0,i.useRef)(null),s=(0,i.useRef)("following"),[d,c]=(0,i.useState)(!1),u=(0,i.useRef)(!1),p=(0,i.useRef)(!1),h=(0,i.useRef)(!1),f=(0,i.useRef)(!1),g=(0,i.useRef)(0),x=(0,i.useRef)(0),m=(0,i.useRef)(0),v=(0,i.useRef)(0),y=(0,i.useRef)(0),b=(0,i.useRef)(0),j=(0,i.useRef)(!1),w=(0,i.useRef)(!1),k=(0,i.useRef)(!1),[S,C]=(0,i.useState)(null);w.current=e;let _=(0,i.useCallback)(()=>{var e,t,r,n;let i=a.current;if(!i)return void c(!1);let o=(e=s.current,t=i.scrollHeight-i.clientHeight,r=oa(i.scrollHeight,i.scrollTop,i.clientHeight),n=os(i.clientHeight,w.current),"released"===e&&t>20&&r>n);c(e=>e===o?e:o)},[]),R=(0,i.useCallback)(e=>{s.current!==e&&(s.current=e,_())},[_]),I=(0,i.useCallback)((e="instant")=>{let t=a.current;if(!t)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);if("smooth"===e){y.current=Date.now()+700,t.scrollTo({top:r,behavior:"smooth"});return}g.current=r,t.scrollTop=r},[]),T=(0,i.useCallback)(()=>{s.current="following",p.current=!0,c(!1)},[]),M=(0,i.useCallback)(()=>{s.current="following",h.current=!0,c(!1)},[]),E=(0,i.useCallback)(()=>{b.current=Date.now()+1500,f.current=!0},[]),z=(0,i.useCallback)(()=>{R(od(s.current,{kind:"jump-button"})),I(k.current?"instant":"smooth")},[R,I]),W=(0,i.useCallback)(()=>{v.current=Date.now()+150},[]),L=(0,i.useCallback)(()=>{y.current=Date.now()+700},[]);return(0,i.useEffect)(()=>{let e=a.current;C(t=>t===e?t:e)},[t,n.length,r]),(0,i.useEffect)(()=>{if(!S)return;let e=()=>{R(od(s.current,{kind:"up-intent"}))},t=t=>{t.deltaY>=0||ou(t.target,S)||e()},r=null,n=null,i=e=>{r=e.touches[0]?.clientY??null,n=e.target},o=t=>{if(null===r)return;let i=t.touches[0]?.clientY;void 0!==i&&i-r>(w.current?12:4)&&(ou(n,S)||e(),r=null)},l=t=>{!oc.has(t.key)||t.target instanceof Element&&t.target.closest("input, textarea, [contenteditable='true']")||e()};return S.addEventListener("wheel",t,{passive:!0}),S.addEventListener("touchstart",i,{passive:!0}),S.addEventListener("touchmove",o,{passive:!0}),window.addEventListener("keydown",l),()=>{S.removeEventListener("wheel",t),S.removeEventListener("touchstart",i),S.removeEventListener("touchmove",o),window.removeEventListener("keydown",l)}},[S,R]),(0,i.useEffect)(()=>{if(!S)return;g.current=S.scrollTop,m.current=S.scrollHeight,x.current=S.clientHeight;let e=()=>{var e;let t=Date.now(),r=g.current,n=S.scrollTop;g.current=n;let i=x.current,o=m.current;(x.current=S.clientHeight,m.current=S.scrollHeight,t<v.current||t<y.current||(e={previousScrollHeight:o,nextScrollHeight:S.scrollHeight,previousClientHeight:i,nextClientHeight:S.clientHeight}).previousClientHeight>0&&e.nextClientHeight!==e.previousClientHeight||e.previousScrollHeight>0&&e.nextScrollHeight!==e.previousScrollHeight)?_():(R(od(s.current,{kind:"scroll",distance:oa(S.scrollHeight,n,S.clientHeight),direction:n<r?"up":n>r?"down":"none",zoneSize:os(S.clientHeight,w.current),bottomTolerance:w.current?16:1})),_())};return S.addEventListener("scroll",e,{passive:!0}),()=>S.removeEventListener("scroll",e)},[S,R,_]),(0,i.useEffect)(()=>{let e=o||l;j.current&&!e&&(b.current=Date.now()+1500,"following"===s.current&&requestAnimationFrame(()=>{I("instant"),requestAnimationFrame(()=>{"following"===s.current&&I("instant")})})),j.current=e},[o,l,I]),(0,i.useEffect)(()=>{if(!S)return;let e=S.firstElementChild,t=new ResizeObserver(()=>{m.current=S.scrollHeight,x.current=S.clientHeight;let e=Date.now();if("following"!==s.current)return void _();if(!(e<y.current)){if(e<v.current)return void _();I("instant"),_()}});return t.observe(S),e&&t.observe(e),()=>t.disconnect()},[S,I,_]),(0,i.useEffect)(()=>{0===n.length||a.current&&(p.current||h.current||f.current?(p.current=!1,h.current=!1,f.current=!1,u.current=!0,"following"===s.current&&I("instant")):u.current||(u.current=!0,I("instant")),_())},[n,I,_]),(0,i.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=()=>{k.current=e.matches};return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),{scrollContainerRef:a,jumpButtonVisible:d,jumpToBottom:z,notifyAutoFollowSend:T,notifyAutoFollowBranchReset:M,notifyAutoFollowEnd:E,markExternalScrollWrite:W,notifyProgrammaticSmooth:L}}({isMobile:e.isMobile??!1,loading:j,isNew:f,messages:E,agentRunning:D,bashRunning:N}),t_=(0,i.useRef)(null),tR=(0,i.useRef)(!1),tI=(0,i.useRef)(0),tT=(0,i.useRef)(null),tM=(0,i.useRef)(0),tE=(0,i.useRef)(null),tz=(0,i.useRef)(!1),tW=(0,i.useRef)(null),tL=(0,i.useMemo)(()=>{let e=function(e){let t=[],r=!1;for(let i of e){var n;if("assistant"===i.role){let e=i.content;if(!Array.isArray(e))continue;for(let i of e){let e=function(e){if(!oi(e)||"toolCall"!==e.type)return null;let t=oi(e.input)?e.input:oi(e.arguments)?e.arguments:{};return{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:t}}(i);if(null===e||"string"!=typeof(n=e.toolName)||"todowrite"!==n.toLowerCase().replace(/[_-]/g,""))continue;let o=function(e){if(!oi(e.input)||!Array.isArray(e.input.todos))return null;let t=[];for(let[i,o]of e.input.todos.entries()){var r,n;if(!oi(o)||"string"!=typeof o.content||0===o.content.length||!("string"==typeof(r=o.status)&&ot.includes(r))||!("string"==typeof(n=o.priority)&&or.includes(n)))return null;t.push({id:`todo-${i}-${function(e){let t=0x811c9dc5;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,0x1000193);return(t>>>0).toString(16).padStart(8,"0")}(`${i}\u0000${o.content}\u0000${o.status}\u0000${o.priority}`)}`,content:o.content,status:o.status,priority:o.priority})}return t}(e);null!==o&&(t=o,r=!0)}continue}if("toolResult"===i.role&&"todo"===i.toolName){let e=function(e){if(!oi(e)||!Array.isArray(e.tasks)||"number"!=typeof e.nextId)return null;let t=[];for(let n of e.tasks){var r;if(!oi(n)||"number"!=typeof n.id||"string"!=typeof n.subject||0===n.subject.length||!("string"==typeof(r=n.status)&&on.includes(r))||void 0!==n.activeForm&&"string"!=typeof n.activeForm||void 0!==n.blockedBy&&!(Array.isArray(n.blockedBy)&&n.blockedBy.every(e=>"number"==typeof e)))return null;t.push({id:n.id,subject:n.subject,status:n.status,activeForm:"string"==typeof n.activeForm?n.activeForm:void 0,blockedBy:Array.isArray(n.blockedBy)?n.blockedBy:void 0})}let n=new Map(t.map(e=>[e.id,e])),i=[];for(let e of t){if("deleted"===e.status)continue;let t=(e.blockedBy??[]).filter(e=>{let t=n.get(e);return void 0===t||"pending"===t.status||"in_progress"===t.status}).map(e=>n.get(e)?.subject??`#${e}`);i.push({id:`todo-${e.id}`,content:e.subject,status:e.status,activeForm:e.activeForm,blockedBy:t.length>0?t:void 0})}return i}(i.details);if(null===e)continue;t=e,r=!0}}return r?t:null}($.streamingMessage?[...E,$.streamingMessage]:E),t=r?.id??ti.current??"";if(e)return tW.current={sessionId:t,todos:e},e;let n=tW.current;return n&&n.sessionId===t?n.todos:[]},[E,$.streamingMessage,r?.id]),tA=(0,i.useRef)(null);null===tA.current&&(tA.current=function(e={}){let t=e.createEventSource??i2,r=e.getEventsUrl??(e=>`/api/agent/${encodeURIComponent(e)}/events`),n=e.connectTimeoutMs??5e3,i=e.reconnectDelayMs??1e3,o=e.shouldAutoReconnect??(()=>!1),l=e.schedule??((e,t)=>setTimeout(e,t)),a=e.clearSchedule??(e=>clearTimeout(e)),s=e.scheduleFrame??i4,d=e.cancelFrame??i6,c=null,u=null,p=null,h=()=>{null!==u&&(a(u),u=null)},f=(e,g)=>{h(),p?.(),p=null,c&&(c.close(),c=null);let x=t(r(e));c=x;let m=null,v=null,y=()=>{v=null;let e=m;if(m=null,e&&c===x)try{g(e)}catch{}};return p=()=>{null!==v&&d(v),v=null,m=null},new Promise(t=>{let r=!1,p=null,h=e=>{r||(r=!0,null!==p&&(a(p),p=null),t({status:e,source:x}))};p=l(()=>h("timeout"),n),x.onmessage=e=>{try{if(c!==x)return;let t=JSON.parse(e.data);if("connected"===t.type&&h("connected"),"message_update"===t.type){m=t,null===v&&(v=s(y));return}null!==v&&(d(v),v=null),y(),g(t)}catch{}},x.onerror=()=>{2===x.readyState&&(h("closed"),c===x&&o()&&(c=null,u=l(()=>{o()&&f(e,g)},i)))}})};return{connect:f,async ensureConnected(e,t){let r=await f(e,t);if("connected"!==r.status&&1!==r.source.readyState)throw c===r.source&&(c=null,p?.(),p=null),r.source.close(),new i1(r.status)},close:()=>{h(),p?.(),p=null,c&&(c.close(),c=null)},getCurrentSource:()=>c}}({connectTimeoutMs:15e3,reconnectDelayMs:1e3,shouldAutoReconnect:()=>ts.current}));let tP=function(e,t,r,n=null){return e??t??r??n??null}(eb,ew,y?.context.model,ei),t$=f?er??ei:tP,tH=(0,i.useMemo)(()=>{if(eK)return eK;let e={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},t=0,n=0,i=0,o=0,l=0;for(let r of E){if("user"===r.role&&(n+=1),"toolResult"===r.role&&(o+=1),"assistant"!==r.role)continue;i+=1;let a=r.usage;l+=r.content.filter(e=>"toolCall"===e.type).length,a&&(e.input+=a.input??0,e.output+=a.output??0,e.cacheRead+=a.cacheRead??0,e.cacheWrite+=a.cacheWrite??0,t+=a.cost?.total??0)}return(e.total=e.input+e.output+e.cacheRead+e.cacheWrite,0===e.total&&0===E.length)?null:{sessionFile:y?.filePath||void 0,sessionId:ti.current??r?.id??"",sessionName:r?.name,userMessages:n,assistantMessages:i,toolCalls:l,toolResults:o,totalMessages:E.length,tokens:e,cost:t,...ef?{contextUsage:ef}:{}}},[E,eK,ef,y?.filePath,r?.id,r?.name]),tD=(0,i.useCallback)(async(e,t=!1,r=!1,n=!1,i=!1,o)=>{let l=!1;try{t&&w(!0),r&&(em(null),eg(null));let s=new URLSearchParams({deferThinking:"1",deferMedia:"1",limit:String(80)}),d=await fetch(`/api/sessions/${encodeURIComponent(e)}?${s}`);if(404===d.status)return t&&(b(null),M(null),z([]),ta.current=[],tl.current=e,L([]),P.current=!1,_(!1),I(null)),null;if(!d.ok)throw Error(`HTTP ${d.status}`);let c=await d.json();if(ti.current!==e||null!==tT.current&&tT.current!==tI.current)return null;let u=c.context.entryIds??[],p=c.context.messages??[],h=ta.current,f=tl.current===e;i&&tw(),b(c),M(c.leafId);let g=u;z(e=>{let t=f&&h.length>0?oS({previousMessages:e,previousEntryIds:h,nextMessages:p,nextEntryIds:u}):{messages:p,entryIds:u};return g=t.entryIds,f?iV(e,h,t.messages,t.entryIds):t.messages}),o?.(),f&&h.length>0&&(g=oS({previousMessages:p,previousEntryIds:h,nextMessages:p,nextEntryIds:u}).entryIds),ta.current=g,tl.current=e,L(g);let x=!0===c.context.hasMoreBefore||"number"==typeof c.context.totalMessageCount&&c.context.totalMessageCount>g.length;if(P.current=x,_(x),ej(e=>(function(e,t){return e?(e&&t?e.provider!==t.provider||e.modelId!==t.modelId:e||t)?e:null:null})(e,c.context.model)),I(null),c.context.thinkingLevel&&"off"!==c.context.thinkingLevel&&ec(c.context.thinkingLevel),l=!0,t&&w(!1),!r)return!!n||null;try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/state`);if(t.ok){let r=await t.json();if(ti.current!==e)return null;if(r.running&&r.state){var a=r.state;if(void 0!==a.contextUsage&&eg(a.contextUsage??null),void 0!==a.systemPrompt&&em(a.systemPrompt??null),void 0!==a.thinkingLevel&&oh(a.thinkingLevel)&&ec(a.thinkingLevel),void 0!==a.extensionStatuses&&e1({statuses:a.extensionStatuses??[]}),void 0!==a.extensionWidgets&&e1({widgets:a.extensionWidgets??[]}),void 0!==a.queuedMessages&&e7(a.queuedMessages),Array.isArray(a.pendingExtensionRequests)){let e=a.pendingExtensionRequests.filter(e=>{let t=e.method;return"select"===t||"confirm"===t||"input"===t||"editor"===t});e.length>0&&e1({blockingQueue:e,...i8(e)})}return r}r.running||e6({steering:[],followUp:[...e8.current]})}return{running:!1}}catch(e){return console.error("Failed to load agent state:",e),null}}catch(e){return I(String(e)),null}finally{t&&!l&&w(!1)}},[e7,tw,e1]),tF=(0,i.useCallback)(async()=>{let e=ti.current;if(!e||!P.current||A.current)return!1;let t=ta.current[0];if(!t)return!1;A.current=!0,S(!0);try{let r=new URLSearchParams({deferThinking:"1",deferMedia:"1",before:t,limit:String(80)});T&&r.set("leafId",T);let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/context?${r}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let i=await n.json();if(ti.current!==e)return!1;let o=i.context.entryIds??[],l=i.context.messages??[];if(0===o.length)return P.current=!1,_(!1),!1;let a=ta.current,s=oC({previousMessages:l,previousEntryIds:a,olderMessages:l,olderEntryIds:o}).entryIds;z(e=>oC({previousMessages:e,previousEntryIds:a,olderMessages:l,olderEntryIds:o}).messages),ta.current=s,L(s);let d=!0===i.context.hasMoreBefore||"number"==typeof i.context.totalMessageCount&&i.context.totalMessageCount>s.length;return P.current=d,_(d),!0}catch(e){return console.error("Failed to load older history:",e),!1}finally{A.current=!1,S(!1)}},[T]),tN=(0,i.useCallback)(async(e,t)=>{try{let r=new URLSearchParams({deferThinking:"1",deferMedia:"1",limit:String(80)});t&&r.set("leafId",t);let n=`/api/sessions/${encodeURIComponent(e)}/context?${r}`,i=await fetch(n);if(!i.ok)throw Error(`HTTP ${i.status}`);let o=await i.json(),l=o.context.entryIds??[],a=ta.current,s=tl.current===e;tw(),z(e=>s?iV(e,a,o.context.messages,l):o.context.messages),ta.current=l,tl.current=e,L(l);let d=!0===o.context.hasMoreBefore||"number"==typeof o.context.totalMessageCount&&o.context.totalMessageCount>l.length;P.current=d,_(d)}catch(e){console.error("Failed to load context:",e)}},[tw]),tB=(0,i.useCallback)(async e=>{if(v)return},[v]),tO=(0,i.useCallback)((e=0,t="(no messages)")=>{let r=ti.current,n=g.current;f&&n&&r&&!tR.current&&(tR.current=!0,s?.({id:r,path:"",cwd:n,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:e,firstMessage:t},x.current))},[f,s]),tU=(0,i.useCallback)(async()=>{if(ti.current)return ti.current;let e=g.current;if(!f||!e)return ti.current;if(t_.current)return t_.current;let t=(async()=>{let t,r=er??ei,n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"ensure_session",...r?{provider:r.provider,modelId:r.modelId}:{},...(t=nk(eu)??void 0)?{thinkingLevel:t}:{}})});if(!n.ok)throw Error(`HTTP ${n.status}`);let i=(await n.json()).sessionId;return ti.current=i,i})();t_.current=t;try{return await t}finally{t_.current=null}},[f,er,ei,eu]),tq=(0,i.useCallback)(async()=>{if(v)return eP([]),[];let e=ti.current??r?.id??null;if(!e)return eP([]),[];eH(!0);try{let t=await iY(e,{type:"get_commands"}),r=t?.commands??[];return eP(r),r}catch(e){return console.error("Failed to load slash commands:",e),eP([]),[]}finally{eH(!1)}},[v,r?.id]),tK=(0,i.useCallback)(e=>{if(!m.canConnectEvents)return Promise.reject(Error("Read-only sessions do not connect to agent events"));let t=++tM.current;return tA.current.connect(e,e=>{tM.current===t&&tg.current?.(e)})},[m.canConnectEvents]),tV=(0,i.useCallback)(async e=>{if(!m.canConnectEvents)return;let r=++tM.current;try{let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/state?wake=1`,{signal:tu.current?.signal}),i=await n.json().catch(()=>({}));if(!n.ok){let e="string"==typeof i.error&&i.error?i.error:`HTTP ${n.status}`;throw Error(e.includes("locked by another")?t("chat_sessionLocked"):e)}await tA.current.ensureConnected(e,e=>{tM.current===r&&tg.current?.(e)})}finally{tn.current=tA.current?.getCurrentSource()}},[m.canConnectEvents,t]),tJ=(0,i.useCallback)(async(e,t)=>{if(!m.canSendSessionCommands)return;let r=ti.current,n=eQ.current,i=i9(n,e.id);if(i!==n&&(e0(i),r))try{if(await iY(r,{type:"extension_ui_response",id:e.id,...t}),"cancelled"in t&&!0===t.cancelled&&ts.current)try{await iY(r,{type:"abort"})}catch{}}catch(e){console.error("Failed to send extension UI response:",e)}},[m.canSendSessionCommands,e0,eQ]),tY=(0,i.useCallback)(async(e,t)=>{if(!m.canSendSessionCommands)return;let r=ti.current;if(r&&eQ.current.customUi?.id===e.id)try{await iY(r,{type:"extension_ui_input",id:e.id,data:t})}catch(e){console.error("Failed to send extension custom UI input:",e)}},[m.canSendSessionCommands,eQ]),{handleFork:tZ,handleNavigate:tX,handleLeafChange:tG,handleBranchHere:tQ,handleBranchFromAssistant:t0,handleNewSessionFromHere:t1,handleNewSessionFromAnswer:t2,navigateBranch:t4,setBranchLabel:t6,branchActions:t5}=function(e){let{sessionIdRef:t,isReadOnly:r,canWrite:n,agentRunningRef:o,bashRunningRef:l,branchBusyRef:a,branchBusy:s,setBranchBusy:d,setForkingEntryId:c,setActiveLeafId:u,sendAgentCommand:p,loadSession:h,loadContext:f,addNotice:g,chatInputRef:x,onSessionForked:m}=e,v=(0,i.useCallback)(async e=>{if(r||l.current)return;let n=t.current;if(n){c(e);try{let t=await p(n,{type:"fork",entryId:e}),r=oo(t);"switch-session"===r.kind&&m?.(r.sessionId)}catch(e){console.error("Fork failed:",e)}finally{c(null)}}},[r,l,t,c,p,m]),y=(0,i.useCallback)(async e=>{if(l.current||a.current)return;let n=t.current;if(n){if(r){u(e),await f(n,e);return}p(n,{type:"navigate_tree",targetId:e}).catch(()=>{}),u(e),await f(n,e)}},[r,l,a,t,u,p,f]),b=(0,i.useCallback)(async e=>{if(l.current||a.current)return;u(e);let n=t.current;n&&(await f(n,e),e&&!r&&p(n,{type:"select_leaf_exact",entryId:e}).catch(()=>{}))},[r,l,a,t,u,p,f]),j=(0,i.useCallback)(async(e,n)=>{if(!rT({readOnly:r,busy:o.current||l.current||a.current}).allowed)return;let i=t.current;if(i){a.current=!0,d(!0);try{let t=await p(i,{type:"navigate_tree",targetId:e,summarize:!1});if(!ol({noop:!!t?.cancelled,editorText:t?.editorText},x?.current,"replace"))return;n?.trim()&&x?.current?.replaceText(n.trim()),await h(i,!1,!1,!0,!0)}catch(e){g({type:"error",message:e instanceof Error?e.message:String(e)})}finally{a.current=!1,d(!1)}}},[g,r,o,l,a,t,d,p,x,h]),w=(0,i.useCallback)(async e=>{if(!rT({readOnly:r,busy:o.current||l.current||a.current}).allowed)return;let n=t.current;if(n){a.current=!0,d(!0);try{let t=await p(n,{type:"branch_from_assistant",assistantEntryId:e});if(t?.cancelled)return;await h(n,!1,!1,!0,!0)}catch(e){g({type:"error",message:e instanceof Error?e.message:String(e)})}finally{a.current=!1,d(!1)}}},[g,r,o,l,a,t,d,p,h]),k=(0,i.useCallback)(async(e,n)=>{if(!rT({readOnly:r,busy:o.current||l.current||a.current}).allowed)return;let i=t.current;if(i){a.current=!0,d(!0);try{let t=await p(i,{type:"fork",entryId:e}),r=oo(t,n);"switch-session"===r.kind&&m?.(r.sessionId,r.prefill)}catch(e){g({type:"error",message:e instanceof Error?e.message:String(e)})}finally{a.current=!1,d(!1)}}},[g,r,o,l,a,t,d,p,m]),S=(0,i.useCallback)(async e=>{if(!rT({readOnly:r,busy:o.current||l.current||a.current}).allowed)return;let n=t.current;if(n){a.current=!0,d(!0);try{let t=await p(n,{type:"create_session_from_leaf",entryId:e}),r=oo(t);"switch-session"===r.kind&&m?.(r.sessionId)}catch(e){g({type:"error",message:e instanceof Error?e.message:String(e)})}finally{a.current=!1,d(!1)}}},[g,r,o,l,a,t,d,p,m]),C=(0,i.useCallback)(async(e,n)=>{let i=rT({readOnly:r,busy:o.current||l.current||a.current});if(!i.allowed)return{kind:"busy"===i.reason?"busy":"error"};let s=function(e,t){switch(t.mode){case"direct":return{type:"navigate_tree",targetId:e,summarize:!1};case"summary":return{type:"navigate_tree",targetId:e,summarize:!0};case"custom":{let r=t.focus.trim();if(!r)return null;return{type:"navigate_tree",targetId:e,summarize:!0,customInstructions:r}}}}(e,n);if(!s)return{kind:"error"};let c=t.current;if(!c)return{kind:"error"};a.current=!0,d(!0);try{let e=await p(c,s);if(!ol({noop:!!(e?.cancelled||e?.aborted),editorText:e?.editorText},x?.current,"insertIfEmpty"))return{kind:"cancelled"};if(!await h(c,!1,!1,!0,!0)){let e="Failed to refresh session after switching branches";return g({type:"error",message:e}),{kind:"error",message:e}}return{kind:"ok"}}catch(t){let e=t instanceof Error?t.message:String(t);return g({type:"error",message:e}),{kind:"error",message:e}}finally{a.current=!1,d(!1)}},[g,r,o,l,a,t,d,p,x,h]),_=(0,i.useCallback)(async(e,n)=>{var i;let s,c,u=rT({readOnly:r,busy:o.current||l.current||a.current});if(!u.allowed)return{kind:"busy"===u.reason?"busy":"error"};let f=(i=e,"tooLong"===(c=(s=(n??"").trim()).length>120?{kind:"tooLong",maxLength:120}:""===s?{kind:"clear"}:{kind:"set",label:s}).kind?null:{type:"set_branch_label",targetId:i,label:"set"===c.kind?c.label:""});if(!f)return{kind:"error"};let x=t.current;if(!x)return{kind:"error"};a.current=!0,d(!0);try{if(await p(x,f),!await h(x,!1,!1,!0)){let e="Failed to refresh session after saving the bookmark";return g({type:"error",message:e}),{kind:"error",message:e}}return{kind:"ok"}}catch(t){let e=t instanceof Error?t.message:String(t);return g({type:"error",message:e}),{kind:"error",message:e}}finally{a.current=!1,d(!1)}},[g,r,o,l,a,t,d,p,h]),R=(0,i.useMemo)(()=>({canWrite:n,busy:s,navigate:C,setLabel:_}),[n,s,C,_]);return{handleFork:v,handleNavigate:y,handleLeafChange:b,handleBranchHere:j,handleBranchFromAssistant:w,handleNewSessionFromHere:k,handleNewSessionFromAnswer:S,navigateBranch:C,setBranchLabel:_,branchActions:R,branchBusy:s}}({sessionIdRef:ti,isReadOnly:v,canWrite:m.canSendSessionCommands,agentRunningRef:ts,bashRunningRef:tp,branchBusyRef:th,branchBusy:tt,setBranchBusy:tr,setForkingEntryId:ey,setActiveLeafId:M,sendAgentCommand:iY,loadSession:tD,loadContext:tN,addNotice:eN,chatInputRef:e.chatInputRef,onSessionForked:d}),t8=(0,i.useCallback)(t=>{let r=function(e,t){switch(t.method){case"select":case"confirm":case"input":case"editor":{var r;if("select"!==(r=t.method)&&"confirm"!==r&&"input"!==r&&"editor"!==r)return{state:e,effects:[]};let n=i5(e);if(n.some(e=>e.id===t.id))return{state:e,effects:[]};return{state:i3(e,[...n,t]),effects:[]}}case"notify":return{state:e,effects:[{type:"notice",id:t.id,message:t.message,noticeType:t.notifyType??"info",activityRecord:!0===t.activityRecord}]};case"setStatus":{let r=e.statuses.findIndex(e=>e.key===t.statusKey);if(!t.statusText){if(-1===r)return{state:e,effects:[]};return{state:{...e,statuses:e.statuses.filter(e=>e.key!==t.statusKey)},effects:[]}}let n={key:t.statusKey,text:t.statusText};if(-1!==r&&e.statuses[r].text===n.text)return{state:e,effects:[]};let i=[...e.statuses.filter(e=>e.key!==t.statusKey),n];return{state:{...e,statuses:i},effects:[]}}case"setWidget":{let r=e.widgets.findIndex(e=>e.key===t.widgetKey);if(!t.widgetLines){if(-1===r)return{state:e,effects:[]};return{state:{...e,widgets:e.widgets.filter(e=>e.key!==t.widgetKey)},effects:[]}}let n={key:t.widgetKey,lines:t.widgetLines,placement:t.widgetPlacement??"aboveEditor"},i=-1===r?null:e.widgets[r];if(i&&i.placement===n.placement&&i.lines===n.lines)return{state:e,effects:[]};let o=[...e.widgets.filter(e=>e.key!==t.widgetKey),n];return{state:{...e,widgets:o},effects:[]}}case"setTitle":return t.title?{state:e,effects:[{type:"setTitle",title:t.title}]}:{state:e,effects:[]};case"set_editor_text":return{state:e,effects:[{type:"insertText",text:t.text}]};case"custom":if(t.closed)return t.id===e.customUi?.id?{state:{...e,customUi:null},effects:[]}:{state:e,effects:[]};return{state:{...e,customUi:t},effects:[]}}}(eQ.current,t);for(let t of(e0(r.state),r.effects))"notice"===t.type?(eN({id:t.id,message:t.message,type:t.noticeType,activityRecord:t.activityRecord}),t.activityRecord&&eB({version:1,kind:"error"===t.noticeType?"error":"warning",title:"error"===t.noticeType?"Extension error":"Extension warning",content:t.message,source:"extension.ui.notify",requestId:t.id,metadata:{notifyType:t.noticeType}})):"setTitle"===t.type?document.title=t.title:e.chatInputRef?.current?.insertText(t.text)},[eN,eB,e0,e.chatInputRef,eQ]),t3=(0,i.useCallback)(e=>{e&&(void 0!==e.contextUsage&&eg(e.contextUsage??null),void 0!==e.systemPrompt&&em(e.systemPrompt??null),oh(e.thinkingLevel)&&ec(e.thinkingLevel),void 0!==e.isCompacting&&e_(e.isCompacting),void 0!==e.extensionStatuses&&e1({statuses:e.extensionStatuses??[]}),void 0!==e.extensionWidgets&&e1({widgets:e.extensionWidgets??[]}),void 0!==e.queuedMessages&&e7(e.queuedMessages))},[e7,e1]),t9=(0,i.useCallback)(async(e,t)=>{var r,n;if(e&&null!==(r={sessionId:e,currentSessionId:ti.current,eventRunId:t,currentRunId:tI.current,running:ts.current,claimedRunId:tT.current}).sessionId&&r.sessionId===r.currentSessionId&&r.eventRunId===r.currentRunId&&r.running&&null===r.claimedRunId&&1){tT.current=t;try{let r=await tD(e,!1,!0,!1,!1,()=>{t===tI.current&&tk()});r&&"object"==typeof r&&"running"in r&&t3(r.state)}finally{let r=null!==(n={sessionId:e,currentSessionId:ti.current,eventRunId:t,currentRunId:tI.current,claimedRunId:tT.current}).sessionId&&n.sessionId===n.currentSessionId&&n.eventRunId===n.currentRunId&&n.claimedRunId===n.eventRunId;if(tT.current=null,!r)return;tE.current=null,ts.current=!1,F(!1),ez(null),eh(null);{let e=function(e,t=Date.now()){let r=!1,n=new Map(e);for(let[e,i]of n)"running"===i.status&&(n.set(e,{...i,status:"cancelled",endedAt:i.endedAt??t}),r=!0);return r?n:e}(rr.current);rr.current=e,eL(ok(e))}H({type:"end"}),l?.()}}},[tD,l,t3,H,F,ez,eh,tk]),t7=(0,i.useCallback)(async(e,t)=>{await oR(800);let r=Date.now();for(;ts.current&&Date.now()-r<2e4;){if(void 0!==t&&tI.current>t+1)return;try{let t=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(t.ok){let r=await t.json(),n=r.state;if(of({sendInFlight:td.current,clientRunning:ts.current,live:!0===r.running,isStreaming:n?.isStreaming===!0,isPromptRunning:n?.isPromptRunning===!0,isCompacting:n?.isCompacting===!0}))return void await t9(e,tI.current)}}catch{}await oR(600)}},[t9]),re=(0,i.useCallback)(async e=>{let t=tf.current+1;for(tf.current=t;tp.current&&tf.current===t&&ti.current===e;){await oR(1e3);try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok)continue;let n=await r.json();if(n.state?.isBashRunning)continue;if(await tD(e),tf.current!==t||ti.current!==e)return;tp.current=!1,B(!1),U(null);return}catch{}}},[tD]),rt=(0,i.useCallback)(async e=>{if(!ts.current)return;let t=tI.current;try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok)return;let n=await r.json();if(tI.current!==t)return;let i=n.state;if(e_(i?.isCompacting??!1),i?.queuedMessages!==void 0&&e7(i.queuedMessages),!of({sendInFlight:td.current,clientRunning:ts.current,live:!0===n.running,isStreaming:i?.isStreaming===!0,isPromptRunning:i?.isPromptRunning===!0,isCompacting:i?.isCompacting===!0}))return;await t9(e,t)}catch{}},[e7,t9]);(0,i.useEffect)(()=>{if(!D)return;let e=()=>{let e=ti.current;e&&rt(e)},t=()=>{"visible"===document.visibilityState&&e()},r=setInterval(e,15e3);return document.addEventListener("visibilitychange",t),window.addEventListener("online",e),()=>{clearInterval(r),document.removeEventListener("visibilitychange",t),window.removeEventListener("online",e)}},[D,rt]),(0,i.useEffect)(()=>{ts.current=D},[D]);let rr=(0,i.useRef)(new Map),rn=(0,i.useCallback)(e=>{rr.current=e,eL(ok(e))},[]);tg.current=(0,i.useCallback)((e,r)=>{switch(e.type){case"agent_start":var n;tI.current+=1,rn(0===(n=rr.current).size?n:new Map),ts.current=!0,F(!0),ez({kind:"waiting_model"}),H({type:"start"});break;case"agent_end":case"prompt_done":t9(ti.current,tI.current);break;case"prompt_error":if(ti.current&&(0,X.dM)(`sessionQueueHold.${ti.current}`,!0),tE.current){let e=tE.current;tE.current=null,z(t=>{let r=t[t.length-1];return r?.role==="user"&&oT(r)===e?t.slice(0,-1):t})}eN({type:"error",message:e.errorMessage??"Command failed"});break;case"extension_error":ti.current&&(0,X.dM)(`sessionQueueHold.${ti.current}`,!0),eN({type:"error",message:e.error??"Extension command failed"});break;case"leaf_drift":eN({type:"warning",message:t("session_leafDrift")});break;case"message_start":case"message_update":{if(!ts.current)break;let t=e.message;if(t?.role==="user")break;t&&(tl.current=ti.current,H({type:"update",message:iU(iJ(t,e.renderedLines))})),ez(null);break}case"message_end":{let t=e.message;if(t&&"user"===t.role){let e=iU(t),r=oT(e),n=tE.current;tE.current=null,z(t=>{let i=t.filter(e=>!(e._steerOptimistic&&oT(e)===r));if(i.some(e=>"user"===e.role&&!e._steerOptimistic&&oT(e)===r))return i;let o=i[i.length-1];return n&&o?.role==="user"&&oT(o)===n?n===r?i:[...i.slice(0,-1),e]:[...i,e]})}else if(t){if(!ts.current||!ts.current)break;tl.current=ti.current;let r=iJ(t,e.renderedLines);z(e=>[...e,iU(r)])}H({type:"reset"}),ez({kind:"waiting_model"});break}case"tool_execution_start":{rn(ow(rr.current,e));let t=e.toolCallId,r=e.toolName;ez(e=>{let n=e?.kind==="running_tools"?[...e.tools]:[];return n.some(e=>e.id===t)||n.push({id:t,name:r}),{kind:"running_tools",tools:n}});break}case"tool_execution_update":rn(function(e,t){if("object"!=typeof t||null===t)return e;let r=ox(t.toolCallId);if(!r)return e;let n=e.get(r);if(!n||"running"!==n.status)return e;let{text:i,truncated:o}=ob(oy(t.partialResult)),l=n.command??oj(t.args),a=ov(t.renderedLines);return i===n.output&&o===(n.truncated??!1)&&l===n.command&&a===n.renderedLines?e:new Map(e).set(r,{...n,output:i,truncated:o||void 0,command:l,renderedLines:a})}(rr.current,e));break;case"tool_call":rn(ow(rr.current,{toolCallId:e.toolCallId,toolName:e.toolName,args:e.input??e.args,renderedCallLines:e.renderedCallLines}));break;case"tool_result":rn(function(e,t){if("object"!=typeof t||null===t)return e;let r=ox(t.toolCallId);if(!r)return e;let n=e.get(r),i=ov(t.renderedResultLines);return n&&i?new Map(e).set(r,{...n,renderedResultLines:i}):e}(rr.current,{toolCallId:e.toolCallId,renderedResultLines:e.renderedResultLines}));break;case"tool_execution_end":{rn(function(e,t){if("object"!=typeof t||null===t)return e;let r=ox(t.toolCallId);if(!r)return e;let n=Date.now(),i=e.get(r),o=om(t.toolName)??i?.toolName??"",l=!0===t.isError?"error":"success",a=ov(t.renderedResultLines)??i?.renderedResultLines;if(!i){let{text:i,truncated:s}=ob(oy(t.result));return new Map(e).set(r,{toolCallId:r,toolName:o,output:i,startedAt:n,endedAt:n,status:l,renderedResultLines:a,truncated:s||void 0})}if("running"!==i.status)return a&&a!==i.renderedResultLines?new Map(e).set(r,{...i,renderedResultLines:a}):e;let{output:s,truncated:d}=i;if(0===s.length&&null!==t.result&&void 0!==t.result){let e=ob(oy(t.result));s=e.text,d=e.truncated}return new Map(e).set(r,{...i,toolName:o,output:s,truncated:d,renderedResultLines:a,endedAt:n,status:l})}(rr.current,e));let t=e.toolCallId;ez(e=>{if(e?.kind!=="running_tools")return e;let r=e.tools.filter(e=>e.id!==t);return 0===r.length?{kind:"waiting_model"}:{kind:"running_tools",tools:r}});break}case"follow_up_flushed":e9(Array.isArray(e.remaining)?e.remaining.filter(e=>"string"==typeof e):[]);break;case"follow_up_flush_error":eN({type:"error",message:e.errorMessage??"Follow-up queue flush failed"});break;case"queue_update":e6({steering:[...e.steering??[]],followUp:[...e8.current]});break;case"auto_retry_start":eh({attempt:e.attempt,maxAttempts:e.maxAttempts,errorMessage:e.errorMessage});break;case"auto_retry_end":eh(null),!1===e.success&&eN({type:"error",message:"string"==typeof e.finalError&&e.finalError.trim()?e.finalError.trim():t("message_apiError")});break;case"auto_compaction_start":case"compaction_start":e_(!0),eI(null),eM(null);break;case"auto_compaction_end":case"compaction_end":e_(!1),e.errorMessage?(eI(e.errorMessage),eM(null)):!e.aborted&&(eM(oM(e.result,e.reason??"auto")),ti.current&&tD(ti.current));break;case"extension_ui_request":t8(e)}},[eN,e9,rn,t9,t8,tD,t]);let ri=(0,i.useCallback)(async(n,i)=>{if(v)return!1;let o=n.trim();if(!o&&!i?.length||ts.current||tp.current)return!1;if(th.current)return eN({type:"info",message:"Branch switch in progress — please wait"}),!1;let l=!i?.length&&o.startsWith("/");if(!i?.length&&o.startsWith("!")){let e=o.startsWith("!!"),t=(e?o.slice(2):o.slice(1)).trim();return!!t&&(await tm.current?.(t,e)??!1)}let a=tI.current+1,d=i?.map(e=>({type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}})),c={role:"user",content:d?.length?[...n.trim()?[{type:"text",text:n}]:[],...d]:n,timestamp:Date.now()};z(e=>[...e,c]),tE.current=oT(c),tI.current=a,tc.current=!1,td.current=!0;let u=new AbortController;if(tu.current=u,ts.current=!0,F(!0),ez(l?{kind:"running_command"}:{kind:"waiting_model"}),H({type:"start"}),tj(),f&&g.current&&x.current&&s){let e=x.current,t=g.current;s({id:iQ(e),path:"",cwd:t,projectRoot:t,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:o},e)}let p=i?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType}));try{let e=null;if(f&&g.current){let t=er??ei,r=ti.current??await t_.current,i=r??await tU(),o=x.current;if(!i||(e=i,x.current===o&&tO(1,n),t&&(ek(t),r&&await iY(i,{type:"set_model",provider:t.provider,modelId:t.modelId})),await tV(i),tc.current))return!1;await iY(i,{type:"prompt",message:n,...p?.length?{images:p}:{}},{signal:u.signal}),tz.current=!0}else if(r){if(e=r.id,await tV(r.id),tc.current)return!1;let i=eS.current;if(i){eS.current=null,ek(null);try{await iY(r.id,{type:"set_model",provider:i.provider,modelId:i.modelId})}catch(e){eS.current=i,ek(i),eN({type:"error",message:t("models_switchFailed",{error:e instanceof Error?e.message:String(e)})})}}await iY(r.id,{type:"prompt",message:n,...p?.length?{images:p}:{}},{signal:u.signal}),tz.current=!0}return tz.current&&e&&(0,X.dM)(`sessionQueueHold.${e}`,null),l&&e&&t7(e,a),!0}catch(i){if(tc.current||i instanceof Error&&"AbortError"===i.name)return tz.current||(ts.current=!1,F(!1),ez(null),H({type:"end"})),!1;if(console.error("Failed to send message:",i),tz.current)return tz.current=!1,eN({type:"warning",message:t("chat_sendSubmittedSwitched")}),!0;let r=tE.current,n=!1;z(e=>{let t=function(e){let{messages:t,optimisticKey:r,isOptimisticMatch:n}=e;if(!r)return{messages:[...t],optimisticKey:null,restoreDraft:!1};let i=t[t.length-1];return void 0!==i&&n(i)?{messages:t.slice(0,-1),optimisticKey:null,restoreDraft:!0}:{messages:[...t],optimisticKey:null,restoreDraft:!1}}({messages:e,optimisticKey:r,isOptimisticMatch:e=>oT(e)===r});return n=t.restoreDraft,t.messages}),tE.current=null,n&&e.chatInputRef?.current?.insertIfEmpty(o);{let e=i instanceof Error?i.message:String(i);eN({type:"error",message:e.includes("locked by another")?t("chat_sessionLocked"):e})}return ts.current=!1,F(!1),ez(null),H({type:"end"}),!1}finally{td.current=!1,tu.current===u&&(tu.current=null)}},[f,v,er,ei,r,tU,tV,tO,t7,eN,tj,e.chatInputRef,t,s]);tm.current=(0,i.useCallback)(async(t,n)=>{if(v||ts.current||tp.current||th.current)return!1;let i=`${n?"!!":"!"}${t}`;tp.current=!0,U({command:t,excludeFromContext:n,startedAt:Date.now()}),B(!0);try{let e=ti.current??r?.id??await tU();if(!e)throw Error("Unable to create a session for the shell command");return tO(1,i),await iY(e,{type:"bash",command:t,excludeFromContext:n}),await tD(e),!0}catch(t){return console.error("Failed to execute shell command:",t),eN({type:"error",message:t instanceof Error?t.message:String(t)}),e.chatInputRef?.current?.insertIfEmpty(i),!1}finally{tp.current=!1,U(null),B(!1)}},[eN,v,tU,tD,e.chatInputRef,tO,r]);let ro=(0,i.useCallback)(async()=>{if(v)return;let e=ti.current;if(e){if(tc.current=!0,tu.current?.abort(),(0,X.dM)(`sessionQueueHold.${e}`,!0),tp.current){try{await iY(e,{type:"abort_bash"})}catch(e){console.error("Failed to abort bash:",e)}return}try{await iY(e,{type:"abort"})}catch(e){console.error("Failed to abort:",e)}}},[v]),rl=(0,i.useCallback)(async(e,r,n)=>{if(v)return;if(f){en({provider:e,modelId:r}),ek({provider:e,modelId:r});let t=nk(n);t&&ec(t);let i=ti.current;if(!i&&t_.current)try{i=await t_.current??null}catch{i=null}if(!i)return;try{n&&oh(n)&&await iY(i,{type:"set_thinking_level",level:n}),await iY(i,{type:"set_model",provider:e,modelId:r})}catch(e){console.error("Failed to set model:",e)}return}let i=ti.current;if(i){n&&ec(n),ej({provider:e,modelId:r}),ek({provider:e,modelId:r}),eS.current={provider:e,modelId:r};try{n&&oh(n)&&await iY(i,{type:"set_thinking_level",level:n}),await iY(i,{type:"set_model",provider:e,modelId:r})}catch(e){eS.current=null,ek(null),ej(null),eN({type:"error",message:t("models_switchFailed",{error:e instanceof Error?e.message:String(e)})})}}},[f,v,en,eN,t]),ra=(0,i.useCallback)(async()=>{if(v)return;let e=ti.current;if(e&&!eC){e_(!0),eI(null),eM(null);try{let t=await iY(e,{type:"compact"});eM(oM(t,"manual")),await tD(e,!0)}catch(e){eI(e instanceof Error?e.message:String(e)),eM(null)}finally{e_(!1)}}},[eC,v,tD]),rs=(0,i.useCallback)(async e=>{let t=n??r?.cwd??"",i=t?`/api/models?cwd=${encodeURIComponent(t)}`:"/api/models",o=await fetch(i,e?{signal:e}:void 0);if(!o.ok)throw Error(`HTTP ${o.status}`);let l=await o.json();K(l.models),Z(l.thinkingLevels??{}),Q(l.thinkingLevelMaps??{}),et(l.authConfigured??{});let a=l.modelList??[];J(a);let s=l.defaultModel?a.find(e=>e.id===l.defaultModel?.modelId&&e.provider===l.defaultModel?.provider):void 0,d=l.authConfigured??{},c=s??a.find(e=>!1!==d[e.provider])??a[0];eo(c?{provider:c.provider,modelId:c.id}:null)},[n,r?.cwd]),rd=(0,i.useCallback)(async(e,t)=>{let r=ti.current;if(r)try{await fetch(`/api/sessions/${encodeURIComponent(r)}/command-entry`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e,ok:!0,result:t})})}catch(e){console.error("Failed to record command entry:",e)}},[]),rc=(0,i.useCallback)(async e=>{if(v||!e.startsWith("/"))return{handled:!1};let t=e.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!t)return{handled:!1};let[,r,n=""]=t,i=n.trim(),o=ti.current??await tU();o&&f&&tO();let l=e=>(e.handled&&(e.error?eN({type:"error",message:e.error}):"openSessionStats"!==e.action&&eN({type:"success",message:e.message??"Command completed"})),e);try{switch(r){case"compact":{if(!o||eC)return l({handled:!0,error:"No active session to compact"});e_(!0),eI(null),eM(null);let e=await iY(o,{type:"compact",...i?{customInstructions:i}:{}});return eM(oM(e,"manual")),await rd(`/compact${i?` ${i}`:""}`,"Compacted context"),await tD(o,!0)&&tO(),l({handled:!0,message:"Compacted context"})}case"reload":if(!o)return l({handled:!0,error:"No active session to reload"});return await iY(o,{type:"reload"}),await rd("/reload","Reloaded session resources"),await Promise.all([tD(o,!1,!0),tB(o),tq(),rs()]),l({handled:!0,message:"Reloaded session resources"});case"name":if(!o)return l({handled:!0,error:"No active session to name"});if(!i)return l({handled:!0,error:"Usage: /name <name>"});return await iY(o,{type:"set_session_name",name:i}),await rd(`/name ${i}`,`Session renamed to ${i}`),await tD(o)&&tO(),l({handled:!0,message:`Session renamed to ${i}`});case"session":{if(!o)return l({handled:!0,error:"No active session"});let e=await iY(o,{type:"get_session_stats"});return e&&eV(e),await rd("/session","Opened session stats"),await tD(o),h?.(),l({handled:!0,action:"openSessionStats"})}case"copy":{if(!o)return l({handled:!0,error:"No active session"});let e=await iY(o,{type:"get_last_assistant_text"}),t=e?.text??"";if(!t)return l({handled:!0,error:"No assistant message to copy"});return await navigator.clipboard.writeText(t),await rd("/copy","Copied last assistant message"),await tD(o),l({handled:!0,message:"Copied last assistant message"})}default:return{handled:!1}}}catch(e){return l({handled:!0,error:e instanceof Error?e.message:String(e)})}finally{"compact"===r&&e_(!1)}},[eN,tU,eC,f,v,rs,tD,tq,tB,tO,h,rd]),ru=(0,i.useCallback)(async(e,t)=>{if(v)return;let r=ti.current;if(!r)return;let n=tA.current?.getCurrentSource();n&&2!==n.readyState||await tV(r),tj();let i={role:"user",content:(t?.length,e),timestamp:Date.now(),_steerOptimistic:!0},o=oT(i);z(e=>[...e,i]);let l=t?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType}));try{await iY(r,{type:"steer",message:e,...l?.length?{images:l}:{}})}catch(e){z(e=>e.filter(e=>!(e._steerOptimistic&&oT(e)===o))),console.error("Failed to steer:",e)}},[tV,v,tj]),rp=(0,i.useCallback)(e=>{let t=e instanceof Error?e.message:String(e);return/Extension command .* cannot be queued/.test(t)},[]),rh=(0,i.useCallback)(async(e,t,r)=>{if(v)return;let n=ti.current;if(!n)return;if("followUp"===t)return void await tx.current(e,r);let i=r?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType}));try{await iY(n,{type:"steer",message:e,...i?.length?{images:i}:{}})}catch(t){if(rp(t))return void await iY(n,{type:"prompt",message:e});console.error("Failed to steer:",t)}},[v,rp]),rf=(0,i.useCallback)(async(t,r)=>{if(v)return;let n=ti.current;if(!n)return;let i=t.trim();if(i){if(r?.length||!ts.current){tj();let e=r?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType}));try{await iY(n,{type:"prompt",message:i,...e?.length?{images:e}:{}})}catch(e){console.error("Failed to send prompt:",e)}return}tj();try{await te([...e8.current,i])}catch(t){e.chatInputRef?.current?.prependText(i),eN({type:"error",message:t instanceof Error?t.message:String(t)})}}},[eN,v,tj,e.chatInputRef,te]);tx.current=rf;let rg=(0,i.useCallback)(async()=>{if(v||!eC)return;let e=ti.current;if(e)try{await iY(e,{type:"abort_compaction"}),e_(!1),eI(null),eM(null)}catch(e){eI(e instanceof Error?e.message:String(e))}},[eC,v]),rx=(0,i.useCallback)(async()=>{if(v)return;let t=e8.current;if(0!==t.length)try{await te([]),e.chatInputRef?.current?.prependText(t.map(e=>e.trim()).filter(e=>e.length>0).join("\n\n"))}catch(e){eN({type:"error",message:e instanceof Error?e.message:String(e)})}},[eN,v,te,e.chatInputRef]),rm=(0,i.useCallback)(async t=>{if(v)return;let r=ti.current;if(!r)return;let n=[...e8.current],i=[...n,...t?.trim()?[t.trim()]:[]].map(e=>e.trim()).filter(e=>e.length>0).join("\n");if(!i)return;tj();let o={role:"user",content:i,timestamp:Date.now(),_steerOptimistic:!0},l=oT(o);z(e=>[...e,o]);let a=!1;try{if(await te([]),a=!0,ts.current)try{await iY(r,{type:"steer",message:i})}catch(e){if(!rp(e))throw e;await iY(r,{type:"prompt",message:i})}else await iY(r,{type:"prompt",message:i})}catch(r){if(a)try{await te(n)}catch{}t?.trim()&&e.chatInputRef?.current?.prependText(t.trim()),z(e=>e.filter(e=>!(e._steerOptimistic&&oT(e)===l))),console.error("Failed to send queue as steer:",r),eN({type:"error",message:String(r instanceof Error?r.message:r)})}},[v,tj,te,eN,rp,e.chatInputRef]),rv=(0,i.useCallback)(async e=>{if(v)return;ec(e);let t=ti.current??await t_.current;if(t)try{await iY(t,{type:"set_thinking_level",level:e})}catch(e){console.error("Failed to set thinking level:",e)}},[v]),ry=(0,i.useCallback)(async e=>{if(v||ts.current||tp.current||th.current)return;let t=ti.current;if(t)try{await iY(t,{type:"prompt",message:e}),await tD(t,!1,!0)}catch(e){console.error("Workspace history prompt failed:",e),eN({type:"error",message:String(e)})}},[eN,v,tD]),rb=(0,i.useCallback)(async()=>{await ry("/undo")},[ry]),rj=(0,i.useCallback)(async()=>{await ry("/redo")},[ry]),rw=(0,i.useCallback)(async e=>{let t="string"==typeof e?e.trim():"",r=t?`/checkpoint ${t}`:"/checkpoint";await ry(r)},[ry]),rk=(0,X.Fd)(),rS=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=ti.current;if(!e)return;let t=!1;return fetch("/api/preferences",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(r=>{if(t||ti.current!==e)return;let n=iZ(r?.prefs,e);null!==n&&(rS.current=n,e9(n))}).catch(()=>void 0),()=>{t=!0}},[e9,r?.id]),(0,i.useEffect)(()=>{let e=ti.current;if(!e)return;let t=iZ(rk,e);null===t||JSON.stringify(t)!==JSON.stringify(rS.current)&&(rS.current=t,e9(t))},[e9,rk,r?.id]),(0,i.useEffect)(()=>{var e;e0({...0===i5(e=eQ.current).length&&!e.dialog?e:{...e,dialog:null,blockingQueue:[]},customUi:null}),eO()},[r?.id,n,e0,eQ,eO]);let rC=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=rC.current,t=r?.id??null;e&&e!==t&&(to.current?.abort(),to.current=null),rC.current=r&&!0!==r.readOnly?r.id:null},[r?.id,r?.readOnly]),(0,i.useEffect)(()=>(r&&(ti.current=r.id,!0===r.readOnly?tD(r.id,!0,!1):tD(r.id,!0,!0).then(e=>{if(!0!==e&&(e?.running&&(tB(r.id),tK(r.id),(e.state?.isStreaming||e.state?.isPromptRunning)&&(ts.current=!0,F(!0),ez(e.state.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),H({type:"start"}),!e.state.isStreaming&&e.state.isPromptRunning&&t7(r.id)),e.state?.isBashRunning&&(tp.current=!0,B(!0),e.state.pendingBash&&U(e.state.pendingBash),re(r.id))),e?.state)&&(void 0!==e.state.isCompacting&&e_(e.state.isCompacting),void 0!==e.state.contextUsage&&eg(e.state.contextUsage??null),void 0!==e.state.systemPrompt&&em(e.state.systemPrompt??null),oh(e.state.thinkingLevel)&&ec(e.state.thinkingLevel),void 0!==e.state.extensionStatuses&&e1({statuses:e.state.extensionStatuses??[]}),void 0!==e.state.extensionWidgets&&e1({widgets:e.state.extensionWidgets??[]}),void 0!==e.state.queuedMessages&&e7(e.state.queuedMessages),Array.isArray(e.state.pendingExtensionRequests))){let t=e.state.pendingExtensionRequests.filter(e=>{let t=e.method;return"select"===t||"confirm"===t||"input"===t||"editor"===t});t.length>0&&e1({blockingQueue:t,...i8(t)})}})),()=>{tf.current+=1,tA.current?.close(),tn.current=null}),[]),(0,i.useEffect)(()=>{p?.(ex)},[ex,p]),(0,i.useEffect)(()=>{u&&u(y?.tree??[],T,tG,t5)},[y?.tree,T,tG,t5,u]),(0,i.useEffect)(()=>{let e=new AbortController;return rs(e.signal).catch(e=>{if(e instanceof DOMException&&"AbortError"===e.name)return}),()=>e.abort()},[rs,c]),(0,i.useEffect)(()=>{let e=!1;return fetch("/api/agent-settings").then(e=>e.json()).then(t=>{!e&&oh(t.defaultThinkingLevel)&&ea(t.defaultThinkingLevel)}).catch(()=>void 0),()=>{e=!0}},[]),(0,i.useEffect)(()=>{if(!eR)return;let e=setTimeout(()=>eI(null),3e3);return()=>clearTimeout(e)},[eR]),(0,i.useEffect)(()=>{if(!eT)return;let e=setTimeout(()=>eM(null),6e3);return()=>clearTimeout(e)},[eT]),(0,i.useEffect)(()=>{eV(null)},[E.length,ef?.tokens,ef?.percent,ef?.contextWindow]),{data:y,loading:j,historyLoading:k,hasMoreBefore:C,error:R,activeLeafId:T,messages:E,entryIds:W,streamState:$,agentRunning:D,modelNames:q,modelList:V,modelAuthConfigured:ee,modelThinkingLevels:Y,modelThinkingLevelMaps:G,newSessionModel:er,thinkingLevel:eu,defaultThinkingLevel:el,retryInfo:ep,contextUsage:ef,systemPrompt:ex,forkingEntryId:ev,isCompacting:eC,compactError:eR,compactResult:eT,currentModel:tP,displayModel:t$,sessionStats:tH,slashCommands:eA,slashCommandsLoading:e$,queuedMessages:e4,notices:eD,liveNoticeActivities:eF,dismissNotice:eU,toggleNoticePin:eq,extensionDialog:eJ,extensionCustomUi:eY,extensionStatuses:eZ,extensionWidgets:eX,respondToExtensionUi:tJ,dismissExtensionUiRequest:e2,sendExtensionCustomInput:tY,todos:tL,isAutoModelSelection:f&&null===er,agentPhase:eE,toolExecutionSnapshots:eW,isNew:f,sessionIdRef:ti,eventSourceRef:tn,scrollContainerRef:tv,jumpButtonVisible:ty,jumpToBottom:tb,markExternalScrollWrite:tS,notifyProgrammaticSmooth:tC,loadOlderHistory:tF,handleSend:ri,handleAbort:ro,handleFork:tZ,handleNavigate:tX,handleModelChange:rl,handleCompact:ra,handleSteer:ru,handleFollowUp:rf,handlePromptWithStreamingBehavior:rh,handleAbortCompaction:rg,handleRecallQueue:rx,handleSendQueueAsSteer:rm,handleBuiltinSlashCommand:rc,handleThinkingLevelChange:rv,loadTools:tB,loadSlashCommands:tq,setActiveLeafId:M,setData:b,setMessages:z,dispatch:H,setAgentRunning:F,setForkingEntryId:ey,bashRunning:N,pendingBash:O,handleWorkspaceUndo:rb,handleWorkspaceRedo:rj,handleWorkspaceCheckpoint:rw,handleBranchHere:tQ,handleBranchFromAssistant:t0,handleNewSessionFromHere:t1,handleNewSessionFromAnswer:t2,branchBusy:tt,branchActions:t5,navigateBranch:t4,setBranchLabel:t6,handleAgentEventRef:tg}}({session:e,newSessionCwd:z,newSessionIntentId:r,onAgentEnd:(0,i.useCallback)(()=>{L.current&&W.current(),s?.()},[s]),onAgentRunningChange:d,onSessionCreated:c,onSessionForked:u,modelsRefreshKey:p,chatInputRef:h,onBranchDataChange:f,onSystemPromptChange:g,onSessionStatsPanelOpen:m,isMobile:R}),eX=B||O,[eQ,e0]=(0,i.useState)(!0),e1=e?.id??(z?`new:${z}`:"new-session");(0,i.useEffect)(()=>{e0(!0)},[e1]);let[e2,e4]=(0,i.useState)(()=>{try{return"1"===localStorage.getItem("pidance.footerCollapsed")}catch{return!1}});(0,i.useEffect)(()=>{try{localStorage.setItem("pidance.footerCollapsed",e2?"1":"0")}catch{}(0,X.dM)("footerCollapsed",e2)},[e2]);let e6=(0,X.Fd)();(0,i.useEffect)(()=>{let e=(0,X.b3)("draftTargetCwd");"string"==typeof e&&e&&e!==T&&!o&&M(e);let t=(0,X.b3)("footerCollapsed");"boolean"==typeof t&&t!==e2&&e4(t)},[e6]),(0,i.useEffect)(()=>{let e,t=eg?.id,r=eg?.expiresAt;if(!t||"number"!=typeof r||!Number.isFinite(r))return;let n=()=>{let i=r-Date.now();i<=0?eb(t):e=setTimeout(n,Math.min(i,0x7fffffff))};return n(),()=>{void 0!==e&&clearTimeout(e)}},[eg?.id,eg?.expiresAt,eb]),(0,i.useEffect)(()=>{l=eX?eA:null},[eX,eA]);let[e5,e8]=(0,i.useState)(50),e3=(0,i.useRef)(null),e9=(0,i.useRef)(null),e7=(0,i.useRef)(null);(0,i.useEffect)(()=>{e8(50),e7.current=null},[e?.id]),(0,i.useEffect)(()=>{let e=e3.current,t=eI.current;if(!e||!t)return;let r=new IntersectionObserver(e=>{var r;if(!e[0]?.isIntersecting)return;let n=(r={visibleCount:e5,messagesLength:D.length,hasMoreBefore:$,historyLoading:P}).historyLoading?"none":r.visibleCount<r.messagesLength?"expand-local":r.hasMoreBefore?"load-server":"none";if("none"!==n){if(e9.current=t.scrollHeight-t.scrollTop,"expand-local"===n)return void e8(e=>oA(e));eW().then(e=>{e&&e8(e=>oA(e))})}},{root:t,threshold:0});return r.observe(e),()=>r.disconnect()},[e5,D.length,eI,$,P,eW]),(0,i.useEffect)(()=>{if(null==e9.current)return;let e=eI.current;if(e){var t;eE(),t=e.scrollHeight,e.scrollTop=Math.max(0,t-e9.current),e9.current=null}},[e5,D.length,eI,eE]);let te=eo?[eo.sessionId,eo.sessionFile??"",eo.sessionName??"",eo.userMessages,eo.assistantMessages,eo.toolCalls,eo.toolResults,eo.totalMessages,eo.tokens.input,eo.tokens.output,eo.tokens.cacheRead,eo.tokens.cacheWrite,eo.tokens.total,eo.cost??0].join("|"):null,tt=(0,i.useRef)(eo);tt.current=eo,(0,i.useEffect)(()=>{x?.(tt.current)},[te,x]),(0,i.useEffect)(()=>()=>{x?.(null)},[x]);let tr=Q?`${Q.percent??"null"}|${Q.contextWindow}|${Q.tokens??"null"}`:null,tn=(0,i.useRef)(Q);tn.current=Q,(0,i.useEffect)(()=>{v?.(tn.current)},[tr,v]),(0,i.useEffect)(()=>()=>{v?.(null)},[v]);let{isDragOver:ti,handleDragEnter:to,handleDragOver:tl,handleDragLeave:ta,handleDrop:ts}=function(e){let[t,r]=(0,i.useState)(!1),n=(0,i.useRef)(0),o=(0,i.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith("image/"))&&(e.preventDefault(),n.current+=1,r(!0))},[]),l=(0,i.useCallback)(e=>{Array.from(e.dataTransfer.items).some(e=>e.type.startsWith("image/"))&&e.preventDefault()},[]);return{isDragOver:t,handleDragEnter:o,handleDragOver:l,handleDragLeave:(0,i.useCallback)(()=>{n.current-=1,n.current<=0&&(n.current=0,r(!1))},[]),handleDrop:(0,i.useCallback)(t=>{t.preventDefault(),n.current=0,r(!1),e(Array.from(t.dataTransfer.files))},[e])}}((0,i.useCallback)(e=>{eX||I||h?.current?.addImages(e)},[eX,I,h])),td=(b=D.filter(e=>"user"===e.role||"assistant"===e.role).length,(j=(0,i.useRef)([])).current=Array(b).fill(null).map((e,t)=>j.current[t]??null),j),tc=N.isStreaming&&N.streamingMessage?{message:N.streamingMessage,isActive:!0}:void 0,tu=function(e){let{messages:t,isStreaming:r,agentOrBashRunning:n,liveSlot:i}=e,o=t.findLastIndex(e=>"user"===e.role),l=[];for(let e=0;e<t.length;){if("user"!==t[e].role){l.push(tE(t,e,r)),e++;continue}let i=e,s=i+1;for(;s<t.length&&"user"!==t[s].role;)s++;let d=function(e,t,r){for(let i=r-1;i>t;i--){var n;if("assistant"===(n=e[i]).role&&tR(n).answerBlocks.some(e=>"image"===e.type||"text"===e.type&&e.text.trim().length>0))return i}for(let n=r-1;n>t;n--)if(e[n]?.role==="assistant")return n;return -1}(t,i,s);if(-1===d||(n||r)&&s===t.length&&i===o){for(let e=i;e<s;e++)l.push(tE(t,e,r));e=s;continue}l.push(tE(t,i,r));let c=[];for(let e=i+1;e<d;e++){var a;("assistant"===(a=t[e]).role?!!tT(a)||t_(a).length>0:"custom"===a.role)&&c.push(e)}let u=t[d],p=tR(u),h=p.processBlocks.length>0?tM(u,p.processBlocks,!0):void 0,f=p.answerBlocks.length>0?tM(u,p.answerBlocks):void 0,g=c.length+ +!!h;if(g>0){let e=c.find(e=>"assistant"===t[e].role||"user"===t[e].role)??(f?void 0:d);l.push({kind:"processGroup",userIdx:i,finalAssistantIdx:d,messageCount:g,toolCallCount:c.reduce((e,r)=>e+("assistant"===t[r].role?tI(t_(t[r])):0),0)+tI(p.processBlocks),children:[...c.map(e=>tE(t,e,r,{attachRef:!1,keyPrefix:"process"})),...h?[tE(t,d,r,{attachRef:!1,keyPrefix:"process-final",messageOverride:h,showTimestamp:!1})]:[]],...void 0===e?{}:{attachRefMessageIndex:e}})}f?l.push(tE(t,d,r,{messageOverride:f})):tT(u)&&!h&&l.push(tE(t,d,r));for(let e=d+1;e<s;e++)l.push(tE(t,e,r));e=s}return i?.isActive&&i.message&&l.push({kind:"message",source:"live",messageIndex:null,messageOverride:i.message,keyPrefix:"live",attachRef:!1,showTimestamp:!1}),l}({messages:D,isStreaming:N.isStreaming,agentOrBashRunning:eX,liveSlot:tc});(0,i.useEffect)(()=>{let e=tu.length,t=e7.current;if(null===t){e7.current=e;return}e!==t&&(e8(r=>Number.isFinite(r)&&Number.isFinite(t)&&Number.isFinite(e)&&!(e<=t)?Math.max(0,r)+(e-t):r),e7.current=e)},[tu.length]);let tp=e_&&0===D.length&&!N.isStreaming&&!eX,th=e?.cwd??z??void 0,tf=ei?J[`${ei.provider}:${ei.modelId}`]??null:null,tg=ei?Y[`${ei.provider}:${ei.modelId}`]??null:null,tx=(0,n.jsx)(n.Fragment,{children:I&&e?(0,n.jsx)(oH,{session:e,isMobile:R}):(0,n.jsx)(ij,{ref:h,onSend:eL,onAbort:eA,onSteer:B?eH:void 0,onFollowUp:B?eD:void 0,onPromptWithStreamingBehavior:B?eF:void 0,isStreaming:eX,model:ei,isAutoModelSelection:ek,modelNames:q,modelList:K,modelAuthConfigured:V,onModelChange:eP,onCompact:e||e_?e$:void 0,onAbortCompaction:eN,isCompacting:et,compactError:er,compactResult:en,thinkingLevel:Z,defaultThinkingLevel:el,onThinkingLevelChange:e||e_?eq:void 0,availableThinkingLevels:tf,thinkingLevelMap:tg,thinkingLevelMaps:Y,retryInfo:G,queuedMessages:ec,onRecallQueue:eB,onSendQueueAsSteer:eO,slashCommands:ea,slashCommandsLoading:ed,onLoadSlashCommands:eK,onBuiltinCommand:eU,soundEnabled:k,onSoundToggle:S,footerCollapsed:e2,onFooterToggle:tp?void 0:()=>e4(e=>!e),onAudioUnlock:_,draftKey:e?.id??(z?`new:${z}`:void 0),cwd:e?.cwd??z})}),tm=ev.some(e=>/todo/i.test(e.key)),tv=0===ew.length||tm?null:(0,n.jsx)("div",{style:{flexShrink:0,padding:"0 16px",paddingRight:R?16:52},children:(0,n.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,n.jsx)(iB,{todos:ew,collapsed:eQ,onToggle:()=>e0(e=>!e)})})}),ty=ev.filter(e=>"belowEditor"!==e.placement),tb=ev.filter(e=>"belowEditor"===e.placement),tj=D.flatMap((e,t)=>{if("custom"!==e.role||"pidance.activity"!==e.customType||!e.details)return[];let r=e.details;return 1!==r.version||"string"!=typeof r.title||"string"!=typeof r.content?[]:[{key:F[t]??`${r.requestId??"activity"}-${t}`,activity:r,timestamp:e.timestamp}]}),tw=new Set(tj.map(e=>e.activity.requestId).filter(Boolean)),tk=[...tj,...ep.filter(e=>!e.activity.requestId||!tw.has(e.activity.requestId)).map(e=>({key:`live-${e.activity.requestId??e.timestamp}`,...e}))];return A?(0,n.jsx)("div",{className:"flex h-full items-center justify-center text-text-muted",children:w("chat_loadingSession")}):H?(0,n.jsx)("div",{className:"flex h-full items-center justify-center text-[var(--error-text)]",children:H}):(0,n.jsxs)("div",{className:"relative flex h-full min-h-0 flex-col overflow-hidden",onDragEnter:to,onDragOver:tl,onDragLeave:ta,onDrop:ts,children:[ti&&!eX&&!I&&(0,n.jsxs)("div",{className:"pointer-events-none absolute inset-0 z-50 flex animate-[drop-zone-in_0.15s_ease_both] items-center justify-center bg-[color-mix(in_srgb,var(--accent)_6%,transparent)] backdrop-blur-[1px]",children:[(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(e=>(0,n.jsx)("div",{className:"absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[color-mix(in_srgb,var(--accent)_50%,transparent)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]",style:{transformOrigin:"center",animationDelay:`${e}s`}},e))}),(0,n.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{filter:"drop-shadow(0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent))"},children:[(0,n.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"color-mix(in srgb, var(--accent) 8%, transparent)",stroke:"color-mix(in srgb, var(--accent) 50%, transparent)",strokeWidth:"1.8"}),(0,n.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"color-mix(in srgb, var(--accent) 16%, transparent)",stroke:"color-mix(in srgb, var(--accent) 40%, transparent)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"color-mix(in srgb, var(--accent) 22%, transparent)",stroke:"color-mix(in srgb, var(--accent) 55%, transparent)",strokeWidth:"1.6"}),(0,n.jsxs)("g",{stroke:"color-mix(in srgb, var(--accent) 45%, transparent)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,n.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,n.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,n.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,n.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,n.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,n.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,n.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),ex&&(0,n.jsx)(oq,{request:ex,onInput:ej}),tp?(0,n.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8",children:(0,n.jsxs)("div",{className:"w-full max-w-[760px]",children:[(0,n.jsx)("div",{className:"mb-3",style:{display:"flex",alignItems:"center",gap:12,marginLeft:16,marginRight:52,fontFamily:"var(--font-mono)"},children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0,flex:1,lineHeight:1.4,overflow:"hidden"},children:[(0,n.jsx)("span",{style:{fontSize:28,fontWeight:700,letterSpacing:0,color:"var(--text)",flexShrink:0,whiteSpace:"nowrap"},children:"π"}),(0,n.jsx)("span",{style:{fontSize:22,color:"var(--text)",fontWeight:700,letterSpacing:0,flexShrink:0,whiteSpace:"nowrap"},children:"Pidance"})]})}),(0,n.jsx)(oO,{notices:eu,activities:tk,onDismiss:eh,onTogglePin:ef,align:"right"}),(0,n.jsx)("div",{className:"mb-4",children:(0,n.jsx)(i$,{targetCwd:T,onTargetChange:E})}),tv,tx]})}):(0,n.jsxs)(n.Fragment,{children:[eg&&(0,n.jsx)(iT,{request:eg,disabled:I||!eR.current,onRespond:e=>{ey(eg,e)}}),(0,n.jsxs)("div",{className:"relative flex min-h-0 flex-1 overflow-hidden",children:[(0,n.jsx)("div",{style:{position:"absolute",top:12,left:0,right:36*!R,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,n.jsx)("div",{style:{maxWidth:760,margin:"0 auto"},children:(0,n.jsx)(oO,{notices:eu,activities:tk,onDismiss:eh,onTogglePin:ef,floating:!0,align:"right"})})}),(0,n.jsx)("div",{ref:eI,className:"min-h-0 flex-1 overflow-y-auto pt-4 [scrollbar-width:none]",style:{overflowAnchor:"none",overscrollBehavior:"contain"},children:(0,n.jsx)("div",{style:{padding:"0 16px"},children:(0,n.jsxs)("div",{style:{maxWidth:760,margin:"0 auto"},children:[(()=>{var t;let r,i,o=new Map;for(let e of D)"toolResult"===e.role&&o.set(e.toolCallId,e);let l=new Map,a=0;D.forEach((e,t)=>{("user"===e.role||"assistant"===e.role)&&l.set(t,a++)});let s=t=>{let r="live"===t.source,i=r?-1:t.messageIndex,a=t.messageOverride??D[i],s="user"===a.role||"assistant"===a.role,d=r?void 0:l.get(i),c=(0,n.jsx)(rJ,{message:a,toolResults:o,toolExecutionSnapshots:eC,modelNames:q,cwd:th,onOpenFile:y,isStreaming:r,toolsActive:eX,entryId:r?void 0:F[i],onBranchHere:r||eX||e_||I?void 0:eV,onNewSessionFromHere:r||eX||e_||I?void 0:eY,onBranchFromAssistant:r||eX||e_||I?void 0:eJ,onNewSessionFromAnswer:r||eX||e_||I?void 0:eZ,forking:!r&&ee===F[i],showTimestamp:t.showTimestamp,prevTimestamp:!r&&i>0?D[i-1].timestamp:void 0,sessionId:e?.id??eR.current??void 0},`${t.keyPrefix}-view-${i}`);return s&&t.attachRef&&void 0!==d?(0,n.jsx)("div",{ref:e=>{td.current[d]=e},children:c},`${t.keyPrefix}-${i}`):c},d=[];for(let e of tu){if("message"===e.kind){d.push(s(e));continue}let t=void 0===e.attachRefMessageIndex?void 0:l.get(e.attachRefMessageIndex),r=(0,n.jsx)(oP,{t:w,messageCount:e.messageCount,toolCallCount:e.toolCallCount,children:e.children.map(e=>s(e))});d.push((0,n.jsx)("div",{ref:void 0===t?void 0:e=>{td.current[t]=e},children:r},`process-group-${e.userIdx}-${e.finalAssistantIdx}`))}let{startIndex:c,hasMore:u}=(r=Math.min(Math.max(e5,0),Math.max(t=d.length,0)),{startIndex:i=Math.max(0,t-r),hasMore:i>0}),p=u||$;return(0,n.jsxs)(n.Fragment,{children:[p&&(0,n.jsx)("div",{ref:e3,className:"py-3 text-center text-xs text-text-muted",children:P?w("chat_loadingSession"):w("chat_loadEarlier",{count:u?c:50})}),d.slice(c)]})})(),B&&!N.streamingMessage&&(0,n.jsxs)("div",{className:"flex items-center gap-2 py-2 text-[13px] text-text-muted",children:[(0,n.jsx)("span",{className:"size-1.5 rounded-full bg-status-running","aria-hidden":"true"}),(0,n.jsx)("span",{children:function(e,t){if(e?.kind==="running_tools"){let r=e.tools.map(e=>e.name);return 0===r.length?`${t("chat_runningTool")}...`:1===r.length?`${t("chat_runningNamed",{name:r[0]})}...`:r.length<=3?`${t("chat_runningNamed",{name:r.join(", ")})}...`:`${t("chat_runningNamed",{name:`${r.slice(0,2).join(", ")} (+${r.length-2})`})}...`}return e?.kind==="waiting_model"?`${t("chat_waitingModel")}...`:e?.kind==="running_command"?`${t("chat_runningCommand")}...`:`${t("chat_thinking")}...`}(eS,w)})]}),O&&!U&&(0,n.jsxs)("div",{className:"flex items-center gap-2 py-2 text-[13px] text-text-muted",children:[(0,n.jsx)("span",{className:"size-1.5 rounded-full bg-status-running","aria-hidden":"true"}),(0,n.jsxs)("span",{children:[w("chat_runningCommand"),"..."]})]}),U&&(0,n.jsx)(rJ,{message:{role:"bashExecution",command:U.command,output:"",excludeFromContext:U.excludeFromContext,timestamp:U.startedAt},sessionId:e?.id??eR.current??void 0}),(0,n.jsx)("div",{"aria-hidden":"true",style:{height:R?40:"10vh"}})]})})}),(0,n.jsx)("button",{type:"button",className:`chat-jump-bottom${eT?" is-visible":""}`,"aria-label":w("chat_backToBottom"),"aria-hidden":!eT,tabIndex:eT?0:-1,onClick:eM,children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})}),R?null:(0,n.jsx)(ik,{messages:D,plan:tu,scrollContainer:eI,messageRefs:td})]}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("div",{style:{padding:"0 16px",paddingRight:R?16:52},children:(0,n.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,n.jsx)(oF,{widgets:ty})})}),tv,tx,(0,n.jsx)("div",{style:{padding:"0 16px",paddingRight:R?16:52},children:(0,n.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:!e2&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(oF,{widgets:tb}),(0,n.jsx)(oD,{statuses:em})]})})})]})]})]})}function oH({session:e,isMobile:t}){let{t:r}=(0,es.s9)(),i=e.subagent,o=i?`${i.agent?r("chat_agentNamed",{name:i.agent}):r("chat_subagent")} \xb7 ${r("chat_subagentRun",{count:i.runIndex})}`:null;return(0,n.jsx)("div",{style:{flexShrink:0,padding:"0 16px 8px",paddingRight:t?16:52},children:(0,n.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,n.jsxs)("div",{role:"note","aria-label":r("chat_readOnlySession"),style:{display:"flex",alignItems:"flex-start",gap:8,border:"1px solid var(--border)",borderRadius:10,background:"var(--bg-panel)",padding:"8px 12px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,marginTop:2,color:"var(--text-dim)"},"aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),(0,n.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),(0,n.jsxs)("span",{style:{minWidth:0},children:[(0,n.jsx)("span",{style:{color:"var(--text)",fontWeight:600},children:r("chat_readOnlySession")}),o?` — ${o}`:` — ${r("chat_subagentSessionFallback")}`,`. ${r("chat_readOnlySessionDescription")}`]})]})})})}function oD({statuses:e}){return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:e.map(e=>(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,maxWidth:"100%",padding:"4px 8px",border:"1px solid color-mix(in srgb, var(--accent) 24%, var(--border))",borderRadius:6,background:"color-mix(in srgb, var(--accent) 7%, var(--bg))",color:"var(--text-muted)",fontSize:12},children:[(0,n.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:e.key}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:oU(e.text,`status-${e.key}`)})]},e.key))})}function oF({widgets:e}){let{t}=(0,es.s9)(),[r,o]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(oN),t=e?JSON.parse(e):null;if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e))}catch{}return new Set})()),l=(0,i.useCallback)(e=>{o(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),function(e){try{window.localStorage.setItem(oN,JSON.stringify([...e]))}catch{}}(r),r})},[]);return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginBottom:10},children:e.map(e=>{let o=r.has(e.key);return(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",overflow:"hidden"},children:[(0,n.jsxs)("button",{type:"button",onClick:()=>l(e.key),"aria-expanded":!o,"aria-label":o?t("extension_widgetExpand",{name:e.key}):t("extension_widgetCollapse",{name:e.key}),title:o?t("extension_widgetExpand",{name:e.key}):t("extension_widgetCollapse",{name:e.key}),style:{display:"flex",width:"100%",alignItems:"center",gap:6,padding:"5px 9px",border:"none",borderBottom:o?"none":"1px solid var(--border)",background:"transparent",color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{flexShrink:0,transform:o?"none":"rotate(90deg)",transition:"transform 0.15s ease"},children:(0,n.jsx)("polyline",{points:"4 2.5 7.5 6 4 9.5"})}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.key})]}),!o&&(0,n.jsx)("pre",{style:{margin:0,padding:"8px 9px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)"},children:e.lines.map((t,r,o)=>(0,n.jsxs)(i.Fragment,{children:[oU(t,`widget-${e.key}-line-${r}`),r<o.length-1?"\n":null]},r))})]},e.key)})})}let oN="pidance.collapsedWidgetKeys.v1";function oB({label:e,active:t=!1,onClick:r,children:i}){return(0,n.jsx)("button",{type:"button","aria-label":e,title:e,onClick:r,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,flexShrink:0,border:"none",borderRadius:7,background:t?"var(--bg-selected)":"transparent",color:t?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:i})}function oO({notices:e,activities:t,onDismiss:r,onTogglePin:o,floating:l=!1,align:a="left"}){let{t:s}=(0,es.s9)(),[d,c]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)({}),[g,x]=(0,i.useState)(null);if(0===e.length&&0===t.length)return null;let m=[...e].sort((e,t)=>Number(t.pinned)-Number(e.pinned)),v=u?t.filter(e=>e.activity.requestId===u):t,y=async e=>{try{await navigator.clipboard.writeText(e.message),x(e.id),window.setTimeout(()=>{x(t=>t===e.id?null:t)},1200)}catch{}};return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"right"===a?"flex-end":"stretch",gap:7,width:"100%",marginBottom:10*!l,pointerEvents:"auto"},children:[t.length>0&&(0,n.jsxs)("button",{type:"button",onClick:()=>{p(null),c(e=>!e)},"aria-expanded":d,style:{display:"flex",alignItems:"center",gap:7,padding:"5px 9px",border:"1px solid var(--border)",borderRadius:10,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,n.jsx)("path",{d:"M3 4v6h6"}),(0,n.jsx)("path",{d:"M12 7v5l3 2"})]}),s("notice_activityHistory",{count:t.length})]}),d&&(0,n.jsxs)("section",{"aria-label":s("notice_activityHistoryTitle"),style:{width:"min(100%, 620px)",maxHeight:360,overflow:"auto",border:"1px solid var(--border)",borderRadius:12,background:"var(--bg)",boxShadow:"0 16px 40px color-mix(in srgb, var(--text) 14%, transparent)"},children:[(0,n.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,padding:"9px 10px 9px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:12,fontWeight:650},children:s("notice_activityHistoryTitle")}),(0,n.jsx)("div",{style:{color:"var(--text-dim)",fontSize:10},children:s("notice_activityHistoryDescription")})]}),(0,n.jsx)(oB,{label:s("notice_close"),onClick:()=>c(!1),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),v.length>0?(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8,padding:10},children:[...v].reverse().map(({key:e,activity:t,timestamp:r})=>(0,n.jsxs)("article",{style:{border:"1px solid var(--border)",borderLeft:`3px solid ${"warning"===t.kind||"error"===t.kind?"var(--warning)":"var(--accent)"}`,borderRadius:10,background:"var(--bg-panel)",padding:"9px 10px"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8,marginBottom:5},children:[(0,n.jsx)("span",{style:{color:"var(--text)",fontSize:12,fontWeight:650},children:t.title}),r?(0,n.jsx)("time",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:new Date(r).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}):null]}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontSize:12,lineHeight:1.55,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:t.content})]},e))}):(0,n.jsx)("div",{style:{padding:16,color:"var(--text-muted)",fontSize:12},children:s("notice_activityPending")})]}),m.map(e=>{let t="important"===e.tier,i=function(e){switch(e){case"error":return"var(--error-text)";case"warning":return"var(--warning)";case"success":return"var(--success)";default:return"var(--accent)"}}(e.type),a=!0===h[e.id],d=s(function(e){switch(e){case"error":return"notice_error";case"warning":return"notice_warning";case"success":return"notice_success";default:return"notice_info"}}(e.type));return(0,n.jsxs)("div",{className:"notice-shelf-item",role:"error"===e.type?"alert":"status",style:{display:"flex",alignItems:a?"flex-start":"center",gap:6,minHeight:a?t?64:40:36,borderRadius:10,border:`1px solid color-mix(in srgb, ${i} 42%, var(--border))`,borderLeft:`3px solid ${i}`,background:`color-mix(in srgb, ${i} ${t?12:8}%, var(--bg-panel))`,color:"var(--text-muted)",width:"min(100%, 620px)",maxWidth:"min(100%, 620px)",boxShadow:l?"0 12px 32px color-mix(in srgb, var(--text) 13%, transparent)":"0 8px 24px color-mix(in srgb, var(--text) 8%, transparent)",fontSize:t?13:12,lineHeight:1.45,transformOrigin:"top right",animation:e.exiting?"notice-shelf-out 0.18s ease-in forwards":"notice-shelf-in 0.18s ease-out both",padding:"5px 6px 5px 6px"},children:[(0,n.jsx)(oB,{label:a?s("notice_collapse"):s("notice_expand"),active:a,onClick:()=>{var t;return t=e.id,void f(e=>({...e,[t]:!e[t]}))},children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:a?(0,n.jsx)("path",{d:"m6 9 6 6 6-6"}):(0,n.jsx)("path",{d:"m9 6 6 6-6 6"})})}),(0,n.jsxs)("div",{style:{minWidth:0,flex:1,paddingTop:4*!!a},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0},children:[(0,n.jsxs)("span",{style:{color:i,fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,letterSpacing:.6,textTransform:"uppercase",flexShrink:0},children:[d,e.pinned?` \xb7 ${s("notice_pinned")}`:""]}),!a&&(0,n.jsx)("span",{style:{color:"var(--text-muted)",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:e.message.replace(/\s+/g," ").trim()})]}),a&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{marginTop:4,color:t?"var(--text)":"var(--text-muted)",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:e.message}),t&&e.activityRecord&&(0,n.jsxs)("button",{type:"button",onClick:()=>{p(e.id),c(!0)},style:{marginTop:7,padding:0,border:"none",background:"transparent",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600},children:[s("notice_viewActivity")," →"]})]})]}),(0,n.jsx)(oB,{label:g===e.id?s("notice_copied"):s("notice_copy"),active:g===e.id,onClick:()=>{y(e)},children:g===e.id?(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M20 6 9 17l-5-5"})}):(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,n.jsx)("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]})}),t&&(0,n.jsx)(oB,{label:e.pinned?s("notice_unpin"):s("notice_pin"),active:e.pinned,onClick:()=>o(e.id),children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e.pinned?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"m15 4 5 5-4 2-3 5-2 4-1-6-6-6 4-1 5-3 2-4Z"}),(0,n.jsx)("path",{d:"m4 20 5-5"})]})}),(0,n.jsx)(oB,{label:s("notice_close"),onClick:()=>r(e.id),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})})]},e.id)})]})}function oU(e,t){return tm(e).map((e,r)=>Object.keys(e.style).length>0?(0,n.jsx)("span",{style:e.style,children:e.text},`${t}-${r}`):e.text)}function oq({request:e,onInput:t}){let{t:r}=(0,es.s9)(),o=(0,i.useRef)(null),l=(0,i.useRef)(!1),a=function(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,r=[];for(let n of e){let e=n.replace(tc,""),i=th(e).trimEnd();if(t.test(i))continue;let o=e,l=tx(o);("│"===l||"┃"===l)&&" "===tx(o=tg(o,0))&&(o=tg(o,0));let a=function(e){let t=tf(e);for(let e=t.length-1;e>=0;e--)if(""!==t[e].char.trim())return e;return -1}(o),s=a>=0?tf(o)[a]?.char:void 0;("│"===s||"┃"===s)&&(o=tg(o,a)),r.push(function(e){let t=e;for(;;){let e=tf(t),r=e[e.length-1];if(!r||""!==r.char.trim())return t;t=t.slice(0,r.start)+t.slice(r.end)}}(o))}for(;r.length>0&&""===th(r[0]).trim();)r.shift();for(;r.length>0&&""===th(r[r.length-1]).trim();)r.pop();return r.length?r:e}(e.lines);return(0,i.useEffect)(()=>{o.current?.focus()},[e.id]),(0,n.jsx)("div",{style:{position:"absolute",inset:0,zIndex:95,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay)"},children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true",onClick:e=>{e.target.closest("button")||o.current?.focus()},style:{position:"relative",width:"min(920px, 100%)",maxHeight:"min(760px, calc(100vh - 40px))",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"0 20px 60px rgba(0,0,0,0.28)",overflow:"hidden",outline:"none"},children:[(0,n.jsx)("textarea",{ref:o,"aria-label":r("chat_extensionPanel"),autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:r=>{if(l.current||r.nativeEvent.isComposing)return;let n=function(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=ty[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":" ":tv[e.key]??null}(r);n&&(r.preventDefault(),r.stopPropagation(),t(e,n))},onInput:r=>{if(l.current||r.nativeEvent.isComposing)return;let n=r.currentTarget.value;r.currentTarget.value="",n&&t(e,n)},onCompositionStart:()=>{l.current=!0},onCompositionEnd:r=>{l.current=!1;let n=r.currentTarget;queueMicrotask(()=>{let r=n.value;n.value="",r&&t(e,r)})},onPaste:r=>{r.preventDefault();let n=r.clipboardData.getData("text");n&&t(e,`\x1b[200~${n}\x1b[201~`)},style:{position:"absolute",width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:"none"}}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:13,fontWeight:650},children:r("chat_extensionPanel")}),(0,n.jsx)("button",{onClick:()=>t(e,"\x03"),style:{padding:"5px 9px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:r("chat_close")})]}),(0,n.jsx)("pre",{style:{margin:0,padding:14,maxHeight:"calc(min(760px, 100vh - 40px) - 48px)",overflow:"auto",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.45,whiteSpace:"pre"},children:(a.length?a:[""]).map((e,t,r)=>(0,n.jsxs)(i.Fragment,{children:[oU(e,`line-${t}`),t<r.length-1?"\n":null]},t))})]})})}var oK=r(50640),oV=r(79617),oJ=r.n(oV);function oY(e){let t=e.replace(/[\\/]+$/,"");return t.length>0?t:oJ().sep}function oZ(e,t){return e.some(e=>(function(e,t){let r=oY(e),n=oY(t);if(r===n)return!0;let i=`${r}${oJ().sep}`,o=`${r}/`;return n.startsWith(i)||n.startsWith(o)})(e,t))}let oX={buffers:{}};function oG(e,t){return JSON.stringify([e,t??null])}function oQ(e,t){let r={...e,...t};return{...r,dirty:r.content!==r.savedContent}}function o0(e,t){return{...e,buffers:{...e.buffers,[t.key]:t}}}function o1(e=oX,t){var r;if("initialize"===t.type){let r=oG(t.filePath,t.sourceSessionId),n=e.buffers[r];return n?.dirty?o0(e,oQ(n,{externalChange:{content:t.content,baseline:t.baseline}})):n?o0(e,oQ(n,{savedContent:t.content,content:t.content,baseline:t.baseline,language:t.language,past:[],future:[],lastEditAt:null,saveState:"idle",saveRequestId:null,saveRequestRevision:null,error:null,externalChange:null})):o0(e,{key:r,filePath:t.filePath,sourceSessionId:t.sourceSessionId??null,savedContent:t.content,content:t.content,baseline:t.baseline,language:t.language,dirty:!1,past:[],future:[],lastEditAt:null,revision:0,saveState:"idle",saveRequestId:null,saveRequestRevision:null,error:null,externalChange:null})}let n=(r=t.key,e.buffers[r]);if(!n)return e;if("edit"===t.type){if(t.content===n.content)return e;let r=t.at??Date.now(),i=!t.forceBoundary&&null!==n.lastEditAt&&r-n.lastEditAt<=500&&r>=n.lastEditAt?n.past:[...n.past,n.content].slice(-50);return o0(e,oQ(n,{content:t.content,past:i,future:[],lastEditAt:r,revision:n.revision+1,saveState:"error"===n.saveState?"idle":n.saveState,error:null}))}if("undo"===t.type){if(!n.past.length)return e;let t=n.past[n.past.length-1];return o0(e,oQ(n,{content:t,past:n.past.slice(0,-1),future:[n.content,...n.future].slice(0,50),revision:n.revision+1}))}if("redo"===t.type){if(!n.future.length)return e;let t=n.future[0];return o0(e,oQ(n,{content:t,past:[...n.past,n.content].slice(-50),future:n.future.slice(1),revision:n.revision+1}))}if("discard"===t.type)return o0(e,oQ(n,{content:n.savedContent,past:[],future:[],lastEditAt:null,revision:n.revision+1,saveState:"idle",saveRequestId:null,saveRequestRevision:null,error:null,externalChange:null}));if("remove"===t.type){let r={...e.buffers};return delete r[t.key],{...e,buffers:r}}if("markSaving"===t.type){let r=t.requestRevision??n.revision;return o0(e,oQ(n,{saveState:"saving",saveRequestId:t.requestId,saveRequestRevision:r,error:null}))}return("saveSuccess"===t.type||"saveConflict"===t.type||"saveError"===t.type)&&t.requestId&&n.saveRequestId!==t.requestId?e:"saveSuccess"===t.type?n.saveRequestRevision!==t.requestRevision?e:o0(e,oQ(n,{savedContent:t.savedContent,baseline:t.baseline,saveState:"idle",saveRequestId:null,saveRequestRevision:null,error:null,externalChange:null})):"saveConflict"===t.type?o0(e,oQ(n,{saveState:"conflict",baseline:t.baseline??n.baseline,error:t.message??"文件已被外部修改"})):"saveError"===t.type?o0(e,oQ(n,{saveState:"error",error:t.message})):e}function o2(e,t){return e.buffers[t]}function o4(e){return!!e?.past.length}function o6(e){return!!e?.future.length}let o5={source:"viewer_source",preview:"viewer_preview",diff:"viewer_diff"},o8={fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6},o3={width:48,minWidth:48,padding:"0 10px",textAlign:"right",color:"var(--text-dim)",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",fontFamily:"var(--font-mono)",fontSize:11,fontStyle:"normal",fontVariantNumeric:"tabular-nums",lineHeight:"20.8px",userSelect:"none",flexShrink:0,verticalAlign:"top"};function o9({rows:e,stylesheet:t,useInlineStyles:r,wrapLines:i}){return e.map((e,o)=>{let l=e.children??[],a=l[0]?.properties?.className,s=Array.isArray(a)&&a.includes("react-syntax-highlighter-line-number"),d=s?l[0]:null,c=s?l.slice(1):l;return(0,n.jsxs)("span",{className:"file-source-line",style:{display:"flex",minWidth:"100%"},children:[d&&(0,oK.Ay)({node:d,stylesheet:t,useInlineStyles:r,key:`source-line-number-${o}`}),(0,n.jsx)("span",{className:"file-source-line-content",style:{flex:"1 1 auto",minWidth:0,overflowWrap:i?"anywhere":"normal",whiteSpace:i?"pre-wrap":"pre"},children:c.map((e,n)=>(0,oK.Ay)({node:e,stylesheet:t,useInlineStyles:r,key:`source-token-${o}-${n}`}))})]},`source-line-${o}`)})}function o7(e,t,r,n={}){let i=rl(e),o=new URLSearchParams({type:t});for(let[e,t]of(r&&o.set("sessionId",r),Object.entries(n)))void 0!==t&&o.set(e,String(t));return`/api/files/${i}?${o.toString()}`}function le({filePath:e,sourceSessionId:t}){let{t:r}=(0,es.s9)();return(0,n.jsx)("a",{href:o7(e,"download",t),download:ra(e),title:r("viewer_download"),"aria-label":r("viewer_download"),className:"file-viewer-icon-button",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,n.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,n.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})})}function lt(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function lr({patch:e}){let t,{t:r}=(0,es.s9)(),i=(t=rW(e))?t.flatMap(e=>e.rows.flatMap(e=>{if("hunk"===e.type)return[];if("context"===e.left.type&&"context"===e.right.type)return[{type:"unchanged",text:e.right.text,oldLineNo:e.left.lineNo,newLineNo:e.right.lineNo}];let t=[];return"removed"===e.left.type&&t.push({type:"removed",text:e.left.text,oldLineNo:e.left.lineNo,newLineNo:null}),"added"===e.right.type&&t.push({type:"added",text:e.right.text,oldLineNo:null,newLineNo:e.right.lineNo}),t})):[];if(!i.some(e=>"unchanged"!==e.type))return(0,n.jsx)("div",{style:{padding:"12px 16px",fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:r("viewer_noChanges")});let o=new Set(i.flatMap((e,t)=>"unchanged"!==e.type?[t]:[])),l=new Set;for(let e of o)for(let t=Math.max(0,e-3);t<=Math.min(i.length-1,e+3);t++)l.add(t);let a=[],s=0;for(;s<i.length;)if(l.has(s)){let e=[];for(;s<i.length&&l.has(s);)e.push(i[s]),s++;a.push({hidden:!1,lines:e})}else{let e=0;for(;s<i.length&&!l.has(s);)e++,s++;a.push({hidden:!0,count:e})}return(0,n.jsx)("div",{className:"file-diff-view",style:{width:"max-content",minWidth:"100%",...o8},children:a.map((e,t)=>{if(e.hidden)return(0,n.jsxs)("div",{style:{padding:"2px 16px",color:"var(--text-dim)",background:"var(--bg-panel)",fontSize:11,borderTop:"1px solid var(--border)",borderBottom:"1px solid var(--border)"},children:["... ",e.count," unchanged lines ..."]},t);let r=e.lines.map((e,t)=>{let r="added"===e.type?"var(--diff-added-bg)":"removed"===e.type?"var(--diff-removed-bg)":"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,n.jsxs)("div",{className:"file-diff-line",style:{display:"flex",minWidth:"100%",background:r,borderLeft:"added"===e.type?"3px solid var(--diff-added-border)":"removed"===e.type?"3px solid var(--diff-removed-border)":"3px solid transparent"},children:[(0,n.jsx)("span",{style:o3,children:"removed"===e.type?e.oldLineNo:e.newLineNo}),(0,n.jsx)("span",{style:{minWidth:16,padding:"0 6px",color:o,userSelect:"none",flexShrink:0,fontWeight:600},children:i}),(0,n.jsx)("span",{className:"file-diff-line-content",style:{flexShrink:0,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)"},children:e.text||"\xa0"})]},t)});return(0,n.jsx)("div",{children:r},t)})})}function ln({filePath:e,cwd:t,sourceSessionId:r}){let{t:o}=(0,es.s9)(),[l,a]=(0,i.useState)(!1),[s,d]=(0,i.useState)(0),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(null),x=(0,i.useRef)(null),m=ra(e).toLowerCase().split(".").pop()??"";(0,i.useEffect)(()=>{d(0),u(null),h(null),g(null),a(!1),x.current&&(x.current.close(),x.current=null);let t=new EventSource(o7(e,"watch",r));return x.current=t,t.addEventListener("connected",()=>a(!0)),t.addEventListener("change",e=>{try{let t=JSON.parse(e.data);"number"==typeof t.size&&u(t.size)}catch{}d(e=>e+1)}),t.addEventListener("error",()=>a(!1)),t.onerror=()=>a(!1),()=>{t.close(),x.current=null}},[e,r]);let v=o7(e,"read",r,s?{v:s}:void 0),y=null!=c?lt(c):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"4px 16px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:e,children:rd(e,t)}),(0,n.jsx)("span",{style:{marginLeft:"auto"},children:m||"image"}),p&&(0,n.jsxs)("span",{children:[p.w," \xd7 ",p.h]}),y&&(0,n.jsx)("span",{children:y}),(0,n.jsxs)("span",{title:l?o("viewer_liveSyncOn"):o("viewer_liveSyncOff"),style:{display:"flex",alignItems:"center",gap:4,color:l?"var(--status-success)":"var(--text-dim)"},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:l?"var(--status-success)":"var(--border)",display:"inline-block",boxShadow:l?"var(--live-indicator-glow)":"none"}}),l?o("viewer_live"):o("viewer_static")]}),(0,n.jsx)(le,{filePath:e,sourceSessionId:r})]}),(0,n.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg-panel)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,backgroundImage:"linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)",backgroundSize:"16px 16px",backgroundPosition:"0 0, 0 8px, 8px -8px, -8px 0px"},children:f?(0,n.jsx)("div",{style:{color:"var(--error-text)",fontSize:13},children:f}):(0,n.jsx)("img",{src:v,alt:e,onLoad:e=>{let t=e.currentTarget;h({w:t.naturalWidth,h:t.naturalHeight})},onError:()=>g(o("viewer_loadFailed")),style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"}})})]})}function li({filePath:e,cwd:t,sourceSessionId:r}){let{t:o}=(0,es.s9)(),[l,a]=(0,i.useState)(!1),[s,d]=(0,i.useState)(0),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(null),x=(0,i.useRef)(null),m=ra(e).toLowerCase().split(".").pop()??"";(0,i.useEffect)(()=>{d(0),u(null),h(null),g(null),a(!1),x.current&&(x.current.close(),x.current=null);let t=new EventSource(o7(e,"watch",r));return x.current=t,t.addEventListener("connected",()=>a(!0)),t.addEventListener("change",e=>{try{let t=JSON.parse(e.data);"number"==typeof t.size&&u(t.size)}catch{}h(null),g(null),d(e=>e+1)}),t.addEventListener("error",()=>a(!1)),t.onerror=()=>a(!1),()=>{t.close(),x.current=null}},[e,r]);let v=o7(e,"read",r,s?{v:s}:void 0);return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"4px 16px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:e,children:rd(e,t)}),(0,n.jsx)("span",{style:{marginLeft:"auto"},children:m||"audio"}),null!=p&&(0,n.jsx)("span",{children:function(e){if(!Number.isFinite(e))return"";let t=Math.round(e),r=Math.floor(t/60);return`${r}:${String(t%60).padStart(2,"0")}`}(p)}),null!=c&&(0,n.jsx)("span",{children:lt(c)}),(0,n.jsxs)("span",{title:l?o("viewer_liveSyncOn"):o("viewer_liveSyncOff"),style:{display:"flex",alignItems:"center",gap:4,color:l?"var(--status-success)":"var(--text-dim)"},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:l?"var(--status-success)":"var(--border)",display:"inline-block",boxShadow:l?"var(--live-indicator-glow)":"none"}}),l?o("viewer_live"):o("viewer_static")]}),(0,n.jsx)(le,{filePath:e,sourceSessionId:r})]}),(0,n.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"var(--bg-panel)"},children:(0,n.jsxs)("div",{style:{width:"min(680px, 100%)"},children:[f&&(0,n.jsx)("div",{style:{color:"var(--error-text)",fontSize:13,marginBottom:12,textAlign:"center"},children:f}),(0,n.jsx)("audio",{controls:!0,preload:"metadata",src:v,onLoadedMetadata:e=>h(e.currentTarget.duration),onError:()=>g(o("viewer_loadFailed")),style:{width:"100%"}},v)]})})]})}function lo({filePath:e,cwd:t,sourceSessionId:r}){let{t:o}=(0,es.s9)(),[l,a]=(0,i.useState)(!1),[s,d]=(0,i.useState)(0),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(null),f=(0,i.useRef)(null),g=rH(e),x="pdf"===g,m=x?o7(e,"read",r,s?{v:s}:void 0):o7(e,"preview",r,s?{v:s}:void 0);return(0,i.useEffect)(()=>{d(0),u(null),h(null),a(!1),f.current&&(f.current.close(),f.current=null),fetch(o7(e,"meta",r)).then(e=>e.json()).then(e=>{e.error&&h(e.error),"number"==typeof e.size&&(u(e.size),!x&&e.size>0xa00000&&h(o("viewer_docxTooLarge")))}).catch(e=>h(String(e)));let t=new EventSource(o7(e,"watch",r));return f.current=t,t.addEventListener("connected",()=>a(!0)),t.addEventListener("change",e=>{try{let t=JSON.parse(e.data);if("number"==typeof t.size&&(u(t.size),!x&&t.size>0xa00000))return void h(o("viewer_docxTooLarge"))}catch{}h(null),d(e=>e+1)}),t.addEventListener("error",()=>a(!1)),t.onerror=()=>a(!1),()=>{t.close(),f.current=null}},[e,x,r,o]),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"4px 16px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e,children:rd(e,t)}),(0,n.jsx)("span",{style:{marginLeft:"auto"},children:"docx"===g?"docx preview":"pdf"}),null!=c&&(0,n.jsx)("span",{children:lt(c)}),(0,n.jsx)(le,{filePath:e,sourceSessionId:r}),(0,n.jsxs)("span",{title:l?o("viewer_liveSyncOn"):o("viewer_liveSyncOff"),style:{display:"flex",alignItems:"center",gap:4,color:l?"var(--status-success)":"var(--text-dim)",flexShrink:0},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:l?"var(--status-success)":"var(--border)",display:"inline-block",boxShadow:l?"var(--live-indicator-glow)":"none"}}),l?o("viewer_live"):o("viewer_static")]})]}),(0,n.jsx)("div",{style:{flex:1,minHeight:0,background:"var(--bg-panel)"},children:p?(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24,color:"var(--error-text)",fontSize:13,textAlign:"center"},children:p}):(0,n.jsx)("iframe",{src:m,sandbox:x?void 0:"",title:`${o("viewer_preview")} ${ra(e)}`,style:{width:"100%",height:"100%",border:"none",background:x?"var(--bg)":"#eef1f5"}},m)})]})}function ll({filePath:e,cwd:t,sourceSessionId:r,writable:i,buffer:o,dispatchBuffer:l,onSave:a,onOpenFile:s,gitAffectedPaths:d}){let c;return rD(e)?(0,n.jsx)(ln,{filePath:e,cwd:t,sourceSessionId:r}):rF(e)?(0,n.jsx)(li,{filePath:e,cwd:t,sourceSessionId:r}):null!==("pdf"===(c=rH(e))||"docx"===c?c:null)?(0,n.jsx)(lo,{filePath:e,cwd:t,sourceSessionId:r}):(0,n.jsx)(la,{filePath:e,cwd:t,sourceSessionId:r,writable:i,buffer:o,dispatchBuffer:l,onSave:a,onOpenFile:s,gitAffectedPaths:d})}function la({filePath:e,cwd:t,sourceSessionId:r,writable:o=!1,buffer:l,dispatchBuffer:a,onSave:s,onOpenFile:d,gitAffectedPaths:c}){let{isDark:u}=rr(),{t:p}=(0,es.s9)(),[h,f]=(0,i.useState)(null),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)(!0),[y,b]=(0,i.useState)(null),[j,w]=(0,i.useState)("source"),[k,S]=(0,i.useState)(!1),[C,_]=(0,i.useState)(!1),R=(0,i.useRef)(null),I=(0,i.useRef)(0),T=(0,i.useRef)(null),M=(0,i.useRef)(null),E=(0,i.useRef)(l);E.current=l;let z=(0,i.useRef)(!1),[W,L]=(0,i.useState)(!1),[A,P]=(0,i.useState)(null),$=(0,i.useRef)(null),H=(0,i.useCallback)(e=>fetch(o7(e,"read",r)).then(e=>e.json()).then(t=>{if(t.error)return b(t.error),null;b(null),f(t);let n=E.current;return n?.dirty&&n.savedContent===t.content&&n.baseline.size===t.size&&n.baseline.mtimeMs===t.mtimeMs||a?.({type:"initialize",filePath:e,sourceSessionId:r,content:t.content,baseline:{size:t.size,mtimeMs:t.mtimeMs},language:t.language}),t}).catch(e=>(b(String(e)),null)),[a,r]),D=(0,i.useCallback)(async e=>{let r=++I.current;if(!t)return void x(null);try{let n=new URLSearchParams({cwd:t,path:e}),i=await fetch(`/api/git/diff?${n.toString()}`),o=await i.json();if(r!==I.current)return;x(i.ok&&o.supported&&"string"==typeof o.patch?o:null)}catch{r===I.current&&x(null)}},[t]);(0,i.useEffect)(()=>{v(!0),b(null),f(null),x(null),w("source"),S(!1),_(!1),R.current&&(R.current.close(),R.current=null),H(e).then(e=>{e?.language==="markdown"&&w("preview")}).finally(()=>v(!1));let t=new EventSource(o7(e,"watch",r));return R.current=t,t.addEventListener("connected",()=>{_(!0)}),t.addEventListener("change",()=>{H(e),D(e)}),t.addEventListener("error",()=>{_(!1)}),t.onerror=()=>{_(!1)},()=>{t.close(),R.current=null}},[e,H,D,r]),(0,i.useEffect)(()=>{c&&oZ(c,e)&&D(e)},[D,e,c]),(0,i.useEffect)(()=>()=>{$.current&&clearTimeout($.current)},[]);let F=(0,i.useCallback)(async()=>{if(!s||!l?.dirty||"saving"===l.saveState)return!1;let e=await s();return e&&($.current&&clearTimeout($.current),L(!0),$.current=setTimeout(()=>L(!1),1600)),e},[l?.dirty,l?.saveState,s]),N=(0,i.useCallback)(()=>{l&&a&&o4(l)&&a({type:"undo",key:l.key})},[l,a]),B=(0,i.useCallback)(()=>{l&&a&&o6(l)&&a({type:"redo",key:l.key})},[l,a]);(0,i.useEffect)(()=>{let e=e=>{if(!o||!l||!(e.ctrlKey||e.metaKey)||e.altKey)return;let t=document.activeElement;if((t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||t instanceof HTMLElement&&t.isContentEditable)&&!T.current?.contains(t))return;let r=e.key.toLowerCase();"s"!==r||e.shiftKey?"z"===r&&e.shiftKey?(e.preventDefault(),B()):"z"!==r||e.shiftKey||(e.preventDefault(),N()):(e.preventDefault(),F())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[l,B,F,N,o]);let O=g?.supported===!0&&"string"==typeof g.patch,U=l?.externalChange?`${l.externalChange.baseline.mtimeMs}:${l.externalChange.baseline.size}`:l?.saveState==="conflict"?`conflict:${l.baseline.mtimeMs}:${l.baseline.size}`:null,q=null!==U&&A!==U;if((0,i.useEffect)(()=>{P(null)},[U]),(0,i.useEffect)(()=>{O||"diff"!==j||w("source")},[j,O]),m)return(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:p("common_loading")});if(y)return(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--error-text)",fontSize:13},children:y});if(!h)return null;let K=l?.content??h.content,V=l?.language??h.language,J="html"===V,Y="markdown"===V,Z=rs(e),X=K.split("\n"),G=["source",...J||Y?["preview"]:[],...O?["diff"]:[]],Q=`${V} \xb7 ${p("viewer_linesCount",{count:X.length})} \xb7 ${lt(h.size)}`,ee=r?o?null:p("viewer_readOnlySession"):p("viewer_readOnlyNoSession"),et=e=>{l&&a&&(a({type:"edit",key:l.key,content:e,forceBoundary:z.current}),z.current=!1)};return(0,n.jsxs)("div",{ref:T,className:"file-viewer-shell",style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,minWidth:0,overflow:"hidden"},children:[(0,n.jsxs)("div",{className:"file-viewer-toolbar",style:{display:"flex",alignItems:"center",gap:8,padding:"5px 12px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0},children:[(0,n.jsx)("span",{className:"file-viewer-path",style:{fontFamily:"var(--font-mono)"},title:e,children:rd(e,t)}),(0,n.jsx)("span",{className:"file-viewer-meta",title:Q,children:Q}),(0,n.jsx)("span",{title:C?p("viewer_liveSyncOn"):p("viewer_liveSyncOff"),"aria-label":C?p("viewer_liveSyncOn"):p("viewer_liveSyncOff"),className:"file-viewer-live-indicator",style:{background:C?"var(--status-success)":"var(--border)",boxShadow:C?"var(--live-indicator-glow)":"none"}}),(0,n.jsxs)("div",{className:"file-viewer-controls",role:"toolbar","aria-label":p("viewer_fileEditAria"),children:[G.map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>w(e),title:"diff"===e?p("viewer_gitDiff"):p(o5[e]),"aria-label":"diff"===e?p("viewer_gitDiff"):p(o5[e]),"aria-pressed":j===e,className:"file-viewer-icon-button","data-active":j===e,children:"source"===e?(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,n.jsx)("polyline",{points:"8 6 2 12 8 18"})]}):"preview"===e?(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z"}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M8 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3"}),(0,n.jsx)("path",{d:"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3"}),(0,n.jsx)("path",{d:"M12 2v20"})]})},e)),"source"===j&&(0,n.jsx)("button",{type:"button",onClick:()=>S(e=>!e),title:k?p("viewer_disableWrap"):p("viewer_enableWrap"),"aria-label":k?p("viewer_disableWrap"):p("viewer_enableWrap"),"aria-pressed":k,className:"file-viewer-icon-button","data-active":k,children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M3 12h15a3 3 0 1 1 0 6h-4"}),(0,n.jsx)("path",{d:"m16 16-2 2 2 2"}),(0,n.jsx)("path",{d:"M3 18h7"})]})}),(0,n.jsx)("span",{className:"file-viewer-toolbar-separator","aria-hidden":"true"}),(0,n.jsx)("button",{type:"button",className:"file-viewer-icon-button",onClick:N,disabled:!o||!o4(l),title:`${p("viewer_undo")} (Ctrl/Cmd+Z)`,"aria-label":p("viewer_undo"),children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M9 14 4 9l5-5"}),(0,n.jsx)("path",{d:"M4 9h10a6 6 0 0 1 6 6v1"})]})}),(0,n.jsx)("button",{type:"button",className:"file-viewer-icon-button",onClick:B,disabled:!o||!o6(l),title:`${p("viewer_redo")} (Ctrl/Cmd+Shift+Z)`,"aria-label":p("viewer_redo"),children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"m15 14 5-5-5-5"}),(0,n.jsx)("path",{d:"M20 9H10a6 6 0 0 0-6 6v1"})]})}),(0,n.jsx)("button",{type:"button",className:"file-viewer-icon-button is-save",onClick:()=>void F(),disabled:!o||!l?.dirty||"saving"===l.saveState,title:`${p("viewer_save")} (Ctrl/Cmd+S)`,"aria-label":p("viewer_save"),children:l?.saveState==="saving"?(0,n.jsx)("span",{className:"file-save-spinner","aria-hidden":"true"}):(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2Z"}),(0,n.jsx)("polyline",{points:"17 21 17 13 7 13 7 21"}),(0,n.jsx)("polyline",{points:"7 3 7 8 15 8"})]})}),(0,n.jsx)(le,{filePath:e,sourceSessionId:r})]})]}),(q||l?.saveState==="error"||ee||W)&&(0,n.jsxs)("div",{className:`file-editor-notice${q?" is-warning":l?.saveState==="error"?" is-error":W?" is-success":""}`,role:l?.saveState==="error"?"alert":"status",children:[(0,n.jsx)("span",{children:l?.externalChange?p("viewer_externalChangeDraftKept"):l?.saveState==="conflict"?l.error??p("viewer_externalSaveConflict"):l?.saveState==="error"?l.error:W?p("common_saved"):ee}),q&&(0,n.jsxs)("span",{className:"file-editor-notice__actions",children:[(0,n.jsx)("button",{type:"button",onClick:()=>{P(U),w("source"),requestAnimationFrame(()=>M.current?.focus())},title:p("viewer_keepLocalDraft"),"aria-label":p("viewer_keepLocalDraft"),children:p("viewer_keepLocalDraft")}),(0,n.jsx)("button",{type:"button",className:"is-danger",onClick:()=>{l&&a&&(a({type:"discard",key:l.key}),v(!0),H(e).finally(()=>v(!1)))},title:p("viewer_discardLocalDraftReload"),"aria-label":p("viewer_discardLocalDraftReload"),children:p("viewer_discardLocalDraftReload")})]})]}),(0,n.jsx)("div",{className:"file-viewer-content",style:{flex:"1 1 auto",minHeight:0,minWidth:0,display:"flex",flexDirection:"column",overflow:"auto",background:"var(--bg)"},children:"diff"===j&&O?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"file-viewer-context-label",children:p("viewer_gitDiffSavedWorktree")}),(0,n.jsx)(lr,{patch:g.patch})]}):J&&"preview"===j?(0,n.jsx)("iframe",{srcDoc:K,sandbox:"allow-scripts",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:p("viewer_htmlPreview")}):Y&&"preview"===j?(0,n.jsx)("div",{className:"markdown-body markdown-file-preview",style:{padding:"24px 32px"},children:(0,n.jsx)(tY.oz,{remarkPlugins:rj,rehypePlugins:rk,components:{a({href:e,children:r,...i}){delete i.node;let o=d?rp(e,Z,t??Z):null;return o&&d?(0,n.jsx)("a",{href:e,...i,onClick:e=>{e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),d(o))},children:r}):(0,n.jsx)("a",{href:e,...i,children:r})}},children:K})}):o&&l&&a?(0,n.jsx)("textarea",{ref:M,className:k?"file-source-editor is-wrapped":"file-source-editor",value:K,onChange:e=>et(e.target.value),onKeyDown:e=>{if("Tab"!==e.key||e.ctrlKey||e.metaKey||e.altKey)return;e.preventDefault();let t=e.currentTarget,r=t.selectionStart,n=t.selectionEnd,i=`${K.slice(0,r)} ${K.slice(n)}`;z.current=!0,et(i),requestAnimationFrame(()=>{t.focus(),t.setSelectionRange(r+2,r+2)})},onPaste:()=>{z.current=!0},onCut:()=>{z.current=!0},wrap:k?"soft":"off",spellCheck:!1,"aria-label":`${p("viewer_fileEditAria")}: ${ra(e)}`}):(0,n.jsx)(tZ.A,{className:k?"file-source-view is-wrapped":"file-source-view",language:"text"===V?"plaintext":V,style:u?tX.xJ:tX.vs,showLineNumbers:!0,lineNumberStyle:{...o3},customStyle:{margin:0,padding:0,border:0,background:"var(--bg)",...o8,width:k?"100%":"max-content",minWidth:"100%",minHeight:"100%",overflow:"visible"},codeTagProps:{style:{fontFamily:"var(--font-mono)",overflowWrap:k?"anywhere":"normal"}},renderer:e=>(0,n.jsx)(o9,{...e,wrapLines:k}),wrapLongLines:k,children:K})})]})}function ls({open:e,title:t,initialPath:r,onSelect:o,onClose:l}){let{t:a}=(0,es.s9)(),[s,d]=(0,i.useState)(r),[c,u]=(0,i.useState)([]),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(!1),[x,m]=(0,i.useState)(null),v=(0,i.useRef)(0),y=(0,i.useCallback)(e=>{let t=++v.current;g(!0),m(null),fetch(`/api/cwd/browse?path=${encodeURIComponent(e)}`).then(async r=>{let n=await r.json().catch(()=>({}));if(t===v.current){if(!r.ok)return void m(n.error??`HTTP ${r.status}`);d(n.path??e),h(n.parentPath??null),u(n.entries??[])}}).catch(()=>{t===v.current&&m(a("files_pickerBrowseFailed"))}).finally(()=>{t===v.current&&g(!1)})},[a]);return(0,i.useEffect)(()=>{e&&(d(r),r?y(r):u([]))},[e,r,y]),(0,n.jsx)(eY,{open:e,onClose:l,title:t,width:440,closeLabel:a("dialog_close"),children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,minHeight:260},children:[(0,n.jsx)("div",{style:{padding:"6px 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--text-muted)",fontSize:12,fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:s??"…"}),x&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)"},children:x}),(0,n.jsxs)("div",{role:"list","aria-label":a("files_pickerDirectories"),style:{flex:1,minHeight:180,maxHeight:300,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",padding:4},children:[p&&(0,n.jsxs)("button",{type:"button",role:"listitem",onClick:()=>y(p),style:ld,children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:16,color:"var(--text-dim)"},children:"↰"}),a("files_pickerUp")]}),f&&0===c.length&&(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-dim)"},children:a("common_loading")}),!f&&0===c.length&&(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-dim)"},children:a("files_pickerEmpty")}),c.map(e=>(0,n.jsxs)("button",{type:"button",role:"listitem",onClick:()=>y(e.path),style:ld,title:e.path,children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:16,color:"var(--accent)"},children:"\uD83D\uDCC1"}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path))]}),(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:6},children:[(0,n.jsx)("button",{type:"button",disabled:!s,onClick:()=>s&&o(s),style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",fontSize:12,fontWeight:600,cursor:s?"pointer":"not-allowed",opacity:s?1:.5},children:a("files_pickerSelect")}),(0,n.jsx)("button",{type:"button",onClick:l,style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12},children:a("extension_cancel")}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--text-dim)"},children:a("files_pickerHint")})]})]})})}let ld={display:"flex",width:"100%",alignItems:"center",gap:6,minHeight:30,padding:"4px 8px",border:"none",borderRadius:5,background:"transparent",color:"var(--text)",fontSize:12,textAlign:"left",cursor:"pointer"};function lc(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>0?Math.floor(e):t}async function lu(e,t){let r=rl(e),n=await fetch(`/api/files/${r}?type=list`);if(!n.ok){let e=t("files_loadFailed",{status:n.status});try{let t=await n.json();t.error&&(e=t.error)}catch{}throw Error(e)}return((await n.json()).entries??[]).map(t=>({name:t.name,fullPath:rc(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function lp(e,t){let r=new URLSearchParams({cwd:e}),n=await fetch(`/api/git/status?${r.toString()}`);if(!n.ok)throw Error(t("files_gitStatusLoadFailed",{status:n.status}));return n.json()}let lh={modified:"files_modified",added:"files_added",deleted:"files_deleted",renamed:"files_renamed",untracked:"files_untracked",conflict:"files_conflict"},lf={modified:"files_modified",added:"files_added",deleted:"files_deleted",renamed:"files_renamed",untracked:"files_untracked",conflict:"files_conflict"},lg={modified:"var(--status-warning)",added:"var(--status-success)",deleted:"var(--status-danger)",renamed:"var(--status-unread)",untracked:"var(--status-success)",conflict:"var(--status-danger)"};function lx({size:e=11}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,n.jsx)("path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"})]})}function lm({onClick:e,title:t}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,"aria-label":t,style:{width:24,height:24,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"none",borderRadius:4,background:"none",color:"var(--text-dim)",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"m6 6 12 12"}),(0,n.jsx)("path",{d:"m18 6-12 12"})]})})}async function lv(e,t,r){let n=await fetch(`/api/files/${rl(e)}?type=${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),i=await n.json().catch(()=>({}));if(!n.ok)throw Error(i.error??`HTTP ${n.status}`);return{path:i.path??e,name:i.name??""}}function ly({targetPath:e,type:t,defaultName:r,placeholder:o,paddingLeft:l,onDone:a,t:s}){let[d,c]=(0,i.useState)(r??""),[u,p]=(0,i.useState)(!1),h=(0,i.useRef)(null),f=(0,i.useRef)(a);f.current=a,(0,i.useEffect)(()=>{h.current?.focus(),h.current?.select()},[]);let g=(0,i.useCallback)(async()=>{let r=d.trim();if(r&&!u){p(!0);try{"rename"===t?await lv(e,"rename",{newName:r}):await lv(e,t,{name:r}),f.current(!0)}catch(r){let e=r instanceof Error?r.message:String(r);window.alert(`${"rename"===t?s("files_renameFailed"):s("files_createFailed")}: ${e}`),p(!1)}}},[u,s,e,t,d]);return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,paddingLeft:l,paddingRight:8,height:24},onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("input",{ref:h,value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),g()):"Escape"===e.key&&(e.stopPropagation(),f.current(!1))},onBlur:()=>{u||f.current(!1)},placeholder:o,disabled:u,"aria-label":o,style:{flex:1,minWidth:0,height:20,padding:"0 6px",fontSize:12,border:"1px solid var(--accent)",borderRadius:4,outline:"none",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"inherit"}}),u&&(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4"})}),!u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",disabled:!d.trim(),onMouseDown:e=>e.preventDefault(),onClick:()=>void g(),"aria-label":s("files_confirmRename"),title:s("files_confirmRename"),style:lb,children:(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m5 12 4 4L19 6"})})}),(0,n.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:()=>f.current(!1),"aria-label":s("files_cancelRename"),title:s("files_cancelRename"),style:lb,children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M18 6 6 18"}),(0,n.jsx)("path",{d:"m6 6 12 12"})]})})]})]})}let lb={flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:"none",borderRadius:4,background:"transparent",color:"var(--text-dim)",cursor:"pointer"};function lj({entryPath:e,name:t,isDir:r,cwd:o,onRename:l,onCreate:s,onMove:d,onCopy:c,onDelete:u,t:p}){let[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null),m=(0,i.useRef)(null),v=(0,i.useRef)(null),y=p("files_rowMenuLabel",{name:t}),b=(0,i.useCallback)((e=!1)=>{f(!1),e&&m.current?.focus()},[]);(0,i.useEffect)(()=>{if(!h)return;let e=e=>{let t=e.target;v.current?.contains(t)||m.current?.contains(t)||b()},t=()=>b();document.addEventListener("mousedown",e),window.addEventListener("resize",t),window.addEventListener("scroll",t);let r=requestAnimationFrame(()=>v.current?.querySelector("[role='menuitem']")?.focus());return()=>{cancelAnimationFrame(r),document.removeEventListener("mousedown",e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t)}},[b,h]);let j={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"},w={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)"}},k=e=>(0,n.jsx)("span",{"aria-hidden":"true",style:{display:"flex",color:"var(--text-dim)"},children:e});return(0,n.jsxs)("div",{style:{display:"flex",flexShrink:0},onClick:e=>e.stopPropagation(),onKeyDown:e=>{"Escape"===e.key&&h&&(e.preventDefault(),e.stopPropagation(),b(!0))},children:[(0,n.jsx)("button",{ref:m,type:"button",className:"file-row-action-btn","data-menu-open":h?"true":void 0,onClick:e=>{e.stopPropagation(),(()=>{if(h)return b();let e=m.current?.getBoundingClientRect();if(e){let t=r?280:212,n=e.bottom+4+t<=window.innerHeight?e.bottom+4:Math.max(8,e.top-t-4),i=e.right-200;x({top:n,left:i=Math.max(8,Math.min(i,window.innerWidth-200-8))})}f(!0)})()},"aria-haspopup":"menu","aria-expanded":h,"aria-label":y,title:y,children:(0,n.jsx)(ez,{size:12})}),h&&g&&(0,a.createPortal)((0,n.jsxs)("div",{ref:v,role:"menu","aria-label":y,style:{position:"fixed",top:g.top,left:g.left,zIndex:10060,minWidth:190,padding:4,background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-float)"},children:[(0,n.jsxs)("a",{role:"menuitem",href:`/api/files/${rl(e)}?type=download`,download:!0,style:j,...w,onClick:()=>b(),children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,n.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,n.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})),p(r?"files_downloadFolder":"viewer_download",r?{name:t}:void 0)]}),r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),s("create-file")},children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),(0,n.jsx)("path",{d:"M14 2v6h6"}),(0,n.jsx)("path",{d:"M12 18v-6"}),(0,n.jsx)("path",{d:"M9 15h6"})]})),p("files_newFile")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),s("create-dir")},children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.7-.9l-.8-1.2A2 2 0 0 0 8 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),(0,n.jsx)("path",{d:"M12 11v6"}),(0,n.jsx)("path",{d:"M9 14h6"})]})),p("files_newFolder")]})]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),eQ(rd(e,o)).catch(()=>window.alert(p("files_copyPathFailed")))},children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})),p("files_copyPath")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),l()},children:[k((0,n.jsx)(eE,{size:13})),p("files_rename")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),d()},children:[k((0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M5 4h4l3 3h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z"})})),p("files_move")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:j,...w,onClick:()=>{b(),c()},children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})),p("files_copy")]}),(0,n.jsxs)("button",{type:"button",role:"menuitem",style:{...j,color:"var(--status-danger)"},...w,onClick:()=>{b(),u()},children:[k((0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})),p("files_delete")]})]}),document.body)]})}function lw({node:e,depth:t,cwd:r,onOpenFile:o,onAtMention:l,expandedPaths:a,onToggleExpanded:s,refreshToken:d,highlightedPaths:c,gitStatusByPath:u,changedDirectoryPaths:p,onMutated:h,onMoveEntry:f,onCopyEntry:g,onDeleteEntry:x,t:m}){let v=a.has(e.fullPath),y=c.has(e.fullPath),b=ri(e.fullPath),j=u.get(b),w=e.isDir&&(void 0!==j||p.has(b)),[k,S]=(0,i.useState)(e.children??[]),[C,_]=(0,i.useState)(e.loaded??!1),[R,I]=(0,i.useState)(!1),[T,M]=(0,i.useState)(!1),[E,z]=(0,i.useState)(null),W=(0,i.useCallback)(async(t=!1)=>{if(!C||t){I(!0);try{let t=await lu(e.fullPath,m);S(t),_(!0)}catch{}finally{I(!1)}}},[C,e.fullPath,m]);(0,i.useEffect)(()=>{v&&C&&W(!0)},[d]);let L=(0,i.useCallback)(()=>{e.isDir?s(e.fullPath,!v):o(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,v,o,s]);(0,i.useEffect)(()=>{v&&!C&&W()},[v,C,W]);let A=(0,i.useCallback)(e=>{e.target===e.currentTarget&&("Enter"===e.key||" "===e.key)&&(e.preventDefault(),L())},[L]);return(0,n.jsxs)("div",{role:"none",children:[E?.kind==="rename"?(0,n.jsx)(ly,{targetPath:e.fullPath,type:"rename",defaultName:e.name,placeholder:m("files_namePlaceholder"),paddingLeft:8+14*t,onDone:e=>{z(null),e&&h()},t:m}):(0,n.jsxs)("div",{className:"file-row",role:"treeitem",tabIndex:0,"aria-expanded":e.isDir?v:void 0,"aria-selected":!1,draggable:!0,onClick:L,onKeyDown:A,onDragStart:t=>{t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",e.fullPath)},onDragOver:t=>{e.isDir&&(t.preventDefault(),t.dataTransfer.dropEffect="move",M(!0))},onDragLeave:()=>M(!1),onDrop:t=>{if(!e.isDir)return;t.preventDefault(),M(!1);let r=t.dataTransfer.getData("text/plain");r&&r!==e.fullPath&&(async()=>{try{await lv(r,"move",{targetDirectory:e.fullPath}),h()}catch(e){window.alert(`${m("files_moveFailed")}: ${e instanceof Error?e.message:String(e)}`)}})()},style:{position:"relative",display:"flex",alignItems:"center",gap:4,paddingLeft:8+14*t,paddingRight:8,height:24,cursor:"pointer",userSelect:"none",outline:T?"1px solid var(--accent)":void 0,borderRadius:T?5:void 0,background:T?"var(--bg-selected)":void 0},children:[e.isDir&&(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--text-dim)",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,transform:v?"rotate(90deg)":"none",transition:"transform 0.1s"},children:(0,n.jsx)("polyline",{points:"3 2 7 5 3 8"})}),!e.isDir&&(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)("span",{className:"file-row-icon",style:{flexShrink:0,display:"flex",alignItems:"center"},children:e.isDir?(0,n.jsx)(nM,{size:14,open:v}):n6(e.name,14)}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.fullPath,children:e.name}),y&&(0,n.jsx)("span",{className:"file-row-badge",title:m("files_uploaded"),"aria-label":m("files_uploaded"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--status-unread)"}}),!e.isDir&&j&&(0,n.jsx)("span",{className:"file-row-badge",title:m(lf[j.status]),"aria-label":m(lf[j.status]),style:{width:14,flexShrink:0,color:lg[j.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:j.code}),w&&(0,n.jsx)("span",{className:"file-row-badge",title:m("files_containsChanges"),"aria-label":m("files_containsChanges"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--status-warning)"}}),R&&(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round",children:(0,n.jsx)("path",{d:"M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4"})}),(0,n.jsxs)("div",{className:"file-row-actions",children:[l&&(0,n.jsx)("button",{type:"button",className:"file-row-action-btn",onClick:t=>{t.stopPropagation(),l(rd(e.fullPath,r),e.isDir)},title:m("files_insertIntoChat",{name:e.name}),"aria-label":m("files_insertIntoChat",{name:e.name}),style:{color:"var(--accent)"},children:(0,n.jsx)(lx,{})}),(0,n.jsx)(lj,{entryPath:e.fullPath,name:e.name,isDir:e.isDir,cwd:r,onRename:()=>z({kind:"rename"}),onCreate:e=>z({kind:e}),onMove:()=>f(e.fullPath,e.name),onCopy:()=>g(e.fullPath,e.name),onDelete:()=>x(e.fullPath,e.name,e.isDir),t:m})]})]}),E&&"rename"!==E.kind&&(0,n.jsx)(ly,{targetPath:e.fullPath,type:E.kind,placeholder:m("files_namePlaceholder"),paddingLeft:8+(t+1)*14,onDone:e=>{z(null),e&&h()},t:m}),e.isDir&&v&&(0,n.jsxs)("div",{role:"group",children:[k.map(e=>(0,n.jsx)(lw,{node:e,depth:t+1,cwd:r,onOpenFile:o,onAtMention:l,expandedPaths:a,onToggleExpanded:s,refreshToken:d,highlightedPaths:c,gitStatusByPath:u,changedDirectoryPaths:p,onMutated:h,onMoveEntry:f,onCopyEntry:g,onDeleteEntry:x,t:m},e.fullPath)),0===k.length&&C&&(0,n.jsx)("div",{style:{paddingLeft:8+(t+1)*14,fontSize:11,color:"var(--text-dim)",height:22,display:"flex",alignItems:"center"},children:m("files_noFiles")})]})]})}let lk=(0,i.forwardRef)(function({cwd:e,onOpenFile:t,refreshKey:r,onAtMention:o,onAtMentions:l,onUploadBusyChange:a},s){let{t:d}=(0,es.s9)(),c=(0,X.Fd)(),[u,p]=(0,i.useState)(!1),[h,f]=(0,i.useState)(null),g=(0,i.useMemo)(()=>{var e;let t;return{indexMaxFiles:lc((t="object"!=typeof(e=c.fileConfig)||null===e||Array.isArray(e)?{}:e).indexMaxFiles,5e3),indexGitHardCap:lc(t.indexGitHardCap,2e5),indexWalkHardCap:lc(t.indexWalkHardCap,5e4),indexMaxWalkDepth:lc(t.indexMaxWalkDepth,8),atResultLimit:lc(t.atResultLimit,20),textPreviewMaxBytes:lc(t.textPreviewMaxBytes,0xa00000),imagePreviewMaxBytes:lc(t.imagePreviewMaxBytes,0x3200000),docxPreviewMaxBytes:lc(t.docxPreviewMaxBytes,0xa00000),browseMaxEntries:lc(t.browseMaxEntries,400)}},[c.fileConfig]);(0,i.useCallback)(e=>{(0,X.dM)("fileConfig",{...g,...e})},[g]);let x=(0,i.useCallback)(()=>{u?(p(!1),f(null)):(f(g),p(!0))},[u,g]),[m,v]=(0,i.useState)([]),[y,b]=(0,i.useState)(!0),[j,w]=(0,i.useState)(null),[k,S]=(0,i.useState)(()=>new Set),C=(0,i.useRef)(null),_=(0,i.useRef)(null),R=(0,i.useRef)(k);R.current=k;let I=(0,i.useRef)(null),[T,M]=(0,i.useState)(0),[E,z]=(0,i.useState)(null),[L,A]=(0,i.useState)(new Set),[P,$]=(0,i.useState)([]),[D,F]=(0,i.useState)("idle"),[N,B]=(0,i.useState)(0),[O,U]=(0,i.useState)(null),[q,K]=(0,i.useState)(null),[V,J]=(0,i.useState)(null),Y=(0,i.useRef)(null),Z=(0,i.useRef)(null),G=(0,i.useRef)(e),[Q,ee]=(0,i.useState)(null),et=`${r??0}:${T}`,er="idle"!==D,en=(0,i.useCallback)(()=>"function"==typeof requestIdleCallback?new Promise(e=>requestIdleCallback(()=>e(),{timeout:800})):new Promise(e=>setTimeout(e,250)),[]),ei=(0,i.useMemo)(()=>new Map(P.map(e=>[ri(e.filePath),e])),[P]),eo=(0,i.useMemo)(()=>{let t=new Set,r=ri(e).replace(/\/$/,"");for(let e of P){let n=rs(ri(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=rs(n);if(e===n)break;n=e}}return t},[e,P]),el=(0,i.useCallback)((t,r)=>{let n={expanded:[...t],scrollTop:r};H(e,n),(0,X.dM)(`fileTree.${e}`,n)},[e]),ea=(0,i.useCallback)((e,t)=>{let r=new Set(k);t?r.add(e):r.delete(e),S(r),el(r,C.current?.scrollTop??0)},[k,el]),ed=(0,i.useCallback)(()=>{M(e=>e+1)},[]),ec=(0,i.useCallback)(async(e,t)=>{if(window.confirm(d("files_deleteConfirm",{name:t})))try{let t=await fetch(`/api/files/${rl(e)}`,{method:"DELETE"});if(!t.ok){let e=await t.json().catch(()=>null);throw Error(e?.error??d("files_deleteFailed"))}ed()}catch(e){window.alert(`${d("files_deleteFailed")}: ${e instanceof Error?e.message:String(e)}`)}},[d,ed]),eu=(0,i.useCallback)(()=>{null!==_.current&&window.clearTimeout(_.current),_.current=window.setTimeout(()=>{el(R.current,C.current?.scrollTop??0)},200)},[el]),ep=(0,i.useCallback)(()=>{if(null==I.current)return;let e=I.current;I.current=null,requestAnimationFrame(()=>{C.current&&(C.current.scrollTop=e)})},[]),eh=(0,i.useCallback)(e=>{let t=e.uploaded??[];if(K({uploaded:t,skipped:e.skipped??[],errors:e.errors??[]}),t.length>0){let e=G.current;A(new Set(t.map(t=>rc(e,t)))),M(e=>e+1)}},[]),ef=(0,i.useCallback)(async(e,t)=>{J(null),U(null),B(0),F("uploading");try{let r=G.current,{status:n,data:i}=await new Promise((n,i)=>{let o=new FormData;e.forEach(e=>o.append("files",e,e.name));let l=new XMLHttpRequest;l.open("POST",`/api/files/${rl(r)}?type=upload&conflict=${t}`),l.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&B(Math.round(e.loaded/e.total*100))},l.onerror=()=>i(Error(d("files_uploadNetworkError"))),l.onabort=()=>i(Error(d("files_uploadCancelled"))),l.onload=()=>{let e={};try{e=JSON.parse(l.responseText)}catch{l.responseText&&(e.error=l.responseText)}n({status:l.status,data:e})},l.send(o)});if(409===n&&i.conflicts?.length)return void J({files:e,conflicts:i.conflicts,nonReplaceable:i.nonReplaceable??[]});if(n<200||n>=300)throw Error(i.error??d("files_uploadFailed",{status:n}));B(100),eh(i)}catch(e){U(e instanceof Error?e.message:String(e))}finally{F("idle")}},[eh,d]),eg=(0,i.useCallback)(async e=>{if(0!==e.length&&!er){K(null),A(new Set),J(null),U(null),B(0),F("checking");try{let t=G.current,r=await fetch(`/api/files/${rl(t)}?type=upload-check`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileNames:e.map(e=>e.name)})}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error??d("files_uploadCheckFailed",{status:r.status}));if(n.conflicts?.length)return void J({files:e,conflicts:n.conflicts,nonReplaceable:n.nonReplaceable??[]});await ef(e,"error")}catch(e){U(e instanceof Error?e.message:String(e))}finally{F("idle")}}},[ef,d,er]),ex=(0,i.useCallback)(e=>{let t=Array.from(e.target.files??[]);e.target.value="",eg(t)},[eg]);(0,i.useImperativeHandle)(s,()=>({openUploadPicker(){er||ee({mode:"upload",initialPath:e})},startCreateFile(){z("create-file")},startCreateDir(){z("create-dir")},toggleConfig(){x()}}),[er,e,x]);let em=(0,i.useCallback)(async e=>{if(ee(null),Q){if("upload"===Q.mode){G.current=e,Z.current?.click();return}if(Q.sourcePath)try{await lv(Q.sourcePath,Q.mode,{targetDirectory:e}),ed()}catch(t){let e=t instanceof Error?t.message:String(t);window.alert(`${"move"===Q.mode?d("files_moveFailed"):d("files_copyFailed")}: ${e}`)}}},[Q,ed,d]),ev=(0,i.useCallback)((e,t)=>{ee({mode:e,sourcePath:t,initialPath:rs(t)})},[]);(0,i.useEffect)(()=>{a?.(er)},[a,er]),(0,i.useEffect)(()=>()=>a?.(!1),[a]),(0,i.useEffect)(()=>{(0,X.zo)()},[]),(0,i.useEffect)(()=>{let t=Y.current!==e,r=Y.current;if(Y.current=e,t){null!==r&&H(r,{expanded:[...R.current],scrollTop:C.current?.scrollTop??0});let t=(0,X.b3)(`fileTree.${e}`);t&&Array.isArray(t.expanded)||(t=W().fileExplorerState[e]??{expanded:[],scrollTop:0}),S(new Set(t.expanded)),I.current=t.scrollTop,A(new Set),K(null),J(null),U(null),z(null)}b(t),w(null);let n=!1;return en().then(()=>{n||lu(e,d).then(e=>{n||(v(e),ep())}).catch(e=>{n||w(e instanceof Error?e.message:String(e))}).finally(()=>{n||b(!1)})}),()=>{n=!0}},[e,r,d,T,en,ep]),(0,i.useEffect)(()=>{let t=!1;return en().then(()=>{t||lp(e,d).then(e=>{t||$(e.isGitRepository?e.files:[])}).catch(()=>{t||$([])})}),()=>{t=!0}},[e,r,d,T,en]);let ey=er||null!==V||null!==O||null!==q,eb=(0,i.useCallback)(()=>{q&&0!==q.uploaded.length&&l?.(q.uploaded.map(t=>rd(rc(e,t),e)))},[e,l,q]);return(0,n.jsxs)("div",{ref:C,onScroll:eu,style:{height:"100%",overflowY:"auto",overflowX:"hidden"},children:[(0,n.jsx)("input",{ref:Z,type:"file",multiple:!0,hidden:!0,onChange:ex}),u&&h&&(0,n.jsxs)("div",{style:{padding:"6px 8px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 10px"},children:[["indexMaxFiles",d("files_configIndexMaxFiles"),1],["indexGitHardCap",d("files_configGitHardCap"),1],["indexWalkHardCap",d("files_configWalkHardCap"),1],["indexMaxWalkDepth",d("files_configMaxWalkDepth"),1],["atResultLimit",d("files_configAtResultLimit"),1],["textPreviewMaxBytes",d("files_configTextPreview"),1048576],["imagePreviewMaxBytes",d("files_configImagePreview"),1048576],["docxPreviewMaxBytes",d("files_configDocxPreview"),1048576],["browseMaxEntries",d("files_configBrowseMaxEntries"),1]].map(([e,t,r])=>(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:4,fontSize:10,color:"var(--text-dim)"},children:[(0,n.jsx)("span",{children:t}),(0,n.jsx)("input",{type:"number",min:1,value:Math.round((h[e]??g[e])/r),onChange:t=>{let n=Number(t.target.value);Number.isFinite(n)&&!(n<=0)&&f(t=>({...t??g,[e]:Math.round(n*r)}))},style:{width:70,height:20,border:"1px solid var(--border)",borderRadius:4,background:"var(--bg)",color:"var(--text)",fontSize:10,padding:"0 4px"}})]},e))}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6},children:[(0,n.jsx)("button",{type:"button",onClick:()=>{(0,X.dM)("fileConfig",h),p(!1),f(null)},style:{height:22,padding:"0 10px",border:"1px solid var(--accent)",borderRadius:4,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:10},children:d("files_configSave")}),(0,n.jsx)("button",{type:"button",onClick:()=>{p(!1),f(null)},style:{height:22,padding:"0 10px",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:10},children:d("files_configCancel")}),(0,n.jsx)("span",{style:{marginLeft:4,fontSize:10,color:"var(--text-dim)"},children:d("files_configHint")})]})]}),Q&&(0,n.jsx)(ls,{open:!0,title:"upload"===Q.mode?d("files_pickerUploadTitle"):"move"===Q.mode?d("files_pickerMoveTitle"):d("files_pickerCopyTitle"),initialPath:Q.initialPath,onSelect:em,onClose:()=>ee(null)}),ey&&(0,n.jsxs)("div",{style:{padding:"6px 8px",borderBottom:"1px solid var(--border)"},children:[er&&(0,n.jsxs)("div",{role:"status","aria-live":"polite","aria-label":"checking"===D?d("files_loadingList"):`${d("files_uploading")} ${N}%`,children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===D?(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true",children:(0,n.jsx)("path",{d:"M21 12a9 9 0 1 1-5.7-8.4"})}):(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M12 16V4"}),(0,n.jsx)("path",{d:"m7 9 5-5 5 5"}),(0,n.jsx)("path",{d:"M5 20h14"})]}),"uploading"===D&&(0,n.jsxs)("span",{style:{fontSize:10},children:[N,"%"]})]}),"uploading"===D&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${N}%`,height:"100%",background:"var(--text-muted)",transition:"width 120ms ease"}})})]}),V&&(0,n.jsxs)("div",{role:"alert",style:{padding:7,border:"1px solid color-mix(in srgb, var(--status-warning) 55%, var(--border))",borderRadius:4,background:"color-mix(in srgb, var(--status-warning) 9%, var(--bg-panel))"},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text)",lineHeight:1.35,overflowWrap:"anywhere"},children:[d(1===V.conflicts.length?"files_existingFilesCount_one":"files_existingFilesCount",{count:V.conflicts.length}),": ",V.conflicts.join(", ")]}),V.nonReplaceable.length>0&&(0,n.jsx)("div",{style:{marginTop:3,fontSize:10,color:"var(--status-warning)",lineHeight:1.35,overflowWrap:"anywhere"},children:d("files_cannotReplace",{names:V.nonReplaceable.join(", ")})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:7},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void ef(V.files,"overwrite"),style:{height:22,padding:"0 7px",border:"1px solid var(--status-danger)",borderRadius:4,background:"transparent",color:"var(--status-danger)",cursor:"pointer",fontSize:10},children:d("files_replace")}),(0,n.jsx)("button",{type:"button",onClick:()=>void ef(V.files,"skip"),style:{height:22,padding:"0 7px",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:10},children:d("files_skip")}),(0,n.jsx)("button",{type:"button",onClick:()=>J(null),style:{height:22,padding:"0 7px",border:"none",borderRadius:4,background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:10},children:d("files_cancel")})]})]}),O&&(0,n.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:6,fontSize:11,lineHeight:1.35,color:"var(--status-danger)"},children:[(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:O}),(0,n.jsx)(lm,{onClick:()=>U(null),title:d("files_closeError")})]}),q&&(0,n.jsxs)("div",{"aria-live":"polite",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minHeight:22,fontSize:11},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1,display:"flex",alignItems:"center",gap:8},children:[q.uploaded.length>0&&(0,n.jsxs)("span",{title:d("files_uploadedCount",{count:q.uploaded.length}),"aria-label":d("files_uploadedCount",{count:q.uploaded.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-success)"},children:[(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m5 12 4 4L19 6"})}),(0,n.jsx)("span",{children:q.uploaded.length})]}),q.skipped.length>0&&(0,n.jsxs)("span",{title:d("files_skippedCount",{count:q.skipped.length}),"aria-label":d("files_skippedCount",{count:q.skipped.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--text-dim)"},children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,n.jsx)("path",{d:"M8 12h8"})]}),(0,n.jsx)("span",{children:q.skipped.length})]}),q.errors.length>0&&(0,n.jsxs)("span",{title:d("files_failedCount",{count:q.errors.length}),"aria-label":d("files_failedCount",{count:q.errors.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-danger)"},children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M12 3 2.5 20h19L12 3Z"}),(0,n.jsx)("path",{d:"M12 9v4"}),(0,n.jsx)("path",{d:"M12 17h.01"})]}),(0,n.jsx)("span",{children:q.errors.length})]})]}),q.uploaded.length>0&&l&&(0,n.jsx)("button",{type:"button",onClick:eb,title:1===q.uploaded.length?d("files_addFileToChat"):d("files_addAllFilesToChat"),"aria-label":1===q.uploaded.length?d("files_addFileToChat"):d("files_addAllFilesToChat"),className:"file-row-action-btn",style:{color:"var(--accent)"},children:(0,n.jsx)(lx,{})}),(0,n.jsx)(lm,{onClick:()=>K(null),title:d("files_closeUploadResults")})]}),q.errors.map(e=>(0,n.jsxs)("div",{title:e.error,style:{display:"flex",alignItems:"center",gap:4,marginTop:3,minWidth:0,fontSize:10,color:"var(--status-danger)"},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,n.jsx)("path",{d:"M12 8v5"}),(0,n.jsx)("path",{d:"M12 17h.01"})]}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.name))]})]}),(0,n.jsxs)("div",{style:{padding:"2px 4px"},children:[y?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:d("files_loading")}):j?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--status-danger)"},children:j}):(0,n.jsxs)(n.Fragment,{children:[E&&(0,n.jsx)(ly,{targetPath:e,type:E,placeholder:d("files_namePlaceholder"),paddingLeft:12,onDone:e=>{z(null),e&&ed()},t:d}),(0,n.jsx)("div",{role:"tree",children:m.map(r=>(0,n.jsx)(lw,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:o,expandedPaths:k,onToggleExpanded:ea,refreshToken:et,highlightedPaths:L,gitStatusByPath:ei,changedDirectoryPaths:eo,onMutated:ed,onMoveEntry:e=>ev("move",e),onCopyEntry:e=>ev("copy",e),onDeleteEntry:(e,t)=>void ec(e,t),t:d},r.fullPath))})]}),!y&&!j&&0===m.length&&(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:d("files_noFiles")})]})]})}),lS={conflict:0,modified:1,added:2,deleted:3,renamed:4,untracked:5};function lC({cwd:e,status:t,loading:r,error:o,onOpenFile:l,selectedFilePath:a}){let{t:s}=(0,es.s9)(),d=(0,i.useMemo)(()=>t?[...t.files].sort((e,t)=>{let r=lS[e.status]-lS[t.status];return 0!==r?r:e.filePath.localeCompare(t.filePath)}):[],[t]);return r&&!t?(0,n.jsx)(lR,{children:s("git_loading")}):o?(0,n.jsx)(lR,{tone:"error",children:o}):t&&t.isGitRepository?0===d.length?(0,n.jsxs)("div",{style:{padding:"18px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,color:"var(--text-dim)"},children:[(0,n.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--status-success)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),(0,n.jsx)("span",{style:{fontSize:12},children:s("git_clean")})]}):(0,n.jsxs)("div",{style:{padding:"4px 0"},children:[(0,n.jsxs)("div",{style:{padding:"4px 10px 6px",fontSize:10.5,color:"var(--text-dim)",lineHeight:1.4},title:t.repositoryRoot??e,children:[s(1===d.length?"git_changesCount_one":"git_changesCount",{count:d.length})," \xb7 ",t.repositoryRoot??e]}),d.map(t=>(0,n.jsx)(l_,{file:t,cwd:e,onOpenFile:l,selected:t.filePath===a},t.filePath))]}):(0,n.jsx)(lR,{children:s("git_notRepo")})}function l_({file:e,cwd:t,onOpenFile:r,selected:i}){let{t:o}=(0,es.s9)(),l=ra(e.filePath)||e.filePath,a=rd(e.filePath,t),s=o(lh[e.status]);return(0,n.jsxs)("button",{type:"button",className:`git-file-row${i?" is-selected":""}`,onClick:()=>r(e.filePath,l),title:`${e.filePath} — ${s}`,"aria-label":o("git_openFile",{path:a,status:s}),"aria-pressed":i,children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:14,flexShrink:0,color:lg[e.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:700,textAlign:"center"},children:e.code}),(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:n6(l,13)}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)"},children:s})]})}function lR({children:e,tone:t="dim"}){return(0,n.jsx)("div",{style:{padding:"14px 12px",fontSize:11.5,lineHeight:1.5,color:"error"===t?"var(--status-danger)":"var(--text-dim)"},children:e})}var lI=r(12612),lT=r(42804);function lM({kind:e}){let t={width:17,height:17,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};return"info"===e?(0,n.jsx)(tH.A,{size:17,strokeWidth:1.8,"aria-hidden":"true"}):"files"===e?(0,n.jsx)("svg",{...t,children:(0,n.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"})}):"git"===e?(0,n.jsx)(lI.A,{size:17,strokeWidth:1.8,"aria-hidden":"true"}):"terminal"===e?(0,n.jsx)(lT.A,{size:17,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsxs)("svg",{...t,children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]})}function lE({open:e,width:t,onWidthChange:r,onClose:o,cwd:l,isMobile:a,mobileReady:s,tabs:d,activeTabId:c,onSelectTab:u,sessionInfoContent:p,branchContent:h,terminalContent:f,fileRefreshKey:g,gitRefreshKey:x,onOpenFile:m,onAtMention:v,onAtMentions:y}){let{t:b}=(0,es.s9)(),j=(0,i.useRef)(null),[w,k]=(0,i.useState)(!1),[S,C]=(0,i.useState)(0),[_,R]=(0,i.useState)(null),[I,T]=(0,i.useState)(!1),[M,E]=(0,i.useState)(null),[z,W]=(0,i.useState)(!1),L=(0,i.useRef)(null),[A,P]=(0,i.useState)(e);(0,i.useEffect)(()=>{e&&P(!0)},[e]);let $=(0,i.useCallback)(async()=>{if(!l){R(null),E(null);return}T(!0);try{let e=await fetch(`/api/git/status?${new URLSearchParams({cwd:l}).toString()}`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??b("workspace_gitStatusLoadFailed",{status:e.status}));R(t),E(null)}catch(e){E(e instanceof Error?e.message:String(e)),R(null)}finally{T(!1)}},[l,b]);(0,i.useEffect)(()=>{e&&$()},[e,$,x]);let H=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=H.current;H.current=w,e&&!w&&$()},[w,$]);let D=(0,i.useCallback)(e=>{a||(e.preventDefault(),L.current={startX:e.clientX,startWidth:t},W(!0),e.currentTarget.setPointerCapture(e.pointerId))},[a,t]),F=(0,i.useCallback)(e=>{let t=L.current;t&&r(Math.min(Math.max(320,Math.min(720,.42*window.innerWidth)),Math.max(320,t.startWidth+t.startX-e.clientX)))},[r]),N=(0,i.useCallback)(e=>{L.current&&(L.current=null,W(!1),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),B=d.filter(e=>e.kind&&"file"!==e.kind&&"chat"!==e.kind),O=_?.isGitRepository?_.files.length:0,U=44+(e?t:0),q=a?"calc(100% - 44px)":e?t:0;return(0,n.jsxs)("div",{className:`workspace-container${e?" workspace-open":" workspace-closed"}${z?" workspace-dragging":""}${s?"":" workspace-mobile-pending"}`,style:{width:U,minWidth:U,display:"flex",borderLeft:e?"1px solid var(--border)":"none",background:"var(--bg-panel)",position:"relative",flexShrink:0,zIndex:200},role:"complementary","aria-label":b("panel_ariaLabel"),onKeyDownCapture:t=>{e&&"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),o())},children:[e&&(0,n.jsx)("div",{className:`workspace-resize-handle${z?" dragging":""}`,onPointerDown:D,onPointerMove:F,onPointerUp:N,onPointerCancel:N,onDoubleClick:()=>r(400),title:b("workspace_resizeHandle"),"aria-hidden":"true"}),(0,n.jsxs)("div",{className:"workspace-inner",style:{width:U,minWidth:U,height:"100%",display:"flex"},children:[(0,n.jsx)("div",{"aria-hidden":!e,inert:!e,style:{width:q,minWidth:q,overflow:"hidden",height:"100%",display:"flex",flexDirection:"column",opacity:+!!e,transition:z?"none":"width 0.2s ease, min-width 0.2s ease, opacity 0.12s ease"},children:(0,n.jsx)("div",{style:{flex:1,overflow:"hidden",position:"relative",background:"var(--bg-panel)"},children:A?"terminal"===c?(0,n.jsx)("div",{style:{height:"100%",overflow:"hidden"},children:f}):l?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{display:"files"===c?"flex":"none",height:"100%",flexDirection:"column"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"4px 8px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("button",{type:"button",onClick:()=>j.current?.openUploadPicker(),disabled:w||!l,"data-tooltip":b("workspace_upload"),"aria-label":b("workspace_upload"),className:"sidebar-icon-btn",children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,n.jsx)("path",{d:"m17 8-5-5-5 5"}),(0,n.jsx)("path",{d:"M12 3v12"})]})}),(0,n.jsx)("button",{type:"button",onClick:()=>j.current?.startCreateFile(),disabled:!l,"data-tooltip":b("files_newFile"),"aria-label":b("files_newFile"),className:"sidebar-icon-btn",children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),(0,n.jsx)("path",{d:"M14 2v6h6"}),(0,n.jsx)("path",{d:"M12 18v-6"}),(0,n.jsx)("path",{d:"M9 15h6"})]})}),(0,n.jsx)("button",{type:"button",onClick:()=>j.current?.startCreateDir(),disabled:!l,"data-tooltip":b("files_newFolder"),"aria-label":b("files_newFolder"),className:"sidebar-icon-btn",children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.7-.9l-.8-1.2A2 2 0 0 0 8 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),(0,n.jsx)("path",{d:"M12 11v6"}),(0,n.jsx)("path",{d:"M9 14h6"})]})}),(0,n.jsx)("button",{type:"button",onClick:()=>C(e=>e+1),"data-tooltip":b("workspace_refreshFiles"),"aria-label":b("workspace_refreshFiles"),className:"sidebar-icon-btn",children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,n.jsx)("path",{d:"M3 3v5h5"})]})}),(0,n.jsx)("button",{type:"button",onClick:()=>j.current?.toggleConfig(),"data-tooltip":b("files_config"),"aria-label":b("files_config"),className:"sidebar-icon-btn",style:{marginLeft:"auto"},children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,n.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1Z"})]})})]}),(0,n.jsx)("div",{style:{flex:1,minHeight:0},children:(0,n.jsx)(lk,{ref:j,cwd:l,onOpenFile:(e,t)=>m(e,t,"content"),refreshKey:(g??0)+S,onAtMention:v,onAtMentions:y,onUploadBusyChange:k})})]}),(0,n.jsxs)("div",{style:{display:"git"===c?"flex":"none",height:"100%",flexDirection:"column"},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"4px 8px",borderBottom:"1px solid var(--border)",flexShrink:0},children:(0,n.jsx)("button",{type:"button",onClick:()=>void $(),disabled:!l,"data-tooltip":b("workspace_refreshGitStatus"),"aria-label":b("workspace_refreshGitStatus"),className:"sidebar-icon-btn",children:(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,n.jsx)("path",{d:"M3 3v5h5"})]})})}),(0,n.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden"},children:(0,n.jsx)(lC,{cwd:l,status:_,loading:I,error:M,onOpenFile:(e,t)=>m(e,t,"diff")})})]}),"branch"===c&&(0,n.jsx)("div",{style:{height:"100%",overflow:"hidden"},children:h}),"info"===c&&(0,n.jsx)("div",{style:{height:"100%",overflow:"hidden"},children:p})]}):(0,n.jsx)("div",{style:{padding:"16px 12px",fontSize:11.5,color:"var(--text-dim)",lineHeight:1.6},children:b("workspace_selectProject")}):null})}),(0,n.jsx)("nav",{className:"workspace-navigation-rail","aria-label":b("panel_ariaLabel"),style:{width:44,flex:"0 0 44px"},children:B.map(t=>{let r=e&&t.id===c,i="git"===t.kind&&O>0?`${t.label} (${O>99?"99+":O})`:t.label;return(0,n.jsxs)("button",{type:"button",className:"sidebar-icon-btn","aria-label":i,title:i,"data-tooltip":i,"aria-pressed":r,onClick:()=>u(t.id),style:{width:34,height:34,color:r?"var(--accent)":"var(--text-muted)",background:r?"var(--bg-selected)":"transparent",border:r?"1px solid color-mix(in srgb, var(--accent) 30%, var(--border))":"1px solid transparent",position:"relative"},children:[(0,n.jsx)(lM,{kind:t.kind}),"git"===t.kind&&O>0&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",right:3,top:3,width:6,height:6,borderRadius:"50%",background:"var(--accent)",boxShadow:"0 0 0 2px var(--bg)"}})]},t.id)})})]})]})}function lz({kind:e}){let t={width:13,height:13,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};return"files"===e?(0,n.jsx)("svg",{...t,children:(0,n.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"})}):"git"===e||"branch"===e?(0,n.jsxs)("svg",{...t,children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}):(0,n.jsxs)("svg",{...t,children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]})}function lW({tabs:e,activeTabId:t,onSelectTab:r,onCloseTab:o}){let{t:l}=(0,es.s9)(),[a,s]=(0,i.useState)(null);return(0,n.jsx)("div",{style:{display:"flex",alignItems:"flex-end",background:"var(--bg-panel)",overflowX:"auto",flexShrink:0,height:36},children:e.map(e=>{let i=e.id===t,d=void 0!==e.kind&&"file"!==e.kind;return(0,n.jsxs)("div",{role:"tab",tabIndex:0,"aria-selected":i,onClick:()=>r(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e.id))},onMouseDown:e=>{1===e.button&&e.preventDefault()},onAuxClick:t=>{1!==t.button||d||(t.preventDefault(),t.stopPropagation(),o(e.id))},style:{display:"flex",alignItems:"center",gap:6,height:36,paddingLeft:12,paddingRight:d?12:6,borderRight:"1px solid var(--border)",background:i?"var(--bg)":"var(--bg-panel)",cursor:"pointer",fontSize:12,color:i?"var(--text)":"var(--text-muted)",whiteSpace:"nowrap",maxWidth:180,minWidth:80*!d,flexShrink:0,userSelect:"none",transition:"background 0.1s, color 0.1s"},children:[(0,n.jsx)("span",{style:{flexShrink:0,opacity:i?1:.7,display:"flex",alignItems:"center"},children:"chat"===e.kind?(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.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"})}):d?(0,n.jsx)(lz,{kind:e.kind}):n6(e.label,13)}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,fontWeight:i?500:400},title:"chat"===e.kind?l("tabs_backToChat"):e.filePath||e.label,children:e.label}),!d&&(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),o(e.id)},onMouseEnter:()=>s(e.id),onMouseLeave:()=>s(null),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,background:a===e.id?"var(--bg-hover)":"transparent",border:"none",borderRadius:4,color:a===e.id?"var(--text)":"var(--text-dim)",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.1s, color 0.1s"},title:e.dirty?l("tabs_closeUnsaved"):l("tabs_close"),"aria-label":l("tabs_closeNamed",{label:e.label}),children:e.dirty?(0,n.jsx)("span",{className:e.saving?"file-tab-dirty-dot is-saving":"file-tab-dirty-dot","aria-hidden":"true"}):(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"2",y1:"2",x2:"8",y2:"8"}),(0,n.jsx)("line",{x1:"8",y1:"2",x2:"2",y2:"8"})]})})]},e.id)})})}function lL({open:e,width:t,onWidthChange:r,cwd:o,isMobile:l,mobileReady:a,tabs:s,activeTabId:d,onSelectTab:c,onCloseTab:u,onCloseAllTabs:p,pendingCloseTabLabel:h,onSaveAndClose:f,onDiscardAndClose:g,onCancelClose:x,fileViewerContent:m,activeMode:v,gitAffectedPaths:y}){let{t:b}=(0,es.s9)(),[j,w]=(0,i.useState)(null),[k,S]=(0,i.useState)(!1),[C,_]=(0,i.useState)(null),[R,I]=(0,i.useState)(!1),T=(0,i.useRef)(null),M=s.find(e=>e.id===d),E=(0,i.useCallback)(async()=>{if(!o||"diff"!==v||!M?.filePath)return void w(null);S(!0),_(null);try{let e=new URLSearchParams({cwd:o,path:M.filePath}),t=await fetch(`/api/git/diff?${e.toString()}`),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r.error??b("changes_diffError",{status:t.status}));w(r.supported&&"string"==typeof r.patch?r:null)}catch(e){w(null),_(e instanceof Error?e.message:String(e))}finally{S(!1)}},[v,M?.filePath,o,b]);(0,i.useEffect)(()=>{E()},[E]),(0,i.useEffect)(()=>{"diff"===v&&M?.filePath&&y?.some(e=>oZ(y,e))&&E()},[v,M?.filePath,E,y]);let z=(0,i.useCallback)(e=>{l||(e.preventDefault(),T.current={startX:e.clientX,startWidth:t},I(!0),e.currentTarget.setPointerCapture(e.pointerId))},[l,t]),W=(0,i.useCallback)(e=>{let t=T.current;t&&r(t.startWidth+t.startX-e.clientX)},[r]),L=(0,i.useCallback)(e=>{T.current&&(T.current=null,I(!1),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),A=M?"content"===v?m:k?(0,n.jsx)("div",{className:"changes-panel-hint",children:b("changes_diffLoading")}):C?(0,n.jsx)("div",{className:"changes-panel-hint is-error",children:C}):j?.patch?(0,n.jsx)(lr,{patch:j.patch}):(0,n.jsx)("div",{className:"changes-panel-hint",children:b("changes_diffUnavailable")}):(0,n.jsx)("div",{className:"changes-panel-hint",children:b("secondary_empty")});return(0,n.jsxs)("aside",{className:`changes-panel${e?" changes-panel-open":" changes-panel-closed"}${R?" changes-panel-dragging":""}${a?"":" workspace-mobile-pending"}`,style:{width:e?t:0,minWidth:e?t:0,height:"100%",minHeight:0,flex:"1 1 auto",display:"flex",flexDirection:"column"},"aria-label":b("secondary_title"),children:[e&&(0,n.jsx)("div",{className:`changes-panel-resize-handle${R?" dragging":""}`,role:"separator","aria-orientation":"vertical",tabIndex:0,title:b("changes_resizeHandle"),"aria-label":b("changes_resizeHandle"),onPointerDown:z,onPointerMove:W,onPointerUp:L,onPointerCancel:L}),(0,n.jsxs)("div",{className:"secondary-panel-inner",children:[s.length>0&&(0,n.jsxs)("div",{className:"secondary-panel-tabs",style:{display:"flex",alignItems:"stretch",flexShrink:0},children:[(0,n.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:(0,n.jsx)(lW,{tabs:s,activeTabId:d,onSelectTab:c,onCloseTab:u})}),(0,n.jsx)("button",{type:"button",className:"sidebar-icon-btn",onClick:p,title:b("secondary_closeAll"),"aria-label":b("secondary_closeAll"),style:{flexShrink:0,borderRadius:0,borderLeft:"1px solid var(--border)"},children:(0,n.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),null!==h&&(0,n.jsxs)("div",{className:"file-close-confirm",role:"alert",children:[(0,n.jsx)("span",{className:"file-close-confirm__message",children:b("app_unsavedChangesIn",{name:h})}),(0,n.jsx)("button",{type:"button",className:"file-close-confirm__button",onClick:f,children:b("app_saveAndClose")}),(0,n.jsx)("button",{type:"button",className:"file-close-confirm__button is-danger",onClick:g,children:b("app_discardChanges")}),(0,n.jsx)("button",{type:"button",className:"file-close-confirm__button",onClick:x,children:b("common_cancel")})]}),(0,n.jsx)("div",{className:"secondary-panel-body",children:A})]})]})}function lA({session:e,sessionStats:t,contextUsage:r,systemPrompt:o}){let l,a,{t:s}=(0,es.s9)(),[d,c]=(0,i.useState)(null),u=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{u.current&&clearTimeout(u.current)},[]);let p=(0,i.useCallback)((e,t)=>{eQ(t).then(()=>{u.current&&clearTimeout(u.current),c(e),u.current=setTimeout(()=>c(null),1400)})},[]),h=e=>(0,n.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:e}),f=(e,t)=>(0,n.jsxs)("div",{style:{minWidth:0},children:[h(e),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr)",columnGap:12,rowGap:4},children:t.map(([t,r])=>(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:t}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:"anywhere",textAlign:"right",whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"},children:r})]},`${e}:${t}`))})]}),g=e=>(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:e});return(0,n.jsx)("div",{style:{height:"100%",overflowY:"auto",overflowX:"hidden",padding:"12px 16px 20px",display:"flex",flexDirection:"column",gap:18,fontSize:12,lineHeight:1.5},children:e?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{minWidth:0},children:[h(s("app_sessionInfo")),t?(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:[...t.sessionName?[{label:s("app_name"),value:t.sessionName,copyField:null}]:[],{label:s("app_file"),value:t.sessionFile??s("app_inMemory"),copyField:"file"},{label:s("app_id"),value:t.sessionId,copyField:"id"}].map(e=>{var t,r;let i;return(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:e.label}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal",fontFamily:"var(--font-mono)",fontSize:11.5},children:e.value}),(0,n.jsx)("div",{children:e.copyField?(t=e.copyField,r=e.value,i=d===t,(0,n.jsx)("button",{type:"button",title:i?s("app_copied"):"file"===t?s("app_copyFilePath"):s("app_copySessionId"),"aria-label":i?s("app_copied"):"file"===t?s("app_copyFilePath"):s("app_copySessionId"),onClick:()=>p(t,r),style:{alignSelf:"start",display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginTop:-2,color:i?"var(--accent)":"var(--text-dim)",background:"transparent",border:"1px solid var(--border)",borderRadius:4,cursor:"pointer",flex:"0 0 auto",transition:"color 0.12s, border-color 0.12s, background 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.borderColor="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color=i?"var(--accent)":"var(--text-dim)",e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="transparent"},children:i?(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})):null})]},`session-info:${e.label}`)})}):g(s("app_sessionInfoAfterMessageHint"))]}),t&&(0,n.jsxs)(n.Fragment,{children:[f(s("app_messages"),[[s("app_user"),t.userMessages.toLocaleString()],[s("app_assistant"),t.assistantMessages.toLocaleString()],[s("app_toolCalls"),t.toolCalls.toLocaleString()],[s("app_toolResults"),t.toolResults.toLocaleString()],[s("app_total"),t.totalMessages.toLocaleString()]]),(l=r??t.contextUsage,f(s("app_tokens"),[[s("app_input"),t.tokens.input.toLocaleString()],[s("app_output"),t.tokens.output.toLocaleString()],...t.tokens.cacheRead>0?[[s("app_cacheRead"),t.tokens.cacheRead.toLocaleString()]]:[],...t.tokens.cacheWrite>0?[[s("app_cacheWrite"),t.tokens.cacheWrite.toLocaleString()]]:[],[s("app_total"),t.tokens.total.toLocaleString()],...t.cost>0?[[s("app_cost"),`$${t.cost.toFixed(4)}`]]:[],...l?.contextWindow?[[s("app_context"),`${null!==l.percent?`${l.percent.toFixed(1)}%`:"?"} / ${(a=l.contextWindow)>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(0)}k`:String(a)}`]]:[]]))]}),(0,n.jsxs)("div",{style:{minWidth:0},children:[h(s("app_systemPrompt")),!0===e.readOnly?g(s("app_systemPromptReadOnlyHint")):o?(0,n.jsx)("div",{style:{maxHeight:"min(480px, 60vh)",overflowY:"auto",padding:"10px 12px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg)",color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",fontFamily:"var(--font-mono)"},children:o}):g(""===o?s("app_systemPromptEmptyHint"):s("app_systemPromptAfterMessageHint"))]})]}):g(s("panel_selectSessionHint"))})}var lP=r(6296),l$=r(53961),lH=r(28538);function lD(e){return{minHeight:32,padding:"0 14px",borderRadius:7,border:`1px solid ${e?"var(--accent)":"var(--border)"}`,background:e?"var(--accent)":"var(--bg-panel)",color:e?"var(--accent-foreground)":"var(--text-muted)",cursor:e?"pointer":"not-allowed",fontSize:12,fontWeight:600,opacity:e?1:.65}}function lF(e=!0){return{minHeight:32,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:e?"pointer":"not-allowed",fontSize:12,opacity:e?1:.65}}function lN(e=!0){return{display:"inline-flex",alignItems:"center",justifyContent:"center",width:32,height:32,padding:0,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--status-danger)",cursor:e?"pointer":"not-allowed",opacity:e?1:.55}}function lB({fixedHint:e,dynamicHint:t,children:r,onClose:i,closeLabel:o}){let{t:l}=(0,es.s9)();return(0,n.jsxs)("div",{style:{flexShrink:0,padding:"10px 20px 14px",borderTop:"1px solid var(--border)",background:"var(--bg)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{flex:"1 1 160px",minWidth:0,display:"flex",flexDirection:"column",gap:2,justifyContent:"center",minHeight:36},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",lineHeight:1.4,minHeight:16,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:"string"==typeof e?e:void 0,children:null!=e&&""!==e?e:"\xa0"}),(0,n.jsx)("div",{style:{fontSize:12,lineHeight:1.4,minHeight:16},children:null!=t&&""!==t?t:"\xa0"})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",marginLeft:"auto",flexShrink:0},children:[r,i&&(0,n.jsx)("button",{type:"button",onClick:i,style:lF(!0),children:o??l("dialog_close")})]})]})}function lO({stickyFooter:e=!1,onClose:t,apiPath:r="/api/settings/raw",fixedHint:o="~/.pi/agent/settings.json",titleLabel:l,fileLabel:a="settings.json"}={}){let{t:s}=(0,es.s9)(),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(!0),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(0),j=i.useRef(null),[w,k]=(0,i.useState)(0),[S,C]=(0,i.useState)(null),_=(0,i.useCallback)(async()=>{p(!0),x(null);try{let e=await fetch(r,{cache:"no-store"});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`HTTP ${e.status}`)}let t=await e.json();c("string"==typeof t.json?t.json:"{}\n")}catch(e){x(e instanceof Error?e.message:String(e)),c(null)}finally{p(!1)}},[r]);(0,i.useEffect)(()=>{_()},[_,y]);let R=(0,i.useCallback)(()=>{if(null===d)return null;try{let e=JSON.parse(d);if("object"!=typeof e||null===e||Array.isArray(e))return s("settingsJson_mustBeObject");return null}catch(r){let e=r instanceof Error?r.message:String(r),t=/position (\d+)/.exec(e);if(t){let e=Number(t[1]),r=d.slice(0,e),n=r.split("\n").length,i=e-r.lastIndexOf("\n");return s("settingsJson_invalidAt",{line:String(n),col:String(i)})}return s("settingsJson_invalid",{message:e})}},[d,s]),I=(0,i.useCallback)(()=>{if(null===d)return;let e=R();if(null!==e)return void C(e);try{let e=JSON.parse(d);c(JSON.stringify(e,null,2)),C(!0),x(null),v(!1)}catch{}},[d,R]),T=(0,i.useCallback)(()=>{if(null===d)return C(null),!1;let e=R();return C(null===e||e),null===e},[d,R]),M=(0,i.useCallback)(async()=>{if(T()){f(!0),x(null),v(!1);try{let e=await fetch(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({json:d})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`HTTP ${e.status}`)}v(!0),window.setTimeout(()=>v(!1),2e3)}catch(e){x(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[d,R,s,r]);return u&&null===d?(0,n.jsx)("div",{style:{padding:"12px 0",fontSize:12,color:"var(--text-muted)"},children:s("common_loading")}):e?(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsxs)("div",{style:{flex:1,minHeight:0,overflowY:"auto",padding:"12px 20px 12px",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{style:{flexShrink:0,display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:l??s("defaults_jsonTab")}),(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:a})]}),(0,n.jsxs)("div",{style:{flex:1,minHeight:200,display:"flex",alignItems:"stretch",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden",background:"var(--bg)"},children:[(0,n.jsx)("div",{"aria-hidden":"true",style:{flexShrink:0,padding:"10px 6px 10px 10px",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",color:"var(--text-dim)",fontSize:12,lineHeight:1.55,fontFamily:"var(--font-mono)",textAlign:"right",userSelect:"none",overflow:"hidden",minHeight:0},children:(d??"").split("\n").map((e,t)=>(0,n.jsx)("div",{style:{transform:`translateY(-${w}px)`},children:t+1},t))}),(0,n.jsx)("textarea",{ref:j,value:d??"",onChange:e=>{c(e.target.value),x(null),v(!1),C(null)},onScroll:e=>k(e.currentTarget.scrollTop),spellCheck:!1,"aria-label":s("settingsJson_editorLabel"),style:{flex:1,minHeight:0,width:"100%",padding:"10px 12px",border:"none",borderRadius:0,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:"none"}})]})]}),(0,n.jsxs)(lB,{fixedHint:o,dynamicHint:"string"==typeof S||g?(0,n.jsx)("span",{style:{color:"var(--status-danger)",fontFamily:"var(--font-mono)"},children:"string"==typeof S?S:g}):!0===S?(0,n.jsx)("span",{style:{color:"var(--status-ok, var(--accent))",fontFamily:"var(--font-mono)"},children:s("settingsJson_valid")}):m?(0,n.jsx)("span",{style:{color:"var(--accent)"},children:s("common_saved")}):null,onClose:t,children:[(0,n.jsx)("button",{type:"button",onClick:()=>void I(),disabled:null===d,style:lF(null!==d),children:s("settingsJson_format")}),(0,n.jsx)("button",{type:"button",onClick:()=>void T(),disabled:null===d,style:lF(null!==d),children:s("settingsJson_validate")}),(0,n.jsx)("button",{type:"button",onClick:()=>b(e=>e+1),disabled:h,style:lF(!h),children:s("common_reload")}),(0,n.jsx)("button",{type:"button",onClick:()=>void M(),disabled:null===d||h||!0!==S,style:lD(null!==d&&!h&&!0===S),children:h?s("common_saving"):s("common_save")})]})]}):(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,marginBottom:12,maxWidth:560},children:s("settingsJson_hint")}),(g||"string"==typeof S)&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10,fontFamily:"var(--font-mono)"},children:"string"==typeof S?S:g}),!0===S&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-ok, var(--accent))",marginBottom:10,fontFamily:"var(--font-mono)"},children:s("settingsJson_valid")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"stretch",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden"},children:[(0,n.jsx)("div",{"aria-hidden":"true",style:{flexShrink:0,padding:"10px 6px 10px 10px",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",color:"var(--text-dim)",fontSize:12,lineHeight:1.55,fontFamily:"var(--font-mono)",textAlign:"right",userSelect:"none",overflow:"hidden",maxHeight:"60vh"},children:(d??"").split("\n").map((e,t)=>(0,n.jsx)("div",{style:{transform:`translateY(-${w}px)`},children:t+1},t))}),(0,n.jsx)("textarea",{ref:j,value:d??"",onChange:e=>{c(e.target.value),x(null),v(!1),C(null)},onScroll:e=>k(e.currentTarget.scrollTop),spellCheck:!1,"aria-label":s("settingsJson_editorLabel"),style:{width:"100%",minHeight:320*!e,maxHeight:e?"none":"60vh",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:e?"none":"vertical",border:"none",borderRadius:0,minHeight:320,maxHeight:"60vh"}})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:12,flexWrap:"wrap"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void I(),disabled:null===d,style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:null===d?"not-allowed":"pointer",fontSize:12},children:s("settingsJson_format")}),(0,n.jsx)("button",{type:"button",onClick:()=>void T(),disabled:null===d,style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:null===d?"not-allowed":"pointer",fontSize:12},children:s("settingsJson_validate")}),(0,n.jsx)("button",{type:"button",onClick:()=>void M(),disabled:null===d||h||!0!==S,style:{minHeight:30,padding:"0 14px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",cursor:null===d||h||!0!==S?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:null===d||h||!0!==S?.65:1},children:h?s("common_saving"):s("common_save")}),(0,n.jsx)("button",{type:"button",onClick:()=>b(e=>e+1),disabled:h,style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:h?"not-allowed":"pointer",fontSize:12},children:s("common_reload")}),m&&(0,n.jsx)("span",{style:{fontSize:12,color:"var(--accent)"},children:s("common_saved")})]})]})}var lU=r(67381),lq=r(64433),lK=r(70350),lV=r(88195),lJ=r(9312),lY=r(87275),lZ=r(22008),lX=r(95476),lG=r(35029),lQ=r(14489),l0=r(78728),l1=r(19872),l2=r(7751),l4=r(92526),l6=r(48238),l5=r(57794),l8=r(41098),l3=r(84604),l9=r(15315),l7=r(74278),ae=r(55457),at=r(71437),ar=r(29167),an=r(97283),ai=r(34166),ao=r(33889),al=r(85486),aa=r(74068),as=r(83546),ad=r(83709);let ac={anthropic:{Icon:lU.A,hasColor:!1},openai:{Icon:lq.A,hasColor:!1},"openai-codex":{Icon:lq.A,hasColor:!1},google:{Icon:lK.A,hasColor:!0},"google-vertex":{Icon:lK.A,hasColor:!0},"ant-ling":{Icon:ao.A,hasColor:!0},deepseek:{Icon:lV.A,hasColor:!0},groq:{Icon:lJ.A,hasColor:!1},mistral:{Icon:lY.A,hasColor:!0},moonshotai:{Icon:lZ.A,hasColor:!1},"moonshotai-cn":{Icon:lZ.A,hasColor:!1},moonshot:{Icon:lZ.A,hasColor:!1},minimax:{Icon:lX.A,hasColor:!0},"minimax-cn":{Icon:lX.A,hasColor:!0},fireworks:{Icon:lG.A,hasColor:!0},huggingface:{Icon:lQ.A,hasColor:!0},cerebras:{Icon:l0.A,hasColor:!0},openrouter:{Icon:l1.A,hasColor:!1},xai:{Icon:l2.A,hasColor:!1},"cloudflare-ai-gateway":{Icon:l4.A,hasColor:!0},"cloudflare-workers-ai":{Icon:l4.A,hasColor:!0},"vercel-ai-gateway":{Icon:l6.A,hasColor:!1},"github-copilot":{Icon:l5.A,hasColor:!1},"amazon-bedrock":{Icon:l8.A,hasColor:!0},"azure-openai-responses":{Icon:l3.A,hasColor:!0},"kimi-coding":{Icon:l9.A,hasColor:!0},nvidia:{Icon:al.A,hasColor:!0},opencode:{Icon:aa.A,hasColor:!1},"opencode-go":{Icon:aa.A,hasColor:!1},qwen:{Icon:l7.A,hasColor:!0},xiaomi:{Icon:as.A,hasColor:!1},"xiaomi-token-plan-ams":{Icon:as.A,hasColor:!1},"xiaomi-token-plan-cn":{Icon:as.A,hasColor:!1},"xiaomi-token-plan-sgp":{Icon:as.A,hasColor:!1},zai:{Icon:ad.A,hasColor:!1},"zai-coding-cn":{Icon:ad.A,hasColor:!1},zhipu:{Icon:ae.A,hasColor:!0},cohere:{Icon:at.A,hasColor:!0},perplexity:{Icon:ar.A,hasColor:!0},together:{Icon:an.A,hasColor:!0},grok:{Icon:ai.A,hasColor:!1}},au=["openai-completions","openai-responses","anthropic-messages","google-generative-ai"];function ap({label:e,children:t}){return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,n.jsx)("label",{style:{fontSize:11,color:"var(--text-muted)",fontWeight:500},children:e}),t]})}let ah={padding:"6px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",fontSize:12,outline:"none",width:"100%",boxSizing:"border-box"};function af({value:e,onChange:t,placeholder:r,mono:i}){return(0,n.jsx)("input",{value:e,onChange:e=>t(e.target.value),placeholder:r,style:{...ah,fontFamily:i?"var(--font-mono)":"inherit"}})}function ag({value:e,onChange:t,placeholder:r,mono:o,onKeyDown:l,autoComplete:a="off",spellCheck:s=!1,style:d}){let{t:c}=(0,es.s9)(),[u,p]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{e||p(!1)},[e]),(0,n.jsxs)("div",{style:{position:"relative",width:"100%",...d},children:[(0,n.jsx)("input",{type:u?"text":"password",value:e,onChange:e=>t(e.target.value),onKeyDown:l,placeholder:r,style:{...ah,paddingRight:34,fontFamily:o?"var(--font-mono)":"inherit"},autoComplete:a,spellCheck:s}),(0,n.jsx)("button",{type:"button",onClick:()=>p(e=>!e),"aria-label":c(u?"models_hideApiKey":"models_showApiKey"),title:c(u?"models_hideApiKey":"models_showApiKey"),style:{position:"absolute",right:5,top:"50%",transform:"translateY(-50%)",width:24,height:24,padding:0,border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:u?(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M17.94 17.94A10.94 10.94 0 0 1 12 20C7 20 2.73 16.89 1 12a18.45 18.45 0 0 1 5.06-6.94"}),(0,n.jsx)("path",{d:"M9.9 4.24A10.94 10.94 0 0 1 12 4c5 0 9.27 3.11 11 8a18.5 18.5 0 0 1-2.16 3.19"}),(0,n.jsx)("path",{d:"M14.12 14.12A3 3 0 0 1 9.88 9.88"}),(0,n.jsx)("path",{d:"M1 1l22 22"})]}):(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12Z"}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]})}function ax({value:e,onChange:t,placeholder:r}){return(0,n.jsx)("input",{type:"number",value:e,onChange:e=>t(e.target.value),placeholder:r,style:ah})}function am({value:e,onChange:t,options:r,required:i}){return(0,n.jsxs)("select",{value:e,onChange:e=>t(e.target.value),style:{...ah,color:e?"var(--text)":"var(--text-dim)"},children:[!i&&(0,n.jsx)("option",{value:"",children:"— inherit / none —"}),r.map(e=>(0,n.jsx)("option",{value:e,children:e},e))]})}function av({label:e,checked:t,onChange:r}){return(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",fontSize:12,color:"var(--text-muted)"},children:[(0,n.jsx)("input",{type:"checkbox",checked:t,onChange:e=>r(e.target.checked),style:{width:13,height:13,accentColor:"var(--accent)",cursor:"pointer"}}),e]})}function ay({children:e}){return(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:2},children:e})}function ab({label:e,onClick:t,disabled:r=!1,success:i=!1,error:o=!1,children:l}){return(0,n.jsx)("button",{type:"button",onClick:t,disabled:r,title:e,"aria-label":e,style:{width:24,height:24,padding:0,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",background:i?"var(--status-success)":"none",border:`1px solid ${i?"var(--status-success)":o?"var(--status-danger)":"var(--border)"}`,borderRadius:5,color:i?"#fff":o?"var(--status-danger)":r?"var(--text-dim)":"var(--text-muted)",cursor:r?"not-allowed":"pointer",opacity:r?.55:1,boxSizing:"border-box"},children:l})}function aj({value:e,onChange:t}){let{t:r}=(0,es.s9)(),i=Object.entries(e??{}),o=(e,r,n)=>{let o=i.map(([t,i],o)=>o===e?[r,n]:[t,i]),l={};for(let[e,t]of o)e.trim()&&(l[e.trim()]=t);t(Object.keys(l).length?l:void 0)};return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[i.map(([e,l],a)=>(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr auto",gap:6},children:[(0,n.jsx)(af,{value:e,onChange:e=>o(a,e,l),placeholder:r("models_headerKey"),mono:!0}),(0,n.jsx)(af,{value:l,onChange:t=>o(a,e,t),placeholder:r("models_headerValue"),mono:!0}),(0,n.jsx)("button",{type:"button",onClick:()=>{let e;return e={},void(i.forEach(([t,r],n)=>{n!==a&&(e[t]=r)}),t(Object.keys(e).length?e:void 0))},style:{minHeight:30,padding:"0 8px",borderRadius:5,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--status-danger)",cursor:"pointer",fontSize:11},children:r("common_remove")})]},a)),(0,n.jsxs)("button",{type:"button",onClick:()=>{let r={...e??{}},n=1,i="X-Custom-Header";for(;i in r;)i=`X-Custom-Header-${n++}`;r[i]="",t(r)},style:{alignSelf:"flex-start",minHeight:28,padding:"0 10px",borderRadius:5,border:"1px dashed var(--border)",background:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:["+ ",r("models_addHeader")]})]})}let aw=["supportsDeveloperRole","supportsReasoningEffort","supportsStore","supportsUsageInStreaming","supportsStrictMode","sendSessionAffinityHeaders","supportsLongCacheRetention"],ak=["supportsDeveloperRole","supportsReasoningEffort","requiresReasoningContentOnAssistantMessages","requiresThinkingAsText","supportsLongCacheRetention","supportsStore","supportsUsageInStreaming","supportsStrictMode","sendSessionAffinityHeaders"],aS=["","openai","openrouter","together","baseten","deepseek","zai","qwen","chat-template","qwen-chat-template","string-thinking","ant-ling"],aC=["","openai","openai-nosession","openrouter"],a_=["","max_tokens","max_completion_tokens"];function aR(e,t,r){let n={...e??{}};return r?n[t]=r:delete n[t],Object.keys(n).length?n:void 0}function aI({keys:e,compat:t,onChange:r}){return(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.map(e=>(0,n.jsx)(av,{label:e,checked:t?.[e]===!0,onChange:n=>{let i;return r((i={...t??{}},n?i[e]=!0:delete i[e],Object.keys(i).length?i:void 0))}},e))})}function aT({name:e,provider:t,onChange:r,onRename:o,onDelete:l}){let{t:a}=(0,es.s9)(),[s,d]=(0,i.useState)(e);(0,i.useEffect)(()=>d(e),[e]);let c=(e,n)=>r({...t,[e]:n});return(0,i.useEffect)(()=>{t.api||r({...t,api:"openai-completions"})},[t.api]),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(ay,{children:a("models_provider")}),(0,n.jsx)("button",{onClick:l,style:{padding:"3px 8px",background:"none",border:"1px solid var(--status-danger-border)",borderRadius:4,color:"var(--status-danger)",cursor:"pointer",fontSize:11},children:a("models_delete")})]}),(0,n.jsxs)(ap,{label:a("models_providerName"),children:[(0,n.jsx)(af,{value:s,onChange:d,placeholder:"provider-name",mono:!0}),s!==e&&s.trim()&&(0,n.jsx)("button",{onClick:()=>o(s.trim()),style:{marginTop:4,padding:"3px 10px",background:"var(--accent)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:11,alignSelf:"flex-start"},children:a("models_rename")})]}),(0,n.jsx)(ap,{label:a("models_baseUrl"),children:(0,n.jsx)(af,{value:t.baseUrl??"",onChange:e=>c("baseUrl",e||void 0),placeholder:"https://api.example.com/v1",mono:!0})}),(0,n.jsxs)(ap,{label:a("models_apiKey"),children:[(0,n.jsx)(ag,{value:t.apiKey??"",onChange:e=>c("apiKey",e||void 0),placeholder:a("models_apiKeyPlaceholder"),mono:!0}),(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:a("models_apiKeyHint")})]}),(0,n.jsx)(ap,{label:a("models_apiLabel"),children:(0,n.jsx)(am,{value:t.api??"openai-completions",onChange:e=>c("api",e),options:au,required:!0})}),(0,n.jsx)(av,{label:a("models_authHeader"),checked:!0===t.authHeader,onChange:e=>c("authHeader",e||void 0)}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:-8},children:a("models_authHeaderHint")}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ay,{children:a("models_headers")}),(0,n.jsx)("div",{style:{marginTop:8},children:(0,n.jsx)(aj,{value:t.headers,onChange:e=>c("headers",e)})}),t.headersConfigured&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:4},children:a("models_headersHint")})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ay,{children:a("models_compat")}),(0,n.jsxs)("div",{style:{marginTop:8,display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)(ap,{label:a("models_sessionAffinityFormat"),children:(0,n.jsx)(am,{value:"string"==typeof t.compat?.sessionAffinityFormat?String(t.compat.sessionAffinityFormat):"",onChange:e=>c("compat",aR(t.compat,"sessionAffinityFormat",e)),options:aC})}),(0,n.jsx)(aI,{keys:aw,compat:t.compat,onChange:e=>c("compat",e)})]})]})]})}let aM=["off","minimal","low","medium","high","xhigh","max"],aE={off:"var(--text-dim)",minimal:"#6b7280",low:"#60a5fa",medium:"#a78bfa",high:"#f472b6",xhigh:"#fb923c",max:"var(--status-danger)"};function az({value:e,onChange:t}){let{t:r}=(0,es.s9)(),i=e??{},o=(e,r)=>{let n={...i};"omit"===r?delete n[e]:n[e]=r,t(Object.keys(n).length?n:void 0)};return(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:aM.map(e=>{let t=i[e],l=e in i?null===t?"null":"string":"omit",a="string"==typeof t?t:"",s=aE[e],d={padding:"4px 10px",fontSize:10,border:"none",cursor:"pointer",fontWeight:400,transition:"background 0.1s, color 0.1s",whiteSpace:"nowrap",background:"var(--bg-panel)",color:"var(--text-dim)"},c={background:"var(--accent)",color:"#fff",fontWeight:600};return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 4px",borderRadius:6,background:"transparent",border:"1px solid transparent"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,width:68,flexShrink:0},children:[(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:s,flexShrink:0,opacity:"null"===l?.3:1}}),(0,n.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"null"===l?"var(--text-dim)":"var(--text-muted)",textDecoration:"null"===l?"line-through":"none"},children:e})]}),(0,n.jsxs)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",flexShrink:0},children:[(0,n.jsx)("button",{onClick:()=>o(e,"omit"),style:{...d,..."omit"===l?c:{}},children:r("models_default")}),(0,n.jsx)("button",{onClick:()=>o(e,null),style:{...d,borderLeft:"1px solid var(--border)",..."null"===l?{background:"var(--status-danger)",color:"#fff",fontWeight:600}:{}},children:r("models_disabled")})]}),(0,n.jsxs)("div",{style:{display:"flex",borderRadius:5,border:`1px solid ${"string"===l?"var(--accent)":"var(--border)"}`,overflow:"hidden",transition:"border-color 0.1s"},children:[(0,n.jsx)("button",{onClick:()=>o(e,a||e),style:{...d,..."string"===l?c:{},borderRight:"1px solid var(--border)",flexShrink:0},children:r("models_custom")}),(0,n.jsx)("input",{value:a,onChange:t=>o(e,t.target.value),onFocus:()=>{"string"!==l&&o(e,a||e)},placeholder:e,maxLength:10,style:{width:"12ch",background:"string"===l?"var(--bg)":"var(--bg-panel)",border:"none",outline:"none",color:"string"===l?"var(--text)":"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,padding:"4px 7px",transition:"background 0.1s, color 0.1s"}})]})]},e)})})}let aW={thinkingFormat:"deepseek",requiresReasoningContentOnAssistantMessages:!0};function aL({providerName:e,provider:t,model:r,onChange:o,onDelete:l}){let{t:a}=(0,es.s9)(),[s,d]=(0,i.useState)({phase:"idle"}),c=(e,t)=>o({...r,[e]:t}),u=(()=>{if("idle"===s.phase)return null;if("testing"===s.phase)return a("models_testing");let e=[void 0!==s.latencyMs?`${s.latencyMs}ms`:null,void 0!==s.status?`HTTP ${s.status}`:null].filter(Boolean);return"success"===s.phase?[a("models_connected"),...e,s.responseText||null].filter(Boolean).join(" \xb7 "):[a("models_failed"),...e,s.message].filter(Boolean).join(" \xb7 ")})();(0,i.useEffect)(()=>{d({phase:"idle"})},[e,t.baseUrl,t.api,t.apiKey,r.id,r.api]);let p=(0,i.useCallback)(async()=>{if(r.id.trim()&&"testing"!==s.phase){d({phase:"testing"});try{let n=await fetch("/api/models-config/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:e,provider:t,model:r})}),i=await n.json();if(!n.ok||!i.ok)return void d({phase:"error",message:i.error??`HTTP ${n.status}`,latencyMs:i.latencyMs,status:i.status});d({phase:"success",latencyMs:i.latencyMs,status:i.status,responseText:i.responseText})}catch(e){d({phase:"error",message:e instanceof Error?e.message:String(e)})}}},[r,t,e,s.phase]);return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(ay,{children:a("models_model")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[u&&(0,n.jsx)("span",{title:u,style:{maxWidth:260,height:24,padding:"0 8px",border:`1px solid ${"error"===s.phase?"#fecaca":"success"===s.phase?"#bbf7d0":"var(--border)"}`,borderRadius:4,background:"error"===s.phase?"#fee2e2":"success"===s.phase?"#dcfce7":"#e5e7eb",color:"#111827",fontSize:11,display:"inline-flex",alignItems:"center",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",boxSizing:"border-box"},children:u}),(0,n.jsx)(ab,{onClick:p,disabled:!r.id.trim()||"testing"===s.phase,success:"success"===s.phase,error:"error"===s.phase,label:"testing"===s.phase?a("models_testing"):"success"===s.phase?a("models_testAgain"):"error"===s.phase?a("models_testFailedAgain"):a("models_test"),children:"testing"===s.phase?(0,n.jsx)(lP.A,{size:12,className:"animate-spin","aria-hidden":!0}):"success"===s.phase?(0,n.jsx)(tz.A,{size:12,"aria-hidden":!0}):(0,n.jsx)(l$.A,{size:12,"aria-hidden":!0})}),(0,n.jsx)("button",{onClick:l,style:{height:24,padding:"0 8px",background:"none",border:"1px solid var(--status-danger-border)",borderRadius:4,color:"var(--status-danger)",cursor:"pointer",fontSize:11,boxSizing:"border-box"},children:a("common_remove")})]})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,n.jsx)(ap,{label:a("models_id"),children:(0,n.jsx)(af,{value:r.id,onChange:e=>c("id",e),placeholder:"model-id",mono:!0})}),(0,n.jsx)(ap,{label:a("models_nameLabel"),children:(0,n.jsx)(af,{value:r.name??"",onChange:e=>c("name",e||void 0),placeholder:a("models_displayName")})})]}),(0,n.jsx)(ap,{label:a("models_apiOverride"),children:(0,n.jsx)(am,{value:r.api??"",onChange:e=>c("api",e||void 0),options:au})}),(0,n.jsx)(ap,{label:a("models_baseUrlOverride"),children:(0,n.jsx)(af,{value:r.baseUrl??"",onChange:e=>c("baseUrl",e||void 0),placeholder:a("models_baseUrlOverrideHint"),mono:!0})}),(0,n.jsxs)("div",{style:{display:"flex",gap:20,flexWrap:"wrap"},children:[(0,n.jsx)(av,{label:a("models_reasoning"),checked:r.reasoning??!1,onChange:e=>c("reasoning",e||void 0)}),(0,n.jsx)(av,{label:a("models_imageInput"),checked:r.input?.includes("image")??!1,onChange:e=>c("input",e?["text","image"]:["text"])})]}),r.reasoning&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(av,{label:a("models_thinkingCompat"),checked:r.compat?.thinkingFormat==="deepseek",onChange:e=>o(function(e,t){if(t)return{...e,compat:{...e.compat??{},...aW}};if(!e.compat)return e;let r={...e.compat};return delete r.thinkingFormat,delete r.requiresReasoningContentOnAssistantMessages,{...e,compat:Object.keys(r).length?r:void 0}}(r,e))}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[(0,n.jsx)(ay,{children:a("models_thinkingMap")}),r.thinkingLevelMap&&(0,n.jsx)(ab,{label:a("models_clearThinkingMap"),onClick:()=>c("thinkingLevelMap",void 0),children:(0,n.jsx)(lH.A,{size:12,"aria-hidden":!0})})]}),(0,n.jsx)(az,{value:r.thinkingLevelMap,onChange:e=>c("thinkingLevelMap",e)}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:6},children:a("models_thinkingMapHint")})]})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,n.jsx)(ap,{label:a("models_contextWindow"),children:(0,n.jsx)(ax,{value:void 0!==r.contextWindow?String(r.contextWindow):"",onChange:e=>c("contextWindow",e?parseInt(e):void 0),placeholder:"128000"})}),(0,n.jsx)(ap,{label:a("models_maxOutput"),children:(0,n.jsx)(ax,{value:void 0!==r.maxTokens?String(r.maxTokens):"",onChange:e=>c("maxTokens",e?parseInt(e):void 0),placeholder:"16384"})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ay,{children:a("models_cost")}),(0,n.jsx)("div",{style:{marginTop:8,display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gap:8},children:["input","output","cacheRead","cacheWrite"].map(e=>(0,n.jsx)(ap,{label:e,children:(0,n.jsx)(ax,{value:r.cost?.[e]!==void 0?String(r.cost[e]):"",onChange:t=>{let n;return n=parseFloat(t),void o({...r,cost:{...r.cost??{},[e]:isNaN(n)?void 0:n}})},placeholder:"0"})},e))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ay,{children:a("models_headers")}),(0,n.jsx)("div",{style:{marginTop:8},children:(0,n.jsx)(aj,{value:r.headers,onChange:e=>c("headers",e)})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(ay,{children:a("models_compat")}),(0,n.jsxs)("div",{style:{marginTop:8,display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,n.jsx)(ap,{label:a("models_thinkingFormat"),children:(0,n.jsx)(am,{value:"string"==typeof r.compat?.thinkingFormat?String(r.compat.thinkingFormat):"",onChange:e=>c("compat",aR(r.compat,"thinkingFormat",e)),options:aS})}),(0,n.jsx)(ap,{label:a("models_maxTokensField"),children:(0,n.jsx)(am,{value:"string"==typeof r.compat?.maxTokensField?String(r.compat.maxTokensField):"",onChange:e=>c("compat",aR(r.compat,"maxTokensField",e)),options:a_})})]}),(0,n.jsx)(ap,{label:a("models_sessionAffinityFormat"),children:(0,n.jsx)(am,{value:"string"==typeof r.compat?.sessionAffinityFormat?String(r.compat.sessionAffinityFormat):"",onChange:e=>c("compat",aR(r.compat,"sessionAffinityFormat",e)),options:aC})}),(0,n.jsx)(aI,{keys:ak,compat:r.compat,onChange:e=>c("compat",e)})]})]})]})}function aA({provider:e,onRefresh:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)({phase:"idle"}),[a,s]=(0,i.useState)(""),d=(0,i.useRef)(null),c=(0,i.useRef)(null);(0,i.useEffect)(()=>{("auth"===o.phase||"prompt"===o.phase)&&setTimeout(()=>c.current?.focus(),50)},[o.phase]),(0,i.useEffect)(()=>{l({phase:"idle"}),s(""),d.current?.close(),d.current=null},[e.id]),(0,i.useEffect)(()=>()=>{d.current?.close()},[]);let u=(0,i.useCallback)(()=>{d.current?.close(),l({phase:"connecting"}),s("");let n=new EventSource(`/api/auth/login/${encodeURIComponent(e.id)}`);d.current=n,n.onmessage=e=>{let r=JSON.parse(e.data);"auth"===r.type?(l({phase:"auth",url:r.url,instructions:r.instructions??null,token:r.token}),window.open(r.url,"_blank","noopener,noreferrer")):"device_code"===r.type?(l({phase:"device_code",userCode:r.userCode,verificationUri:r.verificationUri,intervalSeconds:r.intervalSeconds??null,expiresInSeconds:r.expiresInSeconds??null}),window.open(r.verificationUri,"_blank","noopener,noreferrer")):"prompt_request"===r.type?l({phase:"prompt",message:r.message,placeholder:r.placeholder??null,token:r.token}):"select_request"===r.type?l({phase:"select",message:r.message,options:r.options??[],token:r.token}):"progress"===r.type?l({phase:"progress",message:r.message}):"success"===r.type?(n.close(),l({phase:"success"}),t()):"error"===r.type?(n.close(),l({phase:"error",message:r.message})):"cancelled"===r.type&&(n.close(),l({phase:"idle"}))},n.onerror=()=>{n.close(),l(e=>"success"===e.phase?e:{phase:"error",message:r("oauth_connectionLost")})}},[e.id,t,r]),p=(0,i.useCallback)(async()=>{await fetch(`/api/auth/logout/${encodeURIComponent(e.id)}`,{method:"POST"}),l({phase:"idle"}),t()},[e.id,t]),h=(0,i.useCallback)(async(t,n)=>{if(n.trim()){l({phase:"progress",message:r("oauth_verifying")});try{let r=await fetch(`/api/auth/login/${encodeURIComponent(e.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t,code:n.trim()})});if(!r.ok){let e=await r.json().catch(()=>({}));l({phase:"error",message:e.error??`Server error ${r.status}`});return}s("")}catch(e){l({phase:"error",message:e instanceof Error?e.message:r("oauth_networkError")})}}},[e.id,r]),f=(0,i.useCallback)(async(t,n)=>{l({phase:"progress",message:r("oauth_continuing")});try{let r=await fetch(`/api/auth/login/${encodeURIComponent(e.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t,code:n})});if(!r.ok){let e=await r.json().catch(()=>({}));l({phase:"error",message:e.error??`Server error ${r.status}`})}}catch(e){l({phase:"error",message:e instanceof Error?e.message:r("oauth_networkError")})}},[e.id,r]),g="connecting"===o.phase||"progress"===o.phase||"auth"===o.phase||"device_code"===o.phase||"prompt"===o.phase||"select"===o.phase;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(ay,{children:r("models_subscription")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e.loggedIn?"var(--status-success)":"var(--border)",display:"inline-block"}}),(0,n.jsx)("span",{style:{fontSize:11,color:e.loggedIn?"var(--status-success)":"var(--text-dim)"},children:e.loggedIn?r("models_subscriptionStatus"):r("models_subscriptionNotConnected")})]})]}),(0,n.jsxs)("div",{style:{minHeight:48},children:["idle"===o.phase&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:e.loggedIn?r("models_alreadyConnected"):r("models_connectAccount",{provider:e.name})}),"connecting"===o.phase&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:r("models_openingBrowser")}),"select"===o.phase&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:o.message}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:o.options.map(e=>(0,n.jsx)("button",{onClick:()=>f(o.token,e.id),style:{padding:"6px 9px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",cursor:"pointer",fontSize:12,textAlign:"left"},children:e.label},e.id))})]}),("auth"===o.phase||"prompt"===o.phase)&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:"auth"===o.phase?r("models_redirectInstructions"):o.message}),"auth"===o.phase&&(0,n.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[r("models_browserNotOpened")," ",(0,n.jsx)("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:r("models_openLoginPage")}),"."]}),(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{ref:c,value:a,onChange:e=>s(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(o.token,a)},placeholder:"auth"===o.phase?"http://localhost:1455/auth/callback?code=…":o.placeholder??r("models_enterValue"),style:{flex:1,padding:"6px 9px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",fontSize:12,outline:"none",fontFamily:"var(--font-mono)",boxSizing:"border-box"}}),(0,n.jsx)("button",{onClick:()=>h(o.token,a),disabled:!a.trim(),style:{padding:"6px 12px",background:a.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:a.trim()?"#fff":"var(--text-dim)",cursor:a.trim()?"pointer":"not-allowed",fontSize:12,fontWeight:600,flexShrink:0},children:r("models_submit")})]})]}),"device_code"===o.phase&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:r("models_verifyPage")}),(0,n.jsx)("div",{style:{padding:"8px 10px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5,color:"var(--text)",fontSize:16,fontWeight:700,fontFamily:"var(--font-mono)",letterSpacing:0},children:o.userCode}),(0,n.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[(0,n.jsx)("a",{href:o.verificationUri,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:o.verificationUri}),o.expiresInSeconds?` ${r("models_expiresIn",{minutes:Math.ceil(o.expiresInSeconds/60)})}`:""]})]}),"progress"===o.phase&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:o.message}),"success"===o.phase&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--status-success)"},children:r("models_connectedSuccessfully")}),"error"===o.phase&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--status-danger)"},children:o.message})]}),(0,n.jsx)("div",{style:{display:"flex",gap:8},children:g?(0,n.jsx)("button",{onClick:()=>{d.current?.close(),l({phase:"idle"})},style:{padding:"5px 12px",background:"none",border:"1px solid var(--border)",borderRadius:5,color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:r("models_cancel")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:u,style:{padding:"5px 14px",background:"var(--accent)",border:"none",borderRadius:5,color:"#fff",cursor:"pointer",fontSize:12,fontWeight:600},children:e.loggedIn?r("models_relogin"):r("models_login")}),e.loggedIn&&(0,n.jsx)("button",{onClick:p,style:{padding:"5px 12px",background:"none",border:"1px solid var(--status-danger-border)",borderRadius:5,color:"var(--status-danger)",cursor:"pointer",fontSize:12},children:r("models_disconnect")})]})})]})}function aP({provider:e,onRefresh:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(""),[a,s]=(0,i.useState)(!1),[d,c]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1);(0,i.useEffect)(()=>{l(""),p(null),f(!1)},[e.id]);let g=(0,i.useCallback)(async()=>{if(o.trim()){s(!0),p(null),f(!1);try{let r=await fetch(`/api/auth/api-key/${encodeURIComponent(e.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:o.trim()})}),n=await r.json();!r.ok||n.error?p(n.error??`HTTP ${r.status}`):(l(""),f(!0),setTimeout(()=>f(!1),2e3),t())}catch(e){p(String(e))}finally{s(!1)}}},[o,e.id,t]),x=(0,i.useCallback)(async()=>{c(!0),p(null);try{let r=await fetch(`/api/auth/api-key/${encodeURIComponent(e.id)}`,{method:"DELETE"}),n=await r.json();!r.ok||n.error?p(n.error??`HTTP ${r.status}`):t()}catch(e){p(String(e))}finally{c(!1)}},[e.id,t]);return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(ay,{children:r("models_apiKey")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e.configured?"var(--status-success)":"var(--border)",display:"inline-block"}}),(0,n.jsx)("span",{style:{fontSize:11,color:e.configured?"var(--status-success)":"var(--text-dim)"},children:r(e.configured?"models_configured":"models_notConfigured")})]})]}),(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:e.configured?r("models_keyStored"):r("models_enableModels",{provider:e.displayName,count:e.modelCount})}),(0,n.jsx)(ap,{label:r("models_apiKey"),children:(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)(ag,{value:o,onChange:l,onKeyDown:e=>{"Enter"===e.key&&o.trim()&&g()},placeholder:e.configured?r("models_enterNewKey"):"sk-…",style:{flex:1},autoComplete:"off",spellCheck:!1,mono:!0}),(0,n.jsxs)("button",{onClick:g,disabled:a||!o.trim()||h,style:{padding:"6px 12px",background:h?"var(--status-success)":o.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:o.trim()||h?"#fff":"var(--text-dim)",cursor:a||!o.trim()||h?"not-allowed":"pointer",fontSize:12,fontWeight:600,flexShrink:0,display:"flex",alignItems:"center",gap:5},children:[h&&(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),r(h?"common_saved":a?"models_saving":"common_save")]})]})}),u&&(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--status-danger)"},children:u}),e.configured&&(0,n.jsx)("button",{onClick:x,disabled:d,style:{alignSelf:"flex-start",padding:"5px 12px",background:"none",border:"1px solid var(--status-danger-border)",borderRadius:5,color:"var(--status-danger)",cursor:d?"not-allowed":"pointer",fontSize:12},children:r(d?"models_removing":"models_disconnect")})]})}function a$({id:e,size:t}){let r=ac[e];if(!r){let r=e.split(/[-_]/).filter(Boolean).slice(0,2).map(e=>e[0]).join("").toUpperCase()||"?";return(0,n.jsx)("span",{"aria-hidden":"true",style:{width:t,height:t,border:"1px solid var(--border)",borderRadius:4,color:"var(--text-dim)",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontSize:Math.max(8,Math.floor(.42*t)),fontWeight:700,lineHeight:1},children:r})}return r.hasColor?(0,n.jsx)(r.Icon,{size:t}):(0,n.jsx)(r.Icon,{size:t,style:{color:"var(--text-muted)"}})}function aH({oauthProviders:e,apiKeyProviders:t,onSelectOAuth:r,onSelectApiKey:o,onAddCustom:l,onClose:a,loading:s=!1,embedded:d=!1}){let{t:c}=(0,es.s9)(),[u,p]=(0,i.useState)(""),h=(0,i.useRef)(null);(0,i.useEffect)(()=>{setTimeout(()=>h.current?.focus(),30)},[]);let f=u.trim().toLowerCase(),g=e.filter(e=>!e.loggedIn&&(!f||e.name.toLowerCase().includes(f))),x=t.filter(e=>!e.configured&&(!f||e.displayName.toLowerCase().includes(f)||e.id.toLowerCase().includes(f))),m=!f||"custom".includes(f)||"openai-compatible".includes(f)||"anthropic-compatible".includes(f),v=g.length+x.length+ +!!m,y={display:"flex",flexDirection:"row",alignItems:"center",gap:8,padding:"10px 12px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:7,boxSizing:"border-box",cursor:"pointer",minWidth:0,textAlign:"left",transition:"border-color 0.12s, background 0.12s",width:"100%"};return(0,n.jsx)("div",{style:d?{position:"absolute",inset:0,zIndex:10,background:"rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"center"}:{position:"fixed",inset:0,zIndex:1100,background:"rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:e=>{e.target===e.currentTarget&&a()},children:(0,n.jsxs)("div",{style:{width:820,maxWidth:"calc(100vw - 32px)",maxHeight:"min(72vh, calc(100vh - 32px))",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:10,display:"flex",flexDirection:"column",boxShadow:"0 8px 32px rgba(0,0,0,0.22)",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{padding:"10px 14px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",alignItems:"center",gap:8},children:[(0,n.jsxs)("button",{type:"button",onClick:a,"aria-label":c("common_back"),style:{display:"inline-flex",alignItems:"center",gap:4,flexShrink:0,minHeight:28,padding:"0 8px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),c("common_back")]}),(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--text-dim)",flexShrink:0},"aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,n.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,n.jsx)("input",{ref:h,value:u,onChange:e=>p(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),a())},placeholder:c("models_searchProviders"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:13,boxSizing:"border-box"}})]}),(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:14},children:s?(0,n.jsx)("div",{style:{padding:"20px 0",fontSize:12,color:"var(--text-muted)",textAlign:"center"},children:c("common_loading")}):0===v?(0,n.jsx)("div",{style:{padding:"20px 0",fontSize:12,color:"var(--text-dim)",textAlign:"center"},children:c("models_noProviders")}):(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(min(240px, 100%), 1fr))",gap:8},children:[m&&(0,n.jsx)("div",{style:{gridColumn:"1 / -1",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:c("models_custom")}),m&&(0,n.jsxs)("button",{onClick:()=>{l(),a()},style:y,onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c("models_compatible")}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:c("models_customEndpoint")})]}),(0,n.jsx)("span",{style:{width:26,height:26,borderRadius:5,background:"var(--bg-hover)",border:"1px dashed var(--border)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--text-dim)"},children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}),g.length>0&&(0,n.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*!!m,fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:c("models_subscriptions")}),g.map(e=>(0,n.jsxs)("button",{onClick:()=>{r(e.id),a()},style:y,onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:"OAuth"})]}),(0,n.jsx)(a$,{id:e.id,size:28})]},e.id)),x.length>0&&(0,n.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*(g.length>0),fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:c("models_apiKey")}),x.map(e=>(0,n.jsxs)("button",{onClick:()=>{o(e.id),a()},style:y,onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.displayName}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:c("models_authRequiredToViewModels")})]}),(0,n.jsx)(a$,{id:e.id,size:28})]},e.id))]})})]})})}function aD({onClose:e,embedded:t=!1,onAuthStateChange:r}){let{t:o}=(0,es.s9)(),l=n7(),[a,s]=(0,i.useState)("basic"),[d,c]=(0,i.useState)({providers:{}}),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!0),[g,x]=(0,i.useState)(!1),[m,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(!1),[j,w]=(0,i.useState)(null),[k,S]=(0,i.useState)([]),[C,_]=(0,i.useState)([]),[R,I]=(0,i.useState)(!1),[T,M]=(0,i.useState)(!0),[E,z]=(0,i.useState)(!0),W=(0,i.useCallback)(()=>{M(!0),fetch("/api/auth/providers").then(e=>e.json()).then(e=>S(e.providers)).catch(()=>{}).finally(()=>M(!1))},[]),L=(0,i.useCallback)(()=>{z(!0),fetch("/api/auth/all-providers").then(e=>e.json()).then(e=>_(e.providers)).catch(()=>{}).finally(()=>z(!1))},[]);(0,i.useEffect)(()=>{fetch("/api/models-config").then(e=>e.json()).then(e=>{let{baseline:t,...r}=e,n=r.providers?r:{...r,providers:{}};c(n),p(t??null);let i=Object.keys(n.providers??{});i.length>0&&!l&&w({type:"provider",name:i[0]})}).catch(()=>{c({providers:{}}),p(null)}).finally(()=>f(!1)),W(),L()},[W,L]),(0,i.useEffect)(()=>{if("basic"!==a)return;let e=!1;return fetch("/api/models-config").then(e=>e.json()).then(t=>{if(e)return;let{baseline:r,...n}=t;c(n.providers?n:{...n,providers:{}}),r&&p(r)}).catch(()=>void 0),()=>{e=!0}},[a]);let A=(0,i.useCallback)(()=>{W(),L(),r?.()},[W,L,r]),P=(0,i.useCallback)(()=>{let e="new-provider",t=1;for(;d.providers?.[e];)e=`new-provider-${t++}`;c(t=>({...t,providers:{...t.providers??{},[e]:{api:"openai-completions"}}})),w({type:"provider",name:e})},[d.providers]),$=(0,i.useCallback)((e,t)=>{c(r=>({...r,providers:{...r.providers??{},[e]:t}}))},[]),H=(0,i.useCallback)((e,t)=>{c(r=>{let n=Object.entries(r.providers??{}),i=n.findIndex(([t])=>t===e);return -1===i?r:(n[i]=[t,n[i][1]],{...r,providers:Object.fromEntries(n)})}),w(r=>r?"provider"===r.type&&r.name===e?{type:"provider",name:t}:"model"===r.type&&r.providerName===e?{...r,providerName:t}:r:r)},[]),D=(0,i.useCallback)(e=>{c(t=>{let r={...t.providers??{}};return delete r[e],{...t,providers:r}}),c(e=>{let t=Object.keys(e.providers??{});return w(t.length>0?{type:"provider",name:t[0]}:null),e})},[]),F=(0,i.useCallback)(e=>{c(t=>{let r=t.providers?.[e]??{},n=[...r.models??[],{id:""}];return{...t,providers:{...t.providers??{},[e]:{...r,models:n}}}}),c(t=>{let r=(t.providers?.[e]?.models?.length??1)-1;return w({type:"model",providerName:e,index:r}),t})},[]),N=(0,i.useCallback)((e,t,r)=>{c(n=>{let i=n.providers?.[e]??{},o=[...i.models??[]];return o[t]=r,{...n,providers:{...n.providers??{},[e]:{...i,models:o}}}})},[]),B=(0,i.useCallback)((e,t)=>{c(r=>{let n=r.providers?.[e]??{},i=[...n.models??[]];return i.splice(t,1),{...r,providers:{...r.providers??{},[e]:{...n,models:i.length?i:void 0}}}}),w({type:"provider",name:e})},[]),O=(0,i.useCallback)(async()=>{x(!0),v(null),b(!1);try{let e=await fetch("/api/models-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,baseline:u})}),t=await e.json();!e.ok||t.error?v(t.error??`HTTP ${e.status}`):(b(!0),t.baseline&&p(t.baseline),setTimeout(()=>b(!1),2e3))}catch(e){v(String(e))}finally{x(!1)}},[d,u]),U=Object.entries(d.providers??{}),q=k.filter(e=>e.loggedIn),K=C.filter(e=>e.configured),V=(()=>{if(!j)return null;if("oauth"===j.type){if(T)return(0,n.jsx)("div",{style:{padding:20,fontSize:12,color:"var(--text-muted)"},children:o("common_loading")});let e=k.find(e=>e.id===j.providerId);return e?(0,n.jsx)(aA,{provider:e,onRefresh:A},e.id):null}if("apikey"===j.type){if(E)return(0,n.jsx)("div",{style:{padding:20,fontSize:12,color:"var(--text-muted)"},children:o("common_loading")});let e=C.find(e=>e.id===j.providerId);return e?(0,n.jsx)(aP,{provider:e,onRefresh:A},e.id):null}if("provider"===j.type){let e=d.providers?.[j.name];return e?(0,n.jsx)(aT,{name:j.name,provider:e,onChange:e=>$(j.name,e),onRename:e=>H(j.name,e),onDelete:()=>D(j.name)},j.name):null}let e=d.providers?.[j.providerName],t=e?.models?.[j.index];return t?(0,n.jsx)(aL,{providerName:j.providerName,provider:e,model:t,onChange:e=>N(j.providerName,j.index,e),onDelete:()=>B(j.providerName,j.index)},`${j.providerName}-${j.index}`):null})();return(0,n.jsxs)("div",{style:t?{position:"relative",display:"flex",flexDirection:"column",height:"100%",minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:t?void 0:t=>{t.target===t.currentTarget&&e()},children:[(0,n.jsxs)("div",{style:t?{display:"flex",flexDirection:"column",height:"100%",minHeight:0,background:"var(--bg)",overflow:"hidden"}:{width:l?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:l?"calc(100dvh - 16px)":"78vh",maxHeight:"calc(100dvh - 16px)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:10,display:"flex",flexDirection:"column",boxShadow:"0 8px 32px rgba(0,0,0,0.18)",overflow:"hidden"},children:[!t&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:o("models_modelsTitle")}),(0,n.jsx)("button",{onClick:e,style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,n.jsxs)("div",{style:{flexShrink:0,padding:"12px 16px 0",display:"flex",gap:8,flexWrap:"wrap",borderBottom:"json"===a?"none":void 0},children:[(0,n.jsx)("button",{type:"button",onClick:()=>s("basic"),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:"basic"===a?"var(--bg-selected)":"var(--bg-panel)",color:"basic"===a?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:"basic"===a?600:400},"aria-current":"basic"===a?"page":void 0,children:o("defaults_basicTab")}),(0,n.jsx)("button",{type:"button",onClick:()=>s("json"),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:"json"===a?"var(--bg-selected)":"var(--bg-panel)",color:"json"===a?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:"json"===a?600:400},"aria-current":"json"===a?"page":void 0,children:o("defaults_jsonTab")})]}),"json"===a?(0,n.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column"},children:(0,n.jsx)(lO,{stickyFooter:!0,onClose:e,apiPath:"/api/models-config/raw",fixedHint:"~/.pi/agent/models.json",titleLabel:o("defaults_jsonTab"),fileLabel:"models.json"})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:l?"column":"row",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{width:l?"100%":210,maxHeight:l?"40vh":void 0,borderRight:l?"none":"1px solid var(--border)",borderBottom:l?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:[(T||E)&&(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:o("common_loading")}),q.map(e=>{let t=j?.type==="oauth"&&j.providerId===e.id;return(0,n.jsxs)("div",{onClick:()=>w({type:"oauth",providerId:e.id}),style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:t?"var(--bg-selected)":"none"},onMouseEnter:e=>{t||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{t||(e.currentTarget.style.background="none")},children:[(0,n.jsx)(a$,{id:e.id,size:16}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.id)}),K.map(e=>{let t=j?.type==="apikey"&&j.providerId===e.id;return(0,n.jsxs)("div",{onClick:()=>w({type:"apikey",providerId:e.id}),style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:t?"var(--bg-selected)":"none"},onMouseEnter:e=>{t||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{t||(e.currentTarget.style.background="none")},children:[(0,n.jsx)(a$,{id:e.id,size:16}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.displayName})]},e.id)}),(q.length>0||K.length>0)&&U.length>0&&(0,n.jsx)("div",{style:{margin:"4px 8px",borderTop:"1px solid var(--border)"}}),h?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:o("common_loading")}):U.map(([e,t])=>{let r=j?.type==="provider"&&j.name===e,i=t.models??[];return(0,n.jsxs)("div",{style:{marginBottom:2},children:[(0,n.jsxs)("div",{onClick:()=>w({type:"provider",name:e}),style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,cursor:"pointer",background:r?"var(--bg-selected)":"none"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="none")},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--text-dim)",flexShrink:0},children:[(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,n.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"}),(0,n.jsx)("line",{x1:"9",y1:"1",x2:"9",y2:"4"}),(0,n.jsx)("line",{x1:"15",y1:"1",x2:"15",y2:"4"}),(0,n.jsx)("line",{x1:"9",y1:"20",x2:"9",y2:"23"}),(0,n.jsx)("line",{x1:"15",y1:"20",x2:"15",y2:"23"}),(0,n.jsx)("line",{x1:"20",y1:"9",x2:"23",y2:"9"}),(0,n.jsx)("line",{x1:"20",y1:"14",x2:"23",y2:"14"}),(0,n.jsx)("line",{x1:"1",y1:"9",x2:"4",y2:"9"}),(0,n.jsx)("line",{x1:"1",y1:"14",x2:"4",y2:"14"})]}),(0,n.jsx)("span",{style:{fontSize:12,fontWeight:r?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]}),i.map((t,r)=>{var i;let l=j?.type==="model"&&j.providerName===e&&j.index===r;return(0,n.jsxs)("div",{onClick:()=>w({type:"model",providerName:e,index:r}),style:{display:"flex",alignItems:"center",gap:6,padding:"5px 8px 5px 26px",borderRadius:5,cursor:"pointer",background:l?"var(--bg-selected)":"none"},onMouseEnter:e=>{l||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{l||(e.currentTarget.style.background="none")},children:[(0,n.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:t.id?"var(--text-muted)":"var(--text-dim)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.id||o("models_newModel")}),"number"==typeof t.contextWindow&&Number.isFinite(t.contextWindow)?(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",flexShrink:0},children:(i=t.contextWindow)>=1e6?`${(i/1e6).toFixed(+(i%1e6!=0))}M`:i>=1e3?`${Math.round(i/1e3)}k`:String(i)}):null]},r)}),(0,n.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),F(e)},"aria-label":o("models_addModel",{provider:e}),title:o("models_addModel",{provider:e}),style:{display:"flex",alignItems:"center",width:"100%",padding:"4px 8px 4px 26px",borderRadius:5,border:"none",background:"none",cursor:"pointer",color:"var(--text-dim)",boxSizing:"border-box"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(iE.A,{size:13,"aria-hidden":!0})})]},e)})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 6px"},children:(0,n.jsx)("button",{type:"button",onClick:()=>I(!0),"aria-label":o("models_addProvider"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",minHeight:30,padding:"0 8px",borderRadius:7,border:"1px solid var(--border)",background:R?"var(--bg-selected)":"var(--bg-panel)",color:R?"var(--accent)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:500},children:o("models_addProvider")})})]}),(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:h?null:V??(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:o("models_selectDetail")})})]}),(0,n.jsx)(lB,{fixedHint:"~/.pi/agent/models.json",dynamicHint:m?(0,n.jsx)("span",{style:{color:"var(--status-danger)"},children:m}):y?(0,n.jsx)("span",{style:{color:"var(--accent)"},children:o("common_saved")}):null,onClose:e,children:(0,n.jsx)("button",{type:"button",onClick:O,disabled:g||y,style:lD(!(g||y)),children:y?o("common_saved"):g?o("models_saving"):o("common_save")})})]})]}),R&&(0,n.jsx)(aH,{oauthProviders:k,apiKeyProviders:C,onSelectOAuth:e=>w({type:"oauth",providerId:e}),onSelectApiKey:e=>w({type:"apikey",providerId:e}),onAddCustom:P,onClose:()=>I(!1),loading:T||E,embedded:t})]})}var aF=r(25344),aN=r(68459);function aB(e){let t=e.sourceInfo?.source,r=e.sourceInfo?.scope;return"user"===r||"user"===t?"global":"project"===r||"project"===t?"project":"path"}function aO(e){return e.install?`${e.install.scope}\0${e.install.package}`:null}function aU(e){return e?e.slice(0,8):null}function aq({enabled:e,loading:t,onToggle:r}){let{t:i}=(0,es.s9)();return(0,n.jsx)("button",{onClick:r,disabled:t,title:i(e?"skills_visible":"skills_hidden"),style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:t?"wait":"pointer",background:e?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none"},children:(0,n.jsx)("span",{style:{position:"absolute",top:3,left:e?21:3,width:16,height:16,borderRadius:"50%",background:"var(--bg)",boxShadow:"0 1px 4px rgba(0,0,0,0.22)",transition:"left 0.18s cubic-bezier(.4,0,.2,1)"}})})}function aK({skill:e,cwd:t,onToggle:r,toggling:i,saveError:o,updateStatus:l,updating:a,updateError:s,onUpdate:d,onRemove:c,locked:u,onToggleLock:p}){let{t:h}=(0,es.s9)(),f=aB(e),g=!e.disableModelInvocation,x=!!e.install?.canCheckForUpdates,m=l?.state==="update-available",v=(()=>{let t=aU(l?.currentVersion??e.install?.versionHash)??h("skills_unknownVersion");if(m){let e=aU(l?.latestVersion)??"?";return`${t} → ${e}`}return t})();return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flex:1},children:[(0,n.jsx)(aq,{enabled:g,loading:i,onToggle:()=>r(e)}),(0,n.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===f?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===f?"rgba(99,102,241,0.8)":"var(--text-dim)"},children:"global"===f?h("common_global"):"project"===f?h("common_project"):h("skills_path")}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:13,color:"var(--text)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[x&&(0,n.jsxs)("label",{title:h("skills_lockVersionHint"),style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer",padding:"4px 6px",borderRadius:6,border:"1px solid var(--border)"},children:[(0,n.jsx)("input",{type:"checkbox",checked:u,onChange:p}),h("skills_lockVersion")]}),m&&!u&&(0,n.jsx)("button",{type:"button",onClick:d,disabled:a,title:a?h("skills_updating"):h("skills_update"),"aria-label":a?h("skills_updating"):h("skills_update"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--accent)",cursor:a?"not-allowed":"pointer"},children:a?(0,n.jsx)(lP.A,{size:13,className:"animate-spin","aria-hidden":!0}):(0,n.jsx)(aF.A,{size:13,"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",onClick:()=>{window.confirm(h("skills_confirmRemove",{name:e.name}))&&c()},disabled:i||a,title:h("common_remove"),"aria-label":h("common_remove"),style:lN(!(i||a)),children:(0,n.jsx)(aN.A,{size:13,"aria-hidden":!0})})]})]}),e.description&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:e.description}),e.install&&(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(72px, 100px) minmax(0, 1fr)",gap:"8px 12px",fontSize:12},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:h("common_version")}),(0,n.jsx)("div",{style:{color:m?"var(--status-warning)":"var(--text-muted)",fontFamily:"var(--font-mono)"},children:v}),e.install.package&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:h("plugins_package")}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.install.package})]})]}),(o||s)&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)"},children:o||s})]})}function aV({cwd:e,installedPackages:t,onInstalled:r}){let{t:o}=(0,es.s9)(),[l,a]=(0,i.useState)(""),[s,d]=(0,i.useState)([]),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(null),[x,m]=(0,i.useState)(null),[v,y]=(0,i.useState)(new Set),[b,j]=(0,i.useState)("global"),w=(0,i.useRef)(null);(0,i.useEffect)(()=>{w.current?.focus()},[]);let k=(0,i.useCallback)(async e=>{if(e.trim()){u(!0),h(null),d([]);try{let t=await fetch("/api/skills/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e.trim()})}),r=await t.json();if(r.error)return void h(r.error);d(r.results??[]),0===(r.results??[]).length&&h(o("skills_noResults"))}catch(e){h(String(e))}finally{u(!1)}}},[o]),S=(0,i.useCallback)(async t=>{g(t),m(null);try{let n=await fetch("/api/skills/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({package:t,scope:b,cwd:e})}),i=await n.json();if(!n.ok||i.error)return void m(i.error??`HTTP ${n.status}`);y(e=>new Set(e).add(`${b}:${t}`)),r()}catch(e){m(String(e))}finally{g(null)}},[r,b,e]),C="global"===b?"~/.pi/agent/skills/":`${ro(e)}/.pi/skills/`;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,marginBottom:20},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:o("skills_add")}),(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("input",{ref:w,value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"===e.key&&k(l)},placeholder:"e.g. react, testing, deploy",style:{flex:1,padding:"7px 10px",fontSize:13,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",outline:"none"}}),(0,n.jsx)("button",{onClick:()=>k(l),disabled:c||!l.trim(),style:{padding:"7px 16px",fontSize:13,borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",cursor:c||!l.trim()?"not-allowed":"pointer",opacity:c||!l.trim()?.5:1,flexShrink:0},children:c?o("skills_searching"):o("common_search")})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsx)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",fontSize:12,flexShrink:0},children:["global","project"].map(e=>(0,n.jsx)("button",{onClick:()=>j(e),style:{padding:"3px 10px",border:"none",cursor:"pointer",background:b===e?"var(--bg-selected)":"none",color:b===e?"var(--text)":"var(--text-dim)",fontWeight:b===e?600:400,borderRight:"global"===e?"1px solid var(--border)":"none"},children:"global"===e?o("common_global"):o("common_project")},e))}),(0,n.jsxs)("span",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["→ ",C]})]}),p&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)"},children:p}),x&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",wordBreak:"break-word"},children:x})]}),s.length>0?(0,n.jsx)("div",{style:{flex:1,overflowY:"auto"},children:s.map(e=>{let r=t[b].has(e.package)||v.has(`${b}:${e.package}`),i=f===e.package,l=e.package.indexOf("@"),a=l>-1?e.package.slice(0,l):e.package,s=l>-1?e.package.slice(l+1):null;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"12px 0",borderBottom:"1px solid var(--border)"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)",marginBottom:3},children:s??a}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)"},children:a}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:e.installs}),e.url&&(0,n.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",style:{fontSize:12,color:"var(--accent)",textDecoration:"none"},children:"skills.sh ↗"})]})]}),(0,n.jsx)("button",{onClick:()=>!r&&!i&&S(e.package),disabled:r||i||null!==f,style:{flexShrink:0,padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:5,border:"1px solid var(--border)",cursor:r||i||null!==f?"not-allowed":"pointer",background:r?"var(--status-success-bg)":"none",color:r?"var(--status-success)":i?"var(--accent)":"var(--text-muted)",transition:"color 0.12s"},children:r?`✓ ${o("skills_installed")}`:i?o("skills_installing"):o("common_install")})]},e.package)})}):!p&&!c&&(0,n.jsxs)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.8},children:[o("skills_discoverPrefix")," ",(0,n.jsx)("a",{href:"https://skills.sh",target:"_blank",rel:"noreferrer",style:{color:"var(--accent)",textDecoration:"none"},children:"skills.sh"})," ",o("skills_discoverSuffix")]})]})}function aJ({cwd:e,onClose:t,embedded:r=!1,globalOnly:o=!1}){let{t:l}=(0,es.s9)(),a=n7(),[s,d]=(0,i.useState)([]),[c,u]=(0,i.useState)(!0),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(null),[x,m]=(0,i.useState)(new Set),[v,y]=(0,i.useState)(null),[b,j]=(0,i.useState)(!1),w=b||null!==f,[k,S]=(0,i.useState)({}),[C,_]=(0,i.useState)(new Set),[R,I]=(0,i.useState)(!1),[T,M]=(0,i.useState)(null),[E,z]=(0,i.useState)(null),[W,L]=(0,i.useState)(()=>{let e=(0,X.b3)("skillLocks");return e&&"object"==typeof e?{...e}:{}}),A=(0,i.useCallback)(e=>{L(t=>{let r={...t,[e]:!t[e]};return(0,X.dM)("skillLocks",r),r})},[]),P=(0,i.useCallback)(async()=>{u(!0),h(null);try{let t=await fetch(`/api/skills?cwd=${encodeURIComponent(e)}`),r=await t.json();if(!t.ok||r.error)throw Error(r.error??`HTTP ${t.status}`);let n=(r.skills??[]).filter(e=>!o||e.sourceInfo?.scope!=="project");return d(n),!(n.length>0)||f||a||g(n[0].filePath),n}catch(e){return h(String(e)),[]}finally{u(!1)}},[e,f]);(0,i.useEffect)(()=>{S({}),z(null),P()},[e]);let $=(0,i.useCallback)(async t=>{let r=(t?[t]:s.filter(e=>{if(!e.install)return!1;let t=aO(e);return!!t&&!W[t]})).map(aO).filter(e=>!!e);if(0!==r.length){z(null),_(e=>new Set([...e,...r])),t||I(!0);try{let r=await fetch("/api/skills/check",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,package:t?.install?.package,scope:t?.install?.scope})}),n=await r.json();if(!r.ok||n.error)throw Error(n.error??`HTTP ${r.status}`);S(e=>{let t={...e};for(let e of n.updates??[])t[`${e.scope}\0${e.package}`]=e;return t})}catch(e){z(e instanceof Error?e.message:String(e))}finally{_(e=>{let t=new Set(e);for(let e of r)t.delete(e);return t}),t||I(!1)}}},[e,s,W]),H=(0,i.useCallback)(async t=>{if(!t.install)return;let r=aO(t);M(r),z(null);try{let n=await fetch("/api/skills/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,package:t.install.package,scope:t.install.scope})}),i=await n.json();if(!n.ok||i.error||!i.success)throw Error(i.error??`HTTP ${n.status}`);await P();let o=i.skill?.install?.versionHash;S(e=>({...e,[r]:{package:t.install.package,scope:t.install.scope,state:"up-to-date",currentVersion:o,latestVersion:o}}))}catch(e){z(e instanceof Error?e.message:String(e))}finally{M(null)}},[e,P]),D=(0,i.useCallback)(async t=>{y(null);try{let r=await fetch("/api/skills",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,filePath:t.filePath})}),n=await r.json();if(!r.ok||n.error)throw Error(n.error??`HTTP ${r.status}`);g(null),await P()}catch(e){y(e instanceof Error?e.message:String(e))}},[e,P]),F=(0,i.useCallback)(async t=>{let r=!t.disableModelInvocation;m(e=>new Set(e).add(t.filePath)),y(null);try{let n=await fetch("/api/skills",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,filePath:t.filePath,disableModelInvocation:r})}),i=await n.json();if(!n.ok||i.error)return void y(i.error??`HTTP ${n.status}`);d(e=>e.map(e=>e.filePath===t.filePath?{...e,disableModelInvocation:r}:e))}catch(e){y(String(e))}finally{m(e=>{let r=new Set(e);return r.delete(t.filePath),r})}},[]),N=s.find(e=>e.filePath===f)??null;return(0,n.jsx)("div",{style:r?{position:"relative",display:"flex",flexDirection:"column",height:"100%",minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:r?void 0:e=>{e.target===e.currentTarget&&t()},children:(0,n.jsxs)("div",{style:r?{display:"flex",flexDirection:"column",height:"100%",minHeight:0,background:"var(--bg)",overflow:"hidden"}:{width:a?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:a?"calc(100dvh - 16px)":"78vh",maxHeight:"calc(100dvh - 16px)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:10,display:"flex",flexDirection:"column",boxShadow:"0 8px 32px rgba(0,0,0,0.18)",overflow:"hidden"},children:[!r&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:l("common_skills")}),(0,n.jsx)("button",{onClick:t,style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:a?"column":"row",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{width:a?"100%":245,borderRight:a?"none":"1px solid var(--border)",display:a&&w?"none":"flex",flexDirection:"column",...a?{flex:1,minHeight:0}:{flexShrink:0},background:"var(--bg-panel)"},children:[(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:c?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:l("skills_loading")}):p?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--status-danger)"},children:p}):0===s.length?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:l("skills_noResults")}):(()=>{let e=[];for(let{label:t,matches:r}of[{label:"project / skills.sh",matches:e=>"project"===aB(e)&&!!e.install?.skillsShUrl},{label:"project",matches:e=>"project"===aB(e)&&!e.install?.skillsShUrl},{label:"global / skills.sh",matches:e=>"global"===aB(e)&&!!e.install?.skillsShUrl},{label:"global",matches:e=>"global"===aB(e)&&!e.install?.skillsShUrl},{label:"path",matches:e=>"path"===aB(e)}]){let n=s.filter(r);n.length>0&&e.push({label:t,skills:n})}return e.map(({label:e,skills:t})=>{let r;return(0,n.jsxs)("div",{style:{marginBottom:6},children:[(0,n.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:(r=e.startsWith("project")?l("common_project"):e.startsWith("global")?l("common_global"):l("skills_path"),e.endsWith("skills.sh")?`${r} / skills.sh`:r)}),t.map(e=>{let t=!b&&f===e.filePath,r=e.disableModelInvocation,i=aO(e),o=i?k[i]:void 0,l=o?.state==="update-available",a=aU(e.install?.versionHash);return(0,n.jsx)("div",{onClick:()=>{g(e.filePath),j(!1)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:t?"var(--bg-selected)":"none"},onMouseEnter:e=>{t||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{t||(e.currentTarget.style.background="none")},children:(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:t?600:400,color:r?"var(--text-dim)":"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),l&&(0,n.jsx)("span",{style:{display:"inline-block",fontSize:9,marginTop:2,padding:"1px 6px",borderRadius:999,background:"color-mix(in srgb, var(--status-warning) 18%, transparent)",color:"var(--status-warning)",fontWeight:600,fontFamily:"var(--font-mono)"},children:`${aU(o?.currentVersion??e.install?.versionHash)??"?"} → ${aU(o?.latestVersion)??"?"}`}),e.description&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},title:e.description,children:e.description}),a&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2,fontFamily:"var(--font-mono)"},children:a})]})},e.filePath)})]},e)})})()}),(0,n.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void $(),disabled:R||null!==T||s.every(e=>!e.install),style:{...lF(!(R||null!==T||s.every(e=>!e.install))),flex:1,minHeight:30,padding:"0 6px",fontSize:11},children:R?l("common_loading"):l("skills_checkUpdates")}),(0,n.jsx)("button",{type:"button",onClick:async()=>{for(let e of s.filter(e=>{let t=aO(e);return t&&!W[t]&&k[t]?.state==="update-available"}))await H(e)},disabled:null!==T||!s.some(e=>{let t=aO(e);return t&&!W[t]&&k[t]?.state==="update-available"}),style:{flex:1,minHeight:30,padding:"0 6px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",fontSize:11,fontWeight:600,cursor:null!==T?"not-allowed":"pointer",opacity:null!==T?.5:1},children:l("skills_upgradeAll")}),(0,n.jsx)("button",{type:"button",onClick:()=>j(!0),style:{...lF(!0),flex:1,minHeight:30,padding:"0 6px",fontSize:11,background:b?"var(--bg-selected)":"var(--bg-panel)",color:b?"var(--accent)":"var(--text-muted)"},children:l("skills_add")})]})})]}),(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:20,display:a&&!w?"none":void 0},children:[a&&w&&(0,n.jsxs)("button",{type:"button",onClick:()=>{g(null),j(!1),y(null)},style:{display:"flex",alignItems:"center",gap:5,minHeight:32,padding:"0 10px",marginBottom:12,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),l("common_back")]}),b?(0,n.jsx)(aV,{cwd:e,installedPackages:{global:new Set(s.filter(e=>e.install?.scope==="global").map(e=>e.install.package)),project:new Set(s.filter(e=>e.install?.scope==="project").map(e=>e.install.package))},onInstalled:()=>{P()}}):c?null:N?(0,n.jsx)(aK,{skill:N,cwd:e,onToggle:F,toggling:x.has(N.filePath),saveError:v,updateStatus:aO(N)?k[aO(N)]:void 0,updating:T===aO(N),updateError:E,onUpdate:()=>void H(N),onRemove:()=>void D(N),locked:!!(aO(N)&&W[aO(N)]),onToggleLock:()=>{let e=aO(N);e&&A(e)}},N.filePath):(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:l("skills_select")})]})]}),(0,n.jsx)(lB,{fixedHint:l("skills_countHint",{count:String(s.length)}),dynamicHint:Object.values(k).filter(e=>"update-available"===e.state).length>0?(0,n.jsxs)("span",{style:{color:"var(--status-warning)"},children:[Object.values(k).filter(e=>"update-available"===e.state).length," ",1===Object.values(k).filter(e=>"update-available"===e.state).length?l("skills_updateSingle"):l("skills_updatePlural")]}):v?(0,n.jsx)("span",{style:{color:"var(--status-danger)"},children:v}):E?(0,n.jsx)("span",{style:{color:"var(--status-danger)"},children:E}):null,onClose:t})]})})}function aY(e){return`${e.scope}\0${e.source}`}function aZ(e){return e.packageName?.trim()||e.source}function aX(e,t){if(e.disabled)return t("plugins_disabled");let r=[e.counts.extensions?t("plugins_countExtensions",{count:e.counts.extensions}):"",e.counts.skills?t("plugins_countSkills",{count:e.counts.skills}):"",e.counts.prompts?t("plugins_countPrompts",{count:e.counts.prompts}):"",e.counts.themes?t("plugins_countThemes",{count:e.counts.themes}):""].filter(Boolean);return r.length?r.join(" \xb7 "):t("plugins_noResources")}function aG(e,t){let r=e.version??"",n=t?.latest;return!!(t?.hasUpdate&&n&&n!==r)}function aQ(e,t){let r=e.version??"?";return aG(e,t)&&t?.latest?`${r} → ${t.latest}`:r}function a0({pkg:e}){let{t}=(0,es.s9)(),r=[["extension",t("plugins_extensions")],["skill",t("plugins_skills")],["prompt",t("plugins_prompts")],["theme",t("plugins_themes")]].map(([t,r])=>({kind:t,label:r,resources:e.resources.filter(e=>e.kind===t)})).filter(e=>e.resources.length>0);return 0===r.length?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:t(e.disabled?"plugins_packageDisabled":"plugins_noResolved")}):(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:r.map((e,t)=>(0,n.jsxs)("div",{style:{borderTop:0===t?"none":"1px solid var(--border)",paddingTop:12*(0!==t)},children:[(0,n.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:e.label}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:e.resources.map(e=>(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.path,children:e.name}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:e.path,children:e.relativePath})]},`${e.kind}:${e.path}`))})]},e.kind))})}function a1({scope:e}){let{t}=(0,es.s9)();return(0,n.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===e?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===e?"rgba(99,102,241,0.85)":"var(--text-dim)"},children:t("project"===e?"common_project":"common_global")})}function a2({enabled:e,loading:t,onToggle:r,label:i}){return(0,n.jsx)("button",{type:"button",onClick:r,disabled:t,title:i,"aria-label":i,"aria-pressed":e,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:t?"wait":"pointer",background:e?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none",opacity:t?.65:1},children:(0,n.jsx)("span",{style:{position:"absolute",top:3,left:e?21:3,width:16,height:16,borderRadius:"50%",background:"var(--bg)",boxShadow:"0 1px 4px rgba(0,0,0,0.22)",transition:"left 0.18s cubic-bezier(.4,0,.2,1)"}})})}function a4({value:e,onChange:t}){let{t:r}=(0,es.s9)();return(0,n.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden",height:30},children:["global","project"].map(i=>{let o=e===i;return(0,n.jsx)("button",{onClick:()=>t(i),style:{width:76,border:"none",borderRight:"global"===i?"1px solid var(--border)":"none",background:o?"var(--bg-selected)":"none",color:o?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12},children:"project"===i?r("common_project"):r("common_global")},i)})})}function a6({cwd:e,source:t,scope:r,busy:o,actionError:l,onSourceChange:a,onScopeChange:s,onInstall:d}){var c;let{t:u}=(0,es.s9)(),p=(0,i.useRef)(null);return(0,i.useEffect)(()=>{p.current?.focus()},[]),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:u("plugins_add")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===r?`${ro(e)}/.pi/agent/{npm,git}`:"~/.pi/agent/{npm,git}"})]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,n.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:u("common_source")}),(0,n.jsx)("input",{id:"plugin-source",ref:p,value:t,onChange:e=>a(e.target.value),placeholder:"npm:@scope/package",style:{width:"100%",height:36,padding:"0 11px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,outline:"none"},onKeyDown:e=>{"Enter"===e.key&&t.trim()&&!o&&d()}})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,n.jsx)(a4,{value:r,onChange:s}),(0,n.jsx)("button",{type:"button",onClick:d,disabled:o||!t.trim(),style:{...{padding:"6px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:(c=o||!t.trim())?"not-allowed":"pointer",fontSize:12,opacity:c?.5:1},background:"var(--accent)",color:"white",borderColor:"var(--accent)"},children:u(o?"plugins_installing":"common_install")})]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:u("plugins_examples")}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:["npm:@scope/pi-plugin","git:https://github.com/user/repo","/absolute/path/to/plugin"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>a(e),style:{width:"100%",minHeight:30,textAlign:"left",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:11},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-panel)",e.currentTarget.style.color="var(--text-dim)"},children:e},e))})]}),l&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",whiteSpace:"pre-wrap"},children:l}),(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:14,marginTop:4},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8},children:u("plugins_searchLibrary")}),(0,n.jsx)(a5,{onPick:e=>a(`npm:${e}`)})]})]})}function a5({onPick:e}){let{t}=(0,es.s9)(),[r,o]=(0,i.useState)(""),[l,a]=(0,i.useState)(null),[s,d]=(0,i.useState)(!1),[c,u]=(0,i.useState)(null),p=(0,i.useCallback)(async()=>{let e=r.trim();if(e){d(!0),u(null);try{let t=await fetch("/api/plugins/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let r=await t.json();a(r.results??[])}catch(e){u(e instanceof Error?e.message:String(e)),a(null)}finally{d(!1)}}},[r]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("input",{type:"text",value:r,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&p()},placeholder:t("plugins_searchLibraryPlaceholder"),"aria-label":t("plugins_searchLibrary"),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,n.jsx)("button",{type:"button",onClick:()=>void p(),disabled:s||!r.trim(),style:{minHeight:30,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:s||!r.trim()?"not-allowed":"pointer",fontSize:12,opacity:s||!r.trim()?.5:1},children:t(s?"common_loading":"common_search")})]}),c&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--status-danger)",marginTop:6},children:c}),l&&0===l.length&&!c&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:6},children:t("plugins_searchEmpty")}),l&&l.length>0&&(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginTop:8,maxHeight:240,overflowY:"auto"},children:l.map(t=>(0,n.jsxs)("button",{type:"button",onClick:()=>e(t.name),style:{textAlign:"left",padding:"7px 9px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:600,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name}),(0,n.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",flexShrink:0},children:["v",t.version]})]}),t.description&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-muted)",marginTop:2,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.description})]},t.name))})]})}function a8({pkg:e,cwd:t,busyKey:r,actionError:i,actionMessage:o,sessionId:l,updateInfo:a,locked:s,onToggleLock:d,onAction:c}){var u;let{t:p}=(0,es.s9)(),h=aY(e),f=r?.endsWith(h)??!1,g=!e.disabled;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,minWidth:0,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:180,flex:1},children:[(0,n.jsx)(a2,{enabled:g,loading:f,onToggle:()=>c(e.disabled?"enable":"disable",e),label:e.disabled?p("plugins_enable"):p("plugins_disable")}),(0,n.jsx)(a1,{scope:e.scope}),e.disabled?(0,n.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"rgba(120,120,120,0.12)",color:"var(--text-dim)"},children:p("plugins_disabled")}):e.filtered&&(0,n.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"color-mix(in srgb, var(--status-warning) 12%, transparent)",color:"var(--status-warning)"},children:p("plugins_filtered")}),(0,n.jsx)("span",{style:{fontFamily:e.packageName?void 0:"var(--font-mono)",fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:aZ(e)})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,n.jsxs)("label",{title:p("plugins_lockVersionHint"),style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer",padding:"4px 6px",borderRadius:6,border:"1px solid var(--border)"},children:[(0,n.jsx)("input",{type:"checkbox",checked:s,onChange:d}),p("plugins_lockVersion")]}),aG(e,a)&&(0,n.jsx)("span",{style:{fontSize:10,padding:"2px 6px",borderRadius:999,background:"color-mix(in srgb, var(--status-warning) 15%, transparent)",color:"var(--status-warning)",fontWeight:600,fontFamily:"var(--font-mono)"},children:aQ(e,a)}),!s&&(0,n.jsx)("button",{type:"button",onClick:()=>c("update",e),disabled:f,style:{width:26,height:26,padding:0,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"none",border:"1px solid var(--border)",borderRadius:6,color:f?"var(--text-dim)":"var(--text-muted)",cursor:f?"not-allowed":"pointer",opacity:f?.5:1,boxSizing:"border-box"},title:r===`update:${h}`?p("plugins_updating",{source:e.source}):p("plugins_update",{source:e.source}),"aria-label":r===`update:${h}`?p("plugins_updating",{source:e.source}):p("plugins_update",{source:e.source}),children:r===`update:${h}`?(0,n.jsx)(lP.A,{size:13,className:"animate-spin","aria-hidden":!0}):(0,n.jsx)(aF.A,{size:13,"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",onClick:()=>{window.confirm(p("plugins_confirmRemove",{source:e.source}))&&c("remove",e)},disabled:f,style:lN(!f),title:r===`remove:${h}`?p("plugins_removing"):p("common_remove"),"aria-label":r===`remove:${h}`?p("plugins_removing"):p("common_remove"),children:r===`remove:${h}`?(0,n.jsx)(lP.A,{size:13,className:"animate-spin","aria-hidden":!0}):(0,n.jsx)(aN.A,{size:13,"aria-hidden":!0})})]})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:12,lineHeight:1.45},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("common_status")}),(0,n.jsx)("div",{style:{color:"loaded"===(u=e.status)?"var(--accent)":"installed"===u?"var(--status-warning)":"disabled"===u?"var(--text-dim)":"var(--status-danger)",textTransform:"capitalize"},children:e.status}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("common_version")}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:aQ(e,a)}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("plugins_package")}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.packageName??p("common_unknown")}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("plugins_source")}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.source}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("common_resources")}),(0,n.jsx)("div",{style:{color:"var(--text-muted)"},children:aX(e,p)}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("plugins_installedPath")}),(0,n.jsx)("div",{style:{color:e.installedPath?"var(--text-muted)":"var(--status-danger)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.installedPath?ro(e.installedPath):p("plugins_notFound")}),(0,n.jsx)("div",{style:{color:"var(--text-dim)"},children:p("plugins_cwd")}),(0,n.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:ro(t)})]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:p("plugins_resolvedResources")}),(0,n.jsx)(a0,{pkg:e})]}),o&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-success)"},children:o}),i&&(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-danger)",whiteSpace:"pre-wrap"},children:i})]})}function a3({cwd:e,sessionId:t,onClose:r,onReloaded:o,embedded:l=!1}){let{t:a}=(0,es.s9)(),s=n7(),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(!0),[h,f]=(0,i.useState)(null),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)(!1),y=m||null!==g,[b,j]=(0,i.useState)({}),[w,k]=(0,i.useState)(!1),[S,C]=(0,i.useState)(!1),[_,R]=(0,i.useState)(()=>{let e=(0,X.b3)("pluginLocks");return e&&"object"==typeof e?e:{}}),I=(0,i.useCallback)(e=>{R(t=>{let r={...t,[e]:!t[e]};return(0,X.dM)("pluginLocks",r),r})},[]),T=(0,i.useCallback)(async()=>{if(!d)return;let e=d.packages.filter(e=>!_[aY(e)]);if(0!==e.length){k(!0);try{let t=await fetch("/api/plugins/updates",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({packages:e.map(e=>({source:e.source,installed:e.version??e.configuredVersion??null}))})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let r=await t.json(),n={};for(let t of r.updates??[]){let r=e.find(e=>e.source===t.source);r&&(n[aY(r)]={latest:t.latest,hasUpdate:t.hasUpdate})}j(n)}catch(e){$(e instanceof Error?e.message:String(e))}finally{k(!1)}}},[d,_]),[M,E]=(0,i.useState)(""),[z,W]=(0,i.useState)("global"),[L,A]=(0,i.useState)(null),[P,$]=(0,i.useState)(null),[H,D]=(0,i.useState)(null),F=(0,i.useMemo)(()=>d?.packages??[],[d?.packages]),N=F.find(e=>aY(e)===g)??null,B=(0,i.useMemo)(()=>["project","global"].map(e=>({scope:e,packages:F.filter(t=>t.scope===e)})).filter(e=>e.packages.length>0),[F]),O=(0,i.useCallback)(async()=>{p(!0),f(null);try{let t=await fetch(`/api/plugins?cwd=${encodeURIComponent(e)}`),r=await t.json();if(!t.ok||r.error)throw Error(r.error??`HTTP ${t.status}`);c(r),v(e=>0===r.packages.length||e),x(e=>e&&r.packages.some(t=>aY(t)===e)?e:s?null:r.packages[0]?aY(r.packages[0]):null)}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(!1)}},[e,s]);(0,i.useEffect)(()=>{O()},[O]);let U=(0,i.useCallback)(async(t,r)=>{let n=aY(r);A(`${t}:${n}`),$(null),D(null);try{let i=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,source:r.source,scope:r.scope,cwd:e})}),o=await i.json();if(!i.ok||o.error)throw Error(o.error??`HTTP ${i.status}`);if(c(o),"update"===t&&j(e=>{let t=e[n];return t?{...e,[n]:{...t,hasUpdate:!1}}:e}),"remove"===t)x(o.packages[0]?aY(o.packages[0]):null),0===o.packages.length&&v(!0),D(a("plugins_removed"));else{let e={install:a("plugins_installed"),update:a("plugins_updated"),disable:a("plugins_disabledMessage"),enable:a("plugins_enabled")};D(e[t])}}catch(e){$(e instanceof Error?e.message:String(e))}finally{A(null)}},[e,a]),q=(0,i.useCallback)(async()=>{if(!d)return;let e=d.packages.filter(e=>{let t=aY(e);return!_[t]&&aG(e,b[t])});if(0!==e.length){C(!0);try{for(let t of e)await U("update",t)}finally{C(!1),T()}}},[d,_,b,U,T]),K=(0,i.useCallback)(async()=>{let t=M.trim();if(!t)return;let r=`${z}\0${t}`;A(`install:${r}`),$(null),D(null);try{var n;let i,o,l=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:t,scope:z,cwd:e})}),s=await l.json();if(!l.ok||s.error)throw Error(s.error??`HTTP ${l.status}`);c(s);let d=(n=s.packages,o=(i=t.trim()).startsWith("npm:")?i.slice(4):i,n.find(e=>e.scope===z&&e.source===i)??n.find(e=>e.scope===z&&e.source===`npm:${o}`)??n.find(e=>e.scope===z&&e.source.endsWith(i)));x(d?aY(d):r),v(!1),E(""),D(a("plugins_installed"))}catch(e){$(e instanceof Error?e.message:String(e))}finally{A(null)}},[e,z,M,a]);(0,i.useCallback)(async()=>{if(t){A("reload"),$(null),D(null);try{await iY(t,{type:"reload"}),o?.(),await O(),D(a("plugins_reloaded"))}catch(e){$(e instanceof Error?e.message:String(e))}finally{A(null)}}},[O,o,t,a]);let V=L?.startsWith("install:")??!1;return(0,n.jsx)("div",{style:l?{position:"relative",display:"flex",flexDirection:"column",height:"100%",minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:l?void 0:e=>{e.target===e.currentTarget&&r()},children:(0,n.jsxs)("div",{style:l?{display:"flex",flexDirection:"column",height:"100%",minHeight:0,background:"var(--bg)",overflow:"hidden"}:{width:s?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:s?"calc(100dvh - 16px)":"76vh",maxHeight:"calc(100dvh - 16px)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,display:"flex",flexDirection:"column",boxShadow:"0 8px 32px rgba(0,0,0,0.18)",overflow:"hidden"},children:[!l&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,n.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:a("common_plugins")}),(0,n.jsx)("button",{onClick:r,style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:s?"column":"row",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{width:s?"100%":245,borderRight:s?"none":"1px solid var(--border)",display:s&&y?"none":"flex",flexDirection:"column",...s?{flex:1,minHeight:0}:{flexShrink:0},background:"var(--bg-panel)"},children:[(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:u?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:a("common_loading")}):h?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--status-danger)"},children:h}):0===F.length?(0,n.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:a("plugins_noConfigured")}):B.map(e=>(0,n.jsxs)("div",{style:{marginBottom:6},children:[(0,n.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:"project"===e.scope?a("common_project"):a("common_global")}),e.packages.map(e=>{let t=aY(e),r=!m&&g===t;return(0,n.jsx)("div",{onClick:()=>{x(t),v(!1),$(null),D(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:r?"var(--bg-selected)":"none"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="none")},children:(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:r?600:400,color:"var(--text)",fontFamily:e.packageName?void 0:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:aZ(e)}),aG(e,b[aY(e)])&&(0,n.jsx)("span",{style:{display:"inline-block",fontSize:9,marginTop:2,padding:"1px 6px",borderRadius:999,background:"color-mix(in srgb, var(--status-warning) 18%, transparent)",color:"var(--status-warning)",fontWeight:600,fontFamily:"var(--font-mono)"},children:aQ(e,b[aY(e)])}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:aX(e,a)}),(e.version||e.configuredVersion)&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:aQ(e,b[aY(e)])})]})},t)})]},e.scope))}),(0,n.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void T(),disabled:w||!d,style:{...lF(!(w||!d)),flex:1,minHeight:30,padding:"0 6px",fontSize:11},children:w?a("common_loading"):a("plugins_checkUpdates")}),(0,n.jsx)("button",{type:"button",onClick:()=>void q(),disabled:S||F.every(e=>_[aY(e)]||!aG(e,b[aY(e)])),style:{flex:1,minHeight:30,padding:"0 6px",borderRadius:7,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",fontSize:11,fontWeight:600,cursor:S||F.every(e=>_[aY(e)]||!aG(e,b[aY(e)]))?"not-allowed":"pointer",opacity:S||F.every(e=>_[aY(e)]||!aG(e,b[aY(e)]))?.5:1},children:S?a("common_loading"):a("plugins_upgradeAll")}),(0,n.jsx)("button",{type:"button",onClick:()=>{v(!0),$(null),D(null)},style:{...lF(!0),flex:1,minHeight:30,padding:"0 6px",fontSize:11,background:m?"var(--bg-selected)":"var(--bg-panel)",color:m?"var(--accent)":"var(--text-muted)"},children:a("plugins_add")})]})})]}),(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:20,display:s&&!y?"none":void 0},children:[s&&y&&(0,n.jsxs)("button",{type:"button",onClick:()=>{x(null),v(!1),$(null),D(null)},style:{display:"flex",alignItems:"center",gap:5,minHeight:32,padding:"0 10px",marginBottom:12,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),a("common_back")]}),m?(0,n.jsx)(a6,{cwd:e,source:M,scope:z,busy:V,actionError:P,onSourceChange:E,onScopeChange:W,onInstall:K}):u?null:N?(0,n.jsx)(a8,{pkg:N,cwd:e,busyKey:L,actionError:P,actionMessage:H,sessionId:t,updateInfo:b[aY(N)]??null,locked:!!_[aY(N)],onToggleLock:()=>I(aY(N)),onAction:U},aY(N)):(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:a("plugins_select")})]})]}),(0,n.jsx)(lB,{fixedHint:d?a("plugins_totals",{extensions:d.totals.extensions,skills:d.totals.skills,prompts:d.totals.prompts,themes:d.totals.themes}):null,dynamicHint:P?(0,n.jsx)("span",{style:{color:"var(--status-danger)"},children:P}):H?(0,n.jsx)("span",{style:{color:"var(--accent)"},children:H}):d?.diagnostics.length?(0,n.jsx)("span",{title:d.diagnostics.map(e=>`${e.type}: ${e.source?`${e.source}: `:""}${e.message}`).join("\n"),style:{color:d.diagnostics.some(e=>"error"===e.type)?"var(--status-danger)":"var(--status-warning)"},children:a(1===d.diagnostics.length?"plugins_diagnostics_one":"plugins_diagnostics_other",{count:d.diagnostics.length})}):null,onClose:r,children:(0,n.jsx)("button",{type:"button",onClick:()=>void O(),disabled:u||null!==L,style:lF(!(u||null!==L)),children:u?a("plugins_refreshing"):a("plugins_refresh")})})]})})}let a9={fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8},a7={fontSize:12,color:"var(--text-muted)",marginBottom:4},se={width:"100%",maxWidth:420,padding:"7px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"var(--font-mono)"},st={...se,fontFamily:"inherit",cursor:"pointer"};function sr({label:e,value:t,placeholder:r,onChange:i,mono:o=!0}){return(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:e}),(0,n.jsx)("input",{type:"text",value:t,placeholder:r,onChange:e=>i(e.target.value),style:o?se:{...se,fontFamily:"inherit"}})]})}function sn({label:e,value:t,min:r,max:i,onChange:o}){return(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:e}),(0,n.jsx)("input",{type:"number",value:t,min:r,max:i,onChange:e=>o(e.target.value),style:{...se,maxWidth:220}})]})}function si({label:e,checked:t,onChange:r}){return(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--text)",cursor:"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:t,onChange:e=>r(e.target.checked)}),e]})}function so(e){return"string"==typeof e?e:""}function sl(e){return"number"==typeof e&&Number.isFinite(e)?String(e):""}function sa(e){return"object"!=typeof e||null===e||Array.isArray(e)?{}:e}function ss(e){let t=sa(e.compaction),r=sa(e.retry);return{defaultProvider:so(e.defaultProvider),defaultModel:so(e.defaultModel),defaultThinkingLevel:e.defaultThinkingLevel??"",compactionEnabled:!0===t.enabled,compactionReserve:sl(t.reserveTokens),compactionKeep:sl(t.keepRecentTokens),retryEnabled:!0===r.enabled,retryMaxRetries:sl(r.maxRetries),retryBaseDelayMs:sl(r.baseDelayMs),hideThinkingBlock:!0===e.hideThinkingBlock,showCacheMissNotices:!0===e.showCacheMissNotices,httpProxy:so(e.httpProxy),httpIdleTimeoutMs:sl(e.httpIdleTimeoutMs),sessionDir:so(e.sessionDir),shellPath:so(e.shellPath),quietStartup:!0===e.quietStartup,externalEditor:so(e.externalEditor),defaultProjectTrust:so(e.defaultProjectTrust),doubleEscapeAction:so(e.doubleEscapeAction)}}function sd({cwd:e,onClose:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(null),[a,s]=(0,i.useState)(null),[d,c]=(0,i.useState)([]),[u,p]=(0,i.useState)(!0),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(0),[j,w]=(0,i.useState)("basic"),k=(0,i.useCallback)(async()=>{p(!0),x(null);try{let t,r=new URLSearchParams;e&&r.set("cwd",e);let n=r.toString(),[i,o]=await Promise.all([fetch("/api/settings/raw",{cache:"no-store"}),fetch(`/api/models${n?`?${n}`:""}`)]);if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}let a=await i.json();try{t=JSON.parse("string"==typeof a.json?a.json:"{}")}catch{t={}}if(l(t),s(ss(t)),o.ok){let e=await o.json();c(Array.isArray(e.modelList)?e.modelList:[])}else c([])}catch(e){x(e instanceof Error?e.message:String(e)),l(null),s(null)}finally{p(!1)}},[e]);(0,i.useEffect)(()=>{k()},[k,y]);let S=(0,i.useCallback)(async()=>{if(a&&o){f(!0),x(null),v(!1);try{let e=await fetch("/api/settings/raw",{cache:"no-store"});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`HTTP ${e.status}`)}let t=await e.json(),r={...(()=>{try{return JSON.parse("string"==typeof t.json?t.json:"{}")}catch{return{}}})()};r.defaultProvider=a.defaultProvider||void 0,r.defaultModel=a.defaultModel||void 0,r.defaultThinkingLevel=""===a.defaultThinkingLevel?void 0:a.defaultThinkingLevel,r.hideThinkingBlock=a.hideThinkingBlock||void 0,r.showCacheMissNotices=a.showCacheMissNotices||void 0,r.quietStartup=a.quietStartup||void 0;let n={...sa(r.compaction)};n.enabled=a.compactionEnabled;let i=Number(a.compactionReserve),o=Number(a.compactionKeep);Number.isFinite(i)&&i>0&&(n.reserveTokens=i),Number.isFinite(o)&&o>0&&(n.keepRecentTokens=o),r.compaction=n;let d={...sa(r.retry)};d.enabled=a.retryEnabled;let c=Number(a.retryMaxRetries),u=Number(a.retryBaseDelayMs);for(let e of(Number.isFinite(c)&&c>=0&&(d.maxRetries=c),Number.isFinite(u)&&u>=0&&(d.baseDelayMs=u),r.retry=d,["httpProxy","sessionDir","shellPath","externalEditor","defaultProjectTrust","doubleEscapeAction"])){let t=a[e].trim();t?r[e]=t:delete r[e]}let p=Number(a.httpIdleTimeoutMs);Number.isFinite(p)&&p>0?r.httpIdleTimeoutMs=p:delete r.httpIdleTimeoutMs;let h=await fetch("/api/settings/raw",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({json:JSON.stringify(r,null,2)})});if(!h.ok){let e=await h.json().catch(()=>({}));throw Error(e.error??`HTTP ${h.status}`)}l(r),s(ss(r)),v(!0),window.setTimeout(()=>v(!1),2e3)}catch(e){x(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[a,o]);if(u&&!o)return(0,n.jsx)("div",{style:{padding:"18px 20px",fontSize:12,color:"var(--text-muted)"},children:r("common_loading")});if(g&&!o)return(0,n.jsxs)("div",{style:{padding:"18px 20px"},children:[(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10},children:[r("defaults_loadFailed"),": ",g]}),(0,n.jsx)("button",{type:"button",onClick:()=>b(e=>e+1),style:{minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:12},children:r("defaults_retry")})]});if(!o||!a)return null;let C=ss(o),_=a.defaultProvider!==C.defaultProvider||a.defaultModel!==C.defaultModel||a.defaultThinkingLevel!==C.defaultThinkingLevel||a.compactionEnabled!==C.compactionEnabled||a.compactionReserve!==C.compactionReserve||a.compactionKeep!==C.compactionKeep||a.retryEnabled!==C.retryEnabled||a.retryMaxRetries!==C.retryMaxRetries||a.retryBaseDelayMs!==C.retryBaseDelayMs||a.hideThinkingBlock!==C.hideThinkingBlock||a.showCacheMissNotices!==C.showCacheMissNotices||a.httpProxy!==C.httpProxy||a.httpIdleTimeoutMs!==C.httpIdleTimeoutMs||a.sessionDir!==C.sessionDir||a.shellPath!==C.shellPath||a.quietStartup!==C.quietStartup||a.externalEditor!==C.externalEditor||a.defaultProjectTrust!==C.defaultProjectTrust||a.doubleEscapeAction!==C.doubleEscapeAction,R=[];for(let e of d)R.includes(e.provider)||R.push(e.provider);let I=a.defaultProvider?d.filter(e=>e.provider===a.defaultProvider):[],T=e=>({minHeight:30,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:e?"var(--bg-selected)":"var(--bg-panel)",color:e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:e?600:400}),M={marginBottom:22};return(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsxs)("div",{style:{flexShrink:0,padding:"16px 20px 0",display:"flex",gap:8,flexWrap:"wrap"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>w("basic"),style:T("basic"===j),"aria-current":"basic"===j?"page":void 0,children:r("defaults_basicTab")}),(0,n.jsx)("button",{type:"button",onClick:()=>w("json"),style:T("json"===j),"aria-current":"json"===j?"page":void 0,children:r("defaults_jsonTab")})]}),"json"===j?(0,n.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column"},children:(0,n.jsx)(lO,{stickyFooter:!0,onClose:t})}):(0,n.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",padding:"16px 20px 20px"},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,marginBottom:16},children:r("defaults_hint")}),g&&(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:12},children:[r("defaults_saveFailed"),": ",g]}),(0,n.jsxs)("div",{style:M,children:[(0,n.jsx)("div",{style:a9,children:r("defaults_modelSection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:r("defaults_provider")}),(0,n.jsxs)("select",{value:a.defaultProvider,onChange:e=>{let t=e.target.value,r=d.filter(e=>e.provider===t).some(e=>e.id===a.defaultModel);s({...a,defaultProvider:t,defaultModel:r?a.defaultModel:""})},style:st,children:[(0,n.jsx)("option",{value:"",children:r("defaults_providerUnset")}),a.defaultProvider&&!R.includes(a.defaultProvider)&&(0,n.jsx)("option",{value:a.defaultProvider,children:a.defaultProvider}),R.map(e=>(0,n.jsx)("option",{value:e,children:e},e))]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:r("defaults_model")}),(0,n.jsxs)("select",{value:a.defaultModel,onChange:e=>s({...a,defaultModel:e.target.value}),style:st,disabled:!a.defaultProvider,children:[(0,n.jsx)("option",{value:"",children:r(a.defaultProvider?0!==I.length||a.defaultModel?"defaults_modelUnset":"defaults_modelEmpty":"defaults_modelUnset")}),a.defaultModel&&!I.some(e=>e.id===a.defaultModel)&&(0,n.jsx)("option",{value:a.defaultModel,children:a.defaultModel}),I.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name&&e.name!==e.id?`${e.name} (${e.id})`:e.id},`${e.provider}:${e.id}`))]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:r("defaults_thinking")}),(0,n.jsxs)("select",{value:a.defaultThinkingLevel,onChange:e=>s({...a,defaultThinkingLevel:e.target.value}),style:st,children:[(0,n.jsx)("option",{value:"",children:r("defaults_thinkingUnset")}),op.map(e=>(0,n.jsx)("option",{value:e,children:e},e))]}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:4},children:r("defaults_thinkingHint")})]})]})]}),(0,n.jsxs)("div",{style:M,children:[(0,n.jsx)("div",{style:a9,children:r("defaults_compactionSection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsx)(si,{label:r("defaults_compactionEnabled"),checked:a.compactionEnabled,onChange:e=>s({...a,compactionEnabled:e})}),(0,n.jsx)(sn,{label:"reserveTokens",value:a.compactionReserve,min:1,onChange:e=>s({...a,compactionReserve:e})}),(0,n.jsx)(sn,{label:"keepRecentTokens",value:a.compactionKeep,min:1,onChange:e=>s({...a,compactionKeep:e})})]})]}),(0,n.jsxs)("div",{style:M,children:[(0,n.jsx)("div",{style:a9,children:r("defaults_retrySection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsx)(si,{label:r("defaults_retryEnabled"),checked:a.retryEnabled,onChange:e=>s({...a,retryEnabled:e})}),(0,n.jsx)(sn,{label:"maxRetries",value:a.retryMaxRetries,min:0,onChange:e=>s({...a,retryMaxRetries:e})}),(0,n.jsx)(sn,{label:"baseDelayMs",value:a.retryBaseDelayMs,min:0,onChange:e=>s({...a,retryBaseDelayMs:e})})]})]}),(0,n.jsxs)("div",{style:M,children:[(0,n.jsx)("div",{style:a9,children:r("defaults_appearanceSection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsx)(si,{label:r("defaults_hideThinkingBlock"),checked:a.hideThinkingBlock,onChange:e=>s({...a,hideThinkingBlock:e})}),(0,n.jsx)(si,{label:r("defaults_showCacheMissNotices"),checked:a.showCacheMissNotices,onChange:e=>s({...a,showCacheMissNotices:e})})]})]}),(0,n.jsxs)("div",{style:M,children:[(0,n.jsx)("div",{style:a9,children:r("defaults_advancedSection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsx)(sr,{label:"httpProxy",value:a.httpProxy,onChange:e=>s({...a,httpProxy:e})}),(0,n.jsx)(sn,{label:"httpIdleTimeoutMs",value:a.httpIdleTimeoutMs,min:1,onChange:e=>s({...a,httpIdleTimeoutMs:e})}),(0,n.jsx)(sr,{label:"sessionDir",value:a.sessionDir,onChange:e=>s({...a,sessionDir:e})}),(0,n.jsx)(sr,{label:"shellPath",value:a.shellPath,onChange:e=>s({...a,shellPath:e})}),(0,n.jsx)(sr,{label:"externalEditor",value:a.externalEditor,onChange:e=>s({...a,externalEditor:e})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:"defaultProjectTrust"}),(0,n.jsx)("input",{type:"text",value:a.defaultProjectTrust,placeholder:"always / ask / never",onChange:e=>s({...a,defaultProjectTrust:e.target.value}),style:{...se,fontFamily:"inherit"}})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:a7,children:"doubleEscapeAction"}),(0,n.jsxs)("select",{value:a.doubleEscapeAction,onChange:e=>s({...a,doubleEscapeAction:e.target.value}),style:st,children:[(0,n.jsx)("option",{value:"",children:"(未设置)"}),(0,n.jsx)("option",{value:"fork",children:"fork"}),(0,n.jsx)("option",{value:"tree",children:"tree"}),(0,n.jsx)("option",{value:"none",children:"none"})]})]}),(0,n.jsx)(si,{label:r("defaults_quietStartup"),checked:a.quietStartup,onChange:e=>s({...a,quietStartup:e})})]})]})]})}),"basic"===j&&(0,n.jsxs)(lB,{fixedHint:"~/.pi/agent/settings.json",dynamicHint:g?(0,n.jsxs)("span",{style:{color:"var(--status-danger)"},children:[r("defaults_saveFailed"),": ",g]}):m?(0,n.jsx)("span",{style:{color:"var(--accent)"},children:r("common_saved")}):null,onClose:t,children:[(0,n.jsx)("button",{type:"button",onClick:()=>b(e=>e+1),disabled:u||h,style:lF(!(u||h)),children:r("common_reload")}),(0,n.jsx)("button",{type:"button",onClick:()=>void S(),disabled:!_||h,style:lD(!!(_&&!h)),children:r(h?"common_saving":"common_save")})]})]})}let sc={fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8};function su({onClose:e}={}){let t,{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(null),[a,s]=(0,i.useState)({system:"",systemAppend:"",agents:""}),[d,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(null),[g,x]=(0,i.useState)(null),[m,v]=(0,i.useState)("system"),y=(0,i.useCallback)(async()=>{c(!0),f(null);try{let e=await fetch("/api/prompts",{cache:"no-store"});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`HTTP ${e.status}`)}let t=await e.json(),r={system:{key:"system",enabled:!1,content:""},systemAppend:{key:"systemAppend",enabled:!1,content:""},agents:{key:"agents",enabled:!1,content:""}};for(let e of t.entries??[])e&&e.key in r&&(r[e.key]=e);l(r),s({system:r.system.content,systemAppend:r.systemAppend.content,agents:r.agents.content})}catch(e){f(e instanceof Error?e.message:String(e)),l(null)}finally{c(!1)}},[]);(0,i.useEffect)(()=>{y()},[y]);let b=(0,i.useCallback)(async(e,t)=>{p(e),f(null),x(null);try{let r=await fetch("/api/prompts",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,...t})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}void 0!==t.enabled&&o&&l({...o,[e]:{...o[e],enabled:t.enabled}}),x(e),window.setTimeout(()=>x(null),2e3)}catch(e){f(e instanceof Error?e.message:String(e))}finally{p(null)}},[o]);if(d&&!o)return(0,n.jsx)("div",{style:{padding:"18px 20px",fontSize:12,color:"var(--text-muted)"},children:r("common_loading")});if(!o)return(0,n.jsx)("div",{style:{padding:"18px 20px"},children:(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--status-danger)",marginBottom:10},children:[r("prompts_loadFailed"),": ",h]})});let j={system:"SYSTEM.md",systemAppend:"APPEND_SYSTEM.md",agents:"AGENTS.md"},w={system:r("prompts_systemTitle"),systemAppend:r("prompts_systemAppendTitle"),agents:r("prompts_agentsTitle")};return(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsx)("div",{style:{flexShrink:0,padding:"16px 20px 0",display:"flex",gap:8,flexWrap:"wrap"},children:["system","systemAppend","agents"].map(e=>{let t;return(0,n.jsx)("button",{type:"button",onClick:()=>v(e),style:{minHeight:28,padding:"0 12px",borderRadius:6,border:"1px solid var(--border)",background:(t=m===e)?"var(--bg-selected)":"var(--bg-panel)",color:t?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,fontWeight:t?600:400},"aria-current":m===e?"page":void 0,children:w[e]},e)})}),(0,n.jsxs)("div",{style:{flex:1,minHeight:0,overflowY:"auto",padding:"12px 20px 20px",display:"flex",flexDirection:"column"},children:[h&&(0,n.jsxs)("div",{style:{flexShrink:0,fontSize:12,color:"var(--status-danger)",marginBottom:12},children:[r("prompts_saveFailed"),": ",h]}),(t=o[m],a[m],t.content,(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{flexShrink:0,display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[(0,n.jsx)("div",{style:sc,children:w[m]}),(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:j[m]}),(0,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginLeft:"auto",fontSize:12,color:"var(--text-muted)",cursor:"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:t.enabled,disabled:u===m,onChange:e=>void b(m,{enabled:e.target.checked})}),r("prompts_enabled")]})]}),(0,n.jsx)("textarea",{value:a[m],onChange:e=>{s(t=>({...t,[m]:e.target.value})),f(null),x(null)},spellCheck:!1,disabled:u===m,"aria-label":w[m],style:{width:"100%",flex:1,minHeight:0,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",resize:"none",flex:1,minHeight:200}})]}))]}),(0,n.jsx)(lB,{fixedHint:j[m],dynamicHint:h?(0,n.jsxs)("span",{style:{color:"var(--status-danger)"},children:[r("prompts_saveFailed"),": ",h]}):o[m].enabled?g===m?(0,n.jsx)("span",{style:{color:"var(--accent)"},children:r("common_saved")}):null:(0,n.jsx)("span",{style:{color:"var(--text-dim)"},children:r("prompts_disabledDraftHint")}),onClose:e,children:(0,n.jsx)("button",{type:"button",onClick:()=>void b(m,{content:a[m]}),disabled:u===m||a[m]===o[m].content,style:lD(u!==m&&a[m]!==o[m].content),children:r(u===m?"common_saving":"common_save")})})]})}var sp=r(84747);let sh=["general","appearance","models","defaults","prompts","skills","plugins"],sf={skills:"skills",plugins:"plugins"},sg="pidance:settings:page:v1",sx="appearance";function sm(e){try{let n=e.getItem(sg);if(null===n)return sx;var t,r=n;if("string"!=typeof r||!r)return sx;let i=r;try{i=JSON.parse(r)}catch{i=r}return i&&"object"==typeof i&&!Array.isArray(i)&&(i=i.page),"string"==typeof(t=i)&&sh.includes(t)?i:sx}catch{return sx}}function sv(e,t){return"back"===t.type?{page:null}:e.page===t.page?e:{page:t.page}}function sy(e){switch(e){case"general":return"common_general";case"appearance":return"common_appearance";case"models":return"common_models";case"defaults":return"common_defaults";case"prompts":return"common_prompts";case"skills":return"common_skills";case"plugins":return"common_plugins"}}function sb(){try{return sm(window.localStorage)}catch{return sm({getItem:()=>null,setItem:()=>{},removeItem:()=>{}})}}function sj({hint:e}){let{t}=(0,es.s9)();return(0,n.jsxs)("div",{className:"settings-empty-state",children:[(0,n.jsx)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"})}),(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text)",fontWeight:600},children:t("common_selectProject")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6,maxWidth:380},children:t("common_selectProjectHint")})]})}function sw({label:e,options:t,value:r,onChange:i}){return(0,n.jsxs)("div",{className:"settings-choice",children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8},children:e}),(0,n.jsx)("div",{className:"settings-segmented-control",role:"group","aria-label":e,children:t.map(e=>{let t=e.value===r;return(0,n.jsx)("button",{type:"button",className:`settings-segmented-option${t?" is-active":""}`,"aria-pressed":t,onClick:()=>i(e.value),children:e.label},e.value)})})]})}let sk={password_too_short:"general_passwordTooShort",remote_requires_password:"general_remoteRequiresPassword",port_invalid:"general_portInvalid",bad_request:"general_badRequest"};function sS({onClose:e}){let{t}=(0,es.s9)(),[r,o]=(0,i.useState)(null),[l,a]=(0,i.useState)(!1),[s,d]=(0,i.useState)(!1),[c,u]=(0,i.useState)(!0),[p,h]=(0,i.useState)(null),[f,g]=(0,i.useState)(!1),[x,m]=(0,i.useState)(""),[v,y]=(0,i.useState)(""),[b,j]=(0,i.useState)(!1),[w,k]=(0,i.useState)(null),[S,C]=(0,i.useState)(!1),[_,R]=(0,i.useState)(null),[I,T]=(0,i.useState)(!1),[M,E]=(0,i.useState)(null);(0,i.useEffect)(()=>{u(K())},[]);let z=(0,i.useCallback)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/auth/ui-session",{method:"GET",credentials:"same-origin",cache:"no-store"}),r=await t.json().catch(()=>({}));if(e)return;o({passwordRequired:!!r.passwordRequired,authenticated:!!r.authenticated}),a(!1)}catch{e||(a(!0),o(null))}})(),()=>{e=!0}},[]);(0,i.useEffect)(()=>z(),[z]);let W=(0,i.useCallback)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/settings/remote",{cache:"no-store"});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(e)return;h({passwordSet:!!r.passwordSet,remoteEnabled:!!r.remoteEnabled,port:"number"==typeof r.port?r.port:null}),g(!1)}catch{e||g(!0)}})(),()=>{e=!0}},[]);(0,i.useEffect)(()=>W(),[W]);let L=(0,i.useCallback)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/auth/ui-sessions",{cache:"no-store"});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(e)return;R(Array.isArray(r.devices)?r.devices:[]),T(!1)}catch{e||T(!0)}})(),()=>{e=!0}},[]);(0,i.useEffect)(()=>L(),[L]);let A=(0,i.useCallback)(async e=>{E(e.id);try{let t=await fetch(`/api/auth/ui-sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"});if(!t.ok)throw Error(`HTTP ${t.status}`);e.current&&await (0,sp.b)(),L(),z()}catch{k(t("general_deviceRemoveFailed"))}finally{E(null)}},[L,z,t]);(0,i.useEffect)(()=>{p&&y(null===p.port?"":String(p.port))},[p]);let P=(0,i.useCallback)(async e=>{j(!0),k(null),C(!1);try{let r=await fetch("/api/settings/remote",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await r.json().catch(()=>({}));if(!r.ok){let e=n.error&&sk[n.error]||"general_badRequest";return k(t(e)),!1}return h({passwordSet:!!n.passwordSet,remoteEnabled:!!n.remoteEnabled,port:"number"==typeof n.port?n.port:null}),C(!0),m(""),z(),!0}catch{return k(t("general_serverCheckFailed")),!1}finally{j(!1)}},[z,t]),$={fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8},[H,D]=(0,i.useState)("followUp");(0,i.useEffect)(()=>{D(B())},[]);let[F,N]=(0,i.useState)(!0);(0,i.useEffect)(()=>{N(oW())},[]);let U=(0,X.Fd)(),[q,J]=(0,i.useState)(()=>!0===U.queueFlushAsOne);(0,i.useEffect)(()=>{J(!0===U.queueFlushAsOne);let e=(0,X.b3)("streamingEnter");("steer"===e||"followUp"===e)&&(D(e),O(e));let t=(0,X.b3)("autoUpdateCheck");"boolean"==typeof t&&(u(t),V(t))},[U]);let Y=t("common_loading");l?Y=t("general_loginCheckFailed"):r&&(Y=r.passwordRequired?r.authenticated?t("general_loginAuthenticated"):t("general_loginNotAuthenticated"):t("general_loginNotRequired"));let Z=!!(r?.passwordRequired&&r.authenticated);return(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsxs)("div",{className:"settings-page-content",style:{flex:1,minHeight:0,overflowY:"auto"},children:[(0,n.jsxs)("div",{style:{marginBottom:22},children:[(0,n.jsx)("div",{style:$,children:t("general_loginSection")}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,marginBottom:12,maxWidth:480},children:t("general_loginHint")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",marginBottom:4},children:t("general_loginStatus")}),(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text)",marginBottom:14,lineHeight:1.5},children:Y}),Z&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",disabled:s,onClick:()=>{d(!0),(0,sp.b)()},style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:s?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:s?.65:1},children:t("auth_logout")}),(0,n.jsx)("div",{style:{marginTop:8,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("general_logoutHint")}),(0,n.jsx)("div",{style:{marginTop:4,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("general_trustedDeviceHint")})]}),(0,n.jsxs)("div",{style:{marginTop:14},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:8},children:t("general_connectedDevices")}),I?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:t("general_serverCheckFailed")}):null===_?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:t("common_loading")}):0===_.length?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:t("general_noDevices")}):(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8,maxWidth:480},children:_.map(e=>(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:12,color:"var(--text)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",background:"var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.label,e.current&&(0,n.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--accent)"},children:t("general_thisDevice")})]}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:new Date(e.createdAt).toLocaleString()})]}),(0,n.jsx)("button",{type:"button",disabled:null!==M,onClick:()=>void A(e),style:{flexShrink:0,minHeight:28,padding:"0 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:null!==M?"not-allowed":"pointer",fontSize:11,fontWeight:600,opacity:null!==M&&M!==e.id?.5:1},children:t("general_deleteDevice")})]},e.id))})]})]}),(0,n.jsxs)("div",{style:{marginBottom:22},children:[(0,n.jsx)("div",{style:$,children:t("general_serverSection")}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,marginBottom:12,maxWidth:480},children:t("general_serverHint")}),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--text)",cursor:"pointer",userSelect:"none"},children:[(0,n.jsx)("input",{type:"checkbox",checked:p?.remoteEnabled===!0,disabled:b||null===p,onChange:e=>{let r=e.target.checked;r&&p&&!p.passwordSet?k(t("general_remoteNeedsPassword")):P({remoteEnabled:r})},style:{width:16,height:16,accentColor:"var(--accent)"}}),(0,n.jsx)("span",{children:t("general_remoteEnabled")})]}),(0,n.jsx)("div",{style:{marginTop:6,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("general_remoteHint")}),(0,n.jsxs)("div",{style:{marginTop:14},children:[(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",marginBottom:4},children:t("general_port")}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)("input",{type:"number",min:1,max:65535,placeholder:t("general_portPlaceholder"),value:v,disabled:b,onChange:e=>y(e.target.value),style:{width:130,padding:"7px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,outline:"none"}}),(0,n.jsx)("button",{type:"button",disabled:b,onClick:()=>{let e=v.trim(),r=""===e?null:Number(e);null!==r&&(!Number.isInteger(r)||r<1||r>65535)?k(t("general_portInvalid")):P({port:r})},style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:b?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:b?.65:1},children:t("general_savePort")})]}),(0,n.jsx)("div",{style:{marginTop:6,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("general_portHint")})]}),(0,n.jsx)("div",{style:{marginTop:14,fontSize:12,color:"var(--text-muted)",marginBottom:4},children:f?t("general_serverCheckFailed"):p?p.passwordSet?t("general_passwordSet"):t("general_passwordNotSet"):t("common_loading")}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,n.jsx)("input",{type:"password",placeholder:t("general_newPassword"),value:x,disabled:b,onChange:e=>m(e.target.value),style:{width:170,padding:"7px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,outline:"none"}}),p?.passwordSet&&(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:t("general_newPasswordHint")}),(0,n.jsx)("button",{type:"button",disabled:b,onClick:()=>{x.length<6?k(t("general_passwordTooShort")):P({password:x})},style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:b?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:b?.65:1},children:t("general_setPassword")}),p?.passwordSet&&(0,n.jsx)("button",{type:"button",disabled:b,onClick:()=>void P({clearPassword:!0}),style:{minHeight:32,padding:"0 14px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:b?"not-allowed":"pointer",fontSize:12,fontWeight:600,opacity:b?.65:1},children:t("general_clearPassword")})]}),w&&(0,n.jsx)("div",{style:{marginTop:8,fontSize:12,color:"var(--error-text)",maxWidth:420,lineHeight:1.45},children:w}),S&&(0,n.jsx)("div",{style:{marginTop:8,fontSize:12,color:"var(--text-muted)"},children:t("general_saved")}),(0,n.jsx)("div",{style:{marginTop:8,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("general_serverRestartHint")})]}),(0,n.jsxs)("div",{style:{marginBottom:22},children:[(0,n.jsx)("div",{style:$,children:t("general_updateSection")}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,marginBottom:12,maxWidth:480},children:t("general_updateHint")}),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,fontSize:13,color:"var(--text)",cursor:"pointer",userSelect:"none"},children:[(0,n.jsx)("input",{type:"checkbox",checked:c,onChange:e=>{let t=e.target.checked;u(t),V(t),(0,X.dM)("autoUpdateCheck",t)},style:{width:16,height:16,accentColor:"var(--accent)"}}),(0,n.jsx)("span",{children:t("general_autoUpdateCheck")})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:$,children:t("general_interactionSection")}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:14},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",marginBottom:4},children:t("defaults_streamingEnter")}),(0,n.jsxs)("select",{value:H,onChange:e=>{let t="steer"===e.target.value?"steer":"followUp";D(t),O(t),(0,X.dM)("streamingEnter",t),window.dispatchEvent(new Event("pidance:streaming-enter-changed"))},style:{width:"100%",maxWidth:420,padding:"7px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,outline:"none",cursor:"pointer"},children:[(0,n.jsx)("option",{value:"followUp",children:t("defaults_streamingEnterQueue")}),(0,n.jsx)("option",{value:"steer",children:t("defaults_streamingEnterSteer")})]}),(0,n.jsx)("div",{style:{marginTop:6,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("defaults_streamingEnterHint")})]}),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--text)",cursor:"pointer",userSelect:"none"},children:[(0,n.jsx)("input",{type:"checkbox",checked:F,onChange:e=>{let t=e.target.checked;N(t),oL(t)},style:{width:16,height:16,accentColor:"var(--accent)"}}),t("defaults_completionSound")]}),(0,n.jsx)("div",{style:{marginTop:-6,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("defaults_completionSoundHint")}),(0,n.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--text)",cursor:"pointer",userSelect:"none"},children:[(0,n.jsx)("input",{type:"checkbox",checked:q,onChange:e=>{let t=e.target.checked;J(t),(0,X.dM)("queueFlushAsOne",t)},style:{width:16,height:16,accentColor:"var(--accent)"}}),t("defaults_queueFlushAsOne")]}),(0,n.jsx)("div",{style:{marginTop:-6,fontSize:11,color:"var(--text-dim)",maxWidth:420,lineHeight:1.45},children:t("defaults_queueFlushAsOneHint")})]})]})]}),(0,n.jsx)(lB,{onClose:e})]})}function sC({onClose:e}){let{mode:t,themeStyle:r,setTheme:i,setThemeStyle:o}=rr(),{locale:l,setLocale:a,t:s}=(0,es.s9)();return(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsxs)("div",{className:"settings-page-content",style:{flex:1,minHeight:0,overflowY:"auto"},children:[(0,n.jsx)(sw,{label:s("appearance_colorMode"),options:[{value:"light",label:s("appearance_light")},{value:"dark",label:s("appearance_dark")},{value:"system",label:s("appearance_system")}],value:t,onChange:e=>i(e)}),(0,n.jsx)(sw,{label:s("appearance_themeStyle"),options:[{value:"chamber",label:s("appearance_chamber")},{value:"fusion",label:s("appearance_fusion")}],value:r,onChange:e=>o(e)}),(0,n.jsx)(sw,{label:s("appearance_language"),options:[{value:"en",label:"English"},{value:"zh-CN",label:"简体中文"}],value:l,onChange:e=>a(e)}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",lineHeight:1.6,maxWidth:420},children:s("appearance_coverage")})]}),(0,n.jsx)(lB,{onClose:e})]})}function s_({cwd:e,sessionId:t,onClose:r,onModelsChanged:o,onAuthStateChange:l,onPluginsReloaded:a,initialPage:s}){let{t:d}=(0,es.s9)(),c=n7(),[u,p]=(0,i.useState)(sb);(0,i.useEffect)(()=>{s&&p(s)},[s]);let[h,f]=(0,i.useState)({page:null});(0,i.useEffect)(()=>{try{window.localStorage.setItem(sg,JSON.stringify(u))}catch{}},[u]);let g=!!e,x=(0,i.useMemo)(()=>sh.map(e=>{let t="skills"===e||"plugins"===e,r=!t||g;return{id:e,label:e,requiresCwd:t,available:r,...r?{}:{unavailableHint:sf[e]}}}),[g]),m=x.find(e=>e.id===u)??x[0],v=(0,i.useCallback)(e=>{p(e),f(t=>sv(t,{type:"select",page:e}))},[]),y=(0,i.useCallback)(()=>{f(e=>sv(e,{type:"back"}))},[]),b=()=>{if(!m.available)return(0,n.jsx)(sj,{hint:m.unavailableHint});switch(m.id){case"general":return(0,n.jsx)(sS,{onClose:r});case"appearance":return(0,n.jsx)(sC,{onClose:r});case"models":return(0,n.jsx)(aD,{embedded:!0,onClose:o??r,onAuthStateChange:l});case"defaults":return(0,n.jsx)(sd,{cwd:e,onClose:r});case"prompts":return(0,n.jsx)(su,{onClose:r});case"skills":return(0,n.jsx)(aJ,{embedded:!0,globalOnly:!0,cwd:e,onClose:r});case"plugins":return(0,n.jsx)(a3,{embedded:!0,cwd:e,sessionId:t,onClose:r,onReloaded:a})}},j=(0,n.jsx)("div",{className:"settings-nav-list",children:x.map(e=>{let t=e.id===m.id;return(0,n.jsxs)("button",{type:"button",className:`settings-nav-item${!c&&t?" is-active":""}`,"aria-current":!c&&t?"page":void 0,onClick:()=>v(e.id),style:{minHeight:c?44:34,padding:c?"0 12px":"0 10px 0 12px"},children:[(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d(sy(e.id))}),!e.available&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",flexShrink:0},children:d("common_needsProject")}),c&&(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--text-dim)",flexShrink:0},"aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})]},e.id)})}),w=c&&null!==h.page?(0,n.jsxs)("button",{type:"button",onClick:y,"aria-label":d("common_back"),style:{flexShrink:0,display:"flex",alignItems:"center",gap:4,minHeight:32,padding:"0 8px",background:"none",border:"none",borderRadius:7,color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),d("common_back")]}):void 0;return(0,n.jsx)(eY,{open:!0,onClose:r,closeLabel:d("dialog_close"),title:c&&null!==h.page?d(sy(m.id)):d("common_settings"),width:920,zIndex:1e3,headerActions:w,contentPadding:"0",children:(0,n.jsx)("div",{className:"settings-layout",children:c?null===h.page?(0,n.jsx)("nav",{"aria-label":d("common_settings"),style:{flex:1,overflowY:"auto"},children:j}):(0,n.jsx)("section",{"aria-label":d(sy(m.id)),className:"settings-content-pane",children:(0,n.jsx)("div",{className:"settings-scroll-region",children:b()})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("nav",{"aria-label":d("common_settings"),style:{width:190,flexShrink:0,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",overflowY:"auto"},children:j}),(0,n.jsx)("section",{"aria-label":d(sy(m.id)),className:"settings-content-pane",children:(0,n.jsx)("div",{className:"settings-scroll-region",children:b()})})]})})})}function sR(e,...t){let r=e.toLowerCase();if(!r)return 0;let n=-1;for(let e of t){let t=e.toLowerCase(),i=t.indexOf(r);if(-1===i)continue;let o=1e3-2*i-(t.length>r.length);o>n&&(n=o)}if(n>=0)return n;for(let e of r)if(!t.some(t=>t.toLowerCase().indexOf(e,0)>=0))return -1;return 1}function sI({open:e,onClose:t,onSelectSession:r,onNewSession:o,onOpenFile:l,onOpenSettings:a,onToggleTheme:s,cwd:d}){let{t:c}=(0,es.s9)(),[u,p]=(0,i.useState)(""),[h,f]=(0,i.useState)([]),[g,x]=(0,i.useState)([]),[m,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(0),j=(0,i.useRef)(null),w=(0,i.useRef)(0);(0,i.useEffect)(()=>{if(!e)return;p(""),b(0),j.current?.focus();let t=!1;return(async()=>{try{let e=await fetch("/api/sessions"),r=((await e.json()).sessions??[]).map(e=>({id:e.id,title:e.name||e.firstMessage||e.id.slice(0,12),cwd:e.cwd??"",session:e}));t||f(r)}catch{}})(),()=>{t=!0}},[e]),(0,i.useEffect)(()=>{if(!e||!d||u.trim().length<2)return void x([]);let t=++w.current,r=setTimeout(()=>{(async()=>{v(!0);try{let e=new URLSearchParams({cwd:d,q:u.trim()}),r=await fetch(`/api/file-index?${e.toString()}`),n=((await r.json()).files??[]).slice(0,12).map(e=>({path:e,name:e.split("/").pop()??e}));t===w.current&&x(n)}catch{t===w.current&&x([])}finally{t===w.current&&v(!1)}})()},180);return()=>clearTimeout(r)},[e,d,u]);let k=(0,i.useMemo)(()=>{let e=u.trim();return e?h.map(t=>({s:t,score:sR(e,t.title,t.cwd)})).filter(e=>e.score>=0).sort((e,t)=>t.score-e.score).slice(0,8).map(e=>e.s):h.slice(0,8)},[h,u]),S=(0,i.useMemo)(()=>{let e=u.trim(),t=[],n=[{key:"new",kind:"action",title:c("palette_newSession"),run:o},{key:"theme",kind:"action",title:c("palette_toggleTheme"),run:s},{key:"set-models",kind:"action",title:c("palette_settingsModels"),run:()=>a("models")},{key:"set-skills",kind:"action",title:c("palette_settingsSkills"),run:()=>a("skills")},{key:"set-plugins",kind:"action",title:c("palette_settingsPlugins"),run:()=>a("plugins")}];for(let i of(e?t.push(...n.filter(t=>sR(e,t.title)>=0)):t.push(...n),k))t.push({key:`s:${i.id}`,kind:"session",title:i.title,subtitle:i.cwd,run:()=>r(i.session)});for(let e of g)t.push({key:`f:${e.path}`,kind:"file",title:e.name,subtitle:e.path,run:()=>l(e.path,e.name)});return t},[k,g,u,c,o,r,l,a,s]);return((0,i.useEffect)(()=>{if(!e)return;let r=e=>{if("ArrowDown"===e.key)e.preventDefault(),b(e=>Math.min(e+1,S.length-1));else if("ArrowUp"===e.key)e.preventDefault(),b(e=>Math.max(e-1,0));else if("Enter"===e.key){e.preventDefault();let r=S[Math.min(y,S.length-1)];r&&(t(),r.run())}else"Escape"===e.key&&(e.preventDefault(),t())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e,S,y,t]),(0,i.useEffect)(()=>{b(0)},[u]),e)?(0,n.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":c("palette_title"),style:{position:"fixed",inset:0,zIndex:200,display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh",padding:"12vh 20px 20px",background:"rgba(0,0,0,0.28)"},onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,n.jsxs)("div",{style:{width:"min(620px, 100%)",maxHeight:"70vh",display:"flex",flexDirection:"column",borderRadius:12,border:"1px solid var(--border)",background:"var(--bg)",boxShadow:"0 24px 70px rgba(0,0,0,0.3)",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,n.jsx)("path",{d:"m21 21-4.3-4.3"})]}),(0,n.jsx)("input",{ref:j,value:u,onChange:e=>p(e.target.value),placeholder:c("palette_placeholder"),"aria-label":c("palette_title"),style:{flex:1,minWidth:0,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:14,fontFamily:"inherit"}}),m&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:c("palette_searching")})]}),(0,n.jsxs)("div",{style:{overflowY:"auto",padding:6,flex:1},children:[0===S.length&&(0,n.jsx)("div",{style:{padding:"14px 12px",fontSize:12,color:"var(--text-dim)"},children:c("palette_noResults")}),S.map((e,r)=>{let i=r===y;return(0,n.jsxs)("button",{type:"button",onMouseEnter:()=>b(r),onClick:()=>{t(),e.run()},style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2,width:"100%",padding:"7px 10px",borderRadius:8,border:"none",background:i?"var(--bg-selected)":"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5},children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:7,minWidth:0,maxWidth:"100%"},children:["session"===e.kind&&(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.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"})}),"file"===e.kind&&(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),"action"===e.kind&&(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-dim)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("polyline",{points:"9 10 4 15 9 20"}),(0,n.jsx)("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title})]}),e.subtitle&&(0,n.jsx)("span",{style:{fontSize:10.5,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%",paddingLeft:18},children:e.subtitle})]},e.key)})]})]})}):null}async function sT(e,t){let r=await fetch("/api/update/apply?stream=1",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({version:e,stream:!0})});if(!r.ok||!r.body){let t=await r.json().catch(()=>null);return{ok:!1,status:t?.status||"error",message:t?.message||`HTTP ${r.status}`,targetVersion:t?.targetVersion??e}}let n=r.body.getReader(),i=new TextDecoder,o="",l=null;for(;;){let{done:e,value:r}=await n.read();if(e)break;let a=(o+=i.decode(r,{stream:!0})).split("\n\n");for(let e of(o=a.pop()??"",a)){let r=e.split("\n").find(e=>e.startsWith("data: "));if(r)try{let e=JSON.parse(r.slice(6));"progress"===e.type&&e.phase?t({phase:e.phase,percent:"number"==typeof e.percent?e.percent:0,message:e.message||""}):"result"===e.type&&e.result&&(l=e.result)}catch{}}}return l??{ok:!1,status:"error",message:"升级未返回结果",targetVersion:e}}function sM(e){return new Promise(t=>{setTimeout(t,e)})}async function sE(e={}){let t=e.timeoutMs??18e4,r=e.intervalMs??1500,n=e.fetchImpl??globalThis.fetch.bind(globalThis),i=e.now??Date.now,o=e.sleepImpl??sM,l=i();for(;i()-l<t;){e.onTick?.(i()-l);try{let t=await n("/api/about",{cache:"no-store",credentials:"same-origin"});if(401===t.status||403===t.status)return!0;if(t.ok){let r=await t.json();if(!e.expectedVersion||"string"==typeof r.version&&r.version===e.expectedVersion)return!0}}catch{}await o(r)}return!1}async function sz(e,t,r){var n,i;let o,l="preparing",a=r?.wait??sE,s=e=>{l=e.phase,t(e)};try{o=await sT(e,s)}catch(t){o={ok:!1,status:"error",message:t instanceof Error?t.message:String(t),targetVersion:e}}if(!(o.ok&&("upgraded"===o.status||"already_latest"===o.status)||(n=l,!(i=o).ok&&(i.message.includes("升级未返回结果")||/network|fetch|abort|failed/i.test(i.message))&&("restarting"===n||"linking"===n||"done"===n))))return o;let d=o.targetVersion??e;return(s({phase:"waiting",percent:97,message:"等待服务就绪…"}),await a({expectedVersion:"already_latest"===o.status?void 0:d,fetchImpl:r?.fetchImpl,onTick:e=>{s({phase:"waiting",percent:Math.min(99,97+Math.floor(e/3e4)),message:"等待服务就绪…"})}}))?{ok:!0,status:o.ok?o.status:"upgraded",message:o.ok?o.message:`已升级到 ${d}`,targetVersion:d}:{ok:!1,status:"error",message:"已切换版本,但等待服务就绪超时,请手动刷新",targetVersion:d}}function sW(){let{t:e}=(0,es.s9)(),[t,r]=(0,i.useState)(!1),[n,o]=(0,i.useState)(null),[l,a]=(0,i.useState)(null),[s,d]=(0,i.useState)(null),[c,u]=(0,i.useState)(!1),p=(0,i.useCallback)(()=>{r(!1),o(null),a(null),d(null)},[]);return{overlay:t,progress:n,resultMsg:l,doneOk:s,busy:c,run:(0,i.useCallback)(async t=>{u(!0),r(!0),d(null),a(null),o({phase:"preparing",percent:3,message:e("update_phasePreparing")});try{let r=await sz(t,o),n=!!(r.ok&&("upgraded"===r.status||"already_latest"===r.status));if(d(n),n){let n=e("about_upgradeDone",{version:r.targetVersion??t});return o({phase:"done",percent:100,message:n}),a(n),window.location.reload(),{ok:!0,message:n}}let i="not_supported"===r.status?e("about_upgradeNotSupported"):e("about_upgradeFailed",{message:r.message});return o({phase:"error",percent:100,message:r.message}),a(i),{ok:!1,message:i,status:r.status}}catch(n){let t=n instanceof Error?n.message:String(n),r=e("about_upgradeFailed",{message:t});return d(!1),o({phase:"error",percent:100,message:t}),a(r),{ok:!1,message:r}}finally{u(!1)}},[e]),close:p}}function sL({currentVersion:e,latestVersion:t,progress:r,resultMsg:i,doneOk:o,onReload:l,onClose:a}){let{t:s}=(0,es.s9)(),d=null===o;return(0,n.jsx)("div",{role:"alertdialog","aria-modal":"true","aria-busy":d,"aria-label":s("update_overlayTitle"),style:{position:"fixed",inset:0,zIndex:400,background:"color-mix(in srgb, var(--bg) 72%, #000)",backdropFilter:"blur(6px)",display:"flex",alignItems:"center",justifyContent:"center",padding:24},children:(0,n.jsxs)("div",{style:{width:"min(100%, 420px)",borderRadius:14,border:"1px solid var(--border)",background:"var(--bg-panel)",boxShadow:"0 20px 48px color-mix(in srgb, var(--text) 18%, transparent)",padding:"28px 24px 22px",display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsx)("div",{style:{fontSize:16,fontWeight:700,color:"var(--text)",textAlign:"center"},children:s("update_overlayTitle")}),(e||t)&&(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",textAlign:"center",fontVariantNumeric:"tabular-nums"},children:[e," → ",t]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,alignItems:"center",textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:650,color:"var(--text)"},children:s(r?function(e){switch(e){case"preparing":return"update_phasePreparing";case"downloading":return"update_phaseDownloading";case"installing":return"update_phaseInstalling";case"linking":return"update_phaseLinking";case"restarting":return"update_phaseRestarting";case"waiting":return"update_phaseWaiting";case"done":return"update_phaseDone";default:return"update_phaseError"}}(r.phase):"update_phasePreparing")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.55,minHeight:36,maxWidth:320},children:r?.message||s("update_phasePreparing")}),d&&(0,n.jsx)("div",{"aria-hidden":"true",style:{width:28,height:28,borderRadius:"50%",border:"2px solid var(--border)",borderTopColor:"var(--accent)",animation:"sidebar-running-spin 0.9s linear infinite"}})]}),i&&null!==o&&(0,n.jsxs)("div",{style:{fontSize:12,color:o?"var(--status-success)":"var(--status-danger)",textAlign:"center",whiteSpace:"pre-wrap"},children:[i,o&&(0,n.jsx)("div",{style:{marginTop:6,color:"var(--text-dim)",fontSize:11},children:s("update_reloadHint")})]}),null!==o&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",gap:8},children:o?(0,n.jsx)("button",{type:"button",onClick:l,style:{padding:"8px 16px",borderRadius:8,border:"none",background:"var(--accent)",color:"#fff",fontWeight:600,fontSize:12,cursor:"pointer"},children:s("update_reload")}):(0,n.jsx)("button",{type:"button",onClick:a,style:{padding:"8px 16px",borderRadius:8,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontWeight:600,fontSize:12,cursor:"pointer"},children:s("close")})})]})})}var sA=r(41463);function sP(e){let t=sA.env[e];if("string"!=typeof t)return;let r=t.trim();return r&&"unknown"!==r?r:void 0}function s$(...e){for(let t of e)if("string"==typeof t){let e=t.trim();if(e)return e}return"—"}function sH({open:e,onClose:t}){let{t:r}=(0,es.s9)(),[o,l]=(0,i.useState)(()=>({name:"Pidance",version:sP("NEXT_PUBLIC_APP_VERSION"),piSdkVersion:sP("NEXT_PUBLIC_PI_VERSION"),homepage:"https://github.com/henlii/pidance#readme",repository:"https://github.com/henlii/pidance"})),[a,s]=(0,i.useState)(!1),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(null),{overlay:h,progress:f,resultMsg:g,doneOk:x,busy:m,run:v,close:y}=sW();(0,i.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await fetch("/api/about",{cache:"no-store"});if(!e.ok)return;let r=await e.json();if(t)return;l(e=>({name:r.name||e.name||"Pidance",version:r.version||e.version||sP("NEXT_PUBLIC_APP_VERSION"),piSdkVersion:r.piSdkVersion||e.piSdkVersion||sP("NEXT_PUBLIC_PI_VERSION"),homepage:r.homepage||e.homepage,repository:r.repository||e.repository}))}catch{}})(),()=>{t=!0}},[e]);let b=(0,i.useCallback)(async()=>{s(!0),p(null);try{let e=await fetch("/api/update/check",{cache:"no-store"});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();c(t),t.updateAvailable?p(r("about_updateAvailable",{current:t.currentVersion,latest:t.latestVersion??"?"})):p(r("about_upToDate",{version:t.currentVersion}))}catch(e){p(r("about_upgradeFailed",{message:e instanceof Error?e.message:String(e)}))}finally{s(!1)}},[r]),j=(0,i.useCallback)(async()=>{d?.updateAvailable&&d.latestVersion&&(p(null),p((await v(d.latestVersion)).message))},[d,v]),w=o.repository??o.homepage??"https://github.com/henlii/pidance",k=s$(o.version,sP("NEXT_PUBLIC_APP_VERSION")),S=s$(o.piSdkVersion,sP("NEXT_PUBLIC_PI_VERSION"));return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eY,{open:e,onClose:t,title:r("about_title"),width:360,closeLabel:r("close"),contentPadding:"20px 22px 22px",children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",gap:14},children:[(0,n.jsx)("img",{src:"/brand/pidance-logo.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:14,objectFit:"contain",flexShrink:0}}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[(0,n.jsx)("div",{style:{fontSize:17,fontWeight:650,color:"var(--text)",letterSpacing:"-0.01em"},children:"Pidance"}),(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.65,fontVariantNumeric:"tabular-nums"},children:[(0,n.jsx)("div",{children:r("about_version",{version:k})}),(0,n.jsx)("div",{children:r("about_piSdkVersion",{version:S})})]})]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,width:"100%",alignItems:"center"},children:[(0,n.jsx)("button",{type:"button",disabled:a||m,onClick:()=>{b()},style:{padding:"6px 14px",borderRadius:8,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",fontSize:12,fontWeight:600,cursor:a||m?"wait":"pointer"},children:a?r("about_checkingUpdate"):r("about_checkUpdate")}),u&&(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.5,maxWidth:280},children:[u,d&&!d.upgradeSupported&&d.updateAvailable&&(0,n.jsx)("div",{style:{marginTop:4,color:"var(--text-dim)"},children:r("update_bannerWorkspace")})]}),d?.updateAvailable&&d.upgradeSupported&&(0,n.jsx)("button",{type:"button",disabled:m,onClick:()=>{j()},style:{padding:"6px 14px",borderRadius:8,border:"none",background:"var(--accent)",color:"#fff",fontSize:12,fontWeight:600,cursor:m?"wait":"pointer",opacity:m?.7:1},children:m?r("about_upgrading"):r("about_upgradeNow")})]}),(0,n.jsxs)("a",{href:w,target:"_blank",rel:"noopener noreferrer",style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:12,color:"var(--text-muted)",textDecoration:"none",padding:"4px 8px",borderRadius:6,transition:"color 0.12s, background 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="transparent"},children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 2C6.477 2 2 6.477 2 12c0 4.418 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.604-3.369-1.341-3.369-1.341-.454-1.155-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.936.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.749 0 .267.18.579.688.481C19.138 20.163 22 16.416 22 12c0-5.523-4.477-10-10-10Z"})}),(0,n.jsx)("span",{children:r("about_github")})]}),(0,n.jsx)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5,maxWidth:260},children:r("about_footerNote")})]})}),h&&(0,n.jsx)(sL,{currentVersion:d?.currentVersion,latestVersion:d?.latestVersion,progress:f,resultMsg:g,doneOk:x,onReload:()=>{window.location.reload()},onClose:y})]})}function sD(e){let t=e;for(;t&&t!==document.body;){if(t instanceof HTMLElement&&t.hasAttribute("data-tooltip")){let e=t.getAttribute("data-tooltip");if(e&&e.trim())return t}t=t.parentElement}return null}function sF(){let[e,t]=(0,i.useState)(null),[r,o]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{o(!0)},[]),(0,i.useEffect)(()=>{if(!r)return;let e=null,n=null,i=()=>{e=null,t(null)},o=r=>{let o,l,a=r.getAttribute("data-tooltip")?.trim();if(!a)return void i();e=r;let s=r.getBoundingClientRect();n||((n=document.createElement("div")).setAttribute("aria-hidden","true"),n.style.cssText="position:fixed;left:-9999px;top:0;visibility:hidden;pointer-events:none;max-width:min(280px,calc(100vw - 16px));padding:5px 8px;font-size:11px;font-weight:400;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;border:1px solid transparent;box-sizing:border-box;",document.body.appendChild(n)),n.textContent=a;let d=Math.ceil(n.getBoundingClientRect().width)||80,c=Math.ceil(n.getBoundingClientRect().height)||28;t({text:a,...(o="down",(l=s.bottom+6)+c>window.innerHeight-8&&s.top-6-c>=8&&(o="up",l=s.top-6-c),l=Math.max(8,Math.min(l,window.innerHeight-c-8)),{left:Math.max(8,Math.min(s.left+s.width/2-d/2,window.innerWidth-d-8)),top:l,placement:o})})},l=t=>{let r=sD(t.target);if(!r){e&&i();return}r!==e&&o(r)},a=()=>{e&&document.contains(e)?o(e):i()};return document.addEventListener("mouseover",l,!0),document.addEventListener("focusin",l,!0),document.addEventListener("mouseout",t=>{let r=t.relatedTarget;e&&r&&e.contains(r)||e&&!sD(r)&&i()},!0),document.addEventListener("focusout",t=>{let r=t.relatedTarget;e&&r&&sD(r)||i()},!0),window.addEventListener("scroll",a,!0),window.addEventListener("resize",a),()=>{document.removeEventListener("mouseover",l,!0),document.removeEventListener("focusin",l,!0),window.removeEventListener("scroll",a,!0),window.removeEventListener("resize",a),n?.remove()}},[r]),r&&e)?(0,a.createPortal)((0,n.jsx)("div",{role:"tooltip",className:"instant-tooltip-layer",style:{position:"fixed",left:e.left,top:e.top,zIndex:10050,maxWidth:"min(280px, calc(100vw - 16px))",padding:"5px 8px",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",background:"var(--bg-elevated)",color:"var(--text)",boxShadow:"var(--shadow-float)",fontSize:11,fontWeight:400,lineHeight:1.35,whiteSpace:"normal",overflowWrap:"anywhere",wordBreak:"break-word",pointerEvents:"none"},children:e.text}),document.body):null}function sN(e){return`pidance.update.dismissed.${e}`}function sB(e){try{sessionStorage.setItem(sN(e),"1")}catch{}}function sO(){let{t:e}=(0,es.s9)(),[t,r]=(0,i.useState)(null),[o,l]=(0,i.useState)(!1),{overlay:a,progress:s,resultMsg:d,doneOk:c,run:u,close:p}=sW();(0,i.useEffect)(()=>{if(!K())return;let e=!1;return(async()=>{try{let t=await fetch("/api/update/check",{cache:"no-store"});if(!t.ok)return;let n=await t.json();if(e)return;r(n),n.updateAvailable&&n.latestVersion&&!function(e){try{return"1"===sessionStorage.getItem(sN(e))}catch{return!1}}(n.latestVersion)&&l(!0)}catch{}})(),()=>{e=!0}},[]);let h=async()=>{t?.updateAvailable&&t.latestVersion&&(l(!1),(await u(t.latestVersion)).ok?sB(t.latestVersion):l(!0))},f="var(--accent)";return(0,n.jsxs)(n.Fragment,{children:[o&&t?.updateAvailable&&t.latestVersion&&!a&&(0,n.jsxs)("div",{role:"status",className:"notice-shelf-item",style:{position:"fixed",bottom:16,right:16,zIndex:260,display:"flex",flexDirection:"column",gap:8,width:"min(100% - 24px, 360px)",padding:"10px 12px",borderRadius:10,border:`1px solid color-mix(in srgb, ${f} 42%, var(--border))`,borderLeft:`3px solid ${f}`,background:`color-mix(in srgb, ${f} 10%, var(--bg-panel))`,boxShadow:"0 12px 32px color-mix(in srgb, var(--text) 16%, transparent)",fontSize:12,color:"var(--text)",pointerEvents:"auto"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,n.jsx)("span",{style:{fontWeight:650,fontSize:13},children:e("update_bannerTitle")}),(0,n.jsx)("button",{type:"button",onClick:()=>{t?.latestVersion&&sB(t.latestVersion),l(!1)},"aria-label":e("update_bannerDismiss"),style:{border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:11,padding:"2px 4px"},children:e("update_bannerDismiss")})]}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontVariantNumeric:"tabular-nums"},children:e("update_bannerBody",{current:t.currentVersion,latest:t.latestVersion})}),!t.upgradeSupported&&(0,n.jsx)("div",{style:{color:"var(--text-dim)",fontSize:11},children:e("update_bannerWorkspace")}),(0,n.jsx)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end"},children:t.upgradeSupported&&(0,n.jsx)("button",{type:"button",onClick:()=>{h()},style:{padding:"6px 12px",borderRadius:8,border:"none",background:"var(--accent)",color:"#fff",fontSize:12,fontWeight:600,cursor:"pointer"},children:e("about_upgradeNow")})})]}),a&&(0,n.jsx)(sL,{currentVersion:t?.currentVersion,latestVersion:t?.latestVersion,progress:s,resultMsg:d,doneOk:c,onReload:()=>{window.location.reload()},onClose:()=>{p(),l(!0)}})]})}function sU({size:e=10}){return(0,n.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{flexShrink:0},children:(0,n.jsx)("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})}function sq({node:e,activePathIds:t,activeLeafId:r,depth:i,isLast:o,parentLines:l,onActivate:a,assistantLabel:s,bookmarkAria:d,switchable:c,switchTargetId:u,chooserFor:p,disabled:h,preserveRoot:f=!1}){let{node:g,skipped:x}=function(e,t=!1){let r=e,n=r.compressedEntryIds?.length??0;for(;!t&&1===r.children.length&&null===rI(r.label);)r=r.children[0],n+=1+(r.compressedEntryIds?.length??0);return{node:r,skipped:n}}(e,f),m=t.has(g.entry.id),v=t.has(e.entry.id)||t.has(g.entry.id),y=g.entry.id===r,b=rI(g.label),j=function(e){if("message"===e.type&&"message"in e){let t=e.message,r=t.content,n="";if("string"==typeof r?n=r:Array.isArray(r)&&(n=r.filter(e=>"text"===e.type).map(e=>e.text).join(" ")),n.length>40&&(n=n.slice(0,40)+"…"),n)return n;if("assistant"===t.role)return"[assistant]"}return e.type}(g.entry),w="[assistant]"===j?s:j,k=b??w,S="message"===g.entry.type&&"message"in g.entry?g.entry.message.role:null;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{type:"button",disabled:h,onClick:()=>a(g),"aria-current":y?"true":void 0,"aria-expanded":c&&!y?u===g.entry.id:void 0,"aria-label":b?`${b} — ${d}`:void 0,title:b?`${b} — ${w}`:w,style:{display:"flex",alignItems:"center",width:"100%",height:24,padding:0,background:"none",border:"none",font:"inherit",textAlign:"left",cursor:h?"default":"pointer"},children:[l.map((e,t)=>(0,n.jsx)("div",{style:{width:16,flexShrink:0,position:"relative",height:"100%",alignSelf:"stretch"},children:e&&(0,n.jsx)("div",{style:{position:"absolute",left:7,top:0,bottom:0,width:1,background:"var(--border)"}})},t)),(0,n.jsxs)("div",{style:{width:16,flexShrink:0,position:"relative",height:"100%",alignSelf:"stretch"},children:[(0,n.jsx)("div",{style:{position:"absolute",left:7,top:0,bottom:o?"50%":0,width:1,background:"var(--border)"}}),(0,n.jsx)("div",{style:{position:"absolute",left:7,top:"50%",width:9,height:1,background:"var(--border)"}})]}),(0,n.jsx)("div",{style:{width:7,height:7,borderRadius:"50%",flexShrink:0,background:m?"var(--accent)":v?"var(--text-muted)":"var(--border)",border:m?"none":"1px solid var(--text-dim)",marginRight:6,transition:"background 0.12s"}}),b?(0,n.jsx)("span",{style:{display:"flex",color:"var(--accent)",marginRight:5,flexShrink:0},children:(0,n.jsx)(sU,{size:9})}):S?(0,n.jsx)("span",{style:{fontSize:9,fontFamily:"var(--font-mono)",color:"user"===S?"var(--accent)":"var(--text-dim)",background:"user"===S?"rgba(37,99,235,0.08)":"var(--bg-hover)",border:`1px solid ${"user"===S?"rgba(37,99,235,0.2)":"var(--border)"}`,borderRadius:3,padding:"0 4px",marginRight:5,flexShrink:0,lineHeight:"16px"},children:"user"===S?"U":"A"}):null,x>0&&(0,n.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)",marginRight:5,flexShrink:0},children:["+",x]}),(0,n.jsx)("span",{style:{fontSize:11,color:m||b?"var(--text)":v?"var(--text-muted)":"var(--text-dim)",fontWeight:m?500:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0},children:k})]}),p(g.entry.id,(l.length+1)*16+4),g.children.map((e,f)=>(0,n.jsx)(sq,{node:e,activePathIds:t,activeLeafId:r,depth:i+1,isLast:f===g.children.length-1,parentLines:[...l,!o],onActivate:a,assistantLabel:s,bookmarkAria:d,switchable:c,switchTargetId:u,chooserFor:p,disabled:h,preserveRoot:!1},e.entry.id))]})}function sK({title:e,desc:t,onClick:r}){return(0,n.jsxs)("button",{type:"button",onClick:r,style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:1,width:"100%",minHeight:34,padding:"5px 8px",background:"none",border:"none",borderRadius:5,cursor:"pointer",textAlign:"left",font:"inherit"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="none"},children:[(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",lineHeight:1.4},children:e}),(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",lineHeight:1.3},children:t})]})}function sV({indent:e,mode:t,busy:r,pendingLabel:i,error:o,customFocus:l,onModeChange:a,onFocusChange:s,onChoose:d,onCancel:c,t:u}){return(0,n.jsxs)("div",{role:"group","aria-label":u("branches_switchPrompt"),onKeyDown:e=>{"Escape"!==e.key||r||(e.stopPropagation(),c())},style:{margin:"1px 0 4px",marginLeft:Math.min(e,64),border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",padding:4},children:[r?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",fontSize:12,color:"var(--text-muted)"},children:[(0,n.jsxs)("svg",{className:"animate-spin",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2",opacity:"0.25"}),(0,n.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),i]}):"options"===t?(0,n.jsxs)("div",{children:[(0,n.jsx)(sK,{title:u("branches_switchDirect"),desc:u("branches_switchDirectHint"),onClick:()=>d({mode:"direct"})}),(0,n.jsx)(sK,{title:u("branches_switchSummary"),desc:u("branches_switchSummaryHint"),onClick:()=>d({mode:"summary"})}),(0,n.jsx)(sK,{title:u("branches_switchCustom"),desc:u("branches_switchCustomHint"),onClick:()=>a("custom")})]}):(0,n.jsxs)("div",{style:{padding:4},children:[(0,n.jsx)("input",{autoFocus:!0,value:l,onChange:e=>s(e.target.value),onKeyDown:e=>{"Enter"===e.key&&l.trim()&&d({mode:"custom",focus:l}),"Escape"===e.key&&(e.stopPropagation(),a("options"))},placeholder:u("branches_switchCustomPlaceholder"),"aria-label":u("branches_switchCustom"),style:{width:"100%",height:28,padding:"0 8px",fontSize:12,color:"var(--text)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5,boxSizing:"border-box"}}),(0,n.jsxs)("div",{style:{display:"flex",gap:6,marginTop:6},children:[(0,n.jsx)("button",{type:"button",disabled:!l.trim(),onClick:()=>d({mode:"custom",focus:l}),style:{minHeight:28,padding:"0 10px",fontSize:11,borderRadius:5,border:"1px solid var(--accent)",background:l.trim()?"var(--accent)":"transparent",color:l.trim()?"#fff":"var(--text-dim)",cursor:l.trim()?"pointer":"not-allowed"},children:u("branches_switchCustomSubmit")}),(0,n.jsx)("button",{type:"button",onClick:()=>a("options"),style:{minHeight:28,padding:"0 10px",fontSize:11,borderRadius:5,border:"1px solid var(--border)",background:"none",color:"var(--text-muted)",cursor:"pointer"},children:u("branches_switchBack")})]})]}),o&&(0,n.jsx)("div",{role:"alert",style:{padding:"4px 8px 2px",fontSize:11,color:"var(--status-danger)",lineHeight:1.4},children:o})]})}function sJ({currentLabel:e,disabled:t,onSubmit:r,t:o}){let[l,a]=(0,i.useState)(!1),[s,d]=(0,i.useState)(""),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)(null),f=(0,i.useRef)(null);(0,i.useEffect)(()=>{l&&f.current?.focus()},[l]);let g=t||c,x=s.trim(),m=x===(e??""),v=async e=>{if(g)return;let t=e.trim();if(t.length>120)return void h(o("branches_bookmarkTooLong",{max:120}));u(!0),h(null);let n=await r(t);(u(!1),"ok"===n.kind)?a(!1):"busy"===n.kind?h(o("branches_waitForRun")):h("error"===n.kind&&n.message?`${o("branches_bookmarkFailed")}: ${n.message}`:o("branches_bookmarkFailed"))},y=e=>{d(e),h(null),a(!0)},b={display:"inline-flex",alignItems:"center",gap:4,minHeight:28,padding:"0 8px",fontSize:11,borderRadius:5,border:"1px solid var(--border)",background:"none",color:"var(--text-muted)",cursor:g?"not-allowed":"pointer",flexShrink:0,opacity:g?.55:1};return(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"6px 12px 8px",flexShrink:0},children:l?(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,n.jsx)("input",{ref:f,value:s,maxLength:120,disabled:c,onChange:e=>{d(e.target.value),h(null)},onKeyDown:e=>{"Enter"===e.key&&x&&!m&&v(x),"Escape"===e.key&&(a(!1),h(null))},placeholder:o("branches_bookmarkPlaceholder"),"aria-label":o("branches_bookmarkPlaceholder"),style:{flex:1,minWidth:0,height:28,padding:"0 8px",fontSize:12,color:"var(--text)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5}}),(0,n.jsx)("button",{type:"button",disabled:g||!x||m,onClick:()=>void v(x),style:{...b,border:"1px solid var(--accent)",background:!x||m?"transparent":"var(--accent)",color:!x||m?"var(--text-dim)":"#fff",cursor:g||!x||m?"not-allowed":"pointer",opacity:1},children:o("branches_bookmarkSave")}),(0,n.jsx)("button",{type:"button",disabled:c,onClick:()=>{a(!1),h(null)},style:b,children:o("branches_bookmarkCancel")})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:4,minHeight:14},children:[p?(0,n.jsx)("span",{role:"alert",style:{fontSize:10,color:"var(--status-danger)",lineHeight:1.4},children:p}):(0,n.jsx)("span",{}),(0,n.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)",flexShrink:0},children:[s.length,"/",120]})]})]}):(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8,minHeight:28},children:[(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",letterSpacing:"0.04em",textTransform:"uppercase",flexShrink:0},children:o("branches_currentPoint")}),e?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{title:e,style:{display:"inline-flex",alignItems:"center",gap:4,minWidth:0,flex:1,fontSize:11,color:"var(--text)"},children:[(0,n.jsx)("span",{style:{color:"var(--accent)",display:"flex",flexShrink:0},children:(0,n.jsx)(sU,{size:10})}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]}),(0,n.jsx)("button",{type:"button",disabled:g,onClick:()=>y(e),title:o("branches_editBookmark"),style:b,children:o("branches_editBookmark")}),(0,n.jsx)("button",{type:"button",disabled:g,onClick:()=>void v(""),title:o("branches_removeBookmark"),style:b,children:o("branches_removeBookmark")})]}):(0,n.jsxs)("button",{type:"button",disabled:g,onClick:()=>y(""),style:{...b,gap:5},children:[(0,n.jsx)(sU,{size:10}),o("branches_addBookmark")]})]}),p&&(0,n.jsx)("div",{role:"alert",style:{marginTop:4,fontSize:10,color:"var(--status-danger)",lineHeight:1.4},children:p})]})})}function sY({tree:e,activeLeafId:t,onLeafChange:r,inline:o,containerRef:l,open:a,onToggle:s,hasSession:d,compact:c,branchActions:u,panel:p}){let{t:h}=(0,es.s9)(),[f,g]=(0,i.useState)(!1),x=void 0!==a?a:f,m=(0,i.useRef)(null),[v,y]=(0,i.useState)(null),[b,j]=(0,i.useState)(null),[w,k]=(0,i.useState)("options"),[S,C]=(0,i.useState)(""),[_,R]=(0,i.useState)(null),[I,T]=(0,i.useState)(null),M=u?.canWrite===!0,E=u?.busy===!0;(0,i.useEffect)(()=>{if(!x||!o)return;let e=l?.current??m.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();y({top:t.bottom,left:t.left,width:t.width})};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[x,o,l]),(0,i.useEffect)(()=>{x||(j(null),R(null),k("options"),C(""),T(null))},[x]),(0,i.useEffect)(()=>{j(null),R(null)},[e]);let z=(0,i.useMemo)(()=>t?new Set(function e(r,n){for(let i of r){let r=[...n,i.entry.id];if(i.entry.id===t||i.compressedEntryIds?.includes(t))return r;let o=e(i.children,r);if(o)return o}return null}(e,[])??[]):new Set,[e,t]),W=(0,i.useMemo)(()=>(function(e){let t=[...e];for(;t.length>0;){let e=t.pop();if(null!==rI(e.label))return!0;t.push(...e.children)}return!1})(e),[e]),L=(0,i.useMemo)(()=>(function(e,t){if(!t)return null;let r=[...e];for(;r.length>0;){let e=r.pop();if(e.entry.id===t||e.compressedEntryIds?.includes(t))return rI(e.label);r.push(...e.children)}return null})(e,t),[e,t]),A=(0,i.useCallback)(()=>{if(void 0!==a){a&&s?.();return}g(!1)},[a,s]),P=(0,i.useCallback)(e=>{if(E)return;let n=e.entry.id;if(n===t)return void j(null);if(M){R(null),k("options"),C(""),j(e=>e===n?null:n);return}r(n)},[E,t,M,r]),$=(0,i.useCallback)(async e=>{if(!u||!b||u.busy)return;R(null),T(e.mode);let t=await u.navigate(b,e);if(T(null),"ok"===t.kind){j(null),A();return}"cancelled"===t.kind?j(null):"busy"===t.kind?R(h("branches_waitForRun")):R(t.message?`${h("branches_switchFailed")}: ${t.message}`:h("branches_switchFailed"))},[u,b,A,h]),H=(0,i.useCallback)((e,t)=>b===e&&M?(0,n.jsx)(sV,{indent:t,mode:w,busy:null!==I||E,pendingLabel:"direct"===I?h("branches_switching"):h("branches_summarizing"),error:_,customFocus:S,onModeChange:e=>{k(e),R(null)},onFocusChange:C,onChoose:e=>void $(e),onCancel:()=>j(null),t:h}):null,[b,M,w,I,E,_,S,$,h]),D=!t||(function e(t,r){for(let n of t){if(n.entry.id===r)return 0===n.children.length;if(n.compressedEntryIds?.includes(r))return!1;let t=e(n.children,r);if(null!==t)return t}return null}(e,t)??!0),F=d?function e(t){for(let r of t)if(r.children.length>1||e(r.children))return!0;return!1}(e)||W||!D?null:h("branches_empty"):h("branches_noSession"),N=e.length>0?[e[0]]:[],B=!F&&N.length>0,O=p&&!D&&!F,U=h("branches_assistant"),q=h("branches_bookmarkAria"),K=O?(0,n.jsx)("div",{style:{padding:"4px 12px 2px 12px",fontSize:11,color:"var(--text-dim)"},children:h("branches_currentPosition")}):null,V=(0,n.jsxs)(n.Fragment,{children:[K,B?(0,n.jsx)("div",{style:{padding:"4px 12px 8px 12px",maxHeight:260,overflowY:"auto"},children:N.map((e,r)=>(0,n.jsx)(sq,{node:e,activePathIds:z,activeLeafId:t,depth:0,isLast:r===N.length-1,parentLines:[],onActivate:P,assistantLabel:U,bookmarkAria:q,switchable:M,switchTargetId:b,chooserFor:H,disabled:E,preserveRoot:!0},e.entry.id))}):(0,n.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:F})]}),J=M&&t?(0,n.jsx)(sJ,{currentLabel:L,disabled:E,onSubmit:e=>u.setLabel(t,e),t:h},t):null,Y=E?(0,n.jsxs)("svg",{className:"animate-spin",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--accent)",flexShrink:0},children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2",opacity:"0.25"}),(0,n.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:B?"var(--accent)":"var(--text-dim)",flexShrink:0},children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),Z=(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--text-dim)",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:2,transform:x?"rotate(180deg)":"none",transition:"transform 0.15s"},children:(0,n.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})});return o?(0,n.jsxs)("div",{style:{height:"100%",display:"flex",alignItems:"stretch"},children:[(0,n.jsxs)("button",{ref:m,onClick:()=>s?s():g(e=>!e),style:{display:"flex",alignItems:"center",gap:6,height:"100%",padding:"0 12px",background:x?"var(--bg-selected)":"none",border:"none",borderTop:x?"2px solid var(--accent)":"2px solid transparent",borderRight:"1px solid var(--border)",cursor:"pointer",color:x?"var(--text)":"var(--text-muted)",fontSize:11,whiteSpace:"nowrap",transition:"color 0.1s, background 0.1s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.color=x?"var(--text)":"var(--text-muted)"},title:h("branches"),"aria-label":h("branches"),"aria-pressed":x,children:[Y,!c&&(0,n.jsx)("span",{children:h("branches")})]}),x&&v&&(0,n.jsxs)("div",{style:{position:"fixed",top:v.top,left:v.left,width:v.width,background:"var(--bg-panel)",borderBottom:"1px solid var(--border)",zIndex:500},children:[V,J]})]}):p?(0,n.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--bg-panel)"},children:[(0,n.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",paddingTop:8},children:V}),J]}):(0,n.jsxs)("div",{style:{borderBottom:"1px solid var(--border)",background:"var(--bg)",flexShrink:0,position:"relative"},children:[(0,n.jsxs)("button",{onClick:()=>g(e=>!e),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"5px 12px",background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",fontSize:11,textAlign:"left"},children:[Y,(0,n.jsx)("span",{style:{color:"var(--text-muted)"},children:h("branches")}),Z]}),x&&(0,n.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,background:"var(--bg)",borderBottom:"1px solid var(--border)",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",zIndex:100},children:[V,J]})]})}var sZ=r(8422),sX=r(63606);r(82407);var sG=r(1164);let sQ="pidance.terminalPad",s0=[{id:"esc",label:"Esc",send:"\\e"},{id:"tab",label:"Tab",send:"\\t"},{id:"ctrl-c",label:"Ctrl-C",send:"\\x03"},{id:"ctrl-d",label:"Ctrl-D",send:"\\x04"},{id:"ctrl-z",label:"Ctrl-Z",send:"\\x1a"},{id:"ctrl-l",label:"Ctrl-L",send:"\\x0c"},{id:"up",label:"↑",send:"\\e[A"},{id:"down",label:"↓",send:"\\e[B"},{id:"right",label:"→",send:"\\e[C"},{id:"left",label:"←",send:"\\e[D"},{id:"home",label:"Home",send:"\\e[H"},{id:"end",label:"End",send:"\\e[F"}];function s1(e){return e.replace(/\\e/g,"\x1b").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\x([0-9a-fA-F]{2})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}function s2(e){return!!e&&"object"==typeof e&&"string"==typeof e.id&&e.id.length>0&&"string"==typeof e.label&&"string"==typeof e.send}let s4=[{kind:"special",label:"Esc",send:"\\e"},{kind:"special",label:"Tab",send:"\\t",shiftSend:"\\e[Z"},{kind:"special",label:"Enter",send:"\\r"},{kind:"special",label:"Bksp",send:"\\x7f"},{kind:"special",label:"Space",send:" "},{kind:"special",label:"↑",send:"\\e[A"},{kind:"special",label:"↓",send:"\\e[B"},{kind:"special",label:"→",send:"\\e[C"},{kind:"special",label:"←",send:"\\e[D"},{kind:"special",label:"Home",send:"\\e[H"},{kind:"special",label:"End",send:"\\e[F"}],s6=["1234567890","qwertyuiop","asdfghjkl","zxcvbnm"];function s5(e){return`\\x${e.toString(16).padStart(2,"0")}`}function s8(e,t){let r=[];return e.ctrl&&r.push("Ctrl"),e.alt&&r.push("Alt"),e.shift&&r.push("Shift"),r.push(t),r.join("-")}function s3(){let{t:e}=(0,es.s9)(),t=n7(),{isDark:r}=rr(),o=(0,i.useRef)(null),l=(0,i.useRef)(null),a=(0,i.useRef)(null),s=(0,i.useRef)(()=>!1),[d,c]=(0,i.useState)("idle"),[u,p]=(0,i.useState)(null),[h,f]=(0,i.useState)(!1),[g,x]=(0,i.useState)(()=>(function(){if("u"<typeof localStorage)return{keys:s0.map(e=>({...e})),commands:[]};try{let t=localStorage.getItem(sQ);var e=t?JSON.parse(t):null;if(!e||"object"!=typeof e)return{keys:s0.map(e=>({...e})),commands:[]};let r=Array.isArray(e.keys)?e.keys.filter(s2):[],n=Array.isArray(e.commands)?e.commands.filter(s2):[];return{keys:r.length>0?r:s0.map(e=>({...e})),commands:n}}catch{return{keys:s0.map(e=>({...e})),commands:[]}}})()),[m,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(0),[j,w]=(0,i.useState)(null),[k,S]=(0,i.useState)(""),C=(0,i.useRef)(!1),_=(0,i.useRef)(e);_.current=e;let R=(0,i.useCallback)(e=>{s.current(e),w("\r"===e?"Enter":1===e.length&&32>e.charCodeAt(0)?`^${String.fromCharCode(64+e.charCodeAt(0))}`:e.slice(0,24))},[]),I=(0,i.useCallback)(()=>{k&&R(k),R("\r"),S("")},[k,R]),T=(0,i.useCallback)(e=>{e.nativeEvent.isComposing||C.current||"Enter"===e.key&&(e.preventDefault(),I())},[I]);return(0,i.useEffect)(()=>{let e=window.visualViewport;if(!e||!t)return void b(0);let r=()=>{b(Math.max(0,window.innerHeight-e.height-e.offsetTop))};return r(),e.addEventListener("resize",r),e.addEventListener("scroll",r),()=>{e.removeEventListener("resize",r),e.removeEventListener("scroll",r)}},[t]),(0,i.useEffect)(()=>{let e=o.current;if(!e)return;let t=!1,r=null,n=null,i=[],d={current:!1};e.innerHTML="";let u=new sZ.B({allowProposedApi:!0,allowTransparency:!0,cursorBlink:!0,cursorStyle:"block",fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.4,scrollback:8e3,convertEol:!1,macOptionIsMeta:!0,theme:{background:"transparent",foreground:"#fff"}}),h=new sX.Y;u.loadAddon(h),u.open(e);try{h.fit()}catch{}l.current=u,a.current=h;let g=u.textarea;g&&(g.setAttribute("autocapitalize","off"),g.setAttribute("autocorrect","off"),g.setAttribute("autocomplete","off"),g.setAttribute("spellcheck","false"),g.setAttribute("inputmode","text"),g.setAttribute("enterkeyhint","send"),g.style.fontSize="16px");let x=e=>(r&&r.readyState===WebSocket.OPEN?r.send(JSON.stringify({type:"in",d:e})):(i.push(e),f(!0),r&&r.readyState!==WebSocket.CLOSED||j()),!0);s.current=x;let m=u.onData(e=>{x(e)}),v=u.onResize(({cols:e,rows:t})=>{r&&r.readyState===WebSocket.OPEN&&r.send(JSON.stringify({type:"rs",cols:e,rows:t}))}),y=()=>{try{h.fit()}catch{}},b=new ResizeObserver(()=>{window.requestAnimationFrame(y)});b.observe(e);let j=()=>{if(t)return;null!==n&&(window.clearTimeout(n),n=null);let e="https:"===window.location.protocol?"wss:":"ws:";c("connecting"),p(null);let o=new WebSocket(`${e}//${window.location.host}/api/pty`);r=o,o.onopen=()=>{if(!t&&r===o&&(d.current=!0,c("open"),o.send(JSON.stringify({type:"rs",cols:u.cols,rows:u.rows})),r&&r.readyState===WebSocket.OPEN)){for(;i.length>0;){let e=i.shift();e&&r.send(JSON.stringify({type:"in",d:e}))}f(!1)}},o.onmessage=e=>{Promise.resolve(e.data).then(e=>"string"!=typeof e?e instanceof Blob?e.text():e instanceof ArrayBuffer?new TextDecoder().decode(e):"":e).then(e=>{if(!t&&r===o&&e){try{let t=JSON.parse(e);if(t&&"string"==typeof t.type){if("error"===t.type&&t.message){p(t.message),c("error");return}if("exit"===t.type)return void c("closed");if("out"===t.type&&"string"==typeof t.d)return void u.write(t.d)}}catch{}u.write(e)}})},o.onclose=e=>{t||r!==o||(d.current?c("connecting"):(c("error"),p(1006===e.code?_.current("terminal_wsRefused"):_.current("terminal_wsFailed"))),n=window.setTimeout(j,600))},o.onerror=()=>{t||r!==o||(c("error"),p(_.current("terminal_wsFailed")))}};return j(),()=>{t=!0,s.current=()=>!1,m.dispose(),v.dispose(),b.disconnect(),null!==n&&window.clearTimeout(n),r?.close(),u.dispose(),l.current=null,a.current=null}},[]),(0,i.useEffect)(()=>{let e=l.current;if(!e)return;let t=getComputedStyle(document.documentElement),n=(e,r)=>t.getPropertyValue(e).trim()||r;e.options.theme={background:n("--bg",r?"#101719":"#fbfcfd"),foreground:n("--text",r?"#ced8d8":"#263439"),cursor:n("--accent",r?"#69a7ca":"#286e98"),cursorAccent:n("--bg",r?"#101719":"#fbfcfd"),selectionBackground:n("--bg-selected",r?"#6ba7c426":"#2e6f9520")}},[r]),(0,i.useEffect)(()=>{let e=l.current;if(e){e.options.fontSize=t?14:13;try{a.current?.fit()}catch{}}},[t]),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,paddingBottom:y},children:[(0,n.jsxs)("div",{style:{padding:"4px 10px",fontSize:11,color:"var(--text-dim)",borderBottom:"1px solid var(--border)",flexShrink:0},children:["connecting"===d&&e("terminal_connecting"),"open"===d&&e("terminal_connected"),"closed"===d&&e("terminal_disconnected"),"error"===d&&(u??e("terminal_unavailable")),h&&"open"!==d&&(0,n.jsx)("span",{style:{marginLeft:8,color:"var(--status-warning)"},children:e("terminal_queuedOffline")}),j&&"open"===d&&(0,n.jsxs)("span",{style:{marginLeft:8},children:["\xb7 ",e("terminal_sent",{value:j})]})]}),(0,n.jsx)("div",{className:"pidance-terminal-surface",style:{flex:1,minHeight:80,position:"relative",overflow:"hidden"},children:(0,n.jsx)("div",{ref:o,className:"pidance-terminal-xterm",style:{position:"absolute",inset:0,padding:"6px 8px 8px"}})}),t&&(0,n.jsxs)("div",{style:{flexShrink:0,borderTop:"1px solid var(--border)",background:"var(--bg)",padding:"6px 8px",display:"flex",gap:6},children:[(0,n.jsx)("input",{value:k,onChange:e=>S(e.target.value),onKeyDown:T,onCompositionStart:()=>{C.current=!0},onCompositionEnd:()=>{C.current=!1},placeholder:e("terminal_inputPlaceholder"),enterKeyHint:"send",autoCapitalize:"off",autoCorrect:"off",autoComplete:"off",spellCheck:!1,"aria-label":e("workspace_terminal"),style:{flex:1,minWidth:0,height:40,fontSize:16,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)"}}),(0,n.jsx)("button",{type:"button",onClick:I,style:{...dr,height:40,minWidth:56,fontSize:14,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:e("terminal_sendEnter")})]}),(0,n.jsx)(s9,{pad:g,onSend:R,onOpenConfig:()=>v(!0),isMobile:t}),m&&(0,n.jsx)(s7,{value:g,isMobile:t,onClose:()=>v(!1),onSave:e=>{x(e),"u">typeof localStorage&&localStorage.setItem(sQ,JSON.stringify(e)),v(!1)}})]})}function s9({pad:e,onSend:t,onOpenConfig:r,isMobile:i}){let{t:o}=(0,es.s9)(),l={flex:"0 0 auto",height:i?36:30,minWidth:i?38:void 0,padding:i?"0 12px":"0 10px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)",fontSize:i?13:12,whiteSpace:"nowrap"};return(0,n.jsxs)("div",{style:{flexShrink:0,borderTop:"1px solid var(--border)",background:"var(--bg)"},children:[e.commands.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,overflowX:"auto",padding:"6px 8px 2px",WebkitOverflowScrolling:"touch"},children:e.commands.map(e=>(0,n.jsx)("button",{type:"button",onPointerUp:r=>{r.preventDefault(),t(s1(e.send))},style:{...l,touchAction:"manipulation",cursor:"pointer"},children:e.label||e.send},e.id))}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,overflowX:"auto",padding:"6px 8px",WebkitOverflowScrolling:"touch"},children:[(0,n.jsx)("button",{type:"button",onClick:r,"aria-label":o("terminal_configure"),title:o("terminal_configure"),style:{flex:"0 0 auto",width:i?36:30,height:i?36:30,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text-muted)",touchAction:"manipulation"},children:(0,n.jsx)(sG.A,{size:i?17:15})}),e.keys.map(e=>(0,n.jsx)("button",{type:"button",onPointerUp:r=>{r.preventDefault(),t(s1(e.send))},style:{...l,touchAction:"manipulation",cursor:"pointer"},children:e.label||e.send},e.id))]})]})}function s7({value:e,isMobile:t,onClose:r,onSave:o}){let{t:l}=(0,es.s9)(),[a,s]=(0,i.useState)(()=>({keys:e.keys.map(e=>({...e})),commands:e.commands.map(e=>({...e}))})),[d,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)({ctrl:!1,alt:!1,shift:!1}),[h,f]=(0,i.useState)(""),g=e=>{s(t=>({...t,keys:[...t.keys,function(e,t){let r=`key-${Math.random().toString(36).slice(2,10)}`;if("char"===t.kind){let n=e.shift?t.ch.toUpperCase():t.ch.toLowerCase(),i=t.ch.toUpperCase();if(e.ctrl){let t=i.charCodeAt(0)-64,n=e.alt?`\\e${s5(t)}`:s5(t);return{id:r,label:s8(e,i),send:n}}return e.alt?{id:r,label:s8(e,i),send:`\\e${n}`}:{id:r,label:s8(e,i),send:n}}let n=e.shift&&t.shiftSend?t.shiftSend:t.send,i=s8({ctrl:e.ctrl,alt:e.alt,shift:!!(e.shift&&t.shiftSend)},t.label);return e.alt&&"\\e"!==n?{id:r,label:s8(e,t.label),send:`\\e${n}`}:{id:r,label:i,send:n}}(u,e)]}))};return(0,n.jsxs)(eY,{open:!0,onClose:r,title:l("terminal_configure"),width:440,closeLabel:l("dialog_close"),children:[(0,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:8,fontSize:13,marginBottom:12},children:[(0,n.jsx)("input",{type:"checkbox",checked:d,onChange:e=>c(e.target.checked)}),l("terminal_comboMode")]}),d?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{display:"flex",gap:8,marginBottom:10},children:["ctrl","alt","shift"].map(e=>(0,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:13},children:[(0,n.jsx)("input",{type:"checkbox",checked:u[e],onChange:t=>p(r=>({...r,[e]:t.target.checked}))}),"ctrl"===e?"Ctrl":"alt"===e?"Alt":"Shift"]},e))}),(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:s4.map(e=>(0,n.jsx)(de,{label:e.label,onClick:()=>g(e),isMobile:t},e.label))}),s6.map(e=>(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:4},children:[...e].map(e=>(0,n.jsx)(de,{label:u.shift?e.toUpperCase():e,onClick:()=>g({kind:"char",label:e,ch:e}),isMobile:t},e))},e)),(0,n.jsx)(dt,{items:a.keys,onRemove:e=>s(t=>({...t,keys:t.keys.filter(t=>t.id!==e)}))})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,marginBottom:8},children:l("terminal_commands")}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),(()=>{let e=h.trim();if(!e)return;let t={id:`cmd-${Math.random().toString(36).slice(2,8)}`,label:"",send:""};t.label=e,t.send=e.endsWith("\\n")||e.endsWith("\\r")?e:`${e}\\n`,s(e=>({...e,commands:[...e.commands,t]})),f("")})()},style:{display:"flex",gap:6,marginBottom:8},children:[(0,n.jsx)("input",{value:h,onChange:e=>f(e.target.value),placeholder:l("terminal_commandPlaceholder"),style:{flex:1,minWidth:0,height:t?40:32,fontSize:16,padding:"0 8px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)"}}),(0,n.jsx)("button",{type:"submit",style:dr,children:l("terminal_addCommand")})]}),(0,n.jsx)(dt,{items:a.commands,onRemove:e=>s(t=>({...t,commands:t.commands.filter(t=>t.id!==e)}))})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,marginTop:14,flexWrap:"wrap"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>o(a),style:{...dr,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--accent-foreground)",fontWeight:600},children:l("terminal_saveConfig")}),(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>({...e,keys:s0.map(e=>({...e}))})),style:dr,children:l("terminal_resetKeys")})]})]})}function de({label:e,onClick:t,isMobile:r}){return(0,n.jsx)("button",{type:"button",onClick:t,style:{minWidth:r?36:28,height:r?38:32,padding:"0 8px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)",fontSize:r?13:12,touchAction:"manipulation"},children:e})}function dt({items:e,onRemove:t}){return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginTop:8},children:e.map(e=>(0,n.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,height:28,padding:"0 6px 0 8px",border:"1px solid var(--border)",borderRadius:6,fontSize:12},children:[e.label||e.send,(0,n.jsx)("button",{type:"button",onClick:()=>t(e.id),"aria-label":"remove",style:{border:"none",background:"none",color:"var(--text-muted)",display:"flex"},children:(0,n.jsx)(aN.A,{size:12})})]},e.id))})}let dr={minHeight:32,padding:"0 12px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12};function dn(e,t){return new Promise((r,n)=>{if(t.aborted)return void n(new DOMException("Aborted","AbortError"));let i=setTimeout(()=>{t.removeEventListener("abort",o),r()},e),o=()=>{clearTimeout(i),t.removeEventListener("abort",o),n(new DOMException("Aborted","AbortError"))};t.addEventListener("abort",o,{once:!0})})}async function di(e){let{sessionId:t,isCurrent:r,fetchSession:n,parseBody:i,signal:o,maxAttempts:l=5,baseDelayMs:a=200,delay:s=dn}=e,d=Math.max(1,Math.floor(l)),c=0;for(;c<d;){if(c+=1,o?.aborted)return{ok:!1,reason:"aborted",attempts:c};if(!r())return{ok:!1,reason:"stale",attempts:c};try{let e,l=await n(t,o??new AbortController().signal);if(o?.aborted||!r())return{ok:!1,reason:o?.aborted?"aborted":"stale",attempts:c};if(404===l.status){if(c>=d)return{ok:!1,reason:"not_found",attempts:c,status:404};let e=a*2**(c-1);try{await s(e,o??new AbortController().signal)}catch{return{ok:!1,reason:"aborted",attempts:c}}continue}if(!l.ok)return{ok:!1,reason:"error",attempts:c,status:l.status,error:`HTTP ${l.status}`};try{e=await l.json()}catch(e){return{ok:!1,reason:"error",attempts:c,status:l.status,error:e instanceof Error?e.message:String(e)}}if(!r()||o?.aborted)return{ok:!1,reason:o?.aborted?"aborted":"stale",attempts:c};let u=i(e);if(null==u)return{ok:!1,reason:"error",attempts:c,status:l.status,error:"empty body"};return{ok:!0,value:u,attempts:c}}catch(e){if(o?.aborted||e instanceof DOMException&&"AbortError"===e.name)return{ok:!1,reason:"aborted",attempts:c};return{ok:!1,reason:"error",attempts:c,error:e instanceof Error?e.message:String(e)}}}return{ok:!1,reason:"exhausted",attempts:c}}function dl(){return(0,n.jsx)(eo,{children:(0,n.jsx)(da,{})})}function da(){let{t:e}=(0,es.s9)(),t=(0,o.useSearchParams)(),[r]=(0,i.useState)(()=>{let e;return{requestedCwd:e=t.get("cwd")?.trim()||null,sessionId:e?null:t.get("session")}}),{toggleTheme:a}=rr(),s=n7(),[d,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(()=>r.requestedCwd?"validating":"idle"),[h,f]=(0,i.useState)(null),[g,x]=(0,i.useState)(0),[m,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(0),[j,C]=(0,i.useState)(0),[_,I]=(0,i.useState)(null),[T,M]=(0,i.useState)(null),L=(0,i.useRef)(null),A=(0,i.useRef)(0),[H,D]=(0,i.useState)(null),F=(0,i.useRef)(null),N=(0,i.useRef)(null),[B,O]=(0,i.useState)(()=>new Map),[U,q]=(0,i.useState)(null),K=(0,i.useMemo)(()=>[...B.values()],[B]),V=(0,i.useCallback)(e=>{O(t=>{let r=new Map(t);return r.set(e.id,e),r})},[]),J=(0,i.useCallback)(e=>{O(t=>{if(!t.has(e))return t;let r=new Map(t);return r.delete(e),r})},[]),[X,G]=(0,i.useState)(!1),[Q,ee]=(0,i.useState)(null),[et,er]=(0,i.useState)(!1),[en,ei]=(0,i.useState)(!1),[eo,ed]=(0,i.useState)(0),[ec,eu]=(0,i.useState)(!0),[ep,eh]=(0,i.useState)(!1),[ef,eg]=(0,i.useState)(!1),[ex,em]=(0,i.useState)(400),[ev,ey]=(0,i.useState)(!1),[eb,ej]=(0,i.useState)(560),[ew,ek]=(0,i.useState)("content"),[eS,eC]=(0,i.useState)(!1),e_=(0,i.useRef)(null),[eR,eI]=(0,i.useState)(!1),[eT,eM]=(0,i.useState)(300),[eE,ez]=(0,i.useState)(!1),eW=(0,i.useRef)(null),eL=(0,i.useCallback)(e=>{let t=w(e);eM(t);var r=window.localStorage;try{let e=z(r);r.setItem(R,E({...e,sidebarWidth:w(t)}))}catch{}},[]),eA=(0,i.useCallback)(e=>{s||(e.preventDefault(),eW.current={startX:e.clientX,startWidth:eT},ez(!0),e.currentTarget.setPointerCapture(e.pointerId))},[s,eT]),eP=(0,i.useCallback)(e=>{let t=eW.current;t&&eL(t.startWidth+(e.clientX-t.startX))},[eL]),e$=(0,i.useCallback)(e=>{eW.current&&(eW.current=null,ez(!1),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),eH=(0,i.useCallback)(e=>{let t=e.shiftKey?32:8;"ArrowLeft"===e.key?(e.preventDefault(),eL(eT-t)):"ArrowRight"===e.key?(e.preventDefault(),eL(eT+t)):"Home"===e.key?(e.preventDefault(),eL(240)):"End"===e.key&&(e.preventDefault(),eL(520))},[eL,eT]),eD=(0,i.useCallback)(()=>{eL(300)},[eL]);(0,i.useEffect)(()=>{let e=W();eM(e.sidebarWidth),eg(e.rightPanelOpen),em(e.rightPanelWidth),ej(e.changesPanelWidth)},[]);let eF=(0,i.useCallback)(e=>{let t=k(e);em(t),P({width:t})},[]),eN=(0,i.useCallback)(e=>{eg(e),P({open:e})},[]),eB=(0,i.useCallback)(e=>{let t=S(e);ej(t),$({width:t})},[]),eO=(0,i.useCallback)(e=>{ey(e),$({open:e})},[]),eU=(0,i.useCallback)(e=>{e.preventDefault(),e_.current={startX:e.clientX,startWidth:eb},eC(!0),e.currentTarget.setPointerCapture(e.pointerId)},[eb]),eq=(0,i.useCallback)(e=>{let t=e_.current;t&&eB(t.startWidth+t.startX-e.clientX)},[eB]),eK=(0,i.useCallback)(e=>{e_.current&&(e_.current=null,eC(!1),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),eV=(0,i.useCallback)(e=>{let t=e.shiftKey?32:8;"ArrowLeft"===e.key?(e.preventDefault(),eB(eb+t)):"ArrowRight"===e.key?(e.preventDefault(),eB(eb-t)):"Home"===e.key?(e.preventDefault(),eB(320)):"End"===e.key&&(e.preventDefault(),eB(960))},[eB,eb]);(0,i.useEffect)(()=>{s?(eu(!1),eg(!1)):eg(W().rightPanelOpen)},[s]),(0,i.useEffect)(()=>{eh(!0),eI(!0)},[]);let eJ=(0,i.useRef)(null),[eY,eZ]=(0,i.useState)([]),[eX,eG]=(0,i.useState)(null),eQ=(0,i.useRef)(null),[e0,e1]=(0,i.useState)(null),e2=(0,i.useCallback)((e,t,r,n)=>{eZ(e),eG(t),eQ.current=r,e1(n)},[]),e4=(0,i.useCallback)(e=>{eQ.current?.(e)},[]),[e6,e5]=(0,i.useState)(null),e8=(0,i.useCallback)(e=>{e5(e)},[]),[e3,e9]=(0,i.useState)(null);(0,i.useRef)(d?.id??null).current=d?.id??null;let e7=(0,i.useCallback)(e=>{e9(e)},[]),[te,tt]=(0,i.useState)(null),tr=(0,i.useCallback)(e=>{tt(e)},[]),tn=(0,i.useCallback)(()=>{s&&eg(!1),eu(e=>!e)},[s]),ti=(0,i.useCallback)(()=>{s?(eu(!1),eg(e=>!e)):eN(!ef)},[eN,s,ef]),[to,ta]=(0,i.useState)([]),[ts,td]=(0,i.useState)("files"),[tc,tu]=(0,i.useState)(null),[tp,th]=(0,i.useState)(null),[tf,tg]=(0,i.useReducer)(o1,oX),tx=(0,i.useRef)(tf);tx.current=tf;let tm=(0,i.useCallback)(e=>{tx.current=o1(tx.current,e),tg(e)},[]);(0,i.useEffect)(()=>{if(!Object.values(tf.buffers).some(e=>e.dirty))return;let e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[tf]);let tv=(0,i.useCallback)(async t=>{let r=o2(tx.current,t);if(!r||!r.sourceSessionId||!r.dirty||"saving"===r.saveState)return!1;let n=globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,i=r.revision,o=r.content;tm({type:"markSaving",key:t,requestId:n,requestRevision:i});try{let l=rl(r.filePath),a=new URLSearchParams({type:"save",sessionId:r.sourceSessionId}),s=await fetch(`/api/files/${l}?${a.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:o,baseline:r.baseline})}),d=await s.json().catch(()=>({}));if(409===s.status)return tm({type:"saveConflict",key:t,requestId:n,baseline:d.baseline,message:d.error??e("viewer_externalChange")}),!1;if(!s.ok||"number"!=typeof d.size||"number"!=typeof d.mtimeMs)throw Error(d.error??e("app_saveFailed",{status:s.status}));tm({type:"saveSuccess",key:t,requestId:n,requestRevision:i,savedContent:o,baseline:{size:d.size,mtimeMs:d.mtimeMs}}),C(e=>e+1),I(e=>[...new Set([...e??[],r.filePath])]);let c=o2(tx.current,t);return!!(c&&c.revision===i&&!c.dirty)}catch(e){return tm({type:"saveError",key:t,requestId:n,message:e instanceof Error?e.message:String(e)}),!1}},[tm,e]),ty=(0,i.useCallback)((e,t)=>{eJ.current?.insertText(nI(e,t))},[]),tb=(0,i.useCallback)(e=>{let t=e.map(e=>nI(e,!1)).join("");t&&eJ.current?.insertText(t)},[]),tj=r.sessionId,tw=ea(),{setIdentity:tk,getIdentitySnapshot:tS}=el(),tC=tw.cwd,[t_,tR]=(0,i.useState)(()=>!tj),tI=(0,i.useRef)(!1),tT=(0,i.useRef)(null),tM=(0,i.useRef)(0);(0,i.useEffect)(()=>{F.current=d?.id??null},[d?.id]),(0,i.useEffect)(()=>{L.current=T},[T]);let tE=(0,i.useCallback)(()=>{N.current?.abort(),N.current=null},[]),tz=(0,i.useCallback)(e=>{try{window.history.replaceState(null,"",e)}catch{}},[]);(0,i.useEffect)(()=>{let e=r.requestedCwd;if(!e)return;let t=new AbortController;return p("validating"),f(null),fetch("/api/cwd/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e}),signal:t.signal}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok||!t.cwd)throw Error(t.error??`HTTP ${e.status}`);tI.current=!0,tk({cwd:t.cwd,projectRoot:t.cwd,status:"ready",error:null}),p("ready")}).catch(e=>{t.signal.aborted||(f(e instanceof Error?e.message:String(e)),p("error"))}),()=>t.abort()},[r,tk]);let tW=(0,i.useRef)({cwd:tw.cwd,projectRoot:tw.projectRoot});(0,i.useEffect)(()=>{let e=tW.current,t={cwd:tw.cwd,projectRoot:tw.projectRoot};tW.current=t;let r=e.cwd!==t.cwd,n=e.projectRoot!==t.projectRoot;if(r||n){if(tI.current){tI.current=!1;return}if(null===e.cwd&&null===e.projectRoot){if(!d&&t.cwd){A.current+=1;let e=iX(t.cwd,A.current);L.current=e,M(e)}return}if(d&&d.cwd===t.cwd){t.projectRoot&&d.projectRoot!==t.projectRoot&&c(e=>e&&e.id===d.id?{...e,projectRoot:t.projectRoot??void 0}:e);return}if(!(d&&(d.projectRoot??d.cwd)===t.projectRoot||d&&null!==tT.current&&tT.current===d.cwd&&Date.now()-tM.current<800)&&(d&&(F.current=null,c(null)),d||r)){if(tE(),t.cwd){A.current+=1;let e=iX(t.cwd,A.current);L.current=e,M(e)}else L.current=null,M(null);b(e=>e+1),eZ([]),eG(null),e5(null),tz("/")}}},[tw.cwd,tw.projectRoot,d,tE,tz]);let tL=(0,i.useCallback)((e,t=!1)=>{tI.current=!0,tT.current=e.cwd??null,tM.current=Date.now(),F.current=e.id,c(e),e.cwd&&tk({cwd:e.cwd,projectRoot:e.projectRoot??e.cwd,status:"ready",error:null}),tE(),M(null),L.current=null,q(null),b(e=>e+1),e5(null),tR(!0),s&&!t&&eu(!1),t||tz(`?session=${encodeURIComponent(e.id)}`)},[s,tE,tz]),tA=(0,i.useCallback)(e=>{let t=e??tS().cwd;if(!t)return;tI.current=!0,D(t),tS().cwd!==t&&tk({cwd:t,status:"ready",error:null}),tE(),A.current+=1;let r=iX(t,A.current);L.current=r,M(r),F.current=null,q(null),c(null),b(e=>e+1),eZ([]),eG(null),e5(null),s&&eu(!1),tz("/")},[s,tS,tk,tE,tz]),tP=(0,i.useCallback)((e,t)=>{if(tI.current=!0,tk({cwd:e,projectRoot:t??e,status:"ready",error:null}),D(e),L.current){let t={...L.current,cwd:e};L.current=t,M(t)}},[tk]);!function(e){let{onNewSession:t,activeCwd:r,disabled:n=!1}=e;(0,i.useEffect)(()=>{if(!function(e=!1){return!e}(n))return;let e=e=>{if("Escape"===e.key){if(!l)return;let t=e.target?.tagName;if("TEXTAREA"===t||"INPUT"===t)return;e.preventDefault(),l();return}if("n"===e.key&&e.ctrlKey&&e.altKey){if(!r||!t)return;e.preventDefault(),t(r)}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[r,t,n])}({onNewSession:()=>tA(),activeCwd:tC,disabled:X||en}),(0,i.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()&&(X||en||(e.preventDefault(),er(e=>!e)))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[X,en]);let t$=(0,i.useCallback)((e,t)=>{tE();let r=new AbortController;N.current=r;let n=t?.intentId??null,i=t?.forFork===!0;di({sessionId:e,signal:r.signal,maxAttempts:5,baseDelayMs:200,isCurrent:()=>{if(r.signal.aborted||F.current!==e)return!1;if(!i&&n){let e=L.current;if(e&&e.id!==n)return!1}return!0},fetchSession:(e,t)=>fetch(`/api/sessions/${encodeURIComponent(e)}/info`,{signal:t}),parseBody:t=>{let r=t?.session;return r?.id===e?r:null}}).then(t=>{var r;t.ok&&((r={selectedSessionId:F.current,hydratedId:t.value.id,intentId:n,activeIntentId:i?n:L.current?.id}).selectedSessionId!==r.hydratedId||r.activeIntentId&&r.intentId&&r.activeIntentId!==r.intentId||(c(r=>r&&r.id===e?{...r,...t.value}:r),O(r=>{if(!r.has(e))return r;let n=new Map(r);return n.set(e,t.value),n})))}).catch(()=>{})},[tE]),tH=(0,i.useCallback)((e,t)=>{let r=function(e){let{currentIntentId:t,eventIntentId:r,selectedSessionId:n,createdSessionId:i}=e;return(!n||n===i)&&(!t||!r||t===r)&&(!t||!!r)}({currentIntentId:L.current?.id,eventIntentId:t,selectedSessionId:F.current,createdSessionId:e.id});if(t&&e.id!==iQ(t)&&J(iQ(t)),V(e),e.id.startsWith(iG)){r&&q(e.id);return}r&&(q(null),F.current=e.id,c(e),M(null),L.current=null,tz(`?session=${encodeURIComponent(e.id)}`));let n=Y();n&&Z([e,...n.filter(t=>t.id!==e.id)].slice(0,50)),x(e=>e+1)},[V,J,tz]),tD=(0,i.useCallback)(()=>{x(e=>e+1),C(e=>e+1),I(null)},[]),tF=(0,i.useCallback)((e,t)=>{v(e&&t?t:null)},[]),tN=(0,i.useCallback)((e,t)=>{void 0!==t&&nj(e,{value:t,images:[]}),tE(),M(null),L.current=null,x(e=>e+1),b(e=>e+1),c(t=>{let r={...t??{path:"",cwd:tC??"",created:"",modified:"",messageCount:0,firstMessage:""},id:e};return V(r),r}),F.current=e,t$(e,{forFork:!0}),tz(`?session=${encodeURIComponent(e)}`)},[t$,tE,tC,V,tz]),tB=(0,i.useCallback)(()=>{tR(!0)},[]),tO=(0,i.useCallback)(e=>{x(e=>e+1),J(e),d?.id===e&&(tE(),M(null),L.current=null,F.current=null,c(null),b(e=>e+1),eZ([]),eG(null),e5(null),tz("/"))},[d,tE,J,tz]),tU=(0,i.useCallback)((e,t,r,n=!1,i="content")=>{let o=oG(e,r),l=`file:${o}`;ta(i=>i.find(e=>e.id===l)?i:[...i,{id:l,label:t,filePath:e,sourceSessionId:r,bufferKey:o,writable:n,readOnly:!n,kind:"file"}]),th(null),tu(l),ek(i),eO(!0),ej(e=>{let t=S(Math.max(e,480));return t!==e&&$({width:t}),t}),s?(eu(!1),eg(!0)):eN(!0)},[eO,eN,s]),tq=(0,i.useCallback)(e=>{tU(e,ra(e),d?.id??null,!!(d?.id&&!0!==d.readOnly))},[tU,d?.id,d?.readOnly]),tK=(0,i.useCallback)((e,t=!0)=>{let r=to.find(t=>t.id===e);t&&r?.bufferKey&&tm({type:"remove",key:r.bufferKey});let n=to.filter(t=>t.id!==e);ta(n),0===n.length?(tu(null),eO(!1)):tu(t=>t!==e?t:n[n.length-1].id),th(t=>t===e?null:t)},[eO,tm,to]),tV=(0,i.useCallback)(e=>{let t=to.find(t=>t.id===e),r=t?.bufferKey?o2(tx.current,t.bufferKey):void 0;if(r?.dirty){tu(e),th(e);return}tK(e)},[tK,to]),tJ=(0,i.useCallback)(()=>{let e=to.find(e=>{if(!e.bufferKey)return!1;let t=o2(tx.current,e.bufferKey);return t?.dirty===!0});if(e){tu(e.id),th(e.id);return}for(let e of to)e.bufferKey&&tm({type:"remove",key:e.bufferKey});ta([]),tu(null),th(null),eO(!1)},[eO,tm,to]),tY=(0,i.useCallback)(async()=>{let e=to.find(e=>e.id===tp);e?.bufferKey&&await tv(e.bufferKey)&&tK(e.id)},[tK,to,tp,tv]),tZ=(0,i.useCallback)(()=>{let e=to.find(e=>e.id===tp);e&&(e.bufferKey&&(tm({type:"discard",key:e.bufferKey}),tm({type:"remove",key:e.bufferKey})),tK(e.id,!1))},[tK,tm,to,tp]),tX=(0,i.useMemo)(()=>[{id:"branch",label:e("branches"),filePath:"",kind:"branch"},{id:"info",label:e("app_sessionInfo"),filePath:"",kind:"info"},{id:"files",label:e("workspace_files"),filePath:"",kind:"files"},{id:"git",label:e("workspace_gitChanges"),filePath:"",kind:"git"},{id:"terminal",label:e("workspace_terminal"),filePath:"",kind:"terminal"}],[e]),tG=(0,i.useCallback)(e=>{ef&&e===ts?s?eg(!1):eN(!1):(th(null),td(e),s?(eu(!1),eg(!0)):eN(!0))},[ts,eN,s,ef]),tQ=(0,i.useCallback)(()=>{s?(eu(!1),eg(!0)):eN(!0),th(null),td("info")},[eN,s]),t0=null===d?T?.cwd??null:null,t1=null!==d||null!==t0,t2=t_&&!t1,t4=tc?to.find(e=>e.id===tc)??null:null,t6=tC?ra(tC)||tC:null,t5=t6?`${t6} - Pidance`:"Pidance";(0,i.useEffect)(()=>{let e=()=>{document.title!==t5&&(document.title=t5)};e();let t=new MutationObserver(e);return t.observe(document.head,{childList:!0,subtree:!0,characterData:!0}),()=>t.disconnect()},[t5]);let t8=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(tl,{selectedSessionId:d?.id??U,onSelectSession:tL,onNewSession:tA,initialSessionId:tj,skipInitialProjectSelection:null!==r.requestedCwd,onInitialRestoreDone:tB,refreshKey:g,onSessionDeleted:tO,onProjectAdded:()=>x(e=>e+1),optimisticSessions:K,clientRunningSessionId:m}),(0,n.jsxs)("div",{style:{padding:"6px 8px",flexShrink:0,display:"flex",alignItems:"center",gap:4},children:[(0,n.jsx)("button",{type:"button",onClick:()=>G(!0),"data-tooltip":e("app_settings"),"aria-label":e("app_settings"),className:"sidebar-icon-btn tooltip-up",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,n.jsx)("path",{d:"M19.4 15a1.7 1.7 0 0 0 .34 1.88l.06.06-2.83 2.83-.06-.06a1.7 1.7 0 0 0-1.88-.34 1.7 1.7 0 0 0-1.03 1.56V21h-4v-.08A1.7 1.7 0 0 0 8.95 19.4a1.7 1.7 0 0 0-1.88.34l-.06.06-2.83-2.83.06-.06A1.7 1.7 0 0 0 4.6 15a1.7 1.7 0 0 0-1.56-1.03H3v-4h.08A1.7 1.7 0 0 0 4.6 8.95a1.7 1.7 0 0 0-.34-1.88l-.06-.06 2.83-2.83.06.06A1.7 1.7 0 0 0 8.95 4.6 1.7 1.7 0 0 0 9.97 3.04V3h4v.08A1.7 1.7 0 0 0 15 4.6a1.7 1.7 0 0 0 1.88-.34l.06-.06 2.83 2.83-.06.06A1.7 1.7 0 0 0 19.4 9c.12.42.52.98 1.56 1.03H21v4h-.08A1.7 1.7 0 0 0 19.4 15Z"})]})}),(0,n.jsx)("button",{type:"button",onClick:()=>ei(!0),"data-tooltip":e("app_about"),"aria-label":e("app_about"),className:`sidebar-icon-btn tooltip-up${en?" sidebar-icon-btn--active":""}`,children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("path",{d:"M12 16v-4"}),(0,n.jsx)("path",{d:"M12 8h.01"})]})})]})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{children:`
7
- @media (max-width: 640px) {
8
- .sidebar-overlay-backdrop.sidebar-mobile-pending {
9
- opacity: 0 !important;
10
- pointer-events: none !important;
11
- }
12
- .sidebar-container.sidebar-mobile-pending.sidebar-open {
13
- transform: translateX(-100%);
14
- box-shadow: none;
15
- }
16
- .workspace-overlay-backdrop.workspace-mobile-pending {
17
- opacity: 0 !important;
18
- pointer-events: none !important;
19
- }
20
- .workspace-container.workspace-mobile-pending.workspace-open {
21
- transform: translateX(100%);
22
- box-shadow: none;
23
- }
24
- }
25
- `}),(0,n.jsxs)("div",{style:{display:"flex",height:"100dvh",overflow:"hidden",background:"var(--bg)"},children:[(0,n.jsx)("div",{className:`sidebar-overlay-backdrop${ep?"":" sidebar-mobile-pending"}`,onClick:()=>eu(!1),style:{position:"fixed",inset:0,zIndex:199,background:"var(--overlay)",opacity:+!!ec,pointerEvents:ec?"auto":"none",transition:"opacity 0.25s ease"}}),(0,n.jsxs)("div",{className:`sidebar-container${ec?" sidebar-open":" sidebar-closed"}${ep?"":" sidebar-mobile-pending"}${eE?" sidebar-dragging":""}`,style:{background:"var(--bg-panel)",borderRight:"1px solid var(--border)",display:"flex",flexDirection:"column",flexShrink:0,zIndex:200,"--sidebar-width":`${eT}px`},children:[(0,n.jsx)("div",{className:"sidebar-inner",children:t8}),ec&&!s&&(0,n.jsx)("div",{className:`sidebar-resize-handle${eE?" dragging":""}`,role:"separator","aria-orientation":"vertical",tabIndex:0,title:e("app_sidebarResizeHandle"),"aria-label":e("app_sidebarResizeHandle"),"aria-valuenow":eT,"aria-valuemin":240,"aria-valuemax":520,onPointerDown:eA,onPointerMove:eP,onPointerUp:e$,onPointerCancel:e$,onKeyDown:eH,onDoubleClick:eD})]}),(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",minWidth:0,minHeight:0},children:[(0,n.jsxs)("div",{className:"app-top-bar",children:[(0,n.jsx)("button",{onClick:tn,title:ec?e("app_hideSidebar"):e("app_showSidebar"),"data-tooltip":ec?e("app_hideSidebar"):e("app_showSidebar"),className:"instant-tooltip","aria-label":ec?e("app_hideSidebar"):e("app_showSidebar"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",borderRight:"1px solid var(--border)",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"color 0.12s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)"},children:ec?(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,n.jsx)("line",{x1:"9",y1:"3",x2:"9",y2:"21"})]}):(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,n.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),(0,n.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18"})]})}),t1&&(e3||te)&&(()=>{let t,r=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e),i="var(--text-muted)",o=null;if(te?.contextWindow){let e=te.percent;null!==e&&e>90?i="var(--status-danger)":null!==e&&e>70&&(i="var(--status-warning)"),o=null!==e?s?`${e.toFixed(0)}%`:`${e.toFixed(0)}% / ${r(te.contextWindow)}`:s?"?":`? / ${r(te.contextWindow)}`}let l=te?.contextWindow?e("app_contextTooltip",{pct:null!==(t=te.percent)?t.toFixed(1)+"%":e("app_unknown"),total:te.contextWindow.toLocaleString()}):null,a=ef&&"info"===ts;return(0,n.jsxs)("button",{type:"button",onClick:tQ,title:l||e("app_sessionInfo"),"data-tooltip":l||e("app_sessionInfo"),className:"instant-tooltip app-top-bar-stats","aria-label":e("app_sessionInfo"),"aria-pressed":a,style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:s?4:10,paddingLeft:s?8:12,paddingRight:s?8:12,height:"100%",minWidth:0,maxWidth:s?"48vw":void 0,overflow:"hidden",background:a?"var(--bg-selected)":"none",border:"none",borderTop:a?"2px solid var(--accent)":"2px solid transparent",fontSize:s?12:11,color:"var(--text-muted)",whiteSpace:"nowrap",cursor:"pointer",fontVariantNumeric:"tabular-nums",transition:"color 0.1s, background 0.1s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.color=a?"var(--text)":"var(--text-muted)"},children:[s&&(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]}),o&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:i},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M1 9 L1 5 Q1 1 5 1 Q9 1 9 5 L9 9"}),(0,n.jsx)("line",{x1:"1",y1:"9",x2:"9",y2:"9"})]}),o]})]})})(),s&&(0,n.jsx)("button",{type:"button",onClick:ti,title:ef?e("app_hidePanel"):e("app_showPanel"),"data-tooltip":ef?e("app_hidePanel"):e("app_showPanel"),className:"instant-tooltip","aria-label":ef?e("app_hidePanel"):e("app_showPanel"),"aria-pressed":ef,style:{marginLeft:t1&&(e3||te)?0:"auto",display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:ef?"var(--bg-selected)":"none",border:"none",borderLeft:"1px solid var(--border)",color:ef?"var(--text)":"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},children:(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,n.jsx)("line",{x1:"15",y1:"3",x2:"15",y2:"21"})]})})]}),(0,n.jsx)("div",{style:{flex:1,minHeight:0,overflow:"hidden",position:"relative"},children:(0,n.jsx)("div",{style:{height:"100%",minHeight:0,overflow:"hidden",position:"relative"},children:t1?(0,n.jsx)(o$,{session:d,newSessionCwd:t0,newSessionIntentId:T?.id??null,guideDefaultCwd:H,onGuideTargetChange:tP,onAgentEnd:tD,onAgentRunningChange:tF,onSessionCreated:tH,onSessionForked:tN,modelsRefreshKey:eo,chatInputRef:eJ,onBranchDataChange:e2,onSystemPromptChange:e8,onSessionStatsChange:e7,onSessionStatsPanelOpen:tQ,onContextUsageChange:tr,onOpenFile:tq},y):"validating"===u?(0,n.jsxs)("div",{role:"status",style:{height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,padding:24,color:"var(--text-muted)",textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:14,color:"var(--text)"},children:e("app_openWorkspace")}),(0,n.jsx)("div",{style:{maxWidth:"min(720px, 100%)",overflowWrap:"anywhere",fontFamily:"var(--font-mono)",fontSize:12},children:r.requestedCwd})]}):"error"===u?(0,n.jsxs)("div",{role:"alert",style:{height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,padding:24,color:"var(--text-muted)",textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:14,color:"var(--status-danger)"},children:e("app_workspaceUnavailable")}),(0,n.jsx)("div",{style:{maxWidth:"min(720px, 100%)",overflowWrap:"anywhere",fontFamily:"var(--font-mono)",fontSize:12},children:r.requestedCwd}),(0,n.jsx)("div",{style:{maxWidth:720,fontSize:12},children:h})]}):t2?tC?(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:15},children:e("app_selectSessionFromSidebar")}):(0,n.jsxs)("div",{style:{position:"absolute",top:12,left:12,display:"flex",alignItems:"flex-start",gap:8,userSelect:"none",pointerEvents:"none"},children:[(0,n.jsxs)("svg",{width:"44",height:"44",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7,flexShrink:0},children:[(0,n.jsx)("line",{x1:"20",y1:"12",x2:"4",y2:"12"}),(0,n.jsx)("polyline",{points:"10 6 4 12 10 18"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:18,fontWeight:600,color:"var(--text)",marginBottom:8},children:e("app_getStarted")}),(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.8},children:[(0,n.jsx)("span",{style:{color:"var(--text-dim)",marginRight:6},children:"1."}),e("app_setupSelectProject"),(0,n.jsx)("br",{}),(0,n.jsx)("span",{style:{color:"var(--text-dim)",marginRight:6},children:"2."}),e("app_setupAddModel")]})]})]}):null})})]}),ev&&(0,n.jsxs)("aside",{className:"changes-panel",style:{width:eb,height:"100%",minHeight:0,display:"flex",flexDirection:"column"},"aria-label":e("changes_title"),children:[(0,n.jsx)("div",{className:`changes-panel-resize-handle${eS?" dragging":""}`,role:"separator","aria-orientation":"vertical",tabIndex:0,title:e("changes_resizeHandle"),"aria-label":e("changes_resizeHandle"),"aria-valuenow":eb,"aria-valuemin":320,"aria-valuemax":960,onPointerDown:eU,onPointerMove:eq,onPointerUp:eK,onPointerCancel:eK,onKeyDown:eV,onDoubleClick:()=>eB(560)}),(0,n.jsx)(lL,{open:ev,width:eb,onWidthChange:eB,cwd:tC,isMobile:s,mobileReady:eR,tabs:to,activeTabId:tc??"",onSelectTab:e=>{th(null),tu(e)},onCloseTab:tV,onCloseAllTabs:tJ,pendingCloseTabLabel:tp?to.find(e=>e.id===tp)?.label??null:null,onSaveAndClose:()=>void tY(),onDiscardAndClose:tZ,onCancelClose:()=>th(null),activeMode:ew,gitAffectedPaths:_,fileViewerContent:t4?.filePath?(0,n.jsx)("div",{style:{flex:"1 1 auto",minHeight:0,height:"100%",overflow:"hidden",display:"flex",flexDirection:"column"},children:(0,n.jsx)(ll,{filePath:t4.filePath,cwd:tC??void 0,sourceSessionId:t4.sourceSessionId,writable:!0===t4.writable,buffer:t4.bufferKey?o2(tf,t4.bufferKey):void 0,dispatchBuffer:tm,onSave:t4.bufferKey?()=>tv(t4.bufferKey):void 0,gitAffectedPaths:_,onOpenFile:e=>tU(e,ra(e),t4.sourceSessionId,!0===t4.writable)})}):null})]}),(0,n.jsx)("div",{className:`sidebar-overlay-backdrop workspace-overlay-backdrop${eR?"":" workspace-mobile-pending"}`,onClick:()=>eg(!1),style:{position:"fixed",inset:0,zIndex:199,background:"var(--overlay)",opacity:s&&ef?1:0,pointerEvents:s&&ef?"auto":"none",transition:"opacity 0.25s ease"}}),(0,n.jsx)(lE,{open:ef,width:ex,onWidthChange:eF,onClose:()=>s?eg(!1):eN(!1),cwd:tC,isMobile:s,mobileReady:eR,tabs:tX,activeTabId:ts,onSelectTab:tG,sessionInfoContent:(0,n.jsx)(lA,{session:d,sessionStats:e3,contextUsage:te,systemPrompt:e6}),terminalContent:(0,n.jsx)(s3,{}),branchContent:(0,n.jsx)(sY,{tree:eY,activeLeafId:eX,onLeafChange:e4,branchActions:e0,hasSession:t1,panel:!0}),onOpenFile:(e,t,r)=>tU(e,t,d?.id??null,!!(d?.id&&!0!==d.readOnly),r),fileRefreshKey:j,gitRefreshKey:j,onAtMention:ty,onAtMentions:tb})]}),X&&(0,n.jsx)(s_,{initialPage:Q,cwd:tC??d?.cwd??null,sessionId:d?.id??null,onClose:()=>{G(!1),ed(e=>e+1)},onModelsChanged:()=>{G(!1),ed(e=>e+1)},onAuthStateChange:()=>ed(e=>e+1),onPluginsReloaded:()=>b(e=>e+1)}),(0,n.jsx)(sF,{}),(0,n.jsx)(sO,{}),(0,n.jsx)(sH,{open:en,onClose:()=>ei(!1)}),(0,n.jsx)(sI,{open:et,onClose:()=>er(!1),onSelectSession:e=>tL(e),onNewSession:()=>tA(),onOpenFile:(e,t)=>tU(e,t,d?.id??null,!!(d?.id&&!0!==d.readOnly),"content"),onOpenSettings:e=>{G(!0),ee(e)},onToggleTheme:a,cwd:tC??d?.cwd??null})]})}}},e=>{e.O(0,[1838,7330,3888,7874,9780,8441,3794,7358],()=>e(e.s=17581)),_N_E=e.O()}]);