@qt4798/pi-web 0.9.29 → 0.9.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +16 -16
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +16 -16
- package/.next/server/chunks/7915.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/{page-d9e9d4cc285c4fa4.js → page-0586bdeec728f856.js} +9 -9
- package/.next/trace +185 -185
- package/.next/trace-build +1 -1
- package/package.json +1 -1
- /package/.next/static/{NyRtnqSNM3BccXpEhJ5Xm → EnIoZ9SHmR-5tvTnHyQSd}/_buildManifest.js +0 -0
- /package/.next/static/{NyRtnqSNM3BccXpEhJ5Xm → EnIoZ9SHmR-5tvTnHyQSd}/_ssgManifest.js +0 -0
package/.next/server/app/page.js
CHANGED
|
@@ -34,7 +34,7 @@ ${a}`,p=(0,L.jsx)("button",{onClick:()=>f(a=>!a),disabled:b,title:c(b?"desktop.m
|
|
|
34
34
|
|
|
35
35
|
Goal: ${c}`:bF)}return b.join("\n\n")}({collaborationMode:ao.current,tokenMode:ap.current,goalText:"goal"===ao.current?aq.current??void 0:void 0}),j=i||!ag.current||g?"":ty,k=i||j,l=[ao.current,ap.current,ag.current?"legacy-plan":"",k?String(k.length):""].join("|"),n=b?.id??"new";k&&(ar.current.sessionKey!==n||ar.current.signature!==l)?(ar.current={sessionKey:n,signature:l},e=`${k}
|
|
36
36
|
|
|
37
|
-
${a}`):e=a;let o=e,p=c?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),q={role:"user",content:p?.length?[...a.trim()?[{type:"text",text:a}]:[],...p]:a,timestamp:Date.now()};x(a=>[...a,q]),b1.current=tG(q),b0.current=h,"goal"!==ao.current||g||(aq.current=f,aw(a=>({...a,status:"running",goalText:f,turnsUsed:0,noProgressTurns:0,tokensUsed:0})),ay.current=!0),bL.current=!0,J(!0),aU(g?{kind:"running_command"}:{kind:"waiting_model"}),B({type:"start"}),bT.current=!0,aW(!0),bU.current=!0;let r=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),s=null,t=!1;try{if(m&&d){let b=bK.current??await b$.current,c=b??await cl();if(c){s=c,Z&&(aM(Z),b&&await ts(c,{type:"set_model",provider:Z.provider,modelId:Z.modelId}));let d=await Promise.race([cq(c).then(()=>!0).catch(()=>!1),tC(4e3).then(()=>!1)]);t=!0,await ts(c,{type:"prompt",message:o,...r?.length?{images:r}:{}}),ck(1,a),d||cB(c,h),"goal"!==ao.current||g||ts(c,{type:"goal_start",goalText:f}).catch(()=>{})}}else if(b){s=b.id;let a=await Promise.race([cq(b.id).then(()=>!0).catch(()=>!1),tC(4e3).then(()=>!1)]);t=!0,await ts(b.id,{type:"prompt",message:o,...r?.length?{images:r}:{}}),a||cB(b.id,h),"goal"!==ao.current||g||ts(b.id,{type:"goal_start",goalText:f}).catch(()=>{})}g&&s&&cB(s,h)}catch(a){if(console.error("Failed to send message:",a),t&&s)return void cB(s,h);if(bN.current=!1,co(),a instanceof tB){let b=b1.current;b&&x(a=>{let c=a[a.length-1];return c?.role==="user"&&tG(c)===b?a.slice(0,-1):a}),ct({type:"error",message:a.message})}else ct({type:"error",message:`Failed to send message: ${a instanceof Error?a.message:String(a)}`});b1.current=null,bL.current=!1,J(!1),aU(null),B({type:"end"})}},[m,d,Z,b,cl,cq,ck,cB,ct,cn,co,b9]),cF=(0,M.useCallback)(async(c,d)=>{if(bL.current||bP.current)return;let e=`${d?"!!":"!"}${c}`;bP.current=!0,O({command:c,excludeFromContext:d}),L(!0);try{let a=bK.current??b?.id??await cl();if(!a)throw Error("Unable to create a session for the shell command");await ts(a,{type:"bash",command:c,excludeFromContext:d}),await ch(a),ck(1,e)}catch(b){console.error("Failed to execute shell command:",b),ct({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bP.current=!1,O(null),L(!1)}},[ct,cl,ch,a.chatInputRef,ck,b]),cG=(0,M.useCallback)(async()=>{let a=bK.current;if(a)try{await ts(a,{type:bP.current?"abort_bash":"abort"})}catch(a){console.error("Failed to abort:",a)}},[]),cH=(0,M.useCallback)(async a=>{let b=bK.current;if(b){aI(a);try{let{cancelled:c,newSessionId:d}=await ts(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aI(null)}}},[g]),cI=(0,M.useCallback)(async a=>{let b=bK.current;b&&(ts(b,{type:"navigate_tree",targetId:a}).catch(()=>{}),v(a),await ci(b,a))},[ci]),cJ=(0,M.useCallback)(async a=>{v(a);let b=bK.current;b&&(await ci(b,a),a&&ts(b,{type:"navigate_tree",targetId:a}).catch(()=>{}))},[ci]),cK=(0,M.useCallback)(async(a,b)=>{if(m){let c={provider:a,modelId:b};b6.current=c,$(c),aM(c);let d=bK.current??await b$.current;if(!d)return;try{await ts(d,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bK.current;if(!c)return;let d=++b2.current,e=aJ??o?.context.model??null;aK({provider:a,modelId:b});try{await ts(c,{type:"set_model",provider:a,modelId:b})}catch(c){console.error("Failed to set model:",c),b2.current===d&&(aK(e&&(e.provider!==a||e.modelId!==b)?e:null),ct({type:"error",message:c instanceof Error?c.message:String(c)}))}},[ct,aJ,o?.context.model,m,$]),cL=(0,M.useCallback)(async()=>{let a=bK.current;if(a&&!aN){aO(!0),aQ(null),aS(null);try{let b=await ts(a,{type:"compact"});aS(tH(b,"manual")),await ch(a,!0)}catch(a){aQ(a instanceof Error?a.message:String(a)),aS(null)}finally{aO(!1)}}},[aN,ch]),cM=(0,M.useCallback)(async a=>{let c=++b3.current,e=d??b?.cwd??"",f=e?`/api/models?cwd=${encodeURIComponent(e)}`:"/api/models",g=b4.current;g?.abort();let h=new AbortController;b4.current=h;let i=()=>h.abort();a?.aborted?h.abort():a?.addEventListener("abort",i,{once:!0});try{let a=await fetch(f,{signal:h.signal});if(!a.ok)throw Error(`HTTP ${a.status}`);let b=await a.json();if(c!==b3.current||n!==b5.current)return;Q(b.models),U(b.thinkingLevels??{}),W(b.thinkingLevelMaps??{}),Y(b.modelScopeWarnings??[]);let d=b.modelList??[];if(S(d),m&&!bK.current){let a=(b.defaultModel?d.find(a=>a.id===b.defaultModel?.modelId&&a.provider===b.defaultModel?.provider):void 0)??d[0];aa(a?{provider:a.provider,modelId:a.id}:null);let c=a?b.thinkingLevelPins?.[`${a.provider}/${a.id}`]:void 0;null===b7.current&&aA(c??"auto")}}finally{a?.removeEventListener("abort",i),b4.current===h&&(b4.current=null)}},[m,n,d,b?.cwd]),cN=(0,M.useCallback)(async a=>{if(!a.startsWith("/"))return{handled:!1};let b=a.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!b)return{handled:!1};let[,c,d=""]=b,e=d.trim(),f=bK.current??await cl(),g=a=>(a.handled&&(a.error?ct({type:"error",message:a.error}):"openSessionStats"!==a.action&&ct({type:"success",message:a.message??"Command completed"})),a);try{switch(c){case"compact":{if(!f||aN)return g({handled:!0,error:"No active session to compact"});aO(!0),aQ(null),aS(null);let a=await ts(f,{type:"compact",...e?{customInstructions:e}:{}});return aS(tH(a,"manual")),await ch(f,!0)&&ck(),g({handled:!0,message:"Compacted context"})}case"reload":if(!f)return g({handled:!0,error:"No active session to reload"});return await ts(f,{type:"reload"}),await Promise.all([ch(f,!1,!0),cj(f),cm(),cM()]),g({handled:!0,message:"Reloaded session resources"});case"name":if(!f)return g({handled:!0,error:"No active session to name"});if(!e)return g({handled:!0,error:"Usage: /name <name>"});return await ts(f,{type:"set_session_name",name:bG(e)}),await ch(f)&&ck(),g({handled:!0,message:`Session renamed to ${e}`});case"session":{if(!f)return g({handled:!0,error:"No active session"});let a=await ts(f,{type:"get_session_stats"});return a&&a2(a),k?.(),g({handled:!0,action:"openSessionStats"})}case"copy":{if(!f)return g({handled:!0,error:"No active session"});let a=await ts(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:"No assistant message to copy"});return await navigator.clipboard.writeText(b),g({handled:!0,message:"Copied last assistant message"})}default:return{handled:!1}}}catch(a){return g({handled:!0,error:a instanceof Error?a.message:String(a)})}finally{"compact"===c&&aO(!1)}},[ct,cl,aN,cM,ch,cm,cj,ck,k]),cO=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(c,{type:"steer",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to steer:",a)}},[]),cP=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(!d)return;let e=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(d,{type:"prompt",message:a,streamingBehavior:b,...e?.length?{images:e}:{}})}catch(a){console.error("Failed to queue prompt:",a)}},[]),cQ=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(c,{type:"follow_up",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to follow up:",a)}},[]),cR=(0,M.useCallback)(async()=>{let a=bK.current;if(a)try{await ts(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),cS=(0,M.useCallback)(async()=>{let b=bK.current;if(b)try{let c=await ts(b,{type:"clear_queue"});bc({steering:[],followUp:[]});let d=[...c?.steering??[],...c?.followUp??[]];d.length>0&&a.chatInputRef?.current?.prependText(d.join("\n\n"))}catch(a){console.error("Failed to recall queued messages:",a),ct({type:"error",message:"Failed to recall queued messages"})}},[a.chatInputRef,ct]),cT=(0,M.useCallback)(async(a,b,c=!1)=>{let d=bK.current;if(!d)return bd;try{let e=await ts(d,{type:"resolve_recovery",keep:a,discard:b,continueRun:c}),f=e?.remaining??[];return be(f),c&&a.length>0&&(async()=>{try{let a=await fetch(`/api/agent/${encodeURIComponent(d)}`);if(!a.ok)return;let b=await a.json(),c=b.state;if(!b.running||!c||!c.isStreaming&&!c.isPromptRunning)return;bM.current=!!c.isStreaming,bN.current=!!c.isPromptRunning,bL.current=!0,J(!0),aU(tw(c)),B({type:"start"}),cp(d),!c.isStreaming&&c.isPromptRunning&&cB(d)}catch{}})(),f}catch(a){return console.error("Failed to resolve queued message recovery:",a),ct({type:"error",message:"Failed to resolve queued message recovery"}),bd}},[bd,ct,cp,cB]),cU=(0,M.useCallback)(async()=>{let a=bK.current;if(!a)return null;try{return await ts(a,{type:"export_queue"})}catch(a){return console.error("Failed to export queue:",a),ct({type:"error",message:"Failed to export queue"}),null}},[ct]),cV=(0,M.useCallback)(async a=>{let b=bK.current;if(!b)return null;try{let c=await ts(b,{type:"import_queue",entries:a});return c&&bc(tx(c)),c?.imported??0}catch(a){return console.error("Failed to import queue:",a),ct({type:"error",message:"Failed to import queue"}),null}},[ct]),cW=(0,M.useCallback)(async a=>{let b=bK.current;if(!b)return null;try{let c=await ts(b,{type:"stage_recovery",entries:a});return c?.pendingRecovery&&be(c.pendingRecovery),(c?.staged??0)>0&&bg(!0),c?.staged??0}catch(a){return console.error("Failed to stage imported queue:",a),ct({type:"error",message:"Failed to stage imported queue"}),null}},[ct]),cX=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(!d)return!1;try{let e=await ts(d,{type:"move_queue",kind:a,fromIndex:b,toIndex:c});return e&&bc(tx(e)),!0}catch(a){return console.error("Failed to move queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to move queued message"}),!1}},[ct]),cY=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return null;try{let d=await ts(c,{type:"recall_queue_item",kind:a,index:b});return d&&(void 0!==d.steering||void 0!==d.followUp)&&bc(tx(d)),d?.entry?{text:d.entry.text,images:d.entry.images?.map(({data:a,mimeType:b})=>({data:a,mimeType:b}))}:null}catch(a){return console.error("Failed to recall queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to recall queued message"}),null}},[ct]),cZ=(0,M.useCallback)(async(a,b,c,d)=>{let e=bK.current;if(!e)return!1;try{let f=await ts(e,{type:"requeue_at",kind:a,index:b,text:c,images:d?.map(({data:a,mimeType:b})=>({type:"image",data:a,mimeType:b}))});return f&&bc(tx(f)),!0}catch(a){return console.error("Failed to requeue message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to requeue message"}),!1}},[ct]),c$=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return!1;try{let d=await ts(c,{type:"remove_queue_item",kind:a,index:b});return d&&bc(tx(d)),!0}catch(a){return console.error("Failed to remove queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to remove queued message"}),!1}},[ct]),c_=(0,M.useCallback)(async a=>{if(b7.current="auto"===a?null:a,aA(a),"auto"===a)return;let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),c0=(0,M.useCallback)(async a=>{let b=(0,tt.xG)(a);cb(a);let c=bK.current??await b$.current;if(c)try{await ts(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[cb]),c1=(0,M.useRef)(0),c2=(0,M.useCallback)(async a=>{let b=bK.current??await b$.current,c=++c1.current;if(a){if(af.current="plan"===ab?"default":ab,ae(!0),ag.current=!0,ar.current={sessionKey:"",signature:""},b)try{if(await ts(b,{type:"prompt",message:"/plan"}),c1.current!==c)return}catch(a){if(c1.current!==c)return;console.error("Failed to enter plan mode:",a)}}else if(ae(!1),ag.current=!1,ar.current={sessionKey:"",signature:""},b){try{if(await ts(b,{type:"prompt",message:"/plan exit"}),c1.current!==c)return}catch(a){if(c1.current!==c)return;console.error("Failed to exit plan mode:",a)}if(c1.current!==c)return;try{let a=af.current;await ts(b,{type:"set_tools",toolNames:(0,tt.xG)(a)})}catch(a){console.error("Failed to restore tools after plan exit:",a)}}},[ab]),c3=(0,M.useCallback)(a=>{ai(a);let b=bK.current;if(!b){aj.current=a;return}aj.current=null,fetch(`/api/modes?session=${encodeURIComponent(b)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).catch(a=>{console.error("Failed to persist mode settings:",a)})},[]),c4=(0,M.useCallback)(a=>{if(c3({...as.current,collaborationMode:by(a)}),ao.current=by(a),ar.current={sessionKey:"",signature:""},"goal"!==a){aq.current=null,ay.current=!1,aw(a=>"idle"===a.status?a:{...a,status:"idle",goalText:null});let a=bK.current;a&&ts(a,{type:"goal_stop"}).catch(()=>{})}},[c3]),c5=(0,M.useCallback)(async a=>{c3({...as.current,tokenMode:bz(a)});let b=bK.current??await b$.current;if(b)try{if("economy"!==a||ag.current){if("economy"!==a){let a=ag.current?tt.SC:(0,tt.xG)("plan"===ab?"default":ab);await ts(b,{type:"set_tools",toolNames:a})}}else await ts(b,{type:"set_tools",toolNames:[...bB]})}catch(a){console.error("Failed to apply token mode tools:",a)}},[c3,ab]),c6=(0,M.useCallback)(async a=>{c3({...as.current,toolApprovalMode:bA(a)});let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_approval_mode",mode:bA(a)})}catch(a){console.error("Failed to apply approval mode:",a)}},[c3]),c7=(0,M.useCallback)(async a=>{c3({...as.current,permissionRules:a});let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_approval_policy",policy:a})}catch(a){console.error("Failed to apply permission rules:",a)}},[c3]),c8=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(d)try{await ts(d,{type:"resolve_approval",id:a,approve:b,reason:c})}catch(a){console.error("Failed to resolve approval:",a)}finally{au(b=>b.filter(b=>b.id!==a))}},[]),c9=(0,M.useCallback)(a=>{aq.current=a},[]),da=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aq.current=b,aw(a=>({...a,status:"running",goalText:b,turnsUsed:0,noProgressTurns:0,tokensUsed:0,startedAt:Date.now()}));let c=bK.current;c&&ts(c,{type:"goal_start",goalText:b}).catch(()=>{})},[]),db=(0,M.useCallback)(()=>{if("running"!==ax.current.status)return;aw(a=>({...a,status:"paused"}));let a=bK.current;a&&ts(a,{type:"goal_pause"}).catch(()=>{})},[]),dc=(0,M.useCallback)(()=>{let a=ax.current;if("paused"!==a.status&&"blocked"!==a.status)return;aw(a=>({...a,status:"running"}));let b=bK.current;b&&ts(b,{type:"goal_resume"}).catch(()=>{})},[]),dd=(0,M.useCallback)(()=>{ay.current=!1,aq.current=null,aw(a=>({...a,status:"idle",goalText:null,turnsUsed:0,noProgressTurns:0}));let a=bK.current;a&&ts(a,{type:"goal_stop"}).catch(()=>{})},[]),de=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aw(a=>({...a,goalText:b}));let c=bK.current;c&&ts(c,{type:"goal_edit",goalText:b}).catch(()=>{})},[]);bh.map(a=>`${a.id}:${a.status}:${a.completedAt??""}`).join("|"),(0,M.useRef)(bh).current=bh;let df=(0,M.useCallback)(()=>{let a=bZ.current,b=bS.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop,d=Math.max(0,a.scrollHeight-a.clientHeight),e=Math.min(Math.max(0,c-16),d);bV.current=e>=d-150,bX.current=Date.now()+700,a.scrollTo({top:e,behavior:"smooth"})},[]);(0,M.useCallback)(a=>{a instanceof KeyboardEvent&&(!tA.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bW.current=Date.now()+1200)},[]),(0,M.useCallback)(()=>{let a=bZ.current;if(a){let{scrollTop:b,clientHeight:c,scrollHeight:d}=a;bV.current=b+c>=d-150}if(Date.now()<bW.current){bU.current=!1;return}Date.now()<bX.current||(bU.current=!1)},[]),(0,M.useRef)(!1);let dg=o?.tree??[];return{data:o,loading:q,error:s,activeLeafId:u,messages:w,entryIds:y,streamState:A,agentRunning:I,bashRunning:K,pendingBash:N,modelNames:P,modelList:R,modelThinkingLevels:T,modelThinkingLevelMaps:V,modelScopeWarnings:X,newSessionModel:Z,toolPreset:ab,thinkingLevel:az,retryInfo:aB,contextUsage:aD,systemPrompt:aF,forkingEntryId:aH,isCompacting:aN,compactError:aP,compactResult:aR,currentModel:ce,displayModel:cf,sessionStats:cg,tokenRate:C,planMode:ad,subagents:bh,collaborationMode:ak,tokenMode:al,toolApprovalMode:am,permissionRules:an,modeSettings:ah,approvalRequests:at,handleCollaborationModeChange:c4,handleTokenModeChange:c5,handleToolApprovalModeChange:c6,handlePermissionRulesChange:c7,resolveApproval:c8,setActiveGoalText:c9,goalState:av,handleGoalStart:da,handleGoalPause:db,handleGoalResume:dc,handleGoalStop:dd,handleGoalEdit:de,slashCommands:aX,slashCommandsLoading:aZ,queuedMessages:bb,pendingRecovery:bd,recoveryIsImport:bf,notices:a_.visible,extensionDialog:a3,extensionCustomUi:a5,extensionStatuses:a7,extensionWidgets:a9,respondToExtensionUi:cr,sendExtensionCustomInput:cs,agentPhase:aT,isNew:m,promptAnchorActive:aV,branchTree:dg,sessionIdRef:bK,eventSourceRef:bs,messagesEndRef:bY,scrollContainerRef:bZ,lastUserMsgRef:bS,pendingScrollToUserRef:bT,initialScrollDoneRef:bR,scrollUserMsgToTop:df,handleSend:cE,executeBash:cF,handleAbort:cG,handleFork:cH,handleNavigate:cI,handleModelChange:cK,handleCompact:cL,handleSteer:cO,handleFollowUp:cQ,handlePromptWithStreamingBehavior:cP,handleAbortCompaction:cR,handleRecallQueue:cS,resolveRecovery:cT,exportQueueData:cU,importQueueData:cV,stageQueueImport:cW,moveQueuedMessage:cX,recallQueuedMessage:cY,requeueAt:cZ,removeQueuedMessage:c$,handleBuiltinSlashCommand:cN,handleToolPresetChange:c0,handleThinkingLevelChange:c_,handlePlanModeChange:c2,loadTools:cj,loadSlashCommands:cm,setActiveLeafId:v,setData:p,setMessages:x,dispatch:B,setAgentRunning:J,setForkingEntryId:aI,handleLeafChange:cJ,handleAgentEventRef:bQ}}({session:a,newSessionCwd:b,onAgentEnd:D,onSessionCreated:e,onSessionForked:f,modelsRefreshKey:g,chatInputRef:h,onBranchDataChange:i,onSystemPromptChange:j,onSessionStatsPanelOpen:m,onSubagentsChange:l}),[bg,bh]=(0,M.useState)(!1),{balance:bi,refresh:bj,refreshSoon:bk}=function(){let[a,b]=(0,M.useState)(null),[c,d]=(0,M.useState)(!1),e=(0,M.useRef)(null),f=(0,M.useRef)(null),g=(0,M.useRef)(!0),h=(0,M.useCallback)(async()=>{e.current?.abort();let c=new AbortController;e.current=c;try{let e=await fetch("/api/deepseek/balance",{signal:c.signal,cache:"no-store"}),f=await e.json();if(!g.current)return;f?.available&&null!=f.totalBalance?(b(f),d(!1)):null===a&&d(!0)}catch{if(!g.current)return;null===a&&d(!0)}},[a]),i=(0,M.useCallback)(()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,h()},2e3)},[h]);return{balance:a,failed:c,refresh:h,refreshSoon:i}}(),bl=ac?.provider==="deepseek";(0,M.useRef)(null);let bm=(0,M.useMemo)(()=>{let a=J.findLast(a=>"assistant"===a.role&&!!a.usage);if(!a?.usage)return null;let b=a.usage;return{model:a.model??"",input:b.input??0,output:b.output??0,cacheRead:b.cacheRead??0,costCNY:pE(a.model)?pF(a.model,b):0,costUSD:pE(a.model)?0:b.cost?.total??0}},[J]),[bn,bo]=(0,M.useState)(!1),[bp,bq]=(0,M.useState)(null);(0,M.useRef)(!1);let br=(0,M.useCallback)(()=>{bo(!1);let a=bs.current;"plan"===a2&&a5("normal"),a1(!1).then(()=>{a&&aD(A("tasks.planReviewExecutePrompt",{plan:a}))})},[a1,aD,A,a2,a5]),bs=(0,M.useRef)(null),bt=(0,M.useCallback)(a=>{bo(!1),aL(a)},[aL]),bu=(0,M.useCallback)(()=>{bo(!1),"plan"===a2&&a5("normal"),a1(!1)},[a1,a2,a5]),[bH,bI]=(0,M.useState)(!1),[bJ,bK]=(0,M.useState)(!1),[bL,bM]=(0,M.useState)(!1),bN=(0,M.useCallback)(()=>{let a=ay.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight;bI(a.scrollTop>1),bK(b>1),bM(b>240)},[ay]),bO=(0,M.useCallback)(()=>{window.requestAnimationFrame(()=>{let a=ay.current,b=ax.current;if(!a||!b)return;let c=Math.max(88,h?.current?.measureHeight?.()??0),d=()=>{if(!a||!b)return;let d=Math.max(0,b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop-96-a.clientHeight+c);a.scrollTo({top:d,behavior:"auto"})};d(),bN(),window.setTimeout(d,200)})},[ax,ay,bN,h]),bP=(0,M.useRef)(null),bQ=(0,M.useRef)([]),bR=(0,M.useMemo)(()=>({getOffsetForIndex:a=>bP.current?.getOffsetForIndex(a)?.[0]??0,sizeFor:a=>{let b=bP.current;if(!b)return 0;let c=b.measurementsCache[a];return c?.size??b.options.estimateSize?.(a)??0},totalHeight:()=>bP.current?.getTotalSize()??0,refToItemIndex:a=>bQ.current[a],itemCount:bQ.current.length}),[]);ad&&[ad.sessionId,ad.sessionFile??"",ad.sessionName??"",ad.userMessages,ad.assistantMessages,ad.toolCalls,ad.toolResults,ad.totalMessages,ad.tokens.input,ad.tokens.output,ad.tokens.cacheRead,ad.tokens.cacheWrite,ad.tokens.total,ad.cost??0,ad.totalActiveMs??0].join("|"),(0,M.useRef)(ad).current=ad,Z&&(Z.percent,Z.contextWindow,Z.tokens),(0,M.useRef)(Z).current=Z;let{isDragOver:bS,handleDragEnter:bT,handleDragOver:bU,handleDragLeave:bV,handleDrop:bW}=function(a){let[b,c]=(0,M.useState)(!1),d=(0,M.useRef)(0),e=(0,M.useCallback)(a=>{a.dataTransfer.files.length&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,M.useCallback)(a=>{a.dataTransfer.files.length&&a.preventDefault()},[]);return{isDragOver:b,handleDragEnter:e,handleDragOver:f,handleDragLeave:(0,M.useCallback)(()=>{d.current-=1,d.current<=0&&(d.current=0,c(!1))},[]),handleDrop:(0,M.useCallback)(b=>{b.preventDefault(),d.current=0,c(!1),a(Array.from(b.dataTransfer.files),b.dataTransfer)},[a])}}((0,M.useCallback)((a,b)=>{if(O){let b=a.filter(a=>a.type.startsWith("image/"));b.length&&h?.current?.addImages(b);return}h?.current?.addFiles(a,b)},[O,h])),bX=J.filter(a=>"user"===a.role||"assistant"===a.role),bY=(0,M.useMemo)(()=>{let a=new Set,b=[];for(let d=J.length-1;d>=0&&b.length<50;d-=1){var c;let e="user"!==(c=J[d]).role?null:("string"==typeof c.content?c.content:c.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")).trim()||null;!e||a.has(e)||(a.add(e),b.push(e))}return b},[J]),bZ=(t=bX.length,(u=(0,M.useRef)([])).current=Array(t).fill(null).map((a,b)=>u.current[b]??null),u),b$=as&&0===J.length&&!N.isStreaming&&!O,b_=a?.cwd??b??void 0,b0=ac?T[`${ac.provider}:${ac.modelId}`]??null:null,b1=ac?U[`${ac.provider}:${ac.modelId}`]??null:null,b2=(0,L.jsx)(sJ,{ref:h,onSend:aD,onBash:aE,tasksBoardEnabled:s,onAbort:aF,onSteer:O?aL:void 0,onFollowUp:O?aM:void 0,onPromptWithStreamingBehavior:O?aN:void 0,isStreaming:O,model:ac,modelNames:R,modelList:S,modelScopeWarnings:V,onModelChange:aI,compactResult:ab,toolPreset:W,onToolPresetChange:a||as?aZ:void 0,planMode:a0,onPlanModeChange:a=>{a1(a),a&&"plan"!==a2?a5("plan"):a||"plan"!==a2||a5("normal")},collaborationMode:a2,tokenMode:a3,toolApprovalMode:a4,onCollaborationModeChange:a=>{a5(a),"plan"!==a||a0?"plan"!==a&&a0&&a1(!1):a1(!0)},onTokenModeChange:a6,onToolApprovalModeChange:a7,goalState:ba,onGoalStart:bb,onGoalPause:bc,onGoalResume:bd,onGoalStop:be,thinkingLevel:X,onThinkingLevelChange:a||as?a$:void 0,availableThinkingLevels:b0,thinkingLevelMap:b1,retryInfo:Y,queuedMessages:ah,inputHistory:bY,onRecallQueue:aQ,onMoveQueue:aU,onRecallOne:aV,onRequeueAt:aW,onRemoveQueueItem:aX,slashCommands:af,slashCommandsLoading:ag,onLoadSlashCommands:a_,onBuiltinCommand:aY,onAudioUnlock:y,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),b3=ao.filter(a=>"belowEditor"!==a.placement),b5=ao.filter(a=>"belowEditor"===a.placement),b6=_?A("desktop.compacting"):function(a,b){if(a?.kind==="running_tools"){let c=a.tools.map(a=>a.name);return 0===c.length?b("desktop.runningTool"):b("desktop.runningTools",{tools:c.length<=3?c.join(", "):`${c.slice(0,2).join(", ")} (+${c.length-2})`})}return a?.kind==="waiting_model"?b("desktop.waitingForModel"):a?.kind==="running_command"?b("desktop.runningCommand"):null}(ar,A);return H?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-text-muted",children:A("desktop.loadingSession")}):I?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-red-400",children:I}):(0,L.jsxs)("div",{className:"relative flex h-full min-w-0 flex-col overflow-hidden",onDragEnter:bT,onDragOver:bU,onDragLeave:bV,onDrop:bW,children:[bS&&(0,L.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-[rgba(37,99,235,0.06)] backdrop-blur-[1px]",children:[(0,L.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(a=>(0,L.jsx)("div",{className:"absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[rgba(37,99,235,0.5)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]",style:{transformOrigin:"center",animationDelay:`${a}s`}},a))}),(0,L.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-[0_6px_18px_rgba(37,99,235,0.18)]",children:[(0,L.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"rgba(37,99,235,0.08)",stroke:"rgba(37,99,235,0.50)",strokeWidth:"1.8"}),(0,L.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"rgba(37,99,235,0.16)",stroke:"rgba(37,99,235,0.40)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,L.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"rgba(37,99,235,0.22)",stroke:"rgba(37,99,235,0.55)",strokeWidth:"1.6"}),(0,L.jsxs)("g",{stroke:"rgba(37,99,235,0.45)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,L.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,L.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,L.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,L.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,L.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,L.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,L.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,L.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),al&&(0,L.jsx)(tO,{request:al,onRespond:ap}),am&&(0,L.jsx)(tP,{request:am,onInput:aq}),!as&&ai.length>0&&!bg&&(0,L.jsx)(sM,{items:ai,sessionId:a?.id,onResolve:aR,onExport:aS,onStageImport:aT,onDismiss:()=>bh(!0),mode:aj?"import":"recovery"}),a8.length>0&&(0,L.jsx)(qf,{request:a8[0]??null,queuedCount:Math.max(0,a8.length-1),busy:!1,onResolve:(a,b)=>{let c=a8[0];c&&a9(c.id,a,b)}}),b$?(0,L.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto",children:(0,L.jsxs)("div",{className:"w-full max-w-[820px]",children:[(0,L.jsx)("div",{style:{display:"flex",justifyContent:"center",marginBottom:28},children:(0,L.jsxs)("svg",{fill:"currentColor",fillRule:"evenodd",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{width:64,height:64,color:"var(--accent)",opacity:.85},"aria-label":"Pi",children:[(0,L.jsx)("title",{children:"Pi"}),(0,L.jsx)("path",{clipRule:"evenodd",d:"M1 1h16.5v11H12v5.5H6.5V23H1V1zm5.5 5.5V12H12V6.5H6.5z"}),(0,L.jsx)("path",{d:"M17.5 12H23v11h-5.5V12z"})]})}),(0,L.jsx)("div",{style:{padding:"0 34px 6px 7px",paddingRight:z?16:34},children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,L.jsx)("div",{ref:p,style:{display:"flex",alignItems:"center",minWidth:0,flex:1,minHeight:48}}),(0,L.jsxs)("div",{style:{display:z?"none":"flex",flexDirection:"column",alignItems:"flex-end",gap:2,flexShrink:0},children:[(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:["web ",(0,L.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.9.29"]})]}),(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:["pi ",(0,L.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.84.0"]})]})]})]})}),(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:z?16:34},children:(0,L.jsx)(tN,{notices:ak,align:"right"})}),"goal"===a2&&(0,L.jsx)(qc,{goalState:ba,onPause:bc,onResume:bd,onStop:be,onEdit:bf}),b2,(0,L.jsx)("div",{style:{padding:"0 16px 6px",paddingRight:z?16:34,marginTop:-15},children:(0,L.jsx)(s7,{onViewFullHistory:q,cwd:b_,systemPrompt:r,sessionStats:ad,contextUsage:Z,hasSession:!!a,showChat:!0,showSoundLabel:!0,soundEnabled:v,onSoundToggle:w,onCompact:a?aJ:void 0,onAbortCompaction:aP,isCompacting:_,compactError:aa,isDeepSeekOfficial:bl,deepseekBalance:bi,lastTurnUsage:bm})})]})}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"relative flex flex-1 overflow-hidden z-0",children:[(0,L.jsx)("div",{style:{position:"absolute",top:12,left:0,right:18*!z,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(tN,{notices:ak,floating:!0,align:"right"})})}),(0,L.jsxs)("div",{className:"relative flex-1 min-h-0 min-w-0",children:[(0,L.jsx)("div",{ref:ay,className:"h-full min-w-0 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:(0,L.jsx)("div",{style:{minWidth:0,padding:"0 16px"},children:(0,L.jsxs)("div",{style:{width:"100%",minWidth:0,maxWidth:820,margin:"0 auto"},children:[(0,L.jsx)(tL,{statuses:an}),(0,L.jsx)(tM,{widgets:b3}),(()=>{let b=new Map;for(let a of J)"toolResult"===a.role&&b.set(a.toolCallId,a);let c=-1;for(let a=J.length-1;a>=0;a--)if("user"===J[a].role){c=a;break}let d=new Map,e=0;J.forEach((a,b)=>{("user"===a.role||"assistant"===a.role)&&d.set(b,e++)});let f=(e,f={})=>{let g=f.messageOverride??J[e],h="user"===g.role&&e>0&&"assistant"===J[e-1].role?K[e-1]:void 0,i="user"===g.role||"assistant"===g.role,j=d.get(e),k=f.keyPrefix??"message",l=!1;if("assistant"===g.role){l=!0;for(let a=e+1;a<J.length;a++){let b=J[a].role;if("user"===b)break;if("assistant"===b){l=!1;break}}l&&N.isStreaming&&e===J.length-1&&(l=!1)}void 0!==f.showTimestamp&&(l=f.showTimestamp);let m=(0,L.jsx)(pK,{message:g,toolResults:b,modelNames:R,cwd:b_,onOpenFile:o,entryId:K[e],onFork:O||as||0===e&&"user"===g.role?void 0:aG,forking:$===K[e],onNavigate:O?void 0:aH,prevAssistantEntryId:O?void 0:h,onEditContent:E,onQuoteReply:F,onCreateTask:G,showTimestamp:l,prevTimestamp:e>0?J[e-1].timestamp:void 0,sessionId:a?.id??aw.current??void 0,writtenFiles:f.writtenFiles},`${k}-view-${e}`);return i&&!1!==f.attachRef&&void 0!==j?(0,L.jsx)("div",{ref:a=>{bZ.current[j]=a,e===c&&(az.current=a,a&&aA.current&&(aA.current=!1,aB.current=!0,aC()))},children:m},`${k}-${e}`):m},g=[],h=[],i=(a,b)=>{g.push(a),h.push(b)};for(let e=0;e<J.length;){let g=J[e],h="custom"===g.role&&"compaction"===g.customType;if("user"!==g.role&&!h){i(f(e),d.get(e)),e+=1;continue}let j=e,k=j+1;for(;k<J.length&&"user"!==J[k].role;)k+=1;let l=function(a,b,c){for(let e=c-1;e>b;e--){var d;if("assistant"===(d=a[e]).role&&b4(d).answerBlocks.some(a=>"image"===a.type||"text"===a.type&&a.text.trim().length>0))return e}for(let d=c-1;d>b;d--)if(a[d]?.role==="assistant")return d;return -1}(J,j,k);if((O||N.isStreaming)&&k===J.length&&(j===c||h)){i(f(j),d.get(j));let c=N.streamingMessage?.role==="assistant",g=[],h=!c&&l>=0?l:k;for(let a=j+1;a<h;a++)tI(J[a])&&g.push(a);let m=cd(J,K,g,b),n=null;if(!c&&l>=0){let a=J[l],c=b4(a,{isStreaming:!0}),d=cc(a,{messageIndex:l,entryId:K[l],toolResults:b,isStreaming:!0});m=m.concat(d.processBlocks),c.answerBlocks.length>0&&(n=tJ(a,c.answerBlocks,{omitUsage:!0}))}if(c){let a=N.streamingMessage,c=b4(a,{isStreaming:!0}),d=cc(a,{messageIndex:J.length,toolResults:b,isStreaming:!0});m=m.concat(d.processBlocks),c.answerBlocks.length>0&&(n=tJ(a,c.answerBlocks,{omitUsage:!0}))}if(m.length>0){let b=g.map(a=>d.get(a)).find(a=>"number"==typeof a);i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{bZ.current[b]=a},children:(0,L.jsx)(q9,{blocks:m,isStreaming:O||N.isStreaming,cwd:b_,onOpenFile:o,sessionId:a?.id??aw.current??void 0,tokenRate:ae})},`live-process-group-${j}`),b)}n&&i((0,L.jsx)(pK,{message:n,isStreaming:!0,modelNames:R,cwd:b_,onOpenFile:o,onQuoteReply:F},`live-answer-${j}`),l>=0?d.get(l):void 0),e=k;continue}if(-1===l){for(let a=j;a<k;a++)i(f(a),d.get(a));e=k;continue}i(f(j),d.get(j));let m=[];for(let a=j+1;a<l;a++)m.push(a);let n=m.filter(a=>tI(J[a])),p=J[l],q=b4(p),r=q.processBlocks.length>0?tJ(p,q.processBlocks,{omitUsage:!0}):null,s=q.answerBlocks.length>0?tJ(p,q.answerBlocks):null,t=cd(J,K,n,b);if(r&&(t=t.concat(cc(p,{messageIndex:l,entryId:K[l],toolResults:b}).processBlocks)),t.length>0){let b=n.map(a=>d.get(a)).find(a=>"number"==typeof a)??(s?void 0:d.get(l));i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{bZ.current[b]=a},children:(0,L.jsx)(q9,{blocks:t,isStreaming:!1,defaultExpanded:!s,onAutoExpanded:void 0,cwd:b_,onOpenFile:o,sessionId:a?.id??aw.current??void 0})},`process-group-${j}-${l}`),b)}if(s){let a=[];for(let b=j+1;b<=l;b++){let c=J[b];if(c?.role==="assistant")for(let b of c.content??[])a.push(b)}i(f(l,{messageOverride:s,writtenFiles:function(a,b,c){let d=new Set,e=[];for(let f of a){if("toolCall"!==f.type||!function(a){let b,c;return"write"===(b=a.toLowerCase())||b.startsWith("write_")||b.endsWith(".write")||b.endsWith("_write")||"edit"===(c=a.toLowerCase())||c.startsWith("edit_")||c.endsWith(".edit")||c.endsWith("_edit")||c.includes("str_replace")||c.includes("replace_editor")}(f.toolName))continue;let a=b?.get(f.toolCallId);if(!a||a.isError)continue;let g=function(a){if(!a)return null;let b=a.file_path??a.path;return"string"==typeof b&&b.length>0?b:null}(f.input);if(!g)continue;let h=function(a,b){let c;if(!a)return null;let d=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")||void 0!==b&&(/^[a-zA-Z]:[\\/]/.test(b)||b.startsWith("\\\\")),e=a=>d?a.replace(/\\/g,"/"):a,f=e(a),g=b?e(b).replace(/\/+$/,""):void 0,h=/^[a-zA-Z]:\//.test(f),i=f.startsWith("//");if(h||i)c=f;else if(f.startsWith("/")){let a=g?.match(/^([a-zA-Z]:)(?:\/|$)/)?.[1]??g?.match(/^(\/\/[^/]+\/[^/]+)(?:\/|$)/)?.[1];c=a?`${a}${f}`:f}else{if(!g)return null;c=`${g}/${f}`}return b7(c)}(g,c);h&&(d.has(h)||(d.add(h),e.push({filePath:h})))}return e}(a,b,b_)}),d.get(l))}for(let a=l+1;a<k;a++)i(f(a),d.get(a));e=k}let j=[];return h.forEach((a,b)=>{void 0!==a&&(j[a]=b)}),bQ.current=j,(0,L.jsx)(tn,{scrollElementRef:ay,items:g,virtualizerRef:bP})})(),b6&&(_||O&&!N.streamingMessage)&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsxs)("span",{className:"animate-[pulse_1.5s_infinite]",children:[b6,ar?.kind==="waiting_model"&&(0,L.jsx)("span",{style:{display:"inline-block",width:12,height:12,marginLeft:6,verticalAlign:"-2px",border:"1.5px solid var(--text-muted)",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 0.6s linear infinite"}})]})}),Q&&(0,L.jsx)(pK,{message:{role:"bashExecution",command:Q.command,output:"",excludeFromContext:Q.excludeFromContext},sessionId:a?.id??aw.current??void 0}),P&&!Q&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsx)("span",{className:"animate-[pulse_1.5s_infinite]",children:A("desktop.runningShellCommand")})}),(0,L.jsx)("div",{style:{height:96}}),(0,L.jsx)("div",{ref:ax}),(0,L.jsx)(p5,{open:bn,planText:bp,busy:O,onExecute:br,onFeedback:bt,onExit:bu,onClose:()=>bo(!1)})]})})}),bH&&(0,L.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 z-10 h-8 bg-gradient-to-b from-[var(--bg)] to-transparent"}),bJ&&(0,L.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 bottom-0 z-10 h-8 bg-gradient-to-t from-[var(--bg)] to-transparent"}),bL&&(0,L.jsxs)("button",{type:"button",onClick:()=>bO(),title:A("desktop.scrollToBottom"),"aria-label":A("desktop.scrollToBottom"),style:{position:"absolute",bottom:14,right:18,zIndex:20,display:"flex",alignItems:"center",gap:6,padding:"5px 10px",border:"1px solid var(--border)",borderRadius:999,background:"color-mix(in srgb, var(--bg-panel) 92%, transparent)",color:"var(--text-muted)",fontSize:11,fontWeight:600,cursor:"pointer",boxShadow:"0 4px 14px rgba(0,0,0,0.14)",backdropFilter:"blur(4px)",transition:"color 0.12s, border-color 0.12s, background 0.12s"},onMouseEnter:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.borderColor="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.borderColor="var(--border)"},children:[(0,L.jsx)(pr,{size:12,weight:"bold","aria-hidden":"true"}),A("desktop.scrollToBottom")]})]}),z?null:(0,L.jsx)(tq,{messages:J,streamingMessage:N.streamingMessage,scrollContainer:ay,messageRefs:bZ,virtualizer:bR})]}),(0,L.jsxs)("div",{className:"relative z-10",children:[(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:z?16:34},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(tM,{widgets:b5})})}),b2,(0,L.jsx)("div",{className:`session-info-bar-wrap${z?" is-mobile":""}`,children:(0,L.jsx)("div",{className:"session-info-bar-inner",children:(0,L.jsx)(s7,{onViewFullHistory:q,cwd:b_,systemPrompt:r,sessionStats:ad,contextUsage:Z,hasSession:!!a,showChat:!0,soundEnabled:v,onSoundToggle:w,onCompact:a?aJ:void 0,onAbortCompaction:aP,isCompacting:_,compactError:aa,branchTree:at,branchActiveLeafId:au,onBranchLeafChange:av,isDeepSeekOfficial:bl,deepseekBalance:bi,lastTurnUsage:bm})})})]})]})]})}function tL({statuses:a}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:a.map(a=>(0,L.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,L.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:a.key}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.text})]},a.key))})}function tM({widgets:a}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginBottom:10},children:a.map(a=>(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{padding:"5px 9px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:a.key}),(0,L.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:a.lines.join("\n")})]},a.key))})}function tN({notices:a,floating:b=!1,align:c="left"}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",alignItems:"right"===c?"flex-end":"stretch",marginBottom:10*!b},children:a.map((c,d)=>{let e="error"===c.type?"#ef4444":"warning"===c.type?"#d97706":"success"===c.type?"#10b981":"var(--accent)";return(0,L.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:"center",gap:10,minHeight:44,maxHeight:180,marginBottom:6*(d!==a.length-1),overflowY:"auto",overflowX:"hidden",borderRadius:14,border:"1px solid color-mix(in srgb, var(--border) 70%, transparent)",background:"var(--bg)",color:"var(--text-muted)",width:"fit-content",maxWidth:"min(100%, 620px)",boxShadow:b?"0 1px 2px rgba(15,23,42,0.05), 0 10px 28px -14px rgba(15,23,42,0.24)":"0 1px 2px rgba(15,23,42,0.04), 0 8px 24px -12px rgba(15,23,42,0.10)",fontSize:13,lineHeight:1.45,transformOrigin:"top center",animation:c.exiting?"notice-shelf-out 0.18s ease-in forwards":"notice-shelf-in 0.18s ease-out both",padding:"0 12px"},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e,flexShrink:0}}),(0,L.jsx)("span",{style:{padding:"10px 0",minWidth:0,maxWidth:"100%",overflowWrap:"anywhere",whiteSpace:"pre-wrap"},children:c.message})]},c.id)})})}function tO({request:a,onRespond:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)("editor"===a.method?a.prefill??"":""),f=()=>{"confirm"===a.method?b(a,{confirmed:!0}):b(a,{value:d})};return(0,L.jsx)("div",{style:{position:"absolute",inset:0,zIndex:90,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"rgba(0,0,0,0.18)"},children:(0,L.jsxs)("div",{role:"dialog","aria-modal":"true",style:{width:"min(560px, 100%)",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"0 20px 60px rgba(0,0,0,0.28)",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{padding:"12px 14px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("div",{style:{color:"var(--text)",fontSize:14,fontWeight:650},children:a.title}),(0,L.jsx)("div",{style:{marginTop:3,color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:c("desktop.extensionRequest")})]}),(0,L.jsxs)("div",{style:{padding:14},children:["confirm"===a.method&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:13,lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.message}),"select"===a.method&&(0,L.jsx)("div",{style:{display:"grid",gap:8},children:a.options.map(c=>(0,L.jsx)("button",{onClick:()=>b(a,{value:c}),style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:13},children:c},c))}),"input"===a.method&&(0,L.jsx)("input",{autoFocus:!0,value:d,placeholder:a.placeholder,onChange:a=>e(a.target.value),onKeyDown:c=>{"Enter"===c.key&&f(),"Escape"===c.key&&b(a,{cancelled:!0})},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",fontSize:13}}),"editor"===a.method&&(0,L.jsx)("textarea",{autoFocus:!0,value:d,onChange:a=>e(a.target.value),onKeyDown:c=>{"Escape"===c.key&&b(a,{cancelled:!0}),(c.metaKey||c.ctrlKey)&&"Enter"===c.key&&f()},style:{width:"100%",minHeight:220,padding:10,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",resize:"vertical",fontSize:13,lineHeight:1.55,fontFamily:"var(--font-mono)"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 14px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,L.jsx)("button",{onClick:()=>b(a,{cancelled:!0}),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer"},children:c("desktop.cancel")}),"confirm"===a.method?(0,L.jsx)("button",{onClick:f,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"#fff",cursor:"pointer"},children:c("desktop.confirm")}):"select"!==a.method?(0,L.jsx)("button",{onClick:f,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"#fff",cursor:"pointer"},children:c("desktop.submit")}):null]})]})})}function tP({request:a,onInput:b}){let{t:c}=(0,aK.s)(),d=(0,M.useRef)(null),e=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=b$(d).trimEnd();if(b.test(a))continue;let e=d,f=b1(e);("│"===f||"┃"===f)&&" "===b1(e=b0(e,0))&&(e=b0(e,0));let g=function(a){let b=b_(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(e),h=g>=0?b_(e)[g]?.char:void 0;("│"===h||"┃"===h)&&(e=b0(e,g)),c.push(function(a){let b=a;for(;;){let a=b_(b),c=a[a.length-1];if(!c||""!==c.char.trim())return b;b=b.slice(0,c.start)+b.slice(c.end)}}(e))}for(;c.length>0&&""===b$(c[0]).trim();)c.shift();for(;c.length>0&&""===b$(c[c.length-1]).trim();)c.pop();return c.length?c:a}(a.lines);return(0,L.jsx)("div",{style:{position:"absolute",inset:0,zIndex:95,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"rgba(0,0,0,0.18)"},children:(0,L.jsxs)("div",{ref:d,tabIndex:0,role:"dialog","aria-modal":"true",onKeyDown:c=>{let d=function(a){if(a.ctrlKey&&!a.metaKey&&!a.altKey&&1===a.key.length){let b=a.key.toLowerCase();if(b>="a"&&b<="z")return String.fromCharCode(b.charCodeAt(0)-96)}switch(a.key){case"ArrowUp":return"\x1b[A";case"ArrowDown":return"\x1b[B";case"ArrowRight":return"\x1b[C";case"ArrowLeft":return"\x1b[D";case"Enter":return"\r";case"Escape":return"\x1b";case"Backspace":return"";case"Tab":return" ";case" ":return" ";default:if(!a.ctrlKey&&!a.metaKey&&!a.altKey&&1===a.key.length)return a.key;return null}}(c);d&&(c.preventDefault(),c.stopPropagation(),b(a,d))},style:{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,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("div",{style:{color:"var(--text)",fontSize:13,fontWeight:650},children:c("desktop.extensionPanel")}),(0,L.jsx)("button",{onClick:()=>b(a,"\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:c("desktop.close")})]}),(0,L.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:(e.length?e:[""]).map((a,b,c)=>{var d;return(0,L.jsxs)(M.Fragment,{children:[(d=`line-${b}`,(function(a){let b,c=[],d={},e=0;for(bX.lastIndex=0;null!==(b=bX.exec(a));)b.index>e&&c.push({text:a.slice(e,b.index),style:d}),d=function(a,b){let c={...a};for(let a=0;a<b.length;a++){let d=b[a];if(0===d)for(let a of Object.keys(c))delete c[a];else if(1===d)c.fontWeight=700;else if(2===d)c.opacity=.65;else if(3===d)c.fontStyle="italic";else if(4===d)c.textDecoration="underline";else if(22===d)delete c.fontWeight,delete c.opacity;else if(23===d)delete c.fontStyle;else if(24===d)delete c.textDecoration;else if(39===d)delete c.color;else if(49===d)delete c.backgroundColor;else if(d>=30&&d<=37)c.color=bY[d-30];else if(d>=90&&d<=97)c.color=bZ[d-90];else if(d>=40&&d<=47)c.backgroundColor=bY[d-40];else if(d>=100&&d<=107)c.backgroundColor=bZ[d-100];else if((38===d||48===d)&&2===b[a+1]){let[e,f,g]=[b[a+2],b[a+3],b[a+4]];[e,f,g].every(a=>"number"==typeof a&&Number.isFinite(a))&&(38===d?c.color=`rgb(${e}, ${f}, ${g})`:c.backgroundColor=`rgb(${e}, ${f}, ${g})`),a+=4}else if((38===d||48===d)&&5===b[a+1]){let e=function(a){if(a>=0&&a<8)return bY[a];if(a>=8&&a<16)return bZ[a-8];if(a>=16&&a<=231){let b=a-16,c=Math.floor(b/36),d=Math.floor(b%36/6),e=a=>0===a?0:55+40*a;return`rgb(${e(c)}, ${e(d)}, ${e(b%6)})`}if(a>=232&&a<=255){let b=8+(a-232)*10;return`rgb(${b}, ${b}, ${b})`}}(b[a+2]);e&&(38===d?c.color=e:c.backgroundColor=e),a+=2}}return c}(d,b[1]?b[1].split(";").map(a=>Number(a||"0")):[0]),e=b.index+b[0].length;return e<a.length&&c.push({text:a.slice(e),style:d}),c})(a).map((a,b)=>Object.keys(a.style).length>0?(0,L.jsx)("span",{style:a.style,children:a.text},`${d}-${b}`):a.text)),b<c.length-1?"\n":null]},b)})})]})})}let tQ={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"},tR={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",webm:"audio/webm"};function tS(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function tT(a,b,c,d={}){let e=bb(a),f=new URLSearchParams({type:b});for(let[a,b]of(c&&f.set("sessionId",c),Object.entries(d)))void 0!==b&&f.set(a,String(b));return`/api/files/${e}?${f.toString()}`}function tU({filePath:a,sourceSessionId:b}){let{t:c}=(0,aK.s)();return(0,L.jsx)("a",{href:tT(a,"download",b),download:bc(a),title:c("desktop.downloadFile"),style:{display:"flex",alignItems:"center",justifyContent:"center",height:20,padding:"0 5px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-muted)",cursor:"pointer",flexShrink:0,textDecoration:"none"},children:(0,L.jsx)(aF,{size:11,"aria-hidden":"true"})})}let tV={delete:"3px solid var(--git-status-deleted)",add:"3px solid var(--git-status-added)",edit:"3px solid var(--git-status-modified)"},tW="var(--git-status-deleted-bg)",tX="var(--git-status-added-bg)",tY="var(--git-status-added)";function tZ(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function t$({oldContent:a,newContent:b}){let{t:c}=(0,aK.s)(),d=function(a,b){let c=a.length,d=b.length,e=c+d,f=Array(2*e+1).fill(0),g=[];for(let h=0;h<=e;h++){g.push([...f]);for(let i=-h;i<=h;i+=2){let j,k=(j=i===-h||i!==h&&f[i-1+e]<f[i+1+e]?f[i+1+e]:f[i-1+e]+1)-i;for(;j<c&&k<d&&a[j]===b[k];)j++,k++;if(f[i+e]=j,j>=c&&k>=d){let f=[],i=c,j=d;for(let c=h;c>0;c--){let d,h=g[c-1],k=i-j;d=k===-c||k!==c&&h[k-1+e]<h[k+1+e]?k+1:k-1;let l=h[d+e],m=l-d;for(;i>l&&j>m;)i--,j--,f.unshift({type:"unchanged",text:a[i]});c>0&&(i>l?(i--,f.unshift({type:"removed",text:a[i]})):(j--,f.unshift({type:"added",text:b[j]})))}for(;i>0&&j>0;)i--,j--,f.unshift({type:"unchanged",text:a[i]});return f}}}return[...a.map(a=>({type:"removed",text:a})),...b.map(a=>({type:"added",text:a}))]}(a.split("\n"),b.split("\n"));if(!d.some(a=>"unchanged"!==a.type))return(0,L.jsx)("div",{style:{padding:"12px 16px",fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:c("desktop.noChanges")});let e=new Set(d.flatMap((a,b)=>"unchanged"!==a.type?[b]:[])),f=new Set;for(let a of e)for(let b=Math.max(0,a-3);b<=Math.min(d.length-1,a+3);b++)f.add(b);let g=[],h=0;for(;h<d.length;)if(f.has(h)){let a=[];for(;h<d.length&&f.has(h);)a.push(d[h]),h++;g.push({hidden:!1,lines:a})}else{let a=0;for(;h<d.length&&!f.has(h);)a++,h++;g.push({hidden:!0,count:a})}let i=[],j=1;for(let a of d)"removed"===a.type?i.push(0):i.push(j++);let k=0;return(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,minWidth:"max-content"},children:g.map((a,b)=>{if(a.hidden){let d=(0,L.jsx)("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:c("desktop.unchangedLines",{count:a.count})},b);return k+=a.count,d}let d=[],e=[],f=[],g=()=>{if(e.length||f.length){let a=e.length&&f.length?"edit":e.length?"delete":"add";for(let b of e)d.push({key:b.key,kind:"removed",text:b.text,lineNo:null,block:a});for(let b of f)d.push({key:b.key,kind:"added",text:b.text,lineNo:b.lineNo,block:a});e=[],f=[]}};a.lines.forEach((a,c)=>{"unchanged"===a.type?(g(),d.push({key:`${b}:${c}`,kind:"context",text:a.text,lineNo:i[k+c],block:null})):"removed"===a.type?e.push({key:`${b}:${c}`,text:a.text}):f.push({key:`${b}:${c}`,text:a.text,lineNo:i[k+c]})}),g();let h=d.map(a=>{let b="removed"===a.kind?tW:"added"===a.kind?tX:"transparent",c=a.block?tV[a.block]:"3px solid transparent",d="added"===a.kind?tY:"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",background:b,borderLeft:c},children:[(0,L.jsx)("span",{style:{minWidth:44,padding:"0 8px 0 16px",textAlign:"right",color:d,userSelect:"none",fontSize:11,lineHeight:1.6,flexShrink:0},children:a.lineNo??""}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)"},children:a.text||"\xa0"})]},a.key)});return k+=a.lines.length,(0,L.jsx)("div",{children:h},b)})})}function t_({patch:a}){let b=pl(a);if(!b)return null;let c=[],d=[],e=[],f=()=>{if(d.length||e.length){let a=d.length&&e.length?"edit":d.length?"delete":"add";for(let b of d)c.push({key:b.key,kind:"removed",text:b.text,lineNo:null,block:a});for(let b of e)c.push({key:b.key,kind:"added",text:b.text,lineNo:b.lineNo,block:a});d=[],e=[]}};return b.forEach((a,b)=>{a.rows.forEach((a,g)=>{if("hunk"===a.type){f(),c.push({key:`${b}:${g}:h`,kind:"hunk",text:a.text,lineNo:null,block:null});return}let{left:h,right:i}=a;if("context"===h.type&&"context"===i.type){f(),c.push({key:`${b}:${g}:c`,kind:"context",text:h.text,lineNo:i.lineNo,block:null});return}"removed"===h.type&&d.push({key:`${b}:${g}:l`,text:h.text}),"added"===i.type&&e.push({key:`${b}:${g}:r`,text:i.text,lineNo:i.lineNo})})}),f(),(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:"max-content"},children:c.map(a=>{if("hunk"===a.kind)return(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{height:"1.55em"}}),(0,L.jsx)("div",{style:{padding:"3px 12px",color:"var(--accent-blue)",background:"var(--bg-secondary)"},children:a.text}),(0,L.jsx)("div",{style:{height:"1.55em"}})]},a.key);let b="removed"===a.kind?tW:"added"===a.kind?tX:"transparent",c=a.block?tV[a.block]:"3px solid transparent",d="added"===a.kind?tY:"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",background:b,borderLeft:c},children:[(0,L.jsx)("span",{style:{width:44,flexShrink:0,padding:"0 8px 0 16px",textAlign:"right",color:d,userSelect:"none",fontSize:11},children:a.lineNo??""}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)"},children:a.text||"\xa0"})]},a.key)})})}function t0({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null);(0,M.useRef)(null);let m=bc(a).toLowerCase().split(".").pop()??"",n=tT(a,"read",c,e?{v:e}:void 0),o=null!=g?tZ(g):null;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:m||d("desktop.image")}),i&&(0,L.jsxs)("span",{children:[i.w," \xd7 ",i.h]}),o&&(0,L.jsx)("span",{children:o}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.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:k?(0,L.jsx)("div",{style:{color:"#f87171",fontSize:13},children:k}):(0,L.jsx)("img",{src:n,alt:a,onLoad:a=>{let b=a.currentTarget;j({w:b.naturalWidth,h:b.naturalHeight})},onError:()=>l(d("desktop.failedToLoadImage")),style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"}})})]})}function t1({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null);(0,M.useRef)(null);let m=bc(a).toLowerCase().split(".").pop()??"",n=tT(a,"read",c,e?{v:e}:void 0);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:m||d("desktop.audio")}),null!=i&&(0,L.jsx)("span",{children:function(a){if(!Number.isFinite(a))return"";let b=Math.round(a),c=Math.floor(b/60);return`${c}:${String(b%60).padStart(2,"0")}`}(i)}),null!=g&&(0,L.jsx)("span",{children:tZ(g)}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"var(--bg-panel)"},children:(0,L.jsxs)("div",{style:{width:"min(680px, 100%)"},children:[k&&(0,L.jsx)("div",{style:{color:"#f87171",fontSize:13,marginBottom:12,textAlign:"center"},children:k}),(0,L.jsx)("audio",{controls:!0,preload:"metadata",src:n,onLoadedMetadata:a=>j(a.currentTarget.duration),onError:()=>l(d("desktop.failedToLoadAudio")),style:{width:"100%"}},n)]})})]})}function t2({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null);(0,M.useRef)(null);let k=tS(a),l="pdf"===k,m=l?tT(a,"read",c,e?{v:e}:void 0):tT(a,"preview",c,e?{v:e}:void 0);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:"docx"===k?d("desktop.docxPreview"):"pdf"}),null!=g&&(0,L.jsx)("span",{children:tZ(g)}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{style:{flex:1,minHeight:0,background:"var(--bg-panel)"},children:i?(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24,color:"#f87171",fontSize:13,textAlign:"center"},children:i}):(0,L.jsx)("iframe",{src:m,sandbox:l?void 0:"allow-same-origin",title:d("desktop.previewFile",{file:bc(a)}),style:{width:"100%",height:"100%",border:"none",background:l?"var(--bg)":"#eef1f5"}},m)})]})}function t3({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g}){let h;return null!==(tQ[tS(a)]??null)?(0,L.jsx)(t0,{filePath:a,cwd:b,sourceSessionId:c}):null!==(tR[tS(a)]??null)?(0,L.jsx)(t1,{filePath:a,cwd:b,sourceSessionId:c}):null!==("pdf"===(h=tS(a))||"docx"===h?h:null)?(0,L.jsx)(t2,{filePath:a,cwd:b,sourceSessionId:c}):(0,L.jsx)(t4,{filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g})}function t4({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g}){let h,i,{t:j}=(0,aK.s)(),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(null),[q,r]=(0,M.useState)(!0),[s,t]=(0,M.useState)(null),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)("source"),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(0),[C,D]=(0,M.useState)(null);(0,M.useRef)(null);let E=(0,M.useRef)(null);(0,M.useCallback)(async a=>{if(!b)return void p(null);try{let c=new URLSearchParams({cwd:b,path:a}),d=await fetch(`/api/git/diff?${c.toString()}`),e=await d.json();p(d.ok&&e.supported&&"string"==typeof e.patch?e:null)}catch{p(null)}},[b]),(0,M.useCallback)((a,b=!1)=>fetch(tT(a,"read",c)).then(a=>a.json()).then(a=>a.error?(t(a.error),null):(b?(l(b=>(b&&n(b.content),a)),B(a=>a+1)):l(a),a)).catch(a=>(t(String(a)),null)),[c]);let F=(0,M.useMemo)(()=>oV(k?.content??""),[k?.content]),G=o?.supported===!0&&"string"==typeof o.patch,H=G&&o?.status==="deleted",I=(0,M.useCallback)(c=>{f&&c&&f(bd(a,b),c.startLine,c.endLine)},[b,a,f]);if(q)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:j("desktop.loadingFile")});if(H&&!k)return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{padding:"5px 16px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11},title:a,children:bd(a,b)}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)"},children:(0,L.jsx)(t_,{patch:o.patch})})]});if(s)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#f87171",fontSize:13},children:s});if(!k)return null;let J="html"===k.language,K="markdown"===k.language,N=(i=(h=ba(a).replace(/\/+$/,"")).lastIndexOf("/"))<0?"":0===i?"/":2===i&&/^[a-zA-Z]:\//.test(h)?h.slice(0,3):h.slice(0,i),O=k.content.split("\n"),P=null!==m&&m!==k.content||G;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:k.language}),"source"===w&&(0,L.jsx)("span",{children:j("desktop.lines",{count:O.length})}),(0,L.jsx)("span",{children:tZ(k.size)}),P&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>x("source"),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:"source"===w?"var(--bg-selected)":"var(--bg-hover)",color:"source"===w?"var(--text)":"var(--text-muted)",fontWeight:"source"===w?600:400},children:j("desktop.source")}),(0,L.jsxs)("button",{onClick:()=>x("diff"),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:"diff"===w?"var(--bg-selected)":"var(--bg-hover)",color:"diff"===w?"var(--text)":"var(--text-muted)",fontWeight:"diff"===w?600:400},children:[j("desktop.diff")," ",A>0&&(0,L.jsxs)("span",{style:{color:"var(--git-status-added)",marginLeft:2},children:["+",A]})]})]}),"source"===w&&!u&&(0,L.jsx)("button",{onClick:()=>z(a=>!a),title:j(y?"desktop.disableWordWrap":"desktop.enableWordWrap"),style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:y?"var(--bg-selected)":"var(--bg-hover)",color:y?"var(--text)":"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:y?600:400},children:j("desktop.wrap")}),J&&"source"===w&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>v(!1),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:u?"var(--bg-hover)":"var(--bg-selected)",color:u?"var(--text-muted)":"var(--text)",fontWeight:u?400:600},children:j("desktop.code")}),(0,L.jsx)("button",{onClick:()=>v(!0),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:u?"var(--bg-selected)":"var(--bg-hover)",color:u?"var(--text)":"var(--text-muted)",fontWeight:u?600:400},children:j("desktop.preview")})]}),K&&"source"===w&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>v(!0),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:u?"var(--bg-selected)":"var(--bg-hover)",color:u?"var(--text)":"var(--text-muted)",fontWeight:u?600:400},children:j("desktop.preview")}),(0,L.jsx)("button",{onClick:()=>v(!1),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:u?"var(--bg-hover)":"var(--bg-selected)",color:u?"var(--text-muted)":"var(--text)",fontWeight:u?400:600},children:j("desktop.raw")})]}),(e||f)&&(0,L.jsx)("button",{type:"button",onPointerDown:a=>a.preventDefault(),onClick:()=>{C&&f?I(C):e?.(bd(a,b),!1)},title:C?j("desktop.mentionSelectedLines",{start:C.startLine,end:C.endLine}):j("desktop.mentionFile"),"aria-label":C?j("desktop.mentionSelectedLines",{start:C.startLine,end:C.endLine}):j("desktop.mentionFile"),style:{height:20,minWidth:20,padding:"0 5px",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:"@"}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{ref:E,style:{flex:1,overflow:"auto",background:"var(--bg)"},children:"diff"===w&&P?G?(0,L.jsx)(t_,{patch:o.patch}):(0,L.jsx)(t$,{oldContent:m,newContent:k.content}):J&&u?(0,L.jsx)("iframe",{srcDoc:k.content,sandbox:"allow-scripts",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:j("desktop.htmlPreview")}):K&&u?(0,L.jsx)("div",{className:"markdown-body markdown-file-preview",style:{padding:"24px 32px"},children:(0,L.jsx)(fD,{remarkPlugins:oY,rehypePlugins:oZ,components:{h1:({children:a})=>(0,L.jsx)("h1",{id:oU(a),children:a}),h2:({children:a})=>(0,L.jsx)("h2",{id:oU(a),children:a}),h3:({children:a})=>(0,L.jsx)("h3",{id:oU(a),children:a}),code({className:a,children:b,...c}){let d=a?.replace("language-","").toLowerCase()??"",e=String(b);return a?.includes("language-")||e.includes("\n")?"mermaid"===d?(0,L.jsx)(pb,{code:e.replace(/\n$/,"")}):(0,L.jsx)(pe,{code:e.replace(/\n$/,""),lang:d}):(0,L.jsx)("code",{className:"inline max-w-full whitespace-normal break-words [overflow-wrap:anywhere] align-baseline bg-(--bg-secondary) border border-(--border) px-1.5 py-0.5 text-xs font-mono text-(--accent-blue)",...c,children:b})},pre:({children:a})=>(0,L.jsx)(L.Fragment,{children:a}),a({href:a,children:c,...e}){delete e.node;let f="text-(--accent-blue) underline underline-offset-2 hover:text-(--accent-blue)/80",g=d?b8(a,N,b??N):null;return g&&d?(0,L.jsx)("a",{href:a,...e,className:f,onClick:a=>{if(a.defaultPrevented||0!==a.button||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey)return;let b=a.currentTarget.getAttribute("target");b&&"_self"!==b||(a.preventDefault(),d(g))},children:c}):(0,L.jsx)("a",{href:a,...e,className:f,target:"_blank",rel:"noopener noreferrer",children:c})},table:({children:a})=>(0,L.jsx)("div",{className:"my-3 rounded-lg overflow-hidden border border-(--border)",children:(0,L.jsx)("div",{className:"overflow-x-auto",children:(0,L.jsx)("table",{className:"w-full text-sm border-collapse [&_tr:last-child>td]:border-b-0",children:a})})})},children:F})}):(0,L.jsx)(kZ,{language:"text"===k.language?"plaintext":k.language,style:o$,showLineNumbers:!0,lineNumberStyle:{color:"var(--text-dim)",fontStyle:"normal",minWidth:"3em",paddingRight:"1em"},customStyle:{margin:0,padding:"12px 0",background:"var(--bg)",fontSize:13,lineHeight:1.6,fontFamily:"var(--font-mono)",minHeight:"100%"},codeTagProps:{style:{fontFamily:"var(--font-mono)"}},lineProps:a=>({className:"file-source-line","data-line-number":String(a)}),wrapLongLines:y,children:k.content})})]})}let t5={running:"var(--accent)",completed:"#22c55e",failed:"#ef4444",stopped:"#d97706"},t6={running:"desktop.subagentsStatusRunning",completed:"desktop.subagentsStatusCompleted",failed:"desktop.subagentsStatusFailed",stopped:"desktop.subagentsStatusStopped"};function t7({agent:a,selected:b,onSelect:c}){let[d,e]=(0,M.useState)(!1),{t:f}=(0,aK.s)(),[g,h]=(0,M.useState)(()=>Date.now()),i=a.completedAt?a.completedAt-a.startedAt:g-a.startedAt,j=a.tokens?.total??a.tokens?.input??a.tokens?.output,k=t5[a.status];return(0,L.jsxs)("button",{type:"button",onClick:()=>c?.(a),onMouseEnter:()=>e(!0),onMouseLeave:()=>e(!1),title:a.error||`${a.agentType} \xb7 ${a.description}`,style:{width:"100%",display:"flex",alignItems:"center",gap:7,padding:"5px 10px",border:"none",borderRadius:5,background:b?"var(--bg-selected)":d?"var(--bg-hover)":"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",minWidth:0},children:[(0,L.jsx)("span",{"aria-hidden":"true",style:{width:7,height:7,flexShrink:0,borderRadius:"50%",background:k,boxShadow:"running"===a.status?`0 0 0 0 ${k}`:"none",animation:"running"===a.status?"subagent-pulse 1.4s ease-out infinite":"none"}}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",fontWeight:600,color:"var(--text-dim)"},children:a.agentType}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11.5,color:"var(--text-muted)"},children:a.description||f("desktop.subagentsNoDesc")}),void 0!==j&&j>0&&(0,L.jsxs)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:[void 0===j?"":j>=1e6?`${(j/1e6).toFixed(1)}M`:j>=1e3?`${(j/1e3).toFixed(1)}k`:`${j}`,"t"]}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:function(a){if(void 0===a)return"…";if(a<1e3)return`${a}ms`;let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;return d>0?`${c}m ${d}s`:`${c}m`}(i)}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,color:k},children:f(t6[a.status])})]})}function t8({subagents:a,onSelect:b,selectedId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(!0),g=a.filter(a=>"running"===a.status).length;return 0===a.length?(0,L.jsx)("div",{style:{padding:"18px 14px",fontSize:12,color:"var(--text-dim)",textAlign:"center"},children:d("desktop.subagentsEmpty")}):(0,L.jsxs)("section",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",flexShrink:0,padding:"6px 10px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),"aria-expanded":e,style:{display:"flex",alignItems:"center",gap:6,flex:1,minWidth:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",textAlign:"left"},children:[(0,L.jsx)(al,{size:9,weight:"regular",style:{transform:e?"rotate(90deg)":"none",transition:"transform 0.15s",flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d("desktop.subagentsPanelTitle")})]}),g>0&&(0,L.jsxs)("span",{style:{marginRight:4,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--accent)"},children:["● ",g," ",d("desktop.subagentsStatusRunning")]})]}),e&&(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",padding:"4px 0 8px"},children:a.map(a=>(0,L.jsx)(t7,{agent:a,selected:a.id===c,onSelect:b},a.id))})]})}let t9=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M160,48V208L80,128Z",opacity:"0.2"}),M.createElement("path",{d:"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z"}))]]),ua=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:t9}));ua.displayName="CaretLeftIcon";let ub={user:{label:"User",color:"var(--accent)"},assistant:{label:"Assistant",color:"var(--text)"},toolResult:{label:"Result",color:"var(--text-dim)"},bashExecution:{label:"Bash",color:"var(--text-muted)"}};function uc({line:a}){let b=ub[a.role]??ub.toolResult;return(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsxs)("div",{style:{fontSize:10.5,fontWeight:600,color:b.color,marginBottom:2,fontFamily:"var(--font-mono)"},children:["[",b.label,"]"]}),(0,L.jsx)("pre",{style:{margin:0,fontSize:11.5,lineHeight:1.55,color:"var(--text-muted)",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",maxHeight:240,overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,padding:"6px 8px"},children:a.text})]})}function ud({agent:a,cwd:b,onBack:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)([]),[g,h]=(0,M.useState)(!0),[i,j]=(0,M.useState)(null),k=(0,M.useRef)(null),l=(0,M.useRef)(!0);(0,M.useCallback)(async(c=!1)=>{if(a.id&&b){c||h(!0);try{let d=new URLSearchParams({id:a.id,cwd:b}),e=await fetch(`/api/subagents/transcript?${d}`),g=await e.json();if(!e.ok||g.error){c||j(g.error??`HTTP ${e.status}`);return}f(g.lines??[]),j(null)}catch(a){c||j(a instanceof Error?a.message:String(a))}finally{h(!1)}}},[a.id,b]);let m=a.completedAt?a.completedAt-a.startedAt:void 0,n=a.tokens?.total??a.tokens?.input??a.tokens?.output,o="completed"===a.status?"#22c55e":"failed"===a.status?"#ef4444":"stopped"===a.status?"#d97706":"var(--accent)";return(0,L.jsxs)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column"},children:[(0,L.jsxs)("div",{style:{flexShrink:0,borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",padding:"6px 8px"},children:[(0,L.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8},children:(0,L.jsxs)("button",{type:"button",onClick:c,title:d("desktop.subagentsBack"),style:{display:"inline-flex",alignItems:"center",gap:2,padding:"3px 6px",border:"none",borderRadius:5,background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:11},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent",a.currentTarget.style.color="var(--text-muted)"},children:[(0,L.jsx)(ua,{size:12,"aria-hidden":"true"}),d("desktop.subagentsBack")]})}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4,minWidth:0},children:[(0,L.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,flexShrink:0,borderRadius:"50%",background:o,boxShadow:"running"===a.status?`0 0 0 0 ${o}`:"none",animation:"running"===a.status?"subagent-pulse 1.4s ease-out infinite":"none"}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--text)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.agentType}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11.5,color:"var(--text-muted)"},children:a.description})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:3,fontSize:10.5,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:[void 0!==a.toolUses&&a.toolUses>0&&(0,L.jsxs)("span",{children:[a.toolUses," tool",1===a.toolUses?"":"s"]}),void 0!==n&&n>0&&(0,L.jsxs)("span",{children:[void 0===n?"":n>=1e6?`${(n/1e6).toFixed(1)}M`:n>=1e3?`${(n/1e3).toFixed(1)}k`:`${n}`," tokens"]}),void 0!==m&&(0,L.jsx)("span",{children:function(a){if(void 0===a)return"";if(a<1e3)return`${a}ms`;let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;return d>0?`${c}m ${d}s`:`${c}m`}(m)}),(0,L.jsx)("span",{style:{color:o},children:d(`desktop.subagentsStatus${"running"===a.status?"Running":"completed"===a.status?"Completed":"failed"===a.status?"Failed":"Stopped"}`)})]})]}),(0,L.jsx)("div",{ref:k,onScroll:a=>{let b=a.currentTarget;l.current=b.scrollHeight-b.scrollTop-b.clientHeight<40},style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",padding:"8px 10px",background:"var(--bg)"},children:g?(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:[d("desktop.loading"),"…"]}):i?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",padding:"12px 4px"},children:i}):0===e.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:d("running"===a.status?"desktop.subagentsWaitingFirstMessage":"desktop.subagentsNoTranscript")}):(0,L.jsx)("div",{style:{paddingBottom:8},children:e.map((a,b)=>(0,L.jsx)(uc,{line:a},b))})})]})}function ue({tabs:a,activeTabId:b,onSelectTab:c,onCloseTab:d}){let{t:e}=(0,aK.s)(),[f,g]=(0,M.useState)(null);return(0,L.jsx)("div",{style:{display:"flex",alignItems:"flex-end",background:"var(--bg-panel)",overflowX:"auto",flexShrink:0,height:36},children:a.map(a=>{let h=a.id===b;return(0,L.jsxs)("div",{onClick:()=>c(a.id),onMouseDown:a=>{1===a.button&&a.preventDefault()},onAuxClick:b=>{1===b.button&&(b.preventDefault(),b.stopPropagation(),d(a.id))},style:{display:"flex",alignItems:"center",gap:6,height:36,paddingLeft:12,paddingRight:6,borderRight:"1px solid var(--border)",background:h?"var(--bg)":"var(--bg-panel)",cursor:"pointer",fontSize:12,color:h?"var(--text)":"var(--text-muted)",whiteSpace:"nowrap",maxWidth:180,minWidth:80,flexShrink:0,userSelect:"none",transition:"background 0.1s, color 0.1s"},children:[(0,L.jsx)("span",{style:{flexShrink:0,opacity:h?1:.7,display:"flex",alignItems:"center"},children:a9(a.label,13)}),(0,L.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,fontWeight:h?500:400},title:a.filePath,children:a.label}),(0,L.jsx)("button",{onClick:b=>{b.stopPropagation(),d(a.id)},onMouseEnter:()=>g(a.id),onMouseLeave:()=>g(null),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,background:f===a.id?"var(--bg-hover)":"transparent",border:"none",borderRadius:4,color:f===a.id?"var(--text)":"var(--text-dim)",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.1s, color 0.1s"},title:e("desktop.closeTab"),"aria-label":e("desktop.closeTabWithLabel",{label:a.label}),children:(0,L.jsx)(X,{size:11,"aria-hidden":"true"})})]},a.id)})})}let uf=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240.49,15.51a12,12,0,0,0-17,0L173.94,65.09l-2.54-2.55a36.05,36.05,0,0,0-50.91,0L100,83l-3.51-3.52a12,12,0,0,0-17,17L83,100,62.54,120.49a36,36,0,0,0,0,50.91l2.55,2.54L15.51,223.51a12,12,0,0,0,17,17l49.57-49.58,2.54,2.55a36.06,36.06,0,0,0,50.91,0L156,173l3.51,3.52a12,12,0,0,0,17-17L173,156l20.49-20.49a36,36,0,0,0,0-50.91l-2.55-2.54,49.58-49.57A12,12,0,0,0,240.49,15.51Zm-121.95,161a12,12,0,0,1-17,0L79.51,154.43a12,12,0,0,1,0-17L100,117l39,39Zm58-57.95h0L156,139l-39-39,20.49-20.49a12,12,0,0,1,17,0l22.06,22.06a12,12,0,0,1,0,17ZM85.27,33.37a12,12,0,0,1,21.46-10.74l8,16A12,12,0,1,1,93.27,49.37Zm-68,57.26a12,12,0,0,1,16.1-5.36l16,8a12,12,0,1,1-10.74,21.46l-16-8A12,12,0,0,1,17.27,90.63Zm221.46,74.74a12,12,0,0,1-16.1,5.36l-16-8a12,12,0,0,1,10.74-21.46l16,8A12,12,0,0,1,238.73,165.37Zm-68,57.26a12,12,0,1,1-21.46,10.74l-8-16a12,12,0,0,1,21.46-10.74Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z",opacity:"0.2"}),M.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM29,103.43l20,8A8,8,0,1,0,55,96.57l-20-8A8,8,0,0,0,29,103.43ZM227,152.57l-20-8A8,8,0,1,0,201,159.43l20,8A8,8,0,0,0,227,152.57ZM159.43,201A8,8,0,0,0,144.57,207l8,20A8,8,0,1,0,167.43,221ZM237.91,18.52a8,8,0,0,0-11.5-.18L174,70.75l-5.38-5.38a32,32,0,0,0-45.28,0L106.14,82.54a4,4,0,0,0,0,5.66l61.7,61.66a4,4,0,0,0,5.66,0l16.74-16.74a32.76,32.76,0,0,0,9.81-22.52,31.82,31.82,0,0,0-9.37-23.17l-5.38-5.37,52.2-52.17A8.22,8.22,0,0,0,237.91,18.52ZM85.64,90.34a8,8,0,0,0-11.49.18,8.22,8.22,0,0,0,.41,11.37L80.67,108,65.34,123.31A31.82,31.82,0,0,0,56,146.47,32.75,32.75,0,0,0,65.77,169l5,4.94L18.49,226.13a8.21,8.21,0,0,0-.61,11.1,8,8,0,0,0,11.72.43L82,185.25l5.37,5.38a32.1,32.1,0,0,0,45.29,0L148,175.31l6.34,6.35a8,8,0,0,0,11.32-11.32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236.24,19.76a6,6,0,0,0-8.48,0L173.94,73.57l-6.79-6.78a30,30,0,0,0-42.42,0L100,91.51l-7.76-7.75a6,6,0,0,0-8.48,8.48L91.51,100,66.79,124.73a30,30,0,0,0,0,42.42l6.78,6.79L19.76,227.76a6,6,0,1,0,8.48,8.48l53.82-53.81,6.79,6.78a30,30,0,0,0,42.42,0L156,164.49l7.76,7.75a6,6,0,0,0,8.48-8.48L164.49,156l24.72-24.73a30,30,0,0,0,0-42.42l-6.78-6.79,53.81-53.82A6,6,0,0,0,236.24,19.76Zm-113.45,161a18,18,0,0,1-25.46,0L75.27,158.67a18,18,0,0,1,0-25.46L100,108.49,147.51,156Zm57.94-57.94L156,147.51,108.49,100l24.72-24.73a18,18,0,0,1,25.46,0l22.06,22.06a18,18,0,0,1,0,25.46ZM90.43,34.23a6,6,0,0,1,11.14-4.46l8,20a6,6,0,1,1-11.14,4.46Zm-64,59.54a6,6,0,0,1,7.8-3.34l20,8a6,6,0,1,1-4.46,11.14l-20-8A6,6,0,0,1,26.43,93.77Zm203.14,68.46a6,6,0,0,1-7.8,3.34l-20-8a6,6,0,0,1,4.46-11.14l20,8A6,6,0,0,1,229.57,162.23Zm-64,59.54a6,6,0,1,1-11.14,4.46l-8-20a6,6,0,0,1,11.14-4.46Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32,32,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22A16,16,0,0,1,179.31,121.37ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M234.83,21.17a4,4,0,0,0-5.66,0L173.94,76.4l-8.2-8.2a28,28,0,0,0-39.6,0L100,94.34l-9.17-9.17a4,4,0,0,0-5.66,5.66L94.34,100,68.2,126.14a28,28,0,0,0,0,39.6l8.2,8.2L21.17,229.17a4,4,0,0,0,5.66,5.66L82.06,179.6l8.2,8.2a28,28,0,0,0,39.6,0L156,161.66l9.17,9.17a4,4,0,0,0,5.66-5.66L161.66,156l26.14-26.14a28,28,0,0,0,0-39.6l-8.2-8.2,55.23-55.23A4,4,0,0,0,234.83,21.17Zm-110.63,161a20,20,0,0,1-28.28,0L73.86,160.08a20,20,0,0,1,0-28.28L100,105.66,150.34,156Zm57.94-57.94L156,150.34,105.66,100,131.8,73.86a20,20,0,0,1,28.28,0l22.06,22.06A20,20,0,0,1,182.14,124.2ZM92.29,33.49a4,4,0,1,1,7.42-3l8,20a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,104,56a4,4,0,0,1-3.71-2.51Zm-64,61a4,4,0,0,1,5.2-2.22l20,8A4,4,0,0,1,52,108a3.91,3.91,0,0,1-1.49-.29l-20-8A4,4,0,0,1,28.29,94.51Zm199.42,67A4,4,0,0,1,224,164a3.91,3.91,0,0,1-1.49-.29l-20-8a4,4,0,1,1,3-7.42l20,8A4,4,0,0,1,227.71,161.49Zm-64,61a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,160,228a4,4,0,0,1-3.71-2.51l-8-20a4,4,0,0,1,7.42-3Z"}))]]),ug=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uf}));ug.displayName="PlugsConnectedIcon";let uh=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z",opacity:"0.2"}),M.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64ZM160,216H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Z"}))]]),ui=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uh}));ui.displayName="MonitorIcon";let uj=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M84,100A12,12,0,0,1,96,88h64a12,12,0,0,1,0,24H96A12,12,0,0,1,84,100Zm12,52h64a12,12,0,0,0,0-24H96a12,12,0,0,0,0,24ZM236,56V184a20,20,0,0,1-20,20H157.89l-12.52,21.92a20,20,0,0,1-34.74,0L98.11,204H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V180h61.07a12,12,0,0,1,10.42,6.05L128,207.94l12.51-21.89A12,12,0,0,1,150.93,180H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,56V184a8,8,0,0,1-8,8H150.93l-16,28a8,8,0,0,1-13.9,0l-16-28H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z",opacity:"0.2"}),M.createElement("path",{d:"M88,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,104Zm8,40h64a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,56V184a16,16,0,0,1-16,16H155.57l-13.68,23.94a16,16,0,0,1-27.78,0L100.43,200H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Zm-16,0H40V184h65.07a8,8,0,0,1,7,4l16,28,16-28a8,8,0,0,1,7-4H216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V184a16,16,0,0,0,16,16h60.43l13.68,23.94a16,16,0,0,0,27.78,0L155.57,200H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM160,144H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M166,104a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,104Zm-6,26H96a6,6,0,0,0,0,12h64a6,6,0,0,0,0-12Zm70-74V184a14,14,0,0,1-14,14H154.41L140.16,223a14,14,0,0,1-24.32,0L101.59,198H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V184a2,2,0,0,0,2,2h65.07a6,6,0,0,1,5.21,3l16,28a2,2,0,0,0,3.48,0l16-28a6,6,0,0,1,5.21-3H216a2,2,0,0,0,2-2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,104Zm8,40h64a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,56V184a16,16,0,0,1-16,16H155.57l-13.68,23.94a16,16,0,0,1-27.78,0L100.43,200H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Zm-16,0H40V184h65.07a8,8,0,0,1,7,4l16,28,16-28a8,8,0,0,1,7-4H216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M164,104a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,104Zm-4,28H96a4,4,0,0,0,0,8h64a4,4,0,0,0,0-8Zm68-76V184a12,12,0,0,1-12,12H153.25L138.42,222a12,12,0,0,1-20.84,0L102.75,196H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V184a4,4,0,0,0,4,4h65.07a4,4,0,0,1,3.47,2l16,28a4,4,0,0,0,6.94,0l16-28a4,4,0,0,1,3.47-2H216a4,4,0,0,0,4-4Z"}))]]),uk=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uj}));uk.displayName="ChatCenteredTextIcon";let ul=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,108H140V92h4a20,20,0,0,0,20-20V40a20,20,0,0,0-20-20H112A20,20,0,0,0,92,40V72a20,20,0,0,0,20,20h4v16H24a12,12,0,0,0,0,24H52v24H48a20,20,0,0,0-20,20v32a20,20,0,0,0,20,20H80a20,20,0,0,0,20-20V176a20,20,0,0,0-20-20H76V132H180v24h-4a20,20,0,0,0-20,20v32a20,20,0,0,0,20,20h32a20,20,0,0,0,20-20V176a20,20,0,0,0-20-20h-4V132h28a12,12,0,0,0,0-24ZM116,44h24V68H116ZM76,204H52V180H76Zm128,0H180V180h24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M152,40V72a8,8,0,0,1-8,8H112a8,8,0,0,1-8-8V40a8,8,0,0,1,8-8h32A8,8,0,0,1,152,40ZM80,168H48a8,8,0,0,0-8,8v32a8,8,0,0,0,8,8H80a8,8,0,0,0,8-8V176A8,8,0,0,0,80,168Zm128,0H176a8,8,0,0,0-8,8v32a8,8,0,0,0,8,8h32a8,8,0,0,0,8-8V176A8,8,0,0,0,208,168Z",opacity:"0.2"}),M.createElement("path",{d:"M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,120a8,8,0,0,1-8,8H200v32h8a16,16,0,0,1,16,16v32a16,16,0,0,1-16,16H176a16,16,0,0,1-16-16V176a16,16,0,0,1,16-16h8V128H72v32h8a16,16,0,0,1,16,16v32a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V176a16,16,0,0,1,16-16h8V128H24a8,8,0,0,1,0-16h96V88h-8A16,16,0,0,1,96,72V40a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V72a16,16,0,0,1-16,16h-8v24h96A8,8,0,0,1,240,120Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,114H134V86h10a14,14,0,0,0,14-14V40a14,14,0,0,0-14-14H112A14,14,0,0,0,98,40V72a14,14,0,0,0,14,14h10v28H24a6,6,0,0,0,0,12H58v36H48a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14H80a14,14,0,0,0,14-14V176a14,14,0,0,0-14-14H70V126H186v36H176a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14h32a14,14,0,0,0,14-14V176a14,14,0,0,0-14-14H198V126h34a6,6,0,0,0,0-12ZM110,72V40a2,2,0,0,1,2-2h32a2,2,0,0,1,2,2V72a2,2,0,0,1-2,2H112A2,2,0,0,1,110,72ZM82,176v32a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V176a2,2,0,0,1,2-2H80A2,2,0,0,1,82,176Zm128,0v32a2,2,0,0,1-2,2H176a2,2,0,0,1-2-2V176a2,2,0,0,1,2-2h32A2,2,0,0,1,210,176Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,116H132V84h12a12,12,0,0,0,12-12V40a12,12,0,0,0-12-12H112a12,12,0,0,0-12,12V72a12,12,0,0,0,12,12h12v32H24a4,4,0,0,0,0,8H60v40H48a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12H80a12,12,0,0,0,12-12V176a12,12,0,0,0-12-12H68V124H188v40H176a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12h32a12,12,0,0,0,12-12V176a12,12,0,0,0-12-12H196V124h36a4,4,0,0,0,0-8ZM108,72V40a4,4,0,0,1,4-4h32a4,4,0,0,1,4,4V72a4,4,0,0,1-4,4H112A4,4,0,0,1,108,72ZM84,176v32a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V176a4,4,0,0,1,4-4H80A4,4,0,0,1,84,176Zm128,0v32a4,4,0,0,1-4,4H176a4,4,0,0,1-4-4V176a4,4,0,0,1,4-4h32A4,4,0,0,1,212,176Z"}))]]),um=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ul}));um.displayName="NetworkIcon";let un=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,196h-4V40a12,12,0,0,0-12-12H152a12,12,0,0,0-12,12V76H96A12,12,0,0,0,84,88v36H48a12,12,0,0,0-12,12v60H32a12,12,0,0,0,0,24H224a12,12,0,0,0,0-24ZM164,52h32V196H164Zm-56,48h32v96H108ZM60,148H84v48H60Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,40V208H152V40Z",opacity:"0.2"}),M.createElement("path",{d:"M224,200h-8V40a8,8,0,0,0-8-8H152a8,8,0,0,0-8,8V80H96a8,8,0,0,0-8,8v40H48a8,8,0,0,0-8,8v64H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16ZM160,48h40V200H160ZM104,96h40V200H104ZM56,144H88v56H56Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,208a8,8,0,0,1-8,8H32a8,8,0,0,1,0-16h8V136a8,8,0,0,1,8-8H72a8,8,0,0,1,8,8v64H96V88a8,8,0,0,1,8-8h32a8,8,0,0,1,8,8V200h16V40a8,8,0,0,1,8-8h40a8,8,0,0,1,8,8V200h8A8,8,0,0,1,232,208Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,202H214V40a6,6,0,0,0-6-6H152a6,6,0,0,0-6,6V82H96a6,6,0,0,0-6,6v42H48a6,6,0,0,0-6,6v66H32a6,6,0,0,0,0,12H224a6,6,0,0,0,0-12ZM158,46h44V202H158ZM102,94h44V202H102ZM54,142H90v60H54Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,200h-8V40a8,8,0,0,0-8-8H152a8,8,0,0,0-8,8V80H96a8,8,0,0,0-8,8v40H48a8,8,0,0,0-8,8v64H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16ZM160,48h40V200H160ZM104,96h40V200H104ZM56,144H88v56H56Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,204H212V40a4,4,0,0,0-4-4H152a4,4,0,0,0-4,4V84H96a4,4,0,0,0-4,4v44H48a4,4,0,0,0-4,4v68H32a4,4,0,0,0,0,8H224a4,4,0,0,0,0-8ZM156,44h48V204H156ZM100,92h48V204H100ZM52,140H92v64H52Z"}))]]),uo=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:un}));uo.displayName="ChartBarIcon";let up=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M72.5,150.63,100.79,128,72.5,105.37a12,12,0,1,1,15-18.74l40,32a12,12,0,0,1,0,18.74l-40,32a12,12,0,0,1-15-18.74ZM144,172h32a12,12,0,0,0,0-24H144a12,12,0,0,0,0,24ZM236,56V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V196H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z",opacity:"0.2"}),M.createElement("path",{d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-91,94.25-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32a8,8,0,0,1,0,12.5ZM176,168H136a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M126,128a6,6,0,0,1-2.25,4.69l-40,32a6,6,0,0,1-7.5-9.38L110.4,128,76.25,100.69a6,6,0,1,1,7.5-9.38l40,32A6,6,0,0,1,126,128Zm50,26H136a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Zm54-98V200a14,14,0,0,1-14,14H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V200a2,2,0,0,0,2,2H216a2,2,0,0,0,2-2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M122.5,124.88a4,4,0,0,1,0,6.24l-40,32a4,4,0,0,1-5-6.24L113.6,128,77.5,99.12a4,4,0,0,1,5-6.24ZM176,156H136a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8ZM228,56V200a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H216a4,4,0,0,0,4-4Z"}))]]),uq=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:up}));uq.displayName="TerminalWindowIcon";let ur=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M72,104a16,16,0,1,1,16,16A16,16,0,0,1,72,104Zm96,16a16,16,0,1,0-16-16A16,16,0,0,0,168,120Zm68-40V192a36,36,0,0,1-36,36H56a36,36,0,0,1-36-36V80A36,36,0,0,1,56,44h60V16a12,12,0,0,1,24,0V44h60A36,36,0,0,1,236,80Zm-24,0a12,12,0,0,0-12-12H56A12,12,0,0,0,44,80V192a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12Zm-12,82a30,30,0,0,1-30,30H86a30,30,0,0,1,0-60h84A30,30,0,0,1,200,162Zm-80-6v12h16V156ZM86,168H96V156H86a6,6,0,0,0,0,12Zm90-6a6,6,0,0,0-6-6H160v12h10A6,6,0,0,0,176,162Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,56H56A24,24,0,0,0,32,80V192a24,24,0,0,0,24,24H200a24,24,0,0,0,24-24V80A24,24,0,0,0,200,56ZM164,184H92a20,20,0,0,1,0-40h72a20,20,0,0,1,0,40Z",opacity:"0.2"}),M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Zm4,28H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48ZM172,96a12,12,0,1,1-12,12A12,12,0,0,1,172,96ZM96,184H80a16,16,0,0,1,0-32H96ZM84,120a12,12,0,1,1,12-12A12,12,0,0,1,84,120Zm60,64H112V152h32Zm32,0H160V152h16a16,16,0,0,1,0,32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,50H134V16a6,6,0,0,0-12,0V50H56A30,30,0,0,0,26,80V192a30,30,0,0,0,30,30H200a30,30,0,0,0,30-30V80A30,30,0,0,0,200,50Zm18,142a18,18,0,0,1-18,18H56a18,18,0,0,1-18-18V80A18,18,0,0,1,56,62H200a18,18,0,0,1,18,18ZM74,108a10,10,0,1,1,10,10A10,10,0,0,1,74,108Zm88,0a10,10,0,1,1,10,10A10,10,0,0,1,162,108Zm2,30H92a26,26,0,0,0,0,52h72a26,26,0,0,0,0-52Zm-22,12v28H114V150ZM78,164a14,14,0,0,1,14-14h10v28H92A14,14,0,0,1,78,164Zm86,14H154V150h10a14,14,0,0,1,0,28Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,52H132V16a4,4,0,0,0-8,0V52H56A28,28,0,0,0,28,80V192a28,28,0,0,0,28,28H200a28,28,0,0,0,28-28V80A28,28,0,0,0,200,52Zm20,140a20,20,0,0,1-20,20H56a20,20,0,0,1-20-20V80A20,20,0,0,1,56,60H200a20,20,0,0,1,20,20ZM76,108a8,8,0,1,1,8,8A8,8,0,0,1,76,108Zm88,0a8,8,0,1,1,8,8A8,8,0,0,1,164,108Zm0,32H92a24,24,0,0,0,0,48h72a24,24,0,0,0,0-48Zm-20,8v32H112V148ZM76,164a16,16,0,0,1,16-16h12v32H92A16,16,0,0,1,76,164Zm88,16H152V148h12a16,16,0,0,1,0,32Z"}))]]),us=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ur}));us.displayName="RobotIcon";let ut=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M71.51,88.49a12,12,0,0,1,17-17L116,99V24a12,12,0,0,1,24,0V99l27.51-27.52a12,12,0,0,1,17,17l-48,48a12,12,0,0,1-17,0ZM224,116H188a12,12,0,0,0,0,24h32v56H36V140H68a12,12,0,0,0,0-24H32a20,20,0,0,0-20,20v64a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V136A20,20,0,0,0,224,116Zm-20,52a16,16,0,1,0-16,16A16,16,0,0,0,204,168Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,136v64a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V136a8,8,0,0,1,8-8H224A8,8,0,0,1,232,136Z",opacity:"0.2"}),M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H72a8,8,0,0,1,0,16H32v64H224V136H184a8,8,0,0,1,0-16h40A16,16,0,0,1,240,136Zm-117.66-2.34a8,8,0,0,0,11.32,0l48-48a8,8,0,0,0-11.32-11.32L136,108.69V24a8,8,0,0,0-16,0v84.69L85.66,74.34A8,8,0,0,0,74.34,85.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M74.34,85.66A8,8,0,0,1,85.66,74.34L120,108.69V24a8,8,0,0,1,16,0v84.69l34.34-34.35a8,8,0,0,1,11.32,11.32l-48,48a8,8,0,0,1-11.32,0ZM240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H84.4a4,4,0,0,1,2.83,1.17L111,145A24,24,0,0,0,145,145l23.8-23.8A4,4,0,0,1,171.6,120H224A16,16,0,0,1,240,136Zm-40,32a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,136v64a14,14,0,0,1-14,14H32a14,14,0,0,1-14-14V136a14,14,0,0,1,14-14H72a6,6,0,0,1,0,12H32a2,2,0,0,0-2,2v64a2,2,0,0,0,2,2H224a2,2,0,0,0,2-2V136a2,2,0,0,0-2-2H184a6,6,0,0,1,0-12h40A14,14,0,0,1,238,136Zm-114.24-3.76a6,6,0,0,0,8.48,0l48-48a6,6,0,0,0-8.48-8.48L134,113.51V24a6,6,0,0,0-12,0v89.51L84.24,75.76a6,6,0,0,0-8.48,8.48ZM198,168a10,10,0,1,0-10,10A10,10,0,0,0,198,168Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H72a8,8,0,0,1,0,16H32v64H224V136H184a8,8,0,0,1,0-16h40A16,16,0,0,1,240,136Zm-117.66-2.34a8,8,0,0,0,11.32,0l48-48a8,8,0,0,0-11.32-11.32L136,108.69V24a8,8,0,0,0-16,0v84.69L85.66,74.34A8,8,0,0,0,74.34,85.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,136v64a12,12,0,0,1-12,12H32a12,12,0,0,1-12-12V136a12,12,0,0,1,12-12H72a4,4,0,0,1,0,8H32a4,4,0,0,0-4,4v64a4,4,0,0,0,4,4H224a4,4,0,0,0,4-4V136a4,4,0,0,0-4-4H184a4,4,0,0,1,0-8h40A12,12,0,0,1,236,136Zm-110.83-5.17a4,4,0,0,0,5.66,0l48-48a4,4,0,1,0-5.66-5.66L132,118.34V24a4,4,0,0,0-8,0v94.34L82.83,77.17a4,4,0,0,0-5.66,5.66ZM196,168a8,8,0,1,0-8,8A8,8,0,0,0,196,168Z"}))]]),uu=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ut}));uu.displayName="DownloadIcon";let uv=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M188,184a16,16,0,1,1,16-16A16,16,0,0,1,188,184Zm36-68H180a12,12,0,0,0,0,24h40v56H36V140H76a12,12,0,0,0,0-24H32a20,20,0,0,0-20,20v64a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V136A20,20,0,0,0,224,116ZM88.49,80.49,116,53v75a12,12,0,0,0,24,0V53l27.51,27.52a12,12,0,1,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,1,0,17,17Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,136v64a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V136a8,8,0,0,1,8-8H224A8,8,0,0,1,232,136Z",opacity:"0.2"}),M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M74.34,77.66a8,8,0,0,1,0-11.32l48-48a8,8,0,0,1,11.32,0l48,48a8,8,0,0,1-11.32,11.32L136,43.31V128a8,8,0,0,1-16,0V43.31L85.66,77.66A8,8,0,0,1,74.34,77.66ZM240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16h68a4,4,0,0,1,4,4v3.46c0,13.45,11,24.79,24.46,24.54A24,24,0,0,0,152,128v-4a4,4,0,0,1,4-4h68A16,16,0,0,1,240,136Zm-40,32a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,136v64a14,14,0,0,1-14,14H32a14,14,0,0,1-14-14V136a14,14,0,0,1,14-14H80a6,6,0,0,1,0,12H32a2,2,0,0,0-2,2v64a2,2,0,0,0,2,2H224a2,2,0,0,0,2-2V136a2,2,0,0,0-2-2H176a6,6,0,0,1,0-12h48A14,14,0,0,1,238,136ZM84.24,76.24,122,38.49V128a6,6,0,0,0,12,0V38.49l37.76,37.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48ZM198,168a10,10,0,1,0-10,10A10,10,0,0,0,198,168Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,136v64a12,12,0,0,1-12,12H32a12,12,0,0,1-12-12V136a12,12,0,0,1,12-12H80a4,4,0,0,1,0,8H32a4,4,0,0,0-4,4v64a4,4,0,0,0,4,4H224a4,4,0,0,0,4-4V136a4,4,0,0,0-4-4H176a4,4,0,0,1,0-8h48A12,12,0,0,1,236,136ZM82.83,74.83,124,33.66V128a4,4,0,0,0,8,0V33.66l41.17,41.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66ZM196,168a8,8,0,1,0-8,8A8,8,0,0,0,196,168Z"}))]]),uw=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uv}));uw.displayName="UploadIcon";let ux={"restore-script":"restore","generate-cmd":"cmd",keep:"keep","keep-with-warning":"warning",manual:"manual"};function uy({cwd:a}){let{t:b}=(0,aK.s)(),c=(0,M.useRef)(null),[d,e]=(0,M.useState)(!0),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(new Set),[p,q]=(0,M.useState)(new Set),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)(null),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)([]),[B,C]=(0,M.useState)(""),[D,E]=(0,M.useState)(null),[F,G]=(0,M.useState)(null),H=(0,M.useCallback)(async()=>{i(!0),k(null);try{let a=await fetch("/api/backup/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({includeSecrets:d,includeSessions:f})});if(!a.ok){let b=await a.json();k(b.error??`HTTP ${a.status}`);return}let b=await a.blob(),c=(a.headers.get("Content-Disposition")??"").match(/filename="?([^";]+)"?/),e=URL.createObjectURL(b),g=document.createElement("a");g.href=e,g.download=c?.[1]??"pi-backup.zip",document.body.appendChild(g),g.click(),g.remove(),URL.revokeObjectURL(e)}catch{k(String(b("desktop.backupExportFailed")))}finally{i(!1)}},[d,f,b]),I=(0,M.useCallback)(async a=>{if(a){u(null),y(null),m(null);try{let c=new FormData;c.append("phase","parse"),c.append("file",a);let d=await fetch("/api/backup/import",{method:"POST",body:c}),e=await d.json();if(!d.ok||e.error)return void u(e.error??`HTTP ${d.status}`);if("preview"!==e.phase||!e.preview)return void u(String(b("desktop.backupImportFailed")));m(e),o(new Set(e.preview.categories)),q(new Set),s(!1)}catch{u(String(b("desktop.backupImportFailed")))}}},[b]),J=(0,M.useCallback)(async()=>{if(l){w(!0),u(null);try{let a=new FormData;a.append("phase","restore"),a.append("token",l.token),a.append("selections",JSON.stringify({categories:[...n],skippedMcpServers:[...p],reinstallNpm:r}));let d=await fetch("/api/backup/import",{method:"POST",body:a}),e=await d.json();if(!d.ok||e.error)return void u(e.error??`HTTP ${d.status}`);if("report"!==e.phase||!e.report)return void u(String(b("desktop.backupRestoreFailed")));y(e.report),m(null),c.current&&(c.current.value="")}catch{u(String(b("desktop.backupRestoreFailed")))}finally{w(!1)}}},[l,n,p,r,b]),K=(0,M.useCallback)(async c=>{if(c.installPrompt&&a){E(c.name),G(null);try{let b=B.indexOf("/"),d=b>0?B.slice(0,b):void 0,e=b>0?B.slice(b+1):void 0,f=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,message:c.installPrompt,provider:d,modelId:e})}),g=await f.json();if(!f.ok||g.error)return void u(g.error??`HTTP ${f.status}`);G({server:c.name,sessionId:g.sessionId})}catch{u(String(b("desktop.backupInstallSessionFailed")))}finally{E(null)}}},[a,B,b]),N=a=>"win32"===a?"Windows":"darwin"===a?"macOS":"Linux";return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:b("desktop.backup")})}),(0,L.jsxs)("section",{style:{padding:"18px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.backupExportTitle")}),(0,L.jsx)("p",{style:{margin:"6px 0 12px",fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:b("desktop.backupExportDescription")}),(0,L.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",cursor:"pointer",marginBottom:8},children:[(0,L.jsx)("input",{type:"checkbox",checked:d,onChange:a=>e(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text)"},children:[b("desktop.backupIncludeSecrets"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"#ef4444"},children:b("desktop.backupSecretsWarning")})]})]}),(0,L.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",cursor:"pointer",marginBottom:14},children:[(0,L.jsx)("input",{type:"checkbox",checked:f,onChange:a=>g(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text)"},children:[b("desktop.backupIncludeSessions"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"var(--text-dim)"},children:b("desktop.backupSessionsHint")})]})]}),(0,L.jsxs)("button",{type:"button",onClick:H,disabled:h,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:h?"wait":"pointer"},children:[(0,L.jsx)(uu,{size:15,"aria-hidden":"true"}),h?b("desktop.backupExporting"):b("desktop.backupExportButton")]}),j&&(0,L.jsx)("p",{style:{margin:"8px 0 0",fontSize:11,color:"#ef4444"},children:j})]}),(0,L.jsxs)("section",{style:{padding:"18px 22px"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.backupImportTitle")}),(0,L.jsx)("p",{style:{margin:"6px 0 12px",fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:b("desktop.backupImportDescription")}),(0,L.jsx)("input",{ref:c,type:"file",accept:".zip,application/zip",onChange:a=>I(a.target.files?.[0]),style:{display:"none"}}),(0,L.jsxs)("button",{type:"button",onClick:()=>c.current?.click(),style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(uw,{size:15,"aria-hidden":"true"}),b("desktop.backupImportButton")]}),t&&(0,L.jsx)("p",{style:{margin:"0 0 10px",fontSize:11,color:"#ef4444",lineHeight:1.5},children:t}),l&&(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,padding:14,background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:12},children:[(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:[(0,L.jsxs)("span",{style:{color:"var(--text)",fontWeight:600},children:[b("desktop.backupManifest"),":"]})," ",new Date(l.preview.manifest.createdAt).toLocaleString()," \xb7 ",N(l.preview.manifest.sourcePlatform)," →",N(navigator.platform.includes("Win")?"win32":navigator.platform.includes("Linux")?"linux":"darwin")," \xb7 pi-web ",l.preview.manifest.piWebVersion,l.preview.manifest.includeSecrets?"":` \xb7 ${b("desktop.backupNoSecrets")}`]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupCategories")}),(0,L.jsx)("div",{style:{display:"flex",gap:14,flexWrap:"wrap"},children:l.preview.categories.map(a=>(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",cursor:"pointer",fontSize:12,color:"var(--text)"},children:[(0,L.jsx)("input",{type:"checkbox",checked:n.has(a),onChange:b=>{let c=new Set(n);b.target.checked?c.add(a):c.delete(a),o(c)}}),b(`desktop.backupCategory${a}`)]},a))})]}),l.preview.servers.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupMcpServers")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:l.preview.servers.map(c=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:12},children:[(0,L.jsx)("input",{type:"checkbox",checked:!p.has(c.name),onChange:a=>{let b=new Set(p);a.target.checked?b.delete(c.name):b.add(c.name),q(b)},style:{marginTop:2}}),(0,L.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("code",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--text)"},children:c.name}),(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:"manual"===c.action||"keep-with-warning"===c.action?"rgba(239,68,68,0.15)":"var(--bg-selected)",color:"manual"===c.action||"keep-with-warning"===c.action?"#ef4444":"var(--text-muted)"},children:ux[c.action]})]}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,L.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:c.original.command}),c.adapted&&c.adapted.command!==c.original.command&&(0,L.jsxs)(L.Fragment,{children:[" → ",(0,L.jsx)("code",{style:{fontFamily:"var(--font-mono)",color:"var(--text)"},children:c.adapted.command})]})]}),c.reason&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444"},children:c.reason}),"manual"===c.action&&c.installPrompt&&a&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:2,flexWrap:"wrap"},children:[(0,L.jsx)("select",{value:B,onChange:a=>C(a.target.value),style:{fontSize:11,padding:"4px 6px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",maxWidth:220},title:b("desktop.backupInstallModel"),children:z.map(a=>(0,L.jsxs)("option",{value:`${a.provider}/${a.id}`,children:[a.provider,"/",a.name||a.id]},`${a.provider}/${a.id}`))}),(0,L.jsx)("button",{type:"button",disabled:D===c.name,onClick:()=>K(c),style:{padding:"4px 10px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",cursor:D===c.name?"wait":"pointer"},children:D===c.name?"…":b("desktop.backupInstallSession")}),F?.server===c.name&&(0,L.jsx)("a",{href:`?session=${encodeURIComponent(F.sessionId)}`,style:{fontSize:11,color:"var(--accent)"},children:b("desktop.backupOpenSession")})]})]})]},c.name))})]}),l.preview.npmPackages.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupNpmPackages")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:6},children:l.preview.npmPackages.map(a=>(0,L.jsx)("code",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--text)"},children:a},a))}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"flex-start",cursor:"pointer",fontSize:12,color:"var(--text)",lineHeight:1.4},children:[(0,L.jsx)("input",{type:"checkbox",checked:r,onChange:a=>s(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{children:[b("desktop.backupReinstallNpm"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"var(--text-dim)"},children:b("desktop.backupReinstallNpmHint")})]})]})]}),l.preview.warnings.length>0&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444",lineHeight:1.5},children:l.preview.warnings.map((a,b)=>(0,L.jsxs)("div",{children:["⚠ ",a]},b))}),(0,L.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,L.jsxs)("button",{type:"button",onClick:J,disabled:v||0===n.size,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:v?"wait":"pointer",opacity:0===n.size?.5:1},children:[(0,L.jsx)(uw,{size:15,"aria-hidden":"true"}),v?b("desktop.backupRestoring"):b("desktop.backupRestoreButton")]}),(0,L.jsx)("button",{type:"button",onClick:()=>{m(null),c.current&&(c.current.value="")},disabled:v,style:{padding:"8px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",fontSize:12,cursor:"pointer"},children:b("desktop.cancel")})]})]}),x&&(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,padding:14,background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,fontWeight:600,color:"var(--text)"},children:[(0,L.jsx)(pz,{size:16,"aria-hidden":"true"}),b("desktop.backupRestoreReport")]}),x.restored.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#4ade80",marginBottom:4},children:["✓ ",b("desktop.backupReportRestored")]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6,fontFamily:"var(--font-mono)",wordBreak:"break-all"},children:x.restored.join("\n")})]}),x.needsRestart.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#fbbf24",marginBottom:4},children:["\uD83D\uDD04 ",b("desktop.backupReportRestart")]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6,fontFamily:"var(--font-mono)"},children:x.needsRestart.join("\n")})]}),x.manual.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#ef4444",marginBottom:4},children:[(0,L.jsx)(a$,{size:12,style:{verticalAlign:-2},"aria-hidden":"true"})," ",b("desktop.backupReportManual")]}),x.manual.map((a,b)=>(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6},children:[(0,L.jsx)("strong",{style:{color:"var(--text)"},children:a.server}),": ",a.message]},b))]}),x.warnings.length>0&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444",lineHeight:1.6},children:x.warnings.map((a,b)=>(0,L.jsxs)("div",{children:["⚠ ",a]},b))}),x.needsRestart.length>0&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#fbbf24",lineHeight:1.5},children:b("desktop.backupRestartHint")})]})]})]})}let uz={position:"relative",width:40,height:22,borderRadius:11,border:"none",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.18s ease",outline:"none"},uA={position:"absolute",top:3,width:16,height:16,borderRadius:"50%",background:"#fff",transition:"left 0.18s ease, transform 0.18s ease",boxShadow:"0 1px 3px rgba(0,0,0,0.18)"};function uB({checked:a,onChange:b,label:c,description:d}){return(0,L.jsxs)("label",{style:{display:"flex",alignItems:d?"flex-start":"center",justifyContent:"space-between",gap:12,padding:"12px 14px",borderRadius:7,cursor:"pointer",userSelect:"none",transition:"background 0.12s",margin:"0 -14px"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:[(0,L.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("span",{style:{display:"block",fontSize:13,fontWeight:550,color:"var(--text)",lineHeight:1.4},children:c}),d&&(0,L.jsx)("span",{style:{display:"block",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",marginTop:2},children:d})]}),(0,L.jsx)("button",{type:"button",role:"switch","aria-checked":a,onClick:c=>{c.preventDefault(),b(!a)},style:{...uz,background:a?"var(--accent)":"color-mix(in srgb, var(--border) 70%, var(--bg))"},children:(0,L.jsx)("span",{style:{...uA,left:a?21:3}})})]})}function uC({title:a,description:b,children:c}){return(0,L.jsxs)("section",{style:{padding:"20px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:14,fontWeight:650,color:"var(--text)"},children:a}),(0,L.jsx)("p",{style:{margin:"5px 0 14px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:b}),(0,L.jsx)("div",{children:c})]})}let uD="pi-input-shortcut";function uE(){try{let a=localStorage.getItem(uD);return"ctrl-enter"===a?"ctrl-enter":"enter"}catch{return"enter"}}function uF(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(uE),d=(0,M.useCallback)(a=>{c(a);try{localStorage.setItem(uD,a),window.dispatchEvent(new StorageEvent("storage",{key:uD,newValue:a}))}catch{}},[]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:a("desktop.chat")})}),(0,L.jsx)(uC,{title:a("desktop.inputShortcut"),description:a("desktop.inputShortcutDescription"),children:(0,L.jsx)(uB,{checked:"ctrl-enter"===b,onChange:a=>d(a?"ctrl-enter":"enter"),label:a("desktop.useCtrlEnter"),description:a("desktop.useCtrlEnterDescription")})})]})}let uG=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,32a12,12,0,0,0-12-12c-44.78,0-90,48.54-115.9,82a64,64,0,0,0-80,62c0,12-3.1,22.71-9.23,31.76A43,43,0,0,1,9.4,206.05a11.88,11.88,0,0,0-4.91,13.38A12.07,12.07,0,0,0,16.11,228h76A64,64,0,0,0,154,148C187.49,122.05,236,76.8,236,32ZM209.62,46.39c-4,12.92-13.15,27.49-26.92,42.91-3,3.39-6.16,6.7-9.35,9.89a104.31,104.31,0,0,0-16.5-16.51c3.19-3.19,6.49-6.32,9.88-9.35C182.15,59.55,196.71,50.43,209.62,46.39ZM92.07,204H42a80.17,80.17,0,0,0,10.14-40,40,40,0,1,1,40,40Zm38.18-91.32c3.12-3.93,6.55-8.09,10.23-12.35a80.52,80.52,0,0,1,15.23,15.24c-4.26,3.68-8.42,7.11-12.35,10.23A64.43,64.43,0,0,0,130.25,112.68Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,32c0,32.81-31.64,67.43-58.64,91.05A84.39,84.39,0,0,0,133,90.64C156.57,63.64,191.19,32,224,32Z",opacity:"0.2"}),M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM92,208H34.63C41.38,198.41,48,183.92,48,164a44,44,0,1,1,44,44Zm32.42-94.45q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM124.42,113.55q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,26c-20.8,0-44.11,11.41-69.3,33.9C136.62,76.06,121,94.9,110.3,109A58,58,0,0,0,34,164c0,32.07-20.43,46.39-21.35,47A6,6,0,0,0,16,222H92a58,58,0,0,0,55-76.3c14.08-10.67,32.92-26.32,49.08-44.4C218.59,76.11,230,52.8,230,32A6,6,0,0,0,224,26ZM92,210H30.65C37.92,200.85,46,185.78,46,164a46,46,0,1,1,46,46Zm29.49-95.91c3.6-4.67,7.88-10,12.71-15.69a78.17,78.17,0,0,1,23.4,23.4c-5.67,4.83-11,9.11-15.69,12.71A58.38,58.38,0,0,0,121.49,114.09Zm45.2-.3a90.24,90.24,0,0,0-24.48-24.48C163.05,66.46,191,42,217.56,38.44,214,65,189.54,93,166.69,113.79Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM92,208H34.63C41.38,198.41,48,183.92,48,164a44,44,0,1,1,44,44Zm32.42-94.45q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,28c-20.29,0-43.16,11.24-68,33.4-18.47,16.49-34.39,35.83-45,49.93A56,56,0,0,0,36,164c0,33.22-21.26,48-22.22,48.68A4,4,0,0,0,16,220H92a56,56,0,0,0,52.67-75c14.11-10.63,33.44-26.55,49.93-45C216.76,75.16,228,52.29,228,32A4,4,0,0,0,224,28ZM92,212H26.35C33.91,203.69,44,188.08,44,164a48,48,0,1,1,48,48Zm26.52-97.31c4.13-5.44,9.32-12,15.29-18.9a80.08,80.08,0,0,1,26.4,26.4c-6.94,6-13.46,11.16-18.9,15.29A56.32,56.32,0,0,0,118.52,114.69Zm47.77,2.14a88.17,88.17,0,0,0-27.12-27.12C161,65.43,191.26,38.63,219.82,36.18,217.37,64.74,190.57,95,166.29,116.83Z"}))]]),uH=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uG}));uH.displayName="PaintBrushIcon";let uI=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z",opacity:"0.2"}),M.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"}))]]),uJ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uI}));uJ.displayName="LinkIcon";let uK=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z",opacity:"0.2"}),M.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z"}))]]),uL=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uK}));uL.displayName="ArrowSquareOutIcon";let uM=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236.37,139.4a12,12,0,0,0-12-3A84.07,84.07,0,0,1,119.6,31.59a12,12,0,0,0-15-15A108.86,108.86,0,0,0,49.69,55.07,108,108,0,0,0,136,228a107.09,107.09,0,0,0,64.93-21.69,108.86,108.86,0,0,0,38.44-54.94A12,12,0,0,0,236.37,139.4Zm-49.88,47.74A84,84,0,0,1,68.86,69.51,84.93,84.93,0,0,1,92.27,48.29Q92,52.13,92,56A108.12,108.12,0,0,0,200,164q3.87,0,7.71-.27A84.79,84.79,0,0,1,186.49,187.14Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M227.89,147.89A96,96,0,1,1,108.11,28.11,96.09,96.09,0,0,0,227.89,147.89Z",opacity:"0.2"}),M.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M235.54,150.21a104.84,104.84,0,0,1-37,52.91A104,104,0,0,1,32,120,103.09,103.09,0,0,1,52.88,57.48a104.84,104.84,0,0,1,52.91-37,8,8,0,0,1,10,10,88.08,88.08,0,0,0,109.8,109.8,8,8,0,0,1,10,10Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232.13,143.64a6,6,0,0,0-6-1.49A90.07,90.07,0,0,1,113.86,29.85a6,6,0,0,0-7.49-7.48A102.88,102.88,0,0,0,54.48,58.68,102,102,0,0,0,197.32,201.52a102.88,102.88,0,0,0,36.31-51.89A6,6,0,0,0,232.13,143.64Zm-42,48.29a90,90,0,0,1-126-126A90.9,90.9,0,0,1,99.65,37.66,102.06,102.06,0,0,0,218.34,156.35,90.9,90.9,0,0,1,190.1,191.93Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230.72,145.06a4,4,0,0,0-4-1A92.08,92.08,0,0,1,111.94,29.27a4,4,0,0,0-5-5A100.78,100.78,0,0,0,56.08,59.88a100,100,0,0,0,140,140,100.78,100.78,0,0,0,35.59-50.87A4,4,0,0,0,230.72,145.06ZM191.3,193.53A92,92,0,0,1,62.47,64.7a93,93,0,0,1,39.88-30.35,100.09,100.09,0,0,0,119.3,119.3A93,93,0,0,1,191.3,193.53Z"}))]]),uN=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uM}));uN.displayName="MoonIcon";let uO=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M116,36V20a12,12,0,0,1,24,0V36a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-12-12a12,12,0,0,0-17,17Zm0,119-12,12a12,12,0,0,0,17,17l12-12a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l12-12a12,12,0,0,0-17-17l-12,12A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l12,12a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H20a12,12,0,0,0,0,24H36A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v16a12,12,0,0,0,24,0V220A12,12,0,0,0,128,208Zm108-92H220a12,12,0,0,0,0,24h16a12,12,0,0,0,0-24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z",opacity:"0.2"}),M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm8,24a64,64,0,1,0,64,64A64.07,64.07,0,0,0,128,64ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M122,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-16-16a6,6,0,0,0-8.48,8.48Zm0,119.52-16,16a6,6,0,1,0,8.48,8.48l16-16a6,6,0,1,0-8.48-8.48ZM192,70a6,6,0,0,0,4.24-1.76l16-16a6,6,0,0,0-8.48-8.48l-16,16A6,6,0,0,0,192,70Zm4.24,117.76a6,6,0,0,0-8.48,8.48l16,16a6,6,0,0,0,8.48-8.48ZM46,128a6,6,0,0,0-6-6H16a6,6,0,0,0,0,12H40A6,6,0,0,0,46,128Zm82,82a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V216A6,6,0,0,0,128,210Zm112-88H216a6,6,0,0,0,0,12h24a6,6,0,0,0,0-12Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M124,40V16a4,4,0,0,1,8,0V40a4,4,0,0,1-8,0Zm64,88a60,60,0,1,1-60-60A60.07,60.07,0,0,1,188,128Zm-8,0a52,52,0,1,0-52,52A52.06,52.06,0,0,0,180,128ZM61.17,66.83a4,4,0,0,0,5.66-5.66l-16-16a4,4,0,0,0-5.66,5.66Zm0,122.34-16,16a4,4,0,0,0,5.66,5.66l16-16a4,4,0,0,0-5.66-5.66ZM192,68a4,4,0,0,0,2.83-1.17l16-16a4,4,0,1,0-5.66-5.66l-16,16A4,4,0,0,0,192,68Zm2.83,121.17a4,4,0,0,0-5.66,5.66l16,16a4,4,0,0,0,5.66-5.66ZM40,124H16a4,4,0,0,0,0,8H40a4,4,0,0,0,0-8Zm88,88a4,4,0,0,0-4,4v24a4,4,0,0,0,8,0V216A4,4,0,0,0,128,212Zm112-88H216a4,4,0,0,0,0,8h24a4,4,0,0,0,0-8Z"}))]]),uP=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uO}));uP.displayName="SunIcon";let uQ={display:"flex",gap:6,flexWrap:"wrap"};function uR(a,b,c){return{display:"inline-flex",alignItems:"center",gap:7,padding:"7px 14px",border:`1px solid ${a?"var(--accent)":b?"var(--border-hover)":"var(--border)"}`,borderRadius:8,background:a?"color-mix(in srgb, var(--accent) 12%, var(--bg))":b?"var(--bg-hover)":"var(--bg-card)",color:a?"var(--accent)":b?"var(--text)":"var(--text-muted)",fontSize:13,fontWeight:a?600:400,cursor:c?"not-allowed":"pointer",opacity:c?.5:1,transition:"border-color 0.15s, background 0.15s, color 0.15s",outline:"none",whiteSpace:"nowrap"}}function uS({icon:a,label:b,actions:c}){return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,width:"100%"},children:[(0,L.jsx)("span",{style:{color:"var(--text-dim)",display:"inline-flex",flexShrink:0},children:a}),(0,L.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em"},children:b}),c&&(0,L.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:12,marginLeft:"auto"},children:c})]})}let uT={display:"inline-flex",alignItems:"center",gap:6,padding:0,border:0,background:"transparent",color:"var(--accent)",fontSize:11,cursor:"pointer",whiteSpace:"nowrap"},uU={onMouseEnter:a=>{a.currentTarget.style.textDecoration="underline"},onMouseLeave:a=>{a.currentTarget.style.textDecoration="none"}};function uV({title:a,description:b,children:c}){return(0,L.jsxs)("section",{style:{padding:"20px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:14,fontWeight:650,color:"var(--text)"},children:a}),(0,L.jsx)("p",{style:{margin:"5px 0 16px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:b}),c]})}function uW({depth:a}){let b=a/100;return(0,L.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",style:{flexShrink:0},children:[(0,L.jsx)("rect",{x:1.5,y:1.5,width:11,height:11,rx:2.5,style:{fill:"none",stroke:"var(--text-dim)",strokeWidth:1+2*b,opacity:.2+.8*b}}),(0,L.jsx)("rect",{x:4,y:4,width:6,height:6,rx:1,style:{fill:"var(--text-dim)",opacity:.05+.35*b}})]})}function uX({hasDark:a,hasLight:b,darkColor:c,lightColor:d,t:e}){return(0,L.jsxs)("span",{style:{display:"inline-flex",gap:3,alignItems:"center",flexShrink:0},children:[a&&(0,L.jsx)("span",{title:e("desktop.darkVariant"),style:{display:"inline-block",width:7,height:7,borderRadius:"50%",background:c??"#7c6f64"}}),b&&(0,L.jsx)("span",{title:e("desktop.lightVariant"),style:{display:"inline-block",width:7,height:7,borderRadius:"50%",background:d??"#d5c4a1",border:"1px solid rgba(0,0,0,0.1)"}})]})}function uY(){let{mode:a,resolvedMode:b,themeName:c,setMode:d,setTheme:e,previewTheme:f,clearPreview:g,isThemeCached:h,borderDepth:i,setBorderDepth:j}=lk(),{locale:k,setLocale:l,t:m}=(0,aK.s)(),[n,o]=(0,M.useState)([]),[p,q]=(0,M.useState)(!0),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)(null),v=(0,M.useCallback)(a=>{s(a),e(a).finally(()=>s(null))},[e]),w=(0,M.useRef)(null),x=(0,M.useCallback)(a=>{u(a),null!==w.current&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{w.current=null,null!==a?h(a)&&f(a):g()},160)},[f,g,h]),y=(0,M.useCallback)(a=>{d(a)},[d]),z=(0,M.useCallback)(()=>{window.piDesktop?.openThemeFolder()},[]),A=(0,M.useCallback)(()=>{window.piDesktop?window.piDesktop.openThemeDocs():window.open("https://pi.dev/docs/latest/themes","_blank","noopener,noreferrer")},[]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:m("desktop.display")})}),(0,L.jsxs)(uV,{title:m("desktop.theme"),description:m("desktop.themeDescription"),children:[(0,L.jsx)(uS,{icon:(0,L.jsx)(uH,{size:14,weight:"fill"}),label:m("desktop.colorScheme"),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:z,style:uT,...uU,children:[(0,L.jsx)(uJ,{size:12,weight:"regular","aria-hidden":"true"}),m("desktop.openThemeFolder")]}),(0,L.jsxs)("button",{type:"button",onClick:A,style:uT,...uU,children:[(0,L.jsx)(uL,{size:12,weight:"regular","aria-hidden":"true"}),m("desktop.learnPiThemes")]})]})}),p?(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-dim)"},children:m("desktop.loadingThemes")}):(0,L.jsxs)("div",{style:uQ,children:[(0,L.jsx)("button",{type:"button",onClick:()=>v(""),disabled:null!==r,style:uR(""===c,"__default__"===t,null!==r),onMouseEnter:()=>x(""),onMouseLeave:()=>x(null),children:m("desktop.defaultTheme")}),n.map(a=>(0,L.jsxs)("button",{type:"button",onClick:()=>v(a.name),disabled:null!==r,style:uR(c===a.name,t===a.name,r===a.name),onMouseEnter:()=>x(a.name),onMouseLeave:()=>x(null),children:[a.displayName,(0,L.jsx)(uX,{hasDark:a.hasDark,hasLight:a.hasLight,darkColor:a.accent,lightColor:a.accentLight,t:m})]},a.name))]}),(0,L.jsxs)("div",{style:{marginTop:20},children:[(0,L.jsx)(uS,{icon:(0,L.jsx)(uW,{depth:i}),label:`${m("desktop.borderVisibility")} (${i})`}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flexShrink:0},children:m("desktop.borderSubtle")}),(0,L.jsx)("input",{type:"range",min:0,max:100,step:1,value:i,onChange:a=>j(Number(a.target.value)),style:{flex:1,accentColor:"var(--accent)",height:6,cursor:"pointer"}}),(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flexShrink:0},children:m("desktop.borderBold")})]}),(0,L.jsx)("div",{style:{marginTop:10,display:"flex",gap:10},children:[0,25,50,75,100].map(a=>{let b=i===a,c=a<=50?`color-mix(in srgb, var(--border-orig) ${2*a}%, var(--bg) ${100-2*a}%)`:`color-mix(in srgb, var(--border-orig) ${100-(a-50)*2}%, var(--text) ${(a-50)*2}%)`;return(0,L.jsx)("div",{onClick:()=>j(a),style:{width:28,height:20,border:`2px solid ${b?"var(--accent)":c}`,borderRadius:5,background:"var(--bg-card)",cursor:"pointer",transition:"border-color 0.1s"}},a)})})]}),(0,L.jsxs)("div",{style:{marginTop:20},children:[(0,L.jsx)(uS,{icon:"dark"===b?(0,L.jsx)(uN,{size:14,weight:"fill"}):(0,L.jsx)(uP,{size:14,weight:"fill"}),label:m("desktop.appearanceMode")}),(0,L.jsx)("div",{style:uQ,children:[{value:"light",icon:(0,L.jsx)(uP,{size:15,weight:"light"===a?"fill":"regular"})},{value:"dark",icon:(0,L.jsx)(uN,{size:15,weight:"dark"===a?"fill":"regular"})},{value:"system",icon:(0,L.jsx)(ui,{size:15,weight:"system"===a?"fill":"regular"})}].map(b=>{let c=a===b.value;return(0,L.jsxs)("button",{type:"button",onClick:()=>y(b.value),style:uR(c,t===`mode:${b.value}`),onMouseEnter:()=>u(`mode:${b.value}`),onMouseLeave:()=>u(null),children:[b.icon,m(`desktop.${b.value}`)]},b.value)})})]}),!p&&0===n.length&&(0,L.jsxs)("p",{style:{margin:"14px 0 0",fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[m("desktop.noCustomThemes")," ",m("desktop.noCustomThemesHint")," ",(0,L.jsx)("code",{style:{fontSize:10,background:"var(--bg-secondary)",padding:"1px 5px",borderRadius:3,fontFamily:"var(--font-mono)"},children:"~/.pi/agent/themes/*.json"})," ",m("desktop.noCustomThemesHint2")]})]}),(0,L.jsx)(uV,{title:m("desktop.language"),description:m("desktop.languageDescription"),children:(0,L.jsx)("div",{style:uQ,children:["en","zh-CN"].map(a=>(0,L.jsx)("button",{type:"button",onClick:()=>l("zh-CN"===a?"zh-CN":"en"),style:uR("zh-CN"===a?"zh-CN"===k:"zh-CN"!==k,t===`lang:${a}`),onMouseEnter:()=>u(`lang:${a}`),onMouseLeave:()=>u(null),children:"en"===a?m("desktop.english"):m("desktop.chinese")},a))})})]})}let uZ=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M100,36H56A20,20,0,0,0,36,56v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,100,36ZM96,96H60V60H96ZM200,36H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,200,36Zm-4,60H160V60h36Zm-96,40H56a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,100,136Zm-4,60H60V160H96Zm104-60H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,200,136Zm-4,60H160V160h36Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,56v48a8,8,0,0,1-8,8H56a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8h48A8,8,0,0,1,112,56Zm88-8H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48Zm-96,96H56a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,104,144Zm96,0H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,200,144Z",opacity:"0.2"}),M.createElement("path",{d:"M200,136H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48ZM104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,56v48a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40h48A16,16,0,0,1,120,56Zm80-16H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm-96,96H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm96,0H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,42H56A14,14,0,0,0,42,56v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V56A14,14,0,0,0,104,42Zm2,62a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm94-62H152a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V56A14,14,0,0,0,200,42Zm2,62a2,2,0,0,1-2,2H152a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm-98,34H56a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V152A14,14,0,0,0,104,138Zm2,62a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V152a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm94-62H152a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V152A14,14,0,0,0,200,138Zm2,62a2,2,0,0,1-2,2H152a2,2,0,0,1-2-2V152a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,44H56A12,12,0,0,0,44,56v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V56A12,12,0,0,0,104,44Zm4,60a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Zm92-60H152a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V56A12,12,0,0,0,200,44Zm4,60a4,4,0,0,1-4,4H152a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4ZM104,140H56a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V152A12,12,0,0,0,104,140Zm4,60a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V152a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Zm92-60H152a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V152A12,12,0,0,0,200,140Zm4,60a4,4,0,0,1-4,4H152a4,4,0,0,1-4-4V152a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Z"}))]]),u$=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uZ}));function u_({children:a}){return(0,L.jsx)("div",{style:{borderRadius:12,border:"1px solid var(--border)",background:"color-mix(in srgb, var(--bg-panel) 55%, transparent)",overflow:"hidden"},children:a})}function u0({children:a}){return(0,L.jsx)("div",{style:{padding:"0 14px"},children:(0,L.jsx)("div",{style:{borderBottom:"1px solid var(--border)"},children:a})})}function u1({children:a}){return(0,L.jsx)("div",{style:{padding:"0 14px"},children:a})}function u2({children:a}){return(0,L.jsx)("div",{style:{display:"flex",gap:8,borderRadius:10,border:"1px solid var(--border)",background:"color-mix(in srgb, var(--bg-panel) 55%, transparent)",padding:"10px 12px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:a})}u$.displayName="SquaresFourIcon";let u3=[{value:"normal",labelKey:"modes.collabNormal"},{value:"plan",labelKey:"modes.collabPlan"},{value:"goal",labelKey:"modes.collabGoal"}],u4=[{value:"economy",labelKey:"modes.tokenEconomy"},{value:"full",labelKey:"modes.tokenFull"},{value:"delivery",labelKey:"modes.tokenDelivery"}],u5=[{value:"ask",labelKey:"modes.approvalAsk"},{value:"auto",labelKey:"modes.approvalAuto"},{value:"yolo",labelKey:"modes.approvalYolo"}];function u6({options:a,value:b,onChange:c,disabled:d,accentFor:e}){let{t:f}=(0,aK.s)();return(0,L.jsx)("div",{role:"radiogroup",style:{display:"flex",border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",height:28,flexShrink:0},children:a.map(a=>{let g=a.value===b,h=e?.(a.value);return(0,L.jsx)("button",{type:"button",role:"radio","aria-checked":g,disabled:d,onClick:()=>{a.value!==b&&c(a.value)},style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",padding:"0 12px",background:g?"var(--bg-selected)":"none",border:"none",color:g?h??"var(--accent)":"var(--text-muted)",cursor:d?"not-allowed":"pointer",fontSize:11.5,fontWeight:g?650:500,opacity:d?.5:1,whiteSpace:"nowrap",transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{g||d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{g||(a.currentTarget.style.background="none")},children:f(a.labelKey)},a.value)})})}function u7(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)({tasksBoard:!0}),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(!1),j=(0,M.useCallback)(async a=>{i(!0);try{let b=await fetch("/api/features",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tasksBoard:a})});if(b.ok){let a=await b.json();c(b=>({...b,...a.features})),window.dispatchEvent(new CustomEvent("pi:features-changed"))}}catch{}finally{i(!1)}},[]),k=(0,M.useCallback)(async a=>{i(!0);try{let b=await fetch("/api/modes",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();e(b=>b?{...b,collaborationMode:by(a.modes?.collaborationMode??b.collaborationMode),tokenMode:bz(a.modes?.tokenMode??b.tokenMode),toolApprovalMode:bA(a.modes?.toolApprovalMode??b.toolApprovalMode),permissionRules:a.modes?.permissionRules??b.permissionRules}:b),window.dispatchEvent(new CustomEvent("pi:modes-changed"))}}catch{}finally{i(!1)}},[]);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsx)(uB,{checked:b.tasksBoard,onChange:a=>void j(a),label:(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,L.jsx)(u$,{size:14,"aria-hidden":"true"}),a("desktop.featuresTasksBoard"),(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 7px",fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Beta"})]}),description:a("desktop.featuresTasksBoardDesc")})})}),d&&(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresCollabDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresCollabDefaultDesc")})]}),(0,L.jsx)(u6,{options:u3,value:d.collaborationMode,onChange:a=>void k({collaborationMode:a}),disabled:h})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresTokenDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresTokenDefaultDesc")})]}),(0,L.jsx)(u6,{options:u4,value:d.tokenMode,onChange:a=>void k({tokenMode:a}),disabled:h})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresApprovalDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresApprovalDefaultDesc")})]}),(0,L.jsx)(u6,{options:u5,value:d.toolApprovalMode,onChange:a=>void k({toolApprovalMode:a}),disabled:h,accentFor:a=>"yolo"===a?"var(--accent-red, #ef4444)":void 0})]})})]})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.featuresLoading")}),(0,L.jsx)(u2,{children:a("desktop.featuresDesc")}),h&&(0,L.jsx)("div",{style:{padding:"0 2px",fontSize:11,color:"var(--text-muted)"},children:a("desktop.featuresSaving")})]})})}let u8=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z",opacity:"0.2"}),M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]),u9=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:u8}));function va({open:a,onClose:b,children:c}){let[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1);return f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{onClick:b,style:{position:"fixed",inset:0,zIndex:1001,background:d?"rgba(0,0,0,0.35)":"rgba(0,0,0,0)",transition:"background 0.25s ease"}}),(0,L.jsxs)("div",{style:{position:"fixed",bottom:0,left:0,right:0,zIndex:1002,maxHeight:"85dvh",borderRadius:"16px 16px 0 0",background:"var(--bg)",boxShadow:"0 -4px 24px rgba(0,0,0,0.15)",transform:d?"translateY(0)":"translateY(100%)",transition:"transform 0.25s cubic-bezier(0.32, 0.72, 0, 1)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{display:"flex",justifyContent:"center",padding:"10px 0 4px",flexShrink:0},children:(0,L.jsx)("div",{style:{width:36,height:4,borderRadius:2,background:"var(--border)"}})}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c})]})]}):null}function vb({onSessionsChanged:a}){let{t:b}=(0,aK.s)(),c=aO(),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)([]),[j,k]=(0,M.useState)(new Set),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)({imported:0,skipped:0,errors:0,total:0,done:!1}),[p,q]=(0,M.useState)([]),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)({done:0,total:0}),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)(!1);(0,M.useCallback)(async()=>{w(!0),y(null);try{let a=await fetch("/api/import/discover"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);g(b.sources),b.reasonix?.available&&(i(b.reasonix.projects),e("reasonix"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}},[]);let[B,C]=(0,M.useState)(!1),D=(0,M.useCallback)(async()=>{if(0!==j.size&&d){w(!0),y(null);try{let a=await fetch("/api/import/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:d,projects:[...j]})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);m(b.jobId)}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}}},[d,j]),E=(0,M.useCallback)(async()=>{if(0===p.length)return;s(!0),u({done:0,total:p.length});let b=0,c=async()=>{for(;b<p.length;){let a=b++,c=p[a];if(c){try{await fetch(`/api/sessions/${encodeURIComponent(c)}/auto-name`,{method:"POST"})}catch{}u({done:a+1,total:p.length})}}},d=Array.from({length:Math.min(4,p.length)},c);await Promise.all(d),s(!1),a?.()},[p,a]);if(n.done&&p.length>0)return(0,L.jsxs)("div",{style:{padding:"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)(p2,{size:20,weight:"fill",style:{color:"#4ade80"}}),(0,L.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:b("desktop.importDone")??"导入完成"})]}),(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:[b("desktop.importedSummary",{imported:n.imported})??`成功导入 ${n.imported} 个会话`,n.skipped>0&&(0,L.jsx)("span",{style:{marginLeft:8},children:b("desktop.importSkippedCount",{skipped:n.skipped})??`,${n.skipped} 个跳过`}),n.errors>0&&(0,L.jsx)("span",{style:{marginLeft:8,color:"#ef4444"},children:b("desktop.importErrorsCount",{errors:n.errors})??`,${n.errors} 个失败`})]}),r?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}}),b("desktop.importGeneratingTitles")??"正在生成标题…"," ","(",t.done,"/",t.total,")"]}):(0,L.jsxs)("button",{type:"button",onClick:E,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:"pointer",alignSelf:"flex-start"},children:[(0,L.jsx)(u9,{size:15}),b("desktop.importGenerateTitles")??"为导入的会话生成标题"]}),(0,L.jsx)("button",{type:"button",onClick:()=>{m(null),o({imported:0,skipped:0,errors:0,total:0,done:!1}),q([]),s(!1),u({done:0,total:0})},style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",fontSize:12,cursor:"pointer",alignSelf:"flex-start"},children:b("desktop.importAgain")??"再次导入"})]});let F=(0,L.jsxs)("div",{style:{padding:c?"12px 18px":"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[x&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:12,color:"#ef4444",lineHeight:1.5},children:[(0,L.jsx)(a$,{size:14,style:{flexShrink:0,marginTop:1}}),(0,L.jsx)("span",{children:x})]}),!l&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:b("desktop.importSessionsDesc")??"从其他 AI 编码工具导入历史对话记录到 pi-web。目前支持 Reasonix,更多工具陆续支持中。"}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:f.map(a=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",border:"1px solid var(--border)",borderRadius:8,cursor:"available"===a.status?"pointer":"default",background:d===a.key?"var(--bg-selected)":"var(--bg-panel)",opacity:"unavailable"===a.status?.5:"coming-soon"===a.status?.7:1,transition:"background 0.12s"},children:[(0,L.jsx)("input",{type:"radio",name:"import-source",value:a.key,checked:d===a.key,disabled:"available"!==a.status,onChange:()=>e(a.key)}),(0,L.jsxs)("div",{style:{flex:1},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a.label}),"coming-soon"===a.status&&(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:1},children:b("desktop.comingSoon")??"即将支持"})]}),"reasonix"===a.key&&h.length>0&&(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:[h.length," ",b("desktop.projects")??"个项目"," \xb7 ",h.reduce((a,b)=>a+b.sessions,0)," ",b("desktop.sessions")??"会话"]})]},a.key))}),"reasonix"===d&&h.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:b("desktop.importSelectProjects")??"选择要导入的项目"}),(0,L.jsx)("button",{type:"button",onClick:()=>k(new Set(h.map(a=>a.name))),style:vc,children:b("desktop.importSelectAll")??"全选"}),(0,L.jsx)("button",{type:"button",onClick:()=>k(new Set),style:vc,children:b("desktop.importDeselectAll")??"取消全选"})]}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:h.map(a=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"1px solid var(--border)",borderRadius:6,cursor:"pointer",background:j.has(a.name)?"var(--bg-selected)":"transparent",transition:"background 0.12s"},children:[(0,L.jsx)("input",{type:"checkbox",checked:j.has(a.name),onChange:()=>{var b;return b=a.name,void k(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:2},children:[a.sessions," ",b("desktop.sessions")??"会话",a.matched&&(0,L.jsxs)("span",{style:{marginLeft:8,color:"var(--accent)"},children:["→ ",b("desktop.importMerged")??"合并到现有项目",a.existingCount>0&&` (${b("desktop.importExistingCount",{count:a.existingCount})??`${a.existingCount} 个已有`})`]}),!a.matched&&(0,L.jsxs)("span",{style:{marginLeft:8,color:"var(--text-muted)"},children:["→ ",b("desktop.importNewProject")??"新建项目"]})]})]})]},a.name))}),(0,L.jsx)("button",{type:"button",onClick:D,disabled:v||0===j.size,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:0===j.size?"not-allowed":"pointer",alignSelf:"flex-start",opacity:0===j.size?.5:1},children:v?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}})," ",b("desktop.importing")??"导入中…"]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(aF,{size:15})," ",b("desktop.importStart")??"开始导入"]})})]}),"reasonix"===d&&0===h.length&&!v&&(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",padding:"12px 0"},children:b("desktop.importNoData")??"未找到 Reasonix 数据。请确认 ~/.reasonix/projects/ 目录存在且包含会话文件。"})]}),l&&!n.done&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text)"},children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}}),b("desktop.importing")??"导入中…"]}),(0,L.jsx)("div",{style:{height:6,borderRadius:3,background:"var(--bg-panel)",overflow:"hidden"},children:(0,L.jsx)("div",{style:{height:"100%",borderRadius:3,background:"var(--accent)",width:`${n.total>0?(n.imported+n.skipped+n.errors)/n.total*100:0}%`,transition:"width 0.3s ease"}})}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:[n.imported+n.skipped+n.errors," / ",n.total,n.skipped>0&&` \xb7 ${b("desktop.importSkippedCount",{skipped:n.skipped})??`${n.skipped} 跳过`}`]})]})]});return c?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>A(!0),style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",width:"100%",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:8,color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(aF,{size:16}),(0,L.jsx)("span",{style:{fontWeight:500},children:b("desktop.importSessions")??"导入会话"})]}),(0,L.jsxs)(va,{open:z,onClose:()=>A(!1),children:[(0,L.jsxs)("div",{style:{padding:"4px 18px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:b("desktop.importSessions")??"导入会话"}),(0,L.jsx)("button",{onClick:()=>A(!1),style:vd,children:(0,L.jsx)(X,{size:18})})]}),F]})]}):F}u9.displayName="ArrowCounterClockwiseIcon";let vc={background:"none",border:"none",color:"var(--accent)",fontSize:11,cursor:"pointer",padding:"2px 4px"},vd={background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:4,display:"flex"},ve="deepseek-vision",vf={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",width:"100%",boxSizing:"border-box"};function vg(){return{fontSize:12,color:"var(--text-muted)"}}let vh={padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function vi({sessionId:a}){let{t:b}=(0,aK.s)(),[c,d]=(0,M.useState)(!1),[e,f]=(0,M.useState)(null),[g,h]=(0,M.useState)(!1),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(!1),[m,n]=(0,M.useState)({}),[o,p]=(0,M.useState)(""),[q,r]=(0,M.useState)(""),[s,t]=(0,M.useState)("eager"),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)(null),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(!1),[C,D]=(0,M.useState)({provider:"custom",baseUrl:"",apiKey:"",model:"",maxTokens:4096,hasApiKey:!1}),[E,F]=(0,M.useState)(""),[G,H]=(0,M.useState)(""),[I,J]=(0,M.useState)(!1),[K,N]=(0,M.useState)(null),[O,P]=(0,M.useState)(!1),Q=(0,M.useCallback)(async()=>{if(!q.trim())return void x(b("desktop.mcpVisionCommandRequired"));v(!0),x(null),z(!1),B(!1);try{let a=m[ve],b={...m,[ve]:{...a??{},command:q.trim(),args:Array.isArray(a?.args)?a.args:[],transport:"stdio",lifecycle:s}},c=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:b})}),d=await c.json();if(!c.ok||d.error)throw Error(d.error??`HTTP ${c.status}`);n(b),z(!0)}catch(a){x(a instanceof Error?a.message:String(a))}finally{v(!1)}},[m,q,s,b]),R=(0,M.useCallback)(async()=>{v(!0),x(null),z(!1),B(!1);try{let a={...m};delete a[ve];let b=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:a})}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);n(a),r(""),t("eager"),B(!0)}catch(a){x(a instanceof Error?a.message:String(a))}finally{v(!1)}},[m]),S=(0,M.useCallback)(async()=>{J(!0),N(null),P(!1);try{let a=await fetch("/api/vision-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...C,...E?{apiKey:E}:{}})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);D({...b,apiKey:"",hasApiKey:b.hasApiKey}),F(""),P(!0)}catch(a){N(a instanceof Error?a.message:String(a))}finally{J(!1)}},[C,E]),T=(0,M.useCallback)(async()=>{if(a){h(!0),j(null),l(!1);try{let b=await fetch("/api/mcp/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,name:ve})}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);l(!0)}catch(a){j(a instanceof Error?a.message:String(a))}finally{h(!1)}}},[a]),U=!!m[ve];return(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(rp,{size:15,"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.mcpVisionTitle")}),(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,background:U?"rgba(37,99,235,0.12)":"rgba(245,158,11,0.12)",color:U?"var(--accent)":"#d97706",textTransform:"capitalize"},children:U?b("desktop.mcpVisionRegistered"):b("desktop.mcpVisionNotRegistered")})]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:b("desktop.mcpVisionDesc")})]})]})}),c?e?(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"#ef4444"},children:e})}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionRegistration")})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 180px) 1fr",gap:8,alignItems:"center",padding:"6px 0"},children:[(0,L.jsxs)("span",{style:vg(),children:[b("desktop.mcpVisionCommand")," *"]}),(0,L.jsx)("input",{value:q,onChange:a=>r(a.target.value),placeholder:"/path/to/deepseek-vision-mcp",style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionLifecycle")}),(0,L.jsxs)("select",{value:s,onChange:a=>t(a.target.value),style:{...vf,fontFamily:"var(--font-mono)"},children:[(0,L.jsx)("option",{value:"eager",children:"eager"}),(0,L.jsx)("option",{value:"lazy",children:"lazy"})]}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionTransport")}),(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontFamily:"var(--font-mono)",padding:"7px 0"},children:b("desktop.mcpVisionTransportFixed")})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 0",flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void Q(),disabled:u,style:{...vh,cursor:u?"wait":"pointer"},children:u?b("desktop.saving"):b("desktop.mcpVisionSaveReg")}),U&&(0,L.jsx)("button",{type:"button",onClick:()=>void R(),disabled:u,title:b("desktop.mcpVisionRemove"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"#ef4444",cursor:u?"not-allowed":"pointer",fontSize:12},children:b("desktop.mcpVisionRemove")}),y&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionSavedReg")}),A&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionRemoved")}),w&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:w})]})}),(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionModelConfig")})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 180px) 1fr",gap:8,alignItems:"center",padding:"6px 0"},children:[(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionProvider")}),(0,L.jsx)("input",{value:C.provider,onChange:a=>D(b=>({...b,provider:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionBaseUrl")}),(0,L.jsx)("input",{value:C.baseUrl,onChange:a=>D(b=>({...b,baseUrl:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionApiKey")}),(0,L.jsx)("input",{type:"password",value:E,onChange:a=>F(a.target.value),placeholder:C.hasApiKey?"••••••••":"API key",style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionModel")}),(0,L.jsx)("input",{value:C.model,onChange:a=>D(b=>({...b,model:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionMaxTokens")}),(0,L.jsx)("input",{type:"number",min:1,value:C.maxTokens,onChange:a=>D(b=>({...b,maxTokens:Number(a.target.value)||1})),style:vf})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,padding:"6px 0"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void S(),disabled:I,style:{...vh,cursor:I?"wait":"pointer"},children:I?b("desktop.saving"):b("desktop.mcpVisionSaveModel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void T(),disabled:g||!a||!U,title:a?b("desktop.mcpVisionRestartTitle"):b("desktop.mcpVisionRestartNoSession"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:!g&&a&&U?"pointer":"not-allowed",fontSize:12,opacity:!g&&a&&U?1:.5},children:g?b("desktop.mcpVisionRestarting"):b("desktop.mcpVisionRestart")}),O&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionSavedModel")}),k&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionRestarted")}),K&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:K}),i&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:i})]}),(0,L.jsxs)(u2,{children:[b("desktop.mcpVisionModelNote"),G&&(0,L.jsx)("div",{style:{marginTop:4,fontFamily:"var(--font-mono)",fontSize:10},children:G}),o&&(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:10},children:o})]})]})})]}):(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"var(--text-muted)"},children:b("desktop.loading")})})]})}function vj({sessionId:a,onApplied:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(null),j=(0,M.useCallback)(async()=>{if(a){e(!0),i(null),g(!1);try{await ts(a,{type:"reload"}),g(!0),await b?.()}catch(a){i(a instanceof Error?a.message:String(a))}finally{e(!1)}}},[a,b]),k=d||!a;return(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void j(),disabled:k,title:c(a?"desktop.applyNowTitle":"desktop.applyNowNoSession"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:k?"not-allowed":"pointer",fontSize:12,opacity:k?.5:1,whiteSpace:"nowrap"},children:c(d?"desktop.applyNowApplying":"desktop.applyNow")}),f&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:c("desktop.applyNowDone")}),h&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:h})]})}let vk=["stdio","sse","http"],vl=["eager","lazy"],vm={name:"",command:"",args:"",transport:"stdio",lifecycle:"eager",requestTimeoutMs:"",env:""},vn={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",width:"100%",boxSizing:"border-box"};function vo(){return{fontSize:12,color:"var(--text-muted)"}}function vp(a,b){return{fontSize:10,padding:"1px 6px",borderRadius:3,background:b,color:a,flexShrink:0,textTransform:"capitalize"}}function vq({sessionId:a}){let{t:b}=(0,aK.s)(),[c,d]=(0,M.useState)({}),[e,f]=(0,M.useState)(""),[g,h]=(0,M.useState)(!1),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(vm),[o,p]=(0,M.useState)(!1),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(!1),u=(0,M.useCallback)(async()=>{j(null);try{let a=await fetch("/api/mcp"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);d(b.mcpServers??{}),f(b.filePath)}catch(a){j(a instanceof Error?a.message:String(a))}finally{h(!0)}},[]),v=(0,M.useCallback)(()=>{n(vm),l({name:"",isNew:!0}),r(null),t(!1)},[]),w=(0,M.useCallback)((a,b)=>{n({name:a,command:b.command??"",args:Array.isArray(b.args)?b.args.join("\n"):"",transport:"string"==typeof b.transport?b.transport:"stdio",lifecycle:"string"==typeof b.lifecycle?b.lifecycle:"eager",requestTimeoutMs:"number"==typeof b.requestTimeoutMs?String(b.requestTimeoutMs):"",env:void 0!==b.env?JSON.stringify(b.env,null,2):""}),l({name:a,isNew:!1}),r(null),t(!1)},[]),x=(0,M.useCallback)(async()=>{if(k){p(!0),r(null),t(!1);try{let a=m.name.trim();if(k.isNew&&!a)return void r("Server name is required");if(k.isNew&&!/^[a-zA-Z0-9_-]+$/.test(a))return void r("Allowed characters: a-z, A-Z, 0-9, _ and -");if(k.isNew&&a===ve)return void r(b("desktop.mcpVisionNameReserved"));let e=function(a){if(!a.command.trim())return{error:"Command is required"};let b=a.args.split("\n").map(a=>a.trim()).filter(Boolean),c={command:a.command.trim(),args:b,transport:vk.includes(a.transport)?a.transport:"stdio",lifecycle:vl.includes(a.lifecycle)?a.lifecycle:"eager"};if(""!==a.requestTimeoutMs.trim()){let b=Number(a.requestTimeoutMs);if(!Number.isFinite(b)||b<=0)return{error:"Request timeout must be a positive number"};c.requestTimeoutMs=b}if(""!==a.env.trim())try{c.env=JSON.parse(a.env)}catch{return{error:"Environment must be valid JSON"}}return{server:c}}(m);if(e.error||!e.server)return void r(e.error??"Invalid server");let f={...c};k.isNew?f[a]=e.server:(delete f[k.name],f[m.name.trim()||k.name]=e.server);let g=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:f})}),h=await g.json();if(!g.ok||h.error)throw Error(h.error??`HTTP ${g.status}`);d(f),l(null),t(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},[k,m,c,b]),y=(0,M.useCallback)(async a=>{p(!0),r(null);try{let b={...c};delete b[a];let e=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:b})}),f=await e.json();if(!e.ok||f.error)throw Error(f.error??`HTTP ${e.status}`);d(b),t(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}},[c]),z=(0,M.useCallback)((a,b)=>{n(c=>({...c,[a]:b}))},[]),A=Object.entries(c).filter(([a])=>a!==ve);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:g?i?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444"},children:i}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:b("desktop.mcpServers")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:2,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexShrink:0},children:[(0,L.jsx)(vj,{sessionId:a,onApplied:u}),(0,L.jsxs)("button",{type:"button",onClick:v,style:{display:"flex",alignItems:"center",gap:6,padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12,flexShrink:0},children:[(0,L.jsx)(ah,{size:13,"aria-hidden":"true"}),b("desktop.mcpAddServer")]})]})]}),(0,L.jsx)(u2,{children:b("desktop.mcpRestartNote")}),(0,L.jsx)(vi,{sessionId:a}),0!==A.length||k?A.map(([a,c])=>(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 0",minWidth:0},children:[(0,L.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)"},children:a}),(0,L.jsx)("span",{style:vp("var(--accent)","rgba(37,99,235,0.12)"),children:c.transport??"stdio"}),(0,L.jsx)("span",{style:vp("#d97706","rgba(245,158,11,0.12)"),children:c.lifecycle??"lazy"})]}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",marginTop:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[c.command,Array.isArray(c.args)&&c.args.length>0?` ${c.args.map(a=>a.includes(" ")?`"${a}"`:a).join(" ")}`:""]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:6,flexShrink:0},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>w(a,c),disabled:o,style:{display:"flex",alignItems:"center",gap:5,padding:"6px 10px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:o?"not-allowed":"pointer",fontSize:12,opacity:o?.5:1},children:[(0,L.jsx)(ab,{size:12,"aria-hidden":"true"}),b("desktop.mcpEdit")]}),(0,L.jsx)("button",{type:"button",onClick:()=>void y(a),disabled:o,title:b("desktop.mcpDelete"),"aria-label":b("desktop.mcpDelete"),style:{display:"flex",alignItems:"center",padding:"6px 9px",background:"rgba(239,68,68,0.08)",border:"1px solid var(--border)",borderRadius:6,color:"#ef4444",cursor:o?"not-allowed":"pointer",fontSize:12,opacity:o?.5:1},children:(0,L.jsx)(av,{size:12,"aria-hidden":"true"})})]})]})})},a)):(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"14px 0",fontSize:12,color:"var(--text-dim)"},children:c[ve]?b("desktop.mcpEmptyOther"):b("desktop.mcpEmpty")})})}),k&&(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)",padding:"12px 0 4px"},children:k.isNew?b("desktop.mcpNewServer"):b("desktop.mcpEditServer",{name:k.name})})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 220px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpServerName")}),(0,L.jsx)("input",{value:m.name,onChange:a=>z("name",a.target.value),disabled:!k.isNew,placeholder:"my-server",style:{...vn,opacity:k.isNew?1:.5}}),(0,L.jsxs)("span",{style:vo(),children:[b("desktop.mcpCommand")," *"]}),(0,L.jsx)("input",{value:m.command,onChange:a=>z("command",a.target.value),placeholder:"npx @modelcontextprotocol/server-foo",style:vn}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpArgs")}),(0,L.jsx)("textarea",{value:m.args,onChange:a=>z("args",a.target.value),placeholder:"--port 3000\n--verbose",rows:3,style:{...vn,resize:"vertical",lineHeight:1.5}}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpTransport")}),(0,L.jsx)("select",{value:m.transport,onChange:a=>z("transport",a.target.value),style:{...vn,fontFamily:"var(--font-mono)"},children:vk.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpLifecycle")}),(0,L.jsx)("select",{value:m.lifecycle,onChange:a=>z("lifecycle",a.target.value),style:{...vn,fontFamily:"var(--font-mono)"},children:vl.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpRequestTimeoutMs")}),(0,L.jsx)("input",{type:"number",min:1,value:m.requestTimeoutMs,onChange:a=>z("requestTimeoutMs",a.target.value),placeholder:"300000",style:vn}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpEnv")}),(0,L.jsx)("textarea",{value:m.env,onChange:a=>z("env",a.target.value),placeholder:'{\n "API_KEY": "..."\n}',rows:3,style:{...vn,resize:"vertical",lineHeight:1.5}})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void x(),disabled:o,style:{padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:o?"wait":"pointer",fontSize:12},children:o?b("desktop.saving"):b("desktop.mcpSave")}),(0,L.jsx)("button",{type:"button",onClick:()=>l(null),disabled:o,style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:o?"not-allowed":"pointer",fontSize:12},children:b("desktop.mcpCancel")}),q&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:q})]})})]}),s&&!k&&(0,L.jsx)("div",{style:{fontSize:12,color:"#22c55e"},children:b("desktop.mcpSavedRestart")})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:b("desktop.loading")})})})}let vr=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M56.88,31.93A12,12,0,1,0,39.12,48.07l16,17.65C20.67,88.66,5.72,121.58,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212a131.34,131.34,0,0,0,51-10l20.09,22.1a12,12,0,0,0,17.76-16.14ZM128,188c-29.59,0-55.47-10.73-76.91-31.88A130.69,130.69,0,0,1,29.52,128c5.27-9.31,18.79-29.9,42-44.29l90.09,99.11A109.33,109.33,0,0,1,128,188Zm123-55.12c-.36.81-9,20-28,39.16a12,12,0,1,1-17-16.9A130.48,130.48,0,0,0,226.48,128a130.36,130.36,0,0,0-21.57-28.12C183.46,78.73,157.59,68,128,68c-3.35,0-6.7.14-10,.42a12,12,0,1,1-2-23.91c3.93-.34,8-.51,12-.51,36,0,68.63,13.67,94.49,39.52,19.35,19.35,28.11,38.8,28.48,39.61A12.08,12.08,0,0,1,251,132.88Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z",opacity:"0.2"}),M.createElement("path",{d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M96.68,57.87a4,4,0,0,1,2.08-6.6A130.13,130.13,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41a8,8,0,0,1,0,6.5c-.35.79-8.82,19.57-27.65,38.4q-4.28,4.26-8.79,8.07a4,4,0,0,1-5.55-.36ZM213.92,210.62a8,8,0,1,1-11.84,10.76L180,197.13A127.21,127.21,0,0,1,128,208c-34.88,0-66.57-13.26-91.66-38.34C17.51,150.83,9,132.05,8.69,131.26a8,8,0,0,1,0-6.5C9,124,17.51,105.18,36.34,86.35a135,135,0,0,1,25-19.78L42.08,45.38A8,8,0,1,1,53.92,34.62Zm-65.49-48.25-52.69-58a40,40,0,0,0,52.69,58Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M52.44,36A6,6,0,0,0,43.56,44L64.44,67c-37.28,21.9-53.23,57-53.92,58.57a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206a124.91,124.91,0,0,0,52.57-11.25l23,25.29a6,6,0,0,0,8.88-8.08Zm48.62,71.32,45,49.52a34,34,0,0,1-45-49.52ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.57,134.57,0,0,1,22.69,128c4.29-8.2,20.1-35.18,50-51.91L92.89,98.3a46,46,0,0,0,61.35,67.48l17.81,19.6A113.47,113.47,0,0,1,128,194Zm6.4-99.4a6,6,0,0,1,2.25-11.79,46.17,46.17,0,0,1,37.15,40.87,6,6,0,0,1-5.42,6.53l-.56,0a6,6,0,0,1-6-5.45A34.1,34.1,0,0,0,134.4,94.6Zm111.08,35.85c-.41.92-10.37,23-32.86,43.12a6,6,0,1,1-8-8.94A134.07,134.07,0,0,0,233.31,128a134.67,134.67,0,0,0-23.86-32.07C186.78,73.42,159.38,62,128,62a120.19,120.19,0,0,0-19.69,1.6,6,6,0,1,1-2-11.83A131.12,131.12,0,0,1,128,50c43.38,0,73,20.54,90.24,37.76,18.58,18.58,26.9,37,27.24,37.81A6,6,0,0,1,245.48,130.45Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M51,37.31A4,4,0,0,0,45,42.69L67.59,67.5C29.34,89,13,124.81,12.34,126.38a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17a122.59,122.59,0,0,0,53.06-11.69l24,26.38a4,4,0,1,0,5.92-5.38ZM149.1,157.16A36,36,0,0,1,101,104.22ZM128,196c-32,0-59.89-11.65-83-34.62A135.81,135.81,0,0,1,20.44,128c3.65-7.23,20.09-36.81,52.68-54.43l22.45,24.7a44,44,0,0,0,59,64.83l20.89,23A114.94,114.94,0,0,1,128,196Zm6.78-103.36a4,4,0,0,1,1.49-7.86,44.15,44.15,0,0,1,35.54,39.09,4,4,0,0,1-3.61,4.35l-.38,0a4,4,0,0,1-4-3.63A36.1,36.1,0,0,0,134.78,92.64Zm108.88,37c-.41.91-10.2,22.58-32.38,42.45a4,4,0,0,1-2.67,1,4,4,0,0,1-2.67-7A136.71,136.71,0,0,0,235.56,128,136.07,136.07,0,0,0,211,94.62C187.89,71.65,160,60,128,60a122,122,0,0,0-20,1.63,4,4,0,0,1-1.32-7.89A129.3,129.3,0,0,1,128,52c42.7,0,71.87,20.22,88.83,37.18,18.31,18.31,26.49,36.44,26.83,37.2A4.08,4.08,0,0,1,243.66,129.63Z"}))]]),vs=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:vr}));function vt(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(null),[d,e]=(0,M.useState)([]),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),n=null!==b&&!d.some(a=>a.label===b),o=(0,M.useCallback)(async b=>{i(!0),m(null),k(!1);try{let a=await fetch("/api/settings/title-model",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:""===b?null:b})}),d=await a.json();if(!a.ok||d.error)return void m(d.error??`HTTP ${a.status}`);c(d.value??null),k(!0),setTimeout(()=>k(!1),2e3)}catch{m(String(a("desktop.titleModelSaveError")))}finally{i(!1)}},[a]),p=[...new Set(d.map(a=>a.provider))];return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"12px 18px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--text)",whiteSpace:"nowrap"},children:a("desktop.titleModel")}),(0,L.jsxs)("select",{value:b??"",disabled:f||h,onChange:a=>o(a.target.value),style:{flex:1,minWidth:200,maxWidth:420,padding:"6px 9px",fontSize:12,color:"var(--text)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5},children:[(0,L.jsx)("option",{value:"",children:a("desktop.titleModelFollowSession")}),n&&null!==b&&(0,L.jsxs)("option",{value:b,style:{color:"#ef4444"},children:[b,"(",a("desktop.titleModelInvalid"),")"]}),p.map(a=>(0,L.jsx)("optgroup",{label:a,children:d.filter(b=>b.provider===a).map(a=>(0,L.jsxs)("option",{value:a.label,children:[a.name||a.id,a.reasoning?"(reasoning)":""]},a.label))},a))]}),h&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)"},children:"…"}),!h&&j&&(0,L.jsx)("span",{style:{fontSize:11,color:"#4ade80"},children:a("desktop.titleModelSaved")})]}),(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"var(--text-muted)",lineHeight:1.5},children:a("desktop.titleModelDescription")}),l&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#ef4444",lineHeight:1.5},children:l}),n&&null!==b&&(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"#ef4444",lineHeight:1.5},children:[b,"(",a("desktop.titleModelInvalid"),")"]})]})}vs.displayName="EyeSlashIcon";let vu=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function vv(a){if(""===a.trim())return;let b=Number(a);return Number.isFinite(b)&&b>0?b:void 0}function vw(a){let b=vv(a.contextWindow??""),c=vv(a.maxTokens??""),d=a.thinkingLevelMap&&Object.keys(a.thinkingLevelMap).length>0?{...a.thinkingLevelMap}:void 0;return{...a.name?.trim()?{name:a.name.trim()}:{},..."boolean"==typeof a.reasoning?{reasoning:a.reasoning}:{},...void 0!==b?{contextWindow:b}:{},...void 0!==c?{maxTokens:c}:{},...d?{thinkingLevelMap:d}:{},..."boolean"==typeof a.hidden?{hidden:a.hidden}:{}}}function vx({providerId:a,onRegisterFlush:b,onConfigChange:c}){let{t:d}=(0,aK.s)(),e=aO(),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)({}),[j,k]=(0,M.useState)({}),[l,m]=(0,M.useState)(new Set),[n,o]=(0,M.useState)(!0),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)(!1),[v,w]=(0,M.useState)(null),x=(0,M.useRef)(h),y=(0,M.useRef)(j),z=(0,M.useRef)(f),A=(0,M.useRef)(l),B=(0,M.useRef)(0),C=(0,M.useRef)(null);x.current=h,y.current=j,z.current=f,A.current=l;let D=(0,M.useCallback)((a,b)=>{B.current+=1,i(c=>({...c,[a]:{...c[a]??{},...b}})),m(b=>new Set(b).add(a))},[]),E=(0,M.useCallback)(async()=>{let b=C.current;if(b)return b;let d=(async()=>{let b=new Set(A.current);if(0===b.size)return;let d=B.current,e={...x.current},f={},g={};for(let a of z.current){let b=e[a.id],c=y.current[a.id];b&&(f[a.id]=vw(b)),c&&(g[a.id]=vw(c))}let h=function(a,b,c){let d={};for(let e of a){let a=b[e],f=c[e];if(!a||!f)continue;let g={};for(let b of vu){let c=a[b],d=f[b];JSON.stringify(c)!==JSON.stringify(d)&&(g[b]=void 0===c?null:c)}Object.keys(g).length>0&&(d[e]=g)}return d}(b,f,g);if(0===Object.keys(h).length)return void m(new Set);q(!0),s(null),u(!1);try{let f=await fetch("/api/models-config/builtin",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a,patches:h})}),g=await f.json();if(!f.ok||g.error)throw Error(g.error??`HTTP ${f.status}`);c?.(g.provider??null);let i={...y.current};for(let a of b){let b=e[a];b&&(i[a]={...b})}y.current=i,k(i),B.current===d&&m(a=>new Set([...a].filter(a=>!b.has(a)))),u(!0),setTimeout(()=>u(!1),2e3)}catch(a){throw s(a instanceof Error?a.message:String(a)),a}finally{q(!1)}})();C.current=d;try{await d}finally{C.current===d&&(C.current=null)}},[c,a]);return n?(0,L.jsx)("div",{style:{borderTop:"1px solid var(--border)",marginTop:14,paddingTop:12},children:(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-dim)"},children:d("desktop.modelsLoading")})}):(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",marginTop:14,paddingTop:12,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:d("desktop.builtinModelsTitle")}),r&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#f87171"},children:r}),0===f.length&&!r&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)"},children:d("desktop.builtinModelsEmpty")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:f.map(a=>{let b=h[a.id]??{},c=v===a.id,f=l.has(a.id);return(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",padding:"8px 10px"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>w(c?null:a.id),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text)",fontSize:12,fontWeight:600,padding:0,textAlign:"left"},children:[b.name||a.name||a.id,f&&(0,L.jsx)("span",{style:{color:"var(--accent)",marginLeft:6},children:"•"})]}),(0,L.jsx)("code",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:a.id}),(b.reasoning??a.reasoning)&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:"var(--bg-selected)",color:"var(--text-muted)"},children:"reasoning"}),(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:[d("desktop.builtinModelsContext"),": ",(0,L.jsx)("b",{children:b.contextWindow?Number(b.contextWindow).toLocaleString():"—"})," \xb7 ",d("desktop.builtinModelsMaxTokens"),": ",(0,L.jsx)("b",{children:b.maxTokens?Number(b.maxTokens).toLocaleString():"—"})]})]}),c&&(0,L.jsxs)("div",{style:{marginTop:10,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",width:"100%"},children:[d("desktop.modelsName"),(0,L.jsx)("input",{type:"text",value:b.name??"",placeholder:a.name||a.id,onChange:b=>D(a.id,{name:b.target.value.trim()||void 0}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}}),(0,L.jsxs)("label",{style:{display:"flex",gap:4,alignItems:"center",fontSize:11,color:b.hidden?"#f87171":"var(--text-muted)",cursor:"pointer",whiteSpace:"nowrap",marginLeft:8},children:[(0,L.jsx)("input",{type:"checkbox",checked:!0===b.hidden,onChange:b=>D(a.id,{hidden:b.target.checked})}),d("desktop.builtinModelsHide")]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:16,flexWrap:"wrap",flexDirection:e?"column":"row",alignItems:e?"flex-start":"center"},children:[(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:!0===b.reasoning,onChange:b=>D(a.id,{reasoning:b.target.checked})}),d("desktop.builtinModelsReasoning")]}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",flex:e?1:void 0,width:e?"100%":void 0},children:[d("desktop.modelsContextWindow"),(0,L.jsx)("input",{type:"number",min:1,value:b.contextWindow??"",placeholder:null!=a.contextWindow?String(a.contextWindow):"",onChange:b=>D(a.id,{contextWindow:b.target.value}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}})]}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",flex:e?1:void 0,width:e?"100%":void 0},children:[d("desktop.modelsMaxOutputTokens"),(0,L.jsx)("input",{type:"number",min:1,value:b.maxTokens??"",placeholder:null!=a.maxTokens?String(a.maxTokens):"",onChange:b=>D(a.id,{maxTokens:b.target.value}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}})]})]}),(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)"},children:d("desktop.builtinModelsThinking")}),(0,L.jsx)(vL,{value:b.thinkingLevelMap,onChange:b=>D(a.id,{thinkingLevelMap:b})})]})]},a.id)})}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("button",{type:"button",onClick:()=>{E().catch(()=>{})},disabled:p||0===l.size,style:{alignSelf:"flex-start",padding:"5px 14px",background:l.size>0&&!p?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:l.size>0&&!p?"#fff":"var(--text-dim)",cursor:l.size>0&&!p?"pointer":"not-allowed",fontSize:12,fontWeight:600},children:p?d("desktop.modelsSaving"):t?d("desktop.modelsSaved"):d("desktop.modelsSave")}),l.size>0&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)"},children:d("desktop.builtinModelsDirty",{count:l.size})})]})]})}let vy=["openai-completions","openai-responses","anthropic-messages","google-generative-ai"];function vz(){let{t:a}=(0,aK.s)();return(0,M.useCallback)((b,c)=>a(b,c),[a])}function vA({label:a,children:b}){return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:11,color:"var(--text-muted)",fontWeight:500},children:a}),b]})}let vB={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 vC({value:a,onChange:b,placeholder:c,mono:d}){return(0,L.jsx)("input",{value:a,onChange:a=>b(a.target.value),placeholder:c,style:{...vB,fontFamily:d?"var(--font-mono)":"inherit"}})}function vD({value:a,onChange:b,placeholder:c,mono:d,onKeyDown:e,autoComplete:f="off",spellCheck:g=!1,style:h}){let i=vz(),[j,k]=(0,M.useState)(!1);return(0,L.jsxs)("div",{style:{position:"relative",width:"100%",...h},children:[(0,L.jsx)("input",{type:j?"text":"password",value:a,onChange:a=>b(a.target.value),onKeyDown:e,placeholder:c,style:{...vB,paddingRight:34,fontFamily:d?"var(--font-mono)":"inherit"},autoComplete:f,spellCheck:g}),(0,L.jsx)("button",{type:"button",onClick:()=>k(a=>!a),"aria-label":i(j?"desktop.modelsHideApiKey":"desktop.modelsShowApiKey"),title:i(j?"desktop.modelsHideApiKey":"desktop.modelsShowApiKey"),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:j?(0,L.jsx)(vs,{size:15}):(0,L.jsx)(rp,{size:15})})]})}function vE({value:a,onChange:b,placeholder:c}){return(0,L.jsx)("input",{type:"number",value:a,onChange:a=>b(a.target.value),placeholder:c,style:vB})}function vF({value:a,onChange:b,options:c,required:d}){let e=vz();return(0,L.jsxs)("select",{value:a,onChange:a=>b(a.target.value),style:{...vB,color:a?"var(--text)":"var(--text-dim)"},children:[!d&&(0,L.jsx)("option",{value:"",children:e("desktop.modelsInheritNone")}),c.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]})}function vG({label:a,checked:b,onChange:c}){return(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsx)("input",{type:"checkbox",checked:b,onChange:a=>c(a.target.checked),style:{width:13,height:13,accentColor:"var(--accent)",cursor:"pointer"}}),a]})}function vH({children:a}){return(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:2},children:a})}function vI({name:a,provider:b,onChange:c,onRename:d,onDelete:e,onAddModels:f}){let g=vz(),[h,i]=(0,M.useState)(a),[j,k]=(0,M.useState)({phase:"idle"}),[l,m]=(0,M.useState)(""),[n,o]=(0,M.useState)([]),p=(0,M.useRef)(0),q=(0,M.useRef)(null),r=(a,d)=>c({...b,[a]:d}),s=(0,M.useCallback)(async()=>{if(!b.baseUrl?.trim()||"loading"===j.phase)return;let c=++p.current;k({phase:"loading"}),o([]);try{let d=await fetch("/api/models-config/discover",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:a,provider:{...b,models:void 0}})}),e=await d.json();if(c!==p.current)return;if(!d.ok||e.error||!e.models)return void k({phase:"error",message:e.error??`HTTP ${d.status}`});k({phase:"success",models:e.models,endpoint:e.endpoint??b.baseUrl})}catch(a){if(c!==p.current)return;k({phase:"error",message:a instanceof Error?a.message:String(a)})}},[j.phase,a,b]),t=new Set((b.models??[]).map(a=>a.id)),u="success"===j.phase?j.models:[],v=l.trim().toLocaleLowerCase(),w=u.filter(a=>!v||a.id.toLocaleLowerCase().includes(v)||a.name?.toLocaleLowerCase().includes(v)),x=w.slice(0,300),y=x.filter(a=>!t.has(a.id)).map(a=>a.id),z=n.filter(a=>!t.has(a)).length,A=y.length>0&&y.every(a=>n.includes(a));return A||y.some(a=>n.includes(a)),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:g("desktop.modelsProvider")}),(0,L.jsx)("button",{onClick:e,style:{padding:"3px 8px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:4,color:"#ef4444",cursor:"pointer",fontSize:11},children:g("desktop.delete")})]}),(0,L.jsxs)(vA,{label:g("desktop.modelsProviderName"),children:[(0,L.jsx)(vC,{value:h,onChange:i,placeholder:"provider-name",mono:!0}),h!==a&&h.trim()&&(0,L.jsx)("button",{onClick:()=>d(h.trim()),style:{marginTop:4,padding:"3px 10px",background:"var(--accent)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:11,alignSelf:"flex-start"},children:g("desktop.rename")})]}),(0,L.jsx)(vA,{label:g("desktop.modelsBaseUrl"),children:(0,L.jsx)(vC,{value:b.baseUrl??"",onChange:a=>r("baseUrl",a||void 0),placeholder:"http(s)://host:port/v1",mono:!0})}),(0,L.jsxs)(vA,{label:g("desktop.modelsApiKey"),children:[(0,L.jsx)(vD,{value:b.apiKey??"",onChange:a=>r("apiKey",a||void 0),placeholder:g("desktop.modelsApiKeyPlaceholder"),mono:!0}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsApiKeyHelp")})]}),(0,L.jsx)(vA,{label:g("desktop.modelsApi"),children:(0,L.jsx)(vF,{value:b.api??"openai-completions",onChange:a=>r("api",a),options:vy,required:!0})}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:14,display:"flex",flexDirection:"column",gap:10},children:["success"!==j.phase&&(0,L.jsx)("button",{onClick:s,disabled:!b.baseUrl?.trim()||"loading"===j.phase,style:{alignSelf:"flex-start",height:30,padding:"0 12px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:b.baseUrl?.trim()&&"loading"!==j.phase?"var(--text-muted)":"var(--text-dim)",cursor:b.baseUrl?.trim()&&"loading"!==j.phase?"pointer":"not-allowed",fontSize:11},children:"loading"===j.phase?g("desktop.modelsDiscoveryFetching"):g("desktop.modelsDiscoveryFetch")}),"error"===j.phase&&(0,L.jsx)("div",{style:{padding:"7px 9px",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",fontSize:11,lineHeight:1.4},children:j.message}),"success"===j.phase&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("input",{value:l,onChange:a=>m(a.target.value),placeholder:g("desktop.modelsDiscoveryFilterPlaceholder",{count:j.models.length}),"aria-label":g("desktop.modelsDiscoveryFilter"),style:{...vB,width:"100%",minWidth:0}}),(0,L.jsxs)("div",{style:{maxHeight:220,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)"},children:[(0,L.jsxs)("label",{style:{minHeight:32,padding:"5px 9px",display:"flex",alignItems:"center",gap:8,position:"sticky",top:0,zIndex:1,borderBottom:"1px solid var(--border)",background:"var(--bg)",cursor:y.length?"pointer":"default",color:"var(--text-muted)",fontSize:10,fontWeight:600},children:[(0,L.jsx)("input",{ref:q,type:"checkbox",checked:A,disabled:0===y.length,onChange:()=>{let a=new Set(y);o(b=>A?b.filter(b=>!a.has(b)):Array.from(new Set([...b,...y])))},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),g("desktop.modelsDiscoverySelectShown")]}),0===x.length?(0,L.jsx)("div",{style:{padding:12,color:"var(--text-dim)",fontSize:11},children:g("desktop.modelsDiscoveryNoMatches")}):x.map((a,b)=>{let c=t.has(a.id),d=n.includes(a.id);return(0,L.jsxs)("label",{style:{minHeight:36,padding:"6px 9px",display:"flex",alignItems:"center",gap:8,borderTop:0===b?"none":"1px solid var(--border)",cursor:c?"default":"pointer",opacity:c?.65:1},children:[(0,L.jsx)("input",{type:"checkbox",checked:d||c,disabled:c,onChange:()=>{var b;return b=a.id,void o(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),(0,L.jsxs)("span",{style:{minWidth:0,flex:1},children:[(0,L.jsx)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontSize:11},children:a.name??a.id}),a.name&&(0,L.jsx)("code",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:10,fontFamily:"var(--font-mono)"},children:a.id})]}),c&&(0,L.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10},children:g("desktop.modelsDiscoveryAdded")})]},a.id)})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10},children:[(0,L.jsx)("span",{title:j.endpoint,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:10},children:w.length>x.length?g("desktop.modelsDiscoveryShowing",{shown:x.length,total:w.length}):g("desktop.modelsDiscoveryFetched",{count:j.models.length})}),(0,L.jsx)("button",{onClick:()=>{if("success"!==j.phase)return;let a=new Set(n),b=j.models.filter(b=>a.has(b.id)&&!t.has(b.id));0!==b.length&&(f(b),o([]))},disabled:0===z,style:{height:28,padding:"0 11px",border:"none",borderRadius:5,background:z?"var(--accent)":"var(--bg-panel)",color:z?"#fff":"var(--text-dim)",cursor:z?"pointer":"not-allowed",fontSize:11,fontWeight:600,whiteSpace:"nowrap"},children:z?g("desktop.modelsDiscoveryAddSelectedCount",{count:z}):g("desktop.modelsDiscoveryAddSelected")})]})]})]})]})}let vJ=["off","minimal","low","medium","high","xhigh","max"],vK={off:"var(--text-dim)",minimal:"var(--text-muted)",low:"#60a5fa",medium:"#a78bfa",high:"#f472b6",xhigh:"#fb923c",max:"#ef4444"};function vL({value:a,onChange:b}){let c=vz(),d=a??{},e=(a,c)=>{let e={...d};"omit"===c?delete e[a]:e[a]=c,b(Object.keys(e).length?e:void 0)};return(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:vJ.map(a=>{let b=d[a],f=a in d?null===b?"null":"string":"omit",g="string"==typeof b?b:"",h=vK[a],i={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)"},j={background:"var(--accent)",color:"#fff",fontWeight:600};return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 4px",borderRadius:6,background:"transparent",border:"1px solid transparent"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,width:68,flexShrink:0},children:[(0,L.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:h,flexShrink:0,opacity:"null"===f?.3:1}}),(0,L.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"null"===f?"var(--text-dim)":"var(--text-muted)",textDecoration:"null"===f?"line-through":"none"},children:a})]}),(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",flexShrink:0},children:[(0,L.jsx)("button",{onClick:()=>e(a,"omit"),style:{...i,..."omit"===f?j:{}},children:c("desktop.modelsDefault")}),(0,L.jsx)("button",{onClick:()=>e(a,null),style:{...i,borderLeft:"1px solid var(--border)",..."null"===f?{background:"#ef4444",color:"#fff",fontWeight:600}:{}},children:c("desktop.modelsDisabled")})]}),(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,border:`1px solid ${"string"===f?"var(--accent)":"var(--border)"}`,overflow:"hidden",transition:"border-color 0.1s"},children:[(0,L.jsx)("button",{onClick:()=>e(a,g||a),style:{...i,..."string"===f?j:{},borderRight:"1px solid var(--border)",flexShrink:0},children:c("desktop.modelsCustom")}),(0,L.jsx)("input",{value:g,onChange:b=>e(a,b.target.value),onFocus:()=>{"string"!==f&&e(a,g||a)},placeholder:a,maxLength:10,style:{width:"12ch",background:"string"===f?"var(--bg)":"var(--bg-panel)",border:"none",outline:"none",color:"string"===f?"var(--text)":"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,padding:"4px 7px",transition:"background 0.1s, color 0.1s"}})]})]},a)})})}let vM={thinkingFormat:"deepseek",requiresReasoningContentOnAssistantMessages:!0};function vN({providerName:a,provider:b,model:c,onChange:d,onDelete:e}){let f=vz(),[g,h]=(0,M.useState)({phase:"idle"}),[i,j]=(0,M.useState)({phase:"idle"}),k=(0,M.useRef)(0),l=(0,M.useRef)(null),m=(a,b)=>d({...c,[a]:b}),n=(()=>{if("idle"===g.phase)return null;if("testing"===g.phase)return f("desktop.modelsTestingConnection");let a=[void 0!==g.latencyMs?`${g.latencyMs}ms`:null,void 0!==g.status?`HTTP ${g.status}`:null].filter(Boolean);return"success"===g.phase?[f("desktop.modelsConnected"),...a,g.responseText||null].filter(Boolean).join(" \xb7 "):[f("desktop.modelsFailed"),...a,g.message].filter(Boolean).join(" \xb7 ")})(),o=(0,M.useCallback)(async()=>{if(c.id.trim()&&"testing"!==g.phase){h({phase:"testing"});try{let d=await fetch("/api/models-config/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:a,provider:b,model:c})}),e=await d.json();if(!d.ok||!e.ok)return void h({phase:"error",message:e.error??`HTTP ${d.status}`,latencyMs:e.latencyMs,status:e.status});h({phase:"success",latencyMs:e.latencyMs,status:e.status,responseText:e.responseText})}catch(a){h({phase:"error",message:a instanceof Error?a.message:String(a)})}}},[c,b,a,g.phase]),p=(0,M.useCallback)(async()=>{let e=c.id.trim();if(!e||"loading"===i.phase)return;let f=++k.current;j({phase:"loading"});try{let g=new URLSearchParams({q:e,provider:a,limit:"50"});b.baseUrl?.trim()&&g.set("baseUrl",b.baseUrl.trim());let h=await fetch(`/api/models-config/catalog?${g}`),i=await h.json();if(f!==k.current)return;if(!h.ok||i.error||!i.recommendation)return void j({phase:"error",message:i.error??`HTTP ${h.status}`});let m=function(a,b){let c={...a},d=0;if(!a.name?.trim()&&b.name&&(c.name=b.name,d+=1),void 0===a.reasoning&&!0===b.reasoning&&(c.reasoning=!0,d+=1),!a.input?.length&&b.input?.length&&(c.input=[...b.input],d+=1),void 0===a.contextWindow&&void 0!==b.contextWindow&&(c.contextWindow=b.contextWindow,d+=1),void 0===a.maxTokens&&void 0!==b.maxTokens&&(c.maxTokens=b.maxTokens,d+=1),b.cost){let e={...a.cost??{}},f=!1;for(let a of["input","output","cacheRead","cacheWrite"])void 0===e[a]&&void 0!==b.cost[a]&&(e[a]=b.cost[a],f=!0,d+=1);f&&(c.cost=e)}return{model:c,appliedCount:d}}(c,i.recommendation.preset);m.appliedCount>0&&(l.current=c,d(m.model)),j({phase:"success",recommendation:i.recommendation,appliedCount:m.appliedCount})}catch(a){if(f!==k.current)return;j({phase:"error",message:a instanceof Error?a.message:String(a)})}},[i.phase,c,d,b.baseUrl,a]),q=(()=>{if("success"!==i.phase)return null;let{recommendation:b,appliedCount:c}=i,d=c>0?f("desktop.modelsCatalogFilled",{count:c}):f("desktop.modelsCatalogNoEmptyFields");if("unreliable"===b.price.status){let a="no-exact-match"===b.price.reason?f("desktop.modelsCatalogNoExactMatch"):f("desktop.modelsCatalogPriceUnreliable");return`${d} \xb7 ${a}`}let e="provider"===b.price.method?f("desktop.modelsCatalogPriceProvider",{provider:b.price.providerName??b.price.providerId??a}):"base-url"===b.price.method?f("desktop.modelsCatalogPriceBaseUrl",{provider:b.price.providerName??b.price.providerId??a}):f("desktop.modelsCatalogPriceConsensus",{support:b.price.support,total:b.price.total});return`${d} \xb7 ${e}`})(),r="error"===i.phase?i.message:q,s="error"===i.phase?"#ef4444":"success"===i.phase&&"unreliable"===i.recommendation.price.status?"#d97706":"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:f("desktop.modelsModelSection")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[n&&(0,L.jsx)("span",{title:n,style:{maxWidth:260,height:24,padding:"0 8px",border:`1px solid ${"error"===g.phase?"#fecaca":"success"===g.phase?"#bbf7d0":"var(--border)"}`,borderRadius:4,background:"error"===g.phase?"#fee2e2":"success"===g.phase?"#dcfce7":"#e5e7eb",color:"#111827",fontSize:11,display:"inline-flex",alignItems:"center",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",boxSizing:"border-box"},children:n}),(0,L.jsxs)("button",{onClick:o,disabled:!c.id.trim()||"testing"===g.phase,title:f("desktop.modelsTestConnection"),style:{height:24,padding:"0 8px",background:"success"===g.phase?"#16a34a":"none",border:`1px solid ${"success"===g.phase?"#16a34a":"var(--border)"}`,borderRadius:4,color:"success"===g.phase?"#fff":c.id.trim()&&"testing"!==g.phase?"var(--text-muted)":"var(--text-dim)",cursor:c.id.trim()&&"testing"!==g.phase?"pointer":"not-allowed",fontSize:11,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:5},children:["success"===g.phase&&(0,L.jsx)(_,{size:11}),"testing"===g.phase?f("desktop.modelsTesting"):"success"===g.phase?f("desktop.modelsOk"):f("desktop.modelsTest")]}),(0,L.jsx)("button",{onClick:e,style:{height:24,padding:"0 8px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:4,color:"#ef4444",cursor:"pointer",fontSize:11,boxSizing:"border-box"},children:f("desktop.modelsRemove")})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(vA,{label:f("desktop.modelsIdRequired"),children:(0,L.jsx)(vC,{value:c.id,onChange:a=>m("id",a),placeholder:"model-id",mono:!0})}),(0,L.jsx)(vA,{label:f("desktop.modelsName"),children:(0,L.jsx)(vC,{value:c.name??"",onChange:a=>m("name",a||void 0),placeholder:f("desktop.modelsDisplayName")})})]}),(0,L.jsxs)("div",{style:{padding:"10px 0",borderTop:"1px solid var(--border)",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{onClick:()=>void p(),disabled:!c.id.trim()||"loading"===i.phase,style:{height:28,padding:"0 10px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:c.id.trim()&&"loading"!==i.phase?"var(--text-muted)":"var(--text-dim)",cursor:c.id.trim()&&"loading"!==i.phase?"pointer":"not-allowed",fontSize:11},children:"loading"===i.phase?f("desktop.modelsCatalogFilling"):f("desktop.modelsCatalogFill")}),(0,L.jsx)("a",{href:"https://github.com/anomalyco/models.dev",target:"_blank",rel:"noreferrer",style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10,textDecoration:"none"},children:f("desktop.modelsCatalogSource")})]}),(0,L.jsxs)("div",{"aria-live":"polite",style:{marginTop:6,height:20,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,color:s,fontSize:10},children:[(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),"success"===i.phase&&l.current&&(0,L.jsx)("button",{onClick:()=>{let a=l.current;a&&(l.current=null,d(a),j({phase:"idle"}))},style:{background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:10,flexShrink:0},children:f("desktop.modelsCatalogUndo")})]})]}),(0,L.jsx)(vA,{label:f("desktop.modelsApiOverride"),children:(0,L.jsx)(vF,{value:c.api??"",onChange:a=>m("api",a||void 0),options:vy})}),(0,L.jsxs)("div",{style:{display:"flex",gap:20,flexWrap:"wrap"},children:[(0,L.jsx)(vG,{label:f("desktop.modelsReasoningThinking"),checked:c.reasoning??!1,onChange:a=>m("reasoning",a||void 0)}),(0,L.jsx)(vG,{label:f("desktop.modelsImageInput"),checked:c.input?.includes("image")??!1,onChange:a=>m("input",a?["text","image"]:void 0)})]}),c.reasoning&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(vG,{label:f("desktop.modelsDeepSeekCompat"),checked:c.compat?.thinkingFormat==="deepseek",onChange:a=>d(function(a,b){if(b)return{...a,compat:{...a.compat??{},...vM}};if(!a.compat)return a;let c={...a.compat};return delete c.thinkingFormat,delete c.requiresReasoningContentOnAssistantMessages,{...a,compat:Object.keys(c).length?c:void 0}}(c,a))}),(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[(0,L.jsx)(vH,{children:f("desktop.modelsThinkingLevelMap")}),c.thinkingLevelMap&&(0,L.jsx)("button",{onClick:()=>m("thinkingLevelMap",void 0),style:{fontSize:10,padding:"2px 7px",background:"none",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-dim)",cursor:"pointer"},children:f("desktop.modelsClearAll")})]}),(0,L.jsx)(vL,{value:c.thinkingLevelMap,onChange:a=>m("thinkingLevelMap",a)})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(vA,{label:f("desktop.modelsContextWindow"),children:(0,L.jsx)(vE,{value:void 0!==c.contextWindow?String(c.contextWindow):"",onChange:a=>m("contextWindow",a?parseInt(a):void 0),placeholder:"128000"})}),(0,L.jsx)(vA,{label:f("desktop.modelsMaxOutputTokens"),children:(0,L.jsx)(vE,{value:void 0!==c.maxTokens?String(c.maxTokens):"",onChange:a=>m("maxTokens",a?parseInt(a):void 0),placeholder:"16384"})})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)(vH,{children:f("desktop.modelsCostPerMillionTokens")}),(0,L.jsx)("div",{style:{marginTop:8,display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gap:8},children:["input","output","cacheRead","cacheWrite"].map(a=>(0,L.jsx)(vA,{label:a,children:(0,L.jsx)(vE,{value:c.cost?.[a]!==void 0?String(c.cost[a]):"",onChange:b=>{let e;return e=parseFloat(b),void d({...c,cost:{...c.cost??{},[a]:isNaN(e)?void 0:e}})},placeholder:"0"})},a))})]})]})}function vO({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=vz(),[f,g]=(0,M.useState)({phase:"idle"}),[h,i]=(0,M.useState)(""),j=(0,M.useRef)(null),k=(0,M.useRef)(null),l=(0,M.useCallback)(()=>{j.current?.close(),g({phase:"connecting"}),i("");let c=new EventSource(`/api/auth/login/${encodeURIComponent(a.id)}`);j.current=c,c.onmessage=a=>{let d=JSON.parse(a.data);"auth"===d.type?(g({phase:"auth",url:d.url,instructions:d.instructions??null,token:d.token}),window.open(d.url,"_blank","noopener,noreferrer")):"device_code"===d.type?(g({phase:"device_code",userCode:d.userCode,verificationUri:d.verificationUri,intervalSeconds:d.intervalSeconds??null,expiresInSeconds:d.expiresInSeconds??null}),window.open(d.verificationUri,"_blank","noopener,noreferrer")):"prompt_request"===d.type?g({phase:"prompt",message:d.message,placeholder:d.placeholder??null,token:d.token}):"select_request"===d.type?g({phase:"select",message:d.message,options:d.options??[],token:d.token}):"progress"===d.type?g({phase:"progress",message:d.message}):"success"===d.type?(c.close(),g({phase:"success"}),b()):"error"===d.type?(c.close(),g({phase:"error",message:d.message})):"cancelled"===d.type&&(c.close(),g({phase:"idle"}))},c.onerror=()=>{c.close(),g(a=>"success"===a.phase?a:{phase:"error",message:e("desktop.modelsConnectionLost")})}},[a.id,b,e]),m=(0,M.useCallback)(async()=>{try{let b=await fetch(`/api/auth/logout/${encodeURIComponent(a.id)}`,{method:"POST"});if(b.ok)g({phase:"idle"});else{let a=await b.json().catch(()=>null);g({phase:"error",message:409===b.status?e("desktop.modelsAuthenticationStateChanged"):a?.error??`HTTP ${b.status}`})}}catch(a){g({phase:"error",message:a instanceof Error?a.message:String(a)})}finally{b()}},[a.id,b,e]),n=(0,M.useCallback)(async(b,c)=>{if(c.trim()){g({phase:"progress",message:e("desktop.modelsVerifying")});try{let d=await fetch(`/api/auth/login/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b,code:c.trim()})});if(!d.ok){let a=await d.json().catch(()=>({}));g({phase:"error",message:a.error??e("desktop.modelsServerError",{status:d.status})});return}i("")}catch(a){g({phase:"error",message:a instanceof Error?a.message:e("desktop.modelsNetworkError")})}}},[a.id,e]),o=(0,M.useCallback)(async(b,c)=>{g({phase:"progress",message:e("desktop.modelsContinuing")});try{let d=await fetch(`/api/auth/login/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b,code:c})});if(!d.ok){let a=await d.json().catch(()=>({}));g({phase:"error",message:a.error??e("desktop.modelsServerError",{status:d.status})})}}catch(a){g({phase:"error",message:a instanceof Error?a.message:e("desktop.modelsNetworkError")})}},[a.id,e]),p="connecting"===f.phase||"progress"===f.phase||"auth"===f.phase||"device_code"===f.phase||"prompt"===f.phase||"select"===f.phase;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:e("desktop.modelsSubscription")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a.loggedIn?"#4ade80":"var(--border)",display:"inline-block"}}),(0,L.jsx)("span",{style:{fontSize:11,color:a.loggedIn?"#4ade80":"var(--text-dim)"},children:a.loggedIn?e("desktop.modelsConnected"):e("desktop.modelsNotConnected")})]})]}),(0,L.jsxs)("div",{style:{minHeight:48},children:["idle"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:a.loggedIn?e("desktop.modelsAlreadyConnected"):e("desktop.modelsConnectAccount",{provider:a.name})}),"connecting"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:e("desktop.modelsOpeningBrowser")}),"select"===f.phase&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:f.message}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:f.options.map(a=>(0,L.jsx)("button",{onClick:()=>o(f.token,a.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:a.label},a.id))})]}),("auth"===f.phase||"prompt"===f.phase)&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:"auth"===f.phase?e("desktop.modelsCompleteSignIn"):f.message}),"auth"===f.phase&&(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[e("desktop.modelsBrowserDidNotOpen")," ",(0,L.jsx)("a",{href:f.url,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:e("desktop.modelsOpenLoginPage")}),"."]}),(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("input",{ref:k,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&n(f.token,h)},placeholder:"auth"===f.phase?"http://localhost:1455/auth/callback?code=…":f.placeholder??e("desktop.modelsEnterValue"),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,L.jsx)("button",{onClick:()=>n(f.token,h),disabled:!h.trim(),style:{padding:"6px 12px",background:h.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:h.trim()?"#fff":"var(--text-dim)",cursor:h.trim()?"pointer":"not-allowed",fontSize:12,fontWeight:600,flexShrink:0},children:e("desktop.submit")})]})]}),"device_code"===f.phase&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:e("desktop.modelsOpenVerificationPage")}),(0,L.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:f.userCode}),(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[(0,L.jsx)("a",{href:f.verificationUri,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:f.verificationUri}),f.expiresInSeconds?` ${e("desktop.modelsExpiresInMinutes",{count:Math.ceil(f.expiresInSeconds/60)})}`:""]})]}),"progress"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:f.message}),"success"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#4ade80"},children:e("desktop.modelsConnectedSuccessfully")}),"error"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#f87171"},children:f.message})]}),(0,L.jsx)("div",{style:{display:"flex",gap:8},children:p?(0,L.jsx)("button",{onClick:()=>{j.current?.close(),g({phase:"idle"})},style:{padding:"5px 12px",background:"none",border:"1px solid var(--border)",borderRadius:5,color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:e("desktop.cancel")}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{onClick:l,style:{padding:"5px 14px",background:"var(--accent)",border:"none",borderRadius:5,color:"#fff",cursor:"pointer",fontSize:12,fontWeight:600},children:a.loggedIn?e("desktop.modelsReLogin"):e("desktop.modelsLogin")}),a.loggedIn&&(0,L.jsx)("button",{onClick:m,style:{padding:"5px 12px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",cursor:"pointer",fontSize:12},children:e("desktop.modelsDisconnect")})]})}),(0,L.jsx)(vx,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function vP({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=vz(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),p=(0,M.useCallback)(async()=>{if(f.trim()){i(!0),m(null),o(!1);try{let c=await fetch(`/api/auth/api-key/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:f.trim()})}),d=await c.json();!c.ok||d.error?m(d.error??`HTTP ${c.status}`):(g(""),o(!0),setTimeout(()=>o(!1),2e3),b())}catch(a){m(String(a))}finally{i(!1)}}},[f,a.id,b]),q=(0,M.useCallback)(async()=>{k(!0),m(null);try{let b=await fetch(`/api/auth/api-key/${encodeURIComponent(a.id)}`,{method:"DELETE"}),c=await b.json();(!b.ok||c.error)&&m(409===b.status?e("desktop.modelsAuthenticationStateChanged"):c.error??`HTTP ${b.status}`)}catch(a){m(String(a))}finally{b(),k(!1)}},[a.id,b,e]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:e("desktop.modelsApiKey")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a.configured?"#4ade80":"var(--border)",display:"inline-block"}}),(0,L.jsx)("span",{style:{fontSize:11,color:a.configured?"#4ade80":"var(--text-dim)"},children:a.configured?e("desktop.modelsConfigured"):e("desktop.modelsNotConfigured")})]})]}),(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:a.configured?e("desktop.modelsApiKeyStored"):e("desktop.modelsEnableModels",{provider:a.displayName,count:a.modelCount,models:1===a.modelCount?e("desktop.modelsSingular"):e("desktop.modelsPlural")})}),(0,L.jsx)(vA,{label:e("desktop.modelsApiKey"),children:(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)(vD,{value:f,onChange:g,onKeyDown:a=>{"Enter"===a.key&&f.trim()&&p()},placeholder:a.configured?e("desktop.modelsEnterNewKey"):"sk-…",style:{flex:1},autoComplete:"off",spellCheck:!1,mono:!0}),(0,L.jsxs)("button",{onClick:p,disabled:h||!f.trim()||n,style:{padding:"6px 12px",background:n?"#16a34a":f.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:f.trim()||n?"#fff":"var(--text-dim)",cursor:h||!f.trim()||n?"not-allowed":"pointer",fontSize:12,fontWeight:600,flexShrink:0,display:"flex",alignItems:"center",gap:5},children:[n&&(0,L.jsx)(_,{size:12}),n?e("desktop.modelsSaved"):h?e("desktop.modelsSaving"):e("desktop.modelsSave")]})]})}),l&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#f87171"},children:l}),a.configured&&(0,L.jsx)("button",{onClick:q,disabled:j,style:{alignSelf:"flex-start",padding:"5px 12px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",cursor:j?"not-allowed":"pointer",fontSize:12},children:j?e("desktop.modelsRemoving"):e("desktop.modelsDisconnect")}),(0,L.jsx)(vx,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function vQ({oauthProviders:a,apiKeyProviders:b,onSelectOAuth:c,onSelectApiKey:d,onAddCustom:e,onClose:f}){let g=vz(),[h,i]=(0,M.useState)(""),j=(0,M.useRef)(null),k=h.trim().toLowerCase(),l=a.filter(a=>!a.loggedIn&&(!k||a.name.toLowerCase().includes(k))),m=b.filter(a=>!a.configured&&(!k||a.displayName.toLowerCase().includes(k)||a.id.toLowerCase().includes(k))),n=!k||"custom".includes(k)||"openai-compatible".includes(k)||"anthropic-compatible".includes(k),o=l.length+m.length+ +!!n,p={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,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:1100,background:"rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{a.target===a.currentTarget&&f()},children:(0,L.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,L.jsxs)("div",{style:{padding:"10px 14px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)(V,{size:13,style:{color:"var(--text-dim)",flexShrink:0}}),(0,L.jsx)("input",{ref:j,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Escape"===a.key&&f()},placeholder:g("desktop.modelsSearchProviders"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:13,boxSizing:"border-box"}})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:14},children:0===o?(0,L.jsx)("div",{style:{padding:"20px 0",fontSize:12,color:"var(--text-dim)",textAlign:"center"},children:g("desktop.modelsNoProvidersMatch")}):(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(min(240px, 100%), 1fr))",gap:8},children:[n&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsCustom")}),n&&(0,L.jsxs)("button",{onClick:()=>{e(),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g("desktop.modelsCompatibleProvider")}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsCustomEndpointFormat")})]}),(0,L.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,L.jsx)(ah,{size:13,style:{color:"var(--text-dim)"}})})]}),l.length>0&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*!!n,fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsSubscriptions")}),l.map(a=>(0,L.jsxs)("button",{onClick:()=>{c(a.id),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:"OAuth"})]}),(0,L.jsx)(sa,{id:a.id,size:28})]},a.id)),m.length>0&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*(l.length>0),fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsApiKey")}),m.map(a=>(0,L.jsxs)("button",{onClick:()=>{d(a.id),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.displayName}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsCount",{count:a.modelCount})})]}),(0,L.jsx)(sa,{id:a.id,size:28})]},a.id))]})})]})})}function vR({embedded:a=!1,sessionId:b,onCloseAction:c,onSavedAction:d,onRegisterFlush:e}){let f=vz(),g=aO(),[h,i]=(0,M.useState)({providers:{}}),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(!1),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)([]),[v,w]=(0,M.useState)([]),[x,y]=(0,M.useState)(!1),[z,A]=(0,M.useState)({oauth:!1,apiKey:!1}),B=(0,M.useRef)({providers:{}}),C=(0,M.useRef)(new Map),D=(0,M.useRef)(0),E=(0,M.useRef)(!1);B.current=h;let F=(0,M.useCallback)(a=>{let b=a(B.current);return B.current=b,D.current+=1,i(b),b},[]),G=(0,M.useCallback)(()=>{fetch("/api/auth/combined").then(a=>a.json()).then(a=>{u(a.oauth??[]),w(a.apiKey??[])}).catch(()=>{}).finally(()=>A({oauth:!0,apiKey:!0}))},[]),H=(0,M.useCallback)((a,b)=>(C.current.set(a,b),()=>{C.current.get(a)===b&&C.current.delete(a)}),[]),I=(0,M.useCallback)(async()=>{for(let a of[...C.current.values()])await a()},[]),J=(0,M.useCallback)((a,b)=>{F(c=>{let d={...c.providers??{}};return b?d[a]=b:delete d[a],{...c,providers:d}}),d?.()},[d,F]),K=(0,M.useCallback)(async a=>{if(!E.current){E.current=!0,o(null);try{await I(),s(a)}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I]),N=(0,M.useCallback)(async()=>{if(!E.current){E.current=!0,o(null);try{await I();let a="new-provider",b=1;for(;B.current.providers?.[a];)a=`new-provider-${b++}`;F(b=>({...b,providers:{...b.providers??{},[a]:{api:"openai-completions"}}})),s({type:"provider",name:a})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),O=(0,M.useCallback)((a,b)=>{F(c=>({...c,providers:{...c.providers??{},[a]:b}}))},[F]),P=(0,M.useCallback)((a,b)=>{F(c=>{let d=Object.entries(c.providers??{}),e=d.findIndex(([b])=>b===a);return -1===e?c:(d[e]=[b,d[e][1]],{...c,providers:Object.fromEntries(d)})}),s(c=>c?"provider"===c.type&&c.name===a?{type:"provider",name:b}:"model"===c.type&&c.providerName===a?{...c,providerName:b}:c:c)},[F]),Q=(0,M.useCallback)(a=>{let b=Object.keys(F(b=>{let c={...b.providers??{}};return delete c[a],{...b,providers:c}}).providers??{});s(b.length>0?{type:"provider",name:b[0]}:null)},[F]),R=(0,M.useCallback)(async a=>{if(!E.current){E.current=!0,o(null);try{await I();let b=F(b=>{let c=b.providers?.[a]??{},d=[...c.models??[],{id:""}];return{...b,providers:{...b.providers??{},[a]:{...c,models:d}}}}),c=(b.providers?.[a]?.models?.length??1)-1;s({type:"model",providerName:a,index:c})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),S=(0,M.useCallback)((a,b)=>{F(c=>{let d=c.providers?.[a]??{},e=[...d.models??[]],f=new Set(e.map(a=>a.id));for(let a of b)f.has(a.id)||(f.add(a.id),e.push({id:a.id,name:a.name}));return{...c,providers:{...c.providers??{},[a]:{...d,models:e}}}})},[F]),T=(0,M.useCallback)((a,b,c)=>{F(d=>{let e=d.providers?.[a]??{},f=[...e.models??[]];return f[b]=c,{...d,providers:{...d.providers??{},[a]:{...e,models:f}}}})},[F]),U=(0,M.useCallback)(async(a,b)=>{if(!E.current){E.current=!0,o(null);try{await I(),F(c=>{let d=c.providers?.[a]??{},e=[...d.models??[]];return e.splice(b,1),{...c,providers:{...c.providers??{},[a]:{...d,models:e.length?e:void 0}}}}),s({type:"provider",name:a})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),V=(0,M.useCallback)(async()=>{if(!l){m(!0),o(null),q(!1);try{await I();let a=B.current,b=await fetch("/api/models-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);c.config&&(B.current=c.config,D.current+=1,i(c.config)),q(!0),d?.(),setTimeout(()=>q(!1),2e3)}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}}},[I,d,l]),W=(0,M.useCallback)(async()=>{try{await I(),c?.()}catch(a){o(a instanceof Error?a.message:String(a))}},[I,c]),X=Object.entries(h.providers??{}),Y=new Set([...t.map(a=>a.id),...v.map(a=>a.id)]),Z=X.filter(([a])=>!Y.has(a)),$=t.filter(a=>a.loggedIn),aa=v.filter(a=>a.configured),ab=(()=>{if(!r)return null;if("oauth"===r.type){let a=t.find(a=>a.id===r.providerId);return a?(0,L.jsx)(vO,{provider:a,onRefresh:G,onRegisterBuiltinFlush:H,onBuiltinProviderChange:b=>J(a.id,b)},a.id):null}if("apikey"===r.type){let a=v.find(a=>a.id===r.providerId);return a?(0,L.jsx)(vP,{provider:a,onRefresh:G,onRegisterBuiltinFlush:H,onBuiltinProviderChange:b=>J(a.id,b)},a.id):null}if("provider"===r.type){let a=h.providers?.[r.name];return a?(0,L.jsx)(vI,{name:r.name,provider:a,onChange:a=>O(r.name,a),onRename:a=>P(r.name,a),onDelete:()=>Q(r.name),onAddModels:a=>S(r.name,a)},r.name):null}let a=h.providers?.[r.providerName],b=a?.models?.[r.index];return b?(0,L.jsx)(vN,{providerName:r.providerName,provider:a,model:b,onChange:a=>T(r.providerName,r.index,a),onDelete:()=>{U(r.providerName,r.index)}},`${r.providerName}-${r.index}`):null})();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{style:a?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:b=>{a||b.target!==b.currentTarget||W()},children:(0,L.jsxs)("div",{style:a?{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}:{width:g?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:g?"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:[!a&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.models")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:"~/.pi/agent/models.json"})]}),(0,L.jsx)("button",{onClick:()=>{W()},"aria-label":f("desktop.modelsClose"),title:f("desktop.modelsClose"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,L.jsx)(vt,{}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:g?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:g?"100%":210,maxHeight:g?"40vh":void 0,borderRight:g?"none":"1px solid var(--border)",borderBottom:g?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:[$.map(a=>{let b=r?.type==="oauth"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{K({type:"oauth",providerId:a.id})},style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:b?"var(--bg-selected)":"none"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(sa,{id:a.id,size:16}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name})]},a.id)}),aa.map(a=>{let b=r?.type==="apikey"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{K({type:"apikey",providerId:a.id})},style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:b?"var(--bg-selected)":"none"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(sa,{id:a.id,size:16}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.displayName})]},a.id)}),($.length>0||aa.length>0)&&Z.length>0&&(0,L.jsx)("div",{style:{margin:"4px 8px",borderTop:"1px solid var(--border)"}}),j?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:f("desktop.modelsLoading")}):Z.map(([a,b])=>{let c=r?.type==="provider"&&r.name===a,d=b.models??[];return(0,L.jsxs)("div",{style:{marginBottom:2},children:[(0,L.jsxs)("div",{onClick:()=>{K({type:"provider",name:a})},style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,cursor:"pointer",background:c?"var(--bg-selected)":"none"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(az,{size:11,style:{color:"var(--text-dim)",flexShrink:0}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:c?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})]}),d.map((b,c)=>{let d=r?.type==="model"&&r.providerName===a&&r.index===c;return(0,L.jsxs)("div",{onClick:()=>{K({type:"model",providerName:a,index:c})},style:{display:"flex",alignItems:"center",gap:6,padding:"5px 8px 5px 26px",borderRadius:5,cursor:"pointer",background:d?"var(--bg-selected)":"none"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:b.id?"var(--text-muted)":"var(--text-dim)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b.id||f("desktop.modelsNewModel")}),b.reasoning&&(0,L.jsx)("span",{style:{fontSize:9,padding:"1px 4px",background:"rgba(99,102,241,0.12)",color:"rgba(99,102,241,0.8)",borderRadius:3,flexShrink:0},children:"T"})]},c)}),(0,L.jsx)("div",{onClick:b=>{b.stopPropagation(),R(a)},style:{display:"flex",alignItems:"center",gap:4,padding:"4px 8px 4px 26px",borderRadius:5,cursor:"pointer",color:"var(--text-dim)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-dim)",a.currentTarget.style.background="none"},children:(0,L.jsx)("span",{style:{fontSize:11},children:f("desktop.modelsAddModel")})})]},a)})]}),(0,L.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 6px"},children:(0,L.jsx)("button",{onClick:()=>y(!0),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5,width:"100%",padding:"6px 0",background:"none",border:"1px dashed var(--border)",borderRadius:5,color:"var(--text-muted)",cursor:"pointer",fontSize:12},onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.color="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.color="var(--text-muted)"},children:f("desktop.modelsAddProvider")})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:j?null:ab??(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:f("desktop.modelsSelectProviderOrModel")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:10,padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[n&&(0,L.jsx)("span",{style:{fontSize:12,color:"#f87171",flex:1},children:n}),!a&&(0,L.jsx)("button",{onClick:()=>{W()},style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:f("desktop.cancel")}),(0,L.jsx)(vj,{sessionId:b}),(0,L.jsxs)("button",{onClick:V,disabled:l||p,style:{position:"relative",padding:"6px 16px",minWidth:92,background:p?"#16a34a":l?"var(--bg-panel)":"var(--accent)",border:"none",borderRadius:6,color:p?"#fff":l?"var(--text-muted)":"#fff",cursor:l||p?"default":"pointer",fontSize:13,fontWeight:600,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,transition:"background-color 0.2s ease, color 0.2s ease",animation:p?"saved-pop 0.45s ease":void 0},children:[p&&(0,L.jsx)(_,{size:14,style:{strokeDasharray:18,animation:"saved-check-draw 0.35s ease forwards",flexShrink:0}}),(0,L.jsx)("span",{children:p?f("desktop.modelsSaved"):l?f("desktop.modelsSaving"):f("desktop.modelsSave")})]})]})]})}),x&&(0,L.jsx)(vQ,{oauthProviders:t,apiKeyProviders:v,onSelectOAuth:a=>{K({type:"oauth",providerId:a})},onSelectApiKey:a=>{K({type:"apikey",providerId:a})},onAddCustom:N,onClose:()=>y(!1)})]})}function vS(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function vT(a){let b=a.trim().match(/^\$?\s*pi\s+install\s+(\S+)\s*$/);return b?.[1]??a}function vU(a){return`${a.scope}\0${a.source}`}function vV(a,b){if(a.disabled)return b("desktop.disabled");let c=[a.counts.extensions?b("desktop.extensionsCount",{count:a.counts.extensions}):"",a.counts.skills?b("desktop.skillsCount",{count:a.counts.skills}):"",a.counts.prompts?b("desktop.promptsCount",{count:a.counts.prompts}):"",a.counts.themes?b("desktop.themesCount",{count:a.counts.themes}):""].filter(Boolean);return c.length?c.join(" \xb7 "):b("desktop.noResources")}function vW(a,b){let c=[];return a.version&&c.push(b("desktop.installedVersion",{version:a.version})),a.configuredVersion&&c.push(b("desktop.configuredVersion",{version:a.configuredVersion})),c.length?c.join(" \xb7 "):b("desktop.unknown")}function vX(a){return"loaded"===a?"var(--accent)":"installed"===a?"#f59e0b":"disabled"===a?"var(--text-dim)":"#ef4444"}function vY({pkg:a}){let{t:b}=(0,aK.s)(),c=[["extension",b("desktop.extensions")],["skill",b("desktop.skills")],["prompt",b("desktop.prompts")],["theme",b("desktop.themes")]].map(([b,c])=>({kind:b,label:c,resources:a.resources.filter(a=>a.kind===b)})).filter(a=>a.resources.length>0);return 0===c.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:b(a.disabled?"desktop.packageDisabled":"desktop.noResolvedResources")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:c.map((a,b)=>(0,L.jsxs)("div",{style:{borderTop:0===b?"none":"1px solid var(--border)",paddingTop:12*(0!==b)},children:[(0,L.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:a.label}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:a.resources.map(a=>(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a.path,children:a.name}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:a.path,children:a.relativePath})]},`${a.kind}:${a.path}`))})]},a.kind))})}function vZ({scope:a}){let{t:b}=(0,aK.s)();return(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===a?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===a?"rgba(99,102,241,0.85)":"var(--text-dim)"},children:b(`desktop.${a}`)})}function v$(a,b){return{padding:"6px 12px",background:b?"rgba(239,68,68,0.08)":"none",border:"1px solid var(--border)",borderRadius:6,color:b?"#ef4444":"var(--text-muted)",cursor:a?"not-allowed":"pointer",fontSize:12,opacity:a?.5:1}}function v_({enabled:a,loading:b,onToggle:c,label:d}){return(0,L.jsx)("button",{type:"button",onClick:c,disabled:b,title:d,"aria-label":d,"aria-pressed":a,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:b?"wait":"pointer",background:a?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none",opacity:b?.65:1},children:(0,L.jsx)("span",{style:{position:"absolute",top:3,left:a?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 v0({value:a,onChange:b}){let{t:c}=(0,aK.s)();return(0,L.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden",height:30},children:["global","project"].map(d=>{let e=a===d;return(0,L.jsx)("button",{onClick:()=>b(d),style:{width:76,border:"none",borderRight:"global"===d?"1px solid var(--border)":"none",background:e?"var(--bg-selected)":"none",color:e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12},children:c(`desktop.${d}`)},d)})})}function v1({cwd:a,source:b,scope:c,busy:d,actionError:e,onSourceChange:f,onScopeChange:g,onInstall:h}){let{t:i}=(0,aK.s)(),j=(0,M.useRef)(null);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:i("desktop.addPluginTitle")}),(0,L.jsx)("a",{href:"https://pi.dev/packages",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",fontSize:12,textDecoration:"none",whiteSpace:"nowrap"},children:"pi.dev/packages ↗"})]}),(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===c?`${vS(a)}/.pi/agent/{npm,git}`:"~/.pi/agent/{npm,git}"})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:i("desktop.pluginSource")}),(0,L.jsx)("input",{id:"plugin-source",ref:j,value:b,onChange:a=>f(a.target.value),onPaste:a=>{let b=a.clipboardData.getData("text"),c=vT(b);c!==b&&(a.preventDefault(),f(c))},onBlur:a=>f(vT(a.currentTarget.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:a=>{"Enter"===a.key&&b.trim()&&!d&&h()}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)(v0,{value:c,onChange:g}),(0,L.jsx)("button",{type:"button",onClick:h,disabled:d||!b.trim(),style:{...v$(d||!b.trim()),background:"var(--accent)",color:"white",borderColor:"var(--accent)"},children:i(d?"desktop.installing":"desktop.install")})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:i("desktop.examples")}),(0,L.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(a=>(0,L.jsx)("button",{type:"button",onClick:()=>f(a),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:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text-muted)"},onMouseLeave:a=>{a.currentTarget.style.background="var(--bg-panel)",a.currentTarget.style.color="var(--text-dim)"},children:a},a))})]}),e&&(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",whiteSpace:"pre-wrap"},children:e})]})}function v2({pkg:a,cwd:b,busyKey:c,actionError:d,actionMessage:e,sessionId:f,onAction:g,onReloadSession:h}){let{t:i}=(0,aK.s)(),j=vU(a),k=c?.endsWith(j)??!1,l="reload"===c,m=!a.disabled;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,minWidth:0,flexWrap:"wrap"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:180,flex:1},children:[(0,L.jsx)(v_,{enabled:m,loading:k||l,onToggle:()=>g(a.disabled?"enable":"disable",a),label:i(a.disabled?"desktop.enablePackage":"desktop.disablePackage")}),(0,L.jsx)(vZ,{scope:a.scope}),a.disabled?(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"rgba(120,120,120,0.12)",color:"var(--text-dim)"},children:i("desktop.disabled")}):a.filtered&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"rgba(245,158,11,0.12)",color:"#d97706"},children:i("desktop.filtered")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.source})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{onClick:()=>g("update",a),disabled:k||l,style:v$(k||l),children:i(c===`update:${j}`?"desktop.updating":"desktop.update")}),(0,L.jsx)("button",{onClick:h,disabled:!f||l||k,style:v$(!f||l||k),title:i(f?"desktop.reloadCurrentSession":"desktop.openSessionToReload"),children:i(l?"desktop.reloading":"desktop.reloadSession")}),(0,L.jsx)("button",{onClick:()=>g("remove",a),disabled:k||l,style:v$(k||l,!0),children:i(c===`remove:${j}`?"desktop.removing":"desktop.remove")})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:12,lineHeight:1.45},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.status")}),(0,L.jsx)("div",{style:{color:vX(a.status),textTransform:"capitalize"},children:a.status}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.version")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:vW(a,i)}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.package")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:a.packageName??i("desktop.unknown")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.resources")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)"},children:vV(a,i)}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.installedPath")}),(0,L.jsx)("div",{style:{color:a.installedPath?"var(--text-muted)":"#ef4444",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:a.installedPath?vS(a.installedPath):i("desktop.notFound")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.cwd")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:vS(b)})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:i("desktop.resolvedResources")}),(0,L.jsx)(vY,{pkg:a})]}),e&&(0,L.jsx)("div",{style:{fontSize:12,color:"#16a34a"},children:e}),d&&(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",whiteSpace:"pre-wrap"},children:d})]})}function v3({cwd:a,sessionId:b,embedded:c=!1,onCloseAction:d,onReloadedAction:e}){let f=aO(),{t:g}=(0,aK.s)(),[h,i]=(0,M.useState)(null),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(""),[t,u]=(0,M.useState)("global"),[v,w]=(0,M.useState)(null),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)(null),B=(0,M.useMemo)(()=>h?.packages??[],[h?.packages]),C=B.find(a=>vU(a)===n)??null,D=(0,M.useMemo)(()=>["project","global"].map(a=>({scope:a,packages:B.filter(b=>b.scope===a)})).filter(a=>a.packages.length>0),[B]),E=(0,M.useCallback)(async()=>{k(!0),m(null);try{let b=await fetch(`/api/plugins?cwd=${encodeURIComponent(a)}`),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);i(c),q(a=>0===c.packages.length||a),o(a=>a&&c.packages.some(b=>vU(b)===a)?a:c.packages[0]?vU(c.packages[0]):null)}catch(a){m(a instanceof Error?a.message:String(a))}finally{k(!1)}},[a]),F=(0,M.useCallback)(async(b,c)=>{let d=vU(c);w(`${b}:${d}`),y(null),A(null);try{let d=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,source:c.source,scope:c.scope,cwd:a})}),e=await d.json();if(!d.ok||e.error)throw Error(e.error??`HTTP ${d.status}`);if(i(e),"remove"===b)o(e.packages[0]?vU(e.packages[0]):null),0===e.packages.length&&q(!0),A(g("desktop.packageRemoved"));else{let a={install:g("desktop.packageInstalled"),update:g("desktop.packageUpdated"),disable:g("desktop.packageDisabledMessage"),enable:g("desktop.packageEnabled")};A(a[b])}}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}},[a,g]),G=(0,M.useCallback)(async()=>{let b=vT(r).trim();if(!b)return;let c=`${t}\0${b}`;w(`install:${c}`),y(null),A(null);try{var d;let e,f,h=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:b,scope:t,cwd:a})}),j=await h.json();if(!h.ok||j.error)throw Error(j.error??`HTTP ${h.status}`);i(j);let k=(d=j.packages,f=(e=b.trim()).startsWith("npm:")?e.slice(4):e,d.find(a=>a.scope===t&&a.source===e)??d.find(a=>a.scope===t&&a.source===`npm:${f}`)??d.find(a=>a.scope===t&&a.source.endsWith(e)));o(k?vU(k):c),q(!1),s(""),A(g("desktop.packageInstalled"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}},[a,t,r,g]),H=(0,M.useCallback)(async()=>{if(b){w("reload"),y(null),A(null);try{await ts(b,{type:"reload"}),e?.(),await E(),A(g("desktop.sessionReloaded"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}}},[E,e,b,g]),I=v?.startsWith("install:")??!1;return(0,L.jsx)("div",{style:c?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{c||a.target!==a.currentTarget||d?.()},children:(0,L.jsxs)("div",{style:c?{display:"flex",flex:1,minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden"}:{width:f?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:f?"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:[!c&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:g("desktop.plugins")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:vS(a)})]}),(0,L.jsx)("button",{onClick:d,title:g("desktop.close"),"aria-label":g("desktop.close"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:f?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:f?"100%":245,maxHeight:f?"40vh":void 0,borderRight:f?"none":"1px solid var(--border)",borderBottom:f?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:j?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:g("desktop.loading")}):l?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"#ef4444"},children:l}):0===B.length?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:g("desktop.noPluginsConfigured")}):D.map(a=>(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:g(`desktop.${a.scope}`)}),a.packages.map(a=>{let b=vU(a),c=!p&&n===b;return(0,L.jsxs)("div",{onClick:()=>{o(b),q(!1),y(null),A(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:c?"var(--bg-selected)":"none"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:vX(a.status)}}),(0,L.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:c?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.source}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:vV(a,g)}),(a.version||a.configuredVersion)&&(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:vW(a,g)})]})]},b)})]},a.scope))}),(0,L.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,L.jsxs)("button",{type:"button",onClick:()=>{q(!0),y(null),A(null)},style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,border:"none",width:"100%",cursor:"pointer",background:p?"var(--bg-selected)":"none",color:p?"var(--accent)":"var(--text-dim)",fontSize:12},onMouseEnter:a=>{p||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{p||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(ah,{size:13}),g("desktop.addPlugin")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:p?(0,L.jsx)(v1,{cwd:a,source:r,scope:t,busy:I,actionError:x,onSourceChange:s,onScopeChange:u,onInstall:G}):j?null:C?(0,L.jsx)(v2,{pkg:C,cwd:a,busyKey:v,actionError:x,actionMessage:z,sessionId:b,onAction:F,onReloadSession:H},vU(C)):(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:g("desktop.selectPackage")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsx)("div",{style:{minWidth:0,flex:1,fontSize:11,color:"var(--text-dim)",overflow:"hidden"},children:h?.diagnostics.length?(0,L.jsx)("span",{title:h.diagnostics.map(a=>`${a.type}: ${a.source?`${a.source}: `:""}${a.message}`).join("\n"),style:{color:h.diagnostics.some(a=>"error"===a.type)?"#ef4444":"#d97706"},children:g("desktop.diagnosticsCount",{count:h.diagnostics.length,suffix:1===h.diagnostics.length?"":"s"})}):(0,L.jsx)("span",{children:h?g("desktop.pluginResourceTotals",{extensions:h.totals.extensions,skills:h.totals.skills,prompts:h.totals.prompts,themes:h.totals.themes}):""})}),(0,L.jsx)("button",{onClick:()=>void E(),disabled:j||null!==v,style:v$(j||null!==v),children:g("desktop.refresh")}),!c&&(0,L.jsx)("button",{onClick:d,style:v$(!1),children:g("desktop.close")})]})]})})}let v4=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z"}))]]),v5=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:v4}));function v6(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)({enabled:!1,protocol:"http",host:"127.0.0.1",port:7890,username:"",password:"",noProxy:"localhost,127.0.0.1,.local",hasPassword:!1}),[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(null),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),[p,q]=(0,M.useState)(!1),r=(0,M.useCallback)((a,b)=>{c(c=>({...c,[a]:b})),"password"===a&&q(!0),o(!0),k(null),m(null)},[]),s=(0,M.useCallback)(async()=>{e(!0),k(null),m(null);try{let d={...b};delete d.hasPassword,p||delete d.password;let e=await fetch("/api/proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),f=await e.json();if(e.ok){k(!0),o(!1),q(!1);let a=await fetch("/api/proxy");if(a.ok){let b=await a.json();c(a=>({...a,...b,password:""}))}}else k(!1),m(f.error||a("desktop.proxySaveFailed"))}catch(b){k(!1),m(b instanceof Error?b.message:a("desktop.proxySaveFailed"))}finally{e(!1)}},[b,p,a]),t=(0,M.useCallback)(async()=>{g(!0),i(null),n&&await s();try{let b=await fetch("/api/proxy/test",{method:"POST"}),c=await b.json();c.success?i({ok:!0,message:`${a("desktop.proxyTestSuccess")} \xb7 ${c.latencyMs}ms`,latencyMs:c.latencyMs}):i({ok:!1,message:c.error||a("desktop.proxyTestFailed")})}catch(b){i({ok:!1,message:b instanceof Error?b.message:a("desktop.proxyTestFailed")})}finally{g(!1)}},[n,s,a]),u=(0,M.useCallback)(()=>{if(!b.enabled||!b.host||!b.port)return null;let a="";return b.username&&b.password?a=`${b.username}:${"•".repeat(Math.min(b.password.length,8))}@`:b.username&&(a=`${b.username}@`),`${b.protocol}://${a}${b.host}:${b.port}`},[b.enabled,b.host,b.port,b.protocol,b.username,b.password])();return(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",padding:"16px 20px",overflow:"auto",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:4},children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:14,fontWeight:500,color:"var(--text)",cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:b.enabled,onChange:a=>r("enabled",a.target.checked),style:{width:16,height:16,accentColor:"var(--accent)"}}),a("desktop.proxyEnable")]}),b.enabled&&u&&(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontFamily:"var(--font-mono)",backgroundColor:"var(--bg-hover)",padding:"2px 10px",borderRadius:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"60%"},title:u,children:u})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"12px 16px",opacity:b.enabled?1:.5,pointerEvents:b.enabled?"auto":"none"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyProtocol")}),(0,L.jsxs)("select",{value:b.protocol,onChange:a=>r("protocol",a.target.value),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"},children:[(0,L.jsx)("option",{value:"http",children:"HTTP"}),(0,L.jsx)("option",{value:"https",children:"HTTPS"}),(0,L.jsx)("option",{value:"socks5",children:"SOCKS5"})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyHost")}),(0,L.jsx)("input",{type:"text",value:b.host,onChange:a=>r("host",a.target.value),placeholder:"127.0.0.1",style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyPort")}),(0,L.jsx)("input",{type:"number",value:b.port,onChange:a=>r("port",parseInt(a.target.value,10)||0),placeholder:"7890",min:1,max:65535,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyUsername")}),(0,L.jsx)("input",{type:"text",value:b.username,onChange:a=>r("username",a.target.value),placeholder:b.username?"":a("desktop.proxyUsername"),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyPassword")}),(0,L.jsx)("input",{type:"password",value:b.password,onChange:a=>r("password",a.target.value),placeholder:b.hasPassword?"••••••••":a("desktop.proxyPassword"),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,gridColumn:"1 / -1"},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyNoProxy")}),(0,L.jsx)("input",{type:"text",value:b.noProxy,onChange:a=>r("noProxy",a.target.value),placeholder:"localhost,127.0.0.1,.local",style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:10,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:s,disabled:d,style:{padding:"6px 18px",borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",fontSize:13,fontWeight:500,cursor:d?"not-allowed":"pointer",opacity:d?.5:1,transition:"background 0.15s"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="var(--accent)")},children:d?a("desktop.proxySaving"):a("desktop.proxySave")}),(0,L.jsx)("button",{type:"button",onClick:t,disabled:f||!b.enabled,style:{padding:"6px 18px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:b.enabled?"var(--text)":"var(--text-muted)",fontSize:13,fontWeight:500,cursor:b.enabled?"pointer":"not-allowed",opacity:b.enabled?1:.5,transition:"background 0.15s"},onMouseEnter:a=>{b.enabled&&(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b.enabled&&(a.currentTarget.style.background="var(--bg)")},children:f?a("desktop.proxyTesting"):a("desktop.proxyTest")})]}),!0===j&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:"rgba(34, 197, 94, 0.12)",color:"#22c55e",fontSize:13},children:[(0,L.jsx)(p2,{size:16,weight:"fill"}),a("desktop.proxySaved")]}),!1===j&&l&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:"rgba(239, 68, 68, 0.10)",color:"#ef4444",fontSize:13},children:[(0,L.jsx)(s0,{size:16,weight:"fill"}),l]}),h&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:h.ok?"rgba(34, 197, 94, 0.10)":"rgba(239, 68, 68, 0.10)",color:h.ok?"#22c55e":"#ef4444",fontSize:13},children:[h.ok?(0,L.jsx)(p2,{size:16,weight:"fill"}):(0,L.jsx)(s0,{size:16,weight:"fill"}),h.message,void 0!==h.latencyMs&&(0,L.jsxs)("span",{style:{color:"var(--text-muted)",fontSize:12,marginLeft:4},children:["(",h.latencyMs,"ms)"]})]}),n&&!j&&!l&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 12px",borderRadius:6,backgroundColor:"var(--bg-hover)",color:"var(--text-muted)",fontSize:12},children:[(0,L.jsx)(v5,{size:12,weight:"fill"}),a("desktop.proxyUnsaved")]})]})}function v7(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function v8(a){let b=a.sourceInfo?.source,c=a.sourceInfo?.scope;return"user"===c||"user"===b?"global":"project"===c||"project"===b?"project":"path"}function v9(a){let b=v8(a);return"path"===b?b:a.install?.skillsShUrl?`${b} / skills.sh`:b}function wa(a){return a.install?`${a.install.scope}\0${a.install.package}`:null}function wb(a,b){return a?a.slice(0,8):b}function wc({enabled:a,loading:b,onToggle:c}){let{t:d}=(0,aK.s)();return(0,L.jsx)("button",{onClick:c,disabled:b,title:d(a?"desktop.visibleInModelPrompt":"desktop.hiddenFromModelPrompt"),style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:b?"wait":"pointer",background:a?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none"},children:(0,L.jsx)("span",{style:{position:"absolute",top:3,left:a?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 wd({skill:a,cwd:b,onToggle:c,toggling:d,saveError:e,updateStatus:f,checkingUpdate:g,updating:h,updateError:i,onCheckUpdate:j,onUpdate:k}){let{t:l}=(0,aK.s)(),m=v8(a),n=!a.disableModelInvocation;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7},children:[(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===m?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===m?"rgba(99,102,241,0.8)":"var(--text-dim)"},children:l(`desktop.${m}`)}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:function(a){if("project"===m&&a.startsWith(b)){let c=a.slice(b.length).replace(/^[/\\]/,"");return`./${c}`}return v7(a)}(a.filePath)}),(0,L.jsx)(wc,{enabled:n,loading:d,onToggle:()=>c(a)}),e&&(0,L.jsx)("span",{style:{fontSize:12,color:"#f87171",flexShrink:0},children:e})]}),!n&&(0,L.jsx)("div",{style:{marginTop:-12,color:"var(--text-dim)",fontSize:12},children:l("desktop.hiddenButInvocable")}),a.install?.skillsShUrl&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.pluginSource")}),(0,L.jsx)("a",{href:a.install.skillsShUrl,target:"_blank",rel:"noreferrer",title:a.install.skillsShUrl,style:{display:"flex",alignItems:"center",gap:8,width:"fit-content",maxWidth:"100%",color:"var(--accent)",textDecoration:"none"},children:(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a.install.skillsShUrl.replace(/^https?:\/\//,"")," ↗"]})})]}),a.install&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.version")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text-muted)"},children:wb(f?.currentVersion??a.install.versionHash,l("desktop.unknown"))}),a.install.canCheckForUpdates&&(0,L.jsx)("button",{onClick:j,disabled:g||h,style:{padding:"4px 9px",border:"1px solid var(--border)",borderRadius:5,background:"none",color:"var(--text-muted)",cursor:g||h?"not-allowed":"pointer",opacity:g||h?.5:1,fontSize:11},children:l("desktop.check")}),f?.state==="update-available"&&(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"#d97706"},children:wb(f.latestVersion,l("desktop.unknown"))}),(g||f&&"update-available"!==f.state)&&(0,L.jsx)("span",{style:{fontSize:12,color:g?"var(--accent)":f?.state==="up-to-date"?"#16a34a":f?.state==="error"?"#ef4444":"var(--text-dim)"},children:g?l("desktop.checking"):f?.state==="up-to-date"?l("desktop.upToDate"):f?.state==="unsupported"?l("desktop.automaticChecksUnavailable"):f?.message||l("desktop.checkFailed")}),f?.state==="update-available"&&(0,L.jsx)("button",{onClick:k,disabled:h||g,style:{padding:"4px 10px",border:"none",borderRadius:5,background:"var(--accent)",color:"#fff",cursor:h||g?"not-allowed":"pointer",opacity:h||g?.5:1,fontSize:11,fontWeight:600},children:l(h?"desktop.updating":"desktop.update")})]}),i&&(0,L.jsx)("span",{style:{fontSize:12,color:"#ef4444"},children:i})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.name")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:14,color:"var(--text)"},children:a.name})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.description")}),(0,L.jsx)("span",{style:{fontSize:14,color:"var(--text-muted)",lineHeight:1.6},children:a.description})]})]})}function we({cwd:a,installedPackages:b,projectResourcesLoaded:c,onInstalled:d}){let{t:e}=(0,aK.s)(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)([]),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(new Set),[t,u]=(0,M.useState)("global"),v=(0,M.useRef)(null),w=(0,M.useCallback)(async a=>{if(a.trim()){k(!0),m(null),i([]);try{let b=await fetch("/api/skills/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:a.trim()})}),c=await b.json();if(c.error)return void m(c.error);i(c.results??[]),0===(c.results??[]).length&&m(e("desktop.noSkillsFound"))}catch(a){m(String(a))}finally{k(!1)}}},[e]),x=(0,M.useCallback)(async b=>{o(b),q(null);try{let c=await fetch("/api/skills/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({package:b,scope:t,cwd:a})}),e=await c.json();if(!c.ok||e.error)return void q(e.error??`HTTP ${c.status}`);s(a=>new Set(a).add(`${t}:${b}`)),d()}catch(a){q(String(a))}finally{o(null)}},[d,t,a]),y="global"===t?"~/.pi/agent/skills/":`${v7(a)}/.pi/skills/`;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,marginBottom:20},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:e("desktop.addSkillTitle")}),(0,L.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,L.jsx)("input",{ref:v,value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&w(f)},placeholder:e("desktop.skillSearchPlaceholder"),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,L.jsx)("button",{onClick:()=>w(f),disabled:j||!f.trim(),style:{padding:"7px 16px",fontSize:13,borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",cursor:j||!f.trim()?"not-allowed":"pointer",opacity:j||!f.trim()?.5:1,flexShrink:0},children:j?e("desktop.searching"):e("desktop.search")})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",fontSize:12,flexShrink:0},children:["global","project"].map(a=>(0,L.jsx)("button",{onClick:()=>u(a),disabled:"project"===a&&!c,title:"project"!==a||c?void 0:e("desktop.projectSkillInstallUnavailable"),style:{padding:"3px 10px",border:"none",cursor:"project"!==a||c?"pointer":"not-allowed",opacity:"project"!==a||c?1:.5,background:t===a?"var(--bg-selected)":"none",color:t===a?"var(--text)":"var(--text-dim)",fontWeight:t===a?600:400,borderRight:"global"===a?"1px solid var(--border)":"none"},children:e(`desktop.${a}`)},a))}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["→ ",y]})]}),l&&(0,L.jsx)("div",{style:{fontSize:12,color:"#f87171"},children:l}),p&&(0,L.jsx)("div",{style:{fontSize:12,color:"#f87171",wordBreak:"break-word"},children:p})]}),h.length>0?(0,L.jsx)("div",{style:{flex:1,overflowY:"auto"},children:h.map(a=>{let c=b[t].has(a.package)||r.has(`${t}:${a.package}`),d=n===a.package,f=a.package.indexOf("@"),g=f>-1?a.package.slice(0,f):a.package,h=f>-1?a.package.slice(f+1):null;return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"12px 0",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)",marginBottom:3},children:h??g}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)"},children:g}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:a.installs}),a.url&&(0,L.jsx)("a",{href:a.url,target:"_blank",rel:"noreferrer",style:{fontSize:12,color:"var(--accent)",textDecoration:"none"},children:"skills.sh ↗"})]})]}),(0,L.jsx)("button",{onClick:()=>!c&&!d&&x(a.package),disabled:c||d||null!==n,style:{flexShrink:0,padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:5,border:"1px solid var(--border)",cursor:c||d||null!==n?"not-allowed":"pointer",background:c?"rgba(34,197,94,0.1)":"none",color:c?"#16a34a":d?"var(--accent)":"var(--text-muted)",transition:"color 0.12s"},children:c?`✓ ${e("desktop.installed")}`:d?e("desktop.installing"):e("desktop.install")})]},a.package)})}):!l&&!j&&(0,L.jsxs)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.8},children:[e("desktop.skillSearchHint").split("skills.sh")[0],(0,L.jsx)("a",{href:"https://skills.sh",target:"_blank",rel:"noreferrer",style:{color:"var(--accent)",textDecoration:"none"},children:"skills.sh"}),e("desktop.skillSearchHint").split("skills.sh")[1]]})]})}function wf({cwd:a,embedded:b=!1,sessionId:c,onCloseAction:d}){let e=aO(),{t:f}=(0,aK.s)(),[g,h]=(0,M.useState)([]),[i,j]=(0,M.useState)(!0),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(new Set),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(!1),[u,v]=(0,M.useState)({}),[w,x]=(0,M.useState)(new Set),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(null),[C,D]=(0,M.useState)(null),[E,F]=(0,M.useState)(!0),[G,H]=(0,M.useState)({}),I=(0,M.useCallback)(async()=>{j(!0),l(null);try{let b=await fetch(`/api/skills?cwd=${encodeURIComponent(a)}`),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);let d=c.skills??[];if(h(d),F(c.projectResourcesLoaded??!0),d.length>0&&!m){let a=d.find(a=>!a.disableModelInvocation)??d[0];n(a.filePath),a.disableModelInvocation&&H(b=>({...b,[v9(a)]:!0}))}return d}catch(a){return l(String(a)),[]}finally{j(!1)}},[a,m]),J=(0,M.useCallback)(async b=>{let c=(b?[b]:g.filter(a=>!!a.install)).map(wa).filter(a=>!!a);if(0!==c.length){D(null),x(a=>new Set([...a,...c])),b||z(!0);try{let c=await fetch("/api/skills/check",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,package:b?.install?.package,scope:b?.install?.scope})}),d=await c.json();if(!c.ok||d.error)throw Error(d.error??`HTTP ${c.status}`);v(a=>{let b={...a};for(let a of d.updates??[])b[`${a.scope}\0${a.package}`]=a;return b})}catch(a){D(a instanceof Error?a.message:String(a))}finally{x(a=>{let b=new Set(a);for(let a of c)b.delete(a);return b}),b||z(!1)}}},[a,g]),K=(0,M.useCallback)(async b=>{if(!b.install)return;let c=wa(b);B(c),D(null);try{let d=await fetch("/api/skills/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,package:b.install.package,scope:b.install.scope})}),e=await d.json();if(!d.ok||e.error||!e.success)throw Error(e.error??`HTTP ${d.status}`);await I();let f=e.skill?.install?.versionHash;v(a=>({...a,[c]:{package:b.install.package,scope:b.install.scope,state:"up-to-date",currentVersion:f,latestVersion:f}}))}catch(a){D(a instanceof Error?a.message:String(a))}finally{B(null)}},[a,I]),N=(0,M.useCallback)(async b=>{let c=!b.disableModelInvocation;p(a=>new Set(a).add(b.filePath)),r(null);try{let d=await fetch("/api/skills",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,filePath:b.filePath,disableModelInvocation:c})}),e=await d.json();if(!d.ok||e.error)return void r(e.error??`HTTP ${d.status}`);h(a=>a.map(a=>a.filePath===b.filePath?{...a,disableModelInvocation:c}:a)),c&&H(a=>({...a,[v9(b)]:!0}))}catch(a){r(String(a))}finally{p(a=>{let c=new Set(a);return c.delete(b.filePath),c})}},[a]),O=g.find(a=>a.filePath===m)??null;return(0,L.jsx)("div",{style:b?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{b||a.target!==a.currentTarget||d?.()},children:(0,L.jsxs)("div",{style:b?{display:"flex",flex:1,minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden"}:{width:e?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:e?"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:[!b&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.skills")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",maxWidth:320,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:v7(a)})]}),(0,L.jsx)("button",{onClick:d,title:f("desktop.close"),"aria-label":f("desktop.close"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),!E&&(0,L.jsx)("div",{role:"status",style:{padding:"8px 18px",borderBottom:"1px solid var(--border)",background:"var(--bg-subtle)",color:"var(--text-muted)",fontSize:12},children:f("desktop.projectSkillsRestricted")}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:e?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:e?"100%":210,maxHeight:e?"40vh":void 0,borderRight:e?"none":"1px solid var(--border)",borderBottom:e?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{padding:"8px 8px 0",display:"flex",justifyContent:"flex-end"},children:(0,L.jsx)(vj,{sessionId:c,onApplied:I})}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:i?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:f("desktop.loading")}):k?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"#f87171"},children:k}):0===g.length?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:f("desktop.noSkillsFound")}):(()=>{let a=[];for(let{key:b,label:c,matches:d}of[{key:"project / skills.sh",label:`${f("desktop.project")} / skills.sh`,matches:a=>"project"===v8(a)&&!!a.install?.skillsShUrl},{key:"project",label:f("desktop.project"),matches:a=>"project"===v8(a)&&!a.install?.skillsShUrl},{key:"global / skills.sh",label:`${f("desktop.global")} / skills.sh`,matches:a=>"global"===v8(a)&&!!a.install?.skillsShUrl},{key:"global",label:f("desktop.global"),matches:a=>"global"===v8(a)&&!a.install?.skillsShUrl},{key:"path",label:f("desktop.path"),matches:a=>"path"===v8(a)}]){let e=g.filter(d);e.length>0&&a.push({key:b,label:c,skills:e})}return a.map(({key:a,label:b,skills:c})=>{let d=c.filter(a=>!a.disableModelInvocation),e=c.filter(a=>a.disableModelInvocation),g=G[a]??!1,h=g?[...d,...e]:d;return(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em"},children:b}),e.length>0&&(0,L.jsxs)("button",{type:"button",onClick:()=>H(b=>({...b,[a]:!g})),style:{display:"flex",alignItems:"center",gap:5,width:"100%",padding:"4px 8px 3px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:10,fontWeight:600,letterSpacing:"0.06em",textAlign:"left",textTransform:"uppercase"},children:[(0,L.jsx)("span",{style:{fontSize:8},children:g?"▾":"▸"}),f("desktop.dormant")," (",e.length,")"]}),h.map(a=>{let b,c,d=!s&&m===a.filePath,e=a.disableModelInvocation;return(0,L.jsxs)("div",{onClick:()=>{n(a.filePath),t(!1)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:d?"var(--bg-selected)":"none"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:e?"var(--border)":"var(--accent)",boxShadow:e?"none":"0 0 4px var(--accent)",transition:"background 0.15s, box-shadow 0.15s"}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:d?600:400,color:e?"var(--text-dim)":"var(--text)",fontFamily:"var(--font-mono)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(c=(b=wa(a))?u[b]:void 0,c?.state!=="update-available"?null:(0,L.jsx)("span",{title:f("desktop.updateAvailable"),style:{color:"#d97706",fontSize:13,lineHeight:1,flexShrink:0},children:"↑"}))]},a.filePath)})]},a)})})()}),(0,L.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,L.jsxs)("div",{onClick:()=>t(!0),style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,cursor:"pointer",background:s?"var(--bg-selected)":"none",color:s?"var(--accent)":"var(--text-dim)",fontSize:12},onMouseEnter:a=>{s||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{s||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(ah,{size:13}),f("desktop.addSkill")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:s?(0,L.jsx)(we,{cwd:a,installedPackages:{global:new Set(g.filter(a=>a.install?.scope==="global").map(a=>a.install.package)),project:new Set(g.filter(a=>a.install?.scope==="project").map(a=>a.install.package))},projectResourcesLoaded:E,onInstalled:()=>{I()}}):i?null:O?(0,L.jsx)(wd,{skill:O,cwd:a,onToggle:N,toggling:o.has(O.filePath),saveError:q,updateStatus:wa(O)?u[wa(O)]:void 0,checkingUpdate:!!wa(O)&&w.has(wa(O)),updating:A===wa(O),updateError:C,onCheckUpdate:()=>void J(O),onUpdate:()=>void K(O)},O.filePath):(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:f("desktop.selectSkill")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[g.some(a=>!!a.install)&&(0,L.jsx)("button",{onClick:()=>void J(),disabled:y||null!==A,style:{padding:"6px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:y||null!==A?"not-allowed":"pointer",opacity:y||null!==A?.5:1,fontSize:12},children:y?f("desktop.checking"):f("desktop.checkUpdates")}),Object.values(u).filter(a=>"update-available"===a.state).length>0&&(0,L.jsx)("span",{style:{fontSize:12,color:"#d97706"},children:f("desktop.updatesCount").replace("{count}",String(Object.values(u).filter(a=>"update-available"===a.state).length)).replace("{suffix}",1===Object.values(u).filter(a=>"update-available"===a.state).length?"":"s")})]}),!b&&(0,L.jsx)("button",{onClick:d,style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:f("desktop.close")})]})]})})}function wg(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)([]),[d,e]=(0,M.useState)(""),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(!0),[n,o]=(0,M.useState)(null),p=(0,M.useCallback)(async()=>{m(!0),o(null);try{let a=await fetch("/api/logs?limit=500"),b=await a.json();if(!a.ok)throw Error(b.error??`HTTP ${a.status}`);c(b.entries??[])}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}},[]),q=(0,M.useMemo)(()=>[...new Set(b.map(a=>a.source).filter(Boolean))].sort(),[b]),r=(0,M.useMemo)(()=>[...new Set(b.map(a=>a.statusCode).filter(a=>void 0!==a))].sort((a,b)=>a-b),[b]),s=(0,M.useMemo)(()=>{let a=j.trim().toLocaleLowerCase();return b.filter(a=>!d||a.level===d).filter(a=>!f||a.statusCode===Number(f)).filter(a=>!h||a.source===h).filter(b=>!a||[b.message,b.details,b.provider,b.model,b.source].filter(Boolean).some(b=>b.toLocaleLowerCase().includes(a))).slice(0,200)},[b,d,f,h,j]),t=async()=>{try{let a=await fetch("/api/logs",{method:"DELETE"});if(!a.ok)throw Error(`HTTP ${a.status}`);c([])}catch(a){o(a instanceof Error?a.message:String(a))}},u=async a=>{let b=[`[${a.timestamp}] ${a.level.toUpperCase()} ${a.statusCode??"—"}`,`${a.source}${a.provider?` \xb7 ${a.provider}`:""}${a.model?` \xb7 ${a.model}`:""}`,a.message,a.details].filter(Boolean).join("\n");try{await ll(b),o(null)}catch(a){o(a instanceof Error?a.message:String(a))}};return(0,L.jsxs)("div",{style:{flex:1,minWidth:0,minHeight:0,overflow:"auto",padding:"18px 20px",display:"flex",flexDirection:"column",gap:12},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsxs)("select",{value:d,onChange:a=>e(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllLevels")}),["error","warning","info"].map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsxs)("select",{value:f,onChange:a=>g(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllCodes")}),r.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsxs)("select",{value:h,onChange:a=>i(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllSources")}),q.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsx)("input",{value:j,onChange:a=>k(a.target.value),placeholder:a("desktop.logsSearch"),style:{flex:1,minWidth:180,padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12}}),(0,L.jsx)("button",{type:"button",onClick:()=>void p(),title:a("desktop.refresh"),"aria-label":a("desktop.refresh"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(at,{size:14})}),(0,L.jsx)("button",{type:"button",onClick:()=>void t(),title:a("desktop.logsClear"),"aria-label":a("desktop.logsClear"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"#ef4444",cursor:"pointer"},children:(0,L.jsx)(av,{size:14})})]}),l&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:12},children:a("desktop.loading")}),n&&(0,L.jsx)("div",{style:{color:"#ef4444",fontSize:12},children:n}),!l&&!n&&0===s.length&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:12},children:a("desktop.logsEmpty")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:s.map(b=>(0,L.jsxs)("details",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:"8px 10px"},children:[(0,L.jsxs)("summary",{style:{cursor:"pointer",color:"error"===b.level?"#ef4444":"warning"===b.level?"#f59e0b":"var(--text)",fontSize:12},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",marginRight:8},children:b.statusCode??"—"}),(0,L.jsx)("span",{style:{marginRight:8},children:new Date(b.timestamp).toLocaleString()}),(0,L.jsx)("span",{style:{overflowWrap:"anywhere"},children:b.message.length>180?`${b.message.slice(0,180)}…`:b.message})]}),(0,L.jsxs)("div",{style:{padding:"8px 0 0 18px",color:"var(--text-muted)",fontSize:11,lineHeight:1.5,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:[(0,L.jsxs)("div",{children:[b.source,b.provider?` \xb7 ${b.provider}`:"",b.model?` \xb7 ${b.model}`:""]}),(0,L.jsx)("div",{style:{marginTop:5,maxHeight:260,overflow:"auto"},children:b.message}),b.details&&(0,L.jsx)("div",{style:{marginTop:5,maxHeight:260,overflow:"auto"},children:b.details}),(0,L.jsx)("button",{type:"button",onClick:()=>void u(b),style:{marginTop:8,padding:"4px 7px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:a("desktop.logsCopy")})]})]},b.id))})]})}v5.displayName="CircleIcon";let wh={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,width:"100%"},wi={padding:"6px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function wj(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)([]),[d,e]=(0,M.useState)(!0),[f,g]=(0,M.useState)(null),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(!1),[n,o]=(0,M.useState)(null),p=(0,M.useCallback)(async()=>{try{let a=await fetch("/api/snippets");if(!a.ok)return;let b=await a.json();c(b.snippets??[]),e(!1)}catch{e(!1)}},[]),q=(0,M.useCallback)(()=>{window.dispatchEvent(new Event("pi:snippets-changed"))},[]),r=()=>{g(null),i(""),k(""),o(null)},s=(0,M.useCallback)(async()=>{let b=h.trim();if(!b)return void o(a("desktop.snippetNameRequired"));m(!0),o(null);try{if(f){let a=await fetch(`/api/snippets/${encodeURIComponent(f.id)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b,content:j})});if(!a.ok)throw Error(`HTTP ${a.status}`)}else{let a=await fetch("/api/snippets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b,content:j})});if(!a.ok)throw Error(`HTTP ${a.status}`)}await p(),q(),r()}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}},[f,h,j,p,q,a]),t=(0,M.useCallback)(async a=>{try{let b=await fetch(`/api/snippets/${encodeURIComponent(a)}`,{method:"DELETE"});if(!b.ok)throw Error(`HTTP ${b.status}`);f?.id===a&&r(),await p(),q()}catch(a){o(a instanceof Error?a.message:String(a))}},[f,p,q]);return(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(qT,{size:15,"aria-hidden":"true"}),(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.snippets")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.snippetsDesc")})]})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{width:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8},children:[(0,L.jsx)("button",{type:"button",onClick:r,style:wi,children:(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},children:[(0,L.jsx)(ah,{size:13})," ",a("desktop.snippetNew")]})}),f&&(0,L.jsx)("button",{type:"button",onClick:r,style:{...wi,background:"var(--bg-hover)",color:"var(--text-muted)"},children:(0,L.jsx)(X,{size:13})})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 200px) 1fr",gap:8,alignItems:"start",marginBottom:8},children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",display:"block",marginBottom:4},children:a("desktop.snippetName")}),(0,L.jsx)("input",{value:h,onChange:a=>i(a.target.value),placeholder:"#name",style:wh})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",display:"block",marginBottom:4},children:a("desktop.snippetContent")}),(0,L.jsx)("textarea",{value:j,onChange:a=>k(a.target.value),rows:3,style:{...wh,resize:"vertical",fontFamily:"var(--font-mono)",fontSize:11}})]})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void s(),disabled:l,style:{...wi,cursor:l?"wait":"pointer"},children:a("desktop.snippetSave")}),n&&(0,L.jsx)("span",{style:{color:"var(--status-error, #ef4444)",fontSize:12},children:n})]}),d?(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-dim)"},children:a("desktop.loadingThemes")}):0===b.length?(0,L.jsx)(u2,{children:a("desktop.snippetEmpty")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:b.map(b=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6},children:[(0,L.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:"#"}),(0,L.jsx)("span",{style:{fontWeight:600,fontSize:12,flexShrink:0},children:b.name}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-muted)",fontSize:11,fontFamily:"var(--font-mono)"},children:b.content.split("\n")[0]}),(0,L.jsx)("button",{type:"button",onClick:()=>{g(b),i(b.name),k(b.content),o(null)},title:a("desktop.snippetEdit"),style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",padding:2},children:(0,L.jsx)(ab,{size:13})}),(0,L.jsx)("button",{type:"button",onClick:()=>void t(b.id),title:a("desktop.snippetDelete"),style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",padding:2},children:(0,L.jsx)(av,{size:13})})]},b.id))})]})}),(0,L.jsx)(u1,{children:(0,L.jsx)(u2,{children:a("desktop.snippetHint")})})]})}let wk=["async","group","smart"],wl=["full","compact","custom"],wm=["all","background","off"],wn={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,width:"min(200px, 100%)",fontFamily:"var(--font-mono)"};function wo(){return{fontSize:12,color:"var(--text-muted)"}}function wp({cwd:a,sessionId:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)({}),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)([]),[v,w]=(0,M.useState)({});(0,M.useCallback)(async()=>{m(null);try{let a=await fetch("/api/subagents"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);e(b.config??{}),g(b.agents??[]),i(b.filePath)}catch(a){m(a instanceof Error?a.message:String(a))}finally{k(!0)}},[]);let x=(0,M.useCallback)((a,b)=>{e(c=>({...c,[a]:b})),s(!1),q(null)},[]),y=(0,M.useCallback)(async()=>{o(!0),q(null),s(!1);try{let a=await fetch("/api/subagents",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);e(b.config??{}),s(!0)}catch(a){q(a instanceof Error?a.message:String(a))}finally{o(!1)}},[d]),z=(0,M.useRef)({}),A=(0,M.useCallback)(async(a,b)=>{let c=(z.current[a]??0)+1;z.current[a]=c,w(b=>({...b,[a]:"saving"}));try{let d=await fetch(`/api/subagents/agents/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:b})});if(z.current[a]!==c)return;let e=await d.json();if(!d.ok||e.error)throw Error(e.error??`HTTP ${d.status}`);w(b=>({...b,[a]:"saved"})),g(c=>c.map(c=>c.name===a?{...c,model:b??void 0}:c)),setTimeout(()=>{w(b=>{if("saved"===b[a]){let c={...b};return delete c[a],c}return b})},2e3)}catch(b){if(z.current[a]!==c)return;w(c=>({...c,[a]:`error:${b instanceof Error?b.message:String(b)}`}))}},[]),B=(a,b)=>(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 240px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:wo(),children:c(b)}),(0,L.jsx)("input",{type:"number",min:0,value:d[a]??"",onChange:b=>x(a,""===b.target.value?void 0:Number(b.target.value)),placeholder:"defaultMaxTurns"===a?"0 = 不限":"",style:wn})]})},a),C=(a,b,e)=>(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 240px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:wo(),children:c(b)}),(0,L.jsx)("select",{value:d[a]??e[0],onChange:b=>x(a,b.target.value),style:{...wn,fontFamily:"var(--font-mono)"},children:e.map(a=>(0,L.jsx)("option",{value:a,children:a},a))})]})},a),D=(a,b,e)=>(0,L.jsx)(u0,{children:(0,L.jsx)(uB,{checked:d[a]??!1,onChange:b=>x(a,b),label:c(b),description:e?c(e):void 0})},a);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:j?l?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444"},children:l}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:c("desktop.subagents")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:2,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:h||"~/.pi/agent/subagents.json"})]}),(0,L.jsx)(u2,{children:c("desktop.subagentsDesc")}),(0,L.jsxs)(u_,{children:[B("maxConcurrent","desktop.subagentsMaxConcurrent"),B("defaultMaxTurns","desktop.subagentsDefaultMaxTurns"),B("graceTurns","desktop.subagentsGraceTurns"),C("defaultJoinMode","desktop.subagentsJoinMode",wk),C("widgetMode","desktop.subagentsWidgetMode",wm),C("toolDescriptionMode","desktop.subagentsToolDescMode",wl),D("schedulingEnabled","desktop.subagentsScheduling","desktop.subagentsSchedulingDesc"),D("scopeModels","desktop.subagentsScopeModels","desktop.subagentsScopeModelsDesc"),D("disableDefaultAgents","desktop.subagentsDisableDefault","desktop.subagentsDisableDefaultDesc"),D("fleetView","desktop.subagentsFleetView","desktop.subagentsFleetViewDesc"),(0,L.jsx)(u1,{children:D("outputTranscript","desktop.subagentsOutputTranscript","desktop.subagentsOutputTranscriptDesc")})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void y(),disabled:n,style:{padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:n?"wait":"pointer",fontSize:12},children:n?c("desktop.saving"):c("desktop.mcpSave")}),r&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:c("desktop.subagentsSaved")}),p&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:p}),(0,L.jsx)(vj,{sessionId:b})]}),f.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,fontSize:13,fontWeight:600,color:"var(--text)"},children:[(0,L.jsx)(us,{size:15,"aria-hidden":"true"}),c("desktop.subagentsDiscovered")]}),(0,L.jsx)(u_,{children:f.map((a,b)=>(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3,padding:b===f.length-1?"12px 0":"12px 0 0"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)"},children:a.name}),a.displayName&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:a.displayName}),a.model&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,background:"rgba(37,99,235,0.12)",color:"var(--accent)",fontFamily:"var(--font-mono)"},children:a.model})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:c("desktop.subagentsModel")}),(0,L.jsxs)("select",{value:a.model??"",onChange:b=>void A(a.name,b.target.value||null),style:{...wn,width:"min(260px, 100%)",maxWidth:260},children:[(0,L.jsx)("option",{value:"",children:c("desktop.subagentsModelDefault")}),a.model&&!t.some(b=>`${b.provider}/${b.id}`===a.model)&&(0,L.jsx)("option",{value:a.model,children:a.model}),t.map(a=>(0,L.jsxs)("option",{value:`${a.provider}/${a.id}`,children:[a.name,"(",a.provider,"/",a.id,")"]},`${a.provider}/${a.id}`))]}),"saving"===v[a.name]&&(0,L.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:[c("desktop.saving"),"…"]}),"saved"===v[a.name]&&(0,L.jsx)("span",{style:{fontSize:10,color:"#22c55e"},children:c("desktop.subagentsSaved")}),v[a.name]?.startsWith("error:")&&(0,L.jsx)("span",{style:{fontSize:10,color:"#ef4444"},children:v[a.name].slice(6)})]}),a.description&&(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.5},children:a.description})]})},a.name))})]})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.loading")})})})}function wq(a){return null==a?"—":sX(a)}function wr({sessionId:a,cwd:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)(null),[h,i]=(0,M.useState)(!1);(0,M.useCallback)(async()=>{i(!0);try{let a=await fetch("/api/usage");a.ok&&g(await a.json())}catch{}finally{i(!1)}},[]);let j=(0,M.useMemo)(()=>f?.daily.slice(-14)??[],[f]),k=(0,M.useMemo)(()=>j.reduce((a,b)=>Math.max(a,b.tokens),0),[j]);return(0,L.jsxs)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:600,color:"var(--text)"},children:c("desktop.usage")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:c("desktop.usageSession")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[a?(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12,borderRadius:12,border:"1px solid var(--border)",padding:16},children:d?(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16},children:[(0,L.jsxs)("svg",{width:72,height:72,viewBox:"0 0 72 72",style:{flexShrink:0},children:[(0,L.jsx)("circle",{cx:36,cy:36,r:30,fill:"none",stroke:"var(--border)",strokeWidth:7}),(0,L.jsx)("circle",{cx:36,cy:36,r:30,fill:"none",stroke:"var(--accent)",strokeWidth:7,strokeLinecap:"round",strokeDasharray:2*Math.PI*30,strokeDashoffset:2*Math.PI*30*(1-Math.min(1,(d.percent??0)/100)),transform:"rotate(-90 36 36)",style:{transition:"stroke-dashoffset 0.4s ease"}}),(0,L.jsx)("text",{x:36,y:41,textAnchor:"middle",fontSize:15,fontWeight:700,fill:"var(--text)",children:null!=d.percent?`${d.percent.toFixed(0)}%`:"?"})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[(0,L.jsx)("span",{style:{fontSize:13,color:"var(--text)"},children:c("desktop.usageContext",{used:wq(d.tokens),window:wq(d.contextWindow)})}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageContextHint")})]})]})}):(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoSessionData")})}):(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoSession")}),b&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:c("desktop.usageGlobal")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10},children:[{label:c("desktop.usageTotal"),value:wq(f?.totalTokens),sub:f?`${f.totalSessions} ${c("desktop.usageSessions")}`:"…"},{label:c("desktop.usageMessages"),value:f?String(f.messageCount):"…",sub:c("desktop.usageMessagesHint")}].map(a=>(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",padding:"12px 14px",background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginBottom:4},children:a.label}),(0,L.jsx)("div",{style:{fontSize:18,fontWeight:700,color:"var(--text)"},children:a.value}),(0,L.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",marginTop:2},children:a.sub})]},a.label))}),(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",padding:"14px 16px"},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:10},children:c("desktop.usageDaily")}),0===j.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:c(h?"desktop.featuresLoading":"desktop.usageNoData")}):(0,L.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:6,height:96,overflowX:"auto"},children:j.map(a=>{let b=k>0?Math.max(4,Math.round(a.tokens/k*72)):4;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4,flexShrink:0},children:[(0,L.jsx)("div",{style:{fontSize:9,color:"var(--text-dim)"},children:a.tokens>0?wq(a.tokens):""}),(0,L.jsx)("div",{style:{width:8,height:b,borderRadius:4,background:a.tokens>0?"var(--accent)":"var(--bg-hover)",opacity:a.tokens>0?.85:1},title:`${a.day}: ${wq(a.tokens)}`}),(0,L.jsx)("div",{style:{fontSize:9,color:"var(--text-dim)"},children:a.day.slice(5)})]},a.day)})})]}),(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 14px",borderBottom:"1px solid var(--border)"},children:c("desktop.usageTopSessions")}),f&&0===f.sessions.length?(0,L.jsx)("div",{style:{padding:"14px",fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoData")}):(f?.sessions??[]).slice(0,12).map(a=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name??a.firstMessage??a.id}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:wq(a.tokens)})]},a.path))]})]})]})]})}function ws(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(!1),[d,e]=(0,M.useState)(""),f=(0,M.useCallback)(()=>{window.location.href="piweb-switch://manage"},[]);return b?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:a("desktop.server")})}),(0,L.jsxs)("div",{style:{padding:"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 14px",borderRadius:10,background:"var(--bg-hover)",border:"1px solid var(--border)"},children:[(0,L.jsx)(ug,{size:18,color:"var(--accent)"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.serverCurrent")}),(0,L.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)",wordBreak:"break-all"},children:d})]})]}),(0,L.jsxs)("button",{type:"button",onClick:f,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,padding:"10px 16px",borderRadius:10,background:"linear-gradient(135deg, var(--accent), var(--accent-hover, var(--accent)))",color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",border:"none"},children:[(0,L.jsx)(u9,{size:16}),a("desktop.serverSwitch")]}),(0,L.jsx)("p",{style:{margin:0,fontSize:12.5,lineHeight:1.7,color:"var(--text-muted)"},children:a("desktop.serverSwitchHint")})]})]}):null}let wt=[{id:"server",labelKey:"desktop.server",Icon:ug},{id:"display",labelKey:"desktop.display",Icon:ui},{id:"chat",labelKey:"desktop.chat",Icon:uk},{id:"models",labelKey:"desktop.models",Icon:az},{id:"skills",labelKey:"desktop.skills",Icon:aB},{id:"plugins",labelKey:"desktop.plugins",Icon:aD},{id:"proxy",labelKey:"desktop.proxy",Icon:um},{id:"features",labelKey:"desktop.features",Icon:Z},{id:"logs",labelKey:"desktop.logs",Icon:an},{id:"snippets",labelKey:"desktop.snippets",Icon:qT},{id:"usage",labelKey:"desktop.usage",Icon:uo},{id:"mcp",labelKey:"desktop.mcp",Icon:uq},{id:"subagents",labelKey:"desktop.subagents",Icon:us},{id:"backup",labelKey:"desktop.backup",Icon:pz},{id:"import",labelKey:"desktop.importSessions",Icon:aF}];function wu({initialTab:a="models",cwd:b,sessionId:c,onCloseAction:d,onModelsSavedAction:e,onSessionReloadedAction:f,onSessionsChanged:g}){let h=aO(),{t:i}=(0,aK.s)(),[j,k]=(0,M.useState)("skills"===a||"plugins"===a?b?a:"display":a),[l,m]=(0,M.useState)(!1),n=l?wt:wt.filter(({id:a})=>"server"!==a),[o,p]=(0,M.useState)(!1),[q,r]=(0,M.useState)(null),s=(0,M.useRef)(new Set),t=(0,M.useCallback)(a=>(s.current.add(a),()=>{s.current.delete(a)}),[]),u=(0,M.useCallback)(async()=>{if(!o){p(!0),r(null);try{let a=(await Promise.allSettled([...s.current].map(a=>a()))).find(a=>"rejected"===a.status);if(a)throw a.reason;d()}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},[o,d]);return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{a.target===a.currentTarget&&u()},children:(0,L.jsxs)("section",{role:"dialog","aria-modal":"true","aria-label":i("desktop.settings"),className:"settings-modal",style:{width:h?"calc(100vw - 16px)":1e3,maxWidth:"calc(100vw - 16px)",height:h?"calc(100dvh - 16px)":"80vh",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:[(0,L.jsxs)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:i("desktop.settings")}),"models"===j?(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:"~/.pi/agent/models.json"}):b&&(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]}),(0,L.jsx)("button",{type:"button",onClick:()=>{u()},disabled:o,title:i("desktop.closeSettings"),"aria-label":i("desktop.closeSettings"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:18,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:h?"column":"row",minHeight:0,overflow:"hidden",pointerEvents:o?"none":void 0},children:[(0,L.jsx)("nav",{"aria-label":i("desktop.settingsSections"),style:{display:"flex",flexDirection:h?"row":"column",gap:4,width:h?"100%":150,padding:8,flexShrink:0,minWidth:0,background:"var(--bg-panel)",borderRight:h?"none":"1px solid var(--border)",borderBottom:h?"1px solid var(--border)":"none",overflowX:h?"auto":void 0,overflowY:h?"hidden":void 0,WebkitOverflowScrolling:h?"touch":void 0},children:n.filter(({id:a})=>!(h&&"import"===a)).map(({id:a,labelKey:c,Icon:d})=>{let e=("skills"===a||"plugins"===a)&&!b,f=j===a;return(0,L.jsxs)("button",{type:"button",disabled:e,onClick:()=>k(a),"aria-current":f?"page":void 0,style:{display:"flex",alignItems:"center",gap:8,flex:h?"0 0 auto":void 0,whiteSpace:"nowrap",width:h?void 0:"100%",padding:"8px 10px",border:"none",borderRadius:6,background:f?"var(--bg-selected)":"none",color:f?"var(--text)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",opacity:e?.4:1,fontSize:12,fontWeight:f?600:400,textAlign:"left",transition:"background 0.12s, color 0.12s"},title:i(c),"aria-label":i(c),onMouseEnter:a=>{f||e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)")},children:[(0,L.jsx)(d,{size:16,"aria-hidden":"true"}),!h&&(0,L.jsx)("span",{children:i(c)})]},a)})}),(0,L.jsx)("div",{style:{display:"server"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(ws,{})}),(0,L.jsx)("div",{style:{display:"display"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uY,{})}),(0,L.jsx)("div",{style:{display:"chat"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uF,{})}),(0,L.jsx)("div",{style:{display:"models"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(vR,{embedded:!0,sessionId:c,onSavedAction:e,onRegisterFlush:t})}),b&&(0,L.jsx)("div",{style:{display:"skills"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wf,{cwd:b,embedded:!0,sessionId:c})}),b&&(0,L.jsx)("div",{style:{display:"plugins"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(v3,{cwd:b,sessionId:c,embedded:!0,onReloadedAction:f})}),(0,L.jsx)("div",{style:{display:"proxy"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(v6,{})}),(0,L.jsx)("div",{style:{display:"features"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(u7,{})}),(0,L.jsx)("div",{style:{display:"logs"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wg,{})}),(0,L.jsx)("div",{style:{display:"snippets"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wj,{})}),(0,L.jsx)("div",{style:{display:"usage"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wr,{sessionId:c,cwd:b})}),(0,L.jsx)("div",{style:{display:"mcp"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(vq,{sessionId:c})}),(0,L.jsx)("div",{style:{display:"subagents"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wp,{cwd:b,sessionId:c})}),(0,L.jsx)("div",{style:{display:"backup"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uy,{cwd:b})}),(0,L.jsx)("div",{style:{display:"import"===j?"flex":"none",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:(0,L.jsx)(vb,{onSessionsChanged:g})})]}),q&&(0,L.jsx)("div",{style:{padding:"6px 18px",borderTop:"1px solid var(--border)",color:"#f87171",fontSize:11},children:q})]})})}let wv=new Set(["awaiting_input","review","failed"]),ww=(0,M.createContext)(null);function wx(){let a=(0,M.useContext)(ww);if(!a)throw Error("useTasksView must be used within TasksViewProvider");return a}function wy({children:a}){let{t:b}=(0,aK.s)();(0,M.useRef)(b);let[c,d]=(0,M.useState)([]),[e,f]=(0,M.useState)([]),g=(0,M.useRef)(0),h=(0,M.useCallback)(async()=>{let a=++g.current;try{let b=await (0,rj.Wt)(),c=(await Promise.all(b.map(a=>(0,rj.Vk)(a).catch(()=>[])))).flat().sort((a,b)=>b.id-a.id);if(a!==g.current)return;f(a=>wz(a,b)?a:b),d(a=>wz(a,c)?a:c)}catch{}},[]),i=(0,M.useMemo)(()=>c.filter(a=>wv.has(a.status)&&null==a.archivedAt).length,[c]);(0,M.useRef)(null);let j=(0,M.useMemo)(()=>({tasks:c,projects:e,attentionCount:i,refetch:h}),[c,e,i,h]);return(0,L.jsx)(ww.Provider,{value:j,children:a})}function wz(a,b){return JSON.stringify(a)===JSON.stringify(b)}let wA=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z",opacity:"0.2"}),M.createElement("path",{d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z"}))]]),wB=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wA}));wB.displayName="GearIcon";let wC=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M204,136a12,12,0,0,1-12,12H64a12,12,0,0,1,0-24H192A12,12,0,0,1,204,136Zm28-60H24a12,12,0,0,0,0,24H232a12,12,0,0,0,0-24Zm-80,96H104a12,12,0,0,0,0,24h48a12,12,0,0,0,0-24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z",opacity:"0.2"}),M.createElement("path",{d:"M200,136a8,8,0,0,1-8,8H64a8,8,0,0,1,0-16H192A8,8,0,0,1,200,136Zm32-56H24a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm-80,96H104a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM144,176H112a8,8,0,0,1,0-16h32a8,8,0,0,1,0,16Zm32-40H80a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm32-40H48a8,8,0,0,1,0-16H208a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M198,136a6,6,0,0,1-6,6H64a6,6,0,0,1,0-12H192A6,6,0,0,1,198,136Zm34-54H24a6,6,0,0,0,0,12H232a6,6,0,0,0,0-12Zm-80,96H104a6,6,0,0,0,0,12h48a6,6,0,0,0,0-12Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,136a8,8,0,0,1-8,8H64a8,8,0,0,1,0-16H192A8,8,0,0,1,200,136Zm32-56H24a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm-80,96H104a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M196,136a4,4,0,0,1-4,4H64a4,4,0,0,1,0-8H192A4,4,0,0,1,196,136Zm36-52H24a4,4,0,0,0,0,8H232a4,4,0,0,0,0-8Zm-80,96H104a4,4,0,0,0,0,8h48a4,4,0,0,0,0-8Z"}))]]),wD=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wC}));wD.displayName="FunnelSimpleIcon";let wE=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M234.49,111.07,90.41,22.94A20,20,0,0,0,60,39.87V216.13a20,20,0,0,0,30.41,16.93l144.08-88.13a19.82,19.82,0,0,0,0-33.86ZM84,208.85V47.15L216.16,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z",opacity:"0.2"}),M.createElement("path",{d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M231.36,116.19,87.28,28.06a14,14,0,0,0-14.18-.27A13.69,13.69,0,0,0,66,39.87V216.13a13.69,13.69,0,0,0,7.1,12.08,14,14,0,0,0,14.18-.27l144.08-88.13a13.82,13.82,0,0,0,0-23.62Zm-6.26,13.38L81,217.7a2,2,0,0,1-2.06,0,1.78,1.78,0,0,1-1-1.61V39.87a1.78,1.78,0,0,1,1-1.61A2.06,2.06,0,0,1,80,38a2,2,0,0,1,1,.31L225.1,126.43a1.82,1.82,0,0,1,0,3.14Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230.32,117.9,86.24,29.79a11.91,11.91,0,0,0-12.17-.23A11.71,11.71,0,0,0,68,39.89V216.11a11.71,11.71,0,0,0,6.07,10.33,11.91,11.91,0,0,0,12.17-.23L230.32,138.1a11.82,11.82,0,0,0,0-20.2Zm-4.18,13.37L82.06,219.39a4,4,0,0,1-4.07.07,3.77,3.77,0,0,1-2-3.35V39.89a3.77,3.77,0,0,1,2-3.35,4,4,0,0,1,4.07.07l144.08,88.12a3.8,3.8,0,0,1,0,6.54Z"}))]]),wF=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wE}));wF.displayName="PlayIcon";let wG=["todo","inProgress","attention","done"];function wH(a){return"review"===a.status&&0===a.filesChanged}function wI(){return{defaultAgentType:null,modeId:null,configValues:{},autoProcess:!0,maxConcurrent:1,mergeStrategy:"merge",deleteWorktreeDefault:!0,preflightCommand:null,initCommand:null,stagePrompts:null}}let wJ=["todo","inProgress","attention","done"],wK={todo:{id:"todo",marker:"var(--text-dim)"},inProgress:{id:"inProgress",marker:"var(--accent)"},attention:{id:"attention",marker:"#f59e0b"},done:{id:"done",marker:"#10b981"}},wL=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z"}))]]),wM=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wL}));wM.displayName="CircleNotchIcon";let wN=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm84,108a83.6,83.6,0,0,1-16.75,50.28L77.72,60.75A84,84,0,0,1,212,128ZM44,128A83.6,83.6,0,0,1,60.75,77.72L178.28,195.25A84,84,0,0,1,44,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.56,87.56,0,0,1-20.41,56.28L71.72,60.4A88,88,0,0,1,216,128ZM40,128A87.56,87.56,0,0,1,60.41,71.72L184.28,195.6A88,88,0,0,1,40,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,128a71.69,71.69,0,0,1-15.78,44.91L83.09,71.78A71.95,71.95,0,0,1,200,128ZM56,128a71.95,71.95,0,0,0,116.91,56.22L71.78,83.09A71.69,71.69,0,0,0,56,128Zm180,0A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-20,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm90,102a89.6,89.6,0,0,1-22.29,59.22L68.78,60.29A89.95,89.95,0,0,1,218,128ZM38,128A89.6,89.6,0,0,1,60.29,68.78L187.22,195.71A89.95,89.95,0,0,1,38,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.56,87.56,0,0,1-20.41,56.28L71.72,60.4A88,88,0,0,1,216,128ZM40,128A87.56,87.56,0,0,1,60.41,71.72L184.28,195.6A88,88,0,0,1,40,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm92,100a91.67,91.67,0,0,1-24.21,62.13L65.87,60.21A92,92,0,0,1,220,128ZM36,128A91.67,91.67,0,0,1,60.21,65.87L190.13,195.79A92,92,0,0,1,36,128Z"}))]]),wO=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wN}));wO.displayName="ProhibitIcon";let wP=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,108a36.05,36.05,0,0,0-33.38,22.54l-39-5.57a4,4,0,0,1-2.47-1.35L100.55,85.53A36,36,0,1,0,68,89.94v76.12a36,36,0,1,0,24,0V112.44l23,26.8a28,28,0,0,0,17.3,9.49l41.34,5.91A36,36,0,1,0,208,108ZM80,44A12,12,0,1,1,68,56,12,12,0,0,1,80,44Zm0,168a12,12,0,1,1,12-12A12,12,0,0,1,80,212Zm128-56a12,12,0,1,1,12-12A12,12,0,0,1,208,156Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,56A24,24,0,1,1,80,32,24,24,0,0,1,104,56Z",opacity:"0.2"}),M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM64,56A16,16,0,1,1,80,72,16,16,0,0,1,64,56ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,114a30,30,0,0,0-29.21,23.19l-44-6.28a10,10,0,0,1-6.18-3.39L91.18,83.83A30,30,0,1,0,74,85.4v85.2a30,30,0,1,0,12,0V96.22l33.52,39.11a22,22,0,0,0,13.6,7.46l45.35,6.48A30,30,0,1,0,208,114ZM62,56A18,18,0,1,1,80,74,18,18,0,0,1,62,56ZM98,200a18,18,0,1,1-18-18A18,18,0,0,1,98,200Zm110-38a18,18,0,1,1,18-18A18,18,0,0,1,208,162Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM64,56A16,16,0,1,1,80,72,16,16,0,0,1,64,56ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,116a28,28,0,0,0-27.62,23.44l-45.85-6.55a12,12,0,0,1-7.41-4.07L87.75,82.9A28,28,0,1,0,76,83.71v88.58a28,28,0,1,0,8,0V90.81L121,134a20,20,0,0,0,12.36,6.78l46.83,6.69A28,28,0,1,0,208,116ZM60,56A20,20,0,1,1,80,76,20,20,0,0,1,60,56Zm40,144a20,20,0,1,1-20-20A20,20,0,0,1,100,200Zm108-36a20,20,0,1,1,20-20A20,20,0,0,1,208,164Z"}))]]),wQ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wP}));function wR({task:a}){let{t:b}=(0,aK.s)(),c=b("failed"===a.status&&"interrupted"===a.failureReason?"tasks.statusInterrupted":function(a){switch(a){case"todo":return"tasks.statusTodo";case"queued":return"tasks.statusQueued";case"preparing":return"tasks.statusPreparing";case"running":return"tasks.statusRunning";case"awaiting_input":return"tasks.statusAwaitingInput";case"review":return"tasks.statusReview";case"merging":return"tasks.statusMerging";case"done":return"tasks.statusDone";case"failed":return"tasks.statusFailed";case"canceled":return"tasks.statusCanceled"}}(a.status)),d={display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,padding:"2px 8px",fontSize:10,fontWeight:600,lineHeight:1.4,flexShrink:0,whiteSpace:"nowrap"};switch(a.status){case"queued":case"preparing":case"running":case"merging":return(0,L.jsxs)("span",{style:{...d,color:"var(--accent)"},children:[(0,L.jsx)(wM,{size:11,className:"pi-spin",style:{animation:"pi-spin 1s linear infinite"},"aria-hidden":"true"}),c]});case"awaiting_input":case"review":return(0,L.jsx)("span",{style:{...d,border:"1px solid rgba(245,158,11,0.45)",background:"rgba(245,158,11,0.08)",color:"#d97706"},children:c});case"done":return(0,L.jsxs)("span",{style:{...d,background:"rgba(16,185,129,0.12)",color:"#059669"},children:[(0,L.jsx)(_,{size:10,weight:"bold","aria-hidden":"true"}),c]});case"failed":return(0,L.jsx)("span",{style:{...d,background:"rgba(239,68,68,0.12)",color:"#dc2626"},children:c});default:return(0,L.jsx)("span",{style:{...d,background:"var(--bg-hover)",color:"var(--text-muted)"},children:c})}}function wS({task:a}){let b=a.preflight;if(!b||"review"!==a.status)return null;let c="passed"===b.status?{background:"rgba(16,185,129,0.12)",color:"#059669"}:"failed"===b.status?{background:"rgba(239,68,68,0.12)",color:"#dc2626"}:{background:"var(--bg-hover)",color:"var(--text-muted)"};return(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,padding:"1px 6px",fontSize:10,fontWeight:500,lineHeight:1.5,maxWidth:"100%",...c},title:b.command,children:["running"===b.status?(0,L.jsx)(wM,{size:10,style:{animation:"pi-spin 1s linear infinite"},"aria-hidden":"true"}):"passed"===b.status?(0,L.jsx)(p2,{size:10,"aria-hidden":"true"}):(0,L.jsx)(s0,{size:10,"aria-hidden":"true"}),(0,L.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b.command})]})}function wT({task:a,folderName:b,now:c,onOpen:d,onStart:e,onCancel:f,onRetry:g,onRequeue:h,onViewSession:i,onMerge:j,onArchive:k,onEdit:l}){let{t:m}=(0,aK.s)(),n=null!=a.archivedAt,o="running"===a.status||"awaiting_input"===a.status||"merging"===a.status,p=null!=a.filesChanged&&a.filesChanged>0?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontFamily:"var(--font-mono)",fontSize:10},children:[(0,L.jsxs)("span",{style:{color:"#059669"},children:["+",a.additions??0]}),(0,L.jsxs)("span",{style:{color:"#dc2626"},children:["-",a.deletions??0]})]}):null,q=function(a,b){if(!a)return"";let c=new Date(a).getTime();if(Number.isNaN(c))return"";let d=Math.floor(Math.max(0,b-c)/6e4);if(d<1)return"now";if(d<60)return`${d}m`;let e=Math.floor(d/60);if(e<24)return`${e}h`;let f=Math.floor(e/24);return`${f}d`}(a.finishedAt??a.settledAt??a.startedAt??a.createdAt,c),{primary:r,more:s}=(()=>{let b=[],c=null;if(n)return{primary:c={icon:s4,label:m("tasks.actionUnarchive"),onClick:k},more:b};switch(a.status){case"todo":c={icon:wF,label:m("tasks.actionStart"),onClick:e},b.push({icon:qV,label:m("tasks.actionEdit"),onClick:l});break;case"queued":case"preparing":case"running":case"awaiting_input":c={icon:wO,label:m("tasks.actionCancel"),onClick:f};break;case"review":c=wH(a)?{icon:_,label:m("tasks.actionComplete"),onClick:j}:{icon:wQ,label:m("tasks.actionMerge"),onClick:j};break;case"merging":break;case"failed":c={icon:at,label:m("tasks.actionRetry"),onClick:g},b.push({icon:qV,label:m("tasks.actionEdit"),onClick:l}),b.push({icon:s4,label:m("tasks.actionArchive"),onClick:k});break;case"done":c={icon:s4,label:m("tasks.actionArchive"),onClick:k};break;case"canceled":c={icon:p4,label:m("tasks.actionRequeue"),onClick:h},b.push({icon:s4,label:m("tasks.actionArchive"),onClick:k})}return{primary:c,more:b}})(),t=[...s];return null!=a.conversationId&&t.push({icon:p0,label:m("tasks.actionViewSession"),onClick:i}),(0,L.jsxs)("div",{role:"button",tabIndex:0,onClick:d,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),d())},style:{display:"flex",flexDirection:"column",cursor:"pointer",borderRadius:12,border:"1px solid color-mix(in srgb, var(--border) 85%, transparent)",background:"var(--bg-panel)",padding:12,textAlign:"left",transition:"border-color 0.12s",opacity:n?.6:1,boxShadow:"0 1px 2px rgba(0,0,0,0.04)"},className:"task-card-hover",onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="color-mix(in srgb, var(--border) 85%, transparent)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8},children:[(0,L.jsx)("span",{style:{minWidth:0,overflowWrap:"break-word",fontSize:13,fontWeight:500,lineHeight:1.4},children:a.title}),(0,L.jsx)(wR,{task:a})]}),(0,L.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"2px 6px",marginTop:6,fontSize:11,color:"var(--text-muted)"},children:[b?(0,L.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b}):null,b&&a.workBranch?(0,L.jsx)("span",{style:{opacity:.5},children:"/"}):null,a.workBranch?(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:180},children:a.workBranch}):null,(b||a.workBranch)&&(p||q)?(0,L.jsx)("span",{style:{opacity:.5},children:"\xb7"}):null,p,p&&q?(0,L.jsx)("span",{style:{opacity:.5},children:"\xb7"}):null,q?(0,L.jsx)("span",{style:{flexShrink:0},children:q}):null,(0,L.jsx)(wS,{task:a})]}),a.lastError&&("failed"===a.status||"review"===a.status)?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:8,borderRadius:8,background:"rgba(239,68,68,0.08)",padding:"6px 8px",fontSize:11,color:"#dc2626"},children:[(0,L.jsx)(pB,{size:13,style:{flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.lastError}),(0,L.jsx)("button",{type:"button",style:{flexShrink:0,fontWeight:600,background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:11,textDecoration:"underline"},onClick:a=>{a.stopPropagation(),d()},children:m("tasks.errorView")})]}):null,"review"===a.status&&a.resultSummary?(0,L.jsx)("p",{style:{margin:"6px 0 0",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",fontSize:11,lineHeight:1.5,color:"var(--text-muted)"},children:a.resultSummary}):null,o&&a.latestProgress?(0,L.jsx)("p",{style:{margin:"6px 0 0",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",fontStyle:"italic"},children:a.latestProgress}):null,r||t.length>0?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:12,paddingTop:12,borderTop:"1px solid var(--border)"},children:[r?(0,L.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),r.onClick()},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 10px",borderRadius:7,background:"var(--accent)",color:"#fff",border:"none",cursor:"pointer",fontSize:11,fontWeight:600},children:[(0,L.jsx)(r.icon,{size:12,weight:"bold","aria-hidden":"true"}),r.label]}):null,(0,L.jsx)("div",{style:{flex:1}}),t.map(a=>(0,L.jsx)("button",{type:"button",title:a.label,"aria-label":a.label,onClick:b=>{b.stopPropagation(),a.onClick()},style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,borderRadius:999,background:"none",border:"1px solid var(--border)",color:"var(--text-muted)",cursor:"pointer",opacity:0,transition:"opacity 0.12s, background 0.12s, color 0.12s"},className:"task-card-secondary",onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsx)(a.icon,{size:13,"aria-hidden":"true"})},a.label))]}):null]})}function wU({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(!1);if(!a||!c)return null;let j=async()=>{if(!h){i(!0);try{await (0,rj.oQ)(c.id,c.projectRoot,"cancel",{reason:f.trim()||null}),b(!1),e()}catch(a){console.error("cancel failed",a)}finally{i(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.cancelTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:d("tasks.cancelDescription")}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:d("tasks.cancelReasonLabel")}),(0,L.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:d("tasks.cancelReasonPlaceholder"),rows:3,autoFocus:!0,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit",resize:"vertical"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:h,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("tasks.cancelKeep")}),(0,L.jsx)("button",{type:"button",onClick:()=>void j(),disabled:h,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.cancelSubmit")})]})]})]})})}function wV({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(!1),j=c?.worktreePath!=null;if(!a||!c)return null;let k=async()=>{if(!h){i(!0);try{await (0,rj.ZX)(c.id,c.projectRoot,j&&f),b(!1),e()}catch(a){console.error("complete failed",a)}finally{i(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.completeTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:d("tasks.completeDescription")}),j?(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:f,onChange:a=>g(a.target.checked),style:{accentColor:"var(--accent)"}}),d("tasks.completeDeleteWorktree")]}):null,(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:h,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void k(),disabled:h,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.completeSubmit")})]})]})]})})}wQ.displayName="GitMergeIcon";let wW=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M244,116H186.79a60,60,0,0,0-117.58,0H12a12,12,0,0,0,0,24H69.21a60,60,0,0,0,117.58,0H244a12,12,0,0,0,0-24ZM128,164a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M176,128a48,48,0,1,1-48-48A48,48,0,0,1,176,128Z",opacity:"0.2"}),M.createElement("path",{d:"M248,120H183.42a56,56,0,0,0-110.84,0H8a8,8,0,0,0,0,16H72.58a56,56,0,0,0,110.84,0H248a8,8,0,0,0,0-16ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M256,128a8,8,0,0,1-8,8H183.42a56,56,0,0,1-110.84,0H8a8,8,0,0,1,0-16H72.58a56,56,0,0,1,110.84,0H248A8,8,0,0,1,256,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,122H181.66a54,54,0,0,0-107.32,0H8a6,6,0,0,0,0,12H74.34a54,54,0,0,0,107.32,0H248a6,6,0,0,0,0-12ZM128,170a42,42,0,1,1,42-42A42,42,0,0,1,128,170Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,120H183.42a56,56,0,0,0-110.84,0H8a8,8,0,0,0,0,16H72.58a56,56,0,0,0,110.84,0H248a8,8,0,0,0,0-16ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,124H179.83a52,52,0,0,0-103.66,0H8a4,4,0,0,0,0,8H76.17a52,52,0,0,0,103.66,0H248a4,4,0,0,0,0-8ZM128,172a44,44,0,1,1,44-44A44.05,44.05,0,0,1,128,172Z"}))]]),wX=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wW}));wX.displayName="GitCommitIcon";let wY=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,148a12,12,0,0,0-12,12v19L69.17,148.2A4,4,0,0,1,68,145.37V97.94a36,36,0,1,0-24,0v47.43a27.81,27.81,0,0,0,8.2,19.8L83,196H64a12,12,0,0,0,0,24h48a12,12,0,0,0,12-12V160A12,12,0,0,0,112,148ZM56,52A12,12,0,1,1,44,64,12,12,0,0,1,56,52ZM212,158.06V110.63a27.81,27.81,0,0,0-8.2-19.8L173,60h19a12,12,0,0,0,0-24H144a12,12,0,0,0-12,12V96a12,12,0,0,0,24,0V77l30.83,30.83a4,4,0,0,1,1.17,2.83v47.43a36,36,0,1,0,24,0ZM200,204a12,12,0,1,1,12-12A12,12,0,0,1,200,204Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M80,64A24,24,0,1,1,56,40,24,24,0,0,1,80,64ZM200,168a24,24,0,1,0,24,24A24,24,0,0,0,200,168Z",opacity:"0.2"}),M.createElement("path",{d:"M112,152a8,8,0,0,0-8,8v28.69L66.34,151A8,8,0,0,1,64,145.37V95a32,32,0,1,0-16,0v50.38a23.85,23.85,0,0,0,7,17L92.69,200H64a8,8,0,0,0,0,16h48a8,8,0,0,0,8-8V160A8,8,0,0,0,112,152ZM40,64A16,16,0,1,1,56,80,16,16,0,0,1,40,64Zm168,97V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H144a8,8,0,0,0-8,8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Zm-8,47a16,16,0,1,1,16-16A16,16,0,0,1,200,208Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M118.18,213.08c-.11.14-.24.27-.36.4l-.16.18-.17.15a4.83,4.83,0,0,1-.42.37,3.92,3.92,0,0,1-.32.25l-.3.22-.38.23a2.91,2.91,0,0,1-.3.17l-.37.19-.34.15-.36.13a2.84,2.84,0,0,1-.38.13l-.36.1c-.14,0-.26.07-.4.09l-.42.07-.35.05a7,7,0,0,1-.79,0H64a8,8,0,0,1,0-16H92.69L55,162.34a23.85,23.85,0,0,1-7-17V95a32,32,0,1,1,16,0v50.38A8,8,0,0,0,66.34,151L104,188.69V160a8,8,0,0,1,16,0v48a7,7,0,0,1,0,.8c0,.11,0,.21,0,.32s0,.3-.07.46a2.83,2.83,0,0,1-.09.37c0,.13-.06.26-.1.39s-.08.23-.12.35l-.14.39-.15.31c-.06.13-.12.27-.19.4s-.11.18-.16.28l-.24.39-.21.28ZM208,161V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H143.82l-.6,0c-.14,0-.28,0-.41.06l-.37,0-.43.11-.33.08-.4.14-.34.13-.35.16-.36.18a3.14,3.14,0,0,0-.31.18c-.12.07-.25.14-.36.22a3.55,3.55,0,0,0-.31.23,3.81,3.81,0,0,0-.32.24c-.15.12-.28.24-.42.37l-.17.15-.16.18c-.12.13-.25.26-.36.4l-.26.35-.21.28-.24.39c-.05.1-.11.19-.16.28s-.13.27-.19.4l-.15.31-.14.39c0,.12-.09.23-.12.35s-.07.26-.1.39a2.83,2.83,0,0,0-.09.37c0,.16,0,.31-.07.46s0,.21-.05.32a7,7,0,0,0,0,.8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,154a6,6,0,0,0-6,6v33.52L64.93,152.44A9.93,9.93,0,0,1,62,145.37v-52a30,30,0,1,0-12,0v52a21.88,21.88,0,0,0,6.44,15.56L97.52,202H64a6,6,0,0,0,0,12h48a6,6,0,0,0,6-6V160A6,6,0,0,0,112,154ZM38,64A18,18,0,1,1,56,82,18,18,0,0,1,38,64Zm168,98.6v-52a21.88,21.88,0,0,0-6.44-15.56L158.48,54H192a6,6,0,0,0,0-12H144a6,6,0,0,0-6,6V96a6,6,0,0,0,12,0V62.48l41.07,41.08a9.93,9.93,0,0,1,2.93,7.07v52a30,30,0,1,0,12,0ZM200,210a18,18,0,1,1,18-18A18,18,0,0,1,200,210Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,152a8,8,0,0,0-8,8v28.69L66.34,151A8,8,0,0,1,64,145.37V95a32,32,0,1,0-16,0v50.38a23.85,23.85,0,0,0,7,17L92.69,200H64a8,8,0,0,0,0,16h48a8,8,0,0,0,8-8V160A8,8,0,0,0,112,152ZM40,64A16,16,0,1,1,56,80,16,16,0,0,1,40,64Zm168,97V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H144a8,8,0,0,0-8,8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Zm-8,47a16,16,0,1,1,16-16A16,16,0,0,1,200,208Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,156a4,4,0,0,0-4,4v38.34L63.51,153.86A12,12,0,0,1,60,145.37V91.71a28,28,0,1,0-8,0v53.66a19.85,19.85,0,0,0,5.86,14.14L102.34,204H64a4,4,0,0,0,0,8h48a4,4,0,0,0,4-4V160A4,4,0,0,0,112,156ZM36,64A20,20,0,1,1,56,84,20,20,0,0,1,36,64ZM204,164.29V110.63a19.85,19.85,0,0,0-5.86-14.14L153.66,52H192a4,4,0,0,0,0-8H144a4,4,0,0,0-4,4V96a4,4,0,0,0,8,0V57.66l44.49,44.48a12,12,0,0,1,3.51,8.49v53.66a28,28,0,1,0,8,0ZM200,212a20,20,0,1,1,20-20A20,20,0,0,1,200,212Z"}))]]),wZ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wY}));function w$({open:a,onOpenChange:b,task:c,onViewSession:d,onMerge:e,onEdit:f,onCancel:g,onRetry:h,onRequeue:i,onComplete:j}){let{t:k}=(0,aK.s)(),{refetch:l}=wx(),[m,n]=(0,M.useState)([]),[o,p]=(0,M.useState)([]),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(null),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)(!1),[y,z]=(0,M.useState)(""),[A,B]=(0,M.useState)(!1),[C,D]=(0,M.useState)(!1),[E,F]=(0,M.useState)(!1),G=c?.id??null,H=c?.projectRoot??null;(0,M.useCallback)(async()=>{if(null==G||null==H)return;let[a,b]=await Promise.all([(0,rj.HB)(H,G).catch(()=>[]),c?.worktreePath?(0,rj.JH)(H,G).then(a=>a.files).catch(()=>[]):Promise.resolve([])]);n(a),p(b)},[G,H,c?.worktreePath]);let I=(0,M.useCallback)(async a=>{F(!0);try{await a()}catch(a){console.error("detail action failed",a)}finally{F(!1),l()}},[l]),J=(0,M.useCallback)(async a=>{if(null!=H&&null!=G){v(!0);try{let b=await (0,rj.h)(H,G,a);t(b.supported&&b.patch?b.patch:null)}catch{t(null)}finally{v(!1)}}},[H,G]),K=async()=>{null!=c&&null!=H&&(await I(()=>(0,rj.bH)(c.id,H,C)),b(!1))},N=async()=>{null!=c&&null!=H&&y.trim()&&(await I(()=>(0,rj.in)(c.id,H,y.trim())),x(!1),z(""))};if(!a||null==c||null==H)return null;let O=[];if(null==c.archivedAt)switch(c.status){case"todo":O.push({label:k("tasks.actionStart"),icon:wF,onClick:()=>void I(()=>(0,rj.oQ)(c.id,H,"start")),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:qV,onClick:()=>f(c)});break;case"queued":case"preparing":case"running":case"awaiting_input":O.push({label:k("tasks.actionCancel"),icon:wO,onClick:()=>g(c),danger:!0});break;case"review":O.push({label:wH(c)?k("tasks.actionComplete"):k("tasks.actionMerge"),icon:wH(c)?_:wX,onClick:()=>wH(c)?j(c):e(c),filled:!0}),O.push({label:k("tasks.actionReturn"),icon:p4,onClick:()=>x(!0)});break;case"failed":O.push({label:k("tasks.actionRetry"),icon:at,onClick:()=>h(c),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:qV,onClick:()=>f(c)});break;case"done":O.push({label:k("tasks.actionArchive"),icon:s4,onClick:()=>void I(()=>(0,rj.et)(c.id,H,!0))});break;case"canceled":O.push({label:k("tasks.actionRequeue"),icon:p4,onClick:()=>i(c),filled:!0})}else O.push({label:k("tasks.actionUnarchive"),icon:s4,onClick:()=>void I(()=>(0,rj.et)(c.id,H,!1))});return null!=c.conversationId&&O.push({label:k("tasks.actionViewSession"),icon:p0,onClick:()=>d(c)}),(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:800,background:"rgba(0,0,0,0.35)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{position:"absolute",top:0,right:0,bottom:0,width:"min(480px, 90vw)",background:"var(--bg-panel)",borderLeft:"1px solid var(--border)",display:"flex",flexDirection:"column",boxShadow:"-8px 0 32px rgba(0,0,0,0.2)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,padding:"16px 16px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:600,lineHeight:1.4,overflowWrap:"break-word"},children:c.title}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:6},children:[(0,L.jsx)(wR,{task:c}),c.workBranch?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-muted)"},children:[(0,L.jsx)(aj,{size:12,"aria-hidden":"true"}),c.workBranch]}):null]})]}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":k("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex",flexShrink:0},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,padding:"14px 16px 0"},children:O.map(a=>{let b,c;return(0,L.jsxs)("button",{type:"button",onClick:a.onClick,disabled:E,style:(b=a.filled,c=a.danger,{display:"inline-flex",alignItems:"center",gap:5,padding:"7px 12px",borderRadius:8,fontSize:12,fontWeight:600,cursor:"pointer",background:b?"var(--accent)":c?"rgba(239,68,68,0.1)":"var(--bg-hover)",color:b?"#fff":c?"#dc2626":"var(--text)",border:b||c?"none":"1px solid var(--border)"}),children:[(0,L.jsx)(a.icon,{size:13,weight:"bold","aria-hidden":"true"}),a.label]},a.label)})}),w&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,padding:"12px 16px 0"},children:[(0,L.jsx)("textarea",{value:y,onChange:a=>z(a.target.value),placeholder:k("tasks.returnPlaceholder"),rows:3,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:12,resize:"vertical",fontFamily:"inherit"}}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[(0,L.jsx)("button",{type:"button",onClick:()=>x(!1),style:{padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:k("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void N(),disabled:!y.trim(),style:{padding:"6px 14px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:k("tasks.returnSubmit")})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"14px 16px 0",fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaProject")}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11},children:c.projectRoot})]}),c.createdAt?(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaCreated")}),(0,L.jsx)("span",{children:new Date(c.createdAt).toLocaleString()})]}):null,c.mergeCommit?(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaCommit")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:c.mergeCommit})]}):null]}),o.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,padding:"14px 16px 0"},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:k("tasks.changedFiles")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2,maxHeight:140,overflowY:"auto"},children:o.map(a=>(0,L.jsxs)("button",{type:"button",onClick:()=>{var b;r(b=a.file),t(null),J(b)},style:{display:"flex",alignItems:"center",gap:8,textAlign:"left",padding:"4px 6px",borderRadius:6,background:"none",border:"none",color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(wZ,{size:13,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11},children:a.file}),(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"#059669",flexShrink:0},children:["+",a.additions]}),(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"#dc2626",flexShrink:0},children:["-",a.deletions]})]},a.file))})]}),null!=q&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"12px 16px 0",minHeight:0,flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)"},children:k("tasks.diff")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:q}),(0,L.jsx)("button",{type:"button",onClick:()=>r(null),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:2,display:"flex"},children:(0,L.jsx)(X,{size:12,"aria-hidden":"true"})})]}),u?(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",padding:8},children:k("tasks.loading")}):s?(0,L.jsx)("pre",{style:{margin:0,maxHeight:200,overflow:"auto",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10,fontSize:11,lineHeight:1.5,fontFamily:"var(--font-mono)",color:"var(--text-muted)",whiteSpace:"pre"},children:s.split("\n").map((a,b)=>{let c;return a.startsWith("+")&&!a.startsWith("+++")?c="#059669":a.startsWith("-")&&!a.startsWith("---")?c="#dc2626":a.startsWith("@@")&&(c="var(--accent)"),(0,L.jsx)("div",{style:{color:c},children:a||" "},b)})}):(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",padding:8},children:k("tasks.noDiff")})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,padding:"14px 16px 0",flex:1,minHeight:0},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:k("tasks.timeline")}),(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",paddingBottom:8},children:0===m.length?(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",padding:8},children:k("tasks.noEvents")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[...m].reverse().map(a=>{var b;let c,d;return(0,L.jsxs)("div",{style:{display:"flex",gap:8,padding:"4px 6px",borderRadius:6,fontSize:11},children:[(0,L.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10,paddingTop:1},children:new Date(a.createdAt).toLocaleTimeString()}),(0,L.jsx)("span",{style:{color:"var(--text)",flexShrink:0,fontWeight:500},children:(b=a.kind,(d=k(c=`tasks.event_${b}`))===c?b:d)}),a.payload?.feedback?(0,L.jsx)("span",{style:{color:"var(--text-muted)",fontStyle:"italic",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:String(a.payload.feedback)}):null]},a.id)})})})]}),(0,L.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 16px",borderTop:"1px solid var(--border)",flexShrink:0},children:A?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:12,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:C,onChange:a=>D(a.target.checked),style:{accentColor:"var(--accent)"}}),k("tasks.deleteWorktree")]}),(0,L.jsx)("button",{type:"button",onClick:()=>B(!1),style:{padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:k("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void K(),disabled:E,style:{padding:"6px 14px",borderRadius:8,background:"#dc2626",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:k("tasks.deleteConfirm")})]}):(0,L.jsxs)("button",{type:"button",onClick:()=>B(!0),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"#dc2626",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(av,{size:13,"aria-hidden":"true"}),k("tasks.delete")]})})]})})}wZ.displayName="GitDiffIcon";let w_=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,28H72A20,20,0,0,0,52,48V224a12,12,0,0,0,18.36,10.18l57.63-36,57.65,36A12,12,0,0,0,204,224V48A20,20,0,0,0,184,28Zm-4,174.35-45.65-28.53a12,12,0,0,0-12.72,0L76,202.35V52H180Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M192,48V224l-64-40L64,224V48a8,8,0,0,1,8-8H184A8,8,0,0,1,192,48Z",opacity:"0.2"}),M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Zm0,177.57-51.77-32.35a8,8,0,0,0-8.48,0L72,209.57V48H184Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,34H72A14,14,0,0,0,58,48V224a6,6,0,0,0,9.18,5.09l60.81-38,60.83,38A6,6,0,0,0,198,224V48A14,14,0,0,0,184,34Zm2,179.17-54.83-34.26a6,6,0,0,0-6.36,0L70,213.17V48a2,2,0,0,1,2-2H184a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Zm0,177.57-51.77-32.35a8,8,0,0,0-8.48,0L72,209.57V48H184Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,36H72A12,12,0,0,0,60,48V224a4,4,0,0,0,6.12,3.39L128,188.72l61.89,38.67A4,4,0,0,0,192,228a4.06,4.06,0,0,0,1.94-.5A4,4,0,0,0,196,224V48A12,12,0,0,0,184,36Zm4,180.78-57.89-36.17a4,4,0,0,0-4.24,0L68,216.78V48a4,4,0,0,1,4-4H184a4,4,0,0,1,4,4Z"}))]]),w0=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:w_}));function w1({open:a,onOpenChange:b,task:c,defaultProject:d,projects:e,prefillTitle:f,prefillPrompt:g,onSubmit:h}){let{t:i}=(0,aK.s)(),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(""),[n,o]=(0,M.useState)(""),[p,q]=(0,M.useState)([]),[r,s]=(0,M.useState)(""),[t,u]=(0,M.useState)(!1);if((0,M.useRef)(!1),!a)return null;let v=async()=>{if(j&&l.trim()&&!t){u(!0);try{await h(j,l.trim(),{prompt:n.trim(),agentType:c?.config?.agentType??null,modelId:c?.config?.modelId??null,thinkingLevel:c?.config?.thinkingLevel??null}),b(!1)}catch(a){console.error("submit task failed",a)}finally{u(!1)}}},w=async()=>{if(r.trim()&&l.trim())try{await (0,rj.nY)({name:r.trim(),title:l.trim(),config:{prompt:n.trim()}}),s(""),(0,rj.VB)().then(q).catch(()=>void 0)}catch(a){console.error("save template failed",a)}},x=async a=>{try{await (0,rj.B_)(a),(0,rj.VB)().then(q).catch(()=>void 0)}catch(a){console.error("delete template failed",a)}},y={width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none"};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:900,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(520px, calc(100vw - 48px))",maxHeight:"80vh",overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:c?i("tasks.editTitle"):i("tasks.newTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":i("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[p.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:i("tasks.templates")}),(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:p.map(a=>(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,background:"var(--bg-hover)",padding:"3px 8px",fontSize:11},children:[(0,L.jsx)("button",{type:"button",onClick:()=>{m(a.title),o(a.config?.prompt??"")},style:{background:"none",border:"none",cursor:"pointer",color:"var(--text)",fontSize:11,padding:0},children:a.name}),(0,L.jsx)("button",{type:"button",onClick:()=>void x(a.id),"aria-label":i("tasks.deleteTemplate"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-dim)",padding:0,display:"flex"},children:(0,L.jsx)(av,{size:10,"aria-hidden":"true"})})]},a.id))})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldProject")}),(0,L.jsx)("select",{value:j,onChange:a=>k(a.target.value),style:y,children:e.map(a=>(0,L.jsx)("option",{value:a,children:a.split("/").filter(Boolean).pop()??a},a))})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldTitle")}),(0,L.jsx)("input",{value:l,onChange:a=>m(a.target.value),placeholder:i("tasks.fieldTitlePlaceholder"),style:y,autoFocus:!0})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldPrompt")}),(0,L.jsx)("textarea",{value:n,onChange:a=>o(a.target.value),placeholder:i("tasks.fieldPromptPlaceholder"),rows:6,style:{...y,resize:"vertical",fontFamily:"inherit",lineHeight:1.5}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("input",{value:r,onChange:a=>s(a.target.value),placeholder:i("tasks.templateNamePlaceholder"),style:{...y,flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:()=>void w(),disabled:!r.trim()||!l.trim(),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"8px 12px",borderRadius:8,background:"var(--bg-hover)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(w0,{size:13,"aria-hidden":"true"}),i("tasks.saveAsTemplate")]})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:i("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void v(),disabled:!j||!l.trim()||t,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:i("tasks.save")})]})]})]})})}function w2({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(!1);if(!a||!c)return null;let n=async()=>{if((f||h.trim())&&!l){m(!0);try{await (0,rj.oB)(c.id,c.projectRoot,f?null:h.trim(),j),b(!1),e()}catch(a){console.error("merge failed",a)}finally{m(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.mergeTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"radio",checked:f,onChange:()=>g(!0),style:{accentColor:"var(--accent)"}}),d("tasks.mergeAutoMessage")]}),(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"radio",checked:!f,onChange:()=>g(!1),style:{accentColor:"var(--accent)"}}),d("tasks.mergeManualMessage")]}),!f&&(0,L.jsx)("input",{value:h,onChange:a=>i(a.target.value),placeholder:d("tasks.mergeMessagePlaceholder"),style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit"}}),(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:j,onChange:a=>k(a.target.checked),style:{accentColor:"var(--accent)"}}),d("tasks.mergeDeleteWorktree")]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void n(),disabled:!f&&!h.trim()||l,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.mergeConfirm")})]})]})]})})}function w3({open:a,onOpenChange:b,task:c,kind:d}){let{t:e}=(0,aK.s)(),{refetch:f}=wx(),[g,h]=(0,M.useState)(""),[i,j]=(0,M.useState)(!1);if(!a||!c)return null;let k="retry"===d,l=async()=>{if(!i){j(!0);try{await (0,rj.oQ)(c.id,c.projectRoot,d,{note:g.trim()||null}),b(!1),f()}catch(a){console.error("restart failed",a)}finally{j(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(480px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:e(k?"tasks.restartTitleRetry":"tasks.restartTitleRequeue")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":e("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:e("tasks.restartDescription")}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:e("tasks.actionAddNote")}),(0,L.jsx)("textarea",{value:g,onChange:a=>h(a.target.value),placeholder:e(k?"tasks.followUpPlaceholderRetry":"tasks.followUpPlaceholderRequeue"),rows:3,autoFocus:!0,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit",resize:"vertical"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:i,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:e("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void l(),disabled:i,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:e(k?"tasks.actionRetry":"tasks.actionRequeue")})]})]})]})})}w0.displayName="BookmarkSimpleIcon";let w4=["work","retry","return","merge"];function w5({open:a,onOpenChange:b,projectRoot:c}){let{t:d}=(0,aK.s)(),{projects:e}=wx(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(()=>wI()),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(!1);if(!a)return null;let n=(a,b)=>{i(c=>({...c,[a]:b}))},o=async()=>{if(f&&!l){m(!0);try{await (0,rj.eA)(f,h),k(!0),b(!1)}catch(a){console.error("save settings failed",a)}finally{m(!1)}}},p=async()=>{if(f)try{await (0,rj.E)(f),k(!1),i(wI())}catch(a){console.error("reset settings failed",a)}},q={width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"7px 10px",color:"var(--text)",fontSize:12,outline:"none",fontFamily:"inherit"},r={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 0",borderBottom:"1px solid var(--border)"};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:960,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(560px, calc(100vw - 48px))",maxHeight:"82vh",overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.settingsTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px 16px"},children:[(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500},children:d("tasks.settingsProject")}),(0,L.jsx)("select",{value:f,onChange:a=>g(a.target.value),style:q,children:e.map(a=>(0,L.jsx)("option",{value:a,children:a.split("/").filter(Boolean).pop()??a},a))})]}),f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsAutoProcess")}),(0,L.jsx)("input",{type:"checkbox",checked:h.autoProcess,onChange:a=>n("autoProcess",a.target.checked),style:{accentColor:"var(--accent)"}})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsMaxConcurrent")}),(0,L.jsx)("input",{type:"number",min:0,value:h.maxConcurrent,onChange:a=>n("maxConcurrent",Math.max(0,Number(a.target.value)||0)),style:{...q,width:90}})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsMergeStrategy")}),(0,L.jsxs)("select",{value:h.mergeStrategy,onChange:a=>n("mergeStrategy",a.target.value),style:{...q,width:140},children:[(0,L.jsx)("option",{value:"merge",children:d("tasks.mergeStrategyMerge")}),(0,L.jsx)("option",{value:"squash",children:d("tasks.mergeStrategySquash")})]})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsDeleteWorktree")}),(0,L.jsx)("input",{type:"checkbox",checked:h.deleteWorktreeDefault,onChange:a=>n("deleteWorktreeDefault",a.target.checked),style:{accentColor:"var(--accent)"}})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsPreflightCommand")}),(0,L.jsx)("input",{value:h.preflightCommand??"",onChange:a=>n("preflightCommand",a.target.value||null),placeholder:d("tasks.settingsPreflightPlaceholder"),style:{...q,fontFamily:"var(--font-mono)",fontSize:11}})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsInitCommand")}),(0,L.jsx)("input",{value:h.initCommand??"",onChange:a=>n("initCommand",a.target.value||null),placeholder:d("tasks.settingsInitPlaceholder"),style:{...q,fontFamily:"var(--font-mono)",fontSize:11}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,paddingTop:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500},children:d("tasks.settingsStagePrompts")}),w4.map(a=>(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:d(`tasks.stage.${a}`)}),(0,L.jsx)("input",{value:h.stagePrompts?.[a]??"",onChange:b=>n("stagePrompts",{...h.stagePrompts??{},[a]:b.target.value}),style:{...q,fontSize:11}})]},a))]}),j&&(0,L.jsx)("button",{type:"button",onClick:()=>void p(),style:{alignSelf:"flex-start",padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text-muted)",fontSize:12,cursor:"pointer"},children:d("tasks.settingsReset")})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",padding:8},children:d("tasks.settingsNoProject")}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void o(),disabled:!f||l,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.save")})]})]})]})})}function w6({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)();return a&&c?(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:970,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(520px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.sessionTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px 16px",fontSize:12},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10},children:[(0,L.jsx)("span",{style:{color:"var(--text-muted)"},children:d("tasks.sessionId")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:c.conversationId??"—"})]}),c.sessionFile?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10},children:[(0,L.jsx)("span",{style:{color:"var(--text-muted)"},children:d("tasks.sessionFile")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:c.sessionFile})]}):null,(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6},children:d("tasks.sessionHint")}),(0,L.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("i18n.close")})})]})]})}):null}let w7="__all__",w8={showCanceled:!1,showArchived:!1};function w9(){let{t:a}=(0,aK.s)(),{attentionCount:b}=wx();return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,height:36,flexShrink:0,padding:"0 16px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,L.jsxs)("h1",{style:{margin:0,display:"flex",alignItems:"center",gap:6,fontSize:13,fontWeight:600},children:[(0,L.jsx)(u$,{size:15,color:"var(--text-muted)","aria-hidden":"true"}),a("tasks.title"),(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 8px",fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Beta"})]}),b>0?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,background:"rgba(239,68,68,0.12)",color:"#dc2626",padding:"1px 8px",fontSize:10,fontWeight:700},children:[b," ",a("tasks.attentionBadge")]}):null,(0,L.jsx)("div",{style:{flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:()=>window.dispatchEvent(new Event("pi:open-task-settings")),style:{display:"inline-flex",alignItems:"center",gap:5,height:26,padding:"0 10px",borderRadius:7,background:"none",border:"none",color:"var(--text-muted)",fontSize:12,cursor:"pointer"},title:a("tasks.settingsTitle"),children:[(0,L.jsx)(wB,{size:13,"aria-hidden":"true"}),a("tasks.settingsTitle")]})]})}function xa({activeProject:a}){let{t:b}=(0,aK.s)(),{tasks:d,projects:e,refetch:f}=wx(),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(()=>(function(){try{let a=window.localStorage.getItem("pi-tasks-board-filter");if(a){let b=JSON.parse(a);return{showCanceled:b.showCanceled??!1,showArchived:b.showArchived??!1}}}catch{}return w8})()),[k,l]=(0,M.useState)(!1),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(!1),q=(0,M.useRef)(null),r=(0,M.useRef)({x:0,y:0}),s=(0,M.useRef)(null),t=(0,M.useRef)(null),[u,v]=(0,M.useState)(null),w=(0,M.useRef)(null);w.current=u;let x=(0,M.useRef)(!1),y=(0,M.useRef)(!1),[z,A]=(0,M.useState)(()=>Date.now()),[B,C]=(0,M.useState)(!1),[D,E]=(0,M.useState)(null),[F,G]=(0,M.useState)(null),[H,I]=(0,M.useState)(null),[J,K]=(0,M.useState)(null),[N,O]=(0,M.useState)(!1),[P,Q]=(0,M.useState)(null),[R,S]=(0,M.useState)(!1),[U,V]=(0,M.useState)(null),[W,X]=(0,M.useState)("retry"),[Y,Z]=(0,M.useState)(!1),[$,_]=(0,M.useState)(null),[aa,ab]=(0,M.useState)(!1),[ac,ad]=(0,M.useState)(!1),[ae,af]=(0,M.useState)(null),[ag,ai]=(0,M.useState)(!1),aj=(0,M.useMemo)(()=>null==g?d:d.filter(a=>a.projectRoot===g),[d,g]),ak=(0,M.useMemo)(()=>(function(a,b,c=!1){let d={todo:[],inProgress:[],attention:[],done:[]};for(let e of a)("canceled"!==e.status||b)&&(null==e.archivedAt||c)&&d[function(a){switch(a){case"todo":case"queued":return"todo";case"preparing":case"running":return"inProgress";case"awaiting_input":case"review":case"merging":case"failed":return"attention";case"done":case"canceled":return"done"}}(e.status)].push(e);for(let a of wG)d[a].sort((a,b)=>(b.updatedAt??"").localeCompare(a.updatedAt??""));return d})(aj,i.showCanceled,i.showArchived),[aj,i]),al=(0,M.useMemo)(()=>{let a=ak.todo;if(null==u)return a;let b=new Map(a.map(a=>[a.id,a])),c=u.flatMap(a=>b.get(a)??[]);for(let b of a)u.includes(b.id)||c.push(b);return c},[ak.todo,u]),am=(0,M.useMemo)(()=>d.find(a=>a.id===H)??null,[d,H]),an=(0,M.useMemo)(()=>d.find(a=>a.id===ae)??null,[d,ae]),ao=(0,M.useCallback)(async a=>{try{await a()}catch(a){console.error("task action failed",a)}finally{f()}},[f]),ap=(0,M.useCallback)(a=>{null!=a.conversationId&&(af(a.id),ai(!0))},[af,ai]),aq=(0,M.useCallback)(a=>{K(a),O(!0)},[K,O]),ar=(0,M.useCallback)(()=>{E(null),C(!0)},[E,C]),as=(0,M.useCallback)((a,b)=>{let c=s.current,d=q.current;c&&d&&(c.style.transform=`translate3d(${a-d.dx}px, ${b-d.dy}px, 0)`)},[]),at=a=>{let b=a.currentTarget.getBoundingClientRect();q.current={dx:a.clientX-b.left,dy:a.clientY-b.top,width:b.width}},au=(0,M.useCallback)(a=>{if(n(null),p(!1),a){x.current=!1;return}requestAnimationFrame(()=>{x.current=!1})},[n,p]);(0,M.useCallback)(()=>{y.current=!0,v(null),au(!0)},[au,v]);let av=(0,M.useCallback)((a,b,c)=>{if(y.current){au(!0),v(null);return}let e=t.current?.getBoundingClientRect(),h=null!=e&&b>=e.left&&b<=e.right&&c>=e.top&&c<=e.bottom;if(au(!1),h){v(null);let b=d.find(b=>b.id===a.id);b?.status==="todo"&&null!=g&&ao(()=>(0,rj.oQ)(a.id,a.projectRoot,"start"));return}let i=w.current;null!=g&&null!=i&&(async()=>{try{await (0,rj.Lu)(g,i)}catch(a){console.error("reorder failed",a)}await f(),v(null)})()},[ao,au,g,f,d]),aw=(0,M.useCallback)(()=>{ao(async()=>{let a=await (0,rj.a5)(g);a>0&&console.log(`started ${a} tasks`)})},[ao,g]),ax=(0,M.useCallback)(()=>{let a=ak.done.filter(a=>null==a.archivedAt);0!==a.length&&ao(()=>Promise.all(a.map(a=>(0,rj.et)(a.id,a.projectRoot,!0))))},[ao,ak.done]),ay=+(i.showCanceled!==w8.showCanceled)+ +(i.showArchived!==w8.showArchived),az=d.length>0,aA=(0,M.useMemo)(()=>{let b=new Set(e);return a&&b.add(a),[...b].sort()},[e,a]),aB=(0,M.useMemo)(()=>{let a=new Map;for(let b of aA)a.set(b,b.split("/").filter(Boolean).pop()??b);return a},[aA]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[az&&(0,L.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8,padding:"14px 16px 8px"},children:[(0,L.jsxs)("select",{value:g??w7,onChange:a=>h(a.target.value===w7?null:a.target.value),style:{height:30,borderRadius:999,padding:"0 10px",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,fontWeight:500,cursor:"pointer",maxWidth:"14rem"},"aria-label":b("tasks.allFolders"),children:[(0,L.jsx)("option",{value:w7,children:b("tasks.allFolders")}),aA.map(a=>(0,L.jsx)("option",{value:a,children:aB.get(a)??a},a))]}),(0,L.jsxs)("div",{style:{position:"relative"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 12px",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,fontWeight:500,cursor:"pointer"},children:[(0,L.jsx)(wD,{size:13,"aria-hidden":"true"}),b("tasks.filter"),ay>0?(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 6px",fontSize:10,fontWeight:700},children:ay}):null]}),k&&(0,L.jsx)("div",{style:{position:"absolute",top:34,left:0,zIndex:50,width:200,borderRadius:12,padding:6,background:"var(--bg-panel)",border:"1px solid var(--border)",boxShadow:"0 8px 24px rgba(0,0,0,0.16)"},children:[["showCanceled",b("tasks.showCanceled")],["showArchived",b("tasks.showArchived")]].map(([a,b])=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderRadius:8,cursor:"pointer",fontSize:12},children:[(0,L.jsx)("input",{type:"checkbox",checked:i[a],onChange:b=>j(c=>({...c,[a]:b.target.checked})),style:{accentColor:"var(--accent)"}}),b]},a))})]}),(0,L.jsx)("div",{style:{flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:aw,style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 12px",background:"none",border:"none",color:"var(--text)",fontSize:12,cursor:"pointer"},title:b("tasks.startAll"),children:[(0,L.jsx)(wF,{size:13,"aria-hidden":"true"}),b("tasks.startAll")]}),(0,L.jsxs)("button",{type:"button",onClick:ar,style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 14px",background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(ah,{size:13,weight:"bold","aria-hidden":"true"}),b("tasks.new")]})]}),az?(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowX:"auto"},children:(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:16,minWidth:"56rem",height:"100%",padding:"4px 16px 16px"},children:wJ.map(a=>{let c="todo"===a?al:ak[a],d=wK[a],e=a=>(0,L.jsx)(wT,{task:a,folderName:a.projectRoot?aB.get(a.projectRoot)??null:null,now:z,onOpen:()=>{x.current||I(a.id)},onStart:()=>void ao(()=>(0,rj.oQ)(a.id,a.projectRoot,"start")),onCancel:()=>{Q(a),S(!0)},onRetry:()=>{V(a),X("retry"),Z(!0)},onRequeue:()=>{V(a),X("requeue"),Z(!0)},onViewSession:()=>ap(a),onMerge:()=>{wH(a)?(_(a),ab(!0)):aq(a)},onArchive:()=>void ao(()=>(0,rj.et)(a.id,a.projectRoot,null==a.archivedAt)),onEdit:()=>{E(a),C(!0)}},a.id);return(0,L.jsxs)("div",{ref:"inProgress"===a?t:void 0,style:{display:"flex",flexDirection:"column",minHeight:0,gap:8},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,height:24,flexShrink:0,padding:"0 2px"},children:[(0,L.jsx)("span",{style:{width:3,height:14,borderRadius:999,background:d.marker,flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("h2",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:b(`tasks.col${a[0].toUpperCase()}${a.slice(1)}`)}),(0,L.jsx)("span",{style:{borderRadius:999,background:"var(--bg-hover)",padding:"1px 8px",fontSize:10,fontWeight:600,color:"var(--text-muted)"},children:c.length}),(0,L.jsx)("div",{style:{flex:1}}),"done"===a&&ak.done.some(a=>null==a.archivedAt)?(0,L.jsx)("button",{type:"button",onClick:ax,style:{background:"none",border:"none",cursor:"pointer",fontSize:11,color:"var(--text-muted)",padding:"2px 6px",borderRadius:6},children:b("tasks.archiveAllDone")}):null]}),0===c.length?(0,L.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,borderRadius:12,border:"1px dashed var(--border)",padding:16,textAlign:"center",..."inProgress"===a&&m?o?{borderColor:"var(--accent)",background:"rgba(37,99,235,0.08)"}:{borderColor:"var(--accent)"}:{}},children:(0,L.jsx)("p",{style:{fontSize:12,color:"var(--text-muted)"},children:b(`tasks.emptyCol${a[0].toUpperCase()}${a.slice(1)}`)})}):(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",borderRadius:12,transition:"background 0.15s, box-shadow 0.15s",..."inProgress"===a&&m?o?{background:"rgba(37,99,235,0.06)",boxShadow:"inset 0 0 0 2px var(--accent)"}:{boxShadow:"inset 0 0 0 1px rgba(37,99,235,0.25)"}:{}},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16,paddingBottom:4},children:c.map(b=>"todo"===a?(0,L.jsx)("div",{draggable:!0,onDragStart:a=>{var c,d;a.dataTransfer.effectAllowed="move",c=a.clientX,d=a.clientY,x.current=!0,y.current=!1,r.current={x:c,y:d},n({task:b,width:q.current?.width??280})},onDrag:a=>{var b,c;let d,e;return r.current={x:b=a.clientX,y:c=a.clientY},as(b,c),void((e=null!=(d=t.current?.getBoundingClientRect())&&b>=d.left&&b<=d.right&&c>=d.top&&c<=d.bottom)!==o&&p(e))},onDragEnd:a=>av(b,a.clientX,a.clientY),onPointerDown:at,style:{cursor:"grab",opacity:m?.task.id===b.id?.4:1},children:e(b)},b.id):(0,L.jsx)("div",{children:e(b)},b.id))})})]},a)})})}):(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,padding:32,textAlign:"center"},children:[(0,L.jsx)(u$,{size:40,color:"var(--text-dim)",opacity:.4,"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("p",{style:{fontSize:14,fontWeight:500,color:"var(--text)"},children:b("tasks.empty")}),(0,L.jsx)("p",{style:{maxWidth:320,fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:b("tasks.emptyHint")})]}),(0,L.jsxs)("button",{type:"button",onClick:ar,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"7px 14px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(ah,{size:13,weight:"bold","aria-hidden":"true"}),b("tasks.new")]})]}),(0,L.jsx)(w1,{open:B,onOpenChange:C,task:D,defaultProject:F?.projectRoot??g??a??null,projects:aA,prefillTitle:F?F.text.slice(0,80):void 0,prefillPrompt:F?F.text:void 0,onSubmit:async(a,b,d)=>{await ao(async()=>{let{createTaskApi:e}=await Promise.resolve().then(c.bind(c,85596)),{updateTaskApi:f}=await Promise.resolve().then(c.bind(c,85596));D?await f(D.id,a,{title:b,config:d}):await e({projectRoot:a,title:b,config:d})}),C(!1),G(null)}}),(0,L.jsx)(w$,{open:null!=H,onOpenChange:a=>{a||I(null)},task:am,onViewSession:ap,onMerge:aq,onEdit:a=>{E(a),C(!0)},onCancel:a=>{Q(a),S(!0)},onRetry:a=>{V(a),X("retry"),Z(!0)},onRequeue:a=>{V(a),X("requeue"),Z(!0)},onComplete:a=>{_(a),ab(!0)}}),(0,L.jsx)(w2,{open:N,onOpenChange:O,task:J}),(0,L.jsx)(wU,{open:R,onOpenChange:S,task:P}),(0,L.jsx)(w3,{open:Y,onOpenChange:Z,task:U,kind:W}),(0,L.jsx)(wV,{open:aa,onOpenChange:ab,task:$}),(0,L.jsx)(w6,{open:ag&&null!=an,onOpenChange:ai,task:an}),(0,L.jsx)(w5,{open:ac,onOpenChange:ad,projectRoot:g}),m?(0,T.createPortal)((0,L.jsx)("div",{ref:s,style:{position:"fixed",left:0,top:0,zIndex:999,pointerEvents:"none",width:m.width,willChange:"transform"},"aria-hidden":"true",children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,borderRadius:12,border:o?"1px solid var(--accent)":"1px solid var(--border)",background:"var(--bg-panel)",padding:12,boxShadow:"0 8px 24px rgba(0,0,0,0.2)",transform:"rotate(-1deg)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8},children:[(0,L.jsx)("span",{style:{minWidth:0,overflowWrap:"break-word",fontSize:13,fontWeight:500},children:m.task.title}),(0,L.jsx)(wR,{task:m.task})]}),o?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,fontWeight:600,color:"var(--accent)"},children:[(0,L.jsx)(wF,{size:11,weight:"bold","aria-hidden":"true"}),b("tasks.dropToStart")]}):null]})}),document.body):null]})}let xb=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,36H40A20,20,0,0,0,20,56V200a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A20,20,0,0,0,216,36ZM44,60H76V196H44ZM212,196H100V60H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88,48V208H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8Z",opacity:"0.2"}),M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM40,56H80V200H40ZM216,200H96V56H216V200Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,160H88V56H216V200Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,42H40A14,14,0,0,0,26,56V200a14,14,0,0,0,14,14H216a14,14,0,0,0,14-14V56A14,14,0,0,0,216,42ZM38,200V56a2,2,0,0,1,2-2H82V202H40A2,2,0,0,1,38,200Zm180,0a2,2,0,0,1-2,2H94V54H216a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM40,56H80V200H40ZM216,200H96V56H216V200Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,44H40A12,12,0,0,0,28,56V200a12,12,0,0,0,12,12H216a12,12,0,0,0,12-12V56A12,12,0,0,0,216,44ZM36,200V56a4,4,0,0,1,4-4H84V204H40A4,4,0,0,1,36,200Zm184,0a4,4,0,0,1-4,4H92V52H216a4,4,0,0,1,4,4Z"}))]]),xc=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:xb}));function xd({isDark:a,toggleTheme:b,translate:c}){let[d,e]=(0,M.useState)(!1),f=c(d?a?"desktop.switchToLight":"desktop.switchToDark":"desktop.switchToLight");return(0,L.jsx)("button",{className:"app-no-drag",suppressHydrationWarning:!0,onClick:a=>{let c=a.currentTarget.getBoundingClientRect();b({x:c.left+c.width/2,y:c.top+c.height/2})},title:f,"aria-label":f,"aria-pressed":!d||a,style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:d?a?(0,L.jsx)(uP,{size:16,"aria-hidden":"true"}):(0,L.jsx)(uN,{size:16,"aria-hidden":"true"}):(0,L.jsx)(uP,{size:16,"aria-hidden":"true"})})}function xe({topBarRef:a,sidebarOpen:b,onSidebarToggle:c,isDark:d,toggleTheme:e,isMobile:f,showTasks:g,tasksBoardEnabled:h,onToggleTasks:i,systemPrompt:j,activeTopPanel:k,topPanelPos:l,sessionStats:m,contextUsage:n,copiedSessionField:o,onCopySessionField:p,rightPanelOpen:q,onToggleFilePanel:r,onOpenSettings:s,sessionTitle:t,onWorkspaceControlsHostChange:u,onTitleRightHostChange:v}){let w,x,y,z,A,B,C,D,{t:E}=(0,aK.s)(),[F,G]=(0,M.useState)(!1);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{ref:a,className:"app-title-bar",style:{display:"flex",alignItems:"center",flexShrink:0,borderBottom:"1px solid var(--border)",height:36,background:"var(--bg-panel)",position:"relative",zIndex:600},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",minWidth:0,height:"100%",flex:"0 1 auto"},children:[(0,L.jsx)("button",{className:"app-no-drag",onClick:c,title:b?E("desktop.hideSidebar"):E("desktop.showSidebar"),"aria-label":b?E("desktop.hideSidebar"):E("desktop.showSidebar"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,flexShrink:0,background:b?"var(--bg-selected)":"none",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=b?"var(--bg-selected)":"none",a.currentTarget.style.color=b?"var(--text)":"var(--text-muted)"},children:b?(0,L.jsx)(xc,{size:16,"aria-hidden":"true"}):(0,L.jsx)(an,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("div",{className:"app-no-drag",ref:u,style:{flex:"0 1 auto",minWidth:0,maxWidth:"min(60vw, 820px)",height:"100%",display:"flex",alignItems:"center",padding:"0 8px 0 0",overflow:"visible"}})]}),(0,L.jsxs)("div",{className:"app-title-drag",style:{flex:1,minWidth:0,display:"flex",alignItems:"center",justifyContent:"center",height:"100%",padding:"0 12px",userSelect:"none"},children:[t&&(0,L.jsx)("button",{type:"button",onClick:()=>{f&&G(!0)},title:f?t:void 0,style:{display:"block",maxWidth:"100%",fontSize:12,fontWeight:500,color:"var(--text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:"none",border:"none",cursor:"pointer",padding:"2px 6px",borderRadius:5},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.background="none"},children:t}),(0,L.jsx)("div",{className:"app-no-drag",ref:v,style:{flexShrink:0,display:"flex",alignItems:"center",marginLeft:4}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",minWidth:0,height:"100%",flexShrink:0},children:[!f&&h&&(0,L.jsx)("button",{className:"app-no-drag",onClick:i,title:g?E("desktop.hideTaskBoard"):E("desktop.showTaskBoard"),"aria-label":g?E("desktop.hideTaskBoard"):E("desktop.showTaskBoard"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:g?"var(--bg-selected)":"none",border:"none",color:g?"var(--text)":"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=g?"var(--bg-selected)":"none",a.currentTarget.style.color=g?"var(--text)":"var(--text-muted)"},children:(0,L.jsx)(u$,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("button",{className:"app-no-drag",onClick:r,title:q?E("desktop.hideFilePanel"):E("desktop.showFilePanel"),"aria-label":q?E("desktop.hideFilePanel"):E("desktop.showFilePanel"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:q?"var(--bg-selected)":"none",border:"none",color:q?"var(--text)":"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=q?"var(--bg-selected)":"none",a.currentTarget.style.color=q?"var(--text)":"var(--text-muted)"},children:(0,L.jsx)(xc,{size:16,"aria-hidden":"true",style:{transform:"scaleX(-1)"}})}),(0,L.jsx)(xd,{isDark:d,toggleTheme:e,translate:E}),(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:s,title:E("desktop.settings"),"aria-label":E("desktop.settings"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsx)(wB,{size:16,"aria-hidden":"true"})})]})]}),k&&l&&(0,L.jsxs)("div",{style:{position:"fixed",top:l.top,left:l.left,width:l.width,maxHeight:`calc(100dvh - ${l.top}px)`,overflowY:"auto",zIndex:500},children:["system"===k&&(0,L.jsx)("div",{style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:j?(0,L.jsx)("div",{style:{maxHeight:"min(600px, 75vh)",overflowY:"auto",padding:"12px 16px",color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)"},children:j}):""===j?(0,L.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:"System prompt is empty (tools are disabled)"}):(0,L.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:"Send a message to load the system prompt"})}),"session"===k&&(0,L.jsx)("div",{style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)",boxShadow:"0 10px 28px rgba(0,0,0,0.10)",padding:"12px 16px"},children:m?(w=[...m.sessionName?[{label:E("desktop.name"),value:m.sessionName,copyField:null}]:[],{label:E("desktop.sessionInfoFile"),value:m.sessionFile??E("desktop.sessionInfoInMemory"),copyField:"file"},{label:E("desktop.sessionInfoId"),value:m.sessionId,copyField:"id"}],x=[[E("desktop.sessionInfoUser"),m.userMessages.toLocaleString()],[E("desktop.sessionInfoAssistant"),m.assistantMessages.toLocaleString()],[E("desktop.sessionInfoToolCalls"),m.toolCalls.toLocaleString()],[E("desktop.sessionInfoToolResults"),m.toolResults.toLocaleString()],[E("desktop.sessionInfoTotal"),m.totalMessages.toLocaleString()]],y=[[E("desktop.sessionInfoInput"),m.tokens.input.toLocaleString()],[E("desktop.sessionInfoOutput"),m.tokens.output.toLocaleString()],...m.tokens.cacheRead>0?[[E("desktop.sessionInfoCacheRead"),m.tokens.cacheRead.toLocaleString()]]:[],...m.tokens.cacheWrite>0?[[E("desktop.sessionInfoCacheWrite"),m.tokens.cacheWrite.toLocaleString()]]:[],[E("desktop.sessionInfoTotal"),m.tokens.total.toLocaleString()]],z=n??m.contextUsage,B=[...m.cost>0?[[E("desktop.sessionInfoCost"),`$${m.cost.toFixed(4)}`]]:[],...z?.contextWindow?[[E("desktop.sessionInfoContext"),`${null!==z.percent?`${z.percent.toFixed(1)}%`:"?"} / ${(A=z.contextWindow)>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${(A/1e3).toFixed(0)}k`:String(A)}`]]:[]],C=(a,b,c="left",d=!1)=>(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:a}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:d?"max-content max-content":"auto minmax(0, 1fr)",columnGap:d?14:12,rowGap:4,justifyContent:d?"start":void 0},children:b.map(([b,e])=>(0,L.jsxs)("div",{style:{display:"contents"},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:b}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:d?"normal":"anywhere",textAlign:c,whiteSpace:"right"===c?"nowrap":"normal"},children:e})]},`${a}:${b}`))})]}),D=(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:E("desktop.sessionInfoTitle")}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:w.map(a=>{var b,c;let d;return(0,L.jsxs)("div",{style:{display:"contents"},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:a.label}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"},children:a.value}),(0,L.jsx)("div",{children:a.copyField?(b=a.copyField,c=a.value,d=o===b,(0,L.jsx)("button",{type:"button",title:d?E("desktop.copied"):"file"===b?E("desktop.copyFilePath"):E("desktop.copySessionId"),onClick:()=>p(b,c),style:{alignSelf:"start",display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginTop:-2,color:d?"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:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color=d?"var(--accent)":"var(--text-dim)",a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="transparent"},children:d?(0,L.jsx)(_,{size:12,"aria-hidden":"true"}):(0,L.jsx)(cf,{size:12,"aria-hidden":"true"})})):null})]},`session-info:${a.label}`)})})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"minmax(360px, 1.7fr) minmax(140px, 0.55fr) minmax(190px, 0.75fr)",gap:f?16:24,fontSize:12,lineHeight:1.5,fontFamily:"var(--font-mono)"},children:[D,C(E("desktop.sessionInfoMessages"),x),C(E("desktop.sessionInfoTokens"),[...y,...B],"right",!0)]})):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:E("desktop.sendMessageForSessionInfo")})})]}),F&&t&&(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:3e3,display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:48,background:"rgba(0,0,0,0.35)"},onMouseDown:a=>{a.target===a.currentTarget&&G(!1)},children:(0,L.jsx)("div",{role:"dialog","aria-label":t,style:{maxWidth:"min(560px, calc(100vw - 32px))",maxHeight:"min(60vh, 400px)",overflow:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:12,boxShadow:"0 16px 40px rgba(0,0,0,0.3)",padding:"14px 18px",fontSize:13,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word",whiteSpace:"pre-wrap"},children:t})})]})}function xf({cwd:a,busy:b,error:c,onCancelAction:d,onConfirmAction:e}){let{t:f}=(0,aK.s)();return(0,L.jsx)("div",{role:"presentation",style:{position:"fixed",inset:0,zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center",padding:16,background:"rgba(0, 0, 0, 0.4)"},onClick:a=>{b||a.target!==a.currentTarget||d()},children:(0,L.jsxs)("section",{role:"dialog","aria-modal":"true","aria-labelledby":"project-trust-title",style:{width:440,maxWidth:"100%",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg-panel)",boxShadow:"0 12px 36px rgba(0, 0, 0, 0.24)",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:12,padding:"18px 18px 14px"},children:[(0,L.jsx)(qe,{size:21,weight:"duotone",color:"var(--accent-orange)",style:{flexShrink:0,marginTop:1},"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("h2",{id:"project-trust-title",style:{margin:0,fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.trustProjectTitle")}),(0,L.jsx)("p",{style:{margin:"7px 0 0",fontSize:12,lineHeight:1.6,color:"var(--text-muted)"},children:f("desktop.trustProjectBody")}),(0,L.jsx)("code",{style:{display:"block",marginTop:10,padding:"8px 10px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:a}),c&&(0,L.jsx)("div",{role:"alert",style:{marginTop:10,color:"var(--accent-red)",fontSize:12,lineHeight:1.5},children:c})]})]}),(0,L.jsxs)("footer",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--border)"},children:[(0,L.jsx)("button",{type:"button",onClick:d,disabled:b,style:{height:32,padding:"0 12px",border:"1px solid var(--border)",borderRadius:5,background:"transparent",color:"var(--text-muted)",cursor:b?"not-allowed":"pointer",fontSize:12},children:f("desktop.cancel")}),(0,L.jsx)("button",{type:"button",onClick:e,disabled:b,style:{height:32,padding:"0 12px",border:"1px solid var(--accent)",borderRadius:5,background:"var(--accent)",color:"white",cursor:b?"wait":"pointer",opacity:b?.7:1,fontSize:12,fontWeight:600},children:f(b?"desktop.trustingProject":"desktop.trustProject")})]})]})})}function xg(a,b,c){let d=Number.isFinite(a)?a:b,e=Math.max(b,c);return Math.round(Math.max(b,Math.min(e,d)))}function xh(a){return xg(.42*a,360,640)}function xi(a){let{ariaLabel:b,cssVariable:c,defaultWidth:d,getDefaultWidth:e,getMaxWidth:f,growthDirection:g,maxWidth:h,minWidth:i,storageKey:j,widthRef:k}=a,l=(0,M.useRef)(null),m=(0,M.useRef)(null);(0,M.useRef)(!1);let[n,o]=(0,M.useState)(d),[p,q]=(0,M.useState)(!1),r=(0,M.useCallback)(()=>Math.min(h,Math.max(i,f())),[f,h,i]),s=(0,M.useCallback)(a=>xg(a,i,r()),[r,i]),t=(0,M.useCallback)(a=>{k.current=a;let b=`${a}px`;l.current?.style.setProperty(c,b),l.current?.parentElement?.style.setProperty(c,b)},[c,k]),u=(0,M.useCallback)((a,b={})=>{let{forcePersist:c=!1,persist:d=!0}=b,e=s(a),f=e!==k.current;return t(e),o(e),d&&(f||c)&&function(a,b){try{window.localStorage.setItem(a,String(b))}catch{}}(j,e),e},[t,s,j,k]),v=(0,M.useCallback)(a=>{document.body.style.cursor=a.previousCursor,document.body.style.userSelect=a.previousUserSelect},[]),w=(0,M.useCallback)(a=>{let b=m.current;if(b&&b.pointerId===a){m.current=null,v(b),q(!1),u(k.current,{forcePersist:!0});try{b.target.hasPointerCapture(a)&&b.target.releasePointerCapture(a)}catch{}}},[u,v,k]),x=(0,M.useCallback)(a=>{if("mouse"===a.pointerType&&0!==a.button)return;a.preventDefault(),a.stopPropagation();let b=m.current;b&&w(b.pointerId);let c=a.currentTarget;c.focus({preventScroll:!0}),c.setPointerCapture(a.pointerId),m.current={pointerId:a.pointerId,startX:a.clientX,startWidth:k.current,target:c,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor="col-resize",document.body.style.userSelect="none",q(!0)},[w,k]),y=(0,M.useCallback)(a=>{let b=m.current;if(!b||b.pointerId!==a.pointerId)return;if("mouse"===a.pointerType&&0===a.buttons)return void w(a.pointerId);a.preventDefault();let c="right"===g?1:-1,d=s(b.startWidth+(a.clientX-b.startX)*c);t(d),a.currentTarget.setAttribute("aria-valuenow",String(d)),a.currentTarget.setAttribute("aria-valuetext",`${d} px`)},[t,s,w,g]),z=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),A=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),B=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),C=(0,M.useCallback)(()=>{u(e?.()??d,{forcePersist:!0})},[u,d,e]),D=(0,M.useCallback)(()=>{u(k.current)},[u,k]),E=(0,M.useCallback)(a=>{let b=a.shiftKey?32:12,c="right"===g?"ArrowRight":"ArrowLeft",d="right"===g?"ArrowLeft":"ArrowRight";a.key===c?(a.preventDefault(),u(k.current+b,{forcePersist:!0})):a.key===d?(a.preventDefault(),u(k.current-b,{forcePersist:!0})):"Home"===a.key?(a.preventDefault(),u(i,{forcePersist:!0})):"End"===a.key?(a.preventDefault(),u(r(),{forcePersist:!0})):"Enter"===a.key&&(a.preventDefault(),C())},[u,r,g,i,C,k]);return{isResizing:p,panelRef:l,reclampWidth:D,separatorProps:{"aria-label":b,"aria-orientation":"vertical","aria-valuemax":r(),"aria-valuemin":i,"aria-valuenow":n,"aria-valuetext":`${n} px`,onDoubleClick:C,onKeyDown:E,onLostPointerCapture:B,onPointerCancel:A,onPointerDown:x,onPointerMove:y,onPointerUp:z,role:"separator",tabIndex:0},width:n}}function xj(){let a,b,c=(0,S.useRouter)(),d=(0,S.useSearchParams)(),e=(0,M.useMemo)(()=>{let a;return{requestedCwd:a=d.get("cwd")?.trim()||null,sessionId:a?null:d.get("session")}},[d]),{isDark:f,toggleTheme:g}=lk(),{t:h}=(0,aK.s)(),i=aO(),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(0),[p,q]=(0,M.useState)(0),[r,s]=(0,M.useState)(0),[t,u]=(0,M.useState)(!1),[v,w]=(0,M.useState)("models"),[x,y]=(0,M.useState)(0),[z,A]=(0,M.useState)(null),[B,C]=(0,M.useState)(!1),[D,E]=(0,M.useState)(!1),[F,G]=(0,M.useState)(null),[H,I]=(0,M.useState)(!0),[J,K]=(0,M.useState)(!1),N=(0,M.useRef)(null),O=(0,M.useRef)(null),[P,Q]=(0,M.useState)(null),[T,U]=(0,M.useState)(null),[V,W]=(0,M.useState)(null),[X,Y]=(0,M.useState)(null),Z=(0,M.useCallback)(a=>{Y(a)},[]),[$,_]=(0,M.useState)(null),aa=(0,M.useCallback)(a=>{_(a)},[]),[ab,ac]=(0,M.useState)([]),ad=(0,M.useCallback)(a=>{ac(a)},[]),ae=ab.filter(a=>"running"===a.status).length,[af,ag]=(0,M.useState)(null),ah=(0,M.useRef)(null),ai=(0,M.useCallback)((a,b)=>{ll(b).then(()=>{ah.current&&clearTimeout(ah.current),ag(a),ah.current=setTimeout(()=>ag(null),1400)})},[]),[aj,ak]=(0,M.useState)(null),al=(0,M.useCallback)(a=>{ak(a)},[]),[am,an]=(0,M.useState)(null),[ao,ap]=(0,M.useState)(null),aq=(0,M.useCallback)(()=>{i&&I(!1),an("session")},[i]),ar=(0,M.useCallback)(()=>{i&&an(null),I(a=>!a)},[i]),[as,at]=(0,M.useState)([]),[au,av]=(0,M.useState)(null),[aw,ax]=(0,M.useState)(!1),[ay,az]=(0,M.useState)(!1),[aA,aB]=(0,M.useState)(null),aC=(0,M.useCallback)(a=>{aB(a??null),az(!0),ax(!0),i&&I(!1)},[i]),aD=(0,M.useCallback)(()=>{az(!1),aB(null)},[]),aE=(0,M.useRef)(260),aF=(0,M.useRef)(xh(1366)),aG=(0,M.useCallback)(()=>xh(1366),[]),aH=(0,M.useCallback)(()=>480,[aw]),aI=(0,M.useCallback)(()=>1200,[H]),aJ=xi({ariaLabel:h("desktop.resizeSidebar"),cssVariable:"--sidebar-width",defaultWidth:260,getMaxWidth:aH,growthDirection:"right",maxWidth:480,minWidth:180,storageKey:"pi-sidebar-width",widthRef:aE}),aL=xi({ariaLabel:h("desktop.resizeFilePanel"),cssVariable:"--right-panel-width",defaultWidth:xh(1366),getDefaultWidth:aG,getMaxWidth:aI,growthDirection:"left",maxWidth:1200,minWidth:300,storageKey:"pi-right-panel-width",widthRef:aF});aJ.reclampWidth,aL.reclampWidth;let aM=(0,M.useCallback)((a,b)=>{N.current?.insertText(ri(a,b))},[]),aN=(0,M.useCallback)(a=>{let b=a.map(a=>ri(a,!1)).join("");b&&N.current?.insertText(b)},[]),aP=(0,M.useCallback)((a,b,c)=>{let d,e,f,g;N.current?.insertText((d=Math.max(1,Math.min(b,c)),e=Math.max(1,Math.max(b,c)),f=a.includes(" ")?`@"${a}"`:`@${a}`,g=d===e?`:${d}`:`:${d}-${e}`,`${f}${g} `))},[]),[aQ,aR]=(0,M.useState)(()=>e.sessionId),[aS,aT]=(0,M.useState)(null),[aU,aV]=(0,M.useState)(()=>e.requestedCwd?"validating":"idle"),[aW,aX]=(0,M.useState)(null),[aY,aZ]=(0,M.useState)(()=>!aQ),a$=(0,M.useRef)(!1),a_=(0,M.useRef)(new Map),[a0,a1]=(0,M.useState)(null);(0,M.useRef)("");let a2=(0,M.useCallback)((a,b)=>{if(!a)return;if(aT(a),a$.current&&j&&bu(j.projectRoot??j.cwd,b??a)){if(a$.current=!1,j){let a=j.projectRoot??j.cwd;a&&a_.current.set(a,j.id)}return}a$.current=!1;let c=b??a;if(j&&bu(j.projectRoot??j.cwd,c)){(j.projectRoot??j.cwd)&&a_.current.set(c,j.id);return}if(j){let a=j.projectRoot??j.cwd;a&&a_.current.set(a,j.id)}k(null),m(b=>b&&b!==a?null:b),q(a=>a+1),Y(null),an(null),window.history.replaceState(null,"","/");let d=a_.current.get(c);a1(d?{projectRoot:c,sessionId:d}:null)},[j]),a3=(0,M.useCallback)((a,b=!1)=>{if(b||a1(null),!b&&j){let b=bu(j.projectRoot??j.cwd,a.projectRoot??a.cwd);if(j.id===a.id&&b){i&&I(!1);return}}let c=a.projectRoot??a.cwd;c&&a_.current.set(c,a.id),m(null),k(a),q(a=>a+1),Y(null),aZ(!0),i&&!b&&I(!1),b&&(a$.current=!0),b||window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`)},[i,j]);(0,M.useRef)(()=>{});let a4=(0,M.useCallback)(a=>{fetch("/api/sessions").then(a=>a.ok?a.json():null).then(b=>{let c=b?.sessions.find(b=>b.id===a);c&&k(b=>!b||b.id!==a||b.projectRoot&&b.name?b:c)}).catch(()=>{})},[]),a5=(0,M.useCallback)((a,b)=>{a1(null),k(null),m(b),q(a=>a+1),Y(null),an(null),i&&I(!1),window.history.replaceState(null,"","/")},[c,i]);!function(a){let{onNewSession:b,activeCwd:c}=a}({onNewSession:a=>a5(`kb-${Date.now()}`,a),activeCwd:aS});let a6=(0,M.useCallback)(a=>{m(null),a1(null);let b=a.projectRoot??a.cwd;b&&a_.current.set(b,a.id),k(a),a.cwd&&aT(a.cwd),o(a=>a+1),a4(a.id),window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`),window.setTimeout(()=>o(a=>a+1),1200)},[c,a4]),a7=(0,M.useCallback)(()=>{o(a=>a+1),s(a=>a+1)},[]),a8=(0,M.useCallback)(a=>{o(a=>a+1),q(a=>a+1),m(null),a1(null),k(b=>{let c={...b??{path:"",cwd:"",created:"",modified:"",messageCount:0,firstMessage:""},id:a},d=c.projectRoot??c.cwd;return d&&a_.current.set(d,a),c}),a4(a),window.history.replaceState(null,"",`?session=${encodeURIComponent(a)}`)},[c,a4]),a9=(0,M.useCallback)(()=>{aZ(!0)},[]),ba=(0,M.useCallback)(a=>{if(o(a=>a+1),j?.id===a){let a=j.cwd;k(null),m(a??null),q(a=>a+1),Y(null),an(null),window.history.replaceState(null,"","/")}},[c,j]),bb=(0,M.useCallback)((a,b,c,d)=>{let e="string"==typeof c||null===c?c:void 0,f="object"==typeof c&&null!==c?c:d,g=`file:${a}`;at(c=>{let d=c.find(a=>a.id===g);return d?e&&d.sourceSessionId!==e||f?.initialDisplayMode&&d.initialDisplayMode!==f.initialDisplayMode?c.map(a=>a.id===g?{...a,sourceSessionId:e??a.sourceSessionId,initialDisplayMode:f?.initialDisplayMode??a.initialDisplayMode}:a):c:[...c,{id:g,label:b,filePath:a,sourceSessionId:e,initialDisplayMode:f?.initialDisplayMode}]}),av(g),ax(!0),i&&I(!1)},[i]),bd=(0,M.useCallback)(a=>{bb(a,bc(a),j?.id??null)},[bb,j?.id]),be=(0,M.useCallback)(a=>{at(b=>{let c=b.filter(b=>b.id!==a);return 0===c.length&&ax(!1),c}),av(b=>{if(b!==a)return b;let c=as.filter(b=>b.id!==a);return c.length>0?c[c.length-1].id:null})},[as]),bf=j?bG(j.name||$?.sessionName)||j.firstMessage.slice(0,50)||j.id.slice(0,12):(a=aS??l)?a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()||a:null,bg=(0,M.useCallback)(()=>{j&&window.open(`/api/sessions/${encodeURIComponent(j.id)}/export?inline=1`,"_blank","noopener,noreferrer")},[j]),bh=l??(null===j&&aS?aS:null),bi="validating"!==aU&&"error"!==aU&&(null!==j||null!==bh),bj=j?.cwd??bh,[bk,bl]=(0,M.useState)(!1),bm=(0,M.useCallback)(()=>{i||bl(a=>!a)},[i]),[bn,bo]=(0,M.useState)(!0),bp=aY&&!bi,bq=(0,M.useCallback)(async()=>{if(bj&&!D){E(!0),G(null);try{let a=await fetch("/api/project-trust",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:bj})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);A(b),C(!1),y(a=>a+1),q(a=>a+1)}catch(a){G(a instanceof Error?a.message:String(a))}finally{E(!1)}}},[D,bj]),br=as.find(a=>a.id===au)??null,bs=aS??j?.cwd??l,bt=(0,M.useCallback)(a=>{w(a),u(!0)},[]),bv=(0,L.jsx)(L.Fragment,{children:(0,L.jsx)(bO,{selectedSessionId:j?.id??null,onSelectSession:a3,onNewSession:a5,initialSessionId:aQ,onInitialRestoreDone:a9,refreshKey:n,onSessionDeleted:ba,selectedCwd:j?.cwd??l??null,onCwdChange:a2,onOpenFile:bb,selectedSessionStats:$,onOpenSettings:a=>{bt(["models","skills","plugins","chat","features","logs"].includes(a)?a:"models")},explorerRefreshKey:r,onAtMention:aM,onAtMentions:aN,workspaceControlsHosts:{title:P,welcome:V,titleRight:T},showWorkspaceControls:!0})});return(0,L.jsxs)(wy,{children:[(0,L.jsx)("style",{children:`
|
|
37
|
+
${a}`):e=a;let o=e,p=c?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),q={role:"user",content:p?.length?[...a.trim()?[{type:"text",text:a}]:[],...p]:a,timestamp:Date.now()};x(a=>[...a,q]),b1.current=tG(q),b0.current=h,"goal"!==ao.current||g||(aq.current=f,aw(a=>({...a,status:"running",goalText:f,turnsUsed:0,noProgressTurns:0,tokensUsed:0})),ay.current=!0),bL.current=!0,J(!0),aU(g?{kind:"running_command"}:{kind:"waiting_model"}),B({type:"start"}),bT.current=!0,aW(!0),bU.current=!0;let r=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),s=null,t=!1;try{if(m&&d){let b=bK.current??await b$.current,c=b??await cl();if(c){s=c,Z&&(aM(Z),b&&await ts(c,{type:"set_model",provider:Z.provider,modelId:Z.modelId}));let d=await Promise.race([cq(c).then(()=>!0).catch(()=>!1),tC(4e3).then(()=>!1)]);t=!0,await ts(c,{type:"prompt",message:o,...r?.length?{images:r}:{}}),ck(1,a),d||cB(c,h),"goal"!==ao.current||g||ts(c,{type:"goal_start",goalText:f}).catch(()=>{})}}else if(b){s=b.id;let a=await Promise.race([cq(b.id).then(()=>!0).catch(()=>!1),tC(4e3).then(()=>!1)]);t=!0,await ts(b.id,{type:"prompt",message:o,...r?.length?{images:r}:{}}),a||cB(b.id,h),"goal"!==ao.current||g||ts(b.id,{type:"goal_start",goalText:f}).catch(()=>{})}g&&s&&cB(s,h)}catch(a){if(console.error("Failed to send message:",a),t&&s)return void cB(s,h);if(bN.current=!1,co(),a instanceof tB){let b=b1.current;b&&x(a=>{let c=a[a.length-1];return c?.role==="user"&&tG(c)===b?a.slice(0,-1):a}),ct({type:"error",message:a.message})}else ct({type:"error",message:`Failed to send message: ${a instanceof Error?a.message:String(a)}`});b1.current=null,bL.current=!1,J(!1),aU(null),B({type:"end"})}},[m,d,Z,b,cl,cq,ck,cB,ct,cn,co,b9]),cF=(0,M.useCallback)(async(c,d)=>{if(bL.current||bP.current)return;let e=`${d?"!!":"!"}${c}`;bP.current=!0,O({command:c,excludeFromContext:d}),L(!0);try{let a=bK.current??b?.id??await cl();if(!a)throw Error("Unable to create a session for the shell command");await ts(a,{type:"bash",command:c,excludeFromContext:d}),await ch(a),ck(1,e)}catch(b){console.error("Failed to execute shell command:",b),ct({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bP.current=!1,O(null),L(!1)}},[ct,cl,ch,a.chatInputRef,ck,b]),cG=(0,M.useCallback)(async()=>{let a=bK.current;if(a)try{await ts(a,{type:bP.current?"abort_bash":"abort"})}catch(a){console.error("Failed to abort:",a)}},[]),cH=(0,M.useCallback)(async a=>{let b=bK.current;if(b){aI(a);try{let{cancelled:c,newSessionId:d}=await ts(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aI(null)}}},[g]),cI=(0,M.useCallback)(async a=>{let b=bK.current;b&&(ts(b,{type:"navigate_tree",targetId:a}).catch(()=>{}),v(a),await ci(b,a))},[ci]),cJ=(0,M.useCallback)(async a=>{v(a);let b=bK.current;b&&(await ci(b,a),a&&ts(b,{type:"navigate_tree",targetId:a}).catch(()=>{}))},[ci]),cK=(0,M.useCallback)(async(a,b)=>{if(m){let c={provider:a,modelId:b};b6.current=c,$(c),aM(c);let d=bK.current??await b$.current;if(!d)return;try{await ts(d,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bK.current;if(!c)return;let d=++b2.current,e=aJ??o?.context.model??null;aK({provider:a,modelId:b});try{await ts(c,{type:"set_model",provider:a,modelId:b})}catch(c){console.error("Failed to set model:",c),b2.current===d&&(aK(e&&(e.provider!==a||e.modelId!==b)?e:null),ct({type:"error",message:c instanceof Error?c.message:String(c)}))}},[ct,aJ,o?.context.model,m,$]),cL=(0,M.useCallback)(async()=>{let a=bK.current;if(a&&!aN){aO(!0),aQ(null),aS(null);try{let b=await ts(a,{type:"compact"});aS(tH(b,"manual")),await ch(a,!0)}catch(a){aQ(a instanceof Error?a.message:String(a)),aS(null)}finally{aO(!1)}}},[aN,ch]),cM=(0,M.useCallback)(async a=>{let c=++b3.current,e=d??b?.cwd??"",f=e?`/api/models?cwd=${encodeURIComponent(e)}`:"/api/models",g=b4.current;g?.abort();let h=new AbortController;b4.current=h;let i=()=>h.abort();a?.aborted?h.abort():a?.addEventListener("abort",i,{once:!0});try{let a=await fetch(f,{signal:h.signal});if(!a.ok)throw Error(`HTTP ${a.status}`);let b=await a.json();if(c!==b3.current||n!==b5.current)return;Q(b.models),U(b.thinkingLevels??{}),W(b.thinkingLevelMaps??{}),Y(b.modelScopeWarnings??[]);let d=b.modelList??[];if(S(d),m&&!bK.current){let a=(b.defaultModel?d.find(a=>a.id===b.defaultModel?.modelId&&a.provider===b.defaultModel?.provider):void 0)??d[0];aa(a?{provider:a.provider,modelId:a.id}:null);let c=a?b.thinkingLevelPins?.[`${a.provider}/${a.id}`]:void 0;null===b7.current&&aA(c??"auto")}}finally{a?.removeEventListener("abort",i),b4.current===h&&(b4.current=null)}},[m,n,d,b?.cwd]),cN=(0,M.useCallback)(async a=>{if(!a.startsWith("/"))return{handled:!1};let b=a.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!b)return{handled:!1};let[,c,d=""]=b,e=d.trim(),f=bK.current??await cl(),g=a=>(a.handled&&(a.error?ct({type:"error",message:a.error}):"openSessionStats"!==a.action&&ct({type:"success",message:a.message??"Command completed"})),a);try{switch(c){case"compact":{if(!f||aN)return g({handled:!0,error:"No active session to compact"});aO(!0),aQ(null),aS(null);let a=await ts(f,{type:"compact",...e?{customInstructions:e}:{}});return aS(tH(a,"manual")),await ch(f,!0)&&ck(),g({handled:!0,message:"Compacted context"})}case"reload":if(!f)return g({handled:!0,error:"No active session to reload"});return await ts(f,{type:"reload"}),await Promise.all([ch(f,!1,!0),cj(f),cm(),cM()]),g({handled:!0,message:"Reloaded session resources"});case"name":if(!f)return g({handled:!0,error:"No active session to name"});if(!e)return g({handled:!0,error:"Usage: /name <name>"});return await ts(f,{type:"set_session_name",name:bG(e)}),await ch(f)&&ck(),g({handled:!0,message:`Session renamed to ${e}`});case"session":{if(!f)return g({handled:!0,error:"No active session"});let a=await ts(f,{type:"get_session_stats"});return a&&a2(a),k?.(),g({handled:!0,action:"openSessionStats"})}case"copy":{if(!f)return g({handled:!0,error:"No active session"});let a=await ts(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:"No assistant message to copy"});return await navigator.clipboard.writeText(b),g({handled:!0,message:"Copied last assistant message"})}default:return{handled:!1}}}catch(a){return g({handled:!0,error:a instanceof Error?a.message:String(a)})}finally{"compact"===c&&aO(!1)}},[ct,cl,aN,cM,ch,cm,cj,ck,k]),cO=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(c,{type:"steer",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to steer:",a)}},[]),cP=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(!d)return;let e=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(d,{type:"prompt",message:a,streamingBehavior:b,...e?.length?{images:e}:{}})}catch(a){console.error("Failed to queue prompt:",a)}},[]),cQ=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));try{await ts(c,{type:"follow_up",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to follow up:",a)}},[]),cR=(0,M.useCallback)(async()=>{let a=bK.current;if(a)try{await ts(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),cS=(0,M.useCallback)(async()=>{let b=bK.current;if(b)try{let c=await ts(b,{type:"clear_queue"});bc({steering:[],followUp:[]});let d=[...c?.steering??[],...c?.followUp??[]];d.length>0&&a.chatInputRef?.current?.prependText(d.join("\n\n"))}catch(a){console.error("Failed to recall queued messages:",a),ct({type:"error",message:"Failed to recall queued messages"})}},[a.chatInputRef,ct]),cT=(0,M.useCallback)(async(a,b,c=!1)=>{let d=bK.current;if(!d)return bd;try{let e=await ts(d,{type:"resolve_recovery",keep:a,discard:b,continueRun:c}),f=e?.remaining??[];return be(f),c&&a.length>0&&(async()=>{try{let a=await fetch(`/api/agent/${encodeURIComponent(d)}`);if(!a.ok)return;let b=await a.json(),c=b.state;if(!b.running||!c||!c.isStreaming&&!c.isPromptRunning)return;bM.current=!!c.isStreaming,bN.current=!!c.isPromptRunning,bL.current=!0,J(!0),aU(tw(c)),B({type:"start"}),cp(d),!c.isStreaming&&c.isPromptRunning&&cB(d)}catch{}})(),f}catch(a){return console.error("Failed to resolve queued message recovery:",a),ct({type:"error",message:"Failed to resolve queued message recovery"}),bd}},[bd,ct,cp,cB]),cU=(0,M.useCallback)(async()=>{let a=bK.current;if(!a)return null;try{return await ts(a,{type:"export_queue"})}catch(a){return console.error("Failed to export queue:",a),ct({type:"error",message:"Failed to export queue"}),null}},[ct]),cV=(0,M.useCallback)(async a=>{let b=bK.current;if(!b)return null;try{let c=await ts(b,{type:"import_queue",entries:a});return c&&bc(tx(c)),c?.imported??0}catch(a){return console.error("Failed to import queue:",a),ct({type:"error",message:"Failed to import queue"}),null}},[ct]),cW=(0,M.useCallback)(async a=>{let b=bK.current;if(!b)return null;try{let c=await ts(b,{type:"stage_recovery",entries:a});return c?.pendingRecovery&&be(c.pendingRecovery),(c?.staged??0)>0&&bg(!0),c?.staged??0}catch(a){return console.error("Failed to stage imported queue:",a),ct({type:"error",message:"Failed to stage imported queue"}),null}},[ct]),cX=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(!d)return!1;try{let e=await ts(d,{type:"move_queue",kind:a,fromIndex:b,toIndex:c});return e&&bc(tx(e)),!0}catch(a){return console.error("Failed to move queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to move queued message"}),!1}},[ct]),cY=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return null;try{let d=await ts(c,{type:"recall_queue_item",kind:a,index:b});return d&&(void 0!==d.steering||void 0!==d.followUp)&&bc(tx(d)),d?.entry?{text:d.entry.text,images:d.entry.images?.map(({data:a,mimeType:b})=>({data:a,mimeType:b}))}:null}catch(a){return console.error("Failed to recall queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to recall queued message"}),null}},[ct]),cZ=(0,M.useCallback)(async(a,b,c,d)=>{let e=bK.current;if(!e)return!1;try{let f=await ts(e,{type:"requeue_at",kind:a,index:b,text:c,images:d?.map(({data:a,mimeType:b})=>({type:"image",data:a,mimeType:b}))});return f&&bc(tx(f)),!0}catch(a){return console.error("Failed to requeue message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to requeue message"}),!1}},[ct]),c$=(0,M.useCallback)(async(a,b)=>{let c=bK.current;if(!c)return!1;try{let d=await ts(c,{type:"remove_queue_item",kind:a,index:b});return d&&bc(tx(d)),!0}catch(a){return console.error("Failed to remove queued message:",a),ct({type:"error",message:a instanceof Error?a.message:"Failed to remove queued message"}),!1}},[ct]),c_=(0,M.useCallback)(async a=>{if(b7.current="auto"===a?null:a,aA(a),"auto"===a)return;let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),c0=(0,M.useCallback)(async a=>{let b=(0,tt.xG)(a);cb(a);let c=bK.current??await b$.current;if(c)try{await ts(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[cb]),c1=(0,M.useRef)(0),c2=(0,M.useCallback)(async a=>{let b=bK.current??await b$.current,c=++c1.current;if(a){if(af.current="plan"===ab?"default":ab,ae(!0),ag.current=!0,ar.current={sessionKey:"",signature:""},b)try{if(await ts(b,{type:"prompt",message:"/plan"}),c1.current!==c)return}catch(a){if(c1.current!==c)return;console.error("Failed to enter plan mode:",a)}}else if(ae(!1),ag.current=!1,ar.current={sessionKey:"",signature:""},b){try{if(await ts(b,{type:"prompt",message:"/plan exit"}),c1.current!==c)return}catch(a){if(c1.current!==c)return;console.error("Failed to exit plan mode:",a)}if(c1.current!==c)return;try{let a=af.current;await ts(b,{type:"set_tools",toolNames:(0,tt.xG)(a)})}catch(a){console.error("Failed to restore tools after plan exit:",a)}}},[ab]),c3=(0,M.useCallback)(a=>{ai(a);let b=bK.current;if(!b){aj.current=a;return}aj.current=null,fetch(`/api/modes?session=${encodeURIComponent(b)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).catch(a=>{console.error("Failed to persist mode settings:",a)})},[]),c4=(0,M.useCallback)(a=>{if(c3({...as.current,collaborationMode:by(a)}),ao.current=by(a),ar.current={sessionKey:"",signature:""},"goal"!==a){aq.current=null,ay.current=!1,aw(a=>"idle"===a.status?a:{...a,status:"idle",goalText:null});let a=bK.current;a&&ts(a,{type:"goal_stop"}).catch(()=>{})}},[c3]),c5=(0,M.useCallback)(async a=>{c3({...as.current,tokenMode:bz(a)});let b=bK.current??await b$.current;if(b)try{if("economy"!==a||ag.current){if("economy"!==a){let a=ag.current?tt.SC:(0,tt.xG)("plan"===ab?"default":ab);await ts(b,{type:"set_tools",toolNames:a})}}else await ts(b,{type:"set_tools",toolNames:[...bB]})}catch(a){console.error("Failed to apply token mode tools:",a)}},[c3,ab]),c6=(0,M.useCallback)(async a=>{c3({...as.current,toolApprovalMode:bA(a)});let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_approval_mode",mode:bA(a)})}catch(a){console.error("Failed to apply approval mode:",a)}},[c3]),c7=(0,M.useCallback)(async a=>{c3({...as.current,permissionRules:a});let b=bK.current??await b$.current;if(b)try{await ts(b,{type:"set_approval_policy",policy:a})}catch(a){console.error("Failed to apply permission rules:",a)}},[c3]),c8=(0,M.useCallback)(async(a,b,c)=>{let d=bK.current;if(d)try{await ts(d,{type:"resolve_approval",id:a,approve:b,reason:c})}catch(a){console.error("Failed to resolve approval:",a)}finally{au(b=>b.filter(b=>b.id!==a))}},[]),c9=(0,M.useCallback)(a=>{aq.current=a},[]),da=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aq.current=b,aw(a=>({...a,status:"running",goalText:b,turnsUsed:0,noProgressTurns:0,tokensUsed:0,startedAt:Date.now()}));let c=bK.current;c&&ts(c,{type:"goal_start",goalText:b}).catch(()=>{})},[]),db=(0,M.useCallback)(()=>{if("running"!==ax.current.status)return;aw(a=>({...a,status:"paused"}));let a=bK.current;a&&ts(a,{type:"goal_pause"}).catch(()=>{})},[]),dc=(0,M.useCallback)(()=>{let a=ax.current;if("paused"!==a.status&&"blocked"!==a.status)return;aw(a=>({...a,status:"running"}));let b=bK.current;b&&ts(b,{type:"goal_resume"}).catch(()=>{})},[]),dd=(0,M.useCallback)(()=>{ay.current=!1,aq.current=null,aw(a=>({...a,status:"idle",goalText:null,turnsUsed:0,noProgressTurns:0}));let a=bK.current;a&&ts(a,{type:"goal_stop"}).catch(()=>{})},[]),de=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aw(a=>({...a,goalText:b}));let c=bK.current;c&&ts(c,{type:"goal_edit",goalText:b}).catch(()=>{})},[]);bh.map(a=>`${a.id}:${a.status}:${a.completedAt??""}`).join("|"),(0,M.useRef)(bh).current=bh;let df=(0,M.useCallback)(()=>{let a=bZ.current,b=bS.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop,d=Math.max(0,a.scrollHeight-a.clientHeight),e=Math.min(Math.max(0,c-16),d);bV.current=e>=d-150,bX.current=Date.now()+700,a.scrollTo({top:e,behavior:"smooth"})},[]);(0,M.useCallback)(a=>{a instanceof KeyboardEvent&&(!tA.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bW.current=Date.now()+1200)},[]),(0,M.useCallback)(()=>{let a=bZ.current;if(a){let{scrollTop:b,clientHeight:c,scrollHeight:d}=a;bV.current=b+c>=d-150}if(Date.now()<bW.current){bU.current=!1;return}Date.now()<bX.current||(bU.current=!1)},[]),(0,M.useRef)(!1);let dg=o?.tree??[];return{data:o,loading:q,error:s,activeLeafId:u,messages:w,entryIds:y,streamState:A,agentRunning:I,bashRunning:K,pendingBash:N,modelNames:P,modelList:R,modelThinkingLevels:T,modelThinkingLevelMaps:V,modelScopeWarnings:X,newSessionModel:Z,toolPreset:ab,thinkingLevel:az,retryInfo:aB,contextUsage:aD,systemPrompt:aF,forkingEntryId:aH,isCompacting:aN,compactError:aP,compactResult:aR,currentModel:ce,displayModel:cf,sessionStats:cg,tokenRate:C,planMode:ad,subagents:bh,collaborationMode:ak,tokenMode:al,toolApprovalMode:am,permissionRules:an,modeSettings:ah,approvalRequests:at,handleCollaborationModeChange:c4,handleTokenModeChange:c5,handleToolApprovalModeChange:c6,handlePermissionRulesChange:c7,resolveApproval:c8,setActiveGoalText:c9,goalState:av,handleGoalStart:da,handleGoalPause:db,handleGoalResume:dc,handleGoalStop:dd,handleGoalEdit:de,slashCommands:aX,slashCommandsLoading:aZ,queuedMessages:bb,pendingRecovery:bd,recoveryIsImport:bf,notices:a_.visible,extensionDialog:a3,extensionCustomUi:a5,extensionStatuses:a7,extensionWidgets:a9,respondToExtensionUi:cr,sendExtensionCustomInput:cs,agentPhase:aT,isNew:m,promptAnchorActive:aV,branchTree:dg,sessionIdRef:bK,eventSourceRef:bs,messagesEndRef:bY,scrollContainerRef:bZ,lastUserMsgRef:bS,pendingScrollToUserRef:bT,initialScrollDoneRef:bR,scrollUserMsgToTop:df,handleSend:cE,executeBash:cF,handleAbort:cG,handleFork:cH,handleNavigate:cI,handleModelChange:cK,handleCompact:cL,handleSteer:cO,handleFollowUp:cQ,handlePromptWithStreamingBehavior:cP,handleAbortCompaction:cR,handleRecallQueue:cS,resolveRecovery:cT,exportQueueData:cU,importQueueData:cV,stageQueueImport:cW,moveQueuedMessage:cX,recallQueuedMessage:cY,requeueAt:cZ,removeQueuedMessage:c$,handleBuiltinSlashCommand:cN,handleToolPresetChange:c0,handleThinkingLevelChange:c_,handlePlanModeChange:c2,loadTools:cj,loadSlashCommands:cm,setActiveLeafId:v,setData:p,setMessages:x,dispatch:B,setAgentRunning:J,setForkingEntryId:aI,handleLeafChange:cJ,handleAgentEventRef:bQ}}({session:a,newSessionCwd:b,onAgentEnd:D,onSessionCreated:e,onSessionForked:f,modelsRefreshKey:g,chatInputRef:h,onBranchDataChange:i,onSystemPromptChange:j,onSessionStatsPanelOpen:m,onSubagentsChange:l}),[bg,bh]=(0,M.useState)(!1),{balance:bi,refresh:bj,refreshSoon:bk}=function(){let[a,b]=(0,M.useState)(null),[c,d]=(0,M.useState)(!1),e=(0,M.useRef)(null),f=(0,M.useRef)(null),g=(0,M.useRef)(!0),h=(0,M.useCallback)(async()=>{e.current?.abort();let c=new AbortController;e.current=c;try{let e=await fetch("/api/deepseek/balance",{signal:c.signal,cache:"no-store"}),f=await e.json();if(!g.current)return;f?.available&&null!=f.totalBalance?(b(f),d(!1)):null===a&&d(!0)}catch{if(!g.current)return;null===a&&d(!0)}},[a]),i=(0,M.useCallback)(()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,h()},2e3)},[h]);return{balance:a,failed:c,refresh:h,refreshSoon:i}}(),bl=ac?.provider==="deepseek";(0,M.useRef)(null);let bm=(0,M.useMemo)(()=>{let a=J.findLast(a=>"assistant"===a.role&&!!a.usage);if(!a?.usage)return null;let b=a.usage;return{model:a.model??"",input:b.input??0,output:b.output??0,cacheRead:b.cacheRead??0,costCNY:pE(a.model)?pF(a.model,b):0,costUSD:pE(a.model)?0:b.cost?.total??0}},[J]),[bn,bo]=(0,M.useState)(!1),[bp,bq]=(0,M.useState)(null);(0,M.useRef)(!1);let br=(0,M.useCallback)(()=>{bo(!1);let a=bs.current;"plan"===a2&&a5("normal"),a1(!1).then(()=>{a&&aD(A("tasks.planReviewExecutePrompt",{plan:a}))})},[a1,aD,A,a2,a5]),bs=(0,M.useRef)(null),bt=(0,M.useCallback)(a=>{bo(!1),aL(a)},[aL]),bu=(0,M.useCallback)(()=>{bo(!1),"plan"===a2&&a5("normal"),a1(!1)},[a1,a2,a5]),[bH,bI]=(0,M.useState)(!1),[bJ,bK]=(0,M.useState)(!1),[bL,bM]=(0,M.useState)(!1),bN=(0,M.useCallback)(()=>{let a=ay.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight;bI(a.scrollTop>1),bK(b>1),bM(b>240)},[ay]),bO=(0,M.useCallback)(()=>{window.requestAnimationFrame(()=>{let a=ay.current,b=ax.current;if(!a||!b)return;let c=Math.max(88,h?.current?.measureHeight?.()??0),d=()=>{if(!a||!b)return;let d=Math.max(0,b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop-96-a.clientHeight+c);a.scrollTo({top:d,behavior:"auto"})};d(),bN(),window.setTimeout(d,200)})},[ax,ay,bN,h]),bP=(0,M.useRef)(null),bQ=(0,M.useRef)([]),bR=(0,M.useMemo)(()=>({getOffsetForIndex:a=>bP.current?.getOffsetForIndex(a)?.[0]??0,sizeFor:a=>{let b=bP.current;if(!b)return 0;let c=b.measurementsCache[a];return c?.size??b.options.estimateSize?.(a)??0},totalHeight:()=>bP.current?.getTotalSize()??0,refToItemIndex:a=>bQ.current[a],itemCount:bQ.current.length}),[]);ad&&[ad.sessionId,ad.sessionFile??"",ad.sessionName??"",ad.userMessages,ad.assistantMessages,ad.toolCalls,ad.toolResults,ad.totalMessages,ad.tokens.input,ad.tokens.output,ad.tokens.cacheRead,ad.tokens.cacheWrite,ad.tokens.total,ad.cost??0,ad.totalActiveMs??0].join("|"),(0,M.useRef)(ad).current=ad,Z&&(Z.percent,Z.contextWindow,Z.tokens),(0,M.useRef)(Z).current=Z;let{isDragOver:bS,handleDragEnter:bT,handleDragOver:bU,handleDragLeave:bV,handleDrop:bW}=function(a){let[b,c]=(0,M.useState)(!1),d=(0,M.useRef)(0),e=(0,M.useCallback)(a=>{a.dataTransfer.files.length&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,M.useCallback)(a=>{a.dataTransfer.files.length&&a.preventDefault()},[]);return{isDragOver:b,handleDragEnter:e,handleDragOver:f,handleDragLeave:(0,M.useCallback)(()=>{d.current-=1,d.current<=0&&(d.current=0,c(!1))},[]),handleDrop:(0,M.useCallback)(b=>{b.preventDefault(),d.current=0,c(!1),a(Array.from(b.dataTransfer.files),b.dataTransfer)},[a])}}((0,M.useCallback)((a,b)=>{if(O){let b=a.filter(a=>a.type.startsWith("image/"));b.length&&h?.current?.addImages(b);return}h?.current?.addFiles(a,b)},[O,h])),bX=J.filter(a=>"user"===a.role||"assistant"===a.role),bY=(0,M.useMemo)(()=>{let a=new Set,b=[];for(let d=J.length-1;d>=0&&b.length<50;d-=1){var c;let e="user"!==(c=J[d]).role?null:("string"==typeof c.content?c.content:c.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")).trim()||null;!e||a.has(e)||(a.add(e),b.push(e))}return b},[J]),bZ=(t=bX.length,(u=(0,M.useRef)([])).current=Array(t).fill(null).map((a,b)=>u.current[b]??null),u),b$=as&&0===J.length&&!N.isStreaming&&!O,b_=a?.cwd??b??void 0,b0=ac?T[`${ac.provider}:${ac.modelId}`]??null:null,b1=ac?U[`${ac.provider}:${ac.modelId}`]??null:null,b2=(0,L.jsx)(sJ,{ref:h,onSend:aD,onBash:aE,tasksBoardEnabled:s,onAbort:aF,onSteer:O?aL:void 0,onFollowUp:O?aM:void 0,onPromptWithStreamingBehavior:O?aN:void 0,isStreaming:O,model:ac,modelNames:R,modelList:S,modelScopeWarnings:V,onModelChange:aI,compactResult:ab,toolPreset:W,onToolPresetChange:a||as?aZ:void 0,planMode:a0,onPlanModeChange:a=>{a1(a),a&&"plan"!==a2?a5("plan"):a||"plan"!==a2||a5("normal")},collaborationMode:a2,tokenMode:a3,toolApprovalMode:a4,onCollaborationModeChange:a=>{a5(a),"plan"!==a||a0?"plan"!==a&&a0&&a1(!1):a1(!0)},onTokenModeChange:a6,onToolApprovalModeChange:a7,goalState:ba,onGoalStart:bb,onGoalPause:bc,onGoalResume:bd,onGoalStop:be,thinkingLevel:X,onThinkingLevelChange:a||as?a$:void 0,availableThinkingLevels:b0,thinkingLevelMap:b1,retryInfo:Y,queuedMessages:ah,inputHistory:bY,onRecallQueue:aQ,onMoveQueue:aU,onRecallOne:aV,onRequeueAt:aW,onRemoveQueueItem:aX,slashCommands:af,slashCommandsLoading:ag,onLoadSlashCommands:a_,onBuiltinCommand:aY,onAudioUnlock:y,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),b3=ao.filter(a=>"belowEditor"!==a.placement),b5=ao.filter(a=>"belowEditor"===a.placement),b6=_?A("desktop.compacting"):function(a,b){if(a?.kind==="running_tools"){let c=a.tools.map(a=>a.name);return 0===c.length?b("desktop.runningTool"):b("desktop.runningTools",{tools:c.length<=3?c.join(", "):`${c.slice(0,2).join(", ")} (+${c.length-2})`})}return a?.kind==="waiting_model"?b("desktop.waitingForModel"):a?.kind==="running_command"?b("desktop.runningCommand"):null}(ar,A);return H?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-text-muted",children:A("desktop.loadingSession")}):I?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-red-400",children:I}):(0,L.jsxs)("div",{className:"relative flex h-full min-w-0 flex-col overflow-hidden",onDragEnter:bT,onDragOver:bU,onDragLeave:bV,onDrop:bW,children:[bS&&(0,L.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-[rgba(37,99,235,0.06)] backdrop-blur-[1px]",children:[(0,L.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(a=>(0,L.jsx)("div",{className:"absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[rgba(37,99,235,0.5)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]",style:{transformOrigin:"center",animationDelay:`${a}s`}},a))}),(0,L.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-[0_6px_18px_rgba(37,99,235,0.18)]",children:[(0,L.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"rgba(37,99,235,0.08)",stroke:"rgba(37,99,235,0.50)",strokeWidth:"1.8"}),(0,L.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"rgba(37,99,235,0.16)",stroke:"rgba(37,99,235,0.40)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,L.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"rgba(37,99,235,0.22)",stroke:"rgba(37,99,235,0.55)",strokeWidth:"1.6"}),(0,L.jsxs)("g",{stroke:"rgba(37,99,235,0.45)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,L.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,L.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,L.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,L.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,L.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,L.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,L.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,L.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),al&&(0,L.jsx)(tO,{request:al,onRespond:ap}),am&&(0,L.jsx)(tP,{request:am,onInput:aq}),!as&&ai.length>0&&!bg&&(0,L.jsx)(sM,{items:ai,sessionId:a?.id,onResolve:aR,onExport:aS,onStageImport:aT,onDismiss:()=>bh(!0),mode:aj?"import":"recovery"}),a8.length>0&&(0,L.jsx)(qf,{request:a8[0]??null,queuedCount:Math.max(0,a8.length-1),busy:!1,onResolve:(a,b)=>{let c=a8[0];c&&a9(c.id,a,b)}}),b$?(0,L.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto",children:(0,L.jsxs)("div",{className:"w-full max-w-[820px]",children:[(0,L.jsx)("div",{style:{display:"flex",justifyContent:"center",marginBottom:28},children:(0,L.jsxs)("svg",{fill:"currentColor",fillRule:"evenodd",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{width:64,height:64,color:"var(--accent)",opacity:.85},"aria-label":"Pi",children:[(0,L.jsx)("title",{children:"Pi"}),(0,L.jsx)("path",{clipRule:"evenodd",d:"M1 1h16.5v11H12v5.5H6.5V23H1V1zm5.5 5.5V12H12V6.5H6.5z"}),(0,L.jsx)("path",{d:"M17.5 12H23v11h-5.5V12z"})]})}),(0,L.jsx)("div",{style:{padding:"0 34px 6px 7px",paddingRight:z?16:34},children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,L.jsx)("div",{ref:p,style:{display:"flex",alignItems:"center",minWidth:0,flex:1,minHeight:48}}),(0,L.jsxs)("div",{style:{display:z?"none":"flex",flexDirection:"column",alignItems:"flex-end",gap:2,flexShrink:0},children:[(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:["web ",(0,L.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.9.30"]})]}),(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:["pi ",(0,L.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.84.0"]})]})]})]})}),(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:z?16:34},children:(0,L.jsx)(tN,{notices:ak,align:"right"})}),"goal"===a2&&(0,L.jsx)(qc,{goalState:ba,onPause:bc,onResume:bd,onStop:be,onEdit:bf}),b2,(0,L.jsx)("div",{style:{padding:"0 16px 6px",paddingRight:z?16:34,marginTop:-15},children:(0,L.jsx)(s7,{onViewFullHistory:q,cwd:b_,systemPrompt:r,sessionStats:ad,contextUsage:Z,hasSession:!!a,showChat:!0,showSoundLabel:!0,soundEnabled:v,onSoundToggle:w,onCompact:a?aJ:void 0,onAbortCompaction:aP,isCompacting:_,compactError:aa,isDeepSeekOfficial:bl,deepseekBalance:bi,lastTurnUsage:bm})})]})}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"relative flex flex-1 overflow-hidden z-0",children:[(0,L.jsx)("div",{style:{position:"absolute",top:12,left:0,right:18*!z,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(tN,{notices:ak,floating:!0,align:"right"})})}),(0,L.jsxs)("div",{className:"relative flex-1 min-h-0 min-w-0",children:[(0,L.jsx)("div",{ref:ay,className:"h-full min-w-0 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:(0,L.jsx)("div",{style:{minWidth:0,padding:"0 16px"},children:(0,L.jsxs)("div",{style:{width:"100%",minWidth:0,maxWidth:820,margin:"0 auto"},children:[(0,L.jsx)(tL,{statuses:an}),(0,L.jsx)(tM,{widgets:b3}),(()=>{let b=new Map;for(let a of J)"toolResult"===a.role&&b.set(a.toolCallId,a);let c=-1;for(let a=J.length-1;a>=0;a--)if("user"===J[a].role){c=a;break}let d=new Map,e=0;J.forEach((a,b)=>{("user"===a.role||"assistant"===a.role)&&d.set(b,e++)});let f=(e,f={})=>{let g=f.messageOverride??J[e],h="user"===g.role&&e>0&&"assistant"===J[e-1].role?K[e-1]:void 0,i="user"===g.role||"assistant"===g.role,j=d.get(e),k=f.keyPrefix??"message",l=!1;if("assistant"===g.role){l=!0;for(let a=e+1;a<J.length;a++){let b=J[a].role;if("user"===b)break;if("assistant"===b){l=!1;break}}l&&N.isStreaming&&e===J.length-1&&(l=!1)}void 0!==f.showTimestamp&&(l=f.showTimestamp);let m=(0,L.jsx)(pK,{message:g,toolResults:b,modelNames:R,cwd:b_,onOpenFile:o,entryId:K[e],onFork:O||as||0===e&&"user"===g.role?void 0:aG,forking:$===K[e],onNavigate:O?void 0:aH,prevAssistantEntryId:O?void 0:h,onEditContent:E,onQuoteReply:F,onCreateTask:G,showTimestamp:l,prevTimestamp:e>0?J[e-1].timestamp:void 0,sessionId:a?.id??aw.current??void 0,writtenFiles:f.writtenFiles},`${k}-view-${e}`);return i&&!1!==f.attachRef&&void 0!==j?(0,L.jsx)("div",{ref:a=>{bZ.current[j]=a,e===c&&(az.current=a,a&&aA.current&&(aA.current=!1,aB.current=!0,aC()))},children:m},`${k}-${e}`):m},g=[],h=[],i=(a,b)=>{g.push(a),h.push(b)};for(let e=0;e<J.length;){let g=J[e],h="custom"===g.role&&"compaction"===g.customType;if("user"!==g.role&&!h){i(f(e),d.get(e)),e+=1;continue}let j=e,k=j+1;for(;k<J.length&&"user"!==J[k].role;)k+=1;let l=function(a,b,c){for(let e=c-1;e>b;e--){var d;if("assistant"===(d=a[e]).role&&b4(d).answerBlocks.some(a=>"image"===a.type||"text"===a.type&&a.text.trim().length>0))return e}for(let d=c-1;d>b;d--)if(a[d]?.role==="assistant")return d;return -1}(J,j,k);if((O||N.isStreaming)&&k===J.length&&(j===c||h)){i(f(j),d.get(j));let c=N.streamingMessage?.role==="assistant",g=[],h=!c&&l>=0?l:k;for(let a=j+1;a<h;a++)tI(J[a])&&g.push(a);let m=cd(J,K,g,b),n=null;if(!c&&l>=0){let a=J[l],c=b4(a,{isStreaming:!0}),d=cc(a,{messageIndex:l,entryId:K[l],toolResults:b,isStreaming:!0});m=m.concat(d.processBlocks),c.answerBlocks.length>0&&(n=tJ(a,c.answerBlocks,{omitUsage:!0}))}if(c){let a=N.streamingMessage,c=b4(a,{isStreaming:!0}),d=cc(a,{messageIndex:J.length,toolResults:b,isStreaming:!0});m=m.concat(d.processBlocks),c.answerBlocks.length>0&&(n=tJ(a,c.answerBlocks,{omitUsage:!0}))}if(m.length>0){let b=g.map(a=>d.get(a)).find(a=>"number"==typeof a);i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{bZ.current[b]=a},children:(0,L.jsx)(q9,{blocks:m,isStreaming:O||N.isStreaming,cwd:b_,onOpenFile:o,sessionId:a?.id??aw.current??void 0,tokenRate:ae})},`live-process-group-${j}`),b)}n&&i((0,L.jsx)(pK,{message:n,isStreaming:!0,modelNames:R,cwd:b_,onOpenFile:o,onQuoteReply:F},`live-answer-${j}`),l>=0?d.get(l):void 0),e=k;continue}if(-1===l){for(let a=j;a<k;a++)i(f(a),d.get(a));e=k;continue}i(f(j),d.get(j));let m=[];for(let a=j+1;a<l;a++)m.push(a);let n=m.filter(a=>tI(J[a])),p=J[l],q=b4(p),r=q.processBlocks.length>0?tJ(p,q.processBlocks,{omitUsage:!0}):null,s=q.answerBlocks.length>0?tJ(p,q.answerBlocks):null,t=cd(J,K,n,b);if(r&&(t=t.concat(cc(p,{messageIndex:l,entryId:K[l],toolResults:b}).processBlocks)),t.length>0){let b=n.map(a=>d.get(a)).find(a=>"number"==typeof a)??(s?void 0:d.get(l));i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{bZ.current[b]=a},children:(0,L.jsx)(q9,{blocks:t,isStreaming:!1,defaultExpanded:!s,onAutoExpanded:void 0,cwd:b_,onOpenFile:o,sessionId:a?.id??aw.current??void 0})},`process-group-${j}-${l}`),b)}if(s){let a=[];for(let b=j+1;b<=l;b++){let c=J[b];if(c?.role==="assistant")for(let b of c.content??[])a.push(b)}i(f(l,{messageOverride:s,writtenFiles:function(a,b,c){let d=new Set,e=[];for(let f of a){if("toolCall"!==f.type||!function(a){let b,c;return"write"===(b=a.toLowerCase())||b.startsWith("write_")||b.endsWith(".write")||b.endsWith("_write")||"edit"===(c=a.toLowerCase())||c.startsWith("edit_")||c.endsWith(".edit")||c.endsWith("_edit")||c.includes("str_replace")||c.includes("replace_editor")}(f.toolName))continue;let a=b?.get(f.toolCallId);if(!a||a.isError)continue;let g=function(a){if(!a)return null;let b=a.file_path??a.path;return"string"==typeof b&&b.length>0?b:null}(f.input);if(!g)continue;let h=function(a,b){let c;if(!a)return null;let d=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")||void 0!==b&&(/^[a-zA-Z]:[\\/]/.test(b)||b.startsWith("\\\\")),e=a=>d?a.replace(/\\/g,"/"):a,f=e(a),g=b?e(b).replace(/\/+$/,""):void 0,h=/^[a-zA-Z]:\//.test(f),i=f.startsWith("//");if(h||i)c=f;else if(f.startsWith("/")){let a=g?.match(/^([a-zA-Z]:)(?:\/|$)/)?.[1]??g?.match(/^(\/\/[^/]+\/[^/]+)(?:\/|$)/)?.[1];c=a?`${a}${f}`:f}else{if(!g)return null;c=`${g}/${f}`}return b7(c)}(g,c);h&&(d.has(h)||(d.add(h),e.push({filePath:h})))}return e}(a,b,b_)}),d.get(l))}for(let a=l+1;a<k;a++)i(f(a),d.get(a));e=k}let j=[];return h.forEach((a,b)=>{void 0!==a&&(j[a]=b)}),bQ.current=j,(0,L.jsx)(tn,{scrollElementRef:ay,items:g,virtualizerRef:bP})})(),b6&&(_||O&&!N.streamingMessage)&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsxs)("span",{className:"animate-[pulse_1.5s_infinite]",children:[b6,ar?.kind==="waiting_model"&&(0,L.jsx)("span",{style:{display:"inline-block",width:12,height:12,marginLeft:6,verticalAlign:"-2px",border:"1.5px solid var(--text-muted)",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 0.6s linear infinite"}})]})}),Q&&(0,L.jsx)(pK,{message:{role:"bashExecution",command:Q.command,output:"",excludeFromContext:Q.excludeFromContext},sessionId:a?.id??aw.current??void 0}),P&&!Q&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsx)("span",{className:"animate-[pulse_1.5s_infinite]",children:A("desktop.runningShellCommand")})}),(0,L.jsx)("div",{style:{height:96}}),(0,L.jsx)("div",{ref:ax}),(0,L.jsx)(p5,{open:bn,planText:bp,busy:O,onExecute:br,onFeedback:bt,onExit:bu,onClose:()=>bo(!1)})]})})}),bH&&(0,L.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 z-10 h-8 bg-gradient-to-b from-[var(--bg)] to-transparent"}),bJ&&(0,L.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 bottom-0 z-10 h-8 bg-gradient-to-t from-[var(--bg)] to-transparent"}),bL&&(0,L.jsxs)("button",{type:"button",onClick:()=>bO(),title:A("desktop.scrollToBottom"),"aria-label":A("desktop.scrollToBottom"),style:{position:"absolute",bottom:14,right:18,zIndex:20,display:"flex",alignItems:"center",gap:6,padding:"5px 10px",border:"1px solid var(--border)",borderRadius:999,background:"color-mix(in srgb, var(--bg-panel) 92%, transparent)",color:"var(--text-muted)",fontSize:11,fontWeight:600,cursor:"pointer",boxShadow:"0 4px 14px rgba(0,0,0,0.14)",backdropFilter:"blur(4px)",transition:"color 0.12s, border-color 0.12s, background 0.12s"},onMouseEnter:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.borderColor="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.borderColor="var(--border)"},children:[(0,L.jsx)(pr,{size:12,weight:"bold","aria-hidden":"true"}),A("desktop.scrollToBottom")]})]}),z?null:(0,L.jsx)(tq,{messages:J,streamingMessage:N.streamingMessage,scrollContainer:ay,messageRefs:bZ,virtualizer:bR})]}),(0,L.jsxs)("div",{className:"relative z-10",children:[(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:z?16:34},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(tM,{widgets:b5})})}),b2,(0,L.jsx)("div",{className:`session-info-bar-wrap${z?" is-mobile":""}`,children:(0,L.jsx)("div",{className:"session-info-bar-inner",children:(0,L.jsx)(s7,{onViewFullHistory:q,cwd:b_,systemPrompt:r,sessionStats:ad,contextUsage:Z,hasSession:!!a,showChat:!0,soundEnabled:v,onSoundToggle:w,onCompact:a?aJ:void 0,onAbortCompaction:aP,isCompacting:_,compactError:aa,branchTree:at,branchActiveLeafId:au,onBranchLeafChange:av,isDeepSeekOfficial:bl,deepseekBalance:bi,lastTurnUsage:bm})})})]})]})]})}function tL({statuses:a}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:a.map(a=>(0,L.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,L.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:a.key}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.text})]},a.key))})}function tM({widgets:a}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginBottom:10},children:a.map(a=>(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{padding:"5px 9px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:a.key}),(0,L.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:a.lines.join("\n")})]},a.key))})}function tN({notices:a,floating:b=!1,align:c="left"}){return 0===a.length?null:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",alignItems:"right"===c?"flex-end":"stretch",marginBottom:10*!b},children:a.map((c,d)=>{let e="error"===c.type?"#ef4444":"warning"===c.type?"#d97706":"success"===c.type?"#10b981":"var(--accent)";return(0,L.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:"center",gap:10,minHeight:44,maxHeight:180,marginBottom:6*(d!==a.length-1),overflowY:"auto",overflowX:"hidden",borderRadius:14,border:"1px solid color-mix(in srgb, var(--border) 70%, transparent)",background:"var(--bg)",color:"var(--text-muted)",width:"fit-content",maxWidth:"min(100%, 620px)",boxShadow:b?"0 1px 2px rgba(15,23,42,0.05), 0 10px 28px -14px rgba(15,23,42,0.24)":"0 1px 2px rgba(15,23,42,0.04), 0 8px 24px -12px rgba(15,23,42,0.10)",fontSize:13,lineHeight:1.45,transformOrigin:"top center",animation:c.exiting?"notice-shelf-out 0.18s ease-in forwards":"notice-shelf-in 0.18s ease-out both",padding:"0 12px"},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e,flexShrink:0}}),(0,L.jsx)("span",{style:{padding:"10px 0",minWidth:0,maxWidth:"100%",overflowWrap:"anywhere",whiteSpace:"pre-wrap"},children:c.message})]},c.id)})})}function tO({request:a,onRespond:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)("editor"===a.method?a.prefill??"":""),f=()=>{"confirm"===a.method?b(a,{confirmed:!0}):b(a,{value:d})};return(0,L.jsx)("div",{style:{position:"absolute",inset:0,zIndex:90,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"rgba(0,0,0,0.18)"},children:(0,L.jsxs)("div",{role:"dialog","aria-modal":"true",style:{width:"min(560px, 100%)",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"0 20px 60px rgba(0,0,0,0.28)",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{padding:"12px 14px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("div",{style:{color:"var(--text)",fontSize:14,fontWeight:650},children:a.title}),(0,L.jsx)("div",{style:{marginTop:3,color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:c("desktop.extensionRequest")})]}),(0,L.jsxs)("div",{style:{padding:14},children:["confirm"===a.method&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:13,lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.message}),"select"===a.method&&(0,L.jsx)("div",{style:{display:"grid",gap:8},children:a.options.map(c=>(0,L.jsx)("button",{onClick:()=>b(a,{value:c}),style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:13},children:c},c))}),"input"===a.method&&(0,L.jsx)("input",{autoFocus:!0,value:d,placeholder:a.placeholder,onChange:a=>e(a.target.value),onKeyDown:c=>{"Enter"===c.key&&f(),"Escape"===c.key&&b(a,{cancelled:!0})},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",fontSize:13}}),"editor"===a.method&&(0,L.jsx)("textarea",{autoFocus:!0,value:d,onChange:a=>e(a.target.value),onKeyDown:c=>{"Escape"===c.key&&b(a,{cancelled:!0}),(c.metaKey||c.ctrlKey)&&"Enter"===c.key&&f()},style:{width:"100%",minHeight:220,padding:10,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",resize:"vertical",fontSize:13,lineHeight:1.55,fontFamily:"var(--font-mono)"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 14px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,L.jsx)("button",{onClick:()=>b(a,{cancelled:!0}),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer"},children:c("desktop.cancel")}),"confirm"===a.method?(0,L.jsx)("button",{onClick:f,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"#fff",cursor:"pointer"},children:c("desktop.confirm")}):"select"!==a.method?(0,L.jsx)("button",{onClick:f,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"#fff",cursor:"pointer"},children:c("desktop.submit")}):null]})]})})}function tP({request:a,onInput:b}){let{t:c}=(0,aK.s)(),d=(0,M.useRef)(null),e=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=b$(d).trimEnd();if(b.test(a))continue;let e=d,f=b1(e);("│"===f||"┃"===f)&&" "===b1(e=b0(e,0))&&(e=b0(e,0));let g=function(a){let b=b_(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(e),h=g>=0?b_(e)[g]?.char:void 0;("│"===h||"┃"===h)&&(e=b0(e,g)),c.push(function(a){let b=a;for(;;){let a=b_(b),c=a[a.length-1];if(!c||""!==c.char.trim())return b;b=b.slice(0,c.start)+b.slice(c.end)}}(e))}for(;c.length>0&&""===b$(c[0]).trim();)c.shift();for(;c.length>0&&""===b$(c[c.length-1]).trim();)c.pop();return c.length?c:a}(a.lines);return(0,L.jsx)("div",{style:{position:"absolute",inset:0,zIndex:95,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"rgba(0,0,0,0.18)"},children:(0,L.jsxs)("div",{ref:d,tabIndex:0,role:"dialog","aria-modal":"true",onKeyDown:c=>{let d=function(a){if(a.ctrlKey&&!a.metaKey&&!a.altKey&&1===a.key.length){let b=a.key.toLowerCase();if(b>="a"&&b<="z")return String.fromCharCode(b.charCodeAt(0)-96)}switch(a.key){case"ArrowUp":return"\x1b[A";case"ArrowDown":return"\x1b[B";case"ArrowRight":return"\x1b[C";case"ArrowLeft":return"\x1b[D";case"Enter":return"\r";case"Escape":return"\x1b";case"Backspace":return"";case"Tab":return" ";case" ":return" ";default:if(!a.ctrlKey&&!a.metaKey&&!a.altKey&&1===a.key.length)return a.key;return null}}(c);d&&(c.preventDefault(),c.stopPropagation(),b(a,d))},style:{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,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("div",{style:{color:"var(--text)",fontSize:13,fontWeight:650},children:c("desktop.extensionPanel")}),(0,L.jsx)("button",{onClick:()=>b(a,"\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:c("desktop.close")})]}),(0,L.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:(e.length?e:[""]).map((a,b,c)=>{var d;return(0,L.jsxs)(M.Fragment,{children:[(d=`line-${b}`,(function(a){let b,c=[],d={},e=0;for(bX.lastIndex=0;null!==(b=bX.exec(a));)b.index>e&&c.push({text:a.slice(e,b.index),style:d}),d=function(a,b){let c={...a};for(let a=0;a<b.length;a++){let d=b[a];if(0===d)for(let a of Object.keys(c))delete c[a];else if(1===d)c.fontWeight=700;else if(2===d)c.opacity=.65;else if(3===d)c.fontStyle="italic";else if(4===d)c.textDecoration="underline";else if(22===d)delete c.fontWeight,delete c.opacity;else if(23===d)delete c.fontStyle;else if(24===d)delete c.textDecoration;else if(39===d)delete c.color;else if(49===d)delete c.backgroundColor;else if(d>=30&&d<=37)c.color=bY[d-30];else if(d>=90&&d<=97)c.color=bZ[d-90];else if(d>=40&&d<=47)c.backgroundColor=bY[d-40];else if(d>=100&&d<=107)c.backgroundColor=bZ[d-100];else if((38===d||48===d)&&2===b[a+1]){let[e,f,g]=[b[a+2],b[a+3],b[a+4]];[e,f,g].every(a=>"number"==typeof a&&Number.isFinite(a))&&(38===d?c.color=`rgb(${e}, ${f}, ${g})`:c.backgroundColor=`rgb(${e}, ${f}, ${g})`),a+=4}else if((38===d||48===d)&&5===b[a+1]){let e=function(a){if(a>=0&&a<8)return bY[a];if(a>=8&&a<16)return bZ[a-8];if(a>=16&&a<=231){let b=a-16,c=Math.floor(b/36),d=Math.floor(b%36/6),e=a=>0===a?0:55+40*a;return`rgb(${e(c)}, ${e(d)}, ${e(b%6)})`}if(a>=232&&a<=255){let b=8+(a-232)*10;return`rgb(${b}, ${b}, ${b})`}}(b[a+2]);e&&(38===d?c.color=e:c.backgroundColor=e),a+=2}}return c}(d,b[1]?b[1].split(";").map(a=>Number(a||"0")):[0]),e=b.index+b[0].length;return e<a.length&&c.push({text:a.slice(e),style:d}),c})(a).map((a,b)=>Object.keys(a.style).length>0?(0,L.jsx)("span",{style:a.style,children:a.text},`${d}-${b}`):a.text)),b<c.length-1?"\n":null]},b)})})]})})}let tQ={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"},tR={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",webm:"audio/webm"};function tS(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function tT(a,b,c,d={}){let e=bb(a),f=new URLSearchParams({type:b});for(let[a,b]of(c&&f.set("sessionId",c),Object.entries(d)))void 0!==b&&f.set(a,String(b));return`/api/files/${e}?${f.toString()}`}function tU({filePath:a,sourceSessionId:b}){let{t:c}=(0,aK.s)();return(0,L.jsx)("a",{href:tT(a,"download",b),download:bc(a),title:c("desktop.downloadFile"),style:{display:"flex",alignItems:"center",justifyContent:"center",height:20,padding:"0 5px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-muted)",cursor:"pointer",flexShrink:0,textDecoration:"none"},children:(0,L.jsx)(aF,{size:11,"aria-hidden":"true"})})}let tV={delete:"3px solid var(--git-status-deleted)",add:"3px solid var(--git-status-added)",edit:"3px solid var(--git-status-modified)"},tW="var(--git-status-deleted-bg)",tX="var(--git-status-added-bg)",tY="var(--git-status-added)";function tZ(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function t$({oldContent:a,newContent:b}){let{t:c}=(0,aK.s)(),d=function(a,b){let c=a.length,d=b.length,e=c+d,f=Array(2*e+1).fill(0),g=[];for(let h=0;h<=e;h++){g.push([...f]);for(let i=-h;i<=h;i+=2){let j,k=(j=i===-h||i!==h&&f[i-1+e]<f[i+1+e]?f[i+1+e]:f[i-1+e]+1)-i;for(;j<c&&k<d&&a[j]===b[k];)j++,k++;if(f[i+e]=j,j>=c&&k>=d){let f=[],i=c,j=d;for(let c=h;c>0;c--){let d,h=g[c-1],k=i-j;d=k===-c||k!==c&&h[k-1+e]<h[k+1+e]?k+1:k-1;let l=h[d+e],m=l-d;for(;i>l&&j>m;)i--,j--,f.unshift({type:"unchanged",text:a[i]});c>0&&(i>l?(i--,f.unshift({type:"removed",text:a[i]})):(j--,f.unshift({type:"added",text:b[j]})))}for(;i>0&&j>0;)i--,j--,f.unshift({type:"unchanged",text:a[i]});return f}}}return[...a.map(a=>({type:"removed",text:a})),...b.map(a=>({type:"added",text:a}))]}(a.split("\n"),b.split("\n"));if(!d.some(a=>"unchanged"!==a.type))return(0,L.jsx)("div",{style:{padding:"12px 16px",fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:c("desktop.noChanges")});let e=new Set(d.flatMap((a,b)=>"unchanged"!==a.type?[b]:[])),f=new Set;for(let a of e)for(let b=Math.max(0,a-3);b<=Math.min(d.length-1,a+3);b++)f.add(b);let g=[],h=0;for(;h<d.length;)if(f.has(h)){let a=[];for(;h<d.length&&f.has(h);)a.push(d[h]),h++;g.push({hidden:!1,lines:a})}else{let a=0;for(;h<d.length&&!f.has(h);)a++,h++;g.push({hidden:!0,count:a})}let i=[],j=1;for(let a of d)"removed"===a.type?i.push(0):i.push(j++);let k=0;return(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,minWidth:"max-content"},children:g.map((a,b)=>{if(a.hidden){let d=(0,L.jsx)("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:c("desktop.unchangedLines",{count:a.count})},b);return k+=a.count,d}let d=[],e=[],f=[],g=()=>{if(e.length||f.length){let a=e.length&&f.length?"edit":e.length?"delete":"add";for(let b of e)d.push({key:b.key,kind:"removed",text:b.text,lineNo:null,block:a});for(let b of f)d.push({key:b.key,kind:"added",text:b.text,lineNo:b.lineNo,block:a});e=[],f=[]}};a.lines.forEach((a,c)=>{"unchanged"===a.type?(g(),d.push({key:`${b}:${c}`,kind:"context",text:a.text,lineNo:i[k+c],block:null})):"removed"===a.type?e.push({key:`${b}:${c}`,text:a.text}):f.push({key:`${b}:${c}`,text:a.text,lineNo:i[k+c]})}),g();let h=d.map(a=>{let b="removed"===a.kind?tW:"added"===a.kind?tX:"transparent",c=a.block?tV[a.block]:"3px solid transparent",d="added"===a.kind?tY:"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",background:b,borderLeft:c},children:[(0,L.jsx)("span",{style:{minWidth:44,padding:"0 8px 0 16px",textAlign:"right",color:d,userSelect:"none",fontSize:11,lineHeight:1.6,flexShrink:0},children:a.lineNo??""}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)"},children:a.text||"\xa0"})]},a.key)});return k+=a.lines.length,(0,L.jsx)("div",{children:h},b)})})}function t_({patch:a}){let b=pl(a);if(!b)return null;let c=[],d=[],e=[],f=()=>{if(d.length||e.length){let a=d.length&&e.length?"edit":d.length?"delete":"add";for(let b of d)c.push({key:b.key,kind:"removed",text:b.text,lineNo:null,block:a});for(let b of e)c.push({key:b.key,kind:"added",text:b.text,lineNo:b.lineNo,block:a});d=[],e=[]}};return b.forEach((a,b)=>{a.rows.forEach((a,g)=>{if("hunk"===a.type){f(),c.push({key:`${b}:${g}:h`,kind:"hunk",text:a.text,lineNo:null,block:null});return}let{left:h,right:i}=a;if("context"===h.type&&"context"===i.type){f(),c.push({key:`${b}:${g}:c`,kind:"context",text:h.text,lineNo:i.lineNo,block:null});return}"removed"===h.type&&d.push({key:`${b}:${g}:l`,text:h.text}),"added"===i.type&&e.push({key:`${b}:${g}:r`,text:i.text,lineNo:i.lineNo})})}),f(),(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:"max-content"},children:c.map(a=>{if("hunk"===a.kind)return(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{height:"1.55em"}}),(0,L.jsx)("div",{style:{padding:"3px 12px",color:"var(--accent-blue)",background:"var(--bg-secondary)"},children:a.text}),(0,L.jsx)("div",{style:{height:"1.55em"}})]},a.key);let b="removed"===a.kind?tW:"added"===a.kind?tX:"transparent",c=a.block?tV[a.block]:"3px solid transparent",d="added"===a.kind?tY:"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",background:b,borderLeft:c},children:[(0,L.jsx)("span",{style:{width:44,flexShrink:0,padding:"0 8px 0 16px",textAlign:"right",color:d,userSelect:"none",fontSize:11},children:a.lineNo??""}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)"},children:a.text||"\xa0"})]},a.key)})})}function t0({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null);(0,M.useRef)(null);let m=bc(a).toLowerCase().split(".").pop()??"",n=tT(a,"read",c,e?{v:e}:void 0),o=null!=g?tZ(g):null;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:m||d("desktop.image")}),i&&(0,L.jsxs)("span",{children:[i.w," \xd7 ",i.h]}),o&&(0,L.jsx)("span",{children:o}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.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:k?(0,L.jsx)("div",{style:{color:"#f87171",fontSize:13},children:k}):(0,L.jsx)("img",{src:n,alt:a,onLoad:a=>{let b=a.currentTarget;j({w:b.naturalWidth,h:b.naturalHeight})},onError:()=>l(d("desktop.failedToLoadImage")),style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"}})})]})}function t1({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null);(0,M.useRef)(null);let m=bc(a).toLowerCase().split(".").pop()??"",n=tT(a,"read",c,e?{v:e}:void 0);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:m||d("desktop.audio")}),null!=i&&(0,L.jsx)("span",{children:function(a){if(!Number.isFinite(a))return"";let b=Math.round(a),c=Math.floor(b/60);return`${c}:${String(b%60).padStart(2,"0")}`}(i)}),null!=g&&(0,L.jsx)("span",{children:tZ(g)}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"var(--bg-panel)"},children:(0,L.jsxs)("div",{style:{width:"min(680px, 100%)"},children:[k&&(0,L.jsx)("div",{style:{color:"#f87171",fontSize:13,marginBottom:12,textAlign:"center"},children:k}),(0,L.jsx)("audio",{controls:!0,preload:"metadata",src:n,onLoadedMetadata:a=>j(a.currentTarget.duration),onError:()=>l(d("desktop.failedToLoadAudio")),style:{width:"100%"}},n)]})})]})}function t2({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(0),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null);(0,M.useRef)(null);let k=tS(a),l="pdf"===k,m=l?tT(a,"read",c,e?{v:e}:void 0):tT(a,"preview",c,e?{v:e}:void 0);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:"docx"===k?d("desktop.docxPreview"):"pdf"}),null!=g&&(0,L.jsx)("span",{children:tZ(g)}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{style:{flex:1,minHeight:0,background:"var(--bg-panel)"},children:i?(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24,color:"#f87171",fontSize:13,textAlign:"center"},children:i}):(0,L.jsx)("iframe",{src:m,sandbox:l?void 0:"allow-same-origin",title:d("desktop.previewFile",{file:bc(a)}),style:{width:"100%",height:"100%",border:"none",background:l?"var(--bg)":"#eef1f5"}},m)})]})}function t3({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g}){let h;return null!==(tQ[tS(a)]??null)?(0,L.jsx)(t0,{filePath:a,cwd:b,sourceSessionId:c}):null!==(tR[tS(a)]??null)?(0,L.jsx)(t1,{filePath:a,cwd:b,sourceSessionId:c}):null!==("pdf"===(h=tS(a))||"docx"===h?h:null)?(0,L.jsx)(t2,{filePath:a,cwd:b,sourceSessionId:c}):(0,L.jsx)(t4,{filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g})}function t4({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g}){let h,i,{t:j}=(0,aK.s)(),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(null),[q,r]=(0,M.useState)(!0),[s,t]=(0,M.useState)(null),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)("source"),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(0),[C,D]=(0,M.useState)(null);(0,M.useRef)(null);let E=(0,M.useRef)(null);(0,M.useCallback)(async a=>{if(!b)return void p(null);try{let c=new URLSearchParams({cwd:b,path:a}),d=await fetch(`/api/git/diff?${c.toString()}`),e=await d.json();p(d.ok&&e.supported&&"string"==typeof e.patch?e:null)}catch{p(null)}},[b]),(0,M.useCallback)((a,b=!1)=>fetch(tT(a,"read",c)).then(a=>a.json()).then(a=>a.error?(t(a.error),null):(b?(l(b=>(b&&n(b.content),a)),B(a=>a+1)):l(a),a)).catch(a=>(t(String(a)),null)),[c]);let F=(0,M.useMemo)(()=>oV(k?.content??""),[k?.content]),G=o?.supported===!0&&"string"==typeof o.patch,H=G&&o?.status==="deleted",I=(0,M.useCallback)(c=>{f&&c&&f(bd(a,b),c.startLine,c.endLine)},[b,a,f]);if(q)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:j("desktop.loadingFile")});if(H&&!k)return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{padding:"5px 16px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11},title:a,children:bd(a,b)}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)"},children:(0,L.jsx)(t_,{patch:o.patch})})]});if(s)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#f87171",fontSize:13},children:s});if(!k)return null;let J="html"===k.language,K="markdown"===k.language,N=(i=(h=ba(a).replace(/\/+$/,"")).lastIndexOf("/"))<0?"":0===i?"/":2===i&&/^[a-zA-Z]:\//.test(h)?h.slice(0,3):h.slice(0,i),O=k.content.split("\n"),P=null!==m&&m!==k.content||G;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,L.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,L.jsx)("span",{style:{fontFamily:"var(--font-mono)"},title:a,children:bd(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:k.language}),"source"===w&&(0,L.jsx)("span",{children:j("desktop.lines",{count:O.length})}),(0,L.jsx)("span",{children:tZ(k.size)}),P&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>x("source"),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:"source"===w?"var(--bg-selected)":"var(--bg-hover)",color:"source"===w?"var(--text)":"var(--text-muted)",fontWeight:"source"===w?600:400},children:j("desktop.source")}),(0,L.jsxs)("button",{onClick:()=>x("diff"),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:"diff"===w?"var(--bg-selected)":"var(--bg-hover)",color:"diff"===w?"var(--text)":"var(--text-muted)",fontWeight:"diff"===w?600:400},children:[j("desktop.diff")," ",A>0&&(0,L.jsxs)("span",{style:{color:"var(--git-status-added)",marginLeft:2},children:["+",A]})]})]}),"source"===w&&!u&&(0,L.jsx)("button",{onClick:()=>z(a=>!a),title:j(y?"desktop.disableWordWrap":"desktop.enableWordWrap"),style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:y?"var(--bg-selected)":"var(--bg-hover)",color:y?"var(--text)":"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:y?600:400},children:j("desktop.wrap")}),J&&"source"===w&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>v(!1),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:u?"var(--bg-hover)":"var(--bg-selected)",color:u?"var(--text-muted)":"var(--text)",fontWeight:u?400:600},children:j("desktop.code")}),(0,L.jsx)("button",{onClick:()=>v(!0),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:u?"var(--bg-selected)":"var(--bg-hover)",color:u?"var(--text)":"var(--text-muted)",fontWeight:u?600:400},children:j("desktop.preview")})]}),K&&"source"===w&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>v(!0),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:u?"var(--bg-selected)":"var(--bg-hover)",color:u?"var(--text)":"var(--text-muted)",fontWeight:u?600:400},children:j("desktop.preview")}),(0,L.jsx)("button",{onClick:()=>v(!1),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:u?"var(--bg-hover)":"var(--bg-selected)",color:u?"var(--text-muted)":"var(--text)",fontWeight:u?400:600},children:j("desktop.raw")})]}),(e||f)&&(0,L.jsx)("button",{type:"button",onPointerDown:a=>a.preventDefault(),onClick:()=>{C&&f?I(C):e?.(bd(a,b),!1)},title:C?j("desktop.mentionSelectedLines",{start:C.startLine,end:C.endLine}):j("desktop.mentionFile"),"aria-label":C?j("desktop.mentionSelectedLines",{start:C.startLine,end:C.endLine}):j("desktop.mentionFile"),style:{height:20,minWidth:20,padding:"0 5px",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:"@"}),(0,L.jsx)(tU,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{ref:E,style:{flex:1,overflow:"auto",background:"var(--bg)"},children:"diff"===w&&P?G?(0,L.jsx)(t_,{patch:o.patch}):(0,L.jsx)(t$,{oldContent:m,newContent:k.content}):J&&u?(0,L.jsx)("iframe",{srcDoc:k.content,sandbox:"allow-scripts",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:j("desktop.htmlPreview")}):K&&u?(0,L.jsx)("div",{className:"markdown-body markdown-file-preview",style:{padding:"24px 32px"},children:(0,L.jsx)(fD,{remarkPlugins:oY,rehypePlugins:oZ,components:{h1:({children:a})=>(0,L.jsx)("h1",{id:oU(a),children:a}),h2:({children:a})=>(0,L.jsx)("h2",{id:oU(a),children:a}),h3:({children:a})=>(0,L.jsx)("h3",{id:oU(a),children:a}),code({className:a,children:b,...c}){let d=a?.replace("language-","").toLowerCase()??"",e=String(b);return a?.includes("language-")||e.includes("\n")?"mermaid"===d?(0,L.jsx)(pb,{code:e.replace(/\n$/,"")}):(0,L.jsx)(pe,{code:e.replace(/\n$/,""),lang:d}):(0,L.jsx)("code",{className:"inline max-w-full whitespace-normal break-words [overflow-wrap:anywhere] align-baseline bg-(--bg-secondary) border border-(--border) px-1.5 py-0.5 text-xs font-mono text-(--accent-blue)",...c,children:b})},pre:({children:a})=>(0,L.jsx)(L.Fragment,{children:a}),a({href:a,children:c,...e}){delete e.node;let f="text-(--accent-blue) underline underline-offset-2 hover:text-(--accent-blue)/80",g=d?b8(a,N,b??N):null;return g&&d?(0,L.jsx)("a",{href:a,...e,className:f,onClick:a=>{if(a.defaultPrevented||0!==a.button||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey)return;let b=a.currentTarget.getAttribute("target");b&&"_self"!==b||(a.preventDefault(),d(g))},children:c}):(0,L.jsx)("a",{href:a,...e,className:f,target:"_blank",rel:"noopener noreferrer",children:c})},table:({children:a})=>(0,L.jsx)("div",{className:"my-3 rounded-lg overflow-hidden border border-(--border)",children:(0,L.jsx)("div",{className:"overflow-x-auto",children:(0,L.jsx)("table",{className:"w-full text-sm border-collapse [&_tr:last-child>td]:border-b-0",children:a})})})},children:F})}):(0,L.jsx)(kZ,{language:"text"===k.language?"plaintext":k.language,style:o$,showLineNumbers:!0,lineNumberStyle:{color:"var(--text-dim)",fontStyle:"normal",minWidth:"3em",paddingRight:"1em"},customStyle:{margin:0,padding:"12px 0",background:"var(--bg)",fontSize:13,lineHeight:1.6,fontFamily:"var(--font-mono)",minHeight:"100%"},codeTagProps:{style:{fontFamily:"var(--font-mono)"}},lineProps:a=>({className:"file-source-line","data-line-number":String(a)}),wrapLongLines:y,children:k.content})})]})}let t5={running:"var(--accent)",completed:"#22c55e",failed:"#ef4444",stopped:"#d97706"},t6={running:"desktop.subagentsStatusRunning",completed:"desktop.subagentsStatusCompleted",failed:"desktop.subagentsStatusFailed",stopped:"desktop.subagentsStatusStopped"};function t7({agent:a,selected:b,onSelect:c}){let[d,e]=(0,M.useState)(!1),{t:f}=(0,aK.s)(),[g,h]=(0,M.useState)(()=>Date.now()),i=a.completedAt?a.completedAt-a.startedAt:g-a.startedAt,j=a.tokens?.total??a.tokens?.input??a.tokens?.output,k=t5[a.status];return(0,L.jsxs)("button",{type:"button",onClick:()=>c?.(a),onMouseEnter:()=>e(!0),onMouseLeave:()=>e(!1),title:a.error||`${a.agentType} \xb7 ${a.description}`,style:{width:"100%",display:"flex",alignItems:"center",gap:7,padding:"5px 10px",border:"none",borderRadius:5,background:b?"var(--bg-selected)":d?"var(--bg-hover)":"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",minWidth:0},children:[(0,L.jsx)("span",{"aria-hidden":"true",style:{width:7,height:7,flexShrink:0,borderRadius:"50%",background:k,boxShadow:"running"===a.status?`0 0 0 0 ${k}`:"none",animation:"running"===a.status?"subagent-pulse 1.4s ease-out infinite":"none"}}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",fontWeight:600,color:"var(--text-dim)"},children:a.agentType}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11.5,color:"var(--text-muted)"},children:a.description||f("desktop.subagentsNoDesc")}),void 0!==j&&j>0&&(0,L.jsxs)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:[void 0===j?"":j>=1e6?`${(j/1e6).toFixed(1)}M`:j>=1e3?`${(j/1e3).toFixed(1)}k`:`${j}`,"t"]}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:function(a){if(void 0===a)return"…";if(a<1e3)return`${a}ms`;let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;return d>0?`${c}m ${d}s`:`${c}m`}(i)}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:10,color:k},children:f(t6[a.status])})]})}function t8({subagents:a,onSelect:b,selectedId:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)(!0),g=a.filter(a=>"running"===a.status).length;return 0===a.length?(0,L.jsx)("div",{style:{padding:"18px 14px",fontSize:12,color:"var(--text-dim)",textAlign:"center"},children:d("desktop.subagentsEmpty")}):(0,L.jsxs)("section",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",flexShrink:0,padding:"6px 10px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),"aria-expanded":e,style:{display:"flex",alignItems:"center",gap:6,flex:1,minWidth:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",textAlign:"left"},children:[(0,L.jsx)(al,{size:9,weight:"regular",style:{transform:e?"rotate(90deg)":"none",transition:"transform 0.15s",flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d("desktop.subagentsPanelTitle")})]}),g>0&&(0,L.jsxs)("span",{style:{marginRight:4,fontSize:10,fontFamily:"var(--font-mono)",color:"var(--accent)"},children:["● ",g," ",d("desktop.subagentsStatusRunning")]})]}),e&&(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",padding:"4px 0 8px"},children:a.map(a=>(0,L.jsx)(t7,{agent:a,selected:a.id===c,onSelect:b},a.id))})]})}let t9=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M160,48V208L80,128Z",opacity:"0.2"}),M.createElement("path",{d:"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z"}))]]),ua=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:t9}));ua.displayName="CaretLeftIcon";let ub={user:{label:"User",color:"var(--accent)"},assistant:{label:"Assistant",color:"var(--text)"},toolResult:{label:"Result",color:"var(--text-dim)"},bashExecution:{label:"Bash",color:"var(--text-muted)"}};function uc({line:a}){let b=ub[a.role]??ub.toolResult;return(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsxs)("div",{style:{fontSize:10.5,fontWeight:600,color:b.color,marginBottom:2,fontFamily:"var(--font-mono)"},children:["[",b.label,"]"]}),(0,L.jsx)("pre",{style:{margin:0,fontSize:11.5,lineHeight:1.55,color:"var(--text-muted)",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",maxHeight:240,overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,padding:"6px 8px"},children:a.text})]})}function ud({agent:a,cwd:b,onBack:c}){let{t:d}=(0,aK.s)(),[e,f]=(0,M.useState)([]),[g,h]=(0,M.useState)(!0),[i,j]=(0,M.useState)(null),k=(0,M.useRef)(null),l=(0,M.useRef)(!0);(0,M.useCallback)(async(c=!1)=>{if(a.id&&b){c||h(!0);try{let d=new URLSearchParams({id:a.id,cwd:b}),e=await fetch(`/api/subagents/transcript?${d}`),g=await e.json();if(!e.ok||g.error){c||j(g.error??`HTTP ${e.status}`);return}f(g.lines??[]),j(null)}catch(a){c||j(a instanceof Error?a.message:String(a))}finally{h(!1)}}},[a.id,b]);let m=a.completedAt?a.completedAt-a.startedAt:void 0,n=a.tokens?.total??a.tokens?.input??a.tokens?.output,o="completed"===a.status?"#22c55e":"failed"===a.status?"#ef4444":"stopped"===a.status?"#d97706":"var(--accent)";return(0,L.jsxs)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column"},children:[(0,L.jsxs)("div",{style:{flexShrink:0,borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",padding:"6px 8px"},children:[(0,L.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8},children:(0,L.jsxs)("button",{type:"button",onClick:c,title:d("desktop.subagentsBack"),style:{display:"inline-flex",alignItems:"center",gap:2,padding:"3px 6px",border:"none",borderRadius:5,background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:11},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent",a.currentTarget.style.color="var(--text-muted)"},children:[(0,L.jsx)(ua,{size:12,"aria-hidden":"true"}),d("desktop.subagentsBack")]})}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4,minWidth:0},children:[(0,L.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,flexShrink:0,borderRadius:"50%",background:o,boxShadow:"running"===a.status?`0 0 0 0 ${o}`:"none",animation:"running"===a.status?"subagent-pulse 1.4s ease-out infinite":"none"}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--text)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.agentType}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11.5,color:"var(--text-muted)"},children:a.description})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:3,fontSize:10.5,fontFamily:"var(--font-mono)",color:"var(--text-dim)"},children:[void 0!==a.toolUses&&a.toolUses>0&&(0,L.jsxs)("span",{children:[a.toolUses," tool",1===a.toolUses?"":"s"]}),void 0!==n&&n>0&&(0,L.jsxs)("span",{children:[void 0===n?"":n>=1e6?`${(n/1e6).toFixed(1)}M`:n>=1e3?`${(n/1e3).toFixed(1)}k`:`${n}`," tokens"]}),void 0!==m&&(0,L.jsx)("span",{children:function(a){if(void 0===a)return"";if(a<1e3)return`${a}ms`;let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;return d>0?`${c}m ${d}s`:`${c}m`}(m)}),(0,L.jsx)("span",{style:{color:o},children:d(`desktop.subagentsStatus${"running"===a.status?"Running":"completed"===a.status?"Completed":"failed"===a.status?"Failed":"Stopped"}`)})]})]}),(0,L.jsx)("div",{ref:k,onScroll:a=>{let b=a.currentTarget;l.current=b.scrollHeight-b.scrollTop-b.clientHeight<40},style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",padding:"8px 10px",background:"var(--bg)"},children:g?(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:[d("desktop.loading"),"…"]}):i?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",padding:"12px 4px"},children:i}):0===e.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:d("running"===a.status?"desktop.subagentsWaitingFirstMessage":"desktop.subagentsNoTranscript")}):(0,L.jsx)("div",{style:{paddingBottom:8},children:e.map((a,b)=>(0,L.jsx)(uc,{line:a},b))})})]})}function ue({tabs:a,activeTabId:b,onSelectTab:c,onCloseTab:d}){let{t:e}=(0,aK.s)(),[f,g]=(0,M.useState)(null);return(0,L.jsx)("div",{style:{display:"flex",alignItems:"flex-end",background:"var(--bg-panel)",overflowX:"auto",flexShrink:0,height:36},children:a.map(a=>{let h=a.id===b;return(0,L.jsxs)("div",{onClick:()=>c(a.id),onMouseDown:a=>{1===a.button&&a.preventDefault()},onAuxClick:b=>{1===b.button&&(b.preventDefault(),b.stopPropagation(),d(a.id))},style:{display:"flex",alignItems:"center",gap:6,height:36,paddingLeft:12,paddingRight:6,borderRight:"1px solid var(--border)",background:h?"var(--bg)":"var(--bg-panel)",cursor:"pointer",fontSize:12,color:h?"var(--text)":"var(--text-muted)",whiteSpace:"nowrap",maxWidth:180,minWidth:80,flexShrink:0,userSelect:"none",transition:"background 0.1s, color 0.1s"},children:[(0,L.jsx)("span",{style:{flexShrink:0,opacity:h?1:.7,display:"flex",alignItems:"center"},children:a9(a.label,13)}),(0,L.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,fontWeight:h?500:400},title:a.filePath,children:a.label}),(0,L.jsx)("button",{onClick:b=>{b.stopPropagation(),d(a.id)},onMouseEnter:()=>g(a.id),onMouseLeave:()=>g(null),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,background:f===a.id?"var(--bg-hover)":"transparent",border:"none",borderRadius:4,color:f===a.id?"var(--text)":"var(--text-dim)",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.1s, color 0.1s"},title:e("desktop.closeTab"),"aria-label":e("desktop.closeTabWithLabel",{label:a.label}),children:(0,L.jsx)(X,{size:11,"aria-hidden":"true"})})]},a.id)})})}let uf=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240.49,15.51a12,12,0,0,0-17,0L173.94,65.09l-2.54-2.55a36.05,36.05,0,0,0-50.91,0L100,83l-3.51-3.52a12,12,0,0,0-17,17L83,100,62.54,120.49a36,36,0,0,0,0,50.91l2.55,2.54L15.51,223.51a12,12,0,0,0,17,17l49.57-49.58,2.54,2.55a36.06,36.06,0,0,0,50.91,0L156,173l3.51,3.52a12,12,0,0,0,17-17L173,156l20.49-20.49a36,36,0,0,0,0-50.91l-2.55-2.54,49.58-49.57A12,12,0,0,0,240.49,15.51Zm-121.95,161a12,12,0,0,1-17,0L79.51,154.43a12,12,0,0,1,0-17L100,117l39,39Zm58-57.95h0L156,139l-39-39,20.49-20.49a12,12,0,0,1,17,0l22.06,22.06a12,12,0,0,1,0,17ZM85.27,33.37a12,12,0,0,1,21.46-10.74l8,16A12,12,0,1,1,93.27,49.37Zm-68,57.26a12,12,0,0,1,16.1-5.36l16,8a12,12,0,1,1-10.74,21.46l-16-8A12,12,0,0,1,17.27,90.63Zm221.46,74.74a12,12,0,0,1-16.1,5.36l-16-8a12,12,0,0,1,10.74-21.46l16,8A12,12,0,0,1,238.73,165.37Zm-68,57.26a12,12,0,1,1-21.46,10.74l-8-16a12,12,0,0,1,21.46-10.74Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z",opacity:"0.2"}),M.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM29,103.43l20,8A8,8,0,1,0,55,96.57l-20-8A8,8,0,0,0,29,103.43ZM227,152.57l-20-8A8,8,0,1,0,201,159.43l20,8A8,8,0,0,0,227,152.57ZM159.43,201A8,8,0,0,0,144.57,207l8,20A8,8,0,1,0,167.43,221ZM237.91,18.52a8,8,0,0,0-11.5-.18L174,70.75l-5.38-5.38a32,32,0,0,0-45.28,0L106.14,82.54a4,4,0,0,0,0,5.66l61.7,61.66a4,4,0,0,0,5.66,0l16.74-16.74a32.76,32.76,0,0,0,9.81-22.52,31.82,31.82,0,0,0-9.37-23.17l-5.38-5.37,52.2-52.17A8.22,8.22,0,0,0,237.91,18.52ZM85.64,90.34a8,8,0,0,0-11.49.18,8.22,8.22,0,0,0,.41,11.37L80.67,108,65.34,123.31A31.82,31.82,0,0,0,56,146.47,32.75,32.75,0,0,0,65.77,169l5,4.94L18.49,226.13a8.21,8.21,0,0,0-.61,11.1,8,8,0,0,0,11.72.43L82,185.25l5.37,5.38a32.1,32.1,0,0,0,45.29,0L148,175.31l6.34,6.35a8,8,0,0,0,11.32-11.32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236.24,19.76a6,6,0,0,0-8.48,0L173.94,73.57l-6.79-6.78a30,30,0,0,0-42.42,0L100,91.51l-7.76-7.75a6,6,0,0,0-8.48,8.48L91.51,100,66.79,124.73a30,30,0,0,0,0,42.42l6.78,6.79L19.76,227.76a6,6,0,1,0,8.48,8.48l53.82-53.81,6.79,6.78a30,30,0,0,0,42.42,0L156,164.49l7.76,7.75a6,6,0,0,0,8.48-8.48L164.49,156l24.72-24.73a30,30,0,0,0,0-42.42l-6.78-6.79,53.81-53.82A6,6,0,0,0,236.24,19.76Zm-113.45,161a18,18,0,0,1-25.46,0L75.27,158.67a18,18,0,0,1,0-25.46L100,108.49,147.51,156Zm57.94-57.94L156,147.51,108.49,100l24.72-24.73a18,18,0,0,1,25.46,0l22.06,22.06a18,18,0,0,1,0,25.46ZM90.43,34.23a6,6,0,0,1,11.14-4.46l8,20a6,6,0,1,1-11.14,4.46Zm-64,59.54a6,6,0,0,1,7.8-3.34l20,8a6,6,0,1,1-4.46,11.14l-20-8A6,6,0,0,1,26.43,93.77Zm203.14,68.46a6,6,0,0,1-7.8,3.34l-20-8a6,6,0,0,1,4.46-11.14l20,8A6,6,0,0,1,229.57,162.23Zm-64,59.54a6,6,0,1,1-11.14,4.46l-8-20a6,6,0,0,1,11.14-4.46Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32,32,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22A16,16,0,0,1,179.31,121.37ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M234.83,21.17a4,4,0,0,0-5.66,0L173.94,76.4l-8.2-8.2a28,28,0,0,0-39.6,0L100,94.34l-9.17-9.17a4,4,0,0,0-5.66,5.66L94.34,100,68.2,126.14a28,28,0,0,0,0,39.6l8.2,8.2L21.17,229.17a4,4,0,0,0,5.66,5.66L82.06,179.6l8.2,8.2a28,28,0,0,0,39.6,0L156,161.66l9.17,9.17a4,4,0,0,0,5.66-5.66L161.66,156l26.14-26.14a28,28,0,0,0,0-39.6l-8.2-8.2,55.23-55.23A4,4,0,0,0,234.83,21.17Zm-110.63,161a20,20,0,0,1-28.28,0L73.86,160.08a20,20,0,0,1,0-28.28L100,105.66,150.34,156Zm57.94-57.94L156,150.34,105.66,100,131.8,73.86a20,20,0,0,1,28.28,0l22.06,22.06A20,20,0,0,1,182.14,124.2ZM92.29,33.49a4,4,0,1,1,7.42-3l8,20a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,104,56a4,4,0,0,1-3.71-2.51Zm-64,61a4,4,0,0,1,5.2-2.22l20,8A4,4,0,0,1,52,108a3.91,3.91,0,0,1-1.49-.29l-20-8A4,4,0,0,1,28.29,94.51Zm199.42,67A4,4,0,0,1,224,164a3.91,3.91,0,0,1-1.49-.29l-20-8a4,4,0,1,1,3-7.42l20,8A4,4,0,0,1,227.71,161.49Zm-64,61a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,160,228a4,4,0,0,1-3.71-2.51l-8-20a4,4,0,0,1,7.42-3Z"}))]]),ug=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uf}));ug.displayName="PlugsConnectedIcon";let uh=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z",opacity:"0.2"}),M.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64ZM160,216H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Z"}))]]),ui=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uh}));ui.displayName="MonitorIcon";let uj=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M84,100A12,12,0,0,1,96,88h64a12,12,0,0,1,0,24H96A12,12,0,0,1,84,100Zm12,52h64a12,12,0,0,0,0-24H96a12,12,0,0,0,0,24ZM236,56V184a20,20,0,0,1-20,20H157.89l-12.52,21.92a20,20,0,0,1-34.74,0L98.11,204H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V180h61.07a12,12,0,0,1,10.42,6.05L128,207.94l12.51-21.89A12,12,0,0,1,150.93,180H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,56V184a8,8,0,0,1-8,8H150.93l-16,28a8,8,0,0,1-13.9,0l-16-28H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z",opacity:"0.2"}),M.createElement("path",{d:"M88,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,104Zm8,40h64a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,56V184a16,16,0,0,1-16,16H155.57l-13.68,23.94a16,16,0,0,1-27.78,0L100.43,200H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Zm-16,0H40V184h65.07a8,8,0,0,1,7,4l16,28,16-28a8,8,0,0,1,7-4H216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V184a16,16,0,0,0,16,16h60.43l13.68,23.94a16,16,0,0,0,27.78,0L155.57,200H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM160,144H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M166,104a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,104Zm-6,26H96a6,6,0,0,0,0,12h64a6,6,0,0,0,0-12Zm70-74V184a14,14,0,0,1-14,14H154.41L140.16,223a14,14,0,0,1-24.32,0L101.59,198H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V184a2,2,0,0,0,2,2h65.07a6,6,0,0,1,5.21,3l16,28a2,2,0,0,0,3.48,0l16-28a6,6,0,0,1,5.21-3H216a2,2,0,0,0,2-2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,104Zm8,40h64a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,56V184a16,16,0,0,1-16,16H155.57l-13.68,23.94a16,16,0,0,1-27.78,0L100.43,200H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Zm-16,0H40V184h65.07a8,8,0,0,1,7,4l16,28,16-28a8,8,0,0,1,7-4H216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M164,104a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,104Zm-4,28H96a4,4,0,0,0,0,8h64a4,4,0,0,0,0-8Zm68-76V184a12,12,0,0,1-12,12H153.25L138.42,222a12,12,0,0,1-20.84,0L102.75,196H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V184a4,4,0,0,0,4,4h65.07a4,4,0,0,1,3.47,2l16,28a4,4,0,0,0,6.94,0l16-28a4,4,0,0,1,3.47-2H216a4,4,0,0,0,4-4Z"}))]]),uk=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uj}));uk.displayName="ChatCenteredTextIcon";let ul=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,108H140V92h4a20,20,0,0,0,20-20V40a20,20,0,0,0-20-20H112A20,20,0,0,0,92,40V72a20,20,0,0,0,20,20h4v16H24a12,12,0,0,0,0,24H52v24H48a20,20,0,0,0-20,20v32a20,20,0,0,0,20,20H80a20,20,0,0,0,20-20V176a20,20,0,0,0-20-20H76V132H180v24h-4a20,20,0,0,0-20,20v32a20,20,0,0,0,20,20h32a20,20,0,0,0,20-20V176a20,20,0,0,0-20-20h-4V132h28a12,12,0,0,0,0-24ZM116,44h24V68H116ZM76,204H52V180H76Zm128,0H180V180h24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M152,40V72a8,8,0,0,1-8,8H112a8,8,0,0,1-8-8V40a8,8,0,0,1,8-8h32A8,8,0,0,1,152,40ZM80,168H48a8,8,0,0,0-8,8v32a8,8,0,0,0,8,8H80a8,8,0,0,0,8-8V176A8,8,0,0,0,80,168Zm128,0H176a8,8,0,0,0-8,8v32a8,8,0,0,0,8,8h32a8,8,0,0,0,8-8V176A8,8,0,0,0,208,168Z",opacity:"0.2"}),M.createElement("path",{d:"M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,120a8,8,0,0,1-8,8H200v32h8a16,16,0,0,1,16,16v32a16,16,0,0,1-16,16H176a16,16,0,0,1-16-16V176a16,16,0,0,1,16-16h8V128H72v32h8a16,16,0,0,1,16,16v32a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V176a16,16,0,0,1,16-16h8V128H24a8,8,0,0,1,0-16h96V88h-8A16,16,0,0,1,96,72V40a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V72a16,16,0,0,1-16,16h-8v24h96A8,8,0,0,1,240,120Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,114H134V86h10a14,14,0,0,0,14-14V40a14,14,0,0,0-14-14H112A14,14,0,0,0,98,40V72a14,14,0,0,0,14,14h10v28H24a6,6,0,0,0,0,12H58v36H48a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14H80a14,14,0,0,0,14-14V176a14,14,0,0,0-14-14H70V126H186v36H176a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14h32a14,14,0,0,0,14-14V176a14,14,0,0,0-14-14H198V126h34a6,6,0,0,0,0-12ZM110,72V40a2,2,0,0,1,2-2h32a2,2,0,0,1,2,2V72a2,2,0,0,1-2,2H112A2,2,0,0,1,110,72ZM82,176v32a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V176a2,2,0,0,1,2-2H80A2,2,0,0,1,82,176Zm128,0v32a2,2,0,0,1-2,2H176a2,2,0,0,1-2-2V176a2,2,0,0,1,2-2h32A2,2,0,0,1,210,176Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,116H132V84h12a12,12,0,0,0,12-12V40a12,12,0,0,0-12-12H112a12,12,0,0,0-12,12V72a12,12,0,0,0,12,12h12v32H24a4,4,0,0,0,0,8H60v40H48a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12H80a12,12,0,0,0,12-12V176a12,12,0,0,0-12-12H68V124H188v40H176a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12h32a12,12,0,0,0,12-12V176a12,12,0,0,0-12-12H196V124h36a4,4,0,0,0,0-8ZM108,72V40a4,4,0,0,1,4-4h32a4,4,0,0,1,4,4V72a4,4,0,0,1-4,4H112A4,4,0,0,1,108,72ZM84,176v32a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V176a4,4,0,0,1,4-4H80A4,4,0,0,1,84,176Zm128,0v32a4,4,0,0,1-4,4H176a4,4,0,0,1-4-4V176a4,4,0,0,1,4-4h32A4,4,0,0,1,212,176Z"}))]]),um=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ul}));um.displayName="NetworkIcon";let un=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,196h-4V40a12,12,0,0,0-12-12H152a12,12,0,0,0-12,12V76H96A12,12,0,0,0,84,88v36H48a12,12,0,0,0-12,12v60H32a12,12,0,0,0,0,24H224a12,12,0,0,0,0-24ZM164,52h32V196H164Zm-56,48h32v96H108ZM60,148H84v48H60Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,40V208H152V40Z",opacity:"0.2"}),M.createElement("path",{d:"M224,200h-8V40a8,8,0,0,0-8-8H152a8,8,0,0,0-8,8V80H96a8,8,0,0,0-8,8v40H48a8,8,0,0,0-8,8v64H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16ZM160,48h40V200H160ZM104,96h40V200H104ZM56,144H88v56H56Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,208a8,8,0,0,1-8,8H32a8,8,0,0,1,0-16h8V136a8,8,0,0,1,8-8H72a8,8,0,0,1,8,8v64H96V88a8,8,0,0,1,8-8h32a8,8,0,0,1,8,8V200h16V40a8,8,0,0,1,8-8h40a8,8,0,0,1,8,8V200h8A8,8,0,0,1,232,208Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,202H214V40a6,6,0,0,0-6-6H152a6,6,0,0,0-6,6V82H96a6,6,0,0,0-6,6v42H48a6,6,0,0,0-6,6v66H32a6,6,0,0,0,0,12H224a6,6,0,0,0,0-12ZM158,46h44V202H158ZM102,94h44V202H102ZM54,142H90v60H54Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,200h-8V40a8,8,0,0,0-8-8H152a8,8,0,0,0-8,8V80H96a8,8,0,0,0-8,8v40H48a8,8,0,0,0-8,8v64H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16ZM160,48h40V200H160ZM104,96h40V200H104ZM56,144H88v56H56Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,204H212V40a4,4,0,0,0-4-4H152a4,4,0,0,0-4,4V84H96a4,4,0,0,0-4,4v44H48a4,4,0,0,0-4,4v68H32a4,4,0,0,0,0,8H224a4,4,0,0,0,0-8ZM156,44h48V204H156ZM100,92h48V204H100ZM52,140H92v64H52Z"}))]]),uo=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:un}));uo.displayName="ChartBarIcon";let up=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M72.5,150.63,100.79,128,72.5,105.37a12,12,0,1,1,15-18.74l40,32a12,12,0,0,1,0,18.74l-40,32a12,12,0,0,1-15-18.74ZM144,172h32a12,12,0,0,0,0-24H144a12,12,0,0,0,0,24ZM236,56V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V196H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z",opacity:"0.2"}),M.createElement("path",{d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-91,94.25-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32a8,8,0,0,1,0,12.5ZM176,168H136a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M126,128a6,6,0,0,1-2.25,4.69l-40,32a6,6,0,0,1-7.5-9.38L110.4,128,76.25,100.69a6,6,0,1,1,7.5-9.38l40,32A6,6,0,0,1,126,128Zm50,26H136a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Zm54-98V200a14,14,0,0,1-14,14H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V200a2,2,0,0,0,2,2H216a2,2,0,0,0,2-2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M122.5,124.88a4,4,0,0,1,0,6.24l-40,32a4,4,0,0,1-5-6.24L113.6,128,77.5,99.12a4,4,0,0,1,5-6.24ZM176,156H136a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8ZM228,56V200a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H216a4,4,0,0,0,4-4Z"}))]]),uq=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:up}));uq.displayName="TerminalWindowIcon";let ur=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M72,104a16,16,0,1,1,16,16A16,16,0,0,1,72,104Zm96,16a16,16,0,1,0-16-16A16,16,0,0,0,168,120Zm68-40V192a36,36,0,0,1-36,36H56a36,36,0,0,1-36-36V80A36,36,0,0,1,56,44h60V16a12,12,0,0,1,24,0V44h60A36,36,0,0,1,236,80Zm-24,0a12,12,0,0,0-12-12H56A12,12,0,0,0,44,80V192a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12Zm-12,82a30,30,0,0,1-30,30H86a30,30,0,0,1,0-60h84A30,30,0,0,1,200,162Zm-80-6v12h16V156ZM86,168H96V156H86a6,6,0,0,0,0,12Zm90-6a6,6,0,0,0-6-6H160v12h10A6,6,0,0,0,176,162Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,56H56A24,24,0,0,0,32,80V192a24,24,0,0,0,24,24H200a24,24,0,0,0,24-24V80A24,24,0,0,0,200,56ZM164,184H92a20,20,0,0,1,0-40h72a20,20,0,0,1,0,40Z",opacity:"0.2"}),M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Zm4,28H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48ZM172,96a12,12,0,1,1-12,12A12,12,0,0,1,172,96ZM96,184H80a16,16,0,0,1,0-32H96ZM84,120a12,12,0,1,1,12-12A12,12,0,0,1,84,120Zm60,64H112V152h32Zm32,0H160V152h16a16,16,0,0,1,0,32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,50H134V16a6,6,0,0,0-12,0V50H56A30,30,0,0,0,26,80V192a30,30,0,0,0,30,30H200a30,30,0,0,0,30-30V80A30,30,0,0,0,200,50Zm18,142a18,18,0,0,1-18,18H56a18,18,0,0,1-18-18V80A18,18,0,0,1,56,62H200a18,18,0,0,1,18,18ZM74,108a10,10,0,1,1,10,10A10,10,0,0,1,74,108Zm88,0a10,10,0,1,1,10,10A10,10,0,0,1,162,108Zm2,30H92a26,26,0,0,0,0,52h72a26,26,0,0,0,0-52Zm-22,12v28H114V150ZM78,164a14,14,0,0,1,14-14h10v28H92A14,14,0,0,1,78,164Zm86,14H154V150h10a14,14,0,0,1,0,28Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,52H132V16a4,4,0,0,0-8,0V52H56A28,28,0,0,0,28,80V192a28,28,0,0,0,28,28H200a28,28,0,0,0,28-28V80A28,28,0,0,0,200,52Zm20,140a20,20,0,0,1-20,20H56a20,20,0,0,1-20-20V80A20,20,0,0,1,56,60H200a20,20,0,0,1,20,20ZM76,108a8,8,0,1,1,8,8A8,8,0,0,1,76,108Zm88,0a8,8,0,1,1,8,8A8,8,0,0,1,164,108Zm0,32H92a24,24,0,0,0,0,48h72a24,24,0,0,0,0-48Zm-20,8v32H112V148ZM76,164a16,16,0,0,1,16-16h12v32H92A16,16,0,0,1,76,164Zm88,16H152V148h12a16,16,0,0,1,0,32Z"}))]]),us=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ur}));us.displayName="RobotIcon";let ut=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M71.51,88.49a12,12,0,0,1,17-17L116,99V24a12,12,0,0,1,24,0V99l27.51-27.52a12,12,0,0,1,17,17l-48,48a12,12,0,0,1-17,0ZM224,116H188a12,12,0,0,0,0,24h32v56H36V140H68a12,12,0,0,0,0-24H32a20,20,0,0,0-20,20v64a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V136A20,20,0,0,0,224,116Zm-20,52a16,16,0,1,0-16,16A16,16,0,0,0,204,168Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,136v64a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V136a8,8,0,0,1,8-8H224A8,8,0,0,1,232,136Z",opacity:"0.2"}),M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H72a8,8,0,0,1,0,16H32v64H224V136H184a8,8,0,0,1,0-16h40A16,16,0,0,1,240,136Zm-117.66-2.34a8,8,0,0,0,11.32,0l48-48a8,8,0,0,0-11.32-11.32L136,108.69V24a8,8,0,0,0-16,0v84.69L85.66,74.34A8,8,0,0,0,74.34,85.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M74.34,85.66A8,8,0,0,1,85.66,74.34L120,108.69V24a8,8,0,0,1,16,0v84.69l34.34-34.35a8,8,0,0,1,11.32,11.32l-48,48a8,8,0,0,1-11.32,0ZM240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H84.4a4,4,0,0,1,2.83,1.17L111,145A24,24,0,0,0,145,145l23.8-23.8A4,4,0,0,1,171.6,120H224A16,16,0,0,1,240,136Zm-40,32a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,136v64a14,14,0,0,1-14,14H32a14,14,0,0,1-14-14V136a14,14,0,0,1,14-14H72a6,6,0,0,1,0,12H32a2,2,0,0,0-2,2v64a2,2,0,0,0,2,2H224a2,2,0,0,0,2-2V136a2,2,0,0,0-2-2H184a6,6,0,0,1,0-12h40A14,14,0,0,1,238,136Zm-114.24-3.76a6,6,0,0,0,8.48,0l48-48a6,6,0,0,0-8.48-8.48L134,113.51V24a6,6,0,0,0-12,0v89.51L84.24,75.76a6,6,0,0,0-8.48,8.48ZM198,168a10,10,0,1,0-10,10A10,10,0,0,0,198,168Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H72a8,8,0,0,1,0,16H32v64H224V136H184a8,8,0,0,1,0-16h40A16,16,0,0,1,240,136Zm-117.66-2.34a8,8,0,0,0,11.32,0l48-48a8,8,0,0,0-11.32-11.32L136,108.69V24a8,8,0,0,0-16,0v84.69L85.66,74.34A8,8,0,0,0,74.34,85.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,136v64a12,12,0,0,1-12,12H32a12,12,0,0,1-12-12V136a12,12,0,0,1,12-12H72a4,4,0,0,1,0,8H32a4,4,0,0,0-4,4v64a4,4,0,0,0,4,4H224a4,4,0,0,0,4-4V136a4,4,0,0,0-4-4H184a4,4,0,0,1,0-8h40A12,12,0,0,1,236,136Zm-110.83-5.17a4,4,0,0,0,5.66,0l48-48a4,4,0,1,0-5.66-5.66L132,118.34V24a4,4,0,0,0-8,0v94.34L82.83,77.17a4,4,0,0,0-5.66,5.66ZM196,168a8,8,0,1,0-8,8A8,8,0,0,0,196,168Z"}))]]),uu=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ut}));uu.displayName="DownloadIcon";let uv=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M188,184a16,16,0,1,1,16-16A16,16,0,0,1,188,184Zm36-68H180a12,12,0,0,0,0,24h40v56H36V140H76a12,12,0,0,0,0-24H32a20,20,0,0,0-20,20v64a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V136A20,20,0,0,0,224,116ZM88.49,80.49,116,53v75a12,12,0,0,0,24,0V53l27.51,27.52a12,12,0,1,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,1,0,17,17Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,136v64a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V136a8,8,0,0,1,8-8H224A8,8,0,0,1,232,136Z",opacity:"0.2"}),M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M74.34,77.66a8,8,0,0,1,0-11.32l48-48a8,8,0,0,1,11.32,0l48,48a8,8,0,0,1-11.32,11.32L136,43.31V128a8,8,0,0,1-16,0V43.31L85.66,77.66A8,8,0,0,1,74.34,77.66ZM240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16h68a4,4,0,0,1,4,4v3.46c0,13.45,11,24.79,24.46,24.54A24,24,0,0,0,152,128v-4a4,4,0,0,1,4-4h68A16,16,0,0,1,240,136Zm-40,32a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,136v64a14,14,0,0,1-14,14H32a14,14,0,0,1-14-14V136a14,14,0,0,1,14-14H80a6,6,0,0,1,0,12H32a2,2,0,0,0-2,2v64a2,2,0,0,0,2,2H224a2,2,0,0,0,2-2V136a2,2,0,0,0-2-2H176a6,6,0,0,1,0-12h48A14,14,0,0,1,238,136ZM84.24,76.24,122,38.49V128a6,6,0,0,0,12,0V38.49l37.76,37.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48ZM198,168a10,10,0,1,0-10,10A10,10,0,0,0,198,168Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,136v64a12,12,0,0,1-12,12H32a12,12,0,0,1-12-12V136a12,12,0,0,1,12-12H80a4,4,0,0,1,0,8H32a4,4,0,0,0-4,4v64a4,4,0,0,0,4,4H224a4,4,0,0,0,4-4V136a4,4,0,0,0-4-4H176a4,4,0,0,1,0-8h48A12,12,0,0,1,236,136ZM82.83,74.83,124,33.66V128a4,4,0,0,0,8,0V33.66l41.17,41.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66ZM196,168a8,8,0,1,0-8,8A8,8,0,0,0,196,168Z"}))]]),uw=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uv}));uw.displayName="UploadIcon";let ux={"restore-script":"restore","generate-cmd":"cmd",keep:"keep","keep-with-warning":"warning",manual:"manual"};function uy({cwd:a}){let{t:b}=(0,aK.s)(),c=(0,M.useRef)(null),[d,e]=(0,M.useState)(!0),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(new Set),[p,q]=(0,M.useState)(new Set),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)(null),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)([]),[B,C]=(0,M.useState)(""),[D,E]=(0,M.useState)(null),[F,G]=(0,M.useState)(null),H=(0,M.useCallback)(async()=>{i(!0),k(null);try{let a=await fetch("/api/backup/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({includeSecrets:d,includeSessions:f})});if(!a.ok){let b=await a.json();k(b.error??`HTTP ${a.status}`);return}let b=await a.blob(),c=(a.headers.get("Content-Disposition")??"").match(/filename="?([^";]+)"?/),e=URL.createObjectURL(b),g=document.createElement("a");g.href=e,g.download=c?.[1]??"pi-backup.zip",document.body.appendChild(g),g.click(),g.remove(),URL.revokeObjectURL(e)}catch{k(String(b("desktop.backupExportFailed")))}finally{i(!1)}},[d,f,b]),I=(0,M.useCallback)(async a=>{if(a){u(null),y(null),m(null);try{let c=new FormData;c.append("phase","parse"),c.append("file",a);let d=await fetch("/api/backup/import",{method:"POST",body:c}),e=await d.json();if(!d.ok||e.error)return void u(e.error??`HTTP ${d.status}`);if("preview"!==e.phase||!e.preview)return void u(String(b("desktop.backupImportFailed")));m(e),o(new Set(e.preview.categories)),q(new Set),s(!1)}catch{u(String(b("desktop.backupImportFailed")))}}},[b]),J=(0,M.useCallback)(async()=>{if(l){w(!0),u(null);try{let a=new FormData;a.append("phase","restore"),a.append("token",l.token),a.append("selections",JSON.stringify({categories:[...n],skippedMcpServers:[...p],reinstallNpm:r}));let d=await fetch("/api/backup/import",{method:"POST",body:a}),e=await d.json();if(!d.ok||e.error)return void u(e.error??`HTTP ${d.status}`);if("report"!==e.phase||!e.report)return void u(String(b("desktop.backupRestoreFailed")));y(e.report),m(null),c.current&&(c.current.value="")}catch{u(String(b("desktop.backupRestoreFailed")))}finally{w(!1)}}},[l,n,p,r,b]),K=(0,M.useCallback)(async c=>{if(c.installPrompt&&a){E(c.name),G(null);try{let b=B.indexOf("/"),d=b>0?B.slice(0,b):void 0,e=b>0?B.slice(b+1):void 0,f=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,message:c.installPrompt,provider:d,modelId:e})}),g=await f.json();if(!f.ok||g.error)return void u(g.error??`HTTP ${f.status}`);G({server:c.name,sessionId:g.sessionId})}catch{u(String(b("desktop.backupInstallSessionFailed")))}finally{E(null)}}},[a,B,b]),N=a=>"win32"===a?"Windows":"darwin"===a?"macOS":"Linux";return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:b("desktop.backup")})}),(0,L.jsxs)("section",{style:{padding:"18px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.backupExportTitle")}),(0,L.jsx)("p",{style:{margin:"6px 0 12px",fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:b("desktop.backupExportDescription")}),(0,L.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",cursor:"pointer",marginBottom:8},children:[(0,L.jsx)("input",{type:"checkbox",checked:d,onChange:a=>e(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text)"},children:[b("desktop.backupIncludeSecrets"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"#ef4444"},children:b("desktop.backupSecretsWarning")})]})]}),(0,L.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",cursor:"pointer",marginBottom:14},children:[(0,L.jsx)("input",{type:"checkbox",checked:f,onChange:a=>g(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text)"},children:[b("desktop.backupIncludeSessions"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"var(--text-dim)"},children:b("desktop.backupSessionsHint")})]})]}),(0,L.jsxs)("button",{type:"button",onClick:H,disabled:h,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:h?"wait":"pointer"},children:[(0,L.jsx)(uu,{size:15,"aria-hidden":"true"}),h?b("desktop.backupExporting"):b("desktop.backupExportButton")]}),j&&(0,L.jsx)("p",{style:{margin:"8px 0 0",fontSize:11,color:"#ef4444"},children:j})]}),(0,L.jsxs)("section",{style:{padding:"18px 22px"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.backupImportTitle")}),(0,L.jsx)("p",{style:{margin:"6px 0 12px",fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:b("desktop.backupImportDescription")}),(0,L.jsx)("input",{ref:c,type:"file",accept:".zip,application/zip",onChange:a=>I(a.target.files?.[0]),style:{display:"none"}}),(0,L.jsxs)("button",{type:"button",onClick:()=>c.current?.click(),style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(uw,{size:15,"aria-hidden":"true"}),b("desktop.backupImportButton")]}),t&&(0,L.jsx)("p",{style:{margin:"0 0 10px",fontSize:11,color:"#ef4444",lineHeight:1.5},children:t}),l&&(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,padding:14,background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:12},children:[(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:[(0,L.jsxs)("span",{style:{color:"var(--text)",fontWeight:600},children:[b("desktop.backupManifest"),":"]})," ",new Date(l.preview.manifest.createdAt).toLocaleString()," \xb7 ",N(l.preview.manifest.sourcePlatform)," →",N(navigator.platform.includes("Win")?"win32":navigator.platform.includes("Linux")?"linux":"darwin")," \xb7 pi-web ",l.preview.manifest.piWebVersion,l.preview.manifest.includeSecrets?"":` \xb7 ${b("desktop.backupNoSecrets")}`]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupCategories")}),(0,L.jsx)("div",{style:{display:"flex",gap:14,flexWrap:"wrap"},children:l.preview.categories.map(a=>(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",cursor:"pointer",fontSize:12,color:"var(--text)"},children:[(0,L.jsx)("input",{type:"checkbox",checked:n.has(a),onChange:b=>{let c=new Set(n);b.target.checked?c.add(a):c.delete(a),o(c)}}),b(`desktop.backupCategory${a}`)]},a))})]}),l.preview.servers.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupMcpServers")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:l.preview.servers.map(c=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:12},children:[(0,L.jsx)("input",{type:"checkbox",checked:!p.has(c.name),onChange:a=>{let b=new Set(p);a.target.checked?b.delete(c.name):b.add(c.name),q(b)},style:{marginTop:2}}),(0,L.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("code",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--text)"},children:c.name}),(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:"manual"===c.action||"keep-with-warning"===c.action?"rgba(239,68,68,0.15)":"var(--bg-selected)",color:"manual"===c.action||"keep-with-warning"===c.action?"#ef4444":"var(--text-muted)"},children:ux[c.action]})]}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,L.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:c.original.command}),c.adapted&&c.adapted.command!==c.original.command&&(0,L.jsxs)(L.Fragment,{children:[" → ",(0,L.jsx)("code",{style:{fontFamily:"var(--font-mono)",color:"var(--text)"},children:c.adapted.command})]})]}),c.reason&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444"},children:c.reason}),"manual"===c.action&&c.installPrompt&&a&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:2,flexWrap:"wrap"},children:[(0,L.jsx)("select",{value:B,onChange:a=>C(a.target.value),style:{fontSize:11,padding:"4px 6px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",maxWidth:220},title:b("desktop.backupInstallModel"),children:z.map(a=>(0,L.jsxs)("option",{value:`${a.provider}/${a.id}`,children:[a.provider,"/",a.name||a.id]},`${a.provider}/${a.id}`))}),(0,L.jsx)("button",{type:"button",disabled:D===c.name,onClick:()=>K(c),style:{padding:"4px 10px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",cursor:D===c.name?"wait":"pointer"},children:D===c.name?"…":b("desktop.backupInstallSession")}),F?.server===c.name&&(0,L.jsx)("a",{href:`?session=${encodeURIComponent(F.sessionId)}`,style:{fontSize:11,color:"var(--accent)"},children:b("desktop.backupOpenSession")})]})]})]},c.name))})]}),l.preview.npmPackages.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:6},children:b("desktop.backupNpmPackages")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:6},children:l.preview.npmPackages.map(a=>(0,L.jsx)("code",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--text)"},children:a},a))}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"flex-start",cursor:"pointer",fontSize:12,color:"var(--text)",lineHeight:1.4},children:[(0,L.jsx)("input",{type:"checkbox",checked:r,onChange:a=>s(a.target.checked),style:{marginTop:2}}),(0,L.jsxs)("span",{children:[b("desktop.backupReinstallNpm"),(0,L.jsx)("span",{style:{display:"block",fontSize:11,color:"var(--text-dim)"},children:b("desktop.backupReinstallNpmHint")})]})]})]}),l.preview.warnings.length>0&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444",lineHeight:1.5},children:l.preview.warnings.map((a,b)=>(0,L.jsxs)("div",{children:["⚠ ",a]},b))}),(0,L.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,L.jsxs)("button",{type:"button",onClick:J,disabled:v||0===n.size,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:v?"wait":"pointer",opacity:0===n.size?.5:1},children:[(0,L.jsx)(uw,{size:15,"aria-hidden":"true"}),v?b("desktop.backupRestoring"):b("desktop.backupRestoreButton")]}),(0,L.jsx)("button",{type:"button",onClick:()=>{m(null),c.current&&(c.current.value="")},disabled:v,style:{padding:"8px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",fontSize:12,cursor:"pointer"},children:b("desktop.cancel")})]})]}),x&&(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,padding:14,background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,fontWeight:600,color:"var(--text)"},children:[(0,L.jsx)(pz,{size:16,"aria-hidden":"true"}),b("desktop.backupRestoreReport")]}),x.restored.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#4ade80",marginBottom:4},children:["✓ ",b("desktop.backupReportRestored")]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6,fontFamily:"var(--font-mono)",wordBreak:"break-all"},children:x.restored.join("\n")})]}),x.needsRestart.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#fbbf24",marginBottom:4},children:["\uD83D\uDD04 ",b("desktop.backupReportRestart")]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6,fontFamily:"var(--font-mono)"},children:x.needsRestart.join("\n")})]}),x.manual.length>0&&(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:"#ef4444",marginBottom:4},children:[(0,L.jsx)(a$,{size:12,style:{verticalAlign:-2},"aria-hidden":"true"})," ",b("desktop.backupReportManual")]}),x.manual.map((a,b)=>(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6},children:[(0,L.jsx)("strong",{style:{color:"var(--text)"},children:a.server}),": ",a.message]},b))]}),x.warnings.length>0&&(0,L.jsx)("div",{style:{fontSize:11,color:"#ef4444",lineHeight:1.6},children:x.warnings.map((a,b)=>(0,L.jsxs)("div",{children:["⚠ ",a]},b))}),x.needsRestart.length>0&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#fbbf24",lineHeight:1.5},children:b("desktop.backupRestartHint")})]})]})]})}let uz={position:"relative",width:40,height:22,borderRadius:11,border:"none",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.18s ease",outline:"none"},uA={position:"absolute",top:3,width:16,height:16,borderRadius:"50%",background:"#fff",transition:"left 0.18s ease, transform 0.18s ease",boxShadow:"0 1px 3px rgba(0,0,0,0.18)"};function uB({checked:a,onChange:b,label:c,description:d}){return(0,L.jsxs)("label",{style:{display:"flex",alignItems:d?"flex-start":"center",justifyContent:"space-between",gap:12,padding:"12px 14px",borderRadius:7,cursor:"pointer",userSelect:"none",transition:"background 0.12s",margin:"0 -14px"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:[(0,L.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("span",{style:{display:"block",fontSize:13,fontWeight:550,color:"var(--text)",lineHeight:1.4},children:c}),d&&(0,L.jsx)("span",{style:{display:"block",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",marginTop:2},children:d})]}),(0,L.jsx)("button",{type:"button",role:"switch","aria-checked":a,onClick:c=>{c.preventDefault(),b(!a)},style:{...uz,background:a?"var(--accent)":"color-mix(in srgb, var(--border) 70%, var(--bg))"},children:(0,L.jsx)("span",{style:{...uA,left:a?21:3}})})]})}function uC({title:a,description:b,children:c}){return(0,L.jsxs)("section",{style:{padding:"20px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:14,fontWeight:650,color:"var(--text)"},children:a}),(0,L.jsx)("p",{style:{margin:"5px 0 14px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:b}),(0,L.jsx)("div",{children:c})]})}let uD="pi-input-shortcut";function uE(){try{let a=localStorage.getItem(uD);return"ctrl-enter"===a?"ctrl-enter":"enter"}catch{return"enter"}}function uF(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(uE),d=(0,M.useCallback)(a=>{c(a);try{localStorage.setItem(uD,a),window.dispatchEvent(new StorageEvent("storage",{key:uD,newValue:a}))}catch{}},[]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:a("desktop.chat")})}),(0,L.jsx)(uC,{title:a("desktop.inputShortcut"),description:a("desktop.inputShortcutDescription"),children:(0,L.jsx)(uB,{checked:"ctrl-enter"===b,onChange:a=>d(a?"ctrl-enter":"enter"),label:a("desktop.useCtrlEnter"),description:a("desktop.useCtrlEnterDescription")})})]})}let uG=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,32a12,12,0,0,0-12-12c-44.78,0-90,48.54-115.9,82a64,64,0,0,0-80,62c0,12-3.1,22.71-9.23,31.76A43,43,0,0,1,9.4,206.05a11.88,11.88,0,0,0-4.91,13.38A12.07,12.07,0,0,0,16.11,228h76A64,64,0,0,0,154,148C187.49,122.05,236,76.8,236,32ZM209.62,46.39c-4,12.92-13.15,27.49-26.92,42.91-3,3.39-6.16,6.7-9.35,9.89a104.31,104.31,0,0,0-16.5-16.51c3.19-3.19,6.49-6.32,9.88-9.35C182.15,59.55,196.71,50.43,209.62,46.39ZM92.07,204H42a80.17,80.17,0,0,0,10.14-40,40,40,0,1,1,40,40Zm38.18-91.32c3.12-3.93,6.55-8.09,10.23-12.35a80.52,80.52,0,0,1,15.23,15.24c-4.26,3.68-8.42,7.11-12.35,10.23A64.43,64.43,0,0,0,130.25,112.68Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,32c0,32.81-31.64,67.43-58.64,91.05A84.39,84.39,0,0,0,133,90.64C156.57,63.64,191.19,32,224,32Z",opacity:"0.2"}),M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM92,208H34.63C41.38,198.41,48,183.92,48,164a44,44,0,1,1,44,44Zm32.42-94.45q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM124.42,113.55q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,26c-20.8,0-44.11,11.41-69.3,33.9C136.62,76.06,121,94.9,110.3,109A58,58,0,0,0,34,164c0,32.07-20.43,46.39-21.35,47A6,6,0,0,0,16,222H92a58,58,0,0,0,55-76.3c14.08-10.67,32.92-26.32,49.08-44.4C218.59,76.11,230,52.8,230,32A6,6,0,0,0,224,26ZM92,210H30.65C37.92,200.85,46,185.78,46,164a46,46,0,1,1,46,46Zm29.49-95.91c3.6-4.67,7.88-10,12.71-15.69a78.17,78.17,0,0,1,23.4,23.4c-5.67,4.83-11,9.11-15.69,12.71A58.38,58.38,0,0,0,121.49,114.09Zm45.2-.3a90.24,90.24,0,0,0-24.48-24.48C163.05,66.46,191,42,217.56,38.44,214,65,189.54,93,166.69,113.79Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,32a8,8,0,0,0-8-8c-44.08,0-89.31,49.71-114.43,82.63A60,60,0,0,0,32,164c0,30.88-19.54,44.73-20.47,45.37A8,8,0,0,0,16,224H92a60,60,0,0,0,57.37-77.57C182.3,121.31,232,76.08,232,32ZM92,208H34.63C41.38,198.41,48,183.92,48,164a44,44,0,1,1,44,44Zm32.42-94.45q5.14-6.66,10.09-12.55A76.23,76.23,0,0,1,155,121.49q-5.9,4.94-12.55,10.09A60.54,60.54,0,0,0,124.42,113.55Zm42.7-2.68a92.57,92.57,0,0,0-22-22c31.78-34.53,55.75-45,69.9-47.91C212.17,55.12,201.65,79.09,167.12,110.87Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,28c-20.29,0-43.16,11.24-68,33.4-18.47,16.49-34.39,35.83-45,49.93A56,56,0,0,0,36,164c0,33.22-21.26,48-22.22,48.68A4,4,0,0,0,16,220H92a56,56,0,0,0,52.67-75c14.11-10.63,33.44-26.55,49.93-45C216.76,75.16,228,52.29,228,32A4,4,0,0,0,224,28ZM92,212H26.35C33.91,203.69,44,188.08,44,164a48,48,0,1,1,48,48Zm26.52-97.31c4.13-5.44,9.32-12,15.29-18.9a80.08,80.08,0,0,1,26.4,26.4c-6.94,6-13.46,11.16-18.9,15.29A56.32,56.32,0,0,0,118.52,114.69Zm47.77,2.14a88.17,88.17,0,0,0-27.12-27.12C161,65.43,191.26,38.63,219.82,36.18,217.37,64.74,190.57,95,166.29,116.83Z"}))]]),uH=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uG}));uH.displayName="PaintBrushIcon";let uI=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z",opacity:"0.2"}),M.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"}))]]),uJ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uI}));uJ.displayName="LinkIcon";let uK=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z",opacity:"0.2"}),M.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z"}))]]),uL=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uK}));uL.displayName="ArrowSquareOutIcon";let uM=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236.37,139.4a12,12,0,0,0-12-3A84.07,84.07,0,0,1,119.6,31.59a12,12,0,0,0-15-15A108.86,108.86,0,0,0,49.69,55.07,108,108,0,0,0,136,228a107.09,107.09,0,0,0,64.93-21.69,108.86,108.86,0,0,0,38.44-54.94A12,12,0,0,0,236.37,139.4Zm-49.88,47.74A84,84,0,0,1,68.86,69.51,84.93,84.93,0,0,1,92.27,48.29Q92,52.13,92,56A108.12,108.12,0,0,0,200,164q3.87,0,7.71-.27A84.79,84.79,0,0,1,186.49,187.14Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M227.89,147.89A96,96,0,1,1,108.11,28.11,96.09,96.09,0,0,0,227.89,147.89Z",opacity:"0.2"}),M.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M235.54,150.21a104.84,104.84,0,0,1-37,52.91A104,104,0,0,1,32,120,103.09,103.09,0,0,1,52.88,57.48a104.84,104.84,0,0,1,52.91-37,8,8,0,0,1,10,10,88.08,88.08,0,0,0,109.8,109.8,8,8,0,0,1,10,10Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232.13,143.64a6,6,0,0,0-6-1.49A90.07,90.07,0,0,1,113.86,29.85a6,6,0,0,0-7.49-7.48A102.88,102.88,0,0,0,54.48,58.68,102,102,0,0,0,197.32,201.52a102.88,102.88,0,0,0,36.31-51.89A6,6,0,0,0,232.13,143.64Zm-42,48.29a90,90,0,0,1-126-126A90.9,90.9,0,0,1,99.65,37.66,102.06,102.06,0,0,0,218.34,156.35,90.9,90.9,0,0,1,190.1,191.93Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230.72,145.06a4,4,0,0,0-4-1A92.08,92.08,0,0,1,111.94,29.27a4,4,0,0,0-5-5A100.78,100.78,0,0,0,56.08,59.88a100,100,0,0,0,140,140,100.78,100.78,0,0,0,35.59-50.87A4,4,0,0,0,230.72,145.06ZM191.3,193.53A92,92,0,0,1,62.47,64.7a93,93,0,0,1,39.88-30.35,100.09,100.09,0,0,0,119.3,119.3A93,93,0,0,1,191.3,193.53Z"}))]]),uN=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uM}));uN.displayName="MoonIcon";let uO=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M116,36V20a12,12,0,0,1,24,0V36a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-12-12a12,12,0,0,0-17,17Zm0,119-12,12a12,12,0,0,0,17,17l12-12a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l12-12a12,12,0,0,0-17-17l-12,12A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l12,12a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H20a12,12,0,0,0,0,24H36A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v16a12,12,0,0,0,24,0V220A12,12,0,0,0,128,208Zm108-92H220a12,12,0,0,0,0,24h16a12,12,0,0,0,0-24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z",opacity:"0.2"}),M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm8,24a64,64,0,1,0,64,64A64.07,64.07,0,0,0,128,64ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M122,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-16-16a6,6,0,0,0-8.48,8.48Zm0,119.52-16,16a6,6,0,1,0,8.48,8.48l16-16a6,6,0,1,0-8.48-8.48ZM192,70a6,6,0,0,0,4.24-1.76l16-16a6,6,0,0,0-8.48-8.48l-16,16A6,6,0,0,0,192,70Zm4.24,117.76a6,6,0,0,0-8.48,8.48l16,16a6,6,0,0,0,8.48-8.48ZM46,128a6,6,0,0,0-6-6H16a6,6,0,0,0,0,12H40A6,6,0,0,0,46,128Zm82,82a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V216A6,6,0,0,0,128,210Zm112-88H216a6,6,0,0,0,0,12h24a6,6,0,0,0,0-12Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M124,40V16a4,4,0,0,1,8,0V40a4,4,0,0,1-8,0Zm64,88a60,60,0,1,1-60-60A60.07,60.07,0,0,1,188,128Zm-8,0a52,52,0,1,0-52,52A52.06,52.06,0,0,0,180,128ZM61.17,66.83a4,4,0,0,0,5.66-5.66l-16-16a4,4,0,0,0-5.66,5.66Zm0,122.34-16,16a4,4,0,0,0,5.66,5.66l16-16a4,4,0,0,0-5.66-5.66ZM192,68a4,4,0,0,0,2.83-1.17l16-16a4,4,0,1,0-5.66-5.66l-16,16A4,4,0,0,0,192,68Zm2.83,121.17a4,4,0,0,0-5.66,5.66l16,16a4,4,0,0,0,5.66-5.66ZM40,124H16a4,4,0,0,0,0,8H40a4,4,0,0,0,0-8Zm88,88a4,4,0,0,0-4,4v24a4,4,0,0,0,8,0V216A4,4,0,0,0,128,212Zm112-88H216a4,4,0,0,0,0,8h24a4,4,0,0,0,0-8Z"}))]]),uP=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uO}));uP.displayName="SunIcon";let uQ={display:"flex",gap:6,flexWrap:"wrap"};function uR(a,b,c){return{display:"inline-flex",alignItems:"center",gap:7,padding:"7px 14px",border:`1px solid ${a?"var(--accent)":b?"var(--border-hover)":"var(--border)"}`,borderRadius:8,background:a?"color-mix(in srgb, var(--accent) 12%, var(--bg))":b?"var(--bg-hover)":"var(--bg-card)",color:a?"var(--accent)":b?"var(--text)":"var(--text-muted)",fontSize:13,fontWeight:a?600:400,cursor:c?"not-allowed":"pointer",opacity:c?.5:1,transition:"border-color 0.15s, background 0.15s, color 0.15s",outline:"none",whiteSpace:"nowrap"}}function uS({icon:a,label:b,actions:c}){return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,width:"100%"},children:[(0,L.jsx)("span",{style:{color:"var(--text-dim)",display:"inline-flex",flexShrink:0},children:a}),(0,L.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em"},children:b}),c&&(0,L.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:12,marginLeft:"auto"},children:c})]})}let uT={display:"inline-flex",alignItems:"center",gap:6,padding:0,border:0,background:"transparent",color:"var(--accent)",fontSize:11,cursor:"pointer",whiteSpace:"nowrap"},uU={onMouseEnter:a=>{a.currentTarget.style.textDecoration="underline"},onMouseLeave:a=>{a.currentTarget.style.textDecoration="none"}};function uV({title:a,description:b,children:c}){return(0,L.jsxs)("section",{style:{padding:"20px 22px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("h2",{style:{margin:0,fontSize:14,fontWeight:650,color:"var(--text)"},children:a}),(0,L.jsx)("p",{style:{margin:"5px 0 16px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:b}),c]})}function uW({depth:a}){let b=a/100;return(0,L.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",style:{flexShrink:0},children:[(0,L.jsx)("rect",{x:1.5,y:1.5,width:11,height:11,rx:2.5,style:{fill:"none",stroke:"var(--text-dim)",strokeWidth:1+2*b,opacity:.2+.8*b}}),(0,L.jsx)("rect",{x:4,y:4,width:6,height:6,rx:1,style:{fill:"var(--text-dim)",opacity:.05+.35*b}})]})}function uX({hasDark:a,hasLight:b,darkColor:c,lightColor:d,t:e}){return(0,L.jsxs)("span",{style:{display:"inline-flex",gap:3,alignItems:"center",flexShrink:0},children:[a&&(0,L.jsx)("span",{title:e("desktop.darkVariant"),style:{display:"inline-block",width:7,height:7,borderRadius:"50%",background:c??"#7c6f64"}}),b&&(0,L.jsx)("span",{title:e("desktop.lightVariant"),style:{display:"inline-block",width:7,height:7,borderRadius:"50%",background:d??"#d5c4a1",border:"1px solid rgba(0,0,0,0.1)"}})]})}function uY(){let{mode:a,resolvedMode:b,themeName:c,setMode:d,setTheme:e,previewTheme:f,clearPreview:g,isThemeCached:h,borderDepth:i,setBorderDepth:j}=lk(),{locale:k,setLocale:l,t:m}=(0,aK.s)(),[n,o]=(0,M.useState)([]),[p,q]=(0,M.useState)(!0),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)(null),v=(0,M.useCallback)(a=>{s(a),e(a).finally(()=>s(null))},[e]),w=(0,M.useRef)(null),x=(0,M.useCallback)(a=>{u(a),null!==w.current&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{w.current=null,null!==a?h(a)&&f(a):g()},160)},[f,g,h]),y=(0,M.useCallback)(a=>{d(a)},[d]),z=(0,M.useCallback)(()=>{window.piDesktop?.openThemeFolder()},[]),A=(0,M.useCallback)(()=>{window.piDesktop?window.piDesktop.openThemeDocs():window.open("https://pi.dev/docs/latest/themes","_blank","noopener,noreferrer")},[]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:m("desktop.display")})}),(0,L.jsxs)(uV,{title:m("desktop.theme"),description:m("desktop.themeDescription"),children:[(0,L.jsx)(uS,{icon:(0,L.jsx)(uH,{size:14,weight:"fill"}),label:m("desktop.colorScheme"),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:z,style:uT,...uU,children:[(0,L.jsx)(uJ,{size:12,weight:"regular","aria-hidden":"true"}),m("desktop.openThemeFolder")]}),(0,L.jsxs)("button",{type:"button",onClick:A,style:uT,...uU,children:[(0,L.jsx)(uL,{size:12,weight:"regular","aria-hidden":"true"}),m("desktop.learnPiThemes")]})]})}),p?(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-dim)"},children:m("desktop.loadingThemes")}):(0,L.jsxs)("div",{style:uQ,children:[(0,L.jsx)("button",{type:"button",onClick:()=>v(""),disabled:null!==r,style:uR(""===c,"__default__"===t,null!==r),onMouseEnter:()=>x(""),onMouseLeave:()=>x(null),children:m("desktop.defaultTheme")}),n.map(a=>(0,L.jsxs)("button",{type:"button",onClick:()=>v(a.name),disabled:null!==r,style:uR(c===a.name,t===a.name,r===a.name),onMouseEnter:()=>x(a.name),onMouseLeave:()=>x(null),children:[a.displayName,(0,L.jsx)(uX,{hasDark:a.hasDark,hasLight:a.hasLight,darkColor:a.accent,lightColor:a.accentLight,t:m})]},a.name))]}),(0,L.jsxs)("div",{style:{marginTop:20},children:[(0,L.jsx)(uS,{icon:(0,L.jsx)(uW,{depth:i}),label:`${m("desktop.borderVisibility")} (${i})`}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flexShrink:0},children:m("desktop.borderSubtle")}),(0,L.jsx)("input",{type:"range",min:0,max:100,step:1,value:i,onChange:a=>j(Number(a.target.value)),style:{flex:1,accentColor:"var(--accent)",height:6,cursor:"pointer"}}),(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flexShrink:0},children:m("desktop.borderBold")})]}),(0,L.jsx)("div",{style:{marginTop:10,display:"flex",gap:10},children:[0,25,50,75,100].map(a=>{let b=i===a,c=a<=50?`color-mix(in srgb, var(--border-orig) ${2*a}%, var(--bg) ${100-2*a}%)`:`color-mix(in srgb, var(--border-orig) ${100-(a-50)*2}%, var(--text) ${(a-50)*2}%)`;return(0,L.jsx)("div",{onClick:()=>j(a),style:{width:28,height:20,border:`2px solid ${b?"var(--accent)":c}`,borderRadius:5,background:"var(--bg-card)",cursor:"pointer",transition:"border-color 0.1s"}},a)})})]}),(0,L.jsxs)("div",{style:{marginTop:20},children:[(0,L.jsx)(uS,{icon:"dark"===b?(0,L.jsx)(uN,{size:14,weight:"fill"}):(0,L.jsx)(uP,{size:14,weight:"fill"}),label:m("desktop.appearanceMode")}),(0,L.jsx)("div",{style:uQ,children:[{value:"light",icon:(0,L.jsx)(uP,{size:15,weight:"light"===a?"fill":"regular"})},{value:"dark",icon:(0,L.jsx)(uN,{size:15,weight:"dark"===a?"fill":"regular"})},{value:"system",icon:(0,L.jsx)(ui,{size:15,weight:"system"===a?"fill":"regular"})}].map(b=>{let c=a===b.value;return(0,L.jsxs)("button",{type:"button",onClick:()=>y(b.value),style:uR(c,t===`mode:${b.value}`),onMouseEnter:()=>u(`mode:${b.value}`),onMouseLeave:()=>u(null),children:[b.icon,m(`desktop.${b.value}`)]},b.value)})})]}),!p&&0===n.length&&(0,L.jsxs)("p",{style:{margin:"14px 0 0",fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[m("desktop.noCustomThemes")," ",m("desktop.noCustomThemesHint")," ",(0,L.jsx)("code",{style:{fontSize:10,background:"var(--bg-secondary)",padding:"1px 5px",borderRadius:3,fontFamily:"var(--font-mono)"},children:"~/.pi/agent/themes/*.json"})," ",m("desktop.noCustomThemesHint2")]})]}),(0,L.jsx)(uV,{title:m("desktop.language"),description:m("desktop.languageDescription"),children:(0,L.jsx)("div",{style:uQ,children:["en","zh-CN"].map(a=>(0,L.jsx)("button",{type:"button",onClick:()=>l("zh-CN"===a?"zh-CN":"en"),style:uR("zh-CN"===a?"zh-CN"===k:"zh-CN"!==k,t===`lang:${a}`),onMouseEnter:()=>u(`lang:${a}`),onMouseLeave:()=>u(null),children:"en"===a?m("desktop.english"):m("desktop.chinese")},a))})})]})}let uZ=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M100,36H56A20,20,0,0,0,36,56v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,100,36ZM96,96H60V60H96ZM200,36H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,200,36Zm-4,60H160V60h36Zm-96,40H56a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,100,136Zm-4,60H60V160H96Zm104-60H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,200,136Zm-4,60H160V160h36Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,56v48a8,8,0,0,1-8,8H56a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8h48A8,8,0,0,1,112,56Zm88-8H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48Zm-96,96H56a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,104,144Zm96,0H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,200,144Z",opacity:"0.2"}),M.createElement("path",{d:"M200,136H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48ZM104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M120,56v48a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40h48A16,16,0,0,1,120,56Zm80-16H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm-96,96H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm96,0H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,42H56A14,14,0,0,0,42,56v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V56A14,14,0,0,0,104,42Zm2,62a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm94-62H152a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V56A14,14,0,0,0,200,42Zm2,62a2,2,0,0,1-2,2H152a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm-98,34H56a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V152A14,14,0,0,0,104,138Zm2,62a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V152a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Zm94-62H152a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V152A14,14,0,0,0,200,138Zm2,62a2,2,0,0,1-2,2H152a2,2,0,0,1-2-2V152a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,44H56A12,12,0,0,0,44,56v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V56A12,12,0,0,0,104,44Zm4,60a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Zm92-60H152a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V56A12,12,0,0,0,200,44Zm4,60a4,4,0,0,1-4,4H152a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4ZM104,140H56a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V152A12,12,0,0,0,104,140Zm4,60a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V152a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Zm92-60H152a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V152A12,12,0,0,0,200,140Zm4,60a4,4,0,0,1-4,4H152a4,4,0,0,1-4-4V152a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4Z"}))]]),u$=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:uZ}));function u_({children:a}){return(0,L.jsx)("div",{style:{borderRadius:12,border:"1px solid var(--border)",background:"color-mix(in srgb, var(--bg-panel) 55%, transparent)",overflow:"hidden"},children:a})}function u0({children:a}){return(0,L.jsx)("div",{style:{padding:"0 14px"},children:(0,L.jsx)("div",{style:{borderBottom:"1px solid var(--border)"},children:a})})}function u1({children:a}){return(0,L.jsx)("div",{style:{padding:"0 14px"},children:a})}function u2({children:a}){return(0,L.jsx)("div",{style:{display:"flex",gap:8,borderRadius:10,border:"1px solid var(--border)",background:"color-mix(in srgb, var(--bg-panel) 55%, transparent)",padding:"10px 12px",fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:a})}u$.displayName="SquaresFourIcon";let u3=[{value:"normal",labelKey:"modes.collabNormal"},{value:"plan",labelKey:"modes.collabPlan"},{value:"goal",labelKey:"modes.collabGoal"}],u4=[{value:"economy",labelKey:"modes.tokenEconomy"},{value:"full",labelKey:"modes.tokenFull"},{value:"delivery",labelKey:"modes.tokenDelivery"}],u5=[{value:"ask",labelKey:"modes.approvalAsk"},{value:"auto",labelKey:"modes.approvalAuto"},{value:"yolo",labelKey:"modes.approvalYolo"}];function u6({options:a,value:b,onChange:c,disabled:d,accentFor:e}){let{t:f}=(0,aK.s)();return(0,L.jsx)("div",{role:"radiogroup",style:{display:"flex",border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",height:28,flexShrink:0},children:a.map(a=>{let g=a.value===b,h=e?.(a.value);return(0,L.jsx)("button",{type:"button",role:"radio","aria-checked":g,disabled:d,onClick:()=>{a.value!==b&&c(a.value)},style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",padding:"0 12px",background:g?"var(--bg-selected)":"none",border:"none",color:g?h??"var(--accent)":"var(--text-muted)",cursor:d?"not-allowed":"pointer",fontSize:11.5,fontWeight:g?650:500,opacity:d?.5:1,whiteSpace:"nowrap",transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{g||d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{g||(a.currentTarget.style.background="none")},children:f(a.labelKey)},a.value)})})}function u7(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)({tasksBoard:!0}),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(!1),j=(0,M.useCallback)(async a=>{i(!0);try{let b=await fetch("/api/features",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tasksBoard:a})});if(b.ok){let a=await b.json();c(b=>({...b,...a.features})),window.dispatchEvent(new CustomEvent("pi:features-changed"))}}catch{}finally{i(!1)}},[]),k=(0,M.useCallback)(async a=>{i(!0);try{let b=await fetch("/api/modes",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();e(b=>b?{...b,collaborationMode:by(a.modes?.collaborationMode??b.collaborationMode),tokenMode:bz(a.modes?.tokenMode??b.tokenMode),toolApprovalMode:bA(a.modes?.toolApprovalMode??b.toolApprovalMode),permissionRules:a.modes?.permissionRules??b.permissionRules}:b),window.dispatchEvent(new CustomEvent("pi:modes-changed"))}}catch{}finally{i(!1)}},[]);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsx)(uB,{checked:b.tasksBoard,onChange:a=>void j(a),label:(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,L.jsx)(u$,{size:14,"aria-hidden":"true"}),a("desktop.featuresTasksBoard"),(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 7px",fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Beta"})]}),description:a("desktop.featuresTasksBoardDesc")})})}),d&&(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresCollabDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresCollabDefaultDesc")})]}),(0,L.jsx)(u6,{options:u3,value:d.collaborationMode,onChange:a=>void k({collaborationMode:a}),disabled:h})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresTokenDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresTokenDefaultDesc")})]}),(0,L.jsx)(u6,{options:u4,value:d.tokenMode,onChange:a=>void k({tokenMode:a}),disabled:h})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:16,padding:"12px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.featuresApprovalDefault")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.featuresApprovalDefaultDesc")})]}),(0,L.jsx)(u6,{options:u5,value:d.toolApprovalMode,onChange:a=>void k({toolApprovalMode:a}),disabled:h,accentFor:a=>"yolo"===a?"var(--accent-red, #ef4444)":void 0})]})})]})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.featuresLoading")}),(0,L.jsx)(u2,{children:a("desktop.featuresDesc")}),h&&(0,L.jsx)("div",{style:{padding:"0 2px",fontSize:11,color:"var(--text-muted)"},children:a("desktop.featuresSaving")})]})})}let u8=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z",opacity:"0.2"}),M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]),u9=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:u8}));function va({open:a,onClose:b,children:c}){let[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1);return f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{onClick:b,style:{position:"fixed",inset:0,zIndex:1001,background:d?"rgba(0,0,0,0.35)":"rgba(0,0,0,0)",transition:"background 0.25s ease"}}),(0,L.jsxs)("div",{style:{position:"fixed",bottom:0,left:0,right:0,zIndex:1002,maxHeight:"85dvh",borderRadius:"16px 16px 0 0",background:"var(--bg)",boxShadow:"0 -4px 24px rgba(0,0,0,0.15)",transform:d?"translateY(0)":"translateY(100%)",transition:"transform 0.25s cubic-bezier(0.32, 0.72, 0, 1)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{display:"flex",justifyContent:"center",padding:"10px 0 4px",flexShrink:0},children:(0,L.jsx)("div",{style:{width:36,height:4,borderRadius:2,background:"var(--border)"}})}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c})]})]}):null}function vb({onSessionsChanged:a}){let{t:b}=(0,aK.s)(),c=aO(),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)([]),[j,k]=(0,M.useState)(new Set),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)({imported:0,skipped:0,errors:0,total:0,done:!1}),[p,q]=(0,M.useState)([]),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)({done:0,total:0}),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)(!1);(0,M.useCallback)(async()=>{w(!0),y(null);try{let a=await fetch("/api/import/discover"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);g(b.sources),b.reasonix?.available&&(i(b.reasonix.projects),e("reasonix"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}},[]);let[B,C]=(0,M.useState)(!1),D=(0,M.useCallback)(async()=>{if(0!==j.size&&d){w(!0),y(null);try{let a=await fetch("/api/import/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:d,projects:[...j]})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);m(b.jobId)}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}}},[d,j]),E=(0,M.useCallback)(async()=>{if(0===p.length)return;s(!0),u({done:0,total:p.length});let b=0,c=async()=>{for(;b<p.length;){let a=b++,c=p[a];if(c){try{await fetch(`/api/sessions/${encodeURIComponent(c)}/auto-name`,{method:"POST"})}catch{}u({done:a+1,total:p.length})}}},d=Array.from({length:Math.min(4,p.length)},c);await Promise.all(d),s(!1),a?.()},[p,a]);if(n.done&&p.length>0)return(0,L.jsxs)("div",{style:{padding:"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)(p2,{size:20,weight:"fill",style:{color:"#4ade80"}}),(0,L.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:b("desktop.importDone")??"导入完成"})]}),(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:[b("desktop.importedSummary",{imported:n.imported})??`成功导入 ${n.imported} 个会话`,n.skipped>0&&(0,L.jsx)("span",{style:{marginLeft:8},children:b("desktop.importSkippedCount",{skipped:n.skipped})??`,${n.skipped} 个跳过`}),n.errors>0&&(0,L.jsx)("span",{style:{marginLeft:8,color:"#ef4444"},children:b("desktop.importErrorsCount",{errors:n.errors})??`,${n.errors} 个失败`})]}),r?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}}),b("desktop.importGeneratingTitles")??"正在生成标题…"," ","(",t.done,"/",t.total,")"]}):(0,L.jsxs)("button",{type:"button",onClick:E,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:"pointer",alignSelf:"flex-start"},children:[(0,L.jsx)(u9,{size:15}),b("desktop.importGenerateTitles")??"为导入的会话生成标题"]}),(0,L.jsx)("button",{type:"button",onClick:()=>{m(null),o({imported:0,skipped:0,errors:0,total:0,done:!1}),q([]),s(!1),u({done:0,total:0})},style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",fontSize:12,cursor:"pointer",alignSelf:"flex-start"},children:b("desktop.importAgain")??"再次导入"})]});let F=(0,L.jsxs)("div",{style:{padding:c?"12px 18px":"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[x&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:12,color:"#ef4444",lineHeight:1.5},children:[(0,L.jsx)(a$,{size:14,style:{flexShrink:0,marginTop:1}}),(0,L.jsx)("span",{children:x})]}),!l&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:b("desktop.importSessionsDesc")??"从其他 AI 编码工具导入历史对话记录到 pi-web。目前支持 Reasonix,更多工具陆续支持中。"}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:f.map(a=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",border:"1px solid var(--border)",borderRadius:8,cursor:"available"===a.status?"pointer":"default",background:d===a.key?"var(--bg-selected)":"var(--bg-panel)",opacity:"unavailable"===a.status?.5:"coming-soon"===a.status?.7:1,transition:"background 0.12s"},children:[(0,L.jsx)("input",{type:"radio",name:"import-source",value:a.key,checked:d===a.key,disabled:"available"!==a.status,onChange:()=>e(a.key)}),(0,L.jsxs)("div",{style:{flex:1},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a.label}),"coming-soon"===a.status&&(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:1},children:b("desktop.comingSoon")??"即将支持"})]}),"reasonix"===a.key&&h.length>0&&(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:[h.length," ",b("desktop.projects")??"个项目"," \xb7 ",h.reduce((a,b)=>a+b.sessions,0)," ",b("desktop.sessions")??"会话"]})]},a.key))}),"reasonix"===d&&h.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:b("desktop.importSelectProjects")??"选择要导入的项目"}),(0,L.jsx)("button",{type:"button",onClick:()=>k(new Set(h.map(a=>a.name))),style:vc,children:b("desktop.importSelectAll")??"全选"}),(0,L.jsx)("button",{type:"button",onClick:()=>k(new Set),style:vc,children:b("desktop.importDeselectAll")??"取消全选"})]}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:h.map(a=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"1px solid var(--border)",borderRadius:6,cursor:"pointer",background:j.has(a.name)?"var(--bg-selected)":"transparent",transition:"background 0.12s"},children:[(0,L.jsx)("input",{type:"checkbox",checked:j.has(a.name),onChange:()=>{var b;return b=a.name,void k(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:2},children:[a.sessions," ",b("desktop.sessions")??"会话",a.matched&&(0,L.jsxs)("span",{style:{marginLeft:8,color:"var(--accent)"},children:["→ ",b("desktop.importMerged")??"合并到现有项目",a.existingCount>0&&` (${b("desktop.importExistingCount",{count:a.existingCount})??`${a.existingCount} 个已有`})`]}),!a.matched&&(0,L.jsxs)("span",{style:{marginLeft:8,color:"var(--text-muted)"},children:["→ ",b("desktop.importNewProject")??"新建项目"]})]})]})]},a.name))}),(0,L.jsx)("button",{type:"button",onClick:D,disabled:v||0===j.size,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 14px",background:"var(--accent)",border:"none",borderRadius:6,color:"#fff",fontSize:12,fontWeight:600,cursor:0===j.size?"not-allowed":"pointer",alignSelf:"flex-start",opacity:0===j.size?.5:1},children:v?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}})," ",b("desktop.importing")??"导入中…"]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(aF,{size:15})," ",b("desktop.importStart")??"开始导入"]})})]}),"reasonix"===d&&0===h.length&&!v&&(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",padding:"12px 0"},children:b("desktop.importNoData")??"未找到 Reasonix 数据。请确认 ~/.reasonix/projects/ 目录存在且包含会话文件。"})]}),l&&!n.done&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text)"},children:[(0,L.jsx)(aW,{size:14,style:{animation:"spin 1s linear infinite"}}),b("desktop.importing")??"导入中…"]}),(0,L.jsx)("div",{style:{height:6,borderRadius:3,background:"var(--bg-panel)",overflow:"hidden"},children:(0,L.jsx)("div",{style:{height:"100%",borderRadius:3,background:"var(--accent)",width:`${n.total>0?(n.imported+n.skipped+n.errors)/n.total*100:0}%`,transition:"width 0.3s ease"}})}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:[n.imported+n.skipped+n.errors," / ",n.total,n.skipped>0&&` \xb7 ${b("desktop.importSkippedCount",{skipped:n.skipped})??`${n.skipped} 跳过`}`]})]})]});return c?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>A(!0),style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",width:"100%",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:8,color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(aF,{size:16}),(0,L.jsx)("span",{style:{fontWeight:500},children:b("desktop.importSessions")??"导入会话"})]}),(0,L.jsxs)(va,{open:z,onClose:()=>A(!1),children:[(0,L.jsxs)("div",{style:{padding:"4px 18px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:b("desktop.importSessions")??"导入会话"}),(0,L.jsx)("button",{onClick:()=>A(!1),style:vd,children:(0,L.jsx)(X,{size:18})})]}),F]})]}):F}u9.displayName="ArrowCounterClockwiseIcon";let vc={background:"none",border:"none",color:"var(--accent)",fontSize:11,cursor:"pointer",padding:"2px 4px"},vd={background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:4,display:"flex"},ve="deepseek-vision",vf={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",width:"100%",boxSizing:"border-box"};function vg(){return{fontSize:12,color:"var(--text-muted)"}}let vh={padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function vi({sessionId:a}){let{t:b}=(0,aK.s)(),[c,d]=(0,M.useState)(!1),[e,f]=(0,M.useState)(null),[g,h]=(0,M.useState)(!1),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(!1),[m,n]=(0,M.useState)({}),[o,p]=(0,M.useState)(""),[q,r]=(0,M.useState)(""),[s,t]=(0,M.useState)("eager"),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)(null),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(!1),[C,D]=(0,M.useState)({provider:"custom",baseUrl:"",apiKey:"",model:"",maxTokens:4096,hasApiKey:!1}),[E,F]=(0,M.useState)(""),[G,H]=(0,M.useState)(""),[I,J]=(0,M.useState)(!1),[K,N]=(0,M.useState)(null),[O,P]=(0,M.useState)(!1),Q=(0,M.useCallback)(async()=>{if(!q.trim())return void x(b("desktop.mcpVisionCommandRequired"));v(!0),x(null),z(!1),B(!1);try{let a=m[ve],b={...m,[ve]:{...a??{},command:q.trim(),args:Array.isArray(a?.args)?a.args:[],transport:"stdio",lifecycle:s}},c=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:b})}),d=await c.json();if(!c.ok||d.error)throw Error(d.error??`HTTP ${c.status}`);n(b),z(!0)}catch(a){x(a instanceof Error?a.message:String(a))}finally{v(!1)}},[m,q,s,b]),R=(0,M.useCallback)(async()=>{v(!0),x(null),z(!1),B(!1);try{let a={...m};delete a[ve];let b=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:a})}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);n(a),r(""),t("eager"),B(!0)}catch(a){x(a instanceof Error?a.message:String(a))}finally{v(!1)}},[m]),S=(0,M.useCallback)(async()=>{J(!0),N(null),P(!1);try{let a=await fetch("/api/vision-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...C,...E?{apiKey:E}:{}})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);D({...b,apiKey:"",hasApiKey:b.hasApiKey}),F(""),P(!0)}catch(a){N(a instanceof Error?a.message:String(a))}finally{J(!1)}},[C,E]),T=(0,M.useCallback)(async()=>{if(a){h(!0),j(null),l(!1);try{let b=await fetch("/api/mcp/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,name:ve})}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);l(!0)}catch(a){j(a instanceof Error?a.message:String(a))}finally{h(!1)}}},[a]),U=!!m[ve];return(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(rp,{size:15,"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:b("desktop.mcpVisionTitle")}),(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,background:U?"rgba(37,99,235,0.12)":"rgba(245,158,11,0.12)",color:U?"var(--accent)":"#d97706",textTransform:"capitalize"},children:U?b("desktop.mcpVisionRegistered"):b("desktop.mcpVisionNotRegistered")})]}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:b("desktop.mcpVisionDesc")})]})]})}),c?e?(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"#ef4444"},children:e})}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionRegistration")})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 180px) 1fr",gap:8,alignItems:"center",padding:"6px 0"},children:[(0,L.jsxs)("span",{style:vg(),children:[b("desktop.mcpVisionCommand")," *"]}),(0,L.jsx)("input",{value:q,onChange:a=>r(a.target.value),placeholder:"/path/to/deepseek-vision-mcp",style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionLifecycle")}),(0,L.jsxs)("select",{value:s,onChange:a=>t(a.target.value),style:{...vf,fontFamily:"var(--font-mono)"},children:[(0,L.jsx)("option",{value:"eager",children:"eager"}),(0,L.jsx)("option",{value:"lazy",children:"lazy"})]}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionTransport")}),(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontFamily:"var(--font-mono)",padding:"7px 0"},children:b("desktop.mcpVisionTransportFixed")})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 0",flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void Q(),disabled:u,style:{...vh,cursor:u?"wait":"pointer"},children:u?b("desktop.saving"):b("desktop.mcpVisionSaveReg")}),U&&(0,L.jsx)("button",{type:"button",onClick:()=>void R(),disabled:u,title:b("desktop.mcpVisionRemove"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"#ef4444",cursor:u?"not-allowed":"pointer",fontSize:12},children:b("desktop.mcpVisionRemove")}),y&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionSavedReg")}),A&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionRemoved")}),w&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:w})]})}),(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionModelConfig")})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 180px) 1fr",gap:8,alignItems:"center",padding:"6px 0"},children:[(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionProvider")}),(0,L.jsx)("input",{value:C.provider,onChange:a=>D(b=>({...b,provider:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionBaseUrl")}),(0,L.jsx)("input",{value:C.baseUrl,onChange:a=>D(b=>({...b,baseUrl:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionApiKey")}),(0,L.jsx)("input",{type:"password",value:E,onChange:a=>F(a.target.value),placeholder:C.hasApiKey?"••••••••":"API key",style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionModel")}),(0,L.jsx)("input",{value:C.model,onChange:a=>D(b=>({...b,model:a.target.value})),style:vf}),(0,L.jsx)("span",{style:vg(),children:b("desktop.mcpVisionMaxTokens")}),(0,L.jsx)("input",{type:"number",min:1,value:C.maxTokens,onChange:a=>D(b=>({...b,maxTokens:Number(a.target.value)||1})),style:vf})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,padding:"6px 0"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void S(),disabled:I,style:{...vh,cursor:I?"wait":"pointer"},children:I?b("desktop.saving"):b("desktop.mcpVisionSaveModel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void T(),disabled:g||!a||!U,title:a?b("desktop.mcpVisionRestartTitle"):b("desktop.mcpVisionRestartNoSession"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:!g&&a&&U?"pointer":"not-allowed",fontSize:12,opacity:!g&&a&&U?1:.5},children:g?b("desktop.mcpVisionRestarting"):b("desktop.mcpVisionRestart")}),O&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionSavedModel")}),k&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:b("desktop.mcpVisionRestarted")}),K&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:K}),i&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:i})]}),(0,L.jsxs)(u2,{children:[b("desktop.mcpVisionModelNote"),G&&(0,L.jsx)("div",{style:{marginTop:4,fontFamily:"var(--font-mono)",fontSize:10},children:G}),o&&(0,L.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:10},children:o})]})]})})]}):(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"var(--text-muted)"},children:b("desktop.loading")})})]})}function vj({sessionId:a,onApplied:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(null),j=(0,M.useCallback)(async()=>{if(a){e(!0),i(null),g(!1);try{await ts(a,{type:"reload"}),g(!0),await b?.()}catch(a){i(a instanceof Error?a.message:String(a))}finally{e(!1)}}},[a,b]),k=d||!a;return(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void j(),disabled:k,title:c(a?"desktop.applyNowTitle":"desktop.applyNowNoSession"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:k?"not-allowed":"pointer",fontSize:12,opacity:k?.5:1,whiteSpace:"nowrap"},children:c(d?"desktop.applyNowApplying":"desktop.applyNow")}),f&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:c("desktop.applyNowDone")}),h&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:h})]})}let vk=["stdio","sse","http"],vl=["eager","lazy"],vm={name:"",command:"",args:"",transport:"stdio",lifecycle:"eager",requestTimeoutMs:"",env:""},vn={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",width:"100%",boxSizing:"border-box"};function vo(){return{fontSize:12,color:"var(--text-muted)"}}function vp(a,b){return{fontSize:10,padding:"1px 6px",borderRadius:3,background:b,color:a,flexShrink:0,textTransform:"capitalize"}}function vq({sessionId:a}){let{t:b}=(0,aK.s)(),[c,d]=(0,M.useState)({}),[e,f]=(0,M.useState)(""),[g,h]=(0,M.useState)(!1),[i,j]=(0,M.useState)(null),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(vm),[o,p]=(0,M.useState)(!1),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(!1),u=(0,M.useCallback)(async()=>{j(null);try{let a=await fetch("/api/mcp"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);d(b.mcpServers??{}),f(b.filePath)}catch(a){j(a instanceof Error?a.message:String(a))}finally{h(!0)}},[]),v=(0,M.useCallback)(()=>{n(vm),l({name:"",isNew:!0}),r(null),t(!1)},[]),w=(0,M.useCallback)((a,b)=>{n({name:a,command:b.command??"",args:Array.isArray(b.args)?b.args.join("\n"):"",transport:"string"==typeof b.transport?b.transport:"stdio",lifecycle:"string"==typeof b.lifecycle?b.lifecycle:"eager",requestTimeoutMs:"number"==typeof b.requestTimeoutMs?String(b.requestTimeoutMs):"",env:void 0!==b.env?JSON.stringify(b.env,null,2):""}),l({name:a,isNew:!1}),r(null),t(!1)},[]),x=(0,M.useCallback)(async()=>{if(k){p(!0),r(null),t(!1);try{let a=m.name.trim();if(k.isNew&&!a)return void r("Server name is required");if(k.isNew&&!/^[a-zA-Z0-9_-]+$/.test(a))return void r("Allowed characters: a-z, A-Z, 0-9, _ and -");if(k.isNew&&a===ve)return void r(b("desktop.mcpVisionNameReserved"));let e=function(a){if(!a.command.trim())return{error:"Command is required"};let b=a.args.split("\n").map(a=>a.trim()).filter(Boolean),c={command:a.command.trim(),args:b,transport:vk.includes(a.transport)?a.transport:"stdio",lifecycle:vl.includes(a.lifecycle)?a.lifecycle:"eager"};if(""!==a.requestTimeoutMs.trim()){let b=Number(a.requestTimeoutMs);if(!Number.isFinite(b)||b<=0)return{error:"Request timeout must be a positive number"};c.requestTimeoutMs=b}if(""!==a.env.trim())try{c.env=JSON.parse(a.env)}catch{return{error:"Environment must be valid JSON"}}return{server:c}}(m);if(e.error||!e.server)return void r(e.error??"Invalid server");let f={...c};k.isNew?f[a]=e.server:(delete f[k.name],f[m.name.trim()||k.name]=e.server);let g=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:f})}),h=await g.json();if(!g.ok||h.error)throw Error(h.error??`HTTP ${g.status}`);d(f),l(null),t(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},[k,m,c,b]),y=(0,M.useCallback)(async a=>{p(!0),r(null);try{let b={...c};delete b[a];let e=await fetch("/api/mcp",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mcpServers:b})}),f=await e.json();if(!e.ok||f.error)throw Error(f.error??`HTTP ${e.status}`);d(b),t(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}},[c]),z=(0,M.useCallback)((a,b)=>{n(c=>({...c,[a]:b}))},[]),A=Object.entries(c).filter(([a])=>a!==ve);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:g?i?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444"},children:i}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:b("desktop.mcpServers")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:2,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexShrink:0},children:[(0,L.jsx)(vj,{sessionId:a,onApplied:u}),(0,L.jsxs)("button",{type:"button",onClick:v,style:{display:"flex",alignItems:"center",gap:6,padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12,flexShrink:0},children:[(0,L.jsx)(ah,{size:13,"aria-hidden":"true"}),b("desktop.mcpAddServer")]})]})]}),(0,L.jsx)(u2,{children:b("desktop.mcpRestartNote")}),(0,L.jsx)(vi,{sessionId:a}),0!==A.length||k?A.map(([a,c])=>(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 0",minWidth:0},children:[(0,L.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)"},children:a}),(0,L.jsx)("span",{style:vp("var(--accent)","rgba(37,99,235,0.12)"),children:c.transport??"stdio"}),(0,L.jsx)("span",{style:vp("#d97706","rgba(245,158,11,0.12)"),children:c.lifecycle??"lazy"})]}),(0,L.jsxs)("div",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",marginTop:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[c.command,Array.isArray(c.args)&&c.args.length>0?` ${c.args.map(a=>a.includes(" ")?`"${a}"`:a).join(" ")}`:""]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:6,flexShrink:0},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>w(a,c),disabled:o,style:{display:"flex",alignItems:"center",gap:5,padding:"6px 10px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:o?"not-allowed":"pointer",fontSize:12,opacity:o?.5:1},children:[(0,L.jsx)(ab,{size:12,"aria-hidden":"true"}),b("desktop.mcpEdit")]}),(0,L.jsx)("button",{type:"button",onClick:()=>void y(a),disabled:o,title:b("desktop.mcpDelete"),"aria-label":b("desktop.mcpDelete"),style:{display:"flex",alignItems:"center",padding:"6px 9px",background:"rgba(239,68,68,0.08)",border:"1px solid var(--border)",borderRadius:6,color:"#ef4444",cursor:o?"not-allowed":"pointer",fontSize:12,opacity:o?.5:1},children:(0,L.jsx)(av,{size:12,"aria-hidden":"true"})})]})]})})},a)):(0,L.jsx)(u_,{children:(0,L.jsx)(u1,{children:(0,L.jsx)("div",{style:{padding:"14px 0",fontSize:12,color:"var(--text-dim)"},children:c[ve]?b("desktop.mcpEmptyOther"):b("desktop.mcpEmpty")})})}),k&&(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)",padding:"12px 0 4px"},children:k.isNew?b("desktop.mcpNewServer"):b("desktop.mcpEditServer",{name:k.name})})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 220px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpServerName")}),(0,L.jsx)("input",{value:m.name,onChange:a=>z("name",a.target.value),disabled:!k.isNew,placeholder:"my-server",style:{...vn,opacity:k.isNew?1:.5}}),(0,L.jsxs)("span",{style:vo(),children:[b("desktop.mcpCommand")," *"]}),(0,L.jsx)("input",{value:m.command,onChange:a=>z("command",a.target.value),placeholder:"npx @modelcontextprotocol/server-foo",style:vn}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpArgs")}),(0,L.jsx)("textarea",{value:m.args,onChange:a=>z("args",a.target.value),placeholder:"--port 3000\n--verbose",rows:3,style:{...vn,resize:"vertical",lineHeight:1.5}}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpTransport")}),(0,L.jsx)("select",{value:m.transport,onChange:a=>z("transport",a.target.value),style:{...vn,fontFamily:"var(--font-mono)"},children:vk.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpLifecycle")}),(0,L.jsx)("select",{value:m.lifecycle,onChange:a=>z("lifecycle",a.target.value),style:{...vn,fontFamily:"var(--font-mono)"},children:vl.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpRequestTimeoutMs")}),(0,L.jsx)("input",{type:"number",min:1,value:m.requestTimeoutMs,onChange:a=>z("requestTimeoutMs",a.target.value),placeholder:"300000",style:vn}),(0,L.jsx)("span",{style:vo(),children:b("desktop.mcpEnv")}),(0,L.jsx)("textarea",{value:m.env,onChange:a=>z("env",a.target.value),placeholder:'{\n "API_KEY": "..."\n}',rows:3,style:{...vn,resize:"vertical",lineHeight:1.5}})]})}),(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void x(),disabled:o,style:{padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:o?"wait":"pointer",fontSize:12},children:o?b("desktop.saving"):b("desktop.mcpSave")}),(0,L.jsx)("button",{type:"button",onClick:()=>l(null),disabled:o,style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:o?"not-allowed":"pointer",fontSize:12},children:b("desktop.mcpCancel")}),q&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:q})]})})]}),s&&!k&&(0,L.jsx)("div",{style:{fontSize:12,color:"#22c55e"},children:b("desktop.mcpSavedRestart")})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:b("desktop.loading")})})})}let vr=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M56.88,31.93A12,12,0,1,0,39.12,48.07l16,17.65C20.67,88.66,5.72,121.58,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212a131.34,131.34,0,0,0,51-10l20.09,22.1a12,12,0,0,0,17.76-16.14ZM128,188c-29.59,0-55.47-10.73-76.91-31.88A130.69,130.69,0,0,1,29.52,128c5.27-9.31,18.79-29.9,42-44.29l90.09,99.11A109.33,109.33,0,0,1,128,188Zm123-55.12c-.36.81-9,20-28,39.16a12,12,0,1,1-17-16.9A130.48,130.48,0,0,0,226.48,128a130.36,130.36,0,0,0-21.57-28.12C183.46,78.73,157.59,68,128,68c-3.35,0-6.7.14-10,.42a12,12,0,1,1-2-23.91c3.93-.34,8-.51,12-.51,36,0,68.63,13.67,94.49,39.52,19.35,19.35,28.11,38.8,28.48,39.61A12.08,12.08,0,0,1,251,132.88Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z",opacity:"0.2"}),M.createElement("path",{d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M96.68,57.87a4,4,0,0,1,2.08-6.6A130.13,130.13,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41a8,8,0,0,1,0,6.5c-.35.79-8.82,19.57-27.65,38.4q-4.28,4.26-8.79,8.07a4,4,0,0,1-5.55-.36ZM213.92,210.62a8,8,0,1,1-11.84,10.76L180,197.13A127.21,127.21,0,0,1,128,208c-34.88,0-66.57-13.26-91.66-38.34C17.51,150.83,9,132.05,8.69,131.26a8,8,0,0,1,0-6.5C9,124,17.51,105.18,36.34,86.35a135,135,0,0,1,25-19.78L42.08,45.38A8,8,0,1,1,53.92,34.62Zm-65.49-48.25-52.69-58a40,40,0,0,0,52.69,58Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M52.44,36A6,6,0,0,0,43.56,44L64.44,67c-37.28,21.9-53.23,57-53.92,58.57a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206a124.91,124.91,0,0,0,52.57-11.25l23,25.29a6,6,0,0,0,8.88-8.08Zm48.62,71.32,45,49.52a34,34,0,0,1-45-49.52ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.57,134.57,0,0,1,22.69,128c4.29-8.2,20.1-35.18,50-51.91L92.89,98.3a46,46,0,0,0,61.35,67.48l17.81,19.6A113.47,113.47,0,0,1,128,194Zm6.4-99.4a6,6,0,0,1,2.25-11.79,46.17,46.17,0,0,1,37.15,40.87,6,6,0,0,1-5.42,6.53l-.56,0a6,6,0,0,1-6-5.45A34.1,34.1,0,0,0,134.4,94.6Zm111.08,35.85c-.41.92-10.37,23-32.86,43.12a6,6,0,1,1-8-8.94A134.07,134.07,0,0,0,233.31,128a134.67,134.67,0,0,0-23.86-32.07C186.78,73.42,159.38,62,128,62a120.19,120.19,0,0,0-19.69,1.6,6,6,0,1,1-2-11.83A131.12,131.12,0,0,1,128,50c43.38,0,73,20.54,90.24,37.76,18.58,18.58,26.9,37,27.24,37.81A6,6,0,0,1,245.48,130.45Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M51,37.31A4,4,0,0,0,45,42.69L67.59,67.5C29.34,89,13,124.81,12.34,126.38a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17a122.59,122.59,0,0,0,53.06-11.69l24,26.38a4,4,0,1,0,5.92-5.38ZM149.1,157.16A36,36,0,0,1,101,104.22ZM128,196c-32,0-59.89-11.65-83-34.62A135.81,135.81,0,0,1,20.44,128c3.65-7.23,20.09-36.81,52.68-54.43l22.45,24.7a44,44,0,0,0,59,64.83l20.89,23A114.94,114.94,0,0,1,128,196Zm6.78-103.36a4,4,0,0,1,1.49-7.86,44.15,44.15,0,0,1,35.54,39.09,4,4,0,0,1-3.61,4.35l-.38,0a4,4,0,0,1-4-3.63A36.1,36.1,0,0,0,134.78,92.64Zm108.88,37c-.41.91-10.2,22.58-32.38,42.45a4,4,0,0,1-2.67,1,4,4,0,0,1-2.67-7A136.71,136.71,0,0,0,235.56,128,136.07,136.07,0,0,0,211,94.62C187.89,71.65,160,60,128,60a122,122,0,0,0-20,1.63,4,4,0,0,1-1.32-7.89A129.3,129.3,0,0,1,128,52c42.7,0,71.87,20.22,88.83,37.18,18.31,18.31,26.49,36.44,26.83,37.2A4.08,4.08,0,0,1,243.66,129.63Z"}))]]),vs=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:vr}));function vt(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(null),[d,e]=(0,M.useState)([]),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),n=null!==b&&!d.some(a=>a.label===b),o=(0,M.useCallback)(async b=>{i(!0),m(null),k(!1);try{let a=await fetch("/api/settings/title-model",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:""===b?null:b})}),d=await a.json();if(!a.ok||d.error)return void m(d.error??`HTTP ${a.status}`);c(d.value??null),k(!0),setTimeout(()=>k(!1),2e3)}catch{m(String(a("desktop.titleModelSaveError")))}finally{i(!1)}},[a]),p=[...new Set(d.map(a=>a.provider))];return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"12px 18px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--text)",whiteSpace:"nowrap"},children:a("desktop.titleModel")}),(0,L.jsxs)("select",{value:b??"",disabled:f||h,onChange:a=>o(a.target.value),style:{flex:1,minWidth:200,maxWidth:420,padding:"6px 9px",fontSize:12,color:"var(--text)",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:5},children:[(0,L.jsx)("option",{value:"",children:a("desktop.titleModelFollowSession")}),n&&null!==b&&(0,L.jsxs)("option",{value:b,style:{color:"#ef4444"},children:[b,"(",a("desktop.titleModelInvalid"),")"]}),p.map(a=>(0,L.jsx)("optgroup",{label:a,children:d.filter(b=>b.provider===a).map(a=>(0,L.jsxs)("option",{value:a.label,children:[a.name||a.id,a.reasoning?"(reasoning)":""]},a.label))},a))]}),h&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)"},children:"…"}),!h&&j&&(0,L.jsx)("span",{style:{fontSize:11,color:"#4ade80"},children:a("desktop.titleModelSaved")})]}),(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"var(--text-muted)",lineHeight:1.5},children:a("desktop.titleModelDescription")}),l&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#ef4444",lineHeight:1.5},children:l}),n&&null!==b&&(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"#ef4444",lineHeight:1.5},children:[b,"(",a("desktop.titleModelInvalid"),")"]})]})}vs.displayName="EyeSlashIcon";let vu=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function vv(a){if(""===a.trim())return;let b=Number(a);return Number.isFinite(b)&&b>0?b:void 0}function vw(a){let b=vv(a.contextWindow??""),c=vv(a.maxTokens??""),d=a.thinkingLevelMap&&Object.keys(a.thinkingLevelMap).length>0?{...a.thinkingLevelMap}:void 0;return{...a.name?.trim()?{name:a.name.trim()}:{},..."boolean"==typeof a.reasoning?{reasoning:a.reasoning}:{},...void 0!==b?{contextWindow:b}:{},...void 0!==c?{maxTokens:c}:{},...d?{thinkingLevelMap:d}:{},..."boolean"==typeof a.hidden?{hidden:a.hidden}:{}}}function vx({providerId:a,onRegisterFlush:b,onConfigChange:c}){let{t:d}=(0,aK.s)(),e=aO(),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)({}),[j,k]=(0,M.useState)({}),[l,m]=(0,M.useState)(new Set),[n,o]=(0,M.useState)(!0),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)(!1),[v,w]=(0,M.useState)(null),x=(0,M.useRef)(h),y=(0,M.useRef)(j),z=(0,M.useRef)(f),A=(0,M.useRef)(l),B=(0,M.useRef)(0),C=(0,M.useRef)(null);x.current=h,y.current=j,z.current=f,A.current=l;let D=(0,M.useCallback)((a,b)=>{B.current+=1,i(c=>({...c,[a]:{...c[a]??{},...b}})),m(b=>new Set(b).add(a))},[]),E=(0,M.useCallback)(async()=>{let b=C.current;if(b)return b;let d=(async()=>{let b=new Set(A.current);if(0===b.size)return;let d=B.current,e={...x.current},f={},g={};for(let a of z.current){let b=e[a.id],c=y.current[a.id];b&&(f[a.id]=vw(b)),c&&(g[a.id]=vw(c))}let h=function(a,b,c){let d={};for(let e of a){let a=b[e],f=c[e];if(!a||!f)continue;let g={};for(let b of vu){let c=a[b],d=f[b];JSON.stringify(c)!==JSON.stringify(d)&&(g[b]=void 0===c?null:c)}Object.keys(g).length>0&&(d[e]=g)}return d}(b,f,g);if(0===Object.keys(h).length)return void m(new Set);q(!0),s(null),u(!1);try{let f=await fetch("/api/models-config/builtin",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a,patches:h})}),g=await f.json();if(!f.ok||g.error)throw Error(g.error??`HTTP ${f.status}`);c?.(g.provider??null);let i={...y.current};for(let a of b){let b=e[a];b&&(i[a]={...b})}y.current=i,k(i),B.current===d&&m(a=>new Set([...a].filter(a=>!b.has(a)))),u(!0),setTimeout(()=>u(!1),2e3)}catch(a){throw s(a instanceof Error?a.message:String(a)),a}finally{q(!1)}})();C.current=d;try{await d}finally{C.current===d&&(C.current=null)}},[c,a]);return n?(0,L.jsx)("div",{style:{borderTop:"1px solid var(--border)",marginTop:14,paddingTop:12},children:(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-dim)"},children:d("desktop.modelsLoading")})}):(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",marginTop:14,paddingTop:12,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:d("desktop.builtinModelsTitle")}),r&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#f87171"},children:r}),0===f.length&&!r&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)"},children:d("desktop.builtinModelsEmpty")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:f.map(a=>{let b=h[a.id]??{},c=v===a.id,f=l.has(a.id);return(0,L.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",padding:"8px 10px"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>w(c?null:a.id),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text)",fontSize:12,fontWeight:600,padding:0,textAlign:"left"},children:[b.name||a.name||a.id,f&&(0,L.jsx)("span",{style:{color:"var(--accent)",marginLeft:6},children:"•"})]}),(0,L.jsx)("code",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:a.id}),(b.reasoning??a.reasoning)&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:"var(--bg-selected)",color:"var(--text-muted)"},children:"reasoning"}),(0,L.jsxs)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:[d("desktop.builtinModelsContext"),": ",(0,L.jsx)("b",{children:b.contextWindow?Number(b.contextWindow).toLocaleString():"—"})," \xb7 ",d("desktop.builtinModelsMaxTokens"),": ",(0,L.jsx)("b",{children:b.maxTokens?Number(b.maxTokens).toLocaleString():"—"})]})]}),c&&(0,L.jsxs)("div",{style:{marginTop:10,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",width:"100%"},children:[d("desktop.modelsName"),(0,L.jsx)("input",{type:"text",value:b.name??"",placeholder:a.name||a.id,onChange:b=>D(a.id,{name:b.target.value.trim()||void 0}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}}),(0,L.jsxs)("label",{style:{display:"flex",gap:4,alignItems:"center",fontSize:11,color:b.hidden?"#f87171":"var(--text-muted)",cursor:"pointer",whiteSpace:"nowrap",marginLeft:8},children:[(0,L.jsx)("input",{type:"checkbox",checked:!0===b.hidden,onChange:b=>D(a.id,{hidden:b.target.checked})}),d("desktop.builtinModelsHide")]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:16,flexWrap:"wrap",flexDirection:e?"column":"row",alignItems:e?"flex-start":"center"},children:[(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:!0===b.reasoning,onChange:b=>D(a.id,{reasoning:b.target.checked})}),d("desktop.builtinModelsReasoning")]}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",flex:e?1:void 0,width:e?"100%":void 0},children:[d("desktop.modelsContextWindow"),(0,L.jsx)("input",{type:"number",min:1,value:b.contextWindow??"",placeholder:null!=a.contextWindow?String(a.contextWindow):"",onChange:b=>D(a.id,{contextWindow:b.target.value}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}})]}),(0,L.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12,color:"var(--text)",flex:e?1:void 0,width:e?"100%":void 0},children:[d("desktop.modelsMaxOutputTokens"),(0,L.jsx)("input",{type:"number",min:1,value:b.maxTokens??"",placeholder:null!=a.maxTokens?String(a.maxTokens):"",onChange:b=>D(a.id,{maxTokens:b.target.value}),style:{flex:1,minWidth:0,padding:"4px 7px",fontSize:11,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:4,color:"var(--text)",fontFamily:"var(--font-mono)"}})]})]}),(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)"},children:d("desktop.builtinModelsThinking")}),(0,L.jsx)(vL,{value:b.thinkingLevelMap,onChange:b=>D(a.id,{thinkingLevelMap:b})})]})]},a.id)})}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("button",{type:"button",onClick:()=>{E().catch(()=>{})},disabled:p||0===l.size,style:{alignSelf:"flex-start",padding:"5px 14px",background:l.size>0&&!p?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:l.size>0&&!p?"#fff":"var(--text-dim)",cursor:l.size>0&&!p?"pointer":"not-allowed",fontSize:12,fontWeight:600},children:p?d("desktop.modelsSaving"):t?d("desktop.modelsSaved"):d("desktop.modelsSave")}),l.size>0&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)"},children:d("desktop.builtinModelsDirty",{count:l.size})})]})]})}let vy=["openai-completions","openai-responses","anthropic-messages","google-generative-ai"];function vz(){let{t:a}=(0,aK.s)();return(0,M.useCallback)((b,c)=>a(b,c),[a])}function vA({label:a,children:b}){return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:11,color:"var(--text-muted)",fontWeight:500},children:a}),b]})}let vB={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 vC({value:a,onChange:b,placeholder:c,mono:d}){return(0,L.jsx)("input",{value:a,onChange:a=>b(a.target.value),placeholder:c,style:{...vB,fontFamily:d?"var(--font-mono)":"inherit"}})}function vD({value:a,onChange:b,placeholder:c,mono:d,onKeyDown:e,autoComplete:f="off",spellCheck:g=!1,style:h}){let i=vz(),[j,k]=(0,M.useState)(!1);return(0,L.jsxs)("div",{style:{position:"relative",width:"100%",...h},children:[(0,L.jsx)("input",{type:j?"text":"password",value:a,onChange:a=>b(a.target.value),onKeyDown:e,placeholder:c,style:{...vB,paddingRight:34,fontFamily:d?"var(--font-mono)":"inherit"},autoComplete:f,spellCheck:g}),(0,L.jsx)("button",{type:"button",onClick:()=>k(a=>!a),"aria-label":i(j?"desktop.modelsHideApiKey":"desktop.modelsShowApiKey"),title:i(j?"desktop.modelsHideApiKey":"desktop.modelsShowApiKey"),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:j?(0,L.jsx)(vs,{size:15}):(0,L.jsx)(rp,{size:15})})]})}function vE({value:a,onChange:b,placeholder:c}){return(0,L.jsx)("input",{type:"number",value:a,onChange:a=>b(a.target.value),placeholder:c,style:vB})}function vF({value:a,onChange:b,options:c,required:d}){let e=vz();return(0,L.jsxs)("select",{value:a,onChange:a=>b(a.target.value),style:{...vB,color:a?"var(--text)":"var(--text-dim)"},children:[!d&&(0,L.jsx)("option",{value:"",children:e("desktop.modelsInheritNone")}),c.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]})}function vG({label:a,checked:b,onChange:c}){return(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsx)("input",{type:"checkbox",checked:b,onChange:a=>c(a.target.checked),style:{width:13,height:13,accentColor:"var(--accent)",cursor:"pointer"}}),a]})}function vH({children:a}){return(0,L.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:2},children:a})}function vI({name:a,provider:b,onChange:c,onRename:d,onDelete:e,onAddModels:f}){let g=vz(),[h,i]=(0,M.useState)(a),[j,k]=(0,M.useState)({phase:"idle"}),[l,m]=(0,M.useState)(""),[n,o]=(0,M.useState)([]),p=(0,M.useRef)(0),q=(0,M.useRef)(null),r=(a,d)=>c({...b,[a]:d}),s=(0,M.useCallback)(async()=>{if(!b.baseUrl?.trim()||"loading"===j.phase)return;let c=++p.current;k({phase:"loading"}),o([]);try{let d=await fetch("/api/models-config/discover",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:a,provider:{...b,models:void 0}})}),e=await d.json();if(c!==p.current)return;if(!d.ok||e.error||!e.models)return void k({phase:"error",message:e.error??`HTTP ${d.status}`});k({phase:"success",models:e.models,endpoint:e.endpoint??b.baseUrl})}catch(a){if(c!==p.current)return;k({phase:"error",message:a instanceof Error?a.message:String(a)})}},[j.phase,a,b]),t=new Set((b.models??[]).map(a=>a.id)),u="success"===j.phase?j.models:[],v=l.trim().toLocaleLowerCase(),w=u.filter(a=>!v||a.id.toLocaleLowerCase().includes(v)||a.name?.toLocaleLowerCase().includes(v)),x=w.slice(0,300),y=x.filter(a=>!t.has(a.id)).map(a=>a.id),z=n.filter(a=>!t.has(a)).length,A=y.length>0&&y.every(a=>n.includes(a));return A||y.some(a=>n.includes(a)),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:g("desktop.modelsProvider")}),(0,L.jsx)("button",{onClick:e,style:{padding:"3px 8px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:4,color:"#ef4444",cursor:"pointer",fontSize:11},children:g("desktop.delete")})]}),(0,L.jsxs)(vA,{label:g("desktop.modelsProviderName"),children:[(0,L.jsx)(vC,{value:h,onChange:i,placeholder:"provider-name",mono:!0}),h!==a&&h.trim()&&(0,L.jsx)("button",{onClick:()=>d(h.trim()),style:{marginTop:4,padding:"3px 10px",background:"var(--accent)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:11,alignSelf:"flex-start"},children:g("desktop.rename")})]}),(0,L.jsx)(vA,{label:g("desktop.modelsBaseUrl"),children:(0,L.jsx)(vC,{value:b.baseUrl??"",onChange:a=>r("baseUrl",a||void 0),placeholder:"http(s)://host:port/v1",mono:!0})}),(0,L.jsxs)(vA,{label:g("desktop.modelsApiKey"),children:[(0,L.jsx)(vD,{value:b.apiKey??"",onChange:a=>r("apiKey",a||void 0),placeholder:g("desktop.modelsApiKeyPlaceholder"),mono:!0}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsApiKeyHelp")})]}),(0,L.jsx)(vA,{label:g("desktop.modelsApi"),children:(0,L.jsx)(vF,{value:b.api??"openai-completions",onChange:a=>r("api",a),options:vy,required:!0})}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:14,display:"flex",flexDirection:"column",gap:10},children:["success"!==j.phase&&(0,L.jsx)("button",{onClick:s,disabled:!b.baseUrl?.trim()||"loading"===j.phase,style:{alignSelf:"flex-start",height:30,padding:"0 12px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:b.baseUrl?.trim()&&"loading"!==j.phase?"var(--text-muted)":"var(--text-dim)",cursor:b.baseUrl?.trim()&&"loading"!==j.phase?"pointer":"not-allowed",fontSize:11},children:"loading"===j.phase?g("desktop.modelsDiscoveryFetching"):g("desktop.modelsDiscoveryFetch")}),"error"===j.phase&&(0,L.jsx)("div",{style:{padding:"7px 9px",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",fontSize:11,lineHeight:1.4},children:j.message}),"success"===j.phase&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("input",{value:l,onChange:a=>m(a.target.value),placeholder:g("desktop.modelsDiscoveryFilterPlaceholder",{count:j.models.length}),"aria-label":g("desktop.modelsDiscoveryFilter"),style:{...vB,width:"100%",minWidth:0}}),(0,L.jsxs)("div",{style:{maxHeight:220,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)"},children:[(0,L.jsxs)("label",{style:{minHeight:32,padding:"5px 9px",display:"flex",alignItems:"center",gap:8,position:"sticky",top:0,zIndex:1,borderBottom:"1px solid var(--border)",background:"var(--bg)",cursor:y.length?"pointer":"default",color:"var(--text-muted)",fontSize:10,fontWeight:600},children:[(0,L.jsx)("input",{ref:q,type:"checkbox",checked:A,disabled:0===y.length,onChange:()=>{let a=new Set(y);o(b=>A?b.filter(b=>!a.has(b)):Array.from(new Set([...b,...y])))},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),g("desktop.modelsDiscoverySelectShown")]}),0===x.length?(0,L.jsx)("div",{style:{padding:12,color:"var(--text-dim)",fontSize:11},children:g("desktop.modelsDiscoveryNoMatches")}):x.map((a,b)=>{let c=t.has(a.id),d=n.includes(a.id);return(0,L.jsxs)("label",{style:{minHeight:36,padding:"6px 9px",display:"flex",alignItems:"center",gap:8,borderTop:0===b?"none":"1px solid var(--border)",cursor:c?"default":"pointer",opacity:c?.65:1},children:[(0,L.jsx)("input",{type:"checkbox",checked:d||c,disabled:c,onChange:()=>{var b;return b=a.id,void o(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),(0,L.jsxs)("span",{style:{minWidth:0,flex:1},children:[(0,L.jsx)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontSize:11},children:a.name??a.id}),a.name&&(0,L.jsx)("code",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:10,fontFamily:"var(--font-mono)"},children:a.id})]}),c&&(0,L.jsx)("span",{style:{color:"var(--text-dim)",fontSize:10},children:g("desktop.modelsDiscoveryAdded")})]},a.id)})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10},children:[(0,L.jsx)("span",{title:j.endpoint,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:10},children:w.length>x.length?g("desktop.modelsDiscoveryShowing",{shown:x.length,total:w.length}):g("desktop.modelsDiscoveryFetched",{count:j.models.length})}),(0,L.jsx)("button",{onClick:()=>{if("success"!==j.phase)return;let a=new Set(n),b=j.models.filter(b=>a.has(b.id)&&!t.has(b.id));0!==b.length&&(f(b),o([]))},disabled:0===z,style:{height:28,padding:"0 11px",border:"none",borderRadius:5,background:z?"var(--accent)":"var(--bg-panel)",color:z?"#fff":"var(--text-dim)",cursor:z?"pointer":"not-allowed",fontSize:11,fontWeight:600,whiteSpace:"nowrap"},children:z?g("desktop.modelsDiscoveryAddSelectedCount",{count:z}):g("desktop.modelsDiscoveryAddSelected")})]})]})]})]})}let vJ=["off","minimal","low","medium","high","xhigh","max"],vK={off:"var(--text-dim)",minimal:"var(--text-muted)",low:"#60a5fa",medium:"#a78bfa",high:"#f472b6",xhigh:"#fb923c",max:"#ef4444"};function vL({value:a,onChange:b}){let c=vz(),d=a??{},e=(a,c)=>{let e={...d};"omit"===c?delete e[a]:e[a]=c,b(Object.keys(e).length?e:void 0)};return(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:vJ.map(a=>{let b=d[a],f=a in d?null===b?"null":"string":"omit",g="string"==typeof b?b:"",h=vK[a],i={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)"},j={background:"var(--accent)",color:"#fff",fontWeight:600};return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 4px",borderRadius:6,background:"transparent",border:"1px solid transparent"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,width:68,flexShrink:0},children:[(0,L.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:h,flexShrink:0,opacity:"null"===f?.3:1}}),(0,L.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:"null"===f?"var(--text-dim)":"var(--text-muted)",textDecoration:"null"===f?"line-through":"none"},children:a})]}),(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",flexShrink:0},children:[(0,L.jsx)("button",{onClick:()=>e(a,"omit"),style:{...i,..."omit"===f?j:{}},children:c("desktop.modelsDefault")}),(0,L.jsx)("button",{onClick:()=>e(a,null),style:{...i,borderLeft:"1px solid var(--border)",..."null"===f?{background:"#ef4444",color:"#fff",fontWeight:600}:{}},children:c("desktop.modelsDisabled")})]}),(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,border:`1px solid ${"string"===f?"var(--accent)":"var(--border)"}`,overflow:"hidden",transition:"border-color 0.1s"},children:[(0,L.jsx)("button",{onClick:()=>e(a,g||a),style:{...i,..."string"===f?j:{},borderRight:"1px solid var(--border)",flexShrink:0},children:c("desktop.modelsCustom")}),(0,L.jsx)("input",{value:g,onChange:b=>e(a,b.target.value),onFocus:()=>{"string"!==f&&e(a,g||a)},placeholder:a,maxLength:10,style:{width:"12ch",background:"string"===f?"var(--bg)":"var(--bg-panel)",border:"none",outline:"none",color:"string"===f?"var(--text)":"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,padding:"4px 7px",transition:"background 0.1s, color 0.1s"}})]})]},a)})})}let vM={thinkingFormat:"deepseek",requiresReasoningContentOnAssistantMessages:!0};function vN({providerName:a,provider:b,model:c,onChange:d,onDelete:e}){let f=vz(),[g,h]=(0,M.useState)({phase:"idle"}),[i,j]=(0,M.useState)({phase:"idle"}),k=(0,M.useRef)(0),l=(0,M.useRef)(null),m=(a,b)=>d({...c,[a]:b}),n=(()=>{if("idle"===g.phase)return null;if("testing"===g.phase)return f("desktop.modelsTestingConnection");let a=[void 0!==g.latencyMs?`${g.latencyMs}ms`:null,void 0!==g.status?`HTTP ${g.status}`:null].filter(Boolean);return"success"===g.phase?[f("desktop.modelsConnected"),...a,g.responseText||null].filter(Boolean).join(" \xb7 "):[f("desktop.modelsFailed"),...a,g.message].filter(Boolean).join(" \xb7 ")})(),o=(0,M.useCallback)(async()=>{if(c.id.trim()&&"testing"!==g.phase){h({phase:"testing"});try{let d=await fetch("/api/models-config/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:a,provider:b,model:c})}),e=await d.json();if(!d.ok||!e.ok)return void h({phase:"error",message:e.error??`HTTP ${d.status}`,latencyMs:e.latencyMs,status:e.status});h({phase:"success",latencyMs:e.latencyMs,status:e.status,responseText:e.responseText})}catch(a){h({phase:"error",message:a instanceof Error?a.message:String(a)})}}},[c,b,a,g.phase]),p=(0,M.useCallback)(async()=>{let e=c.id.trim();if(!e||"loading"===i.phase)return;let f=++k.current;j({phase:"loading"});try{let g=new URLSearchParams({q:e,provider:a,limit:"50"});b.baseUrl?.trim()&&g.set("baseUrl",b.baseUrl.trim());let h=await fetch(`/api/models-config/catalog?${g}`),i=await h.json();if(f!==k.current)return;if(!h.ok||i.error||!i.recommendation)return void j({phase:"error",message:i.error??`HTTP ${h.status}`});let m=function(a,b){let c={...a},d=0;if(!a.name?.trim()&&b.name&&(c.name=b.name,d+=1),void 0===a.reasoning&&!0===b.reasoning&&(c.reasoning=!0,d+=1),!a.input?.length&&b.input?.length&&(c.input=[...b.input],d+=1),void 0===a.contextWindow&&void 0!==b.contextWindow&&(c.contextWindow=b.contextWindow,d+=1),void 0===a.maxTokens&&void 0!==b.maxTokens&&(c.maxTokens=b.maxTokens,d+=1),b.cost){let e={...a.cost??{}},f=!1;for(let a of["input","output","cacheRead","cacheWrite"])void 0===e[a]&&void 0!==b.cost[a]&&(e[a]=b.cost[a],f=!0,d+=1);f&&(c.cost=e)}return{model:c,appliedCount:d}}(c,i.recommendation.preset);m.appliedCount>0&&(l.current=c,d(m.model)),j({phase:"success",recommendation:i.recommendation,appliedCount:m.appliedCount})}catch(a){if(f!==k.current)return;j({phase:"error",message:a instanceof Error?a.message:String(a)})}},[i.phase,c,d,b.baseUrl,a]),q=(()=>{if("success"!==i.phase)return null;let{recommendation:b,appliedCount:c}=i,d=c>0?f("desktop.modelsCatalogFilled",{count:c}):f("desktop.modelsCatalogNoEmptyFields");if("unreliable"===b.price.status){let a="no-exact-match"===b.price.reason?f("desktop.modelsCatalogNoExactMatch"):f("desktop.modelsCatalogPriceUnreliable");return`${d} \xb7 ${a}`}let e="provider"===b.price.method?f("desktop.modelsCatalogPriceProvider",{provider:b.price.providerName??b.price.providerId??a}):"base-url"===b.price.method?f("desktop.modelsCatalogPriceBaseUrl",{provider:b.price.providerName??b.price.providerId??a}):f("desktop.modelsCatalogPriceConsensus",{support:b.price.support,total:b.price.total});return`${d} \xb7 ${e}`})(),r="error"===i.phase?i.message:q,s="error"===i.phase?"#ef4444":"success"===i.phase&&"unreliable"===i.recommendation.price.status?"#d97706":"var(--text-dim)";return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:f("desktop.modelsModelSection")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[n&&(0,L.jsx)("span",{title:n,style:{maxWidth:260,height:24,padding:"0 8px",border:`1px solid ${"error"===g.phase?"#fecaca":"success"===g.phase?"#bbf7d0":"var(--border)"}`,borderRadius:4,background:"error"===g.phase?"#fee2e2":"success"===g.phase?"#dcfce7":"#e5e7eb",color:"#111827",fontSize:11,display:"inline-flex",alignItems:"center",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",boxSizing:"border-box"},children:n}),(0,L.jsxs)("button",{onClick:o,disabled:!c.id.trim()||"testing"===g.phase,title:f("desktop.modelsTestConnection"),style:{height:24,padding:"0 8px",background:"success"===g.phase?"#16a34a":"none",border:`1px solid ${"success"===g.phase?"#16a34a":"var(--border)"}`,borderRadius:4,color:"success"===g.phase?"#fff":c.id.trim()&&"testing"!==g.phase?"var(--text-muted)":"var(--text-dim)",cursor:c.id.trim()&&"testing"!==g.phase?"pointer":"not-allowed",fontSize:11,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:5},children:["success"===g.phase&&(0,L.jsx)(_,{size:11}),"testing"===g.phase?f("desktop.modelsTesting"):"success"===g.phase?f("desktop.modelsOk"):f("desktop.modelsTest")]}),(0,L.jsx)("button",{onClick:e,style:{height:24,padding:"0 8px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:4,color:"#ef4444",cursor:"pointer",fontSize:11,boxSizing:"border-box"},children:f("desktop.modelsRemove")})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(vA,{label:f("desktop.modelsIdRequired"),children:(0,L.jsx)(vC,{value:c.id,onChange:a=>m("id",a),placeholder:"model-id",mono:!0})}),(0,L.jsx)(vA,{label:f("desktop.modelsName"),children:(0,L.jsx)(vC,{value:c.name??"",onChange:a=>m("name",a||void 0),placeholder:f("desktop.modelsDisplayName")})})]}),(0,L.jsxs)("div",{style:{padding:"10px 0",borderTop:"1px solid var(--border)",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{onClick:()=>void p(),disabled:!c.id.trim()||"loading"===i.phase,style:{height:28,padding:"0 10px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:c.id.trim()&&"loading"!==i.phase?"var(--text-muted)":"var(--text-dim)",cursor:c.id.trim()&&"loading"!==i.phase?"pointer":"not-allowed",fontSize:11},children:"loading"===i.phase?f("desktop.modelsCatalogFilling"):f("desktop.modelsCatalogFill")}),(0,L.jsx)("a",{href:"https://github.com/anomalyco/models.dev",target:"_blank",rel:"noreferrer",style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10,textDecoration:"none"},children:f("desktop.modelsCatalogSource")})]}),(0,L.jsxs)("div",{"aria-live":"polite",style:{marginTop:6,height:20,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,color:s,fontSize:10},children:[(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),"success"===i.phase&&l.current&&(0,L.jsx)("button",{onClick:()=>{let a=l.current;a&&(l.current=null,d(a),j({phase:"idle"}))},style:{background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:10,flexShrink:0},children:f("desktop.modelsCatalogUndo")})]})]}),(0,L.jsx)(vA,{label:f("desktop.modelsApiOverride"),children:(0,L.jsx)(vF,{value:c.api??"",onChange:a=>m("api",a||void 0),options:vy})}),(0,L.jsxs)("div",{style:{display:"flex",gap:20,flexWrap:"wrap"},children:[(0,L.jsx)(vG,{label:f("desktop.modelsReasoningThinking"),checked:c.reasoning??!1,onChange:a=>m("reasoning",a||void 0)}),(0,L.jsx)(vG,{label:f("desktop.modelsImageInput"),checked:c.input?.includes("image")??!1,onChange:a=>m("input",a?["text","image"]:void 0)})]}),c.reasoning&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(vG,{label:f("desktop.modelsDeepSeekCompat"),checked:c.compat?.thinkingFormat==="deepseek",onChange:a=>d(function(a,b){if(b)return{...a,compat:{...a.compat??{},...vM}};if(!a.compat)return a;let c={...a.compat};return delete c.thinkingFormat,delete c.requiresReasoningContentOnAssistantMessages,{...a,compat:Object.keys(c).length?c:void 0}}(c,a))}),(0,L.jsxs)("div",{children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[(0,L.jsx)(vH,{children:f("desktop.modelsThinkingLevelMap")}),c.thinkingLevelMap&&(0,L.jsx)("button",{onClick:()=>m("thinkingLevelMap",void 0),style:{fontSize:10,padding:"2px 7px",background:"none",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-dim)",cursor:"pointer"},children:f("desktop.modelsClearAll")})]}),(0,L.jsx)(vL,{value:c.thinkingLevelMap,onChange:a=>m("thinkingLevelMap",a)})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(vA,{label:f("desktop.modelsContextWindow"),children:(0,L.jsx)(vE,{value:void 0!==c.contextWindow?String(c.contextWindow):"",onChange:a=>m("contextWindow",a?parseInt(a):void 0),placeholder:"128000"})}),(0,L.jsx)(vA,{label:f("desktop.modelsMaxOutputTokens"),children:(0,L.jsx)(vE,{value:void 0!==c.maxTokens?String(c.maxTokens):"",onChange:a=>m("maxTokens",a?parseInt(a):void 0),placeholder:"16384"})})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)(vH,{children:f("desktop.modelsCostPerMillionTokens")}),(0,L.jsx)("div",{style:{marginTop:8,display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gap:8},children:["input","output","cacheRead","cacheWrite"].map(a=>(0,L.jsx)(vA,{label:a,children:(0,L.jsx)(vE,{value:c.cost?.[a]!==void 0?String(c.cost[a]):"",onChange:b=>{let e;return e=parseFloat(b),void d({...c,cost:{...c.cost??{},[a]:isNaN(e)?void 0:e}})},placeholder:"0"})},a))})]})]})}function vO({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=vz(),[f,g]=(0,M.useState)({phase:"idle"}),[h,i]=(0,M.useState)(""),j=(0,M.useRef)(null),k=(0,M.useRef)(null),l=(0,M.useCallback)(()=>{j.current?.close(),g({phase:"connecting"}),i("");let c=new EventSource(`/api/auth/login/${encodeURIComponent(a.id)}`);j.current=c,c.onmessage=a=>{let d=JSON.parse(a.data);"auth"===d.type?(g({phase:"auth",url:d.url,instructions:d.instructions??null,token:d.token}),window.open(d.url,"_blank","noopener,noreferrer")):"device_code"===d.type?(g({phase:"device_code",userCode:d.userCode,verificationUri:d.verificationUri,intervalSeconds:d.intervalSeconds??null,expiresInSeconds:d.expiresInSeconds??null}),window.open(d.verificationUri,"_blank","noopener,noreferrer")):"prompt_request"===d.type?g({phase:"prompt",message:d.message,placeholder:d.placeholder??null,token:d.token}):"select_request"===d.type?g({phase:"select",message:d.message,options:d.options??[],token:d.token}):"progress"===d.type?g({phase:"progress",message:d.message}):"success"===d.type?(c.close(),g({phase:"success"}),b()):"error"===d.type?(c.close(),g({phase:"error",message:d.message})):"cancelled"===d.type&&(c.close(),g({phase:"idle"}))},c.onerror=()=>{c.close(),g(a=>"success"===a.phase?a:{phase:"error",message:e("desktop.modelsConnectionLost")})}},[a.id,b,e]),m=(0,M.useCallback)(async()=>{try{let b=await fetch(`/api/auth/logout/${encodeURIComponent(a.id)}`,{method:"POST"});if(b.ok)g({phase:"idle"});else{let a=await b.json().catch(()=>null);g({phase:"error",message:409===b.status?e("desktop.modelsAuthenticationStateChanged"):a?.error??`HTTP ${b.status}`})}}catch(a){g({phase:"error",message:a instanceof Error?a.message:String(a)})}finally{b()}},[a.id,b,e]),n=(0,M.useCallback)(async(b,c)=>{if(c.trim()){g({phase:"progress",message:e("desktop.modelsVerifying")});try{let d=await fetch(`/api/auth/login/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b,code:c.trim()})});if(!d.ok){let a=await d.json().catch(()=>({}));g({phase:"error",message:a.error??e("desktop.modelsServerError",{status:d.status})});return}i("")}catch(a){g({phase:"error",message:a instanceof Error?a.message:e("desktop.modelsNetworkError")})}}},[a.id,e]),o=(0,M.useCallback)(async(b,c)=>{g({phase:"progress",message:e("desktop.modelsContinuing")});try{let d=await fetch(`/api/auth/login/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b,code:c})});if(!d.ok){let a=await d.json().catch(()=>({}));g({phase:"error",message:a.error??e("desktop.modelsServerError",{status:d.status})})}}catch(a){g({phase:"error",message:a instanceof Error?a.message:e("desktop.modelsNetworkError")})}},[a.id,e]),p="connecting"===f.phase||"progress"===f.phase||"auth"===f.phase||"device_code"===f.phase||"prompt"===f.phase||"select"===f.phase;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:e("desktop.modelsSubscription")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a.loggedIn?"#4ade80":"var(--border)",display:"inline-block"}}),(0,L.jsx)("span",{style:{fontSize:11,color:a.loggedIn?"#4ade80":"var(--text-dim)"},children:a.loggedIn?e("desktop.modelsConnected"):e("desktop.modelsNotConnected")})]})]}),(0,L.jsxs)("div",{style:{minHeight:48},children:["idle"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:a.loggedIn?e("desktop.modelsAlreadyConnected"):e("desktop.modelsConnectAccount",{provider:a.name})}),"connecting"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:e("desktop.modelsOpeningBrowser")}),"select"===f.phase&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:f.message}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:f.options.map(a=>(0,L.jsx)("button",{onClick:()=>o(f.token,a.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:a.label},a.id))})]}),("auth"===f.phase||"prompt"===f.phase)&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:"auth"===f.phase?e("desktop.modelsCompleteSignIn"):f.message}),"auth"===f.phase&&(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[e("desktop.modelsBrowserDidNotOpen")," ",(0,L.jsx)("a",{href:f.url,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:e("desktop.modelsOpenLoginPage")}),"."]}),(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("input",{ref:k,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&n(f.token,h)},placeholder:"auth"===f.phase?"http://localhost:1455/auth/callback?code=…":f.placeholder??e("desktop.modelsEnterValue"),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,L.jsx)("button",{onClick:()=>n(f.token,h),disabled:!h.trim(),style:{padding:"6px 12px",background:h.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:h.trim()?"#fff":"var(--text-dim)",cursor:h.trim()?"pointer":"not-allowed",fontSize:12,fontWeight:600,flexShrink:0},children:e("desktop.submit")})]})]}),"device_code"===f.phase&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:e("desktop.modelsOpenVerificationPage")}),(0,L.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:f.userCode}),(0,L.jsxs)("p",{style:{margin:0,fontSize:11,color:"var(--text-dim)",lineHeight:1.5},children:[(0,L.jsx)("a",{href:f.verificationUri,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",wordBreak:"break-all"},children:f.verificationUri}),f.expiresInSeconds?` ${e("desktop.modelsExpiresInMinutes",{count:Math.ceil(f.expiresInSeconds/60)})}`:""]})]}),"progress"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)"},children:f.message}),"success"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#4ade80"},children:e("desktop.modelsConnectedSuccessfully")}),"error"===f.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#f87171"},children:f.message})]}),(0,L.jsx)("div",{style:{display:"flex",gap:8},children:p?(0,L.jsx)("button",{onClick:()=>{j.current?.close(),g({phase:"idle"})},style:{padding:"5px 12px",background:"none",border:"1px solid var(--border)",borderRadius:5,color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:e("desktop.cancel")}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{onClick:l,style:{padding:"5px 14px",background:"var(--accent)",border:"none",borderRadius:5,color:"#fff",cursor:"pointer",fontSize:12,fontWeight:600},children:a.loggedIn?e("desktop.modelsReLogin"):e("desktop.modelsLogin")}),a.loggedIn&&(0,L.jsx)("button",{onClick:m,style:{padding:"5px 12px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",cursor:"pointer",fontSize:12},children:e("desktop.modelsDisconnect")})]})}),(0,L.jsx)(vx,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function vP({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=vz(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(!1),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),p=(0,M.useCallback)(async()=>{if(f.trim()){i(!0),m(null),o(!1);try{let c=await fetch(`/api/auth/api-key/${encodeURIComponent(a.id)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:f.trim()})}),d=await c.json();!c.ok||d.error?m(d.error??`HTTP ${c.status}`):(g(""),o(!0),setTimeout(()=>o(!1),2e3),b())}catch(a){m(String(a))}finally{i(!1)}}},[f,a.id,b]),q=(0,M.useCallback)(async()=>{k(!0),m(null);try{let b=await fetch(`/api/auth/api-key/${encodeURIComponent(a.id)}`,{method:"DELETE"}),c=await b.json();(!b.ok||c.error)&&m(409===b.status?e("desktop.modelsAuthenticationStateChanged"):c.error??`HTTP ${b.status}`)}catch(a){m(String(a))}finally{b(),k(!1)}},[a.id,b,e]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,L.jsx)(vH,{children:e("desktop.modelsApiKey")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a.configured?"#4ade80":"var(--border)",display:"inline-block"}}),(0,L.jsx)("span",{style:{fontSize:11,color:a.configured?"#4ade80":"var(--text-dim)"},children:a.configured?e("desktop.modelsConfigured"):e("desktop.modelsNotConfigured")})]})]}),(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:a.configured?e("desktop.modelsApiKeyStored"):e("desktop.modelsEnableModels",{provider:a.displayName,count:a.modelCount,models:1===a.modelCount?e("desktop.modelsSingular"):e("desktop.modelsPlural")})}),(0,L.jsx)(vA,{label:e("desktop.modelsApiKey"),children:(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)(vD,{value:f,onChange:g,onKeyDown:a=>{"Enter"===a.key&&f.trim()&&p()},placeholder:a.configured?e("desktop.modelsEnterNewKey"):"sk-…",style:{flex:1},autoComplete:"off",spellCheck:!1,mono:!0}),(0,L.jsxs)("button",{onClick:p,disabled:h||!f.trim()||n,style:{padding:"6px 12px",background:n?"#16a34a":f.trim()?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:f.trim()||n?"#fff":"var(--text-dim)",cursor:h||!f.trim()||n?"not-allowed":"pointer",fontSize:12,fontWeight:600,flexShrink:0,display:"flex",alignItems:"center",gap:5},children:[n&&(0,L.jsx)(_,{size:12}),n?e("desktop.modelsSaved"):h?e("desktop.modelsSaving"):e("desktop.modelsSave")]})]})}),l&&(0,L.jsx)("p",{style:{margin:0,fontSize:12,color:"#f87171"},children:l}),a.configured&&(0,L.jsx)("button",{onClick:q,disabled:j,style:{alignSelf:"flex-start",padding:"5px 12px",background:"none",border:"1px solid rgba(239,68,68,0.3)",borderRadius:5,color:"#ef4444",cursor:j?"not-allowed":"pointer",fontSize:12},children:j?e("desktop.modelsRemoving"):e("desktop.modelsDisconnect")}),(0,L.jsx)(vx,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function vQ({oauthProviders:a,apiKeyProviders:b,onSelectOAuth:c,onSelectApiKey:d,onAddCustom:e,onClose:f}){let g=vz(),[h,i]=(0,M.useState)(""),j=(0,M.useRef)(null),k=h.trim().toLowerCase(),l=a.filter(a=>!a.loggedIn&&(!k||a.name.toLowerCase().includes(k))),m=b.filter(a=>!a.configured&&(!k||a.displayName.toLowerCase().includes(k)||a.id.toLowerCase().includes(k))),n=!k||"custom".includes(k)||"openai-compatible".includes(k)||"anthropic-compatible".includes(k),o=l.length+m.length+ +!!n,p={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,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:1100,background:"rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{a.target===a.currentTarget&&f()},children:(0,L.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,L.jsxs)("div",{style:{padding:"10px 14px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)(V,{size:13,style:{color:"var(--text-dim)",flexShrink:0}}),(0,L.jsx)("input",{ref:j,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Escape"===a.key&&f()},placeholder:g("desktop.modelsSearchProviders"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:13,boxSizing:"border-box"}})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:14},children:0===o?(0,L.jsx)("div",{style:{padding:"20px 0",fontSize:12,color:"var(--text-dim)",textAlign:"center"},children:g("desktop.modelsNoProvidersMatch")}):(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(min(240px, 100%), 1fr))",gap:8},children:[n&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsCustom")}),n&&(0,L.jsxs)("button",{onClick:()=>{e(),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g("desktop.modelsCompatibleProvider")}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsCustomEndpointFormat")})]}),(0,L.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,L.jsx)(ah,{size:13,style:{color:"var(--text-dim)"}})})]}),l.length>0&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*!!n,fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsSubscriptions")}),l.map(a=>(0,L.jsxs)("button",{onClick:()=>{c(a.id),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:"OAuth"})]}),(0,L.jsx)(sa,{id:a.id,size:28})]},a.id)),m.length>0&&(0,L.jsx)("div",{style:{gridColumn:"1 / -1",paddingTop:6*(l.length>0),fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em"},children:g("desktop.modelsApiKey")}),m.map(a=>(0,L.jsxs)("button",{onClick:()=>{d(a.id),f()},style:p,onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.displayName}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:g("desktop.modelsCount",{count:a.modelCount})})]}),(0,L.jsx)(sa,{id:a.id,size:28})]},a.id))]})})]})})}function vR({embedded:a=!1,sessionId:b,onCloseAction:c,onSavedAction:d,onRegisterFlush:e}){let f=vz(),g=aO(),[h,i]=(0,M.useState)({providers:{}}),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(!1),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(null),[t,u]=(0,M.useState)([]),[v,w]=(0,M.useState)([]),[x,y]=(0,M.useState)(!1),[z,A]=(0,M.useState)({oauth:!1,apiKey:!1}),B=(0,M.useRef)({providers:{}}),C=(0,M.useRef)(new Map),D=(0,M.useRef)(0),E=(0,M.useRef)(!1);B.current=h;let F=(0,M.useCallback)(a=>{let b=a(B.current);return B.current=b,D.current+=1,i(b),b},[]),G=(0,M.useCallback)(()=>{fetch("/api/auth/combined").then(a=>a.json()).then(a=>{u(a.oauth??[]),w(a.apiKey??[])}).catch(()=>{}).finally(()=>A({oauth:!0,apiKey:!0}))},[]),H=(0,M.useCallback)((a,b)=>(C.current.set(a,b),()=>{C.current.get(a)===b&&C.current.delete(a)}),[]),I=(0,M.useCallback)(async()=>{for(let a of[...C.current.values()])await a()},[]),J=(0,M.useCallback)((a,b)=>{F(c=>{let d={...c.providers??{}};return b?d[a]=b:delete d[a],{...c,providers:d}}),d?.()},[d,F]),K=(0,M.useCallback)(async a=>{if(!E.current){E.current=!0,o(null);try{await I(),s(a)}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I]),N=(0,M.useCallback)(async()=>{if(!E.current){E.current=!0,o(null);try{await I();let a="new-provider",b=1;for(;B.current.providers?.[a];)a=`new-provider-${b++}`;F(b=>({...b,providers:{...b.providers??{},[a]:{api:"openai-completions"}}})),s({type:"provider",name:a})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),O=(0,M.useCallback)((a,b)=>{F(c=>({...c,providers:{...c.providers??{},[a]:b}}))},[F]),P=(0,M.useCallback)((a,b)=>{F(c=>{let d=Object.entries(c.providers??{}),e=d.findIndex(([b])=>b===a);return -1===e?c:(d[e]=[b,d[e][1]],{...c,providers:Object.fromEntries(d)})}),s(c=>c?"provider"===c.type&&c.name===a?{type:"provider",name:b}:"model"===c.type&&c.providerName===a?{...c,providerName:b}:c:c)},[F]),Q=(0,M.useCallback)(a=>{let b=Object.keys(F(b=>{let c={...b.providers??{}};return delete c[a],{...b,providers:c}}).providers??{});s(b.length>0?{type:"provider",name:b[0]}:null)},[F]),R=(0,M.useCallback)(async a=>{if(!E.current){E.current=!0,o(null);try{await I();let b=F(b=>{let c=b.providers?.[a]??{},d=[...c.models??[],{id:""}];return{...b,providers:{...b.providers??{},[a]:{...c,models:d}}}}),c=(b.providers?.[a]?.models?.length??1)-1;s({type:"model",providerName:a,index:c})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),S=(0,M.useCallback)((a,b)=>{F(c=>{let d=c.providers?.[a]??{},e=[...d.models??[]],f=new Set(e.map(a=>a.id));for(let a of b)f.has(a.id)||(f.add(a.id),e.push({id:a.id,name:a.name}));return{...c,providers:{...c.providers??{},[a]:{...d,models:e}}}})},[F]),T=(0,M.useCallback)((a,b,c)=>{F(d=>{let e=d.providers?.[a]??{},f=[...e.models??[]];return f[b]=c,{...d,providers:{...d.providers??{},[a]:{...e,models:f}}}})},[F]),U=(0,M.useCallback)(async(a,b)=>{if(!E.current){E.current=!0,o(null);try{await I(),F(c=>{let d=c.providers?.[a]??{},e=[...d.models??[]];return e.splice(b,1),{...c,providers:{...c.providers??{},[a]:{...d,models:e.length?e:void 0}}}}),s({type:"provider",name:a})}catch(a){o(a instanceof Error?a.message:String(a))}finally{E.current=!1}}},[I,F]),V=(0,M.useCallback)(async()=>{if(!l){m(!0),o(null),q(!1);try{await I();let a=B.current,b=await fetch("/api/models-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);c.config&&(B.current=c.config,D.current+=1,i(c.config)),q(!0),d?.(),setTimeout(()=>q(!1),2e3)}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}}},[I,d,l]),W=(0,M.useCallback)(async()=>{try{await I(),c?.()}catch(a){o(a instanceof Error?a.message:String(a))}},[I,c]),X=Object.entries(h.providers??{}),Y=new Set([...t.map(a=>a.id),...v.map(a=>a.id)]),Z=X.filter(([a])=>!Y.has(a)),$=t.filter(a=>a.loggedIn),aa=v.filter(a=>a.configured),ab=(()=>{if(!r)return null;if("oauth"===r.type){let a=t.find(a=>a.id===r.providerId);return a?(0,L.jsx)(vO,{provider:a,onRefresh:G,onRegisterBuiltinFlush:H,onBuiltinProviderChange:b=>J(a.id,b)},a.id):null}if("apikey"===r.type){let a=v.find(a=>a.id===r.providerId);return a?(0,L.jsx)(vP,{provider:a,onRefresh:G,onRegisterBuiltinFlush:H,onBuiltinProviderChange:b=>J(a.id,b)},a.id):null}if("provider"===r.type){let a=h.providers?.[r.name];return a?(0,L.jsx)(vI,{name:r.name,provider:a,onChange:a=>O(r.name,a),onRename:a=>P(r.name,a),onDelete:()=>Q(r.name),onAddModels:a=>S(r.name,a)},r.name):null}let a=h.providers?.[r.providerName],b=a?.models?.[r.index];return b?(0,L.jsx)(vN,{providerName:r.providerName,provider:a,model:b,onChange:a=>T(r.providerName,r.index,a),onDelete:()=>{U(r.providerName,r.index)}},`${r.providerName}-${r.index}`):null})();return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("div",{style:a?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:b=>{a||b.target!==b.currentTarget||W()},children:(0,L.jsxs)("div",{style:a?{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}:{width:g?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:g?"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:[!a&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.models")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:"~/.pi/agent/models.json"})]}),(0,L.jsx)("button",{onClick:()=>{W()},"aria-label":f("desktop.modelsClose"),title:f("desktop.modelsClose"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,L.jsx)(vt,{}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:g?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:g?"100%":210,maxHeight:g?"40vh":void 0,borderRight:g?"none":"1px solid var(--border)",borderBottom:g?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:[$.map(a=>{let b=r?.type==="oauth"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{K({type:"oauth",providerId:a.id})},style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:b?"var(--bg-selected)":"none"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(sa,{id:a.id,size:16}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name})]},a.id)}),aa.map(a=>{let b=r?.type==="apikey"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{K({type:"apikey",providerId:a.id})},style:{display:"flex",alignItems:"center",gap:7,padding:"5px 8px",borderRadius:5,cursor:"pointer",background:b?"var(--bg-selected)":"none"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(sa,{id:a.id,size:16}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.displayName})]},a.id)}),($.length>0||aa.length>0)&&Z.length>0&&(0,L.jsx)("div",{style:{margin:"4px 8px",borderTop:"1px solid var(--border)"}}),j?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:f("desktop.modelsLoading")}):Z.map(([a,b])=>{let c=r?.type==="provider"&&r.name===a,d=b.models??[];return(0,L.jsxs)("div",{style:{marginBottom:2},children:[(0,L.jsxs)("div",{onClick:()=>{K({type:"provider",name:a})},style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,cursor:"pointer",background:c?"var(--bg-selected)":"none"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(az,{size:11,style:{color:"var(--text-dim)",flexShrink:0}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:c?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})]}),d.map((b,c)=>{let d=r?.type==="model"&&r.providerName===a&&r.index===c;return(0,L.jsxs)("div",{onClick:()=>{K({type:"model",providerName:a,index:c})},style:{display:"flex",alignItems:"center",gap:6,padding:"5px 8px 5px 26px",borderRadius:5,cursor:"pointer",background:d?"var(--bg-selected)":"none"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{fontSize:11,fontFamily:"var(--font-mono)",color:b.id?"var(--text-muted)":"var(--text-dim)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b.id||f("desktop.modelsNewModel")}),b.reasoning&&(0,L.jsx)("span",{style:{fontSize:9,padding:"1px 4px",background:"rgba(99,102,241,0.12)",color:"rgba(99,102,241,0.8)",borderRadius:3,flexShrink:0},children:"T"})]},c)}),(0,L.jsx)("div",{onClick:b=>{b.stopPropagation(),R(a)},style:{display:"flex",alignItems:"center",gap:4,padding:"4px 8px 4px 26px",borderRadius:5,cursor:"pointer",color:"var(--text-dim)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-dim)",a.currentTarget.style.background="none"},children:(0,L.jsx)("span",{style:{fontSize:11},children:f("desktop.modelsAddModel")})})]},a)})]}),(0,L.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 6px"},children:(0,L.jsx)("button",{onClick:()=>y(!0),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5,width:"100%",padding:"6px 0",background:"none",border:"1px dashed var(--border)",borderRadius:5,color:"var(--text-muted)",cursor:"pointer",fontSize:12},onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.color="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.color="var(--text-muted)"},children:f("desktop.modelsAddProvider")})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:j?null:ab??(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:f("desktop.modelsSelectProviderOrModel")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:10,padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[n&&(0,L.jsx)("span",{style:{fontSize:12,color:"#f87171",flex:1},children:n}),!a&&(0,L.jsx)("button",{onClick:()=>{W()},style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:f("desktop.cancel")}),(0,L.jsx)(vj,{sessionId:b}),(0,L.jsxs)("button",{onClick:V,disabled:l||p,style:{position:"relative",padding:"6px 16px",minWidth:92,background:p?"#16a34a":l?"var(--bg-panel)":"var(--accent)",border:"none",borderRadius:6,color:p?"#fff":l?"var(--text-muted)":"#fff",cursor:l||p?"default":"pointer",fontSize:13,fontWeight:600,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,transition:"background-color 0.2s ease, color 0.2s ease",animation:p?"saved-pop 0.45s ease":void 0},children:[p&&(0,L.jsx)(_,{size:14,style:{strokeDasharray:18,animation:"saved-check-draw 0.35s ease forwards",flexShrink:0}}),(0,L.jsx)("span",{children:p?f("desktop.modelsSaved"):l?f("desktop.modelsSaving"):f("desktop.modelsSave")})]})]})]})}),x&&(0,L.jsx)(vQ,{oauthProviders:t,apiKeyProviders:v,onSelectOAuth:a=>{K({type:"oauth",providerId:a})},onSelectApiKey:a=>{K({type:"apikey",providerId:a})},onAddCustom:N,onClose:()=>y(!1)})]})}function vS(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function vT(a){let b=a.trim().match(/^\$?\s*pi\s+install\s+(\S+)\s*$/);return b?.[1]??a}function vU(a){return`${a.scope}\0${a.source}`}function vV(a,b){if(a.disabled)return b("desktop.disabled");let c=[a.counts.extensions?b("desktop.extensionsCount",{count:a.counts.extensions}):"",a.counts.skills?b("desktop.skillsCount",{count:a.counts.skills}):"",a.counts.prompts?b("desktop.promptsCount",{count:a.counts.prompts}):"",a.counts.themes?b("desktop.themesCount",{count:a.counts.themes}):""].filter(Boolean);return c.length?c.join(" \xb7 "):b("desktop.noResources")}function vW(a,b){let c=[];return a.version&&c.push(b("desktop.installedVersion",{version:a.version})),a.configuredVersion&&c.push(b("desktop.configuredVersion",{version:a.configuredVersion})),c.length?c.join(" \xb7 "):b("desktop.unknown")}function vX(a){return"loaded"===a?"var(--accent)":"installed"===a?"#f59e0b":"disabled"===a?"var(--text-dim)":"#ef4444"}function vY({pkg:a}){let{t:b}=(0,aK.s)(),c=[["extension",b("desktop.extensions")],["skill",b("desktop.skills")],["prompt",b("desktop.prompts")],["theme",b("desktop.themes")]].map(([b,c])=>({kind:b,label:c,resources:a.resources.filter(a=>a.kind===b)})).filter(a=>a.resources.length>0);return 0===c.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:b(a.disabled?"desktop.packageDisabled":"desktop.noResolvedResources")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:c.map((a,b)=>(0,L.jsxs)("div",{style:{borderTop:0===b?"none":"1px solid var(--border)",paddingTop:12*(0!==b)},children:[(0,L.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:a.label}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:a.resources.map(a=>(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:a.path,children:a.name}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:a.path,children:a.relativePath})]},`${a.kind}:${a.path}`))})]},a.kind))})}function vZ({scope:a}){let{t:b}=(0,aK.s)();return(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===a?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===a?"rgba(99,102,241,0.85)":"var(--text-dim)"},children:b(`desktop.${a}`)})}function v$(a,b){return{padding:"6px 12px",background:b?"rgba(239,68,68,0.08)":"none",border:"1px solid var(--border)",borderRadius:6,color:b?"#ef4444":"var(--text-muted)",cursor:a?"not-allowed":"pointer",fontSize:12,opacity:a?.5:1}}function v_({enabled:a,loading:b,onToggle:c,label:d}){return(0,L.jsx)("button",{type:"button",onClick:c,disabled:b,title:d,"aria-label":d,"aria-pressed":a,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:b?"wait":"pointer",background:a?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none",opacity:b?.65:1},children:(0,L.jsx)("span",{style:{position:"absolute",top:3,left:a?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 v0({value:a,onChange:b}){let{t:c}=(0,aK.s)();return(0,L.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden",height:30},children:["global","project"].map(d=>{let e=a===d;return(0,L.jsx)("button",{onClick:()=>b(d),style:{width:76,border:"none",borderRight:"global"===d?"1px solid var(--border)":"none",background:e?"var(--bg-selected)":"none",color:e?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12},children:c(`desktop.${d}`)},d)})})}function v1({cwd:a,source:b,scope:c,busy:d,actionError:e,onSourceChange:f,onScopeChange:g,onInstall:h}){let{t:i}=(0,aK.s)(),j=(0,M.useRef)(null);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:i("desktop.addPluginTitle")}),(0,L.jsx)("a",{href:"https://pi.dev/packages",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",fontSize:12,textDecoration:"none",whiteSpace:"nowrap"},children:"pi.dev/packages ↗"})]}),(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===c?`${vS(a)}/.pi/agent/{npm,git}`:"~/.pi/agent/{npm,git}"})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:i("desktop.pluginSource")}),(0,L.jsx)("input",{id:"plugin-source",ref:j,value:b,onChange:a=>f(a.target.value),onPaste:a=>{let b=a.clipboardData.getData("text"),c=vT(b);c!==b&&(a.preventDefault(),f(c))},onBlur:a=>f(vT(a.currentTarget.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:a=>{"Enter"===a.key&&b.trim()&&!d&&h()}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)(v0,{value:c,onChange:g}),(0,L.jsx)("button",{type:"button",onClick:h,disabled:d||!b.trim(),style:{...v$(d||!b.trim()),background:"var(--accent)",color:"white",borderColor:"var(--accent)"},children:i(d?"desktop.installing":"desktop.install")})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:i("desktop.examples")}),(0,L.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(a=>(0,L.jsx)("button",{type:"button",onClick:()=>f(a),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:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text-muted)"},onMouseLeave:a=>{a.currentTarget.style.background="var(--bg-panel)",a.currentTarget.style.color="var(--text-dim)"},children:a},a))})]}),e&&(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",whiteSpace:"pre-wrap"},children:e})]})}function v2({pkg:a,cwd:b,busyKey:c,actionError:d,actionMessage:e,sessionId:f,onAction:g,onReloadSession:h}){let{t:i}=(0,aK.s)(),j=vU(a),k=c?.endsWith(j)??!1,l="reload"===c,m=!a.disabled;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,minWidth:0,flexWrap:"wrap"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:180,flex:1},children:[(0,L.jsx)(v_,{enabled:m,loading:k||l,onToggle:()=>g(a.disabled?"enable":"disable",a),label:i(a.disabled?"desktop.enablePackage":"desktop.disablePackage")}),(0,L.jsx)(vZ,{scope:a.scope}),a.disabled?(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"rgba(120,120,120,0.12)",color:"var(--text-dim)"},children:i("desktop.disabled")}):a.filtered&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"rgba(245,158,11,0.12)",color:"#d97706"},children:i("desktop.filtered")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.source})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{onClick:()=>g("update",a),disabled:k||l,style:v$(k||l),children:i(c===`update:${j}`?"desktop.updating":"desktop.update")}),(0,L.jsx)("button",{onClick:h,disabled:!f||l||k,style:v$(!f||l||k),title:i(f?"desktop.reloadCurrentSession":"desktop.openSessionToReload"),children:i(l?"desktop.reloading":"desktop.reloadSession")}),(0,L.jsx)("button",{onClick:()=>g("remove",a),disabled:k||l,style:v$(k||l,!0),children:i(c===`remove:${j}`?"desktop.removing":"desktop.remove")})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:12,lineHeight:1.45},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.status")}),(0,L.jsx)("div",{style:{color:vX(a.status),textTransform:"capitalize"},children:a.status}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.version")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:vW(a,i)}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.package")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:a.packageName??i("desktop.unknown")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.resources")}),(0,L.jsx)("div",{style:{color:"var(--text-muted)"},children:vV(a,i)}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.installedPath")}),(0,L.jsx)("div",{style:{color:a.installedPath?"var(--text-muted)":"#ef4444",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:a.installedPath?vS(a.installedPath):i("desktop.notFound")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)"},children:i("desktop.cwd")}),(0,L.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:vS(b)})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:i("desktop.resolvedResources")}),(0,L.jsx)(vY,{pkg:a})]}),e&&(0,L.jsx)("div",{style:{fontSize:12,color:"#16a34a"},children:e}),d&&(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",whiteSpace:"pre-wrap"},children:d})]})}function v3({cwd:a,sessionId:b,embedded:c=!1,onCloseAction:d,onReloadedAction:e}){let f=aO(),{t:g}=(0,aK.s)(),[h,i]=(0,M.useState)(null),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(!1),[r,s]=(0,M.useState)(""),[t,u]=(0,M.useState)("global"),[v,w]=(0,M.useState)(null),[x,y]=(0,M.useState)(null),[z,A]=(0,M.useState)(null),B=(0,M.useMemo)(()=>h?.packages??[],[h?.packages]),C=B.find(a=>vU(a)===n)??null,D=(0,M.useMemo)(()=>["project","global"].map(a=>({scope:a,packages:B.filter(b=>b.scope===a)})).filter(a=>a.packages.length>0),[B]),E=(0,M.useCallback)(async()=>{k(!0),m(null);try{let b=await fetch(`/api/plugins?cwd=${encodeURIComponent(a)}`),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);i(c),q(a=>0===c.packages.length||a),o(a=>a&&c.packages.some(b=>vU(b)===a)?a:c.packages[0]?vU(c.packages[0]):null)}catch(a){m(a instanceof Error?a.message:String(a))}finally{k(!1)}},[a]),F=(0,M.useCallback)(async(b,c)=>{let d=vU(c);w(`${b}:${d}`),y(null),A(null);try{let d=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,source:c.source,scope:c.scope,cwd:a})}),e=await d.json();if(!d.ok||e.error)throw Error(e.error??`HTTP ${d.status}`);if(i(e),"remove"===b)o(e.packages[0]?vU(e.packages[0]):null),0===e.packages.length&&q(!0),A(g("desktop.packageRemoved"));else{let a={install:g("desktop.packageInstalled"),update:g("desktop.packageUpdated"),disable:g("desktop.packageDisabledMessage"),enable:g("desktop.packageEnabled")};A(a[b])}}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}},[a,g]),G=(0,M.useCallback)(async()=>{let b=vT(r).trim();if(!b)return;let c=`${t}\0${b}`;w(`install:${c}`),y(null),A(null);try{var d;let e,f,h=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:b,scope:t,cwd:a})}),j=await h.json();if(!h.ok||j.error)throw Error(j.error??`HTTP ${h.status}`);i(j);let k=(d=j.packages,f=(e=b.trim()).startsWith("npm:")?e.slice(4):e,d.find(a=>a.scope===t&&a.source===e)??d.find(a=>a.scope===t&&a.source===`npm:${f}`)??d.find(a=>a.scope===t&&a.source.endsWith(e)));o(k?vU(k):c),q(!1),s(""),A(g("desktop.packageInstalled"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}},[a,t,r,g]),H=(0,M.useCallback)(async()=>{if(b){w("reload"),y(null),A(null);try{await ts(b,{type:"reload"}),e?.(),await E(),A(g("desktop.sessionReloaded"))}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(null)}}},[E,e,b,g]),I=v?.startsWith("install:")??!1;return(0,L.jsx)("div",{style:c?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{c||a.target!==a.currentTarget||d?.()},children:(0,L.jsxs)("div",{style:c?{display:"flex",flex:1,minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden"}:{width:f?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:f?"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:[!c&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:g("desktop.plugins")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:vS(a)})]}),(0,L.jsx)("button",{onClick:d,title:g("desktop.close"),"aria-label":g("desktop.close"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:f?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:f?"100%":245,maxHeight:f?"40vh":void 0,borderRight:f?"none":"1px solid var(--border)",borderBottom:f?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:j?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:g("desktop.loading")}):l?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"#ef4444"},children:l}):0===B.length?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:g("desktop.noPluginsConfigured")}):D.map(a=>(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:g(`desktop.${a.scope}`)}),a.packages.map(a=>{let b=vU(a),c=!p&&n===b;return(0,L.jsxs)("div",{onClick:()=>{o(b),q(!1),y(null),A(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:c?"var(--bg-selected)":"none"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:vX(a.status)}}),(0,L.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:c?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.source}),(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:vV(a,g)}),(a.version||a.configuredVersion)&&(0,L.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:vW(a,g)})]})]},b)})]},a.scope))}),(0,L.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,L.jsxs)("button",{type:"button",onClick:()=>{q(!0),y(null),A(null)},style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,border:"none",width:"100%",cursor:"pointer",background:p?"var(--bg-selected)":"none",color:p?"var(--accent)":"var(--text-dim)",fontSize:12},onMouseEnter:a=>{p||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{p||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(ah,{size:13}),g("desktop.addPlugin")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:p?(0,L.jsx)(v1,{cwd:a,source:r,scope:t,busy:I,actionError:x,onSourceChange:s,onScopeChange:u,onInstall:G}):j?null:C?(0,L.jsx)(v2,{pkg:C,cwd:a,busyKey:v,actionError:x,actionMessage:z,sessionId:b,onAction:F,onReloadSession:H},vU(C)):(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:g("desktop.selectPackage")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsx)("div",{style:{minWidth:0,flex:1,fontSize:11,color:"var(--text-dim)",overflow:"hidden"},children:h?.diagnostics.length?(0,L.jsx)("span",{title:h.diagnostics.map(a=>`${a.type}: ${a.source?`${a.source}: `:""}${a.message}`).join("\n"),style:{color:h.diagnostics.some(a=>"error"===a.type)?"#ef4444":"#d97706"},children:g("desktop.diagnosticsCount",{count:h.diagnostics.length,suffix:1===h.diagnostics.length?"":"s"})}):(0,L.jsx)("span",{children:h?g("desktop.pluginResourceTotals",{extensions:h.totals.extensions,skills:h.totals.skills,prompts:h.totals.prompts,themes:h.totals.themes}):""})}),(0,L.jsx)("button",{onClick:()=>void E(),disabled:j||null!==v,style:v$(j||null!==v),children:g("desktop.refresh")}),!c&&(0,L.jsx)("button",{onClick:d,style:v$(!1),children:g("desktop.close")})]})]})})}let v4=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z"}))]]),v5=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:v4}));function v6(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)({enabled:!1,protocol:"http",host:"127.0.0.1",port:7890,username:"",password:"",noProxy:"localhost,127.0.0.1,.local",hasPassword:!1}),[d,e]=(0,M.useState)(!1),[f,g]=(0,M.useState)(!1),[h,i]=(0,M.useState)(null),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),[p,q]=(0,M.useState)(!1),r=(0,M.useCallback)((a,b)=>{c(c=>({...c,[a]:b})),"password"===a&&q(!0),o(!0),k(null),m(null)},[]),s=(0,M.useCallback)(async()=>{e(!0),k(null),m(null);try{let d={...b};delete d.hasPassword,p||delete d.password;let e=await fetch("/api/proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),f=await e.json();if(e.ok){k(!0),o(!1),q(!1);let a=await fetch("/api/proxy");if(a.ok){let b=await a.json();c(a=>({...a,...b,password:""}))}}else k(!1),m(f.error||a("desktop.proxySaveFailed"))}catch(b){k(!1),m(b instanceof Error?b.message:a("desktop.proxySaveFailed"))}finally{e(!1)}},[b,p,a]),t=(0,M.useCallback)(async()=>{g(!0),i(null),n&&await s();try{let b=await fetch("/api/proxy/test",{method:"POST"}),c=await b.json();c.success?i({ok:!0,message:`${a("desktop.proxyTestSuccess")} \xb7 ${c.latencyMs}ms`,latencyMs:c.latencyMs}):i({ok:!1,message:c.error||a("desktop.proxyTestFailed")})}catch(b){i({ok:!1,message:b instanceof Error?b.message:a("desktop.proxyTestFailed")})}finally{g(!1)}},[n,s,a]),u=(0,M.useCallback)(()=>{if(!b.enabled||!b.host||!b.port)return null;let a="";return b.username&&b.password?a=`${b.username}:${"•".repeat(Math.min(b.password.length,8))}@`:b.username&&(a=`${b.username}@`),`${b.protocol}://${a}${b.host}:${b.port}`},[b.enabled,b.host,b.port,b.protocol,b.username,b.password])();return(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",padding:"16px 20px",overflow:"auto",gap:16},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:4},children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:14,fontWeight:500,color:"var(--text)",cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:b.enabled,onChange:a=>r("enabled",a.target.checked),style:{width:16,height:16,accentColor:"var(--accent)"}}),a("desktop.proxyEnable")]}),b.enabled&&u&&(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontFamily:"var(--font-mono)",backgroundColor:"var(--bg-hover)",padding:"2px 10px",borderRadius:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"60%"},title:u,children:u})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"12px 16px",opacity:b.enabled?1:.5,pointerEvents:b.enabled?"auto":"none"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyProtocol")}),(0,L.jsxs)("select",{value:b.protocol,onChange:a=>r("protocol",a.target.value),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"},children:[(0,L.jsx)("option",{value:"http",children:"HTTP"}),(0,L.jsx)("option",{value:"https",children:"HTTPS"}),(0,L.jsx)("option",{value:"socks5",children:"SOCKS5"})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyHost")}),(0,L.jsx)("input",{type:"text",value:b.host,onChange:a=>r("host",a.target.value),placeholder:"127.0.0.1",style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyPort")}),(0,L.jsx)("input",{type:"number",value:b.port,onChange:a=>r("port",parseInt(a.target.value,10)||0),placeholder:"7890",min:1,max:65535,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyUsername")}),(0,L.jsx)("input",{type:"text",value:b.username,onChange:a=>r("username",a.target.value),placeholder:b.username?"":a("desktop.proxyUsername"),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyPassword")}),(0,L.jsx)("input",{type:"password",value:b.password,onChange:a=>r("password",a.target.value),placeholder:b.hasPassword?"••••••••":a("desktop.proxyPassword"),style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,gridColumn:"1 / -1"},children:[(0,L.jsx)("label",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.proxyNoProxy")}),(0,L.jsx)("input",{type:"text",value:b.noProxy,onChange:a=>r("noProxy",a.target.value),placeholder:"localhost,127.0.0.1,.local",style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:13,fontFamily:"var(--font-mono)",outline:"none"}})]})]}),(0,L.jsxs)("div",{style:{display:"flex",gap:10,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:s,disabled:d,style:{padding:"6px 18px",borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",fontSize:13,fontWeight:500,cursor:d?"not-allowed":"pointer",opacity:d?.5:1,transition:"background 0.15s"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="var(--accent)")},children:d?a("desktop.proxySaving"):a("desktop.proxySave")}),(0,L.jsx)("button",{type:"button",onClick:t,disabled:f||!b.enabled,style:{padding:"6px 18px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:b.enabled?"var(--text)":"var(--text-muted)",fontSize:13,fontWeight:500,cursor:b.enabled?"pointer":"not-allowed",opacity:b.enabled?1:.5,transition:"background 0.15s"},onMouseEnter:a=>{b.enabled&&(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b.enabled&&(a.currentTarget.style.background="var(--bg)")},children:f?a("desktop.proxyTesting"):a("desktop.proxyTest")})]}),!0===j&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:"rgba(34, 197, 94, 0.12)",color:"#22c55e",fontSize:13},children:[(0,L.jsx)(p2,{size:16,weight:"fill"}),a("desktop.proxySaved")]}),!1===j&&l&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:"rgba(239, 68, 68, 0.10)",color:"#ef4444",fontSize:13},children:[(0,L.jsx)(s0,{size:16,weight:"fill"}),l]}),h&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",borderRadius:6,backgroundColor:h.ok?"rgba(34, 197, 94, 0.10)":"rgba(239, 68, 68, 0.10)",color:h.ok?"#22c55e":"#ef4444",fontSize:13},children:[h.ok?(0,L.jsx)(p2,{size:16,weight:"fill"}):(0,L.jsx)(s0,{size:16,weight:"fill"}),h.message,void 0!==h.latencyMs&&(0,L.jsxs)("span",{style:{color:"var(--text-muted)",fontSize:12,marginLeft:4},children:["(",h.latencyMs,"ms)"]})]}),n&&!j&&!l&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 12px",borderRadius:6,backgroundColor:"var(--bg-hover)",color:"var(--text-muted)",fontSize:12},children:[(0,L.jsx)(v5,{size:12,weight:"fill"}),a("desktop.proxyUnsaved")]})]})}function v7(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function v8(a){let b=a.sourceInfo?.source,c=a.sourceInfo?.scope;return"user"===c||"user"===b?"global":"project"===c||"project"===b?"project":"path"}function v9(a){let b=v8(a);return"path"===b?b:a.install?.skillsShUrl?`${b} / skills.sh`:b}function wa(a){return a.install?`${a.install.scope}\0${a.install.package}`:null}function wb(a,b){return a?a.slice(0,8):b}function wc({enabled:a,loading:b,onToggle:c}){let{t:d}=(0,aK.s)();return(0,L.jsx)("button",{onClick:c,disabled:b,title:d(a?"desktop.visibleInModelPrompt":"desktop.hiddenFromModelPrompt"),style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:b?"wait":"pointer",background:a?"var(--accent)":"var(--border)",position:"relative",transition:"background 0.18s",outline:"none"},children:(0,L.jsx)("span",{style:{position:"absolute",top:3,left:a?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 wd({skill:a,cwd:b,onToggle:c,toggling:d,saveError:e,updateStatus:f,checkingUpdate:g,updating:h,updateError:i,onCheckUpdate:j,onUpdate:k}){let{t:l}=(0,aK.s)(),m=v8(a),n=!a.disableModelInvocation;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7},children:[(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===m?"rgba(99,102,241,0.12)":"rgba(120,120,120,0.12)",color:"project"===m?"rgba(99,102,241,0.8)":"var(--text-dim)"},children:l(`desktop.${m}`)}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:function(a){if("project"===m&&a.startsWith(b)){let c=a.slice(b.length).replace(/^[/\\]/,"");return`./${c}`}return v7(a)}(a.filePath)}),(0,L.jsx)(wc,{enabled:n,loading:d,onToggle:()=>c(a)}),e&&(0,L.jsx)("span",{style:{fontSize:12,color:"#f87171",flexShrink:0},children:e})]}),!n&&(0,L.jsx)("div",{style:{marginTop:-12,color:"var(--text-dim)",fontSize:12},children:l("desktop.hiddenButInvocable")}),a.install?.skillsShUrl&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.pluginSource")}),(0,L.jsx)("a",{href:a.install.skillsShUrl,target:"_blank",rel:"noreferrer",title:a.install.skillsShUrl,style:{display:"flex",alignItems:"center",gap:8,width:"fit-content",maxWidth:"100%",color:"var(--accent)",textDecoration:"none"},children:(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a.install.skillsShUrl.replace(/^https?:\/\//,"")," ↗"]})})]}),a.install&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.version")}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text-muted)"},children:wb(f?.currentVersion??a.install.versionHash,l("desktop.unknown"))}),a.install.canCheckForUpdates&&(0,L.jsx)("button",{onClick:j,disabled:g||h,style:{padding:"4px 9px",border:"1px solid var(--border)",borderRadius:5,background:"none",color:"var(--text-muted)",cursor:g||h?"not-allowed":"pointer",opacity:g||h?.5:1,fontSize:11},children:l("desktop.check")}),f?.state==="update-available"&&(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"#d97706"},children:wb(f.latestVersion,l("desktop.unknown"))}),(g||f&&"update-available"!==f.state)&&(0,L.jsx)("span",{style:{fontSize:12,color:g?"var(--accent)":f?.state==="up-to-date"?"#16a34a":f?.state==="error"?"#ef4444":"var(--text-dim)"},children:g?l("desktop.checking"):f?.state==="up-to-date"?l("desktop.upToDate"):f?.state==="unsupported"?l("desktop.automaticChecksUnavailable"):f?.message||l("desktop.checkFailed")}),f?.state==="update-available"&&(0,L.jsx)("button",{onClick:k,disabled:h||g,style:{padding:"4px 10px",border:"none",borderRadius:5,background:"var(--accent)",color:"#fff",cursor:h||g?"not-allowed":"pointer",opacity:h||g?.5:1,fontSize:11,fontWeight:600},children:l(h?"desktop.updating":"desktop.update")})]}),i&&(0,L.jsx)("span",{style:{fontSize:12,color:"#ef4444"},children:i})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.name")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:14,color:"var(--text)"},children:a.name})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:l("desktop.description")}),(0,L.jsx)("span",{style:{fontSize:14,color:"var(--text-muted)",lineHeight:1.6},children:a.description})]})]})}function we({cwd:a,installedPackages:b,projectResourcesLoaded:c,onInstalled:d}){let{t:e}=(0,aK.s)(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)([]),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(new Set),[t,u]=(0,M.useState)("global"),v=(0,M.useRef)(null),w=(0,M.useCallback)(async a=>{if(a.trim()){k(!0),m(null),i([]);try{let b=await fetch("/api/skills/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:a.trim()})}),c=await b.json();if(c.error)return void m(c.error);i(c.results??[]),0===(c.results??[]).length&&m(e("desktop.noSkillsFound"))}catch(a){m(String(a))}finally{k(!1)}}},[e]),x=(0,M.useCallback)(async b=>{o(b),q(null);try{let c=await fetch("/api/skills/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({package:b,scope:t,cwd:a})}),e=await c.json();if(!c.ok||e.error)return void q(e.error??`HTTP ${c.status}`);s(a=>new Set(a).add(`${t}:${b}`)),d()}catch(a){q(String(a))}finally{o(null)}},[d,t,a]),y="global"===t?"~/.pi/agent/skills/":`${v7(a)}/.pi/skills/`;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,marginBottom:20},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:e("desktop.addSkillTitle")}),(0,L.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,L.jsx)("input",{ref:v,value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&w(f)},placeholder:e("desktop.skillSearchPlaceholder"),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,L.jsx)("button",{onClick:()=>w(f),disabled:j||!f.trim(),style:{padding:"7px 16px",fontSize:13,borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",cursor:j||!f.trim()?"not-allowed":"pointer",opacity:j||!f.trim()?.5:1,flexShrink:0},children:j?e("desktop.searching"):e("desktop.search")})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("div",{style:{display:"flex",borderRadius:5,border:"1px solid var(--border)",overflow:"hidden",fontSize:12,flexShrink:0},children:["global","project"].map(a=>(0,L.jsx)("button",{onClick:()=>u(a),disabled:"project"===a&&!c,title:"project"!==a||c?void 0:e("desktop.projectSkillInstallUnavailable"),style:{padding:"3px 10px",border:"none",cursor:"project"!==a||c?"pointer":"not-allowed",opacity:"project"!==a||c?1:.5,background:t===a?"var(--bg-selected)":"none",color:t===a?"var(--text)":"var(--text-dim)",fontWeight:t===a?600:400,borderRight:"global"===a?"1px solid var(--border)":"none"},children:e(`desktop.${a}`)},a))}),(0,L.jsxs)("span",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["→ ",y]})]}),l&&(0,L.jsx)("div",{style:{fontSize:12,color:"#f87171"},children:l}),p&&(0,L.jsx)("div",{style:{fontSize:12,color:"#f87171",wordBreak:"break-word"},children:p})]}),h.length>0?(0,L.jsx)("div",{style:{flex:1,overflowY:"auto"},children:h.map(a=>{let c=b[t].has(a.package)||r.has(`${t}:${a.package}`),d=n===a.package,f=a.package.indexOf("@"),g=f>-1?a.package.slice(0,f):a.package,h=f>-1?a.package.slice(f+1):null;return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"12px 0",borderBottom:"1px solid var(--border)"},children:[(0,L.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)",marginBottom:3},children:h??g}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)"},children:g}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",fontWeight:500},children:a.installs}),a.url&&(0,L.jsx)("a",{href:a.url,target:"_blank",rel:"noreferrer",style:{fontSize:12,color:"var(--accent)",textDecoration:"none"},children:"skills.sh ↗"})]})]}),(0,L.jsx)("button",{onClick:()=>!c&&!d&&x(a.package),disabled:c||d||null!==n,style:{flexShrink:0,padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:5,border:"1px solid var(--border)",cursor:c||d||null!==n?"not-allowed":"pointer",background:c?"rgba(34,197,94,0.1)":"none",color:c?"#16a34a":d?"var(--accent)":"var(--text-muted)",transition:"color 0.12s"},children:c?`✓ ${e("desktop.installed")}`:d?e("desktop.installing"):e("desktop.install")})]},a.package)})}):!l&&!j&&(0,L.jsxs)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.8},children:[e("desktop.skillSearchHint").split("skills.sh")[0],(0,L.jsx)("a",{href:"https://skills.sh",target:"_blank",rel:"noreferrer",style:{color:"var(--accent)",textDecoration:"none"},children:"skills.sh"}),e("desktop.skillSearchHint").split("skills.sh")[1]]})]})}function wf({cwd:a,embedded:b=!1,sessionId:c,onCloseAction:d}){let e=aO(),{t:f}=(0,aK.s)(),[g,h]=(0,M.useState)([]),[i,j]=(0,M.useState)(!0),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(new Set),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(!1),[u,v]=(0,M.useState)({}),[w,x]=(0,M.useState)(new Set),[y,z]=(0,M.useState)(!1),[A,B]=(0,M.useState)(null),[C,D]=(0,M.useState)(null),[E,F]=(0,M.useState)(!0),[G,H]=(0,M.useState)({}),I=(0,M.useCallback)(async()=>{j(!0),l(null);try{let b=await fetch(`/api/skills?cwd=${encodeURIComponent(a)}`),c=await b.json();if(!b.ok||c.error)throw Error(c.error??`HTTP ${b.status}`);let d=c.skills??[];if(h(d),F(c.projectResourcesLoaded??!0),d.length>0&&!m){let a=d.find(a=>!a.disableModelInvocation)??d[0];n(a.filePath),a.disableModelInvocation&&H(b=>({...b,[v9(a)]:!0}))}return d}catch(a){return l(String(a)),[]}finally{j(!1)}},[a,m]),J=(0,M.useCallback)(async b=>{let c=(b?[b]:g.filter(a=>!!a.install)).map(wa).filter(a=>!!a);if(0!==c.length){D(null),x(a=>new Set([...a,...c])),b||z(!0);try{let c=await fetch("/api/skills/check",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,package:b?.install?.package,scope:b?.install?.scope})}),d=await c.json();if(!c.ok||d.error)throw Error(d.error??`HTTP ${c.status}`);v(a=>{let b={...a};for(let a of d.updates??[])b[`${a.scope}\0${a.package}`]=a;return b})}catch(a){D(a instanceof Error?a.message:String(a))}finally{x(a=>{let b=new Set(a);for(let a of c)b.delete(a);return b}),b||z(!1)}}},[a,g]),K=(0,M.useCallback)(async b=>{if(!b.install)return;let c=wa(b);B(c),D(null);try{let d=await fetch("/api/skills/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,package:b.install.package,scope:b.install.scope})}),e=await d.json();if(!d.ok||e.error||!e.success)throw Error(e.error??`HTTP ${d.status}`);await I();let f=e.skill?.install?.versionHash;v(a=>({...a,[c]:{package:b.install.package,scope:b.install.scope,state:"up-to-date",currentVersion:f,latestVersion:f}}))}catch(a){D(a instanceof Error?a.message:String(a))}finally{B(null)}},[a,I]),N=(0,M.useCallback)(async b=>{let c=!b.disableModelInvocation;p(a=>new Set(a).add(b.filePath)),r(null);try{let d=await fetch("/api/skills",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,filePath:b.filePath,disableModelInvocation:c})}),e=await d.json();if(!d.ok||e.error)return void r(e.error??`HTTP ${d.status}`);h(a=>a.map(a=>a.filePath===b.filePath?{...a,disableModelInvocation:c}:a)),c&&H(a=>({...a,[v9(b)]:!0}))}catch(a){r(String(a))}finally{p(a=>{let c=new Set(a);return c.delete(b.filePath),c})}},[a]),O=g.find(a=>a.filePath===m)??null;return(0,L.jsx)("div",{style:b?{display:"flex",flex:1,minWidth:0,minHeight:0,overflow:"hidden"}:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{b||a.target!==a.currentTarget||d?.()},children:(0,L.jsxs)("div",{style:b?{display:"flex",flex:1,minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden"}:{width:e?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:e?"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:[!b&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.skills")}),(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",maxWidth:320,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:v7(a)})]}),(0,L.jsx)("button",{onClick:d,title:f("desktop.close"),"aria-label":f("desktop.close"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),!E&&(0,L.jsx)("div",{role:"status",style:{padding:"8px 18px",borderBottom:"1px solid var(--border)",background:"var(--bg-subtle)",color:"var(--text-muted)",fontSize:12},children:f("desktop.projectSkillsRestricted")}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:e?"column":"row",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{width:e?"100%":210,maxHeight:e?"40vh":void 0,borderRight:e?"none":"1px solid var(--border)",borderBottom:e?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{padding:"8px 8px 0",display:"flex",justifyContent:"flex-end"},children:(0,L.jsx)(vj,{sessionId:c,onApplied:I})}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:i?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:f("desktop.loading")}):k?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"#f87171"},children:k}):0===g.length?(0,L.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:f("desktop.noSkillsFound")}):(()=>{let a=[];for(let{key:b,label:c,matches:d}of[{key:"project / skills.sh",label:`${f("desktop.project")} / skills.sh`,matches:a=>"project"===v8(a)&&!!a.install?.skillsShUrl},{key:"project",label:f("desktop.project"),matches:a=>"project"===v8(a)&&!a.install?.skillsShUrl},{key:"global / skills.sh",label:`${f("desktop.global")} / skills.sh`,matches:a=>"global"===v8(a)&&!!a.install?.skillsShUrl},{key:"global",label:f("desktop.global"),matches:a=>"global"===v8(a)&&!a.install?.skillsShUrl},{key:"path",label:f("desktop.path"),matches:a=>"path"===v8(a)}]){let e=g.filter(d);e.length>0&&a.push({key:b,label:c,skills:e})}return a.map(({key:a,label:b,skills:c})=>{let d=c.filter(a=>!a.disableModelInvocation),e=c.filter(a=>a.disableModelInvocation),g=G[a]??!1,h=g?[...d,...e]:d;return(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.06em"},children:b}),e.length>0&&(0,L.jsxs)("button",{type:"button",onClick:()=>H(b=>({...b,[a]:!g})),style:{display:"flex",alignItems:"center",gap:5,width:"100%",padding:"4px 8px 3px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:10,fontWeight:600,letterSpacing:"0.06em",textAlign:"left",textTransform:"uppercase"},children:[(0,L.jsx)("span",{style:{fontSize:8},children:g?"▾":"▸"}),f("desktop.dormant")," (",e.length,")"]}),h.map(a=>{let b,c,d=!s&&m===a.filePath,e=a.disableModelInvocation;return(0,L.jsxs)("div",{onClick:()=>{n(a.filePath),t(!1)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",background:d?"var(--bg-selected)":"none"},onMouseEnter:a=>{d||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{d||(a.currentTarget.style.background="none")},children:[(0,L.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:e?"var(--border)":"var(--accent)",boxShadow:e?"none":"0 0 4px var(--accent)",transition:"background 0.15s, box-shadow 0.15s"}}),(0,L.jsx)("span",{style:{fontSize:12,fontWeight:d?600:400,color:e?"var(--text-dim)":"var(--text)",fontFamily:"var(--font-mono)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(c=(b=wa(a))?u[b]:void 0,c?.state!=="update-available"?null:(0,L.jsx)("span",{title:f("desktop.updateAvailable"),style:{color:"#d97706",fontSize:13,lineHeight:1,flexShrink:0},children:"↑"}))]},a.filePath)})]},a)})})()}),(0,L.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,L.jsxs)("div",{onClick:()=>t(!0),style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,cursor:"pointer",background:s?"var(--bg-selected)":"none",color:s?"var(--accent)":"var(--text-dim)",fontSize:12},onMouseEnter:a=>{s||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{s||(a.currentTarget.style.background="none")},children:[(0,L.jsx)(ah,{size:13}),f("desktop.addSkill")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:s?(0,L.jsx)(we,{cwd:a,installedPackages:{global:new Set(g.filter(a=>a.install?.scope==="global").map(a=>a.install.package)),project:new Set(g.filter(a=>a.install?.scope==="project").map(a=>a.install.package))},projectResourcesLoaded:E,onInstalled:()=>{I()}}):i?null:O?(0,L.jsx)(wd,{skill:O,cwd:a,onToggle:N,toggling:o.has(O.filePath),saveError:q,updateStatus:wa(O)?u[wa(O)]:void 0,checkingUpdate:!!wa(O)&&w.has(wa(O)),updating:A===wa(O),updateError:C,onCheckUpdate:()=>void J(O),onUpdate:()=>void K(O)},O.filePath):(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:f("desktop.selectSkill")})})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[g.some(a=>!!a.install)&&(0,L.jsx)("button",{onClick:()=>void J(),disabled:y||null!==A,style:{padding:"6px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:y||null!==A?"not-allowed":"pointer",opacity:y||null!==A?.5:1,fontSize:12},children:y?f("desktop.checking"):f("desktop.checkUpdates")}),Object.values(u).filter(a=>"update-available"===a.state).length>0&&(0,L.jsx)("span",{style:{fontSize:12,color:"#d97706"},children:f("desktop.updatesCount").replace("{count}",String(Object.values(u).filter(a=>"update-available"===a.state).length)).replace("{suffix}",1===Object.values(u).filter(a=>"update-available"===a.state).length?"":"s")})]}),!b&&(0,L.jsx)("button",{onClick:d,style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:f("desktop.close")})]})]})})}function wg(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)([]),[d,e]=(0,M.useState)(""),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(!0),[n,o]=(0,M.useState)(null),p=(0,M.useCallback)(async()=>{m(!0),o(null);try{let a=await fetch("/api/logs?limit=500"),b=await a.json();if(!a.ok)throw Error(b.error??`HTTP ${a.status}`);c(b.entries??[])}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}},[]),q=(0,M.useMemo)(()=>[...new Set(b.map(a=>a.source).filter(Boolean))].sort(),[b]),r=(0,M.useMemo)(()=>[...new Set(b.map(a=>a.statusCode).filter(a=>void 0!==a))].sort((a,b)=>a-b),[b]),s=(0,M.useMemo)(()=>{let a=j.trim().toLocaleLowerCase();return b.filter(a=>!d||a.level===d).filter(a=>!f||a.statusCode===Number(f)).filter(a=>!h||a.source===h).filter(b=>!a||[b.message,b.details,b.provider,b.model,b.source].filter(Boolean).some(b=>b.toLocaleLowerCase().includes(a))).slice(0,200)},[b,d,f,h,j]),t=async()=>{try{let a=await fetch("/api/logs",{method:"DELETE"});if(!a.ok)throw Error(`HTTP ${a.status}`);c([])}catch(a){o(a instanceof Error?a.message:String(a))}},u=async a=>{let b=[`[${a.timestamp}] ${a.level.toUpperCase()} ${a.statusCode??"—"}`,`${a.source}${a.provider?` \xb7 ${a.provider}`:""}${a.model?` \xb7 ${a.model}`:""}`,a.message,a.details].filter(Boolean).join("\n");try{await ll(b),o(null)}catch(a){o(a instanceof Error?a.message:String(a))}};return(0,L.jsxs)("div",{style:{flex:1,minWidth:0,minHeight:0,overflow:"auto",padding:"18px 20px",display:"flex",flexDirection:"column",gap:12},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsxs)("select",{value:d,onChange:a=>e(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllLevels")}),["error","warning","info"].map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsxs)("select",{value:f,onChange:a=>g(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllCodes")}),r.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsxs)("select",{value:h,onChange:a=>i(a.target.value),style:{padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12},children:[(0,L.jsx)("option",{value:"",children:a("desktop.logsAllSources")}),q.map(a=>(0,L.jsx)("option",{value:a,children:a},a))]}),(0,L.jsx)("input",{value:j,onChange:a=>k(a.target.value),placeholder:a("desktop.logsSearch"),style:{flex:1,minWidth:180,padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12}}),(0,L.jsx)("button",{type:"button",onClick:()=>void p(),title:a("desktop.refresh"),"aria-label":a("desktop.refresh"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(at,{size:14})}),(0,L.jsx)("button",{type:"button",onClick:()=>void t(),title:a("desktop.logsClear"),"aria-label":a("desktop.logsClear"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"#ef4444",cursor:"pointer"},children:(0,L.jsx)(av,{size:14})})]}),l&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:12},children:a("desktop.loading")}),n&&(0,L.jsx)("div",{style:{color:"#ef4444",fontSize:12},children:n}),!l&&!n&&0===s.length&&(0,L.jsx)("div",{style:{color:"var(--text-muted)",fontSize:12},children:a("desktop.logsEmpty")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:s.map(b=>(0,L.jsxs)("details",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:"8px 10px"},children:[(0,L.jsxs)("summary",{style:{cursor:"pointer",color:"error"===b.level?"#ef4444":"warning"===b.level?"#f59e0b":"var(--text)",fontSize:12},children:[(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",marginRight:8},children:b.statusCode??"—"}),(0,L.jsx)("span",{style:{marginRight:8},children:new Date(b.timestamp).toLocaleString()}),(0,L.jsx)("span",{style:{overflowWrap:"anywhere"},children:b.message.length>180?`${b.message.slice(0,180)}…`:b.message})]}),(0,L.jsxs)("div",{style:{padding:"8px 0 0 18px",color:"var(--text-muted)",fontSize:11,lineHeight:1.5,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:[(0,L.jsxs)("div",{children:[b.source,b.provider?` \xb7 ${b.provider}`:"",b.model?` \xb7 ${b.model}`:""]}),(0,L.jsx)("div",{style:{marginTop:5,maxHeight:260,overflow:"auto"},children:b.message}),b.details&&(0,L.jsx)("div",{style:{marginTop:5,maxHeight:260,overflow:"auto"},children:b.details}),(0,L.jsx)("button",{type:"button",onClick:()=>void u(b),style:{marginTop:8,padding:"4px 7px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:a("desktop.logsCopy")})]})]},b.id))})]})}v5.displayName="CircleIcon";let wh={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,width:"100%"},wi={padding:"6px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function wj(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)([]),[d,e]=(0,M.useState)(!0),[f,g]=(0,M.useState)(null),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(!1),[n,o]=(0,M.useState)(null),p=(0,M.useCallback)(async()=>{try{let a=await fetch("/api/snippets");if(!a.ok)return;let b=await a.json();c(b.snippets??[]),e(!1)}catch{e(!1)}},[]),q=(0,M.useCallback)(()=>{window.dispatchEvent(new Event("pi:snippets-changed"))},[]),r=()=>{g(null),i(""),k(""),o(null)},s=(0,M.useCallback)(async()=>{let b=h.trim();if(!b)return void o(a("desktop.snippetNameRequired"));m(!0),o(null);try{if(f){let a=await fetch(`/api/snippets/${encodeURIComponent(f.id)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b,content:j})});if(!a.ok)throw Error(`HTTP ${a.status}`)}else{let a=await fetch("/api/snippets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b,content:j})});if(!a.ok)throw Error(`HTTP ${a.status}`)}await p(),q(),r()}catch(a){o(a instanceof Error?a.message:String(a))}finally{m(!1)}},[f,h,j,p,q,a]),t=(0,M.useCallback)(async a=>{try{let b=await fetch(`/api/snippets/${encodeURIComponent(a)}`,{method:"DELETE"});if(!b.ok)throw Error(`HTTP ${b.status}`);f?.id===a&&r(),await p(),q()}catch(a){o(a instanceof Error?a.message:String(a))}},[f,p,q]);return(0,L.jsxs)(u_,{children:[(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(qT,{size:15,"aria-hidden":"true"}),(0,L.jsxs)("div",{children:[(0,L.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:a("desktop.snippets")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:2},children:a("desktop.snippetsDesc")})]})]})}),(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{width:"100%"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8},children:[(0,L.jsx)("button",{type:"button",onClick:r,style:wi,children:(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},children:[(0,L.jsx)(ah,{size:13})," ",a("desktop.snippetNew")]})}),f&&(0,L.jsx)("button",{type:"button",onClick:r,style:{...wi,background:"var(--bg-hover)",color:"var(--text-muted)"},children:(0,L.jsx)(X,{size:13})})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, 200px) 1fr",gap:8,alignItems:"start",marginBottom:8},children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",display:"block",marginBottom:4},children:a("desktop.snippetName")}),(0,L.jsx)("input",{value:h,onChange:a=>i(a.target.value),placeholder:"#name",style:wh})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)",display:"block",marginBottom:4},children:a("desktop.snippetContent")}),(0,L.jsx)("textarea",{value:j,onChange:a=>k(a.target.value),rows:3,style:{...wh,resize:"vertical",fontFamily:"var(--font-mono)",fontSize:11}})]})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void s(),disabled:l,style:{...wi,cursor:l?"wait":"pointer"},children:a("desktop.snippetSave")}),n&&(0,L.jsx)("span",{style:{color:"var(--status-error, #ef4444)",fontSize:12},children:n})]}),d?(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-dim)"},children:a("desktop.loadingThemes")}):0===b.length?(0,L.jsx)(u2,{children:a("desktop.snippetEmpty")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:b.map(b=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6},children:[(0,L.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:"#"}),(0,L.jsx)("span",{style:{fontWeight:600,fontSize:12,flexShrink:0},children:b.name}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-muted)",fontSize:11,fontFamily:"var(--font-mono)"},children:b.content.split("\n")[0]}),(0,L.jsx)("button",{type:"button",onClick:()=>{g(b),i(b.name),k(b.content),o(null)},title:a("desktop.snippetEdit"),style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",padding:2},children:(0,L.jsx)(ab,{size:13})}),(0,L.jsx)("button",{type:"button",onClick:()=>void t(b.id),title:a("desktop.snippetDelete"),style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",padding:2},children:(0,L.jsx)(av,{size:13})})]},b.id))})]})}),(0,L.jsx)(u1,{children:(0,L.jsx)(u2,{children:a("desktop.snippetHint")})})]})}let wk=["async","group","smart"],wl=["full","compact","custom"],wm=["all","background","off"],wn={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,width:"min(200px, 100%)",fontFamily:"var(--font-mono)"};function wo(){return{fontSize:12,color:"var(--text-muted)"}}function wp({cwd:a,sessionId:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)({}),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(!1),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(!1),[t,u]=(0,M.useState)([]),[v,w]=(0,M.useState)({});(0,M.useCallback)(async()=>{m(null);try{let a=await fetch("/api/subagents"),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);e(b.config??{}),g(b.agents??[]),i(b.filePath)}catch(a){m(a instanceof Error?a.message:String(a))}finally{k(!0)}},[]);let x=(0,M.useCallback)((a,b)=>{e(c=>({...c,[a]:b})),s(!1),q(null)},[]),y=(0,M.useCallback)(async()=>{o(!0),q(null),s(!1);try{let a=await fetch("/api/subagents",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);e(b.config??{}),s(!0)}catch(a){q(a instanceof Error?a.message:String(a))}finally{o(!1)}},[d]),z=(0,M.useRef)({}),A=(0,M.useCallback)(async(a,b)=>{let c=(z.current[a]??0)+1;z.current[a]=c,w(b=>({...b,[a]:"saving"}));try{let d=await fetch(`/api/subagents/agents/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:b})});if(z.current[a]!==c)return;let e=await d.json();if(!d.ok||e.error)throw Error(e.error??`HTTP ${d.status}`);w(b=>({...b,[a]:"saved"})),g(c=>c.map(c=>c.name===a?{...c,model:b??void 0}:c)),setTimeout(()=>{w(b=>{if("saved"===b[a]){let c={...b};return delete c[a],c}return b})},2e3)}catch(b){if(z.current[a]!==c)return;w(c=>({...c,[a]:`error:${b instanceof Error?b.message:String(b)}`}))}},[]),B=(a,b)=>(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 240px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:wo(),children:c(b)}),(0,L.jsx)("input",{type:"number",min:0,value:d[a]??"",onChange:b=>x(a,""===b.target.value?void 0:Number(b.target.value)),placeholder:"defaultMaxTurns"===a?"0 = 不限":"",style:wn})]})},a),C=(a,b,e)=>(0,L.jsx)(u0,{children:(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(150px, 240px) 1fr",gap:"8px 12px",alignItems:"center",padding:"8px 0"},children:[(0,L.jsx)("span",{style:wo(),children:c(b)}),(0,L.jsx)("select",{value:d[a]??e[0],onChange:b=>x(a,b.target.value),style:{...wn,fontFamily:"var(--font-mono)"},children:e.map(a=>(0,L.jsx)("option",{value:a,children:a},a))})]})},a),D=(a,b,e)=>(0,L.jsx)(u0,{children:(0,L.jsx)(uB,{checked:d[a]??!1,onChange:b=>x(a,b),label:c(b),description:e?c(e):void 0})},a);return(0,L.jsx)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"20px 22px",display:"flex",flexDirection:"column",gap:16},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:j?l?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444"},children:l}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:c("desktop.subagents")}),(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:2,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:h||"~/.pi/agent/subagents.json"})]}),(0,L.jsx)(u2,{children:c("desktop.subagentsDesc")}),(0,L.jsxs)(u_,{children:[B("maxConcurrent","desktop.subagentsMaxConcurrent"),B("defaultMaxTurns","desktop.subagentsDefaultMaxTurns"),B("graceTurns","desktop.subagentsGraceTurns"),C("defaultJoinMode","desktop.subagentsJoinMode",wk),C("widgetMode","desktop.subagentsWidgetMode",wm),C("toolDescriptionMode","desktop.subagentsToolDescMode",wl),D("schedulingEnabled","desktop.subagentsScheduling","desktop.subagentsSchedulingDesc"),D("scopeModels","desktop.subagentsScopeModels","desktop.subagentsScopeModelsDesc"),D("disableDefaultAgents","desktop.subagentsDisableDefault","desktop.subagentsDisableDefaultDesc"),D("fleetView","desktop.subagentsFleetView","desktop.subagentsFleetViewDesc"),(0,L.jsx)(u1,{children:D("outputTranscript","desktop.subagentsOutputTranscript","desktop.subagentsOutputTranscriptDesc")})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,L.jsx)("button",{type:"button",onClick:()=>void y(),disabled:n,style:{padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:n?"wait":"pointer",fontSize:12},children:n?c("desktop.saving"):c("desktop.mcpSave")}),r&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:c("desktop.subagentsSaved")}),p&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:p}),(0,L.jsx)(vj,{sessionId:b})]}),f.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,fontSize:13,fontWeight:600,color:"var(--text)"},children:[(0,L.jsx)(us,{size:15,"aria-hidden":"true"}),c("desktop.subagentsDiscovered")]}),(0,L.jsx)(u_,{children:f.map((a,b)=>(0,L.jsx)(u1,{children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3,padding:b===f.length-1?"12px 0":"12px 0 0"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)"},children:a.name}),a.displayName&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:a.displayName}),a.model&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,background:"rgba(37,99,235,0.12)",color:"var(--accent)",fontFamily:"var(--font-mono)"},children:a.model})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:c("desktop.subagentsModel")}),(0,L.jsxs)("select",{value:a.model??"",onChange:b=>void A(a.name,b.target.value||null),style:{...wn,width:"min(260px, 100%)",maxWidth:260},children:[(0,L.jsx)("option",{value:"",children:c("desktop.subagentsModelDefault")}),a.model&&!t.some(b=>`${b.provider}/${b.id}`===a.model)&&(0,L.jsx)("option",{value:a.model,children:a.model}),t.map(a=>(0,L.jsxs)("option",{value:`${a.provider}/${a.id}`,children:[a.name,"(",a.provider,"/",a.id,")"]},`${a.provider}/${a.id}`))]}),"saving"===v[a.name]&&(0,L.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:[c("desktop.saving"),"…"]}),"saved"===v[a.name]&&(0,L.jsx)("span",{style:{fontSize:10,color:"#22c55e"},children:c("desktop.subagentsSaved")}),v[a.name]?.startsWith("error:")&&(0,L.jsx)("span",{style:{fontSize:10,color:"#ef4444"},children:v[a.name].slice(6)})]}),a.description&&(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.5},children:a.description})]})},a.name))})]})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.loading")})})})}function wq(a){return null==a?"—":sX(a)}function wr({sessionId:a,cwd:b}){let{t:c}=(0,aK.s)(),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)(null),[h,i]=(0,M.useState)(!1);(0,M.useCallback)(async()=>{i(!0);try{let a=await fetch("/api/usage");a.ok&&g(await a.json())}catch{}finally{i(!1)}},[]);let j=(0,M.useMemo)(()=>f?.daily.slice(-14)??[],[f]),k=(0,M.useMemo)(()=>j.reduce((a,b)=>Math.max(a,b.tokens),0),[j]);return(0,L.jsxs)("div",{style:{flex:1,overflow:"auto",minWidth:0,padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:600,color:"var(--text)"},children:c("desktop.usage")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:c("desktop.usageSession")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[a?(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12,borderRadius:12,border:"1px solid var(--border)",padding:16},children:d?(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16},children:[(0,L.jsxs)("svg",{width:72,height:72,viewBox:"0 0 72 72",style:{flexShrink:0},children:[(0,L.jsx)("circle",{cx:36,cy:36,r:30,fill:"none",stroke:"var(--border)",strokeWidth:7}),(0,L.jsx)("circle",{cx:36,cy:36,r:30,fill:"none",stroke:"var(--accent)",strokeWidth:7,strokeLinecap:"round",strokeDasharray:2*Math.PI*30,strokeDashoffset:2*Math.PI*30*(1-Math.min(1,(d.percent??0)/100)),transform:"rotate(-90 36 36)",style:{transition:"stroke-dashoffset 0.4s ease"}}),(0,L.jsx)("text",{x:36,y:41,textAnchor:"middle",fontSize:15,fontWeight:700,fill:"var(--text)",children:null!=d.percent?`${d.percent.toFixed(0)}%`:"?"})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[(0,L.jsx)("span",{style:{fontSize:13,color:"var(--text)"},children:c("desktop.usageContext",{used:wq(d.tokens),window:wq(d.contextWindow)})}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageContextHint")})]})]})}):(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoSessionData")})}):(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoSession")}),b&&(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:c("desktop.usageGlobal")}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10},children:[{label:c("desktop.usageTotal"),value:wq(f?.totalTokens),sub:f?`${f.totalSessions} ${c("desktop.usageSessions")}`:"…"},{label:c("desktop.usageMessages"),value:f?String(f.messageCount):"…",sub:c("desktop.usageMessagesHint")}].map(a=>(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",padding:"12px 14px",background:"var(--bg-panel)"},children:[(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",marginBottom:4},children:a.label}),(0,L.jsx)("div",{style:{fontSize:18,fontWeight:700,color:"var(--text)"},children:a.value}),(0,L.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",marginTop:2},children:a.sub})]},a.label))}),(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",padding:"14px 16px"},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",marginBottom:10},children:c("desktop.usageDaily")}),0===j.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:c(h?"desktop.featuresLoading":"desktop.usageNoData")}):(0,L.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:6,height:96,overflowX:"auto"},children:j.map(a=>{let b=k>0?Math.max(4,Math.round(a.tokens/k*72)):4;return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4,flexShrink:0},children:[(0,L.jsx)("div",{style:{fontSize:9,color:"var(--text-dim)"},children:a.tokens>0?wq(a.tokens):""}),(0,L.jsx)("div",{style:{width:8,height:b,borderRadius:4,background:a.tokens>0?"var(--accent)":"var(--bg-hover)",opacity:a.tokens>0?.85:1},title:`${a.day}: ${wq(a.tokens)}`}),(0,L.jsx)("div",{style:{fontSize:9,color:"var(--text-dim)"},children:a.day.slice(5)})]},a.day)})})]}),(0,L.jsxs)("div",{style:{borderRadius:12,border:"1px solid var(--border)",overflow:"hidden"},children:[(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 14px",borderBottom:"1px solid var(--border)"},children:c("desktop.usageTopSessions")}),f&&0===f.sessions.length?(0,L.jsx)("div",{style:{padding:"14px",fontSize:12,color:"var(--text-muted)"},children:c("desktop.usageNoData")}):(f?.sessions??[]).slice(0,12).map(a=>(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:"1px solid var(--border)"},children:[(0,L.jsx)("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name??a.firstMessage??a.id}),(0,L.jsx)("span",{style:{flexShrink:0,fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:wq(a.tokens)})]},a.path))]})]})]})]})}function ws(){let{t:a}=(0,aK.s)(),[b,c]=(0,M.useState)(!1),[d,e]=(0,M.useState)(""),f=(0,M.useCallback)(()=>{window.location.href="piweb-switch://manage"},[]);return b?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:[(0,L.jsx)("header",{style:{padding:"18px 22px 14px",borderBottom:"1px solid var(--border)"},children:(0,L.jsx)("h1",{style:{margin:0,fontSize:16,fontWeight:700,color:"var(--text)"},children:a("desktop.server")})}),(0,L.jsxs)("div",{style:{padding:"18px 22px",display:"flex",flexDirection:"column",gap:14},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 14px",borderRadius:10,background:"var(--bg-hover)",border:"1px solid var(--border)"},children:[(0,L.jsx)(ug,{size:18,color:"var(--accent)"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:a("desktop.serverCurrent")}),(0,L.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)",fontFamily:"var(--font-mono)",wordBreak:"break-all"},children:d})]})]}),(0,L.jsxs)("button",{type:"button",onClick:f,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,padding:"10px 16px",borderRadius:10,background:"linear-gradient(135deg, var(--accent), var(--accent-hover, var(--accent)))",color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",border:"none"},children:[(0,L.jsx)(u9,{size:16}),a("desktop.serverSwitch")]}),(0,L.jsx)("p",{style:{margin:0,fontSize:12.5,lineHeight:1.7,color:"var(--text-muted)"},children:a("desktop.serverSwitchHint")})]})]}):null}let wt=[{id:"server",labelKey:"desktop.server",Icon:ug},{id:"display",labelKey:"desktop.display",Icon:ui},{id:"chat",labelKey:"desktop.chat",Icon:uk},{id:"models",labelKey:"desktop.models",Icon:az},{id:"skills",labelKey:"desktop.skills",Icon:aB},{id:"plugins",labelKey:"desktop.plugins",Icon:aD},{id:"proxy",labelKey:"desktop.proxy",Icon:um},{id:"features",labelKey:"desktop.features",Icon:Z},{id:"logs",labelKey:"desktop.logs",Icon:an},{id:"snippets",labelKey:"desktop.snippets",Icon:qT},{id:"usage",labelKey:"desktop.usage",Icon:uo},{id:"mcp",labelKey:"desktop.mcp",Icon:uq},{id:"subagents",labelKey:"desktop.subagents",Icon:us},{id:"backup",labelKey:"desktop.backup",Icon:pz},{id:"import",labelKey:"desktop.importSessions",Icon:aF}];function wu({initialTab:a="models",cwd:b,sessionId:c,onCloseAction:d,onModelsSavedAction:e,onSessionReloadedAction:f,onSessionsChanged:g}){let h=aO(),{t:i}=(0,aK.s)(),[j,k]=(0,M.useState)("skills"===a||"plugins"===a?b?a:"display":a),[l,m]=(0,M.useState)(!1),n=l?wt:wt.filter(({id:a})=>"server"!==a),[o,p]=(0,M.useState)(!1),[q,r]=(0,M.useState)(null),s=(0,M.useRef)(new Set),t=(0,M.useCallback)(a=>(s.current.add(a),()=>{s.current.delete(a)}),[]),u=(0,M.useCallback)(async()=>{if(!o){p(!0),r(null);try{let a=(await Promise.allSettled([...s.current].map(a=>a()))).find(a=>"rejected"===a.status);if(a)throw a.reason;d()}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},[o,d]);return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center"},onClick:a=>{a.target===a.currentTarget&&u()},children:(0,L.jsxs)("section",{role:"dialog","aria-modal":"true","aria-label":i("desktop.settings"),className:"settings-modal",style:{width:h?"calc(100vw - 16px)":1e3,maxWidth:"calc(100vw - 16px)",height:h?"calc(100dvh - 16px)":"80vh",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:[(0,L.jsxs)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,L.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:i("desktop.settings")}),"models"===j?(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:"~/.pi/agent/models.json"}):b&&(0,L.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]}),(0,L.jsx)("button",{type:"button",onClick:()=>{u()},disabled:o,title:i("desktop.closeSettings"),"aria-label":i("desktop.closeSettings"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:18,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:h?"column":"row",minHeight:0,overflow:"hidden",pointerEvents:o?"none":void 0},children:[(0,L.jsx)("nav",{"aria-label":i("desktop.settingsSections"),style:{display:"flex",flexDirection:h?"row":"column",gap:4,width:h?"100%":150,padding:8,flexShrink:0,minWidth:0,background:"var(--bg-panel)",borderRight:h?"none":"1px solid var(--border)",borderBottom:h?"1px solid var(--border)":"none",overflowX:h?"auto":void 0,overflowY:h?"hidden":void 0,WebkitOverflowScrolling:h?"touch":void 0},children:n.filter(({id:a})=>!(h&&"import"===a)).map(({id:a,labelKey:c,Icon:d})=>{let e=("skills"===a||"plugins"===a)&&!b,f=j===a;return(0,L.jsxs)("button",{type:"button",disabled:e,onClick:()=>k(a),"aria-current":f?"page":void 0,style:{display:"flex",alignItems:"center",gap:8,flex:h?"0 0 auto":void 0,whiteSpace:"nowrap",width:h?void 0:"100%",padding:"8px 10px",border:"none",borderRadius:6,background:f?"var(--bg-selected)":"none",color:f?"var(--text)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",opacity:e?.4:1,fontSize:12,fontWeight:f?600:400,textAlign:"left",transition:"background 0.12s, color 0.12s"},title:i(c),"aria-label":i(c),onMouseEnter:a=>{f||e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)")},children:[(0,L.jsx)(d,{size:16,"aria-hidden":"true"}),!h&&(0,L.jsx)("span",{children:i(c)})]},a)})}),(0,L.jsx)("div",{style:{display:"server"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(ws,{})}),(0,L.jsx)("div",{style:{display:"display"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uY,{})}),(0,L.jsx)("div",{style:{display:"chat"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uF,{})}),(0,L.jsx)("div",{style:{display:"models"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(vR,{embedded:!0,sessionId:c,onSavedAction:e,onRegisterFlush:t})}),b&&(0,L.jsx)("div",{style:{display:"skills"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wf,{cwd:b,embedded:!0,sessionId:c})}),b&&(0,L.jsx)("div",{style:{display:"plugins"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(v3,{cwd:b,sessionId:c,embedded:!0,onReloadedAction:f})}),(0,L.jsx)("div",{style:{display:"proxy"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(v6,{})}),(0,L.jsx)("div",{style:{display:"features"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(u7,{})}),(0,L.jsx)("div",{style:{display:"logs"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wg,{})}),(0,L.jsx)("div",{style:{display:"snippets"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wj,{})}),(0,L.jsx)("div",{style:{display:"usage"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wr,{sessionId:c,cwd:b})}),(0,L.jsx)("div",{style:{display:"mcp"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(vq,{sessionId:c})}),(0,L.jsx)("div",{style:{display:"subagents"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(wp,{cwd:b,sessionId:c})}),(0,L.jsx)("div",{style:{display:"backup"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(uy,{cwd:b})}),(0,L.jsx)("div",{style:{display:"import"===j?"flex":"none",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:(0,L.jsx)(vb,{onSessionsChanged:g})})]}),q&&(0,L.jsx)("div",{style:{padding:"6px 18px",borderTop:"1px solid var(--border)",color:"#f87171",fontSize:11},children:q})]})})}let wv=new Set(["awaiting_input","review","failed"]),ww=(0,M.createContext)(null);function wx(){let a=(0,M.useContext)(ww);if(!a)throw Error("useTasksView must be used within TasksViewProvider");return a}function wy({children:a}){let{t:b}=(0,aK.s)();(0,M.useRef)(b);let[c,d]=(0,M.useState)([]),[e,f]=(0,M.useState)([]),g=(0,M.useRef)(0),h=(0,M.useCallback)(async()=>{let a=++g.current;try{let b=await (0,rj.Wt)(),c=(await Promise.all(b.map(a=>(0,rj.Vk)(a).catch(()=>[])))).flat().sort((a,b)=>b.id-a.id);if(a!==g.current)return;f(a=>wz(a,b)?a:b),d(a=>wz(a,c)?a:c)}catch{}},[]),i=(0,M.useMemo)(()=>c.filter(a=>wv.has(a.status)&&null==a.archivedAt).length,[c]);(0,M.useRef)(null);let j=(0,M.useMemo)(()=>({tasks:c,projects:e,attentionCount:i,refetch:h}),[c,e,i,h]);return(0,L.jsx)(ww.Provider,{value:j,children:a})}function wz(a,b){return JSON.stringify(a)===JSON.stringify(b)}let wA=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z",opacity:"0.2"}),M.createElement("path",{d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z"}))]]),wB=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wA}));wB.displayName="GearIcon";let wC=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M204,136a12,12,0,0,1-12,12H64a12,12,0,0,1,0-24H192A12,12,0,0,1,204,136Zm28-60H24a12,12,0,0,0,0,24H232a12,12,0,0,0,0-24Zm-80,96H104a12,12,0,0,0,0,24h48a12,12,0,0,0,0-24Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z",opacity:"0.2"}),M.createElement("path",{d:"M200,136a8,8,0,0,1-8,8H64a8,8,0,0,1,0-16H192A8,8,0,0,1,200,136Zm32-56H24a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm-80,96H104a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM144,176H112a8,8,0,0,1,0-16h32a8,8,0,0,1,0,16Zm32-40H80a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm32-40H48a8,8,0,0,1,0-16H208a8,8,0,0,1,0,16Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M198,136a6,6,0,0,1-6,6H64a6,6,0,0,1,0-12H192A6,6,0,0,1,198,136Zm34-54H24a6,6,0,0,0,0,12H232a6,6,0,0,0,0-12Zm-80,96H104a6,6,0,0,0,0,12h48a6,6,0,0,0,0-12Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,136a8,8,0,0,1-8,8H64a8,8,0,0,1,0-16H192A8,8,0,0,1,200,136Zm32-56H24a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm-80,96H104a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M196,136a4,4,0,0,1-4,4H64a4,4,0,0,1,0-8H192A4,4,0,0,1,196,136Zm36-52H24a4,4,0,0,0,0,8H232a4,4,0,0,0,0-8Zm-80,96H104a4,4,0,0,0,0,8h48a4,4,0,0,0,0-8Z"}))]]),wD=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wC}));wD.displayName="FunnelSimpleIcon";let wE=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M234.49,111.07,90.41,22.94A20,20,0,0,0,60,39.87V216.13a20,20,0,0,0,30.41,16.93l144.08-88.13a19.82,19.82,0,0,0,0-33.86ZM84,208.85V47.15L216.16,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z",opacity:"0.2"}),M.createElement("path",{d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M231.36,116.19,87.28,28.06a14,14,0,0,0-14.18-.27A13.69,13.69,0,0,0,66,39.87V216.13a13.69,13.69,0,0,0,7.1,12.08,14,14,0,0,0,14.18-.27l144.08-88.13a13.82,13.82,0,0,0,0-23.62Zm-6.26,13.38L81,217.7a2,2,0,0,1-2.06,0,1.78,1.78,0,0,1-1-1.61V39.87a1.78,1.78,0,0,1,1-1.61A2.06,2.06,0,0,1,80,38a2,2,0,0,1,1,.31L225.1,126.43a1.82,1.82,0,0,1,0,3.14Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230.32,117.9,86.24,29.79a11.91,11.91,0,0,0-12.17-.23A11.71,11.71,0,0,0,68,39.89V216.11a11.71,11.71,0,0,0,6.07,10.33,11.91,11.91,0,0,0,12.17-.23L230.32,138.1a11.82,11.82,0,0,0,0-20.2Zm-4.18,13.37L82.06,219.39a4,4,0,0,1-4.07.07,3.77,3.77,0,0,1-2-3.35V39.89a3.77,3.77,0,0,1,2-3.35,4,4,0,0,1,4.07.07l144.08,88.12a3.8,3.8,0,0,1,0,6.54Z"}))]]),wF=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wE}));wF.displayName="PlayIcon";let wG=["todo","inProgress","attention","done"];function wH(a){return"review"===a.status&&0===a.filesChanged}function wI(){return{defaultAgentType:null,modeId:null,configValues:{},autoProcess:!0,maxConcurrent:1,mergeStrategy:"merge",deleteWorktreeDefault:!0,preflightCommand:null,initCommand:null,stagePrompts:null}}let wJ=["todo","inProgress","attention","done"],wK={todo:{id:"todo",marker:"var(--text-dim)"},inProgress:{id:"inProgress",marker:"var(--accent)"},attention:{id:"attention",marker:"#f59e0b"},done:{id:"done",marker:"#10b981"}},wL=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M236,128a108,108,0,0,1-216,0c0-42.52,24.73-81.34,63-98.9A12,12,0,1,1,93,50.91C63.24,64.57,44,94.83,44,128a84,84,0,0,0,168,0c0-33.17-19.24-63.43-49-77.09A12,12,0,1,1,173,29.1C211.27,46.66,236,85.48,236,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,176A72,72,0,0,1,92,65.64a8,8,0,0,1,8,13.85,56,56,0,1,0,56,0,8,8,0,0,1,8-13.85A72,72,0,0,1,128,200Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M230,128a102,102,0,0,1-204,0c0-40.18,23.35-76.86,59.5-93.45a6,6,0,0,1,5,10.9C58.61,60.09,38,92.49,38,128a90,90,0,0,0,180,0c0-35.51-20.61-67.91-52.5-82.55a6,6,0,0,1,5-10.9C206.65,51.14,230,87.82,230,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M228,128a100,100,0,0,1-200,0c0-39.4,22.9-75.37,58.33-91.63a4,4,0,1,1,3.34,7.27C57.07,58.6,36,91.71,36,128a92,92,0,0,0,184,0c0-36.29-21.07-69.4-53.67-84.36a4,4,0,1,1,3.34-7.27C205.1,52.63,228,88.6,228,128Z"}))]]),wM=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wL}));wM.displayName="CircleNotchIcon";let wN=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm84,108a83.6,83.6,0,0,1-16.75,50.28L77.72,60.75A84,84,0,0,1,212,128ZM44,128A83.6,83.6,0,0,1,60.75,77.72L178.28,195.25A84,84,0,0,1,44,128Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.56,87.56,0,0,1-20.41,56.28L71.72,60.4A88,88,0,0,1,216,128ZM40,128A87.56,87.56,0,0,1,60.41,71.72L184.28,195.6A88,88,0,0,1,40,128Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M200,128a71.69,71.69,0,0,1-15.78,44.91L83.09,71.78A71.95,71.95,0,0,1,200,128ZM56,128a71.95,71.95,0,0,0,116.91,56.22L71.78,83.09A71.69,71.69,0,0,0,56,128Zm180,0A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-20,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm90,102a89.6,89.6,0,0,1-22.29,59.22L68.78,60.29A89.95,89.95,0,0,1,218,128ZM38,128A89.6,89.6,0,0,1,60.29,68.78L187.22,195.71A89.95,89.95,0,0,1,38,128Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.56,87.56,0,0,1-20.41,56.28L71.72,60.4A88,88,0,0,1,216,128ZM40,128A87.56,87.56,0,0,1,60.41,71.72L184.28,195.6A88,88,0,0,1,40,128Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm92,100a91.67,91.67,0,0,1-24.21,62.13L65.87,60.21A92,92,0,0,1,220,128ZM36,128A91.67,91.67,0,0,1,60.21,65.87L190.13,195.79A92,92,0,0,1,36,128Z"}))]]),wO=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wN}));wO.displayName="ProhibitIcon";let wP=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,108a36.05,36.05,0,0,0-33.38,22.54l-39-5.57a4,4,0,0,1-2.47-1.35L100.55,85.53A36,36,0,1,0,68,89.94v76.12a36,36,0,1,0,24,0V112.44l23,26.8a28,28,0,0,0,17.3,9.49l41.34,5.91A36,36,0,1,0,208,108ZM80,44A12,12,0,1,1,68,56,12,12,0,0,1,80,44Zm0,168a12,12,0,1,1,12-12A12,12,0,0,1,80,212Zm128-56a12,12,0,1,1,12-12A12,12,0,0,1,208,156Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M104,56A24,24,0,1,1,80,32,24,24,0,0,1,104,56Z",opacity:"0.2"}),M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM64,56A16,16,0,1,1,80,72,16,16,0,0,1,64,56ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,114a30,30,0,0,0-29.21,23.19l-44-6.28a10,10,0,0,1-6.18-3.39L91.18,83.83A30,30,0,1,0,74,85.4v85.2a30,30,0,1,0,12,0V96.22l33.52,39.11a22,22,0,0,0,13.6,7.46l45.35,6.48A30,30,0,1,0,208,114ZM62,56A18,18,0,1,1,80,74,18,18,0,0,1,62,56ZM98,200a18,18,0,1,1-18-18A18,18,0,0,1,98,200Zm110-38a18,18,0,1,1,18-18A18,18,0,0,1,208,162Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,112a32.05,32.05,0,0,0-30.69,23l-42.21-6a8,8,0,0,1-4.95-2.71L94.43,84.55A32,32,0,1,0,72,87v82a32,32,0,1,0,16,0V101.63l30,35a24,24,0,0,0,14.83,8.14l44,6.28A32,32,0,1,0,208,112ZM64,56A16,16,0,1,1,80,72,16,16,0,0,1,64,56ZM96,200a16,16,0,1,1-16-16A16,16,0,0,1,96,200Zm112-40a16,16,0,1,1,16-16A16,16,0,0,1,208,160Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M208,116a28,28,0,0,0-27.62,23.44l-45.85-6.55a12,12,0,0,1-7.41-4.07L87.75,82.9A28,28,0,1,0,76,83.71v88.58a28,28,0,1,0,8,0V90.81L121,134a20,20,0,0,0,12.36,6.78l46.83,6.69A28,28,0,1,0,208,116ZM60,56A20,20,0,1,1,80,76,20,20,0,0,1,60,56Zm40,144a20,20,0,1,1-20-20A20,20,0,0,1,100,200Zm108-36a20,20,0,1,1,20-20A20,20,0,0,1,208,164Z"}))]]),wQ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wP}));function wR({task:a}){let{t:b}=(0,aK.s)(),c=b("failed"===a.status&&"interrupted"===a.failureReason?"tasks.statusInterrupted":function(a){switch(a){case"todo":return"tasks.statusTodo";case"queued":return"tasks.statusQueued";case"preparing":return"tasks.statusPreparing";case"running":return"tasks.statusRunning";case"awaiting_input":return"tasks.statusAwaitingInput";case"review":return"tasks.statusReview";case"merging":return"tasks.statusMerging";case"done":return"tasks.statusDone";case"failed":return"tasks.statusFailed";case"canceled":return"tasks.statusCanceled"}}(a.status)),d={display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,padding:"2px 8px",fontSize:10,fontWeight:600,lineHeight:1.4,flexShrink:0,whiteSpace:"nowrap"};switch(a.status){case"queued":case"preparing":case"running":case"merging":return(0,L.jsxs)("span",{style:{...d,color:"var(--accent)"},children:[(0,L.jsx)(wM,{size:11,className:"pi-spin",style:{animation:"pi-spin 1s linear infinite"},"aria-hidden":"true"}),c]});case"awaiting_input":case"review":return(0,L.jsx)("span",{style:{...d,border:"1px solid rgba(245,158,11,0.45)",background:"rgba(245,158,11,0.08)",color:"#d97706"},children:c});case"done":return(0,L.jsxs)("span",{style:{...d,background:"rgba(16,185,129,0.12)",color:"#059669"},children:[(0,L.jsx)(_,{size:10,weight:"bold","aria-hidden":"true"}),c]});case"failed":return(0,L.jsx)("span",{style:{...d,background:"rgba(239,68,68,0.12)",color:"#dc2626"},children:c});default:return(0,L.jsx)("span",{style:{...d,background:"var(--bg-hover)",color:"var(--text-muted)"},children:c})}}function wS({task:a}){let b=a.preflight;if(!b||"review"!==a.status)return null;let c="passed"===b.status?{background:"rgba(16,185,129,0.12)",color:"#059669"}:"failed"===b.status?{background:"rgba(239,68,68,0.12)",color:"#dc2626"}:{background:"var(--bg-hover)",color:"var(--text-muted)"};return(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,padding:"1px 6px",fontSize:10,fontWeight:500,lineHeight:1.5,maxWidth:"100%",...c},title:b.command,children:["running"===b.status?(0,L.jsx)(wM,{size:10,style:{animation:"pi-spin 1s linear infinite"},"aria-hidden":"true"}):"passed"===b.status?(0,L.jsx)(p2,{size:10,"aria-hidden":"true"}):(0,L.jsx)(s0,{size:10,"aria-hidden":"true"}),(0,L.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b.command})]})}function wT({task:a,folderName:b,now:c,onOpen:d,onStart:e,onCancel:f,onRetry:g,onRequeue:h,onViewSession:i,onMerge:j,onArchive:k,onEdit:l}){let{t:m}=(0,aK.s)(),n=null!=a.archivedAt,o="running"===a.status||"awaiting_input"===a.status||"merging"===a.status,p=null!=a.filesChanged&&a.filesChanged>0?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontFamily:"var(--font-mono)",fontSize:10},children:[(0,L.jsxs)("span",{style:{color:"#059669"},children:["+",a.additions??0]}),(0,L.jsxs)("span",{style:{color:"#dc2626"},children:["-",a.deletions??0]})]}):null,q=function(a,b){if(!a)return"";let c=new Date(a).getTime();if(Number.isNaN(c))return"";let d=Math.floor(Math.max(0,b-c)/6e4);if(d<1)return"now";if(d<60)return`${d}m`;let e=Math.floor(d/60);if(e<24)return`${e}h`;let f=Math.floor(e/24);return`${f}d`}(a.finishedAt??a.settledAt??a.startedAt??a.createdAt,c),{primary:r,more:s}=(()=>{let b=[],c=null;if(n)return{primary:c={icon:s4,label:m("tasks.actionUnarchive"),onClick:k},more:b};switch(a.status){case"todo":c={icon:wF,label:m("tasks.actionStart"),onClick:e},b.push({icon:qV,label:m("tasks.actionEdit"),onClick:l});break;case"queued":case"preparing":case"running":case"awaiting_input":c={icon:wO,label:m("tasks.actionCancel"),onClick:f};break;case"review":c=wH(a)?{icon:_,label:m("tasks.actionComplete"),onClick:j}:{icon:wQ,label:m("tasks.actionMerge"),onClick:j};break;case"merging":break;case"failed":c={icon:at,label:m("tasks.actionRetry"),onClick:g},b.push({icon:qV,label:m("tasks.actionEdit"),onClick:l}),b.push({icon:s4,label:m("tasks.actionArchive"),onClick:k});break;case"done":c={icon:s4,label:m("tasks.actionArchive"),onClick:k};break;case"canceled":c={icon:p4,label:m("tasks.actionRequeue"),onClick:h},b.push({icon:s4,label:m("tasks.actionArchive"),onClick:k})}return{primary:c,more:b}})(),t=[...s];return null!=a.conversationId&&t.push({icon:p0,label:m("tasks.actionViewSession"),onClick:i}),(0,L.jsxs)("div",{role:"button",tabIndex:0,onClick:d,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),d())},style:{display:"flex",flexDirection:"column",cursor:"pointer",borderRadius:12,border:"1px solid color-mix(in srgb, var(--border) 85%, transparent)",background:"var(--bg-panel)",padding:12,textAlign:"left",transition:"border-color 0.12s",opacity:n?.6:1,boxShadow:"0 1px 2px rgba(0,0,0,0.04)"},className:"task-card-hover",onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--accent)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="color-mix(in srgb, var(--border) 85%, transparent)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8},children:[(0,L.jsx)("span",{style:{minWidth:0,overflowWrap:"break-word",fontSize:13,fontWeight:500,lineHeight:1.4},children:a.title}),(0,L.jsx)(wR,{task:a})]}),(0,L.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"2px 6px",marginTop:6,fontSize:11,color:"var(--text-muted)"},children:[b?(0,L.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b}):null,b&&a.workBranch?(0,L.jsx)("span",{style:{opacity:.5},children:"/"}):null,a.workBranch?(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:180},children:a.workBranch}):null,(b||a.workBranch)&&(p||q)?(0,L.jsx)("span",{style:{opacity:.5},children:"\xb7"}):null,p,p&&q?(0,L.jsx)("span",{style:{opacity:.5},children:"\xb7"}):null,q?(0,L.jsx)("span",{style:{flexShrink:0},children:q}):null,(0,L.jsx)(wS,{task:a})]}),a.lastError&&("failed"===a.status||"review"===a.status)?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:8,borderRadius:8,background:"rgba(239,68,68,0.08)",padding:"6px 8px",fontSize:11,color:"#dc2626"},children:[(0,L.jsx)(pB,{size:13,style:{flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.lastError}),(0,L.jsx)("button",{type:"button",style:{flexShrink:0,fontWeight:600,background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:11,textDecoration:"underline"},onClick:a=>{a.stopPropagation(),d()},children:m("tasks.errorView")})]}):null,"review"===a.status&&a.resultSummary?(0,L.jsx)("p",{style:{margin:"6px 0 0",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",fontSize:11,lineHeight:1.5,color:"var(--text-muted)"},children:a.resultSummary}):null,o&&a.latestProgress?(0,L.jsx)("p",{style:{margin:"6px 0 0",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",fontStyle:"italic"},children:a.latestProgress}):null,r||t.length>0?(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:12,paddingTop:12,borderTop:"1px solid var(--border)"},children:[r?(0,L.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),r.onClick()},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 10px",borderRadius:7,background:"var(--accent)",color:"#fff",border:"none",cursor:"pointer",fontSize:11,fontWeight:600},children:[(0,L.jsx)(r.icon,{size:12,weight:"bold","aria-hidden":"true"}),r.label]}):null,(0,L.jsx)("div",{style:{flex:1}}),t.map(a=>(0,L.jsx)("button",{type:"button",title:a.label,"aria-label":a.label,onClick:b=>{b.stopPropagation(),a.onClick()},style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,borderRadius:999,background:"none",border:"1px solid var(--border)",color:"var(--text-muted)",cursor:"pointer",opacity:0,transition:"opacity 0.12s, background 0.12s, color 0.12s"},className:"task-card-secondary",onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsx)(a.icon,{size:13,"aria-hidden":"true"})},a.label))]}):null]})}function wU({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(!1);if(!a||!c)return null;let j=async()=>{if(!h){i(!0);try{await (0,rj.oQ)(c.id,c.projectRoot,"cancel",{reason:f.trim()||null}),b(!1),e()}catch(a){console.error("cancel failed",a)}finally{i(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.cancelTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:d("tasks.cancelDescription")}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:d("tasks.cancelReasonLabel")}),(0,L.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:d("tasks.cancelReasonPlaceholder"),rows:3,autoFocus:!0,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit",resize:"vertical"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:h,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("tasks.cancelKeep")}),(0,L.jsx)("button",{type:"button",onClick:()=>void j(),disabled:h,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.cancelSubmit")})]})]})]})})}function wV({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(!1),j=c?.worktreePath!=null;if(!a||!c)return null;let k=async()=>{if(!h){i(!0);try{await (0,rj.ZX)(c.id,c.projectRoot,j&&f),b(!1),e()}catch(a){console.error("complete failed",a)}finally{i(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.completeTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:d("tasks.completeDescription")}),j?(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:f,onChange:a=>g(a.target.checked),style:{accentColor:"var(--accent)"}}),d("tasks.completeDeleteWorktree")]}):null,(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:h,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void k(),disabled:h,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.completeSubmit")})]})]})]})})}wQ.displayName="GitMergeIcon";let wW=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M244,116H186.79a60,60,0,0,0-117.58,0H12a12,12,0,0,0,0,24H69.21a60,60,0,0,0,117.58,0H244a12,12,0,0,0,0-24ZM128,164a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M176,128a48,48,0,1,1-48-48A48,48,0,0,1,176,128Z",opacity:"0.2"}),M.createElement("path",{d:"M248,120H183.42a56,56,0,0,0-110.84,0H8a8,8,0,0,0,0,16H72.58a56,56,0,0,0,110.84,0H248a8,8,0,0,0,0-16ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M256,128a8,8,0,0,1-8,8H183.42a56,56,0,0,1-110.84,0H8a8,8,0,0,1,0-16H72.58a56,56,0,0,1,110.84,0H248A8,8,0,0,1,256,128Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,122H181.66a54,54,0,0,0-107.32,0H8a6,6,0,0,0,0,12H74.34a54,54,0,0,0,107.32,0H248a6,6,0,0,0,0-12ZM128,170a42,42,0,1,1,42-42A42,42,0,0,1,128,170Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,120H183.42a56,56,0,0,0-110.84,0H8a8,8,0,0,0,0,16H72.58a56,56,0,0,0,110.84,0H248a8,8,0,0,0,0-16ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M248,124H179.83a52,52,0,0,0-103.66,0H8a4,4,0,0,0,0,8H76.17a52,52,0,0,0,103.66,0H248a4,4,0,0,0,0-8ZM128,172a44,44,0,1,1,44-44A44.05,44.05,0,0,1,128,172Z"}))]]),wX=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wW}));wX.displayName="GitCommitIcon";let wY=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,148a12,12,0,0,0-12,12v19L69.17,148.2A4,4,0,0,1,68,145.37V97.94a36,36,0,1,0-24,0v47.43a27.81,27.81,0,0,0,8.2,19.8L83,196H64a12,12,0,0,0,0,24h48a12,12,0,0,0,12-12V160A12,12,0,0,0,112,148ZM56,52A12,12,0,1,1,44,64,12,12,0,0,1,56,52ZM212,158.06V110.63a27.81,27.81,0,0,0-8.2-19.8L173,60h19a12,12,0,0,0,0-24H144a12,12,0,0,0-12,12V96a12,12,0,0,0,24,0V77l30.83,30.83a4,4,0,0,1,1.17,2.83v47.43a36,36,0,1,0,24,0ZM200,204a12,12,0,1,1,12-12A12,12,0,0,1,200,204Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M80,64A24,24,0,1,1,56,40,24,24,0,0,1,80,64ZM200,168a24,24,0,1,0,24,24A24,24,0,0,0,200,168Z",opacity:"0.2"}),M.createElement("path",{d:"M112,152a8,8,0,0,0-8,8v28.69L66.34,151A8,8,0,0,1,64,145.37V95a32,32,0,1,0-16,0v50.38a23.85,23.85,0,0,0,7,17L92.69,200H64a8,8,0,0,0,0,16h48a8,8,0,0,0,8-8V160A8,8,0,0,0,112,152ZM40,64A16,16,0,1,1,56,80,16,16,0,0,1,40,64Zm168,97V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H144a8,8,0,0,0-8,8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Zm-8,47a16,16,0,1,1,16-16A16,16,0,0,1,200,208Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M118.18,213.08c-.11.14-.24.27-.36.4l-.16.18-.17.15a4.83,4.83,0,0,1-.42.37,3.92,3.92,0,0,1-.32.25l-.3.22-.38.23a2.91,2.91,0,0,1-.3.17l-.37.19-.34.15-.36.13a2.84,2.84,0,0,1-.38.13l-.36.1c-.14,0-.26.07-.4.09l-.42.07-.35.05a7,7,0,0,1-.79,0H64a8,8,0,0,1,0-16H92.69L55,162.34a23.85,23.85,0,0,1-7-17V95a32,32,0,1,1,16,0v50.38A8,8,0,0,0,66.34,151L104,188.69V160a8,8,0,0,1,16,0v48a7,7,0,0,1,0,.8c0,.11,0,.21,0,.32s0,.3-.07.46a2.83,2.83,0,0,1-.09.37c0,.13-.06.26-.1.39s-.08.23-.12.35l-.14.39-.15.31c-.06.13-.12.27-.19.4s-.11.18-.16.28l-.24.39-.21.28ZM208,161V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H143.82l-.6,0c-.14,0-.28,0-.41.06l-.37,0-.43.11-.33.08-.4.14-.34.13-.35.16-.36.18a3.14,3.14,0,0,0-.31.18c-.12.07-.25.14-.36.22a3.55,3.55,0,0,0-.31.23,3.81,3.81,0,0,0-.32.24c-.15.12-.28.24-.42.37l-.17.15-.16.18c-.12.13-.25.26-.36.4l-.26.35-.21.28-.24.39c-.05.1-.11.19-.16.28s-.13.27-.19.4l-.15.31-.14.39c0,.12-.09.23-.12.35s-.07.26-.1.39a2.83,2.83,0,0,0-.09.37c0,.16,0,.31-.07.46s0,.21-.05.32a7,7,0,0,0,0,.8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,154a6,6,0,0,0-6,6v33.52L64.93,152.44A9.93,9.93,0,0,1,62,145.37v-52a30,30,0,1,0-12,0v52a21.88,21.88,0,0,0,6.44,15.56L97.52,202H64a6,6,0,0,0,0,12h48a6,6,0,0,0,6-6V160A6,6,0,0,0,112,154ZM38,64A18,18,0,1,1,56,82,18,18,0,0,1,38,64Zm168,98.6v-52a21.88,21.88,0,0,0-6.44-15.56L158.48,54H192a6,6,0,0,0,0-12H144a6,6,0,0,0-6,6V96a6,6,0,0,0,12,0V62.48l41.07,41.08a9.93,9.93,0,0,1,2.93,7.07v52a30,30,0,1,0,12,0ZM200,210a18,18,0,1,1,18-18A18,18,0,0,1,200,210Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,152a8,8,0,0,0-8,8v28.69L66.34,151A8,8,0,0,1,64,145.37V95a32,32,0,1,0-16,0v50.38a23.85,23.85,0,0,0,7,17L92.69,200H64a8,8,0,0,0,0,16h48a8,8,0,0,0,8-8V160A8,8,0,0,0,112,152ZM40,64A16,16,0,1,1,56,80,16,16,0,0,1,40,64Zm168,97V110.63a23.85,23.85,0,0,0-7-17L163.31,56H192a8,8,0,0,0,0-16H144a8,8,0,0,0-8,8V96a8,8,0,0,0,16,0V67.31L189.66,105a8,8,0,0,1,2.34,5.66V161a32,32,0,1,0,16,0Zm-8,47a16,16,0,1,1,16-16A16,16,0,0,1,200,208Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M112,156a4,4,0,0,0-4,4v38.34L63.51,153.86A12,12,0,0,1,60,145.37V91.71a28,28,0,1,0-8,0v53.66a19.85,19.85,0,0,0,5.86,14.14L102.34,204H64a4,4,0,0,0,0,8h48a4,4,0,0,0,4-4V160A4,4,0,0,0,112,156ZM36,64A20,20,0,1,1,56,84,20,20,0,0,1,36,64ZM204,164.29V110.63a19.85,19.85,0,0,0-5.86-14.14L153.66,52H192a4,4,0,0,0,0-8H144a4,4,0,0,0-4,4V96a4,4,0,0,0,8,0V57.66l44.49,44.48a12,12,0,0,1,3.51,8.49v53.66a28,28,0,1,0,8,0ZM200,212a20,20,0,1,1,20-20A20,20,0,0,1,200,212Z"}))]]),wZ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:wY}));function w$({open:a,onOpenChange:b,task:c,onViewSession:d,onMerge:e,onEdit:f,onCancel:g,onRetry:h,onRequeue:i,onComplete:j}){let{t:k}=(0,aK.s)(),{refetch:l}=wx(),[m,n]=(0,M.useState)([]),[o,p]=(0,M.useState)([]),[q,r]=(0,M.useState)(null),[s,t]=(0,M.useState)(null),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)(!1),[y,z]=(0,M.useState)(""),[A,B]=(0,M.useState)(!1),[C,D]=(0,M.useState)(!1),[E,F]=(0,M.useState)(!1),G=c?.id??null,H=c?.projectRoot??null;(0,M.useCallback)(async()=>{if(null==G||null==H)return;let[a,b]=await Promise.all([(0,rj.HB)(H,G).catch(()=>[]),c?.worktreePath?(0,rj.JH)(H,G).then(a=>a.files).catch(()=>[]):Promise.resolve([])]);n(a),p(b)},[G,H,c?.worktreePath]);let I=(0,M.useCallback)(async a=>{F(!0);try{await a()}catch(a){console.error("detail action failed",a)}finally{F(!1),l()}},[l]),J=(0,M.useCallback)(async a=>{if(null!=H&&null!=G){v(!0);try{let b=await (0,rj.h)(H,G,a);t(b.supported&&b.patch?b.patch:null)}catch{t(null)}finally{v(!1)}}},[H,G]),K=async()=>{null!=c&&null!=H&&(await I(()=>(0,rj.bH)(c.id,H,C)),b(!1))},N=async()=>{null!=c&&null!=H&&y.trim()&&(await I(()=>(0,rj.in)(c.id,H,y.trim())),x(!1),z(""))};if(!a||null==c||null==H)return null;let O=[];if(null==c.archivedAt)switch(c.status){case"todo":O.push({label:k("tasks.actionStart"),icon:wF,onClick:()=>void I(()=>(0,rj.oQ)(c.id,H,"start")),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:qV,onClick:()=>f(c)});break;case"queued":case"preparing":case"running":case"awaiting_input":O.push({label:k("tasks.actionCancel"),icon:wO,onClick:()=>g(c),danger:!0});break;case"review":O.push({label:wH(c)?k("tasks.actionComplete"):k("tasks.actionMerge"),icon:wH(c)?_:wX,onClick:()=>wH(c)?j(c):e(c),filled:!0}),O.push({label:k("tasks.actionReturn"),icon:p4,onClick:()=>x(!0)});break;case"failed":O.push({label:k("tasks.actionRetry"),icon:at,onClick:()=>h(c),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:qV,onClick:()=>f(c)});break;case"done":O.push({label:k("tasks.actionArchive"),icon:s4,onClick:()=>void I(()=>(0,rj.et)(c.id,H,!0))});break;case"canceled":O.push({label:k("tasks.actionRequeue"),icon:p4,onClick:()=>i(c),filled:!0})}else O.push({label:k("tasks.actionUnarchive"),icon:s4,onClick:()=>void I(()=>(0,rj.et)(c.id,H,!1))});return null!=c.conversationId&&O.push({label:k("tasks.actionViewSession"),icon:p0,onClick:()=>d(c)}),(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:800,background:"rgba(0,0,0,0.35)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{position:"absolute",top:0,right:0,bottom:0,width:"min(480px, 90vw)",background:"var(--bg-panel)",borderLeft:"1px solid var(--border)",display:"flex",flexDirection:"column",boxShadow:"-8px 0 32px rgba(0,0,0,0.2)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,padding:"16px 16px 0"},children:[(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:600,lineHeight:1.4,overflowWrap:"break-word"},children:c.title}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:6},children:[(0,L.jsx)(wR,{task:c}),c.workBranch?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-muted)"},children:[(0,L.jsx)(aj,{size:12,"aria-hidden":"true"}),c.workBranch]}):null]})]}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":k("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex",flexShrink:0},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,padding:"14px 16px 0"},children:O.map(a=>{let b,c;return(0,L.jsxs)("button",{type:"button",onClick:a.onClick,disabled:E,style:(b=a.filled,c=a.danger,{display:"inline-flex",alignItems:"center",gap:5,padding:"7px 12px",borderRadius:8,fontSize:12,fontWeight:600,cursor:"pointer",background:b?"var(--accent)":c?"rgba(239,68,68,0.1)":"var(--bg-hover)",color:b?"#fff":c?"#dc2626":"var(--text)",border:b||c?"none":"1px solid var(--border)"}),children:[(0,L.jsx)(a.icon,{size:13,weight:"bold","aria-hidden":"true"}),a.label]},a.label)})}),w&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,padding:"12px 16px 0"},children:[(0,L.jsx)("textarea",{value:y,onChange:a=>z(a.target.value),placeholder:k("tasks.returnPlaceholder"),rows:3,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:12,resize:"vertical",fontFamily:"inherit"}}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[(0,L.jsx)("button",{type:"button",onClick:()=>x(!1),style:{padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:k("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void N(),disabled:!y.trim(),style:{padding:"6px 14px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:k("tasks.returnSubmit")})]})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"14px 16px 0",fontSize:12,color:"var(--text-muted)"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaProject")}),(0,L.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11},children:c.projectRoot})]}),c.createdAt?(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaCreated")}),(0,L.jsx)("span",{children:new Date(c.createdAt).toLocaleString()})]}):null,c.mergeCommit?(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",width:64},children:k("tasks.metaCommit")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11},children:c.mergeCommit})]}):null]}),o.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,padding:"14px 16px 0"},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:k("tasks.changedFiles")}),(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2,maxHeight:140,overflowY:"auto"},children:o.map(a=>(0,L.jsxs)("button",{type:"button",onClick:()=>{var b;r(b=a.file),t(null),J(b)},style:{display:"flex",alignItems:"center",gap:8,textAlign:"left",padding:"4px 6px",borderRadius:6,background:"none",border:"none",color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(wZ,{size:13,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,L.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11},children:a.file}),(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"#059669",flexShrink:0},children:["+",a.additions]}),(0,L.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"#dc2626",flexShrink:0},children:["-",a.deletions]})]},a.file))})]}),null!=q&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"12px 16px 0",minHeight:0,flexShrink:0},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)"},children:k("tasks.diff")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:q}),(0,L.jsx)("button",{type:"button",onClick:()=>r(null),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:2,display:"flex"},children:(0,L.jsx)(X,{size:12,"aria-hidden":"true"})})]}),u?(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",padding:8},children:k("tasks.loading")}):s?(0,L.jsx)("pre",{style:{margin:0,maxHeight:200,overflow:"auto",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10,fontSize:11,lineHeight:1.5,fontFamily:"var(--font-mono)",color:"var(--text-muted)",whiteSpace:"pre"},children:s.split("\n").map((a,b)=>{let c;return a.startsWith("+")&&!a.startsWith("+++")?c="#059669":a.startsWith("-")&&!a.startsWith("---")?c="#dc2626":a.startsWith("@@")&&(c="var(--accent)"),(0,L.jsx)("div",{style:{color:c},children:a||" "},b)})}):(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",padding:8},children:k("tasks.noDiff")})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,padding:"14px 16px 0",flex:1,minHeight:0},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:k("tasks.timeline")}),(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",paddingBottom:8},children:0===m.length?(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",padding:8},children:k("tasks.noEvents")}):(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[...m].reverse().map(a=>{var b;let c,d;return(0,L.jsxs)("div",{style:{display:"flex",gap:8,padding:"4px 6px",borderRadius:6,fontSize:11},children:[(0,L.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10,paddingTop:1},children:new Date(a.createdAt).toLocaleTimeString()}),(0,L.jsx)("span",{style:{color:"var(--text)",flexShrink:0,fontWeight:500},children:(b=a.kind,(d=k(c=`tasks.event_${b}`))===c?b:d)}),a.payload?.feedback?(0,L.jsx)("span",{style:{color:"var(--text-muted)",fontStyle:"italic",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:String(a.payload.feedback)}):null]},a.id)})})})]}),(0,L.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 16px",borderTop:"1px solid var(--border)",flexShrink:0},children:A?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:12,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:C,onChange:a=>D(a.target.checked),style:{accentColor:"var(--accent)"}}),k("tasks.deleteWorktree")]}),(0,L.jsx)("button",{type:"button",onClick:()=>B(!1),style:{padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:k("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void K(),disabled:E,style:{padding:"6px 14px",borderRadius:8,background:"#dc2626",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:k("tasks.deleteConfirm")})]}):(0,L.jsxs)("button",{type:"button",onClick:()=>B(!0),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"#dc2626",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(av,{size:13,"aria-hidden":"true"}),k("tasks.delete")]})})]})})}wZ.displayName="GitDiffIcon";let w_=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,28H72A20,20,0,0,0,52,48V224a12,12,0,0,0,18.36,10.18l57.63-36,57.65,36A12,12,0,0,0,204,224V48A20,20,0,0,0,184,28Zm-4,174.35-45.65-28.53a12,12,0,0,0-12.72,0L76,202.35V52H180Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M192,48V224l-64-40L64,224V48a8,8,0,0,1,8-8H184A8,8,0,0,1,192,48Z",opacity:"0.2"}),M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Zm0,177.57-51.77-32.35a8,8,0,0,0-8.48,0L72,209.57V48H184Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,34H72A14,14,0,0,0,58,48V224a6,6,0,0,0,9.18,5.09l60.81-38,60.83,38A6,6,0,0,0,198,224V48A14,14,0,0,0,184,34Zm2,179.17-54.83-34.26a6,6,0,0,0-6.36,0L70,213.17V48a2,2,0,0,1,2-2H184a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,32H72A16,16,0,0,0,56,48V224a8,8,0,0,0,12.24,6.78L128,193.43l59.77,37.35A8,8,0,0,0,200,224V48A16,16,0,0,0,184,32Zm0,177.57-51.77-32.35a8,8,0,0,0-8.48,0L72,209.57V48H184Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M184,36H72A12,12,0,0,0,60,48V224a4,4,0,0,0,6.12,3.39L128,188.72l61.89,38.67A4,4,0,0,0,192,228a4.06,4.06,0,0,0,1.94-.5A4,4,0,0,0,196,224V48A12,12,0,0,0,184,36Zm4,180.78-57.89-36.17a4,4,0,0,0-4.24,0L68,216.78V48a4,4,0,0,1,4-4H184a4,4,0,0,1,4,4Z"}))]]),w0=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:w_}));function w1({open:a,onOpenChange:b,task:c,defaultProject:d,projects:e,prefillTitle:f,prefillPrompt:g,onSubmit:h}){let{t:i}=(0,aK.s)(),[j,k]=(0,M.useState)(""),[l,m]=(0,M.useState)(""),[n,o]=(0,M.useState)(""),[p,q]=(0,M.useState)([]),[r,s]=(0,M.useState)(""),[t,u]=(0,M.useState)(!1);if((0,M.useRef)(!1),!a)return null;let v=async()=>{if(j&&l.trim()&&!t){u(!0);try{await h(j,l.trim(),{prompt:n.trim(),agentType:c?.config?.agentType??null,modelId:c?.config?.modelId??null,thinkingLevel:c?.config?.thinkingLevel??null}),b(!1)}catch(a){console.error("submit task failed",a)}finally{u(!1)}}},w=async()=>{if(r.trim()&&l.trim())try{await (0,rj.nY)({name:r.trim(),title:l.trim(),config:{prompt:n.trim()}}),s(""),(0,rj.VB)().then(q).catch(()=>void 0)}catch(a){console.error("save template failed",a)}},x=async a=>{try{await (0,rj.B_)(a),(0,rj.VB)().then(q).catch(()=>void 0)}catch(a){console.error("delete template failed",a)}},y={width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none"};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:900,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(520px, calc(100vw - 48px))",maxHeight:"80vh",overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:c?i("tasks.editTitle"):i("tasks.newTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":i("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[p.length>0&&(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:i("tasks.templates")}),(0,L.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:p.map(a=>(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,background:"var(--bg-hover)",padding:"3px 8px",fontSize:11},children:[(0,L.jsx)("button",{type:"button",onClick:()=>{m(a.title),o(a.config?.prompt??"")},style:{background:"none",border:"none",cursor:"pointer",color:"var(--text)",fontSize:11,padding:0},children:a.name}),(0,L.jsx)("button",{type:"button",onClick:()=>void x(a.id),"aria-label":i("tasks.deleteTemplate"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-dim)",padding:0,display:"flex"},children:(0,L.jsx)(av,{size:10,"aria-hidden":"true"})})]},a.id))})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldProject")}),(0,L.jsx)("select",{value:j,onChange:a=>k(a.target.value),style:y,children:e.map(a=>(0,L.jsx)("option",{value:a,children:a.split("/").filter(Boolean).pop()??a},a))})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldTitle")}),(0,L.jsx)("input",{value:l,onChange:a=>m(a.target.value),placeholder:i("tasks.fieldTitlePlaceholder"),style:y,autoFocus:!0})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500,color:"var(--text)"},children:i("tasks.fieldPrompt")}),(0,L.jsx)("textarea",{value:n,onChange:a=>o(a.target.value),placeholder:i("tasks.fieldPromptPlaceholder"),rows:6,style:{...y,resize:"vertical",fontFamily:"inherit",lineHeight:1.5}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,L.jsx)("input",{value:r,onChange:a=>s(a.target.value),placeholder:i("tasks.templateNamePlaceholder"),style:{...y,flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:()=>void w(),disabled:!r.trim()||!l.trim(),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"8px 12px",borderRadius:8,background:"var(--bg-hover)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:[(0,L.jsx)(w0,{size:13,"aria-hidden":"true"}),i("tasks.saveAsTemplate")]})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:i("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void v(),disabled:!j||!l.trim()||t,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:i("tasks.save")})]})]})]})})}function w2({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)(),{refetch:e}=wx(),[f,g]=(0,M.useState)(!0),[h,i]=(0,M.useState)(""),[j,k]=(0,M.useState)(!0),[l,m]=(0,M.useState)(!1);if(!a||!c)return null;let n=async()=>{if((f||h.trim())&&!l){m(!0);try{await (0,rj.oB)(c.id,c.projectRoot,f?null:h.trim(),j),b(!1),e()}catch(a){console.error("merge failed",a)}finally{m(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(440px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.mergeTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"radio",checked:f,onChange:()=>g(!0),style:{accentColor:"var(--accent)"}}),d("tasks.mergeAutoMessage")]}),(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"radio",checked:!f,onChange:()=>g(!1),style:{accentColor:"var(--accent)"}}),d("tasks.mergeManualMessage")]}),!f&&(0,L.jsx)("input",{value:h,onChange:a=>i(a.target.value),placeholder:d("tasks.mergeMessagePlaceholder"),style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit"}}),(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13,cursor:"pointer"},children:[(0,L.jsx)("input",{type:"checkbox",checked:j,onChange:a=>k(a.target.checked),style:{accentColor:"var(--accent)"}}),d("tasks.mergeDeleteWorktree")]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void n(),disabled:!f&&!h.trim()||l,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.mergeConfirm")})]})]})]})})}function w3({open:a,onOpenChange:b,task:c,kind:d}){let{t:e}=(0,aK.s)(),{refetch:f}=wx(),[g,h]=(0,M.useState)(""),[i,j]=(0,M.useState)(!1);if(!a||!c)return null;let k="retry"===d,l=async()=>{if(!i){j(!0);try{await (0,rj.oQ)(c.id,c.projectRoot,d,{note:g.trim()||null}),b(!1),f()}catch(a){console.error("restart failed",a)}finally{j(!1)}}};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:950,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(480px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:e(k?"tasks.restartTitleRetry":"tasks.restartTitleRequeue")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":e("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"14px 16px 16px"},children:[(0,L.jsx)("p",{style:{margin:0,fontSize:12,lineHeight:1.5,color:"var(--text-muted)"},children:e("tasks.restartDescription")}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text-muted)"},children:e("tasks.actionAddNote")}),(0,L.jsx)("textarea",{value:g,onChange:a=>h(a.target.value),placeholder:e(k?"tasks.followUpPlaceholderRetry":"tasks.followUpPlaceholderRequeue"),rows:3,autoFocus:!0,style:{width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",color:"var(--text)",fontSize:13,outline:"none",fontFamily:"inherit",resize:"vertical"}})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),disabled:i,style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:e("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void l(),disabled:i,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:e(k?"tasks.actionRetry":"tasks.actionRequeue")})]})]})]})})}w0.displayName="BookmarkSimpleIcon";let w4=["work","retry","return","merge"];function w5({open:a,onOpenChange:b,projectRoot:c}){let{t:d}=(0,aK.s)(),{projects:e}=wx(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(()=>wI()),[j,k]=(0,M.useState)(!1),[l,m]=(0,M.useState)(!1);if(!a)return null;let n=(a,b)=>{i(c=>({...c,[a]:b}))},o=async()=>{if(f&&!l){m(!0);try{await (0,rj.eA)(f,h),k(!0),b(!1)}catch(a){console.error("save settings failed",a)}finally{m(!1)}}},p=async()=>{if(f)try{await (0,rj.E)(f),k(!1),i(wI())}catch(a){console.error("reset settings failed",a)}},q={width:"100%",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:"7px 10px",color:"var(--text)",fontSize:12,outline:"none",fontFamily:"inherit"},r={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 0",borderBottom:"1px solid var(--border)"};return(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:960,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(560px, calc(100vw - 48px))",maxHeight:"82vh",overflowY:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.settingsTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px 16px"},children:[(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500},children:d("tasks.settingsProject")}),(0,L.jsx)("select",{value:f,onChange:a=>g(a.target.value),style:q,children:e.map(a=>(0,L.jsx)("option",{value:a,children:a.split("/").filter(Boolean).pop()??a},a))})]}),f?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsAutoProcess")}),(0,L.jsx)("input",{type:"checkbox",checked:h.autoProcess,onChange:a=>n("autoProcess",a.target.checked),style:{accentColor:"var(--accent)"}})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsMaxConcurrent")}),(0,L.jsx)("input",{type:"number",min:0,value:h.maxConcurrent,onChange:a=>n("maxConcurrent",Math.max(0,Number(a.target.value)||0)),style:{...q,width:90}})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsMergeStrategy")}),(0,L.jsxs)("select",{value:h.mergeStrategy,onChange:a=>n("mergeStrategy",a.target.value),style:{...q,width:140},children:[(0,L.jsx)("option",{value:"merge",children:d("tasks.mergeStrategyMerge")}),(0,L.jsx)("option",{value:"squash",children:d("tasks.mergeStrategySquash")})]})]}),(0,L.jsxs)("div",{style:r,children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsDeleteWorktree")}),(0,L.jsx)("input",{type:"checkbox",checked:h.deleteWorktreeDefault,onChange:a=>n("deleteWorktreeDefault",a.target.checked),style:{accentColor:"var(--accent)"}})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsPreflightCommand")}),(0,L.jsx)("input",{value:h.preflightCommand??"",onChange:a=>n("preflightCommand",a.target.value||null),placeholder:d("tasks.settingsPreflightPlaceholder"),style:{...q,fontFamily:"var(--font-mono)",fontSize:11}})]}),(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:12},children:d("tasks.settingsInitCommand")}),(0,L.jsx)("input",{value:h.initCommand??"",onChange:a=>n("initCommand",a.target.value||null),placeholder:d("tasks.settingsInitPlaceholder"),style:{...q,fontFamily:"var(--font-mono)",fontSize:11}})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,paddingTop:4},children:[(0,L.jsx)("span",{style:{fontSize:12,fontWeight:500},children:d("tasks.settingsStagePrompts")}),w4.map(a=>(0,L.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("span",{style:{fontSize:11,color:"var(--text-muted)"},children:d(`tasks.stage.${a}`)}),(0,L.jsx)("input",{value:h.stagePrompts?.[a]??"",onChange:b=>n("stagePrompts",{...h.stagePrompts??{},[a]:b.target.value}),style:{...q,fontSize:11}})]},a))]}),j&&(0,L.jsx)("button",{type:"button",onClick:()=>void p(),style:{alignSelf:"flex-start",padding:"6px 12px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text-muted)",fontSize:12,cursor:"pointer"},children:d("tasks.settingsReset")})]}):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",padding:8},children:d("tasks.settingsNoProject")}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:4},children:[(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 14px",borderRadius:8,background:"none",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,cursor:"pointer"},children:d("i18n.cancel")}),(0,L.jsx)("button",{type:"button",onClick:()=>void o(),disabled:!f||l,style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("tasks.save")})]})]})]})})}function w6({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aK.s)();return a&&c?(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:970,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.45)"},onMouseDown:a=>{a.target===a.currentTarget&&b(!1)},children:(0,L.jsxs)("div",{style:{width:"min(520px, calc(100vw - 48px))",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:14,boxShadow:"0 16px 48px rgba(0,0,0,0.3)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px 0"},children:[(0,L.jsx)("h3",{style:{fontSize:15,fontWeight:600,margin:0},children:d("tasks.sessionTitle")}),(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),"aria-label":d("i18n.close"),style:{background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:4,display:"flex"},children:(0,L.jsx)(X,{size:16,"aria-hidden":"true"})})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"14px 16px 16px",fontSize:12},children:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10},children:[(0,L.jsx)("span",{style:{color:"var(--text-muted)"},children:d("tasks.sessionId")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:c.conversationId??"—"})]}),c.sessionFile?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:8,padding:10},children:[(0,L.jsx)("span",{style:{color:"var(--text-muted)"},children:d("tasks.sessionFile")}),(0,L.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:c.sessionFile})]}):null,(0,L.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.6},children:d("tasks.sessionHint")}),(0,L.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:(0,L.jsx)("button",{type:"button",onClick:()=>b(!1),style:{padding:"8px 16px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:d("i18n.close")})})]})]})}):null}let w7="__all__",w8={showCanceled:!1,showArchived:!1};function w9(){let{t:a}=(0,aK.s)(),{attentionCount:b}=wx();return(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,height:36,flexShrink:0,padding:"0 16px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,L.jsxs)("h1",{style:{margin:0,display:"flex",alignItems:"center",gap:6,fontSize:13,fontWeight:600},children:[(0,L.jsx)(u$,{size:15,color:"var(--text-muted)","aria-hidden":"true"}),a("tasks.title"),(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 8px",fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Beta"})]}),b>0?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,background:"rgba(239,68,68,0.12)",color:"#dc2626",padding:"1px 8px",fontSize:10,fontWeight:700},children:[b," ",a("tasks.attentionBadge")]}):null,(0,L.jsx)("div",{style:{flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:()=>window.dispatchEvent(new Event("pi:open-task-settings")),style:{display:"inline-flex",alignItems:"center",gap:5,height:26,padding:"0 10px",borderRadius:7,background:"none",border:"none",color:"var(--text-muted)",fontSize:12,cursor:"pointer"},title:a("tasks.settingsTitle"),children:[(0,L.jsx)(wB,{size:13,"aria-hidden":"true"}),a("tasks.settingsTitle")]})]})}function xa({activeProject:a}){let{t:b}=(0,aK.s)(),{tasks:d,projects:e,refetch:f}=wx(),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(()=>(function(){try{let a=window.localStorage.getItem("pi-tasks-board-filter");if(a){let b=JSON.parse(a);return{showCanceled:b.showCanceled??!1,showArchived:b.showArchived??!1}}}catch{}return w8})()),[k,l]=(0,M.useState)(!1),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(!1),q=(0,M.useRef)(null),r=(0,M.useRef)({x:0,y:0}),s=(0,M.useRef)(null),t=(0,M.useRef)(null),[u,v]=(0,M.useState)(null),w=(0,M.useRef)(null);w.current=u;let x=(0,M.useRef)(!1),y=(0,M.useRef)(!1),[z,A]=(0,M.useState)(()=>Date.now()),[B,C]=(0,M.useState)(!1),[D,E]=(0,M.useState)(null),[F,G]=(0,M.useState)(null),[H,I]=(0,M.useState)(null),[J,K]=(0,M.useState)(null),[N,O]=(0,M.useState)(!1),[P,Q]=(0,M.useState)(null),[R,S]=(0,M.useState)(!1),[U,V]=(0,M.useState)(null),[W,X]=(0,M.useState)("retry"),[Y,Z]=(0,M.useState)(!1),[$,_]=(0,M.useState)(null),[aa,ab]=(0,M.useState)(!1),[ac,ad]=(0,M.useState)(!1),[ae,af]=(0,M.useState)(null),[ag,ai]=(0,M.useState)(!1),aj=(0,M.useMemo)(()=>null==g?d:d.filter(a=>a.projectRoot===g),[d,g]),ak=(0,M.useMemo)(()=>(function(a,b,c=!1){let d={todo:[],inProgress:[],attention:[],done:[]};for(let e of a)("canceled"!==e.status||b)&&(null==e.archivedAt||c)&&d[function(a){switch(a){case"todo":case"queued":return"todo";case"preparing":case"running":return"inProgress";case"awaiting_input":case"review":case"merging":case"failed":return"attention";case"done":case"canceled":return"done"}}(e.status)].push(e);for(let a of wG)d[a].sort((a,b)=>(b.updatedAt??"").localeCompare(a.updatedAt??""));return d})(aj,i.showCanceled,i.showArchived),[aj,i]),al=(0,M.useMemo)(()=>{let a=ak.todo;if(null==u)return a;let b=new Map(a.map(a=>[a.id,a])),c=u.flatMap(a=>b.get(a)??[]);for(let b of a)u.includes(b.id)||c.push(b);return c},[ak.todo,u]),am=(0,M.useMemo)(()=>d.find(a=>a.id===H)??null,[d,H]),an=(0,M.useMemo)(()=>d.find(a=>a.id===ae)??null,[d,ae]),ao=(0,M.useCallback)(async a=>{try{await a()}catch(a){console.error("task action failed",a)}finally{f()}},[f]),ap=(0,M.useCallback)(a=>{null!=a.conversationId&&(af(a.id),ai(!0))},[af,ai]),aq=(0,M.useCallback)(a=>{K(a),O(!0)},[K,O]),ar=(0,M.useCallback)(()=>{E(null),C(!0)},[E,C]),as=(0,M.useCallback)((a,b)=>{let c=s.current,d=q.current;c&&d&&(c.style.transform=`translate3d(${a-d.dx}px, ${b-d.dy}px, 0)`)},[]),at=a=>{let b=a.currentTarget.getBoundingClientRect();q.current={dx:a.clientX-b.left,dy:a.clientY-b.top,width:b.width}},au=(0,M.useCallback)(a=>{if(n(null),p(!1),a){x.current=!1;return}requestAnimationFrame(()=>{x.current=!1})},[n,p]);(0,M.useCallback)(()=>{y.current=!0,v(null),au(!0)},[au,v]);let av=(0,M.useCallback)((a,b,c)=>{if(y.current){au(!0),v(null);return}let e=t.current?.getBoundingClientRect(),h=null!=e&&b>=e.left&&b<=e.right&&c>=e.top&&c<=e.bottom;if(au(!1),h){v(null);let b=d.find(b=>b.id===a.id);b?.status==="todo"&&null!=g&&ao(()=>(0,rj.oQ)(a.id,a.projectRoot,"start"));return}let i=w.current;null!=g&&null!=i&&(async()=>{try{await (0,rj.Lu)(g,i)}catch(a){console.error("reorder failed",a)}await f(),v(null)})()},[ao,au,g,f,d]),aw=(0,M.useCallback)(()=>{ao(async()=>{let a=await (0,rj.a5)(g);a>0&&console.log(`started ${a} tasks`)})},[ao,g]),ax=(0,M.useCallback)(()=>{let a=ak.done.filter(a=>null==a.archivedAt);0!==a.length&&ao(()=>Promise.all(a.map(a=>(0,rj.et)(a.id,a.projectRoot,!0))))},[ao,ak.done]),ay=+(i.showCanceled!==w8.showCanceled)+ +(i.showArchived!==w8.showArchived),az=d.length>0,aA=(0,M.useMemo)(()=>{let b=new Set(e);return a&&b.add(a),[...b].sort()},[e,a]),aB=(0,M.useMemo)(()=>{let a=new Map;for(let b of aA)a.set(b,b.split("/").filter(Boolean).pop()??b);return a},[aA]);return(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[az&&(0,L.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8,padding:"14px 16px 8px"},children:[(0,L.jsxs)("select",{value:g??w7,onChange:a=>h(a.target.value===w7?null:a.target.value),style:{height:30,borderRadius:999,padding:"0 10px",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,fontWeight:500,cursor:"pointer",maxWidth:"14rem"},"aria-label":b("tasks.allFolders"),children:[(0,L.jsx)("option",{value:w7,children:b("tasks.allFolders")}),aA.map(a=>(0,L.jsx)("option",{value:a,children:aB.get(a)??a},a))]}),(0,L.jsxs)("div",{style:{position:"relative"},children:[(0,L.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 12px",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:12,fontWeight:500,cursor:"pointer"},children:[(0,L.jsx)(wD,{size:13,"aria-hidden":"true"}),b("tasks.filter"),ay>0?(0,L.jsx)("span",{style:{borderRadius:999,background:"rgba(37,99,235,0.12)",color:"var(--accent)",padding:"1px 6px",fontSize:10,fontWeight:700},children:ay}):null]}),k&&(0,L.jsx)("div",{style:{position:"absolute",top:34,left:0,zIndex:50,width:200,borderRadius:12,padding:6,background:"var(--bg-panel)",border:"1px solid var(--border)",boxShadow:"0 8px 24px rgba(0,0,0,0.16)"},children:[["showCanceled",b("tasks.showCanceled")],["showArchived",b("tasks.showArchived")]].map(([a,b])=>(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderRadius:8,cursor:"pointer",fontSize:12},children:[(0,L.jsx)("input",{type:"checkbox",checked:i[a],onChange:b=>j(c=>({...c,[a]:b.target.checked})),style:{accentColor:"var(--accent)"}}),b]},a))})]}),(0,L.jsx)("div",{style:{flex:1}}),(0,L.jsxs)("button",{type:"button",onClick:aw,style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 12px",background:"none",border:"none",color:"var(--text)",fontSize:12,cursor:"pointer"},title:b("tasks.startAll"),children:[(0,L.jsx)(wF,{size:13,"aria-hidden":"true"}),b("tasks.startAll")]}),(0,L.jsxs)("button",{type:"button",onClick:ar,style:{display:"inline-flex",alignItems:"center",gap:6,height:30,borderRadius:999,padding:"0 14px",background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(ah,{size:13,weight:"bold","aria-hidden":"true"}),b("tasks.new")]})]}),az?(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowX:"auto"},children:(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:16,minWidth:"56rem",height:"100%",padding:"4px 16px 16px"},children:wJ.map(a=>{let c="todo"===a?al:ak[a],d=wK[a],e=a=>(0,L.jsx)(wT,{task:a,folderName:a.projectRoot?aB.get(a.projectRoot)??null:null,now:z,onOpen:()=>{x.current||I(a.id)},onStart:()=>void ao(()=>(0,rj.oQ)(a.id,a.projectRoot,"start")),onCancel:()=>{Q(a),S(!0)},onRetry:()=>{V(a),X("retry"),Z(!0)},onRequeue:()=>{V(a),X("requeue"),Z(!0)},onViewSession:()=>ap(a),onMerge:()=>{wH(a)?(_(a),ab(!0)):aq(a)},onArchive:()=>void ao(()=>(0,rj.et)(a.id,a.projectRoot,null==a.archivedAt)),onEdit:()=>{E(a),C(!0)}},a.id);return(0,L.jsxs)("div",{ref:"inProgress"===a?t:void 0,style:{display:"flex",flexDirection:"column",minHeight:0,gap:8},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,height:24,flexShrink:0,padding:"0 2px"},children:[(0,L.jsx)("span",{style:{width:3,height:14,borderRadius:999,background:d.marker,flexShrink:0},"aria-hidden":"true"}),(0,L.jsx)("h2",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:b(`tasks.col${a[0].toUpperCase()}${a.slice(1)}`)}),(0,L.jsx)("span",{style:{borderRadius:999,background:"var(--bg-hover)",padding:"1px 8px",fontSize:10,fontWeight:600,color:"var(--text-muted)"},children:c.length}),(0,L.jsx)("div",{style:{flex:1}}),"done"===a&&ak.done.some(a=>null==a.archivedAt)?(0,L.jsx)("button",{type:"button",onClick:ax,style:{background:"none",border:"none",cursor:"pointer",fontSize:11,color:"var(--text-muted)",padding:"2px 6px",borderRadius:6},children:b("tasks.archiveAllDone")}):null]}),0===c.length?(0,L.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,borderRadius:12,border:"1px dashed var(--border)",padding:16,textAlign:"center",..."inProgress"===a&&m?o?{borderColor:"var(--accent)",background:"rgba(37,99,235,0.08)"}:{borderColor:"var(--accent)"}:{}},children:(0,L.jsx)("p",{style:{fontSize:12,color:"var(--text-muted)"},children:b(`tasks.emptyCol${a[0].toUpperCase()}${a.slice(1)}`)})}):(0,L.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",borderRadius:12,transition:"background 0.15s, box-shadow 0.15s",..."inProgress"===a&&m?o?{background:"rgba(37,99,235,0.06)",boxShadow:"inset 0 0 0 2px var(--accent)"}:{boxShadow:"inset 0 0 0 1px rgba(37,99,235,0.25)"}:{}},children:(0,L.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16,paddingBottom:4},children:c.map(b=>"todo"===a?(0,L.jsx)("div",{draggable:!0,onDragStart:a=>{var c,d;a.dataTransfer.effectAllowed="move",c=a.clientX,d=a.clientY,x.current=!0,y.current=!1,r.current={x:c,y:d},n({task:b,width:q.current?.width??280})},onDrag:a=>{var b,c;let d,e;return r.current={x:b=a.clientX,y:c=a.clientY},as(b,c),void((e=null!=(d=t.current?.getBoundingClientRect())&&b>=d.left&&b<=d.right&&c>=d.top&&c<=d.bottom)!==o&&p(e))},onDragEnd:a=>av(b,a.clientX,a.clientY),onPointerDown:at,style:{cursor:"grab",opacity:m?.task.id===b.id?.4:1},children:e(b)},b.id):(0,L.jsx)("div",{children:e(b)},b.id))})})]},a)})})}):(0,L.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,padding:32,textAlign:"center"},children:[(0,L.jsx)(u$,{size:40,color:"var(--text-dim)",opacity:.4,"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)("p",{style:{fontSize:14,fontWeight:500,color:"var(--text)"},children:b("tasks.empty")}),(0,L.jsx)("p",{style:{maxWidth:320,fontSize:12,color:"var(--text-muted)",lineHeight:1.6},children:b("tasks.emptyHint")})]}),(0,L.jsxs)("button",{type:"button",onClick:ar,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"7px 14px",borderRadius:8,background:"var(--accent)",color:"#fff",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,L.jsx)(ah,{size:13,weight:"bold","aria-hidden":"true"}),b("tasks.new")]})]}),(0,L.jsx)(w1,{open:B,onOpenChange:C,task:D,defaultProject:F?.projectRoot??g??a??null,projects:aA,prefillTitle:F?F.text.slice(0,80):void 0,prefillPrompt:F?F.text:void 0,onSubmit:async(a,b,d)=>{await ao(async()=>{let{createTaskApi:e}=await Promise.resolve().then(c.bind(c,85596)),{updateTaskApi:f}=await Promise.resolve().then(c.bind(c,85596));D?await f(D.id,a,{title:b,config:d}):await e({projectRoot:a,title:b,config:d})}),C(!1),G(null)}}),(0,L.jsx)(w$,{open:null!=H,onOpenChange:a=>{a||I(null)},task:am,onViewSession:ap,onMerge:aq,onEdit:a=>{E(a),C(!0)},onCancel:a=>{Q(a),S(!0)},onRetry:a=>{V(a),X("retry"),Z(!0)},onRequeue:a=>{V(a),X("requeue"),Z(!0)},onComplete:a=>{_(a),ab(!0)}}),(0,L.jsx)(w2,{open:N,onOpenChange:O,task:J}),(0,L.jsx)(wU,{open:R,onOpenChange:S,task:P}),(0,L.jsx)(w3,{open:Y,onOpenChange:Z,task:U,kind:W}),(0,L.jsx)(wV,{open:aa,onOpenChange:ab,task:$}),(0,L.jsx)(w6,{open:ag&&null!=an,onOpenChange:ai,task:an}),(0,L.jsx)(w5,{open:ac,onOpenChange:ad,projectRoot:g}),m?(0,T.createPortal)((0,L.jsx)("div",{ref:s,style:{position:"fixed",left:0,top:0,zIndex:999,pointerEvents:"none",width:m.width,willChange:"transform"},"aria-hidden":"true",children:(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,borderRadius:12,border:o?"1px solid var(--accent)":"1px solid var(--border)",background:"var(--bg-panel)",padding:12,boxShadow:"0 8px 24px rgba(0,0,0,0.2)",transform:"rotate(-1deg)"},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8},children:[(0,L.jsx)("span",{style:{minWidth:0,overflowWrap:"break-word",fontSize:13,fontWeight:500},children:m.task.title}),(0,L.jsx)(wR,{task:m.task})]}),o?(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,fontWeight:600,color:"var(--accent)"},children:[(0,L.jsx)(wF,{size:11,weight:"bold","aria-hidden":"true"}),b("tasks.dropToStart")]}):null]})}),document.body):null]})}let xb=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,36H40A20,20,0,0,0,20,56V200a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A20,20,0,0,0,216,36ZM44,60H76V196H44ZM212,196H100V60H212Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M88,48V208H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8Z",opacity:"0.2"}),M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM40,56H80V200H40ZM216,200H96V56H216V200Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,160H88V56H216V200Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,42H40A14,14,0,0,0,26,56V200a14,14,0,0,0,14,14H216a14,14,0,0,0,14-14V56A14,14,0,0,0,216,42ZM38,200V56a2,2,0,0,1,2-2H82V202H40A2,2,0,0,1,38,200Zm180,0a2,2,0,0,1-2,2H94V54H216a2,2,0,0,1,2,2Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM40,56H80V200H40ZM216,200H96V56H216V200Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,44H40A12,12,0,0,0,28,56V200a12,12,0,0,0,12,12H216a12,12,0,0,0,12-12V56A12,12,0,0,0,216,44ZM36,200V56a4,4,0,0,1,4-4H84V204H40A4,4,0,0,1,36,200Zm184,0a4,4,0,0,1-4,4H92V52H216a4,4,0,0,1,4,4Z"}))]]),xc=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:xb}));function xd({isDark:a,toggleTheme:b,translate:c}){let[d,e]=(0,M.useState)(!1),f=c(d?a?"desktop.switchToLight":"desktop.switchToDark":"desktop.switchToLight");return(0,L.jsx)("button",{className:"app-no-drag",suppressHydrationWarning:!0,onClick:a=>{let c=a.currentTarget.getBoundingClientRect();b({x:c.left+c.width/2,y:c.top+c.height/2})},title:f,"aria-label":f,"aria-pressed":!d||a,style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:d?a?(0,L.jsx)(uP,{size:16,"aria-hidden":"true"}):(0,L.jsx)(uN,{size:16,"aria-hidden":"true"}):(0,L.jsx)(uP,{size:16,"aria-hidden":"true"})})}function xe({topBarRef:a,sidebarOpen:b,onSidebarToggle:c,isDark:d,toggleTheme:e,isMobile:f,showTasks:g,tasksBoardEnabled:h,onToggleTasks:i,systemPrompt:j,activeTopPanel:k,topPanelPos:l,sessionStats:m,contextUsage:n,copiedSessionField:o,onCopySessionField:p,rightPanelOpen:q,onToggleFilePanel:r,onOpenSettings:s,sessionTitle:t,onWorkspaceControlsHostChange:u,onTitleRightHostChange:v}){let w,x,y,z,A,B,C,D,{t:E}=(0,aK.s)(),[F,G]=(0,M.useState)(!1),[H,I]=(0,M.useState)(!1);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{ref:a,className:"app-title-bar",style:{display:"flex",alignItems:"center",flexShrink:0,borderBottom:"1px solid var(--border)",height:36,background:"var(--bg-panel)",position:"relative",zIndex:600},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",minWidth:0,height:"100%",flex:"0 1 auto"},children:[(0,L.jsx)("button",{className:"app-no-drag",onClick:c,title:b?E("desktop.hideSidebar"):E("desktop.showSidebar"),"aria-label":b?E("desktop.hideSidebar"):E("desktop.showSidebar"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,flexShrink:0,background:b?"var(--bg-selected)":"none",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=b?"var(--bg-selected)":"none",a.currentTarget.style.color=b?"var(--text)":"var(--text-muted)"},children:b?(0,L.jsx)(xc,{size:16,"aria-hidden":"true"}):(0,L.jsx)(an,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("div",{className:"app-no-drag",ref:u,style:{flex:"0 1 auto",minWidth:0,maxWidth:"min(60vw, 820px)",height:"100%",display:"flex",alignItems:"center",padding:"0 8px 0 0",overflow:"visible"}})]}),(0,L.jsxs)("div",{className:"app-title-drag",style:{flex:1,minWidth:0,display:"flex",alignItems:"center",justifyContent:"center",height:"100%",padding:"0 12px",userSelect:"none"},children:[t&&(0,L.jsx)("button",{type:"button",onClick:()=>{f&&G(!0)},title:f?t:void 0,style:{display:"block",maxWidth:"100%",fontSize:12,fontWeight:500,color:"var(--text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:"none",border:"none",cursor:"pointer",padding:"2px 6px",borderRadius:5},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.background="none"},children:t}),(0,L.jsx)("div",{className:"app-no-drag",ref:v,style:{flexShrink:0,display:"flex",alignItems:"center",marginLeft:4}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",minWidth:0,height:"100%",flexShrink:0},children:[!f&&h&&(0,L.jsx)("button",{className:"app-no-drag",onClick:i,title:g?E("desktop.hideTaskBoard"):E("desktop.showTaskBoard"),"aria-label":g?E("desktop.hideTaskBoard"):E("desktop.showTaskBoard"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:g?"var(--bg-selected)":"none",border:"none",color:g?"var(--text)":"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=g?"var(--bg-selected)":"none",a.currentTarget.style.color=g?"var(--text)":"var(--text-muted)"},children:(0,L.jsx)(u$,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("button",{className:"app-no-drag",onClick:r,title:q?E("desktop.hideFilePanel"):E("desktop.showFilePanel"),"aria-label":q?E("desktop.hideFilePanel"):E("desktop.showFilePanel"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:q?"var(--bg-selected)":"none",border:"none",color:q?"var(--text)":"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=q?"var(--bg-selected)":"none",a.currentTarget.style.color=q?"var(--text)":"var(--text-muted)"},children:(0,L.jsx)(xc,{size:16,"aria-hidden":"true",style:{transform:"scaleX(-1)"}})}),(0,L.jsx)(xd,{isDark:d,toggleTheme:e,translate:E}),H&&(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:()=>{window.location.href="piweb-switch://manage"},title:E("desktop.serverSwitch"),"aria-label":E("desktop.serverSwitch"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsx)(ug,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:s,title:E("desktop.settings"),"aria-label":E("desktop.settings"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",flexShrink:0,transition:"background 0.12s, color 0.12s"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsx)(wB,{size:16,"aria-hidden":"true"})})]})]}),k&&l&&(0,L.jsxs)("div",{style:{position:"fixed",top:l.top,left:l.left,width:l.width,maxHeight:`calc(100dvh - ${l.top}px)`,overflowY:"auto",zIndex:500},children:["system"===k&&(0,L.jsx)("div",{style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:j?(0,L.jsx)("div",{style:{maxHeight:"min(600px, 75vh)",overflowY:"auto",padding:"12px 16px",color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)"},children:j}):""===j?(0,L.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:"System prompt is empty (tools are disabled)"}):(0,L.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:"Send a message to load the system prompt"})}),"session"===k&&(0,L.jsx)("div",{style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)",boxShadow:"0 10px 28px rgba(0,0,0,0.10)",padding:"12px 16px"},children:m?(w=[...m.sessionName?[{label:E("desktop.name"),value:m.sessionName,copyField:null}]:[],{label:E("desktop.sessionInfoFile"),value:m.sessionFile??E("desktop.sessionInfoInMemory"),copyField:"file"},{label:E("desktop.sessionInfoId"),value:m.sessionId,copyField:"id"}],x=[[E("desktop.sessionInfoUser"),m.userMessages.toLocaleString()],[E("desktop.sessionInfoAssistant"),m.assistantMessages.toLocaleString()],[E("desktop.sessionInfoToolCalls"),m.toolCalls.toLocaleString()],[E("desktop.sessionInfoToolResults"),m.toolResults.toLocaleString()],[E("desktop.sessionInfoTotal"),m.totalMessages.toLocaleString()]],y=[[E("desktop.sessionInfoInput"),m.tokens.input.toLocaleString()],[E("desktop.sessionInfoOutput"),m.tokens.output.toLocaleString()],...m.tokens.cacheRead>0?[[E("desktop.sessionInfoCacheRead"),m.tokens.cacheRead.toLocaleString()]]:[],...m.tokens.cacheWrite>0?[[E("desktop.sessionInfoCacheWrite"),m.tokens.cacheWrite.toLocaleString()]]:[],[E("desktop.sessionInfoTotal"),m.tokens.total.toLocaleString()]],z=n??m.contextUsage,B=[...m.cost>0?[[E("desktop.sessionInfoCost"),`$${m.cost.toFixed(4)}`]]:[],...z?.contextWindow?[[E("desktop.sessionInfoContext"),`${null!==z.percent?`${z.percent.toFixed(1)}%`:"?"} / ${(A=z.contextWindow)>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${(A/1e3).toFixed(0)}k`:String(A)}`]]:[]],C=(a,b,c="left",d=!1)=>(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:a}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:d?"max-content max-content":"auto minmax(0, 1fr)",columnGap:d?14:12,rowGap:4,justifyContent:d?"start":void 0},children:b.map(([b,e])=>(0,L.jsxs)("div",{style:{display:"contents"},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:b}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:d?"normal":"anywhere",textAlign:c,whiteSpace:"right"===c?"nowrap":"normal"},children:e})]},`${a}:${b}`))})]}),D=(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:E("desktop.sessionInfoTitle")}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:w.map(a=>{var b,c;let d;return(0,L.jsxs)("div",{style:{display:"contents"},children:[(0,L.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:a.label}),(0,L.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"},children:a.value}),(0,L.jsx)("div",{children:a.copyField?(b=a.copyField,c=a.value,d=o===b,(0,L.jsx)("button",{type:"button",title:d?E("desktop.copied"):"file"===b?E("desktop.copyFilePath"):E("desktop.copySessionId"),onClick:()=>p(b,c),style:{alignSelf:"start",display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginTop:-2,color:d?"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:a=>{a.currentTarget.style.color="var(--accent)",a.currentTarget.style.borderColor="var(--accent)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color=d?"var(--accent)":"var(--text-dim)",a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="transparent"},children:d?(0,L.jsx)(_,{size:12,"aria-hidden":"true"}):(0,L.jsx)(cf,{size:12,"aria-hidden":"true"})})):null})]},`session-info:${a.label}`)})})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"minmax(360px, 1.7fr) minmax(140px, 0.55fr) minmax(190px, 0.75fr)",gap:f?16:24,fontSize:12,lineHeight:1.5,fontFamily:"var(--font-mono)"},children:[D,C(E("desktop.sessionInfoMessages"),x),C(E("desktop.sessionInfoTokens"),[...y,...B],"right",!0)]})):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:E("desktop.sendMessageForSessionInfo")})})]}),F&&t&&(0,L.jsx)("div",{style:{position:"fixed",inset:0,zIndex:3e3,display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:48,background:"rgba(0,0,0,0.35)"},onMouseDown:a=>{a.target===a.currentTarget&&G(!1)},children:(0,L.jsx)("div",{role:"dialog","aria-label":t,style:{maxWidth:"min(560px, calc(100vw - 32px))",maxHeight:"min(60vh, 400px)",overflow:"auto",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:12,boxShadow:"0 16px 40px rgba(0,0,0,0.3)",padding:"14px 18px",fontSize:13,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word",whiteSpace:"pre-wrap"},children:t})})]})}function xf({cwd:a,busy:b,error:c,onCancelAction:d,onConfirmAction:e}){let{t:f}=(0,aK.s)();return(0,L.jsx)("div",{role:"presentation",style:{position:"fixed",inset:0,zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center",padding:16,background:"rgba(0, 0, 0, 0.4)"},onClick:a=>{b||a.target!==a.currentTarget||d()},children:(0,L.jsxs)("section",{role:"dialog","aria-modal":"true","aria-labelledby":"project-trust-title",style:{width:440,maxWidth:"100%",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg-panel)",boxShadow:"0 12px 36px rgba(0, 0, 0, 0.24)",overflow:"hidden"},children:[(0,L.jsxs)("div",{style:{display:"flex",gap:12,padding:"18px 18px 14px"},children:[(0,L.jsx)(qe,{size:21,weight:"duotone",color:"var(--accent-orange)",style:{flexShrink:0,marginTop:1},"aria-hidden":"true"}),(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("h2",{id:"project-trust-title",style:{margin:0,fontSize:15,fontWeight:700,color:"var(--text)"},children:f("desktop.trustProjectTitle")}),(0,L.jsx)("p",{style:{margin:"7px 0 0",fontSize:12,lineHeight:1.6,color:"var(--text-muted)"},children:f("desktop.trustProjectBody")}),(0,L.jsx)("code",{style:{display:"block",marginTop:10,padding:"8px 10px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11,overflowWrap:"anywhere"},children:a}),c&&(0,L.jsx)("div",{role:"alert",style:{marginTop:10,color:"var(--accent-red)",fontSize:12,lineHeight:1.5},children:c})]})]}),(0,L.jsxs)("footer",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--border)"},children:[(0,L.jsx)("button",{type:"button",onClick:d,disabled:b,style:{height:32,padding:"0 12px",border:"1px solid var(--border)",borderRadius:5,background:"transparent",color:"var(--text-muted)",cursor:b?"not-allowed":"pointer",fontSize:12},children:f("desktop.cancel")}),(0,L.jsx)("button",{type:"button",onClick:e,disabled:b,style:{height:32,padding:"0 12px",border:"1px solid var(--accent)",borderRadius:5,background:"var(--accent)",color:"white",cursor:b?"wait":"pointer",opacity:b?.7:1,fontSize:12,fontWeight:600},children:f(b?"desktop.trustingProject":"desktop.trustProject")})]})]})})}function xg(a,b,c){let d=Number.isFinite(a)?a:b,e=Math.max(b,c);return Math.round(Math.max(b,Math.min(e,d)))}function xh(a){return xg(.42*a,360,640)}function xi(a){let{ariaLabel:b,cssVariable:c,defaultWidth:d,getDefaultWidth:e,getMaxWidth:f,growthDirection:g,maxWidth:h,minWidth:i,storageKey:j,widthRef:k}=a,l=(0,M.useRef)(null),m=(0,M.useRef)(null);(0,M.useRef)(!1);let[n,o]=(0,M.useState)(d),[p,q]=(0,M.useState)(!1),r=(0,M.useCallback)(()=>Math.min(h,Math.max(i,f())),[f,h,i]),s=(0,M.useCallback)(a=>xg(a,i,r()),[r,i]),t=(0,M.useCallback)(a=>{k.current=a;let b=`${a}px`;l.current?.style.setProperty(c,b),l.current?.parentElement?.style.setProperty(c,b)},[c,k]),u=(0,M.useCallback)((a,b={})=>{let{forcePersist:c=!1,persist:d=!0}=b,e=s(a),f=e!==k.current;return t(e),o(e),d&&(f||c)&&function(a,b){try{window.localStorage.setItem(a,String(b))}catch{}}(j,e),e},[t,s,j,k]),v=(0,M.useCallback)(a=>{document.body.style.cursor=a.previousCursor,document.body.style.userSelect=a.previousUserSelect},[]),w=(0,M.useCallback)(a=>{let b=m.current;if(b&&b.pointerId===a){m.current=null,v(b),q(!1),u(k.current,{forcePersist:!0});try{b.target.hasPointerCapture(a)&&b.target.releasePointerCapture(a)}catch{}}},[u,v,k]),x=(0,M.useCallback)(a=>{if("mouse"===a.pointerType&&0!==a.button)return;a.preventDefault(),a.stopPropagation();let b=m.current;b&&w(b.pointerId);let c=a.currentTarget;c.focus({preventScroll:!0}),c.setPointerCapture(a.pointerId),m.current={pointerId:a.pointerId,startX:a.clientX,startWidth:k.current,target:c,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor="col-resize",document.body.style.userSelect="none",q(!0)},[w,k]),y=(0,M.useCallback)(a=>{let b=m.current;if(!b||b.pointerId!==a.pointerId)return;if("mouse"===a.pointerType&&0===a.buttons)return void w(a.pointerId);a.preventDefault();let c="right"===g?1:-1,d=s(b.startWidth+(a.clientX-b.startX)*c);t(d),a.currentTarget.setAttribute("aria-valuenow",String(d)),a.currentTarget.setAttribute("aria-valuetext",`${d} px`)},[t,s,w,g]),z=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),A=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),B=(0,M.useCallback)(a=>{w(a.pointerId)},[w]),C=(0,M.useCallback)(()=>{u(e?.()??d,{forcePersist:!0})},[u,d,e]),D=(0,M.useCallback)(()=>{u(k.current)},[u,k]),E=(0,M.useCallback)(a=>{let b=a.shiftKey?32:12,c="right"===g?"ArrowRight":"ArrowLeft",d="right"===g?"ArrowLeft":"ArrowRight";a.key===c?(a.preventDefault(),u(k.current+b,{forcePersist:!0})):a.key===d?(a.preventDefault(),u(k.current-b,{forcePersist:!0})):"Home"===a.key?(a.preventDefault(),u(i,{forcePersist:!0})):"End"===a.key?(a.preventDefault(),u(r(),{forcePersist:!0})):"Enter"===a.key&&(a.preventDefault(),C())},[u,r,g,i,C,k]);return{isResizing:p,panelRef:l,reclampWidth:D,separatorProps:{"aria-label":b,"aria-orientation":"vertical","aria-valuemax":r(),"aria-valuemin":i,"aria-valuenow":n,"aria-valuetext":`${n} px`,onDoubleClick:C,onKeyDown:E,onLostPointerCapture:B,onPointerCancel:A,onPointerDown:x,onPointerMove:y,onPointerUp:z,role:"separator",tabIndex:0},width:n}}function xj(){let a,b,c=(0,S.useRouter)(),d=(0,S.useSearchParams)(),e=(0,M.useMemo)(()=>{let a;return{requestedCwd:a=d.get("cwd")?.trim()||null,sessionId:a?null:d.get("session")}},[d]),{isDark:f,toggleTheme:g}=lk(),{t:h}=(0,aK.s)(),i=aO(),[j,k]=(0,M.useState)(null),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(0),[p,q]=(0,M.useState)(0),[r,s]=(0,M.useState)(0),[t,u]=(0,M.useState)(!1),[v,w]=(0,M.useState)("models"),[x,y]=(0,M.useState)(0),[z,A]=(0,M.useState)(null),[B,C]=(0,M.useState)(!1),[D,E]=(0,M.useState)(!1),[F,G]=(0,M.useState)(null),[H,I]=(0,M.useState)(!0),[J,K]=(0,M.useState)(!1),N=(0,M.useRef)(null),O=(0,M.useRef)(null),[P,Q]=(0,M.useState)(null),[T,U]=(0,M.useState)(null),[V,W]=(0,M.useState)(null),[X,Y]=(0,M.useState)(null),Z=(0,M.useCallback)(a=>{Y(a)},[]),[$,_]=(0,M.useState)(null),aa=(0,M.useCallback)(a=>{_(a)},[]),[ab,ac]=(0,M.useState)([]),ad=(0,M.useCallback)(a=>{ac(a)},[]),ae=ab.filter(a=>"running"===a.status).length,[af,ag]=(0,M.useState)(null),ah=(0,M.useRef)(null),ai=(0,M.useCallback)((a,b)=>{ll(b).then(()=>{ah.current&&clearTimeout(ah.current),ag(a),ah.current=setTimeout(()=>ag(null),1400)})},[]),[aj,ak]=(0,M.useState)(null),al=(0,M.useCallback)(a=>{ak(a)},[]),[am,an]=(0,M.useState)(null),[ao,ap]=(0,M.useState)(null),aq=(0,M.useCallback)(()=>{i&&I(!1),an("session")},[i]),ar=(0,M.useCallback)(()=>{i&&an(null),I(a=>!a)},[i]),[as,at]=(0,M.useState)([]),[au,av]=(0,M.useState)(null),[aw,ax]=(0,M.useState)(!1),[ay,az]=(0,M.useState)(!1),[aA,aB]=(0,M.useState)(null),aC=(0,M.useCallback)(a=>{aB(a??null),az(!0),ax(!0),i&&I(!1)},[i]),aD=(0,M.useCallback)(()=>{az(!1),aB(null)},[]),aE=(0,M.useRef)(260),aF=(0,M.useRef)(xh(1366)),aG=(0,M.useCallback)(()=>xh(1366),[]),aH=(0,M.useCallback)(()=>480,[aw]),aI=(0,M.useCallback)(()=>1200,[H]),aJ=xi({ariaLabel:h("desktop.resizeSidebar"),cssVariable:"--sidebar-width",defaultWidth:260,getMaxWidth:aH,growthDirection:"right",maxWidth:480,minWidth:180,storageKey:"pi-sidebar-width",widthRef:aE}),aL=xi({ariaLabel:h("desktop.resizeFilePanel"),cssVariable:"--right-panel-width",defaultWidth:xh(1366),getDefaultWidth:aG,getMaxWidth:aI,growthDirection:"left",maxWidth:1200,minWidth:300,storageKey:"pi-right-panel-width",widthRef:aF});aJ.reclampWidth,aL.reclampWidth;let aM=(0,M.useCallback)((a,b)=>{N.current?.insertText(ri(a,b))},[]),aN=(0,M.useCallback)(a=>{let b=a.map(a=>ri(a,!1)).join("");b&&N.current?.insertText(b)},[]),aP=(0,M.useCallback)((a,b,c)=>{let d,e,f,g;N.current?.insertText((d=Math.max(1,Math.min(b,c)),e=Math.max(1,Math.max(b,c)),f=a.includes(" ")?`@"${a}"`:`@${a}`,g=d===e?`:${d}`:`:${d}-${e}`,`${f}${g} `))},[]),[aQ,aR]=(0,M.useState)(()=>e.sessionId),[aS,aT]=(0,M.useState)(null),[aU,aV]=(0,M.useState)(()=>e.requestedCwd?"validating":"idle"),[aW,aX]=(0,M.useState)(null),[aY,aZ]=(0,M.useState)(()=>!aQ),a$=(0,M.useRef)(!1),a_=(0,M.useRef)(new Map),[a0,a1]=(0,M.useState)(null);(0,M.useRef)("");let a2=(0,M.useCallback)((a,b)=>{if(!a)return;if(aT(a),a$.current&&j&&bu(j.projectRoot??j.cwd,b??a)){if(a$.current=!1,j){let a=j.projectRoot??j.cwd;a&&a_.current.set(a,j.id)}return}a$.current=!1;let c=b??a;if(j&&bu(j.projectRoot??j.cwd,c)){(j.projectRoot??j.cwd)&&a_.current.set(c,j.id);return}if(j){let a=j.projectRoot??j.cwd;a&&a_.current.set(a,j.id)}k(null),m(b=>b&&b!==a?null:b),q(a=>a+1),Y(null),an(null),window.history.replaceState(null,"","/");let d=a_.current.get(c);a1(d?{projectRoot:c,sessionId:d}:null)},[j]),a3=(0,M.useCallback)((a,b=!1)=>{if(b||a1(null),!b&&j){let b=bu(j.projectRoot??j.cwd,a.projectRoot??a.cwd);if(j.id===a.id&&b){i&&I(!1);return}}let c=a.projectRoot??a.cwd;c&&a_.current.set(c,a.id),m(null),k(a),q(a=>a+1),Y(null),aZ(!0),i&&!b&&I(!1),b&&(a$.current=!0),b||window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`)},[i,j]);(0,M.useRef)(()=>{});let a4=(0,M.useCallback)(a=>{fetch("/api/sessions").then(a=>a.ok?a.json():null).then(b=>{let c=b?.sessions.find(b=>b.id===a);c&&k(b=>!b||b.id!==a||b.projectRoot&&b.name?b:c)}).catch(()=>{})},[]),a5=(0,M.useCallback)((a,b)=>{a1(null),k(null),m(b),q(a=>a+1),Y(null),an(null),i&&I(!1),window.history.replaceState(null,"","/")},[c,i]);!function(a){let{onNewSession:b,activeCwd:c}=a}({onNewSession:a=>a5(`kb-${Date.now()}`,a),activeCwd:aS});let a6=(0,M.useCallback)(a=>{m(null),a1(null);let b=a.projectRoot??a.cwd;b&&a_.current.set(b,a.id),k(a),a.cwd&&aT(a.cwd),o(a=>a+1),a4(a.id),window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`),window.setTimeout(()=>o(a=>a+1),1200)},[c,a4]),a7=(0,M.useCallback)(()=>{o(a=>a+1),s(a=>a+1)},[]),a8=(0,M.useCallback)(a=>{o(a=>a+1),q(a=>a+1),m(null),a1(null),k(b=>{let c={...b??{path:"",cwd:"",created:"",modified:"",messageCount:0,firstMessage:""},id:a},d=c.projectRoot??c.cwd;return d&&a_.current.set(d,a),c}),a4(a),window.history.replaceState(null,"",`?session=${encodeURIComponent(a)}`)},[c,a4]),a9=(0,M.useCallback)(()=>{aZ(!0)},[]),ba=(0,M.useCallback)(a=>{if(o(a=>a+1),j?.id===a){let a=j.cwd;k(null),m(a??null),q(a=>a+1),Y(null),an(null),window.history.replaceState(null,"","/")}},[c,j]),bb=(0,M.useCallback)((a,b,c,d)=>{let e="string"==typeof c||null===c?c:void 0,f="object"==typeof c&&null!==c?c:d,g=`file:${a}`;at(c=>{let d=c.find(a=>a.id===g);return d?e&&d.sourceSessionId!==e||f?.initialDisplayMode&&d.initialDisplayMode!==f.initialDisplayMode?c.map(a=>a.id===g?{...a,sourceSessionId:e??a.sourceSessionId,initialDisplayMode:f?.initialDisplayMode??a.initialDisplayMode}:a):c:[...c,{id:g,label:b,filePath:a,sourceSessionId:e,initialDisplayMode:f?.initialDisplayMode}]}),av(g),ax(!0),i&&I(!1)},[i]),bd=(0,M.useCallback)(a=>{bb(a,bc(a),j?.id??null)},[bb,j?.id]),be=(0,M.useCallback)(a=>{at(b=>{let c=b.filter(b=>b.id!==a);return 0===c.length&&ax(!1),c}),av(b=>{if(b!==a)return b;let c=as.filter(b=>b.id!==a);return c.length>0?c[c.length-1].id:null})},[as]),bf=j?bG(j.name||$?.sessionName)||j.firstMessage.slice(0,50)||j.id.slice(0,12):(a=aS??l)?a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()||a:null,bg=(0,M.useCallback)(()=>{j&&window.open(`/api/sessions/${encodeURIComponent(j.id)}/export?inline=1`,"_blank","noopener,noreferrer")},[j]),bh=l??(null===j&&aS?aS:null),bi="validating"!==aU&&"error"!==aU&&(null!==j||null!==bh),bj=j?.cwd??bh,[bk,bl]=(0,M.useState)(!1),bm=(0,M.useCallback)(()=>{i||bl(a=>!a)},[i]),[bn,bo]=(0,M.useState)(!0),bp=aY&&!bi,bq=(0,M.useCallback)(async()=>{if(bj&&!D){E(!0),G(null);try{let a=await fetch("/api/project-trust",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:bj})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);A(b),C(!1),y(a=>a+1),q(a=>a+1)}catch(a){G(a instanceof Error?a.message:String(a))}finally{E(!1)}}},[D,bj]),br=as.find(a=>a.id===au)??null,bs=aS??j?.cwd??l,bt=(0,M.useCallback)(a=>{w(a),u(!0)},[]),bv=(0,L.jsx)(L.Fragment,{children:(0,L.jsx)(bO,{selectedSessionId:j?.id??null,onSelectSession:a3,onNewSession:a5,initialSessionId:aQ,onInitialRestoreDone:a9,refreshKey:n,onSessionDeleted:ba,selectedCwd:j?.cwd??l??null,onCwdChange:a2,onOpenFile:bb,selectedSessionStats:$,onOpenSettings:a=>{bt(["models","skills","plugins","chat","features","logs"].includes(a)?a:"models")},explorerRefreshKey:r,onAtMention:aM,onAtMentions:aN,workspaceControlsHosts:{title:P,welcome:V,titleRight:T},showWorkspaceControls:!0})});return(0,L.jsxs)(wy,{children:[(0,L.jsx)("style",{children:`
|
|
38
38
|
@media (max-width: 640px) {
|
|
39
39
|
.sidebar-overlay-backdrop.sidebar-mobile-pending {
|
|
40
40
|
opacity: 0 !important;
|