@qt4798/pi-web 0.14.4 → 0.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +22 -22
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/required-server-files.js +1 -1
  5. package/.next/required-server-files.json +1 -1
  6. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +1 -1
  14. package/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/api/app-update/route.js +1 -1
  19. package/.next/server/app/index.html +1 -1
  20. package/.next/server/app/index.rsc +3 -3
  21. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  23. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  24. package/.next/server/app/page.js +1 -1
  25. package/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app-paths-manifest.json +22 -22
  27. package/.next/server/chunks/7915.js +1 -1
  28. package/.next/server/middleware-build-manifest.js +1 -1
  29. package/.next/server/pages/404.html +1 -1
  30. package/.next/server/pages/500.html +1 -1
  31. package/.next/static/chunks/app/{page-bcc0e2ed5b5f6035.js → page-687fb0d7531bf538.js} +1 -1
  32. package/.next/trace +8 -8
  33. package/.next/trace-build +1 -1
  34. package/package.json +1 -1
  35. /package/.next/static/{h9xeO9wlQinP87V3yuXj6 → eHjtdT0tG0uXlGPgazDCc}/_buildManifest.js +0 -0
  36. /package/.next/static/{h9xeO9wlQinP87V3yuXj6 → eHjtdT0tG0uXlGPgazDCc}/_ssgManifest.js +0 -0
@@ -33,7 +33,7 @@ ${a}`,p=(0,L.jsx)("button",{onClick:()=>f(a=>!a),disabled:b,title:c(b?"desktop.m
33
33
 
34
34
  Goal: ${c}`:bP)}return b.join("\n\n")}({collaborationMode:au.current,tokenMode:av.current,goalText:"goal"===au.current?aw.current??void 0:void 0}),k=j||!am.current||h?"":p3,l=j||k,n=[au.current,av.current,am.current?"legacy-plan":"",l?String(l.length):""].join("|"),o=b?.id??"new";l&&(ax.current.sessionKey!==o||ax.current.signature!==n)?(ax.current={sessionKey:o,signature:n},f=`${l}
35
35
 
36
- ${c}`):f=c;let p=f,q=e?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),r={role:"user",content:q?.length?[...c.trim()?[{type:"text",text:c}]:[],...q]:c,timestamp:Date.now()};x(a=>[...a,r]),cc.current=qb(r),cb.current=i,"goal"!==au.current||h||(aw.current=g,aC(a=>({...a,status:"running",goalText:g,turnsUsed:0,noProgressTurns:0,tokensUsed:0})),aE.current=!0),bU.current=!0,O(!0),a$(h?{kind:"running_command"}:{kind:"waiting_model"}),F({type:"start"}),b2.current=!0,a0(!0),b3.current=!0;let s=e?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),t=null,u=!1;try{if(m&&d){let a=bT.current??await b9.current,b=a??await cw();if(b){t=b,cv(1,c),ad&&(aS(ad),a&&await pX(b,{type:"set_model",provider:ad.provider,modelId:ad.modelId}));let d=await Promise.race([cB(b).then(()=>!0).catch(()=>!1),p7(4e3).then(()=>!1)]);u=!0,await pX(b,{type:"prompt",message:p,...s?.length?{images:s}:{}}),d||cM(b,i),"goal"!==au.current||h||pX(b,{type:"goal_start",goalText:g}).catch(()=>{})}else throw Error("Unable to create a session for this message")}else if(b){t=b.id;let a=await Promise.race([cB(b.id).then(()=>!0).catch(()=>!1),p7(4e3).then(()=>!1)]);u=!0,await pX(b.id,{type:"prompt",message:p,...s?.length?{images:s}:{}}),a||cM(b.id,i),"goal"!==au.current||h||pX(b.id,{type:"goal_start",goalText:g}).catch(()=>{})}h&&t&&cM(t,i)}catch(b){if(console.error("Failed to send message:",b),u&&t)return void cM(t,i);if(bW.current=!1,cz(),b instanceof p6){let a=cc.current;a&&x(b=>{let c=b[b.length-1];return c?.role==="user"&&qb(c)===a?b.slice(0,-1):b}),cE({type:"error",message:b.message})}else{let c=cc.current;c&&x(a=>{let b=a[a.length-1];return b?.role==="user"&&qb(b)===c?a.slice(0,-1):a}),a.chatInputRef?.current?.replaceMessage?.(r),cE({type:"error",message:`Failed to send message: ${b instanceof Error?b.message:String(b)}`})}cc.current=null,bU.current=!1,O(!1),a$(null),F({type:"end"})}},[m,d,ad,b,cw,cB,cv,cM,cE,cy,cz,ck]),cQ=(0,M.useCallback)(async(c,d)=>{if(bU.current||b$.current)return;let e=`${d?"!!":"!"}${c}`;b$.current=!0,S({command:c,excludeFromContext:d}),Q(!0);try{let a=bT.current??b?.id??await cw();if(!a)throw Error("Unable to create a session for the shell command");cv(1,e),await pX(a,{type:"bash",command:c,excludeFromContext:d}),await cs(a)}catch(b){console.error("Failed to execute shell command:",b),cE({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{b$.current=!1,S(null),Q(!1)}},[cE,cw,cs,a.chatInputRef,cv,b]),cR=(0,M.useCallback)(async()=>{let a=bT.current;if(a)try{await pX(a,{type:b$.current?"abort_bash":"abort"})}catch(a){console.error("Failed to abort:",a)}},[]),cS=(0,M.useCallback)(async a=>{let b=bT.current;if(b){aO(a);try{let{cancelled:c,newSessionId:d}=await pX(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aO(null)}}},[g]),cT=(0,M.useCallback)(async a=>{let b=bT.current;b&&(pX(b,{type:"navigate_tree",targetId:a}).catch(()=>{}),v(a),await ct(b,a))},[ct]),cU=(0,M.useCallback)(async a=>{v(a);let b=bT.current;b&&(await ct(b,a),a&&pX(b,{type:"navigate_tree",targetId:a}).catch(()=>{}))},[ct]),cV=(0,M.useCallback)(async(a,b)=>{if(m){let c={provider:a,modelId:b};ch.current=c,ae(c),aS(c);let d=bT.current??await b9.current;if(!d)return;try{await pX(d,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bT.current;if(!c)return;let d=++cd.current,e=aP??o?.context.model??null;aQ({provider:a,modelId:b});try{await pX(c,{type:"set_model",provider:a,modelId:b})}catch(c){console.error("Failed to set model:",c),cd.current===d&&(aQ(e&&(e.provider!==a||e.modelId!==b)?e:null),cE({type:"error",message:c instanceof Error?c.message:String(c)}))}},[cE,aP,o?.context.model,m,ae]),cW=(0,M.useCallback)(async()=>{let a=bT.current;if(a&&!aT){aU(!0),aW(null),aY(null);try{let b=await pX(a,{type:"compact"});aY(qc(b,"manual")),await cs(a,!0)}catch(a){aW(a instanceof Error?a.message:String(a)),aY(null)}finally{aU(!1)}}},[aT,cs]),cX=(0,M.useCallback)(async a=>{let c=++ce.current,e=d??b?.cwd??"",f=e?`/api/models?cwd=${encodeURIComponent(e)}`:"/api/models",g=cf.current;g?.abort();let h=new AbortController;cf.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){let b=`HTTP ${a.status}`;try{let c=await a.json();c?.error&&(b=c.error)}catch{}throw Error(b)}let b=await a.json();if(c!==ce.current||n!==cg.current)return;ac(null),U(b.models),Y(b.thinkingLevels??{}),$(b.thinkingLevelMaps??{}),aa(b.modelScopeWarnings??[]);let d=b.modelList??[];if(W(d),m&&!bT.current){let a=(b.defaultModel?d.find(a=>a.id===b.defaultModel?.modelId&&a.provider===b.defaultModel?.provider):void 0)??d[0];ag(a?{provider:a.provider,modelId:a.id}:null);let c=a?b.thinkingLevelPins?.[`${a.provider}/${a.id}`]:void 0;null===ci.current&&aG(c??"auto")}}catch(a){if(h.signal.aborted||c!==ce.current||n!==cg.current)return;ac(a instanceof Error?a.message:String(a))}finally{a?.removeEventListener("abort",i),cf.current===h&&(cf.current=null)}},[m,n,d,b?.cwd]),cY=(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=bT.current??await cw(),g=a=>(a.handled&&(a.error?cE({type:"error",message:a.error}):"openSessionStats"!==a.action&&cE({type:"success",message:a.message??"Command completed"})),a);try{switch(c){case"compact":{if(!f||aT)return g({handled:!0,error:"No active session to compact"});aU(!0),aW(null),aY(null);let a=await pX(f,{type:"compact",...e?{customInstructions:e}:{}});return aY(qc(a,"manual")),await cs(f,!0)&&cv(),g({handled:!0,message:"Compacted context"})}case"reload":if(!f)return g({handled:!0,error:"No active session to reload"});return await pX(f,{type:"reload"}),await Promise.all([cs(f,!1,!0),cu(f),cx(),cX()]),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 pX(f,{type:"set_session_name",name:bQ(e)}),await cs(f)&&cv(),g({handled:!0,message:`Session renamed to ${e}`});case"session":{if(!f)return g({handled:!0,error:"No active session"});let a=await pX(f,{type:"get_session_stats"});return a&&a8(a),k?.(),g({handled:!0,action:"openSessionStats"})}case"copy":{if(!f)return g({handled:!0,error:"No active session"});let a=await pX(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&&aU(!1)}},[cE,cw,aT,cX,cs,cx,cu,cv,k]),cZ=(0,M.useCallback)(async a=>{let b=!1;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let a=await c.json(),d=a.state;if(a.running&&d&&(d.isStreaming||d.isPromptRunning||d.isBashRunning||d.isCompacting))return;b=!0}}catch{}if(b){bU.current=!1,O(!1),a$(null);return}cM(a)},[cM]),c$=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(c,{type:"steer",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to steer:",a),cZ(c)}},[cZ]),c_=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(!d)return;let e=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(d,{type:"prompt",message:a,streamingBehavior:b,...e?.length?{images:e}:{}})}catch(a){console.error("Failed to queue prompt:",a),cZ(d)}},[cZ]),c0=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(c,{type:"follow_up",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to follow up:",a),cZ(c)}},[cZ]),c1=(0,M.useCallback)(async()=>{let a=bT.current;if(a)try{await pX(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),c2=(0,M.useCallback)(async()=>{let b=bT.current;if(b)try{let c=await pX(b,{type:"clear_queue"});bj({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),cE({type:"error",message:"Failed to recall queued messages"})}},[a.chatInputRef,cE,bj]),c3=(0,M.useCallback)(async(a,b,c=!1)=>{let d=bT.current;if(!d)return bk;try{let e=await pX(d,{type:"resolve_recovery",keep:a,discard:b,continueRun:c}),f=e?.remaining??[];return bm(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;bV.current=!!c.isStreaming,bW.current=!!c.isPromptRunning,bU.current=!0,O(!0),a$(p0(c)),F({type:"start"}),cA(d),!c.isStreaming&&c.isPromptRunning&&cM(d)}catch{}})(),f}catch(a){return console.error("Failed to resolve queued message recovery:",a),cE({type:"error",message:"Failed to resolve queued message recovery"}),bk}},[bk,cE,cA,cM,bm]),c4=(0,M.useCallback)(async()=>{let a=bT.current;if(!a)return null;try{return await pX(a,{type:"export_queue"})}catch(a){return console.error("Failed to export queue:",a),cE({type:"error",message:"Failed to export queue"}),null}},[cE]),c5=(0,M.useCallback)(async a=>{let b=bT.current;if(!b)return null;try{let c=await pX(b,{type:"import_queue",entries:a});return c&&bj(p2(c)),c?.imported??0}catch(a){return console.error("Failed to import queue:",a),cE({type:"error",message:"Failed to import queue"}),null}},[cE,bj]),c6=(0,M.useCallback)(async a=>{let b=bT.current;if(!b)return null;try{let c=await pX(b,{type:"stage_recovery",entries:a});return c?.pendingRecovery&&bm(c.pendingRecovery),(c?.staged??0)>0&&bo(!0),c?.staged??0}catch(a){return console.error("Failed to stage imported queue:",a),cE({type:"error",message:"Failed to stage imported queue"}),null}},[cE,bm]),c7=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(!d)return!1;try{let e=await pX(d,{type:"move_queue",kind:a,fromIndex:b,toIndex:c});return e&&bj(p2(e)),!0}catch(a){return console.error("Failed to move queued message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to move queued message"}),!1}},[cE,bj]),c8=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return null;try{let d=await pX(c,{type:"recall_queue_item",kind:a,index:b});return d&&(void 0!==d.steering||void 0!==d.followUp)&&bj(p2(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),cE({type:"error",message:a instanceof Error?a.message:"Failed to recall queued message"}),null}},[cE,bj]),c9=(0,M.useCallback)(async(a,b,c,d)=>{let e=bT.current;if(!e)return!1;try{let f=await pX(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&&bj(p2(f)),!0}catch(a){return console.error("Failed to requeue message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to requeue message"}),!1}},[cE,bj]),da=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return!1;try{let d=await pX(c,{type:"remove_queue_item",kind:a,index:b});return d&&bj(p2(d)),!0}catch(a){return console.error("Failed to remove queued message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to remove queued message"}),!1}},[cE,bj]),db=(0,M.useCallback)(async a=>{if(ci.current="auto"===a?null:a,aG(a),"auto"===a)return;let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),dc=(0,M.useCallback)(async a=>{let b=(0,pY.xG)(a);cm(a);let c=bT.current??await b9.current;if(c)try{await pX(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[cm]),dd=(0,M.useRef)(0),de=(0,M.useCallback)(async a=>{let b=bT.current??await b9.current,c=++dd.current;if(a){if(al.current="plan"===ah?"default":ah,ak(!0),am.current=!0,ax.current={sessionKey:"",signature:""},b)try{if(await pX(b,{type:"prompt",message:"/plan"}),dd.current!==c)return}catch(a){if(dd.current!==c)return;console.error("Failed to enter plan mode:",a)}}else if(ak(!1),am.current=!1,ax.current={sessionKey:"",signature:""},b){try{if(await pX(b,{type:"prompt",message:"/plan exit"}),dd.current!==c)return}catch(a){if(dd.current!==c)return;console.error("Failed to exit plan mode:",a)}if(dd.current!==c)return;try{let a=al.current;await pX(b,{type:"set_tools",toolNames:(0,pY.xG)(a)})}catch(a){console.error("Failed to restore tools after plan exit:",a)}}},[ah]),df=(0,M.useCallback)(a=>{ao(a);let b=bT.current;if(!b){ap.current=a;return}ap.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)})},[]),dg=(0,M.useCallback)(a=>{if(df({...ay.current,collaborationMode:bI(a)}),au.current=bI(a),ax.current={sessionKey:"",signature:""},"goal"!==a){aw.current=null,aE.current=!1,aC(a=>"idle"===a.status?a:{...a,status:"idle",goalText:null});let a=bT.current;a&&pX(a,{type:"goal_stop"}).catch(()=>{})}},[df]),dh=(0,M.useCallback)(async a=>{df({...ay.current,tokenMode:bJ(a)});let b=bT.current??await b9.current;if(b)try{if("economy"!==a||am.current){if("economy"!==a){let a=am.current?pY.SC:(0,pY.xG)("plan"===ah?"default":ah);await pX(b,{type:"set_tools",toolNames:a})}}else await pX(b,{type:"set_tools",toolNames:[...bL]})}catch(a){console.error("Failed to apply token mode tools:",a)}},[df,ah]),di=(0,M.useCallback)(async a=>{df({...ay.current,toolApprovalMode:bK(a)});let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_approval_mode",mode:bK(a)})}catch(a){console.error("Failed to apply approval mode:",a)}},[df]),dj=(0,M.useCallback)(async a=>{df({...ay.current,permissionRules:a});let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_approval_policy",policy:a})}catch(a){console.error("Failed to apply permission rules:",a)}},[df]),dk=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(d)try{await pX(d,{type:"resolve_approval",id:a,approve:b,reason:c})}catch(a){console.error("Failed to resolve approval:",a)}finally{aA(b=>b.filter(b=>b.id!==a))}},[]),dl=(0,M.useCallback)(a=>{aw.current=a},[]),dm=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aw.current=b,aC(a=>({...a,status:"running",goalText:b,turnsUsed:0,noProgressTurns:0,tokensUsed:0,startedAt:Date.now()}));let c=bT.current;c&&pX(c,{type:"goal_start",goalText:b}).catch(()=>{})},[]),dn=(0,M.useCallback)(()=>{if("running"!==aD.current.status)return;aC(a=>({...a,status:"paused"}));let a=bT.current;a&&pX(a,{type:"goal_pause"}).catch(()=>{})},[]),dp=(0,M.useCallback)(()=>{let a=aD.current;if("paused"!==a.status&&"blocked"!==a.status)return;aC(a=>({...a,status:"running"}));let b=bT.current;b&&pX(b,{type:"goal_resume"}).catch(()=>{})},[]),dq=(0,M.useCallback)(()=>{aE.current=!1,aw.current=null,aC(a=>({...a,status:"idle",goalText:null,turnsUsed:0,noProgressTurns:0}));let a=bT.current;a&&pX(a,{type:"goal_stop"}).catch(()=>{})},[]),dr=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aC(a=>({...a,goalText:b}));let c=bT.current;c&&pX(c,{type:"goal_edit",goalText:b}).catch(()=>{})},[]);bp.map(a=>`${a.id}:${a.status}:${a.completedAt??""}`).join("|"),(0,M.useRef)(bp).current=bp;let ds=(0,M.useCallback)(()=>{let a=b8.current,b=b1.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);b4.current=e>=d-150,b6.current=Date.now()+700,a.scrollTo({top:e,behavior:"smooth"})},[]);(0,M.useCallback)(a=>{if(a instanceof KeyboardEvent){if(!p5.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))return}else if(a instanceof PointerEvent){let b=b8.current;if(b&&a.target instanceof Element&&!b.contains(a.target))return}b5.current=Date.now()+1200},[]),(0,M.useCallback)(()=>{let a=b8.current;if(a){let{scrollTop:b,clientHeight:c,scrollHeight:d}=a;b4.current=b+c>=d-150}if(Date.now()<b5.current){b3.current=!1;return}Date.now()<b6.current||(b3.current=!1)},[]),(0,M.useRef)(null),b?.id;let dt=o?.tree??[];return{data:o,loading:q,error:s,activeLeafId:u,messages:w,entryIds:y,historyCursor:A,hasEarlierMessages:C,streamState:E,agentRunning:N,bashRunning:P,pendingBash:R,modelNames:T,modelList:V,modelThinkingLevels:X,modelThinkingLevelMaps:Z,modelScopeWarnings:_,modelsError:ab,newSessionModel:ad,toolPreset:ah,thinkingLevel:aF,retryInfo:aH,contextUsage:aJ,systemPrompt:aL,forkingEntryId:aN,isCompacting:aT,compactError:aV,compactResult:aX,currentModel:cp,displayModel:cq,sessionStats:cr,tokenRate:G,planMode:aj,subagents:bp,collaborationMode:aq,tokenMode:ar,toolApprovalMode:as,permissionRules:at,modeSettings:an,approvalRequests:az,handleCollaborationModeChange:dg,handleTokenModeChange:dh,handleToolApprovalModeChange:di,handlePermissionRulesChange:dj,resolveApproval:dk,setActiveGoalText:dl,goalState:aB,handleGoalStart:dm,handleGoalPause:dn,handleGoalResume:dp,handleGoalStop:dq,handleGoalEdit:dr,slashCommands:a1,slashCommandsLoading:a3,queuedMessages:bh,pendingRecovery:bk,recoveryIsImport:bn,notices:a5.visible,extensionDialog:a9,extensionCustomUi:bb,extensionStatuses:bd,extensionWidgets:bf,respondToExtensionUi:cC,sendExtensionCustomInput:cD,agentPhase:aZ,isNew:m,promptAnchorActive:a_,branchTree:dt,sessionIdRef:bT,eventSourceRef:bB,messagesEndRef:b7,scrollContainerRef:b8,lastUserMsgRef:b1,pendingScrollToUserRef:b2,initialScrollDoneRef:b0,scrollUserMsgToTop:ds,handleSend:cP,executeBash:cQ,handleAbort:cR,handleFork:cS,handleNavigate:cT,handleModelChange:cV,handleCompact:cW,handleSteer:c$,handleFollowUp:c0,handlePromptWithStreamingBehavior:c_,handleAbortCompaction:c1,handleRecallQueue:c2,resolveRecovery:c3,exportQueueData:c4,importQueueData:c5,stageQueueImport:c6,moveQueuedMessage:c7,recallQueuedMessage:c8,requeueAt:c9,removeQueuedMessage:da,handleBuiltinSlashCommand:cY,handleToolPresetChange:dc,handleThinkingLevelChange:db,handlePlanModeChange:de,loadTools:cu,loadSlashCommands:cx,reloadModels:cX,setActiveLeafId:v,setData:p,setMessages:x,loadContext:ct,dispatch:F,setAgentRunning:O,setForkingEntryId:aO,handleLeafChange:cU,handleAgentEventRef:b_}}({session:a,newSessionCwd:b,onAgentEnd:F,onSessionCreated:e,onSessionForked:f,modelsRefreshKey:g,chatInputRef:h,onBranchDataChange:i,onSystemPromptChange:j,onSessionStatsPanelOpen:m,onSubagentsChange:l}),[bn,bo]=(0,M.useState)(!1),{balance:bp,refresh:bq,refreshSoon:br}=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.useRef)(null),i=(0,M.useCallback)(async()=>{e.current?.abort();let a=new AbortController;e.current=a;try{let c=await fetch("/api/deepseek/balance",{signal:a.signal,cache:"no-store"}),e=await c.json();if(!g.current)return;if(e?.available&&null!=e.totalBalance){let a=h.current;(null===a||a.available!==e.available||a.reason!==e.reason||a.currency!==e.currency||a.totalBalance!==e.totalBalance||a.grantedBalance!==e.grantedBalance||a.toppedUpBalance!==e.toppedUpBalance)&&(h.current=e,b(e)),d(!1)}else null===h.current&&d(!0)}catch{if(!g.current)return;null===h.current&&d(!0)}},[]),j=(0,M.useCallback)(()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,i()},2e3)},[i]);return{balance:a,failed:c,refresh:i,refreshSoon:j}}(),bs=ag?.provider==="deepseek";(0,M.useRef)(null);let bt=(0,M.useMemo)(()=>{let a=N.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:l$(a.model)?l_(a.model,b):0,costUSD:l$(a.model)?0:b.cost?.total??0}},[N]),[bu,bv]=(0,M.useState)(!1),[bw,bx]=(0,M.useState)(null);(0,M.useRef)(!1);let by=(0,M.useCallback)(()=>{bv(!1);let a=bz.current;"plan"===a6&&a9("normal"),a5(!1).then(()=>{a&&aH(C("tasks.planReviewExecutePrompt",{plan:a}))})},[a5,aH,C,a6,a9]),bz=(0,M.useRef)(null),bA=(0,M.useCallback)(a=>{bv(!1),aP(a)},[aP]),bB=(0,M.useCallback)(()=>{bv(!1),"plan"===a6&&a9("normal"),a5(!1)},[a5,a6,a9]),[bC,bD]=(0,M.useState)(!1),[bE,bR]=(0,M.useState)(!1),[bS,bT]=(0,M.useState)(!1),bU=(0,M.useCallback)(()=>{let a=aC.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight;bD(a.scrollTop>1),bR(b>1),bT(b>240)},[aC]),bV=(0,M.useCallback)(()=>{window.requestAnimationFrame(()=>{let a=aC.current,b=aB.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(),bU(),window.setTimeout(d,200)})},[aB,aC,bU,h]);(0,M.useRef)(!1);let bW=(0,M.useRef)(null),bX=(0,M.useRef)([]),bY=(0,M.useMemo)(()=>({getOffsetForIndex:a=>bW.current?.getOffsetForIndex(a)?.[0]??0,sizeFor:a=>{let b=bW.current;if(!b)return 0;let c=b.measurementsCache[a];return c?.size??b.options.estimateSize?.(a)??0},totalHeight:()=>bW.current?.getTotalSize()??0,refToItemIndex:a=>bX.current[a],itemCount:bX.current.length}),[]);ah&&[ah.sessionId,ah.sessionFile??"",ah.sessionName??"",ah.userMessages,ah.assistantMessages,ah.toolCalls,ah.toolResults,ah.totalMessages,ah.tokens.input,ah.tokens.output,ah.tokens.cacheRead,ah.tokens.cacheWrite,ah.tokens.total,ah.cost??0,ah.totalActiveMs??0].join("|"),(0,M.useRef)(ah).current=ah,ab&&(ab.percent,ab.contextWindow,ab.tokens),(0,M.useRef)(ab).current=ab;let{isDragOver:bZ,handleDragEnter:b$,handleDragOver:b_,handleDragLeave:b0,handleDrop:b1}=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(Q){let b=a.filter(a=>a.type.startsWith("image/"));b.length&&h?.current?.addImages(b);return}h?.current?.addFiles(a,b)},[Q,h])),b2=N.filter(a=>"user"===a.role||"assistant"===a.role),b3=(0,M.useMemo)(()=>{let a=new Set,b=[];for(let d=N.length-1;d>=0&&b.length<50;d-=1){var c;let e="user"!==(c=N[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},[N]),b4=(v=b2.length,(w=(0,M.useRef)([])).current=Array(v).fill(null).map((a,b)=>w.current[b]??null),w),b5=aw&&0===N.length&&!P.isStreaming&&!Q,b6=a?.cwd??b??void 0,b7=(0,M.useMemo)(()=>(function(a,b,c){let d=new Map;for(let b of a)"toolResult"===b.role&&d.set(b.toolCallId,b);let e=-1;for(let b=a.length-1;b>=0;b--)if("user"===a[b].role){e=b;break}let f=new Map,g=0;a.forEach((a,b)=>{("user"===a.role||"assistant"===a.role)&&f.set(b,g++)});let h=[];for(let e=0;e<a.length;){let f,g=a[e],i="custom"===g.role&&"compaction"===g.customType;if("user"!==g.role&&!i){h.push({kind:"single",idx:e}),e+=1;continue}let j=e,k=j+1;for(;k<a.length&&"user"!==a[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&&ce(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}(a,j,k);if(-1===l){h.push({kind:"turn",userIdx:j,endIdx:k,startsCompactionTurn:i,finalAssistantIdx:l,visibleProcessIndices:[],processBlocks:[],finalAnswerMessage:null,writtenFiles:void 0}),e=k;continue}let m=[];for(let a=j+1;a<l;a++)m.push(a);let n=m.filter(b=>co(a[b])),o=a[l],p=ce(o),q=p.processBlocks.length>0?cp(o,p.processBlocks,{omitUsage:!0}):null,r=p.answerBlocks.length>0?cp(o,p.answerBlocks):null,s=cj(a,b,n,d);if(q&&(s=s.concat(ci(o,{messageIndex:l,entryId:b[l],toolResults:d}).processBlocks)),r){let b=[];for(let c=j+1;c<=l;c++){let d=a[c];if(d?.role==="assistant")for(let a of d.content??[])b.push(a)}f=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 cm(c)}(g,c);h&&(d.has(h)||(d.add(h),e.push({filePath:h})))}return e}(b,d,c)}h.push({kind:"turn",userIdx:j,endIdx:k,startsCompactionTurn:i,finalAssistantIdx:l,visibleProcessIndices:n,processBlocks:s,finalAnswerMessage:r,writtenFiles:f}),e=k}return{toolResultsMap:d,lastUserIdx:e,visibleRefIndexByMessage:f,items:h}})(N,O,b6),[N,O,b6]),b8=ag?V[`${ag.provider}:${ag.modelId}`]??null:null,b9=ag?W[`${ag.provider}:${ag.modelId}`]??null:null,ca=(0,M.useCallback)(()=>{Z()},[Z]),cb=(0,M.useCallback)(a=>{a5(a),a&&"plan"!==a6?a9("plan"):a||"plan"!==a6||a9("normal")},[a5,a9,a6]),cc=(0,M.useCallback)(a=>{a9(a),"plan"!==a||a4?"plan"!==a&&a4&&a5(!1):a5(!0)},[a9,a5,a4]),cd=(0,L.jsx)(o8,{ref:h,onSend:aH,onBash:aI,tasksBoardEnabled:s,onAbort:aJ,onSteer:Q?aP:void 0,onFollowUp:Q?aR:void 0,onPromptWithStreamingBehavior:Q?aS:void 0,isStreaming:Q,model:ag,modelNames:T,modelList:U,modelScopeWarnings:X,modelsError:Y,onRetryModels:ca,onModelChange:aN,compactResult:af,toolPreset:$,onToolPresetChange:a||aw?a1:void 0,planMode:a4,onPlanModeChange:cb,collaborationMode:a6,tokenMode:a7,toolApprovalMode:a8,onCollaborationModeChange:cc,onTokenModeChange:ba,onToolApprovalModeChange:bb,goalState:be,onGoalStart:bf,onGoalPause:bg,onGoalResume:bh,onGoalStop:bi,thinkingLevel:_,onThinkingLevelChange:a||aw?a2:void 0,availableThinkingLevels:b8,thinkingLevelMap:b9,retryInfo:aa,queuedMessages:al,inputHistory:b3,onRecallQueue:aU,onMoveQueue:aY,onRecallOne:aZ,onRequeueAt:a$,onRemoveQueueItem:a_,slashCommands:aj,slashCommandsLoading:ak,onLoadSlashCommands:a3,onBuiltinCommand:a0,onAudioUnlock:A,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),cf=as.filter(a=>"belowEditor"!==a.placement),cg=as.filter(a=>"belowEditor"===a.placement),ch=ad?C("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}(av,C);return J?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-text-muted",children:C("desktop.loadingSession")}):K?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-red-400",children:K}):(0,L.jsxs)("div",{className:"relative flex h-full min-w-0 flex-col overflow-hidden",onDragEnter:b$,onDragOver:b_,onDragLeave:b0,onDrop:b1,children:[bZ&&(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"})]})]})]}),ap&&(0,L.jsx)(qh,{request:ap,onRespond:at}),aq&&(0,L.jsx)(qi,{request:aq,onInput:au}),!aw&&am.length>0&&!bn&&(0,L.jsx)(pb,{items:am,sessionId:a?.id,onResolve:aV,onExport:aW,onStageImport:aX,onDismiss:()=>bo(!0),mode:an?"import":"recovery"}),bc.length>0&&(0,L.jsx)(mD,{request:bc[0]??null,queuedCount:Math.max(0,bc.length-1),busy:!1,onResolve:(a,b)=>{let c=bc[0];c&&bd(c.id,a,b)}}),b5?(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"})]})}),B&&(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:10,marginBottom:18,marginTop:-14},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.14.4"]})]}),(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.3"]})]})]}),(0,L.jsx)("div",{style:{padding:"0 34px 6px 7px",paddingRight:B?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:B?"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.14.4"]})]}),(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.3"]})]})]})]})}),(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:B?16:34},children:(0,L.jsx)(qg,{notices:ao,align:"right"})}),"goal"===a6&&(0,L.jsx)(mA,{goalState:be,onPause:bg,onResume:bh,onStop:bi,onEdit:bj}),cd,(0,L.jsx)("div",{style:{padding:"0 16px 6px",paddingRight:B?16:34,marginTop:-15},children:(0,L.jsx)(py,{onViewFullHistory:q,cwd:b6,systemPrompt:r,sessionStats:ah,contextUsage:ab,hasSession:!!a,showChat:!0,showSoundLabel:!0,soundEnabled:x,onSoundToggle:y,onCompact:a?aO:void 0,onAbortCompaction:aT,isCompacting:ad,compactError:ae,isDeepSeekOfficial:bs,deepseekBalance:bp,lastTurnUsage:bt})})]})}):(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*!B,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(qg,{notices:ao,floating:!0,align:"right"})})}),(0,L.jsxs)("div",{className:"relative flex-1 min-h-0 min-w-0",children:[(0,L.jsx)("div",{ref:aC,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)(qe,{statuses:ar}),(0,L.jsx)(qf,{widgets:cf}),(()=>{let{toolResultsMap:b,lastUserIdx:c,visibleRefIndexByMessage:d,items:e}=b7,f=(e,f={})=>{let g=f.messageOverride??N[e],h="user"===g.role&&e>0&&"assistant"===N[e-1].role?O[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<N.length;a++){let b=N[a].role;if("user"===b)break;if("assistant"===b){l=!1;break}}l&&P.isStreaming&&e===N.length-1&&(l=!1)}void 0!==f.showTimestamp&&(l=f.showTimestamp);let m=(0,L.jsx)(l4,{message:g,toolResults:b,modelNames:T,cwd:b6,onOpenFile:o,entryId:O[e],onFork:Q||aw||0===e&&"user"===g.role?void 0:aK,forking:ac===O[e],onNavigate:Q?void 0:aL,prevAssistantEntryId:Q?void 0:h,onEditContent:G,onQuoteReply:H,onCreateTask:I,showTimestamp:l,prevTimestamp:e>0?N[e-1].timestamp:void 0,sessionId:a?.id??aA.current??void 0,writtenFiles:f.writtenFiles,subagents:t,onOpenSubagent:u},`${k}-view-${e}`);return i&&!1!==f.attachRef&&void 0!==j?(0,L.jsx)("div",{ref:a=>{b4.current[j]=a,e===c&&(aD.current=a,a&&aE.current&&(aE.current=!1,aF.current=!0,aG()))},children:m},`${k}-${e}`):m},g=[],h=[],i=(a,b)=>{g.push(a),h.push(b)};for(let g of e){if("single"===g.kind){i(f(g.idx),d.get(g.idx));continue}let{userIdx:e,endIdx:h,startsCompactionTurn:j,finalAssistantIdx:k}=g;if((Q||P.isStreaming)&&h===N.length&&(e===c||j)){i(f(e),d.get(e));let c=P.streamingMessage?.role==="assistant",g=[],j=!c&&k>=0?k:h;for(let a=e+1;a<j;a++)co(N[a])&&g.push(a);let l=cj(N,O,g,b),m=null;if(!c&&k>=0){let a=N[k],c=ce(a,{isStreaming:!0}),d=ci(a,{messageIndex:k,entryId:O[k],toolResults:b,isStreaming:!0});l=l.concat(d.processBlocks),c.answerBlocks.length>0&&(m=cp(a,c.answerBlocks,{omitUsage:!0}))}if(c){let a=P.streamingMessage,c=ce(a,{isStreaming:!0}),d=ci(a,{messageIndex:N.length,toolResults:b,isStreaming:!0});l=l.concat(d.processBlocks),c.answerBlocks.length>0&&(m=cp(a,c.answerBlocks,{omitUsage:!0}))}if(l.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=>{b4.current[b]=a},children:(0,L.jsx)(nv,{blocks:l,isStreaming:Q||P.isStreaming,cwd:b6,onOpenFile:o,sessionId:a?.id??aA.current??void 0,tokenRate:ai})},`live-process-group-${e}`),b)}m&&i((0,L.jsx)(l4,{message:m,isStreaming:!0,modelNames:T,cwd:b6,onOpenFile:o,onQuoteReply:H},`live-answer-${e}`),k>=0?d.get(k):void 0);continue}if(-1===k){for(let a=e;a<h;a++)i(f(a),d.get(a));continue}i(f(e),d.get(e));let{processBlocks:l,finalAnswerMessage:m,writtenFiles:n,visibleProcessIndices:p}=g;if(l.length>0){let b=p.map(a=>d.get(a)).find(a=>"number"==typeof a)??(m?void 0:d.get(k));i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{b4.current[b]=a},children:(0,L.jsx)(nv,{blocks:l,isStreaming:!1,defaultExpanded:!m,onAutoExpanded:void 0,cwd:b6,onOpenFile:o,sessionId:a?.id??aA.current??void 0})},`process-group-${e}-${k}`),b)}m&&i(f(k,{messageOverride:m,writtenFiles:n}),d.get(k));for(let a=k+1;a<h;a++)i(f(a),d.get(a))}let j=[];return h.forEach((a,b)=>{void 0!==a&&(j[a]=b)}),bX.current=j,(0,L.jsx)(pO,{scrollElementRef:aC,items:g,virtualizerRef:bW})})(),ch&&(ad||Q&&!P.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:[ch,av?.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"}})]})}),S&&(0,L.jsx)(l4,{message:{role:"bashExecution",command:S.command,output:"",excludeFromContext:S.excludeFromContext},sessionId:a?.id??aA.current??void 0}),R&&!S&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsx)("span",{className:"animate-[pulse_1.5s_infinite]",children:C("desktop.runningShellCommand")})}),(0,L.jsx)("div",{style:{height:96}}),(0,L.jsx)("div",{ref:aB}),(0,L.jsx)(mt,{open:bu,planText:bw,busy:Q,onExecute:by,onFeedback:bA,onExit:bB,onClose:()=>bv(!1)})]})})}),bC&&(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"}),bE&&(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"}),bS&&(0,L.jsxs)("button",{type:"button",onClick:()=>bV(),title:C("desktop.scrollToBottom"),"aria-label":C("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)(lN,{size:12,weight:"bold","aria-hidden":"true"}),C("desktop.scrollToBottom")]})]}),B?null:(0,L.jsx)(pR,{messages:N,streamingMessage:P.streamingMessage,scrollContainer:aC,messageRefs:b4,virtualizer:bY})]}),(0,L.jsxs)("div",{className:"relative z-10",children:[(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:B?16:34},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(qf,{widgets:cg})})}),cd,(0,L.jsx)("div",{className:`session-info-bar-wrap${B?" is-mobile":""}`,children:(0,L.jsx)("div",{className:"session-info-bar-inner",children:(0,L.jsx)(py,{onViewFullHistory:q,cwd:b6,systemPrompt:r,sessionStats:ah,contextUsage:ab,hasSession:!!a,showChat:!0,soundEnabled:x,onSoundToggle:y,onCompact:a?aO:void 0,onAbortCompaction:aT,isCompacting:ad,compactError:ae,branchTree:ax,branchActiveLeafId:ay,onBranchLeafChange:az,isDeepSeekOfficial:bs,deepseekBalance:bp,lastTurnUsage:bt})})})]})]})]})}function qe({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 qf({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 qg({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 qh({request:a,onRespond:b}){let{t:c}=(0,aM.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 qi({request:a,onInput:b}){let{t:c}=(0,aM.s)(),d=(0,M.useRef)(null),e=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=b8(d).trimEnd();if(b.test(a))continue;let e=d,f=cb(e);("│"===f||"┃"===f)&&" "===cb(e=ca(e,0))&&(e=ca(e,0));let g=function(a){let b=b9(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(e),h=g>=0?b9(e)[g]?.char:void 0;("│"===h||"┃"===h)&&(e=ca(e,g)),c.push(function(a){let b=a;for(;;){let a=b9(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&&""===b8(c[0]).trim();)c.shift();for(;c.length>0&&""===b8(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(b5.lastIndex=0;null!==(b=b5.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=b6[d-30];else if(d>=90&&d<=97)c.color=b7[d-90];else if(d>=40&&d<=47)c.backgroundColor=b6[d-40];else if(d>=100&&d<=107)c.backgroundColor=b7[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 b6[a];if(a>=8&&a<16)return b7[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 qj=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222.14,69.17,186.83,33.86A19.86,19.86,0,0,0,172.69,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V83.31A19.86,19.86,0,0,0,222.14,69.17ZM164,204H92V160h72Zm40,0H188V156a20,20,0,0,0-20-20H88a20,20,0,0,0-20,20v48H52V52H171l33,33ZM164,84a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h56A12,12,0,0,1,164,84Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,83.31V208a8,8,0,0,1-8,8H176V152a8,8,0,0,0-8-8H88a8,8,0,0,0-8,8v64H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H172.69a8,8,0,0,1,5.65,2.34l35.32,35.32A8,8,0,0,1,216,83.31Z",opacity:"0.2"}),M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM168,208H88V152h80Zm40,0H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM208,208H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M217.9,73.42,182.58,38.1a13.9,13.9,0,0,0-9.89-4.1H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V83.31A13.9,13.9,0,0,0,217.9,73.42ZM170,210H86V152a2,2,0,0,1,2-2h80a2,2,0,0,1,2,2Zm40-2a2,2,0,0,1-2,2H182V152a14,14,0,0,0-14-14H88a14,14,0,0,0-14,14v58H48a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H172.69a2,2,0,0,1,1.41.58L209.42,81.9a2,2,0,0,1,.58,1.41ZM158,72a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h56A6,6,0,0,1,158,72Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM168,208H88V152h80Zm40,0H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216.49,74.83,181.17,39.51A11.93,11.93,0,0,0,172.69,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V83.31A11.93,11.93,0,0,0,216.49,74.83ZM172,212H84V152a4,4,0,0,1,4-4h80a4,4,0,0,1,4,4Zm40-4a4,4,0,0,1-4,4H180V152a12,12,0,0,0-12-12H88a12,12,0,0,0-12,12v60H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H172.69a4,4,0,0,1,2.82,1.17l35.32,35.32A4,4,0,0,1,212,83.31ZM156,72a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h56A4,4,0,0,1,156,72Z"}))]]),qk=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qj}));qk.displayName="FloppyDiskIcon";let ql={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"},qm={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 qn(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function qo(a,b,c,d={}){let e=bh(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 qp({filePath:a,sourceSessionId:b}){let{t:c}=(0,aM.s)();return(0,L.jsx)("a",{href:qo(a,"download",b),download:bi(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)(aH,{size:11,"aria-hidden":"true"})})}let qq={fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,tabSize:2},qr={fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,padding:"12px 0 12px 16px",color:"var(--text-dim)",textAlign:"right",userSelect:"none"};async function qs(a,b){let c=await fetch(`/api/files/${bh(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error??`HTTP ${c.status}`);let d=await c.json();return"number"==typeof d.size?d.size:0}let qt={delete:"3px solid var(--git-status-deleted)",add:"3px solid var(--git-status-added)",edit:"3px solid var(--git-status-modified)"},qu="var(--git-status-deleted-bg)",qv="var(--git-status-added-bg)",qw="var(--git-status-added)";function qx(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function qy({oldContent:a,newContent:b}){let{t:c}=(0,aM.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?qu:"added"===a.kind?qv:"transparent",c=a.block?qt[a.block]:"3px solid transparent",d="added"===a.kind?qw:"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 qz({patch:a}){let b=lD(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?qu:"added"===a.kind?qv:"transparent",c=a.block?qt[a.block]:"3px solid transparent",d="added"===a.kind?qw:"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 qA({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=bi(a).toLowerCase().split(".").pop()??"",n=qo(a,"read",c,e?{v:e}:void 0),o=null!=g?qx(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:bj(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)(qp,{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 qB({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=bi(a).toLowerCase().split(".").pop()??"",n=qo(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:bj(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:qx(g)}),(0,L.jsx)(qp,{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 qC({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=qn(a),l="pdf"===k,m=l?qo(a,"read",c,e?{v:e}:void 0):qo(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:bj(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:"docx"===k?d("desktop.docxPreview"):"pdf"}),null!=g&&(0,L.jsx)("span",{children:qx(g)}),(0,L.jsx)(qp,{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:bi(a)}),style:{width:"100%",height:"100%",border:"none",background:l?"var(--bg)":"#eef1f5"}},m)})]})}function qD({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h}){let i;return null!==(ql[qn(a)]??null)?(0,L.jsx)(qA,{filePath:a,cwd:b,sourceSessionId:c}):null!==(qm[qn(a)]??null)?(0,L.jsx)(qB,{filePath:a,cwd:b,sourceSessionId:c}):null!==("pdf"===(i=qn(a))||"docx"===i?i:null)?(0,L.jsx)(qC,{filePath:a,cwd:b,sourceSessionId:c}):(0,L.jsx)(qE,{filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h})}function qE({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h}){let i,j,{t:k}=(0,aM.s)(),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(!0),[t,u]=(0,M.useState)(null),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)("source"),[z,A]=(0,M.useState)(!1),[B,C]=(0,M.useState)(0),[D,E]=(0,M.useState)(null);(0,M.useRef)(null);let F=(0,M.useRef)(null),[G,H]=(0,M.useState)(!1),[I,J]=(0,M.useState)(""),[K,N]=(0,M.useState)(""),[O,P]=(0,M.useState)(!1),[Q,R]=(0,M.useState)(null),[S,T]=(0,M.useState)(!1),U=(0,M.useRef)(null),V=(0,M.useRef)(null),W=(0,M.useRef)(0);(0,M.useRef)(!1);let X=G&&I!==K,Y=!!(l?.content&&l.content.includes("\0")),$=(0,M.useCallback)(async a=>{if(!b)return void q(null);try{let c=new URLSearchParams({cwd:b,path:a}),d=await fetch(`/api/git/diff?${c.toString()}`),e=await d.json();q(d.ok&&e.supported&&"string"==typeof e.patch?e:null)}catch{q(null)}},[b]),_=(0,M.useCallback)((a,b=!1)=>fetch(qo(a,"read",c)).then(a=>a.json()).then(a=>a.error?(u(a.error),null):(b?(m(b=>(b&&o(b.content),a)),C(a=>a+1)):m(a),a)).catch(a=>(u(String(a)),null)),[c]),aa=(0,M.useCallback)(()=>{l&&!Y&&(J(l.content),N(l.content),R(null),T(!1),H(!0))},[l,Y]),ab=(0,M.useCallback)(()=>{H(!1),J(""),N(""),R(null),T(!1)},[]),ac=(0,M.useCallback)(()=>{(!X||window.confirm(k("files.unsavedChanges")))&&ab()},[X,ab,k]),ae=(0,M.useCallback)(async()=>{if(!l||O)return;let b=++W.current;P(!0),R(null);try{let c=await qs(a,I);if(b!==W.current)return;m(a=>a?{...a,content:I,size:c}:a),N(I),P(!1),ab(),$(a),h?.()}catch(a){if(b!==W.current)return;R(a instanceof Error?a.message:String(a)),P(!1)}},[l,O,I,a,ab,$,h]),af=(0,M.useCallback)(()=>{let a=U.current,b=V.current;a&&b&&(b.scrollTop=a.scrollTop)},[]),ag=(0,M.useCallback)(a=>{if("Tab"!==a.key||a.metaKey||a.ctrlKey||a.altKey)return;a.preventDefault();let b=a.currentTarget,{selectionStart:c,selectionEnd:d}=b;J(b.value.slice(0,c)+" "+b.value.slice(d)),requestAnimationFrame(()=>{let a=U.current;if(!a)return;let b=c+2;a.selectionStart=b,a.selectionEnd=b})},[]),ah=(0,M.useMemo)(()=>la(l?.content??""),[l?.content]),ai=p?.supported===!0&&"string"==typeof p.patch,aj=ai&&p?.status==="deleted",ak=(0,M.useCallback)(c=>{f&&c&&f(bj(a,b),c.startLine,c.endLine)},[b,a,f]);if(r)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:k("desktop.loadingFile")});if(aj&&!l)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:bj(a,b)}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)"},children:(0,L.jsx)(qz,{patch:p.patch})})]});if(t)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#f87171",fontSize:13},children:t});if(!l)return null;let al="html"===l.language,am="markdown"===l.language,an=(j=(i=bg(a).replace(/\/+$/,"")).lastIndexOf("/"))<0?"":0===j?"/":2===j&&/^[a-zA-Z]:\//.test(i)?i.slice(0,3):i.slice(0,j),ao=l.content.split("\n"),ap=null!==n&&n!==l.content||ai,aq=!aj&&!Y&&bl();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:bj(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:l.language}),"source"===x&&!G&&(0,L.jsx)("span",{children:k("desktop.lines",{count:ao.length})}),(0,L.jsx)("span",{children:qx(l.size)}),ap&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>y("source"),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:"source"===x?"var(--bg-selected)":"var(--bg-hover)",color:"source"===x?"var(--text)":"var(--text-muted)",fontWeight:"source"===x?600:400},children:k("desktop.source")}),(0,L.jsxs)("button",{onClick:()=>y("diff"),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:"diff"===x?"var(--bg-selected)":"var(--bg-hover)",color:"diff"===x?"var(--text)":"var(--text-muted)",fontWeight:"diff"===x?600:400},children:[k("desktop.diff")," ",B>0&&(0,L.jsxs)("span",{style:{color:"var(--git-status-added)",marginLeft:2},children:["+",B]})]})]}),"source"===x&&!v&&!G&&(0,L.jsx)("button",{onClick:()=>A(a=>!a),title:z?k("desktop.disableWordWrap"):k("desktop.enableWordWrap"),style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:z?"var(--bg-selected)":"var(--bg-hover)",color:z?"var(--text)":"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:z?600:400},children:k("desktop.wrap")}),al&&"source"===x&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>w(!1),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:v?"var(--bg-hover)":"var(--bg-selected)",color:v?"var(--text-muted)":"var(--text)",fontWeight:v?400:600},children:k("desktop.code")}),(0,L.jsx)("button",{onClick:()=>w(!0),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:v?"var(--bg-selected)":"var(--bg-hover)",color:v?"var(--text)":"var(--text-muted)",fontWeight:v?600:400},children:k("desktop.preview")})]}),am&&"source"===x&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>w(!0),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:v?"var(--bg-selected)":"var(--bg-hover)",color:v?"var(--text)":"var(--text-muted)",fontWeight:v?600:400},children:k("desktop.preview")}),(0,L.jsx)("button",{onClick:()=>w(!1),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:v?"var(--bg-hover)":"var(--bg-selected)",color:v?"var(--text-muted)":"var(--text)",fontWeight:v?400:600},children:k("desktop.raw")})]}),G?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{type:"button",onClick:()=>void ae(),disabled:O,title:k("files.saveHint"),"aria-label":k("files.save"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-selected)",color:"var(--text)",cursor:"pointer"},children:(0,L.jsx)(qk,{size:13,"aria-hidden":"true"})}),(0,L.jsx)("button",{type:"button",onClick:ac,disabled:O,title:k("files.cancelEdit"),"aria-label":k("files.cancelEdit"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(Z,{size:13,"aria-hidden":"true"})})]}):"source"===x&&aq?(0,L.jsx)("button",{type:"button",onClick:aa,title:k("files.edit"),"aria-label":k("files.edit"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(ad,{size:13,"aria-hidden":"true"})}):null,(e||f)&&!G&&(0,L.jsx)("button",{type:"button",onPointerDown:a=>a.preventDefault(),onClick:()=>{D&&f?ak(D):e?.(bj(a,b),!1)},title:D?k("desktop.mentionSelectedLines",{start:D.startLine,end:D.endLine}):k("desktop.mentionFile"),"aria-label":D?k("desktop.mentionSelectedLines",{start:D.startLine,end:D.endLine}):k("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:"@"}),!G&&(0,L.jsx)(qp,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{ref:F,style:{flex:1,overflow:"auto",background:"var(--bg)"},children:G?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[S&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 12px",borderBottom:"1px solid var(--border)",background:"rgba(214,168,75,0.14)",color:"#d6a84b",fontSize:11,flexShrink:0},children:[(0,L.jsx)("span",{style:{flex:1},children:k("files.externalModified")}),(0,L.jsx)("button",{type:"button",onClick:()=>{(!X||window.confirm(k("files.reloadOverwriteConfirm")))&&_(a).then(a=>{a&&(J(a.content),N(a.content),T(!1))})},disabled:O,style:{padding:"2px 8px",fontSize:11,border:"1px solid #d6a84b",borderRadius:4,background:"transparent",color:"#d6a84b",cursor:"pointer"},children:k("files.reload")})]}),Q&&(0,L.jsx)("div",{style:{padding:"5px 12px",borderBottom:"1px solid var(--border)",background:"rgba(248,113,113,0.14)",color:"#f87171",fontSize:11,flexShrink:0},children:k("files.saveFailed",{error:Q})}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,L.jsx)("div",{ref:V,"aria-hidden":"true",style:{...qr,height:"100%",overflow:"hidden",whiteSpace:"pre",pointerEvents:"none"},children:I.split("\n").map((a,b)=>`${b+1}
36
+ ${c}`):f=c;let p=f,q=e?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),r={role:"user",content:q?.length?[...c.trim()?[{type:"text",text:c}]:[],...q]:c,timestamp:Date.now()};x(a=>[...a,r]),cc.current=qb(r),cb.current=i,"goal"!==au.current||h||(aw.current=g,aC(a=>({...a,status:"running",goalText:g,turnsUsed:0,noProgressTurns:0,tokensUsed:0})),aE.current=!0),bU.current=!0,O(!0),a$(h?{kind:"running_command"}:{kind:"waiting_model"}),F({type:"start"}),b2.current=!0,a0(!0),b3.current=!0;let s=e?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),t=null,u=!1;try{if(m&&d){let a=bT.current??await b9.current,b=a??await cw();if(b){t=b,cv(1,c),ad&&(aS(ad),a&&await pX(b,{type:"set_model",provider:ad.provider,modelId:ad.modelId}));let d=await Promise.race([cB(b).then(()=>!0).catch(()=>!1),p7(4e3).then(()=>!1)]);u=!0,await pX(b,{type:"prompt",message:p,...s?.length?{images:s}:{}}),d||cM(b,i),"goal"!==au.current||h||pX(b,{type:"goal_start",goalText:g}).catch(()=>{})}else throw Error("Unable to create a session for this message")}else if(b){t=b.id;let a=await Promise.race([cB(b.id).then(()=>!0).catch(()=>!1),p7(4e3).then(()=>!1)]);u=!0,await pX(b.id,{type:"prompt",message:p,...s?.length?{images:s}:{}}),a||cM(b.id,i),"goal"!==au.current||h||pX(b.id,{type:"goal_start",goalText:g}).catch(()=>{})}h&&t&&cM(t,i)}catch(b){if(console.error("Failed to send message:",b),u&&t)return void cM(t,i);if(bW.current=!1,cz(),b instanceof p6){let a=cc.current;a&&x(b=>{let c=b[b.length-1];return c?.role==="user"&&qb(c)===a?b.slice(0,-1):b}),cE({type:"error",message:b.message})}else{let c=cc.current;c&&x(a=>{let b=a[a.length-1];return b?.role==="user"&&qb(b)===c?a.slice(0,-1):a}),a.chatInputRef?.current?.replaceMessage?.(r),cE({type:"error",message:`Failed to send message: ${b instanceof Error?b.message:String(b)}`})}cc.current=null,bU.current=!1,O(!1),a$(null),F({type:"end"})}},[m,d,ad,b,cw,cB,cv,cM,cE,cy,cz,ck]),cQ=(0,M.useCallback)(async(c,d)=>{if(bU.current||b$.current)return;let e=`${d?"!!":"!"}${c}`;b$.current=!0,S({command:c,excludeFromContext:d}),Q(!0);try{let a=bT.current??b?.id??await cw();if(!a)throw Error("Unable to create a session for the shell command");cv(1,e),await pX(a,{type:"bash",command:c,excludeFromContext:d}),await cs(a)}catch(b){console.error("Failed to execute shell command:",b),cE({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{b$.current=!1,S(null),Q(!1)}},[cE,cw,cs,a.chatInputRef,cv,b]),cR=(0,M.useCallback)(async()=>{let a=bT.current;if(a)try{await pX(a,{type:b$.current?"abort_bash":"abort"})}catch(a){console.error("Failed to abort:",a)}},[]),cS=(0,M.useCallback)(async a=>{let b=bT.current;if(b){aO(a);try{let{cancelled:c,newSessionId:d}=await pX(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aO(null)}}},[g]),cT=(0,M.useCallback)(async a=>{let b=bT.current;b&&(pX(b,{type:"navigate_tree",targetId:a}).catch(()=>{}),v(a),await ct(b,a))},[ct]),cU=(0,M.useCallback)(async a=>{v(a);let b=bT.current;b&&(await ct(b,a),a&&pX(b,{type:"navigate_tree",targetId:a}).catch(()=>{}))},[ct]),cV=(0,M.useCallback)(async(a,b)=>{if(m){let c={provider:a,modelId:b};ch.current=c,ae(c),aS(c);let d=bT.current??await b9.current;if(!d)return;try{await pX(d,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bT.current;if(!c)return;let d=++cd.current,e=aP??o?.context.model??null;aQ({provider:a,modelId:b});try{await pX(c,{type:"set_model",provider:a,modelId:b})}catch(c){console.error("Failed to set model:",c),cd.current===d&&(aQ(e&&(e.provider!==a||e.modelId!==b)?e:null),cE({type:"error",message:c instanceof Error?c.message:String(c)}))}},[cE,aP,o?.context.model,m,ae]),cW=(0,M.useCallback)(async()=>{let a=bT.current;if(a&&!aT){aU(!0),aW(null),aY(null);try{let b=await pX(a,{type:"compact"});aY(qc(b,"manual")),await cs(a,!0)}catch(a){aW(a instanceof Error?a.message:String(a)),aY(null)}finally{aU(!1)}}},[aT,cs]),cX=(0,M.useCallback)(async a=>{let c=++ce.current,e=d??b?.cwd??"",f=e?`/api/models?cwd=${encodeURIComponent(e)}`:"/api/models",g=cf.current;g?.abort();let h=new AbortController;cf.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){let b=`HTTP ${a.status}`;try{let c=await a.json();c?.error&&(b=c.error)}catch{}throw Error(b)}let b=await a.json();if(c!==ce.current||n!==cg.current)return;ac(null),U(b.models),Y(b.thinkingLevels??{}),$(b.thinkingLevelMaps??{}),aa(b.modelScopeWarnings??[]);let d=b.modelList??[];if(W(d),m&&!bT.current){let a=(b.defaultModel?d.find(a=>a.id===b.defaultModel?.modelId&&a.provider===b.defaultModel?.provider):void 0)??d[0];ag(a?{provider:a.provider,modelId:a.id}:null);let c=a?b.thinkingLevelPins?.[`${a.provider}/${a.id}`]:void 0;null===ci.current&&aG(c??"auto")}}catch(a){if(h.signal.aborted||c!==ce.current||n!==cg.current)return;ac(a instanceof Error?a.message:String(a))}finally{a?.removeEventListener("abort",i),cf.current===h&&(cf.current=null)}},[m,n,d,b?.cwd]),cY=(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=bT.current??await cw(),g=a=>(a.handled&&(a.error?cE({type:"error",message:a.error}):"openSessionStats"!==a.action&&cE({type:"success",message:a.message??"Command completed"})),a);try{switch(c){case"compact":{if(!f||aT)return g({handled:!0,error:"No active session to compact"});aU(!0),aW(null),aY(null);let a=await pX(f,{type:"compact",...e?{customInstructions:e}:{}});return aY(qc(a,"manual")),await cs(f,!0)&&cv(),g({handled:!0,message:"Compacted context"})}case"reload":if(!f)return g({handled:!0,error:"No active session to reload"});return await pX(f,{type:"reload"}),await Promise.all([cs(f,!1,!0),cu(f),cx(),cX()]),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 pX(f,{type:"set_session_name",name:bQ(e)}),await cs(f)&&cv(),g({handled:!0,message:`Session renamed to ${e}`});case"session":{if(!f)return g({handled:!0,error:"No active session"});let a=await pX(f,{type:"get_session_stats"});return a&&a8(a),k?.(),g({handled:!0,action:"openSessionStats"})}case"copy":{if(!f)return g({handled:!0,error:"No active session"});let a=await pX(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&&aU(!1)}},[cE,cw,aT,cX,cs,cx,cu,cv,k]),cZ=(0,M.useCallback)(async a=>{let b=!1;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let a=await c.json(),d=a.state;if(a.running&&d&&(d.isStreaming||d.isPromptRunning||d.isBashRunning||d.isCompacting))return;b=!0}}catch{}if(b){bU.current=!1,O(!1),a$(null);return}cM(a)},[cM]),c$=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(c,{type:"steer",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to steer:",a),cZ(c)}},[cZ]),c_=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(!d)return;let e=c?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(d,{type:"prompt",message:a,streamingBehavior:b,...e?.length?{images:e}:{}})}catch(a){console.error("Failed to queue prompt:",a),cZ(d)}},[cZ]),c0=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return;let d=b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}));bU.current=!0,O(!0),a$(a=>a??{kind:"waiting_model"});try{await pX(c,{type:"follow_up",message:a,...d?.length?{images:d}:{}})}catch(a){console.error("Failed to follow up:",a),cZ(c)}},[cZ]),c1=(0,M.useCallback)(async()=>{let a=bT.current;if(a)try{await pX(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),c2=(0,M.useCallback)(async()=>{let b=bT.current;if(b)try{let c=await pX(b,{type:"clear_queue"});bj({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),cE({type:"error",message:"Failed to recall queued messages"})}},[a.chatInputRef,cE,bj]),c3=(0,M.useCallback)(async(a,b,c=!1)=>{let d=bT.current;if(!d)return bk;try{let e=await pX(d,{type:"resolve_recovery",keep:a,discard:b,continueRun:c}),f=e?.remaining??[];return bm(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;bV.current=!!c.isStreaming,bW.current=!!c.isPromptRunning,bU.current=!0,O(!0),a$(p0(c)),F({type:"start"}),cA(d),!c.isStreaming&&c.isPromptRunning&&cM(d)}catch{}})(),f}catch(a){return console.error("Failed to resolve queued message recovery:",a),cE({type:"error",message:"Failed to resolve queued message recovery"}),bk}},[bk,cE,cA,cM,bm]),c4=(0,M.useCallback)(async()=>{let a=bT.current;if(!a)return null;try{return await pX(a,{type:"export_queue"})}catch(a){return console.error("Failed to export queue:",a),cE({type:"error",message:"Failed to export queue"}),null}},[cE]),c5=(0,M.useCallback)(async a=>{let b=bT.current;if(!b)return null;try{let c=await pX(b,{type:"import_queue",entries:a});return c&&bj(p2(c)),c?.imported??0}catch(a){return console.error("Failed to import queue:",a),cE({type:"error",message:"Failed to import queue"}),null}},[cE,bj]),c6=(0,M.useCallback)(async a=>{let b=bT.current;if(!b)return null;try{let c=await pX(b,{type:"stage_recovery",entries:a});return c?.pendingRecovery&&bm(c.pendingRecovery),(c?.staged??0)>0&&bo(!0),c?.staged??0}catch(a){return console.error("Failed to stage imported queue:",a),cE({type:"error",message:"Failed to stage imported queue"}),null}},[cE,bm]),c7=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(!d)return!1;try{let e=await pX(d,{type:"move_queue",kind:a,fromIndex:b,toIndex:c});return e&&bj(p2(e)),!0}catch(a){return console.error("Failed to move queued message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to move queued message"}),!1}},[cE,bj]),c8=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return null;try{let d=await pX(c,{type:"recall_queue_item",kind:a,index:b});return d&&(void 0!==d.steering||void 0!==d.followUp)&&bj(p2(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),cE({type:"error",message:a instanceof Error?a.message:"Failed to recall queued message"}),null}},[cE,bj]),c9=(0,M.useCallback)(async(a,b,c,d)=>{let e=bT.current;if(!e)return!1;try{let f=await pX(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&&bj(p2(f)),!0}catch(a){return console.error("Failed to requeue message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to requeue message"}),!1}},[cE,bj]),da=(0,M.useCallback)(async(a,b)=>{let c=bT.current;if(!c)return!1;try{let d=await pX(c,{type:"remove_queue_item",kind:a,index:b});return d&&bj(p2(d)),!0}catch(a){return console.error("Failed to remove queued message:",a),cE({type:"error",message:a instanceof Error?a.message:"Failed to remove queued message"}),!1}},[cE,bj]),db=(0,M.useCallback)(async a=>{if(ci.current="auto"===a?null:a,aG(a),"auto"===a)return;let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),dc=(0,M.useCallback)(async a=>{let b=(0,pY.xG)(a);cm(a);let c=bT.current??await b9.current;if(c)try{await pX(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[cm]),dd=(0,M.useRef)(0),de=(0,M.useCallback)(async a=>{let b=bT.current??await b9.current,c=++dd.current;if(a){if(al.current="plan"===ah?"default":ah,ak(!0),am.current=!0,ax.current={sessionKey:"",signature:""},b)try{if(await pX(b,{type:"prompt",message:"/plan"}),dd.current!==c)return}catch(a){if(dd.current!==c)return;console.error("Failed to enter plan mode:",a)}}else if(ak(!1),am.current=!1,ax.current={sessionKey:"",signature:""},b){try{if(await pX(b,{type:"prompt",message:"/plan exit"}),dd.current!==c)return}catch(a){if(dd.current!==c)return;console.error("Failed to exit plan mode:",a)}if(dd.current!==c)return;try{let a=al.current;await pX(b,{type:"set_tools",toolNames:(0,pY.xG)(a)})}catch(a){console.error("Failed to restore tools after plan exit:",a)}}},[ah]),df=(0,M.useCallback)(a=>{ao(a);let b=bT.current;if(!b){ap.current=a;return}ap.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)})},[]),dg=(0,M.useCallback)(a=>{if(df({...ay.current,collaborationMode:bI(a)}),au.current=bI(a),ax.current={sessionKey:"",signature:""},"goal"!==a){aw.current=null,aE.current=!1,aC(a=>"idle"===a.status?a:{...a,status:"idle",goalText:null});let a=bT.current;a&&pX(a,{type:"goal_stop"}).catch(()=>{})}},[df]),dh=(0,M.useCallback)(async a=>{df({...ay.current,tokenMode:bJ(a)});let b=bT.current??await b9.current;if(b)try{if("economy"!==a||am.current){if("economy"!==a){let a=am.current?pY.SC:(0,pY.xG)("plan"===ah?"default":ah);await pX(b,{type:"set_tools",toolNames:a})}}else await pX(b,{type:"set_tools",toolNames:[...bL]})}catch(a){console.error("Failed to apply token mode tools:",a)}},[df,ah]),di=(0,M.useCallback)(async a=>{df({...ay.current,toolApprovalMode:bK(a)});let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_approval_mode",mode:bK(a)})}catch(a){console.error("Failed to apply approval mode:",a)}},[df]),dj=(0,M.useCallback)(async a=>{df({...ay.current,permissionRules:a});let b=bT.current??await b9.current;if(b)try{await pX(b,{type:"set_approval_policy",policy:a})}catch(a){console.error("Failed to apply permission rules:",a)}},[df]),dk=(0,M.useCallback)(async(a,b,c)=>{let d=bT.current;if(d)try{await pX(d,{type:"resolve_approval",id:a,approve:b,reason:c})}catch(a){console.error("Failed to resolve approval:",a)}finally{aA(b=>b.filter(b=>b.id!==a))}},[]),dl=(0,M.useCallback)(a=>{aw.current=a},[]),dm=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aw.current=b,aC(a=>({...a,status:"running",goalText:b,turnsUsed:0,noProgressTurns:0,tokensUsed:0,startedAt:Date.now()}));let c=bT.current;c&&pX(c,{type:"goal_start",goalText:b}).catch(()=>{})},[]),dn=(0,M.useCallback)(()=>{if("running"!==aD.current.status)return;aC(a=>({...a,status:"paused"}));let a=bT.current;a&&pX(a,{type:"goal_pause"}).catch(()=>{})},[]),dp=(0,M.useCallback)(()=>{let a=aD.current;if("paused"!==a.status&&"blocked"!==a.status)return;aC(a=>({...a,status:"running"}));let b=bT.current;b&&pX(b,{type:"goal_resume"}).catch(()=>{})},[]),dq=(0,M.useCallback)(()=>{aE.current=!1,aw.current=null,aC(a=>({...a,status:"idle",goalText:null,turnsUsed:0,noProgressTurns:0}));let a=bT.current;a&&pX(a,{type:"goal_stop"}).catch(()=>{})},[]),dr=(0,M.useCallback)(a=>{let b=a.trim();if(!b)return;aC(a=>({...a,goalText:b}));let c=bT.current;c&&pX(c,{type:"goal_edit",goalText:b}).catch(()=>{})},[]);bp.map(a=>`${a.id}:${a.status}:${a.completedAt??""}`).join("|"),(0,M.useRef)(bp).current=bp;let ds=(0,M.useCallback)(()=>{let a=b8.current,b=b1.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);b4.current=e>=d-150,b6.current=Date.now()+700,a.scrollTo({top:e,behavior:"smooth"})},[]);(0,M.useCallback)(a=>{if(a instanceof KeyboardEvent){if(!p5.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))return}else if(a instanceof PointerEvent){let b=b8.current;if(b&&a.target instanceof Element&&!b.contains(a.target))return}b5.current=Date.now()+1200},[]),(0,M.useCallback)(()=>{let a=b8.current;if(a){let{scrollTop:b,clientHeight:c,scrollHeight:d}=a;b4.current=b+c>=d-150}if(Date.now()<b5.current){b3.current=!1;return}Date.now()<b6.current||(b3.current=!1)},[]),(0,M.useRef)(null),b?.id;let dt=o?.tree??[];return{data:o,loading:q,error:s,activeLeafId:u,messages:w,entryIds:y,historyCursor:A,hasEarlierMessages:C,streamState:E,agentRunning:N,bashRunning:P,pendingBash:R,modelNames:T,modelList:V,modelThinkingLevels:X,modelThinkingLevelMaps:Z,modelScopeWarnings:_,modelsError:ab,newSessionModel:ad,toolPreset:ah,thinkingLevel:aF,retryInfo:aH,contextUsage:aJ,systemPrompt:aL,forkingEntryId:aN,isCompacting:aT,compactError:aV,compactResult:aX,currentModel:cp,displayModel:cq,sessionStats:cr,tokenRate:G,planMode:aj,subagents:bp,collaborationMode:aq,tokenMode:ar,toolApprovalMode:as,permissionRules:at,modeSettings:an,approvalRequests:az,handleCollaborationModeChange:dg,handleTokenModeChange:dh,handleToolApprovalModeChange:di,handlePermissionRulesChange:dj,resolveApproval:dk,setActiveGoalText:dl,goalState:aB,handleGoalStart:dm,handleGoalPause:dn,handleGoalResume:dp,handleGoalStop:dq,handleGoalEdit:dr,slashCommands:a1,slashCommandsLoading:a3,queuedMessages:bh,pendingRecovery:bk,recoveryIsImport:bn,notices:a5.visible,extensionDialog:a9,extensionCustomUi:bb,extensionStatuses:bd,extensionWidgets:bf,respondToExtensionUi:cC,sendExtensionCustomInput:cD,agentPhase:aZ,isNew:m,promptAnchorActive:a_,branchTree:dt,sessionIdRef:bT,eventSourceRef:bB,messagesEndRef:b7,scrollContainerRef:b8,lastUserMsgRef:b1,pendingScrollToUserRef:b2,initialScrollDoneRef:b0,scrollUserMsgToTop:ds,handleSend:cP,executeBash:cQ,handleAbort:cR,handleFork:cS,handleNavigate:cT,handleModelChange:cV,handleCompact:cW,handleSteer:c$,handleFollowUp:c0,handlePromptWithStreamingBehavior:c_,handleAbortCompaction:c1,handleRecallQueue:c2,resolveRecovery:c3,exportQueueData:c4,importQueueData:c5,stageQueueImport:c6,moveQueuedMessage:c7,recallQueuedMessage:c8,requeueAt:c9,removeQueuedMessage:da,handleBuiltinSlashCommand:cY,handleToolPresetChange:dc,handleThinkingLevelChange:db,handlePlanModeChange:de,loadTools:cu,loadSlashCommands:cx,reloadModels:cX,setActiveLeafId:v,setData:p,setMessages:x,loadContext:ct,dispatch:F,setAgentRunning:O,setForkingEntryId:aO,handleLeafChange:cU,handleAgentEventRef:b_}}({session:a,newSessionCwd:b,onAgentEnd:F,onSessionCreated:e,onSessionForked:f,modelsRefreshKey:g,chatInputRef:h,onBranchDataChange:i,onSystemPromptChange:j,onSessionStatsPanelOpen:m,onSubagentsChange:l}),[bn,bo]=(0,M.useState)(!1),{balance:bp,refresh:bq,refreshSoon:br}=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.useRef)(null),i=(0,M.useCallback)(async()=>{e.current?.abort();let a=new AbortController;e.current=a;try{let c=await fetch("/api/deepseek/balance",{signal:a.signal,cache:"no-store"}),e=await c.json();if(!g.current)return;if(e?.available&&null!=e.totalBalance){let a=h.current;(null===a||a.available!==e.available||a.reason!==e.reason||a.currency!==e.currency||a.totalBalance!==e.totalBalance||a.grantedBalance!==e.grantedBalance||a.toppedUpBalance!==e.toppedUpBalance)&&(h.current=e,b(e)),d(!1)}else null===h.current&&d(!0)}catch{if(!g.current)return;null===h.current&&d(!0)}},[]),j=(0,M.useCallback)(()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,i()},2e3)},[i]);return{balance:a,failed:c,refresh:i,refreshSoon:j}}(),bs=ag?.provider==="deepseek";(0,M.useRef)(null);let bt=(0,M.useMemo)(()=>{let a=N.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:l$(a.model)?l_(a.model,b):0,costUSD:l$(a.model)?0:b.cost?.total??0}},[N]),[bu,bv]=(0,M.useState)(!1),[bw,bx]=(0,M.useState)(null);(0,M.useRef)(!1);let by=(0,M.useCallback)(()=>{bv(!1);let a=bz.current;"plan"===a6&&a9("normal"),a5(!1).then(()=>{a&&aH(C("tasks.planReviewExecutePrompt",{plan:a}))})},[a5,aH,C,a6,a9]),bz=(0,M.useRef)(null),bA=(0,M.useCallback)(a=>{bv(!1),aP(a)},[aP]),bB=(0,M.useCallback)(()=>{bv(!1),"plan"===a6&&a9("normal"),a5(!1)},[a5,a6,a9]),[bC,bD]=(0,M.useState)(!1),[bE,bR]=(0,M.useState)(!1),[bS,bT]=(0,M.useState)(!1),bU=(0,M.useCallback)(()=>{let a=aC.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight;bD(a.scrollTop>1),bR(b>1),bT(b>240)},[aC]),bV=(0,M.useCallback)(()=>{window.requestAnimationFrame(()=>{let a=aC.current,b=aB.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(),bU(),window.setTimeout(d,200)})},[aB,aC,bU,h]);(0,M.useRef)(!1);let bW=(0,M.useRef)(null),bX=(0,M.useRef)([]),bY=(0,M.useMemo)(()=>({getOffsetForIndex:a=>bW.current?.getOffsetForIndex(a)?.[0]??0,sizeFor:a=>{let b=bW.current;if(!b)return 0;let c=b.measurementsCache[a];return c?.size??b.options.estimateSize?.(a)??0},totalHeight:()=>bW.current?.getTotalSize()??0,refToItemIndex:a=>bX.current[a],itemCount:bX.current.length}),[]);ah&&[ah.sessionId,ah.sessionFile??"",ah.sessionName??"",ah.userMessages,ah.assistantMessages,ah.toolCalls,ah.toolResults,ah.totalMessages,ah.tokens.input,ah.tokens.output,ah.tokens.cacheRead,ah.tokens.cacheWrite,ah.tokens.total,ah.cost??0,ah.totalActiveMs??0].join("|"),(0,M.useRef)(ah).current=ah,ab&&(ab.percent,ab.contextWindow,ab.tokens),(0,M.useRef)(ab).current=ab;let{isDragOver:bZ,handleDragEnter:b$,handleDragOver:b_,handleDragLeave:b0,handleDrop:b1}=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(Q){let b=a.filter(a=>a.type.startsWith("image/"));b.length&&h?.current?.addImages(b);return}h?.current?.addFiles(a,b)},[Q,h])),b2=N.filter(a=>"user"===a.role||"assistant"===a.role),b3=(0,M.useMemo)(()=>{let a=new Set,b=[];for(let d=N.length-1;d>=0&&b.length<50;d-=1){var c;let e="user"!==(c=N[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},[N]),b4=(v=b2.length,(w=(0,M.useRef)([])).current=Array(v).fill(null).map((a,b)=>w.current[b]??null),w),b5=aw&&0===N.length&&!P.isStreaming&&!Q,b6=a?.cwd??b??void 0,b7=(0,M.useMemo)(()=>(function(a,b,c){let d=new Map;for(let b of a)"toolResult"===b.role&&d.set(b.toolCallId,b);let e=-1;for(let b=a.length-1;b>=0;b--)if("user"===a[b].role){e=b;break}let f=new Map,g=0;a.forEach((a,b)=>{("user"===a.role||"assistant"===a.role)&&f.set(b,g++)});let h=[];for(let e=0;e<a.length;){let f,g=a[e],i="custom"===g.role&&"compaction"===g.customType;if("user"!==g.role&&!i){h.push({kind:"single",idx:e}),e+=1;continue}let j=e,k=j+1;for(;k<a.length&&"user"!==a[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&&ce(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}(a,j,k);if(-1===l){h.push({kind:"turn",userIdx:j,endIdx:k,startsCompactionTurn:i,finalAssistantIdx:l,visibleProcessIndices:[],processBlocks:[],finalAnswerMessage:null,writtenFiles:void 0}),e=k;continue}let m=[];for(let a=j+1;a<l;a++)m.push(a);let n=m.filter(b=>co(a[b])),o=a[l],p=ce(o),q=p.processBlocks.length>0?cp(o,p.processBlocks,{omitUsage:!0}):null,r=p.answerBlocks.length>0?cp(o,p.answerBlocks):null,s=cj(a,b,n,d);if(q&&(s=s.concat(ci(o,{messageIndex:l,entryId:b[l],toolResults:d}).processBlocks)),r){let b=[];for(let c=j+1;c<=l;c++){let d=a[c];if(d?.role==="assistant")for(let a of d.content??[])b.push(a)}f=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 cm(c)}(g,c);h&&(d.has(h)||(d.add(h),e.push({filePath:h})))}return e}(b,d,c)}h.push({kind:"turn",userIdx:j,endIdx:k,startsCompactionTurn:i,finalAssistantIdx:l,visibleProcessIndices:n,processBlocks:s,finalAnswerMessage:r,writtenFiles:f}),e=k}return{toolResultsMap:d,lastUserIdx:e,visibleRefIndexByMessage:f,items:h}})(N,O,b6),[N,O,b6]),b8=ag?V[`${ag.provider}:${ag.modelId}`]??null:null,b9=ag?W[`${ag.provider}:${ag.modelId}`]??null:null,ca=(0,M.useCallback)(()=>{Z()},[Z]),cb=(0,M.useCallback)(a=>{a5(a),a&&"plan"!==a6?a9("plan"):a||"plan"!==a6||a9("normal")},[a5,a9,a6]),cc=(0,M.useCallback)(a=>{a9(a),"plan"!==a||a4?"plan"!==a&&a4&&a5(!1):a5(!0)},[a9,a5,a4]),cd=(0,L.jsx)(o8,{ref:h,onSend:aH,onBash:aI,tasksBoardEnabled:s,onAbort:aJ,onSteer:Q?aP:void 0,onFollowUp:Q?aR:void 0,onPromptWithStreamingBehavior:Q?aS:void 0,isStreaming:Q,model:ag,modelNames:T,modelList:U,modelScopeWarnings:X,modelsError:Y,onRetryModels:ca,onModelChange:aN,compactResult:af,toolPreset:$,onToolPresetChange:a||aw?a1:void 0,planMode:a4,onPlanModeChange:cb,collaborationMode:a6,tokenMode:a7,toolApprovalMode:a8,onCollaborationModeChange:cc,onTokenModeChange:ba,onToolApprovalModeChange:bb,goalState:be,onGoalStart:bf,onGoalPause:bg,onGoalResume:bh,onGoalStop:bi,thinkingLevel:_,onThinkingLevelChange:a||aw?a2:void 0,availableThinkingLevels:b8,thinkingLevelMap:b9,retryInfo:aa,queuedMessages:al,inputHistory:b3,onRecallQueue:aU,onMoveQueue:aY,onRecallOne:aZ,onRequeueAt:a$,onRemoveQueueItem:a_,slashCommands:aj,slashCommandsLoading:ak,onLoadSlashCommands:a3,onBuiltinCommand:a0,onAudioUnlock:A,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),cf=as.filter(a=>"belowEditor"!==a.placement),cg=as.filter(a=>"belowEditor"===a.placement),ch=ad?C("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}(av,C);return J?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-text-muted",children:C("desktop.loadingSession")}):K?(0,L.jsx)("div",{className:"flex h-full items-center justify-center text-red-400",children:K}):(0,L.jsxs)("div",{className:"relative flex h-full min-w-0 flex-col overflow-hidden",onDragEnter:b$,onDragOver:b_,onDragLeave:b0,onDrop:b1,children:[bZ&&(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"})]})]})]}),ap&&(0,L.jsx)(qh,{request:ap,onRespond:at}),aq&&(0,L.jsx)(qi,{request:aq,onInput:au}),!aw&&am.length>0&&!bn&&(0,L.jsx)(pb,{items:am,sessionId:a?.id,onResolve:aV,onExport:aW,onStageImport:aX,onDismiss:()=>bo(!0),mode:an?"import":"recovery"}),bc.length>0&&(0,L.jsx)(mD,{request:bc[0]??null,queuedCount:Math.max(0,bc.length-1),busy:!1,onResolve:(a,b)=>{let c=bc[0];c&&bd(c.id,a,b)}}),b5?(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"})]})}),B&&(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:10,marginBottom:18,marginTop:-14},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.14.5"]})]}),(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.3"]})]})]}),(0,L.jsx)("div",{style:{padding:"0 34px 6px 7px",paddingRight:B?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:B?"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.14.5"]})]}),(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.3"]})]})]})]})}),(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:B?16:34},children:(0,L.jsx)(qg,{notices:ao,align:"right"})}),"goal"===a6&&(0,L.jsx)(mA,{goalState:be,onPause:bg,onResume:bh,onStop:bi,onEdit:bj}),cd,(0,L.jsx)("div",{style:{padding:"0 16px 6px",paddingRight:B?16:34,marginTop:-15},children:(0,L.jsx)(py,{onViewFullHistory:q,cwd:b6,systemPrompt:r,sessionStats:ah,contextUsage:ab,hasSession:!!a,showChat:!0,showSoundLabel:!0,soundEnabled:x,onSoundToggle:y,onCompact:a?aO:void 0,onAbortCompaction:aT,isCompacting:ad,compactError:ae,isDeepSeekOfficial:bs,deepseekBalance:bp,lastTurnUsage:bt})})]})}):(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*!B,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(qg,{notices:ao,floating:!0,align:"right"})})}),(0,L.jsxs)("div",{className:"relative flex-1 min-h-0 min-w-0",children:[(0,L.jsx)("div",{ref:aC,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)(qe,{statuses:ar}),(0,L.jsx)(qf,{widgets:cf}),(()=>{let{toolResultsMap:b,lastUserIdx:c,visibleRefIndexByMessage:d,items:e}=b7,f=(e,f={})=>{let g=f.messageOverride??N[e],h="user"===g.role&&e>0&&"assistant"===N[e-1].role?O[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<N.length;a++){let b=N[a].role;if("user"===b)break;if("assistant"===b){l=!1;break}}l&&P.isStreaming&&e===N.length-1&&(l=!1)}void 0!==f.showTimestamp&&(l=f.showTimestamp);let m=(0,L.jsx)(l4,{message:g,toolResults:b,modelNames:T,cwd:b6,onOpenFile:o,entryId:O[e],onFork:Q||aw||0===e&&"user"===g.role?void 0:aK,forking:ac===O[e],onNavigate:Q?void 0:aL,prevAssistantEntryId:Q?void 0:h,onEditContent:G,onQuoteReply:H,onCreateTask:I,showTimestamp:l,prevTimestamp:e>0?N[e-1].timestamp:void 0,sessionId:a?.id??aA.current??void 0,writtenFiles:f.writtenFiles,subagents:t,onOpenSubagent:u},`${k}-view-${e}`);return i&&!1!==f.attachRef&&void 0!==j?(0,L.jsx)("div",{ref:a=>{b4.current[j]=a,e===c&&(aD.current=a,a&&aE.current&&(aE.current=!1,aF.current=!0,aG()))},children:m},`${k}-${e}`):m},g=[],h=[],i=(a,b)=>{g.push(a),h.push(b)};for(let g of e){if("single"===g.kind){i(f(g.idx),d.get(g.idx));continue}let{userIdx:e,endIdx:h,startsCompactionTurn:j,finalAssistantIdx:k}=g;if((Q||P.isStreaming)&&h===N.length&&(e===c||j)){i(f(e),d.get(e));let c=P.streamingMessage?.role==="assistant",g=[],j=!c&&k>=0?k:h;for(let a=e+1;a<j;a++)co(N[a])&&g.push(a);let l=cj(N,O,g,b),m=null;if(!c&&k>=0){let a=N[k],c=ce(a,{isStreaming:!0}),d=ci(a,{messageIndex:k,entryId:O[k],toolResults:b,isStreaming:!0});l=l.concat(d.processBlocks),c.answerBlocks.length>0&&(m=cp(a,c.answerBlocks,{omitUsage:!0}))}if(c){let a=P.streamingMessage,c=ce(a,{isStreaming:!0}),d=ci(a,{messageIndex:N.length,toolResults:b,isStreaming:!0});l=l.concat(d.processBlocks),c.answerBlocks.length>0&&(m=cp(a,c.answerBlocks,{omitUsage:!0}))}if(l.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=>{b4.current[b]=a},children:(0,L.jsx)(nv,{blocks:l,isStreaming:Q||P.isStreaming,cwd:b6,onOpenFile:o,sessionId:a?.id??aA.current??void 0,tokenRate:ai})},`live-process-group-${e}`),b)}m&&i((0,L.jsx)(l4,{message:m,isStreaming:!0,modelNames:T,cwd:b6,onOpenFile:o,onQuoteReply:H},`live-answer-${e}`),k>=0?d.get(k):void 0);continue}if(-1===k){for(let a=e;a<h;a++)i(f(a),d.get(a));continue}i(f(e),d.get(e));let{processBlocks:l,finalAnswerMessage:m,writtenFiles:n,visibleProcessIndices:p}=g;if(l.length>0){let b=p.map(a=>d.get(a)).find(a=>"number"==typeof a)??(m?void 0:d.get(k));i((0,L.jsx)("div",{ref:void 0===b?void 0:a=>{b4.current[b]=a},children:(0,L.jsx)(nv,{blocks:l,isStreaming:!1,defaultExpanded:!m,onAutoExpanded:void 0,cwd:b6,onOpenFile:o,sessionId:a?.id??aA.current??void 0})},`process-group-${e}-${k}`),b)}m&&i(f(k,{messageOverride:m,writtenFiles:n}),d.get(k));for(let a=k+1;a<h;a++)i(f(a),d.get(a))}let j=[];return h.forEach((a,b)=>{void 0!==a&&(j[a]=b)}),bX.current=j,(0,L.jsx)(pO,{scrollElementRef:aC,items:g,virtualizerRef:bW})})(),ch&&(ad||Q&&!P.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:[ch,av?.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"}})]})}),S&&(0,L.jsx)(l4,{message:{role:"bashExecution",command:S.command,output:"",excludeFromContext:S.excludeFromContext},sessionId:a?.id??aA.current??void 0}),R&&!S&&(0,L.jsx)("div",{className:"py-2 text-[13px] text-text-muted",children:(0,L.jsx)("span",{className:"animate-[pulse_1.5s_infinite]",children:C("desktop.runningShellCommand")})}),(0,L.jsx)("div",{style:{height:96}}),(0,L.jsx)("div",{ref:aB}),(0,L.jsx)(mt,{open:bu,planText:bw,busy:Q,onExecute:by,onFeedback:bA,onExit:bB,onClose:()=>bv(!1)})]})})}),bC&&(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"}),bE&&(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"}),bS&&(0,L.jsxs)("button",{type:"button",onClick:()=>bV(),title:C("desktop.scrollToBottom"),"aria-label":C("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)(lN,{size:12,weight:"bold","aria-hidden":"true"}),C("desktop.scrollToBottom")]})]}),B?null:(0,L.jsx)(pR,{messages:N,streamingMessage:P.streamingMessage,scrollContainer:aC,messageRefs:b4,virtualizer:bY})]}),(0,L.jsxs)("div",{className:"relative z-10",children:[(0,L.jsx)("div",{style:{padding:"0 16px",paddingRight:B?16:34},children:(0,L.jsx)("div",{style:{maxWidth:820,margin:"0 auto"},children:(0,L.jsx)(qf,{widgets:cg})})}),cd,(0,L.jsx)("div",{className:`session-info-bar-wrap${B?" is-mobile":""}`,children:(0,L.jsx)("div",{className:"session-info-bar-inner",children:(0,L.jsx)(py,{onViewFullHistory:q,cwd:b6,systemPrompt:r,sessionStats:ah,contextUsage:ab,hasSession:!!a,showChat:!0,soundEnabled:x,onSoundToggle:y,onCompact:a?aO:void 0,onAbortCompaction:aT,isCompacting:ad,compactError:ae,branchTree:ax,branchActiveLeafId:ay,onBranchLeafChange:az,isDeepSeekOfficial:bs,deepseekBalance:bp,lastTurnUsage:bt})})})]})]})]})}function qe({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 qf({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 qg({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 qh({request:a,onRespond:b}){let{t:c}=(0,aM.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 qi({request:a,onInput:b}){let{t:c}=(0,aM.s)(),d=(0,M.useRef)(null),e=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=b8(d).trimEnd();if(b.test(a))continue;let e=d,f=cb(e);("│"===f||"┃"===f)&&" "===cb(e=ca(e,0))&&(e=ca(e,0));let g=function(a){let b=b9(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(e),h=g>=0?b9(e)[g]?.char:void 0;("│"===h||"┃"===h)&&(e=ca(e,g)),c.push(function(a){let b=a;for(;;){let a=b9(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&&""===b8(c[0]).trim();)c.shift();for(;c.length>0&&""===b8(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(b5.lastIndex=0;null!==(b=b5.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=b6[d-30];else if(d>=90&&d<=97)c.color=b7[d-90];else if(d>=40&&d<=47)c.backgroundColor=b6[d-40];else if(d>=100&&d<=107)c.backgroundColor=b7[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 b6[a];if(a>=8&&a<16)return b7[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 qj=new Map([["bold",M.createElement(M.Fragment,null,M.createElement("path",{d:"M222.14,69.17,186.83,33.86A19.86,19.86,0,0,0,172.69,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V83.31A19.86,19.86,0,0,0,222.14,69.17ZM164,204H92V160h72Zm40,0H188V156a20,20,0,0,0-20-20H88a20,20,0,0,0-20,20v48H52V52H171l33,33ZM164,84a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h56A12,12,0,0,1,164,84Z"}))],["duotone",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216,83.31V208a8,8,0,0,1-8,8H176V152a8,8,0,0,0-8-8H88a8,8,0,0,0-8,8v64H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H172.69a8,8,0,0,1,5.65,2.34l35.32,35.32A8,8,0,0,1,216,83.31Z",opacity:"0.2"}),M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM168,208H88V152h80Zm40,0H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["fill",M.createElement(M.Fragment,null,M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM208,208H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["light",M.createElement(M.Fragment,null,M.createElement("path",{d:"M217.9,73.42,182.58,38.1a13.9,13.9,0,0,0-9.89-4.1H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V83.31A13.9,13.9,0,0,0,217.9,73.42ZM170,210H86V152a2,2,0,0,1,2-2h80a2,2,0,0,1,2,2Zm40-2a2,2,0,0,1-2,2H182V152a14,14,0,0,0-14-14H88a14,14,0,0,0-14,14v58H48a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H172.69a2,2,0,0,1,1.41.58L209.42,81.9a2,2,0,0,1,.58,1.41ZM158,72a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h56A6,6,0,0,1,158,72Z"}))],["regular",M.createElement(M.Fragment,null,M.createElement("path",{d:"M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM168,208H88V152h80Zm40,0H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z"}))],["thin",M.createElement(M.Fragment,null,M.createElement("path",{d:"M216.49,74.83,181.17,39.51A11.93,11.93,0,0,0,172.69,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V83.31A11.93,11.93,0,0,0,216.49,74.83ZM172,212H84V152a4,4,0,0,1,4-4h80a4,4,0,0,1,4,4Zm40-4a4,4,0,0,1-4,4H180V152a12,12,0,0,0-12-12H88a12,12,0,0,0-12,12v60H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H172.69a4,4,0,0,1,2.82,1.17l35.32,35.32A4,4,0,0,1,212,83.31ZM156,72a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h56A4,4,0,0,1,156,72Z"}))]]),qk=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qj}));qk.displayName="FloppyDiskIcon";let ql={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"},qm={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 qn(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function qo(a,b,c,d={}){let e=bh(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 qp({filePath:a,sourceSessionId:b}){let{t:c}=(0,aM.s)();return(0,L.jsx)("a",{href:qo(a,"download",b),download:bi(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)(aH,{size:11,"aria-hidden":"true"})})}let qq={fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,tabSize:2},qr={fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6,padding:"12px 0 12px 16px",color:"var(--text-dim)",textAlign:"right",userSelect:"none"};async function qs(a,b){let c=await fetch(`/api/files/${bh(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error??`HTTP ${c.status}`);let d=await c.json();return"number"==typeof d.size?d.size:0}let qt={delete:"3px solid var(--git-status-deleted)",add:"3px solid var(--git-status-added)",edit:"3px solid var(--git-status-modified)"},qu="var(--git-status-deleted-bg)",qv="var(--git-status-added-bg)",qw="var(--git-status-added)";function qx(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function qy({oldContent:a,newContent:b}){let{t:c}=(0,aM.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?qu:"added"===a.kind?qv:"transparent",c=a.block?qt[a.block]:"3px solid transparent",d="added"===a.kind?qw:"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 qz({patch:a}){let b=lD(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?qu:"added"===a.kind?qv:"transparent",c=a.block?qt[a.block]:"3px solid transparent",d="added"===a.kind?qw:"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 qA({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=bi(a).toLowerCase().split(".").pop()??"",n=qo(a,"read",c,e?{v:e}:void 0),o=null!=g?qx(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:bj(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)(qp,{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 qB({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=bi(a).toLowerCase().split(".").pop()??"",n=qo(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:bj(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:qx(g)}),(0,L.jsx)(qp,{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 qC({filePath:a,cwd:b,sourceSessionId:c}){let{t:d}=(0,aM.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=qn(a),l="pdf"===k,m=l?qo(a,"read",c,e?{v:e}:void 0):qo(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:bj(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:"docx"===k?d("desktop.docxPreview"):"pdf"}),null!=g&&(0,L.jsx)("span",{children:qx(g)}),(0,L.jsx)(qp,{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:bi(a)}),style:{width:"100%",height:"100%",border:"none",background:l?"var(--bg)":"#eef1f5"}},m)})]})}function qD({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h}){let i;return null!==(ql[qn(a)]??null)?(0,L.jsx)(qA,{filePath:a,cwd:b,sourceSessionId:c}):null!==(qm[qn(a)]??null)?(0,L.jsx)(qB,{filePath:a,cwd:b,sourceSessionId:c}):null!==("pdf"===(i=qn(a))||"docx"===i?i:null)?(0,L.jsx)(qC,{filePath:a,cwd:b,sourceSessionId:c}):(0,L.jsx)(qE,{filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h})}function qE({filePath:a,cwd:b,sourceSessionId:c,onOpenFile:d,onAtMention:e,onMentionLines:f,initialDisplayMode:g,onFileSaved:h}){let i,j,{t:k}=(0,aM.s)(),[l,m]=(0,M.useState)(null),[n,o]=(0,M.useState)(null),[p,q]=(0,M.useState)(null),[r,s]=(0,M.useState)(!0),[t,u]=(0,M.useState)(null),[v,w]=(0,M.useState)(!1),[x,y]=(0,M.useState)("source"),[z,A]=(0,M.useState)(!1),[B,C]=(0,M.useState)(0),[D,E]=(0,M.useState)(null);(0,M.useRef)(null);let F=(0,M.useRef)(null),[G,H]=(0,M.useState)(!1),[I,J]=(0,M.useState)(""),[K,N]=(0,M.useState)(""),[O,P]=(0,M.useState)(!1),[Q,R]=(0,M.useState)(null),[S,T]=(0,M.useState)(!1),U=(0,M.useRef)(null),V=(0,M.useRef)(null),W=(0,M.useRef)(0);(0,M.useRef)(!1);let X=G&&I!==K,Y=!!(l?.content&&l.content.includes("\0")),$=(0,M.useCallback)(async a=>{if(!b)return void q(null);try{let c=new URLSearchParams({cwd:b,path:a}),d=await fetch(`/api/git/diff?${c.toString()}`),e=await d.json();q(d.ok&&e.supported&&"string"==typeof e.patch?e:null)}catch{q(null)}},[b]),_=(0,M.useCallback)((a,b=!1)=>fetch(qo(a,"read",c)).then(a=>a.json()).then(a=>a.error?(u(a.error),null):(b?(m(b=>(b&&o(b.content),a)),C(a=>a+1)):m(a),a)).catch(a=>(u(String(a)),null)),[c]),aa=(0,M.useCallback)(()=>{l&&!Y&&(J(l.content),N(l.content),R(null),T(!1),H(!0))},[l,Y]),ab=(0,M.useCallback)(()=>{H(!1),J(""),N(""),R(null),T(!1)},[]),ac=(0,M.useCallback)(()=>{(!X||window.confirm(k("files.unsavedChanges")))&&ab()},[X,ab,k]),ae=(0,M.useCallback)(async()=>{if(!l||O)return;let b=++W.current;P(!0),R(null);try{let c=await qs(a,I);if(b!==W.current)return;m(a=>a?{...a,content:I,size:c}:a),N(I),P(!1),ab(),$(a),h?.()}catch(a){if(b!==W.current)return;R(a instanceof Error?a.message:String(a)),P(!1)}},[l,O,I,a,ab,$,h]),af=(0,M.useCallback)(()=>{let a=U.current,b=V.current;a&&b&&(b.scrollTop=a.scrollTop)},[]),ag=(0,M.useCallback)(a=>{if("Tab"!==a.key||a.metaKey||a.ctrlKey||a.altKey)return;a.preventDefault();let b=a.currentTarget,{selectionStart:c,selectionEnd:d}=b;J(b.value.slice(0,c)+" "+b.value.slice(d)),requestAnimationFrame(()=>{let a=U.current;if(!a)return;let b=c+2;a.selectionStart=b,a.selectionEnd=b})},[]),ah=(0,M.useMemo)(()=>la(l?.content??""),[l?.content]),ai=p?.supported===!0&&"string"==typeof p.patch,aj=ai&&p?.status==="deleted",ak=(0,M.useCallback)(c=>{f&&c&&f(bj(a,b),c.startLine,c.endLine)},[b,a,f]);if(r)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:k("desktop.loadingFile")});if(aj&&!l)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:bj(a,b)}),(0,L.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)"},children:(0,L.jsx)(qz,{patch:p.patch})})]});if(t)return(0,L.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#f87171",fontSize:13},children:t});if(!l)return null;let al="html"===l.language,am="markdown"===l.language,an=(j=(i=bg(a).replace(/\/+$/,"")).lastIndexOf("/"))<0?"":0===j?"/":2===j&&/^[a-zA-Z]:\//.test(i)?i.slice(0,3):i.slice(0,j),ao=l.content.split("\n"),ap=null!==n&&n!==l.content||ai,aq=!aj&&!Y&&bl();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:bj(a,b)}),(0,L.jsx)("span",{style:{marginLeft:"auto"},children:l.language}),"source"===x&&!G&&(0,L.jsx)("span",{children:k("desktop.lines",{count:ao.length})}),(0,L.jsx)("span",{children:qx(l.size)}),ap&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>y("source"),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:"source"===x?"var(--bg-selected)":"var(--bg-hover)",color:"source"===x?"var(--text)":"var(--text-muted)",fontWeight:"source"===x?600:400},children:k("desktop.source")}),(0,L.jsxs)("button",{onClick:()=>y("diff"),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:"diff"===x?"var(--bg-selected)":"var(--bg-hover)",color:"diff"===x?"var(--text)":"var(--text-muted)",fontWeight:"diff"===x?600:400},children:[k("desktop.diff")," ",B>0&&(0,L.jsxs)("span",{style:{color:"var(--git-status-added)",marginLeft:2},children:["+",B]})]})]}),"source"===x&&!v&&!G&&(0,L.jsx)("button",{onClick:()=>A(a=>!a),title:z?k("desktop.disableWordWrap"):k("desktop.enableWordWrap"),style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:z?"var(--bg-selected)":"var(--bg-hover)",color:z?"var(--text)":"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:z?600:400},children:k("desktop.wrap")}),al&&"source"===x&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>w(!1),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:v?"var(--bg-hover)":"var(--bg-selected)",color:v?"var(--text-muted)":"var(--text)",fontWeight:v?400:600},children:k("desktop.code")}),(0,L.jsx)("button",{onClick:()=>w(!0),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:v?"var(--bg-selected)":"var(--bg-hover)",color:v?"var(--text)":"var(--text-muted)",fontWeight:v?600:400},children:k("desktop.preview")})]}),am&&"source"===x&&!G&&(0,L.jsxs)("div",{style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:[(0,L.jsx)("button",{onClick:()=>w(!0),style:{padding:"2px 8px",fontSize:11,border:"none",cursor:"pointer",background:v?"var(--bg-selected)":"var(--bg-hover)",color:v?"var(--text)":"var(--text-muted)",fontWeight:v?600:400},children:k("desktop.preview")}),(0,L.jsx)("button",{onClick:()=>w(!1),style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:"1px solid var(--border)",cursor:"pointer",background:v?"var(--bg-hover)":"var(--bg-selected)",color:v?"var(--text-muted)":"var(--text)",fontWeight:v?400:600},children:k("desktop.raw")})]}),G?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{type:"button",onClick:()=>void ae(),disabled:O,title:k("files.saveHint"),"aria-label":k("files.save"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-selected)",color:"var(--text)",cursor:"pointer"},children:(0,L.jsx)(qk,{size:13,"aria-hidden":"true"})}),(0,L.jsx)("button",{type:"button",onClick:ac,disabled:O,title:k("files.cancelEdit"),"aria-label":k("files.cancelEdit"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(Z,{size:13,"aria-hidden":"true"})})]}):"source"===x&&aq?(0,L.jsx)("button",{type:"button",onClick:aa,title:k("files.edit"),"aria-label":k("files.edit"),style:{height:20,minWidth:20,padding:"0 5px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border)",borderRadius:4,background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer"},children:(0,L.jsx)(ad,{size:13,"aria-hidden":"true"})}):null,(e||f)&&!G&&(0,L.jsx)("button",{type:"button",onPointerDown:a=>a.preventDefault(),onClick:()=>{D&&f?ak(D):e?.(bj(a,b),!1)},title:D?k("desktop.mentionSelectedLines",{start:D.startLine,end:D.endLine}):k("desktop.mentionFile"),"aria-label":D?k("desktop.mentionSelectedLines",{start:D.startLine,end:D.endLine}):k("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:"@"}),!G&&(0,L.jsx)(qp,{filePath:a,sourceSessionId:c})]}),(0,L.jsx)("div",{ref:F,style:{flex:1,overflow:"auto",background:"var(--bg)"},children:G?(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[S&&(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 12px",borderBottom:"1px solid var(--border)",background:"rgba(214,168,75,0.14)",color:"#d6a84b",fontSize:11,flexShrink:0},children:[(0,L.jsx)("span",{style:{flex:1},children:k("files.externalModified")}),(0,L.jsx)("button",{type:"button",onClick:()=>{(!X||window.confirm(k("files.reloadOverwriteConfirm")))&&_(a).then(a=>{a&&(J(a.content),N(a.content),T(!1))})},disabled:O,style:{padding:"2px 8px",fontSize:11,border:"1px solid #d6a84b",borderRadius:4,background:"transparent",color:"#d6a84b",cursor:"pointer"},children:k("files.reload")})]}),Q&&(0,L.jsx)("div",{style:{padding:"5px 12px",borderBottom:"1px solid var(--border)",background:"rgba(248,113,113,0.14)",color:"#f87171",fontSize:11,flexShrink:0},children:k("files.saveFailed",{error:Q})}),(0,L.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,L.jsx)("div",{ref:V,"aria-hidden":"true",style:{...qr,height:"100%",overflow:"hidden",whiteSpace:"pre",pointerEvents:"none"},children:I.split("\n").map((a,b)=>`${b+1}
37
37
  `).join("")}),(0,L.jsx)("textarea",{ref:U,value:I,onChange:a=>J(a.target.value),onScroll:af,onKeyDown:ag,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",wrap:"off",style:{flex:1,height:"100%",resize:"none",border:"none",outline:"none",background:"var(--bg)",color:"var(--text)",...qq,whiteSpace:"pre",overflow:"auto",padding:0,tabSize:2}})]})]}):"diff"===x&&ap?ai?(0,L.jsx)(qz,{patch:p.patch}):(0,L.jsx)(qy,{oldContent:n,newContent:l.content}):al&&v?(0,L.jsx)("iframe",{srcDoc:l.content,sandbox:"allow-scripts",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:k("desktop.htmlPreview")}):am&&v?(0,L.jsx)("div",{className:"markdown-body markdown-file-preview",style:{padding:"24px 32px"},children:(0,L.jsx)(fP,{remarkPlugins:ld,rehypePlugins:le,components:{h1:({children:a})=>(0,L.jsx)("h1",{id:k9(a),children:a}),h2:({children:a})=>(0,L.jsx)("h2",{id:k9(a),children:a}),h3:({children:a})=>(0,L.jsx)("h3",{id:k9(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)(ls,{code:e.replace(/\n$/,"")}):(0,L.jsx)(lv,{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?cn(a,an,b??an):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:ah})}):(0,L.jsx)(gu,{language:"text"===l.language?"plaintext":l.language,style:lf,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:z,children:l.content})})]})}let qF={running:"var(--accent)",completed:"#22c55e",failed:"#ef4444",stopped:"#d97706"},qG={running:"desktop.subagentsStatusRunning",completed:"desktop.subagentsStatusCompleted",failed:"desktop.subagentsStatusFailed",stopped:"desktop.subagentsStatusStopped"};function qH({agent:a,selected:b,onSelect:c}){let[d,e]=(0,M.useState)(!1),{t:f}=(0,aM.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=qF[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(qG[a.status])})]})}function qI({subagents:a,onSelect:b,selectedId:c}){let{t:d}=(0,aM.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)(an,{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)(qH,{agent:a,selected:a.id===c,onSelect:b},a.id))})]})}let qJ={user:{color:"var(--accent)"},assistant:{color:"var(--text)"},toolResult:{color:"var(--text-dim)"},bashExecution:{color:"var(--text-muted)"}};function qK({line:a,roleLabel:b}){let c=qJ[a.role]??qJ.toolResult;return(0,L.jsxs)("div",{style:{marginBottom:6},children:[(0,L.jsxs)("div",{style:{fontSize:10.5,fontWeight:600,color:c.color,marginBottom:2,fontFamily:"var(--font-mono)"},children:["[",b(a.role),"]"]}),(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 qL({agent:a,cwd:b,onBack:c}){let{t:d}=(0,aM.s)(),e=a=>d("user"===a?"desktop.transcriptRoleUser":"assistant"===a?"desktop.transcriptRoleAssistant":"toolResult"===a?"desktop.transcriptRoleResult":"desktop.transcriptRoleBash"),[f,g]=(0,M.useState)([]),[h,i]=(0,M.useState)(!0),[j,k]=(0,M.useState)(null),l=(0,M.useRef)(null),m=(0,M.useRef)(!0);(0,M.useCallback)(async(c=!1)=>{if(a.id&&b){c||i(!0);try{let d=new URLSearchParams({id:a.id,cwd:b}),e=await fetch(`/api/subagents/transcript?${d}`),f=await e.json();if(!e.ok||f.error){c||k(f.error??`HTTP ${e.status}`);return}g(f.lines??[]),k(null)}catch(a){c||k(a instanceof Error?a.message:String(a))}finally{i(!1)}}},[a.id,b]),(0,M.useRef)(a.status);let n=a.completedAt?a.completedAt-a.startedAt:void 0,o=a.tokens?.total??a.tokens?.input??a.tokens?.output,p="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)(T,{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:p,boxShadow:"running"===a.status?`0 0 0 0 ${p}`:"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!==o&&o>0&&(0,L.jsxs)("span",{children:[void 0===o?"":o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}k`:`${o}`," tokens"]}),void 0!==n&&(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`}(n)}),(0,L.jsx)("span",{style:{color:p},children:d(`desktop.subagentsStatus${"running"===a.status?"Running":"completed"===a.status?"Completed":"failed"===a.status?"Failed":"Stopped"}`)})]})]}),(0,L.jsx)("div",{ref:l,onScroll:a=>{let b=a.currentTarget;m.current=b.scrollHeight-b.scrollTop-b.clientHeight<40},style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",padding:"8px 10px",background:"var(--bg)"},children:h?(0,L.jsxs)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:[d("desktop.loading"),"…"]}):j?(0,L.jsx)("div",{style:{fontSize:12,color:"#ef4444",padding:"12px 4px"},children:j}):0===f.length?(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",padding:"12px 4px"},children:"running"===a.status?d("desktop.subagentsWaitingFirstMessage"):d("desktop.subagentsNoTranscript")}):(0,L.jsx)("div",{style:{paddingBottom:8},children:f.map((a,b)=>(0,L.jsx)(qK,{line:a,roleLabel:e},b))})})]})}function qM({tabs:a,activeTabId:b,onSelectTab:c,onCloseTab:d}){let{t:e}=(0,aM.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:bf(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)(Z,{size:11,"aria-hidden":"true"})})]},a.id)})})}let qN=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"}))]]),qO=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qN}));qO.displayName="PlugsConnectedIcon";let qP=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"}))]]),qQ=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qP}));qQ.displayName="MonitorIcon";let qR=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"}))]]),qS=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qR}));qS.displayName="ChatCenteredTextIcon";let qT=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"}))]]),qU=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qT}));qU.displayName="NetworkIcon";let qV=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"}))]]),qW=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qV}));qW.displayName="ChartBarIcon";let qX=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"}))]]),qY=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qX}));qY.displayName="TerminalWindowIcon";let qZ=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"}))]]),q$=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:qZ}));q$.displayName="RobotIcon";let q_=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"}))]]),q0=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:q_}));q0.displayName="DownloadIcon";let q1=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"}))]]),q2=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:q1}));q2.displayName="UploadIcon";let q3={"restore-script":"restore","generate-cmd":"cmd",keep:"keep","keep-with-warning":"warning",manual:"manual"};function q4({cwd:a}){let{t:b}=(0,aM.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)(q0,{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)(q2,{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:q3[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)(q2,{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)(lV,{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)(a4,{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 q5={position:"relative",width:40,height:22,borderRadius:11,border:"none",cursor:"pointer",padding:0,flexShrink:0,transition:"background 0.18s ease",outline:"none"},q6={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 q7({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:{...q5,background:a?"var(--accent)":"color-mix(in srgb, var(--border) 70%, var(--bg))"},children:(0,L.jsx)("span",{style:{...q6,left:a?21:3}})})]})}function q8({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 q9="pi-input-shortcut";function ra(){try{let a=localStorage.getItem(q9);return"ctrl-enter"===a?"ctrl-enter":"enter"}catch{return"enter"}}function rb(){let{t:a}=(0,aM.s)(),[b,c]=(0,M.useState)(ra),d=(0,M.useCallback)(a=>{c(a);try{localStorage.setItem(q9,a),window.dispatchEvent(new StorageEvent("storage",{key:q9,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)(q8,{title:a("desktop.inputShortcut"),description:a("desktop.inputShortcutDescription"),children:(0,L.jsx)(q7,{checked:"ctrl-enter"===b,onChange:a=>d(a?"ctrl-enter":"enter"),label:a("desktop.useCtrlEnter"),description:a("desktop.useCtrlEnterDescription")})})]})}let rc=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"}))]]),rd=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rc}));rd.displayName="PaintBrushIcon";let re=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"}))]]),rf=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:re}));rf.displayName="LinkIcon";let rg=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"}))]]),rh=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rg}));rh.displayName="ArrowSquareOutIcon";let ri=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"}))]]),rj=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:ri}));rj.displayName="MoonIcon";let rk=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"}))]]),rl=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rk}));rl.displayName="SunIcon";let rm={display:"flex",gap:6,flexWrap:"wrap"};function rn(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 ro({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 rp={display:"inline-flex",alignItems:"center",gap:6,padding:0,border:0,background:"transparent",color:"var(--accent)",fontSize:11,cursor:"pointer",whiteSpace:"nowrap"},rq={onMouseEnter:a=>{a.currentTarget.style.textDecoration="underline"},onMouseLeave:a=>{a.currentTarget.style.textDecoration="none"}};function rr({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 rs({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 rt({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 ru(){let{mode:a,resolvedMode:b,themeName:c,setMode:d,setTheme:e,previewTheme:f,clearPreview:g,isThemeCached:h,borderDepth:i,setBorderDepth:j}=hn(),{locale:k,setLocale:l,t:m}=(0,aM.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)(rr,{title:m("desktop.theme"),description:m("desktop.themeDescription"),children:[(0,L.jsx)(ro,{icon:(0,L.jsx)(rd,{size:14,weight:"fill"}),label:m("desktop.colorScheme"),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:z,style:rp,...rq,children:[(0,L.jsx)(rf,{size:12,weight:"regular","aria-hidden":"true"}),m("desktop.openThemeFolder")]}),(0,L.jsxs)("button",{type:"button",onClick:A,style:rp,...rq,children:[(0,L.jsx)(rh,{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:rm,children:[(0,L.jsx)("button",{type:"button",onClick:()=>v(""),disabled:null!==r,style:rn(""===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:rn(c===a.name,t===a.name,r===a.name),onMouseEnter:()=>x(a.name),onMouseLeave:()=>x(null),children:[a.displayName,(0,L.jsx)(rt,{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)(ro,{icon:(0,L.jsx)(rs,{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)(ro,{icon:"dark"===b?(0,L.jsx)(rj,{size:14,weight:"fill"}):(0,L.jsx)(rl,{size:14,weight:"fill"}),label:m("desktop.appearanceMode")}),(0,L.jsx)("div",{style:rm,children:[{value:"light",icon:(0,L.jsx)(rl,{size:15,weight:"light"===a?"fill":"regular"})},{value:"dark",icon:(0,L.jsx)(rj,{size:15,weight:"dark"===a?"fill":"regular"})},{value:"system",icon:(0,L.jsx)(qQ,{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:rn(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)(rr,{title:m("desktop.language"),description:m("desktop.languageDescription"),children:(0,L.jsx)("div",{style:rm,children:["en","zh-CN"].map(a=>(0,L.jsx)("button",{type:"button",onClick:()=>l("zh-CN"===a?"zh-CN":"en"),style:rn("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 rv=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"}))]]),rw=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rv}));function rx({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 ry({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 rz({children:a}){return(0,L.jsx)("div",{style:{padding:"0 14px"},children:a})}function rA({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})}rw.displayName="SquaresFourIcon";let rB=[{value:"normal",labelKey:"modes.collabNormal"},{value:"plan",labelKey:"modes.collabPlan"},{value:"goal",labelKey:"modes.collabGoal"}],rC=[{value:"economy",labelKey:"modes.tokenEconomy"},{value:"full",labelKey:"modes.tokenFull"},{value:"delivery",labelKey:"modes.tokenDelivery"}],rD=[{value:"ask",labelKey:"modes.approvalAsk"},{value:"auto",labelKey:"modes.approvalAuto"},{value:"yolo",labelKey:"modes.approvalYolo"}];function rE({options:a,value:b,onChange:c,disabled:d,accentFor:e}){let{t:f}=(0,aM.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 rF(){let{t:a}=(0,aM.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:bI(a.modes?.collaborationMode??b.collaborationMode),tokenMode:bJ(a.modes?.tokenMode??b.tokenMode),toolApprovalMode:bK(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)(rx,{children:(0,L.jsx)(rz,{children:(0,L.jsx)(q7,{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)(rw,{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)(rx,{children:[(0,L.jsx)(ry,{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)(rE,{options:rB,value:d.collaborationMode,onChange:a=>void k({collaborationMode:a}),disabled:h})]})}),(0,L.jsx)(ry,{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)(rE,{options:rC,value:d.tokenMode,onChange:a=>void k({tokenMode:a}),disabled:h})]})}),(0,L.jsx)(rz,{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)(rE,{options:rD,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)(rA,{children:a("desktop.featuresDesc")}),h&&(0,L.jsx)("div",{style:{padding:"0 2px",fontSize:11,color:"var(--text-muted)"},children:a("desktop.featuresSaving")})]})})}let rG=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"}))]]),rH=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rG}));function rI({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 rJ({onSessionsChanged:a}){let{t:b}=(0,aM.s)(),c=aQ(),[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)(mq,{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)(aY,{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)(rH,{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)(a4,{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:rK,children:b("desktop.importSelectAll")??"全选"}),(0,L.jsx)("button",{type:"button",onClick:()=>k(new Set),style:rK,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)(aY,{size:14,style:{animation:"spin 1s linear infinite"}})," ",b("desktop.importing")??"导入中…"]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(aH,{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)(aY,{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)(aH,{size:16}),(0,L.jsx)("span",{style:{fontWeight:500},children:b("desktop.importSessions")??"导入会话"})]}),(0,L.jsxs)(rI,{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:rL,children:(0,L.jsx)(Z,{size:18})})]}),F]})]}):F}rH.displayName="ArrowCounterClockwiseIcon";let rK={background:"none",border:"none",color:"var(--accent)",fontSize:11,cursor:"pointer",padding:"2px 4px"},rL={background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:4,display:"flex"},rM="deepseek-vision",rN={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 rO(){return{fontSize:12,color:"var(--text-muted)"}}let rP={padding:"7px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function rQ({sessionId:a}){let{t:b}=(0,aM.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[rM],b={...m,[rM]:{...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[rM];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:rM})}),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[rM];return(0,L.jsxs)(rx,{children:[(0,L.jsx)(ry,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(nN,{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)(rz,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"#ef4444"},children:e})}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ry,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionRegistration")})}),(0,L.jsx)(ry,{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:rO(),children:[b("desktop.mcpVisionCommand")," *"]}),(0,L.jsx)("input",{value:q,onChange:a=>r(a.target.value),placeholder:"/path/to/deepseek-vision-mcp",style:rN}),(0,L.jsx)("span",{style:rO(),children:b("desktop.mcpVisionLifecycle")}),(0,L.jsxs)("select",{value:s,onChange:a=>t(a.target.value),style:{...rN,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:rO(),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)(ry,{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:{...rP,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)(ry,{children:(0,L.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text)",padding:"10px 0 2px"},children:b("desktop.mcpVisionModelConfig")})}),(0,L.jsx)(ry,{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:rO(),children:b("desktop.mcpVisionProvider")}),(0,L.jsx)("input",{value:C.provider,onChange:a=>D(b=>({...b,provider:a.target.value})),style:rN}),(0,L.jsx)("span",{style:rO(),children:b("desktop.mcpVisionBaseUrl")}),(0,L.jsx)("input",{value:C.baseUrl,onChange:a=>D(b=>({...b,baseUrl:a.target.value})),style:rN}),(0,L.jsx)("span",{style:rO(),children:b("desktop.mcpVisionApiKey")}),(0,L.jsx)("input",{type:"password",value:E,onChange:a=>F(a.target.value),placeholder:C.hasApiKey?"••••••••":"API key",style:rN}),(0,L.jsx)("span",{style:rO(),children:b("desktop.mcpVisionModel")}),(0,L.jsx)("input",{value:C.model,onChange:a=>D(b=>({...b,model:a.target.value})),style:rN}),(0,L.jsx)("span",{style:rO(),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:rN})]})}),(0,L.jsx)(rz,{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:{...rP,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)(rA,{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)(rz,{children:(0,L.jsx)("div",{style:{padding:"8px 0",fontSize:12,color:"var(--text-muted)"},children:b("desktop.loading")})})]})}function rR({sessionId:a,onApplied:b,onBeforeApply:c}){let{t:d}=(0,aM.s)(),[e,f]=(0,M.useState)(!1),[g,h]=(0,M.useState)(!1),[i,j]=(0,M.useState)(null),k=(0,M.useCallback)(async()=>{if(a){f(!0),j(null),h(!1);try{await c?.(),await pX(a,{type:"reload"}),h(!0),await b?.()}catch(a){j(a instanceof Error?a.message:String(a))}finally{f(!1)}}},[a,b,c]),l=e||!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 k(),disabled:l,title:d(a?"desktop.applyNowTitle":"desktop.applyNowNoSession"),style:{padding:"7px 12px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:l?"not-allowed":"pointer",fontSize:12,opacity:l?.5:1,whiteSpace:"nowrap"},children:d(e?"desktop.applyNowApplying":"desktop.applyNow")}),g&&(0,L.jsx)("span",{style:{color:"#22c55e",fontSize:12},children:d("desktop.applyNowDone")}),i&&(0,L.jsx)("span",{style:{color:"#ef4444",fontSize:12},children:i})]})}let rS=["stdio","sse","http"],rT=["eager","lazy"],rU={name:"",command:"",args:"",transport:"stdio",lifecycle:"eager",requestTimeoutMs:"",env:""},rV={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 rW(){return{fontSize:12,color:"var(--text-muted)"}}function rX(a,b){return{fontSize:10,padding:"1px 6px",borderRadius:3,background:b,color:a,flexShrink:0,textTransform:"capitalize"}}function rY({sessionId:a}){let{t:b}=(0,aM.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)(rU),[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(rU),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===rM)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:rS.includes(a.transport)?a.transport:"stdio",lifecycle:rT.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!==rM);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)(rR,{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)(aj,{size:13,"aria-hidden":"true"}),b("desktop.mcpAddServer")]})]})]}),(0,L.jsx)(rA,{children:b("desktop.mcpRestartNote")}),(0,L.jsx)(rQ,{sessionId:a}),0!==A.length||k?A.map(([a,c])=>(0,L.jsx)(rx,{children:(0,L.jsx)(rz,{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:rX("var(--accent)","rgba(37,99,235,0.12)"),children:c.transport??"stdio"}),(0,L.jsx)("span",{style:rX("#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)(ad,{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)(ax,{size:12,"aria-hidden":"true"})})]})]})})},a)):(0,L.jsx)(rx,{children:(0,L.jsx)(rz,{children:(0,L.jsx)("div",{style:{padding:"14px 0",fontSize:12,color:"var(--text-dim)"},children:c[rM]?b("desktop.mcpEmptyOther"):b("desktop.mcpEmpty")})})}),k&&(0,L.jsxs)(rx,{children:[(0,L.jsx)(ry,{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)(ry,{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:rW(),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:{...rV,opacity:k.isNew?1:.5}}),(0,L.jsxs)("span",{style:rW(),children:[b("desktop.mcpCommand")," *"]}),(0,L.jsx)("input",{value:m.command,onChange:a=>z("command",a.target.value),placeholder:"npx @modelcontextprotocol/server-foo",style:rV}),(0,L.jsx)("span",{style:rW(),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:{...rV,resize:"vertical",lineHeight:1.5}}),(0,L.jsx)("span",{style:rW(),children:b("desktop.mcpTransport")}),(0,L.jsx)("select",{value:m.transport,onChange:a=>z("transport",a.target.value),style:{...rV,fontFamily:"var(--font-mono)"},children:rS.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:rW(),children:b("desktop.mcpLifecycle")}),(0,L.jsx)("select",{value:m.lifecycle,onChange:a=>z("lifecycle",a.target.value),style:{...rV,fontFamily:"var(--font-mono)"},children:rT.map(a=>(0,L.jsx)("option",{value:a,children:a},a))}),(0,L.jsx)("span",{style:rW(),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:rV}),(0,L.jsx)("span",{style:rW(),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:{...rV,resize:"vertical",lineHeight:1.5}})]})}),(0,L.jsx)(rz,{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 rZ=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"}))]]),r$=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:rZ}));function r_(){let{t:a}=(0,aM.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"),")"]})]})}r$.displayName="EyeSlashIcon";let r0=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function r1(a){if(""===a.trim())return;let b=Number(a);return Number.isFinite(b)&&b>0?b:void 0}function r2(a){let b=r1(a.contextWindow??""),c=r1(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 r3({providerId:a,onRegisterFlush:b,onConfigChange:c}){let{t:d}=(0,aM.s)(),e=aQ(),[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]=r2(b)),c&&(g[a.id]=r2(c))}let h=function(a,b,c){let d={};for(let e of a){let a=b[e];if(!a)continue;let f=c[e]??{},g={};for(let b of r0){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]),[F,G]=(0,M.useState)({phase:"idle"}),[H,I]=(0,M.useState)([]),J=(0,M.useCallback)(async()=>{G({phase:"loading"});try{let b=await fetch("/api/models-config/discover",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerName:a,provider:{}})}),c=await b.json();if(!b.ok||c.error||!c.models)return void G({phase:"error",message:c.error??`HTTP ${b.status}`});let d=new Set(z.current.map(a=>a.id)),e=new Set(c.models.filter(a=>!d.has(a.id)).map(a=>a.id));G({phase:"success",models:c.models,newIds:e}),I(c.models.filter(a=>e.has(a.id)).map(a=>a.id))}catch(a){G({phase:"error",message:a instanceof Error?a.message:String(a)})}},[a]),K=(0,M.useCallback)(async()=>{if(F.models?.length){q(!0),s(null);try{let b=F.models.map(a=>({id:a.id,...a.name?{name:a.name}:{}})),d=await fetch("/api/models-config/builtin",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a,models:b})}),e=await d.json();if(!d.ok||e.error)throw Error(e.error??`HTTP ${d.status}`);c?.(e.provider??null),G({phase:"idle"}),I([]);let f=await fetch(`/api/models-config/builtin?provider=${encodeURIComponent(a)}`);if(f.ok){let a=await f.json();if(a.models){g(a.models),z.current=a.models;let b={};for(let c of a.models){let d=a.overrides?.[c.id]??{};b[c.id]={name:"string"==typeof d.name&&d.name.length>0?d.name:c.name,reasoning:"boolean"==typeof d.reasoning?d.reasoning:c.reasoning,contextWindow:"number"==typeof d.contextWindow?String(d.contextWindow):null!=c.contextWindow?String(c.contextWindow):"",maxTokens:"number"==typeof d.maxTokens?String(d.maxTokens):null!=c.maxTokens?String(c.maxTokens):"",hidden:"boolean"==typeof d.hidden&&d.hidden,thinkingLevelMap:d.thinkingLevelMap??c.thinkingLevelMap}}i(b),k(b),m(new Set)}}}catch(a){s(a instanceof Error?a.message:String(a))}finally{q(!1)}}},[F.models,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")}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:10,display:"flex",flexDirection:"column",gap:8},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,L.jsx)("button",{type:"button",onClick:()=>{J()},disabled:"loading"===F.phase,style:{padding:"5px 12px",background:(F.phase,"var(--bg-panel)"),border:"1px solid var(--border)",borderRadius:5,color:"loading"===F.phase?"var(--text-dim)":"var(--text-muted)",cursor:"loading"===F.phase?"not-allowed":"pointer",fontSize:12},children:"loading"===F.phase?d("desktop.modelsDiscoveryFetching"):d("desktop.builtinModelsFetchNew")}),"success"===F.phase&&F.models&&(0,L.jsx)("button",{type:"button",onClick:()=>{K()},disabled:p||0===H.length,style:{padding:"5px 12px",background:H.length>0&&!p?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:5,color:H.length>0&&!p?"#fff":"var(--text-dim)",cursor:H.length>0&&!p?"pointer":"not-allowed",fontSize:12,fontWeight:600},children:p?d("desktop.modelsSaving"):`${d("desktop.modelsAddModelManual")} (${H.length})`})]}),"error"===F.phase&&(0,L.jsx)("p",{style:{margin:0,fontSize:11,color:"#f87171"},children:F.message}),"success"===F.phase&&F.models&&(0,L.jsx)("div",{style:{maxHeight:200,overflowY:"auto",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)"},children:F.models.map(a=>{let b=F.newIds?.has(a.id)??!1,c=H.includes(a.id);return(0,L.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,minHeight:32,padding:"5px 9px",borderBottom:"1px solid var(--border)",cursor:b?"pointer":"default",opacity:b?1:.55},children:[(0,L.jsx)("input",{type:"checkbox",checked:c,disabled:!b,onChange:b=>{I(c=>b.target.checked?[...c,a.id]:c.filter(b=>b!==a.id))},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),(0,L.jsx)("span",{style:{fontSize:12,color:"var(--text)",fontWeight:b?600:400},children:a.name||a.id}),(0,L.jsx)("code",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:a.id}),b&&(0,L.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:"var(--accent)",color:"#fff",marginLeft:"auto"},children:"新"})]},a.id)})})]}),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)(si,{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 r4=["openai-completions","openai-responses","anthropic-messages","google-generative-ai","mistral-conversations"],r5="__custom__";function r6(){let{t:a}=(0,aM.s)();return(0,M.useCallback)((b,c)=>a(b,c),[a])}function r7({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 r8={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 r9({value:a,onChange:b,placeholder:c,mono:d,inputRef:e}){return(0,L.jsx)("input",{ref:e,value:a,onChange:a=>b(a.target.value),placeholder:c,style:{...r8,fontFamily:d?"var(--font-mono)":"inherit"}})}function sa({value:a,onChange:b,placeholder:c,mono:d,onKeyDown:e,autoComplete:f="off",spellCheck:g=!1,style:h}){let i=r6(),[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:{...r8,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)(r$,{size:15}):(0,L.jsx)(nN,{size:15})})]})}function sb({value:a,onChange:b,placeholder:c}){return(0,L.jsx)("input",{type:"number",value:a,onChange:a=>b(a.target.value),placeholder:c,style:r8})}function sc({value:a,onChange:b,options:c,required:d}){let e=r6();return(0,L.jsxs)("select",{value:a,onChange:a=>b(a.target.value),style:{...r8,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 sd({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 se({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 sf({name:a,provider:b,onChange:c,onRename:d,onDelete:e,onAddModels:f,onAddModel:g}){let h=r6(),[i,j]=(0,M.useState)(a),[k,l]=(0,M.useState)({phase:"idle"}),[m,n]=(0,M.useState)(""),[o,p]=(0,M.useState)([]),q=(0,M.useRef)(0),r=(0,M.useRef)(null),s=(a,d)=>c({...b,[a]:d}),t=(0,M.useCallback)(async()=>{if("loading"===k.phase)return;let c=++q.current;l({phase:"loading"}),p([]);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!==q.current)return;if(!d.ok||e.error||!e.models)return void l({phase:"error",message:e.error??`HTTP ${d.status}`});l({phase:"success",models:e.models,endpoint:e.endpoint??b.baseUrl??""})}catch(a){if(c!==q.current)return;l({phase:"error",message:a instanceof Error?a.message:String(a)})}},[k.phase,a,b]),u=new Set((b.models??[]).map(a=>a.id)),v="success"===k.phase?k.models:[],w=m.trim().toLocaleLowerCase(),x=v.filter(a=>!w||a.id.toLocaleLowerCase().includes(w)||a.name?.toLocaleLowerCase().includes(w)),y=x.slice(0,300),z=y.filter(a=>!u.has(a.id)).map(a=>a.id),A=o.filter(a=>!u.has(a)).length,B=z.length>0&&z.every(a=>o.includes(a));return B||z.some(a=>o.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)(se,{children:h("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:h("desktop.delete")})]}),(0,L.jsxs)(r7,{label:h("desktop.modelsProviderName"),children:[(0,L.jsx)(r9,{value:i,onChange:j,placeholder:"provider-name",mono:!0}),i!==a&&i.trim()&&(0,L.jsx)("button",{onClick:()=>d(i.trim()),style:{marginTop:4,padding:"3px 10px",background:"var(--accent)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:11,alignSelf:"flex-start"},children:h("desktop.rename")})]}),(0,L.jsx)(r7,{label:h("desktop.modelsBaseUrl"),children:(0,L.jsx)(r9,{value:b.baseUrl??"",onChange:a=>s("baseUrl",a||void 0),placeholder:"http(s)://host:port/v1",mono:!0})}),(0,L.jsxs)(r7,{label:h("desktop.modelsApiKey"),children:[(0,L.jsx)(sa,{value:b.apiKey??"",onChange:a=>s("apiKey",a||void 0),placeholder:h("desktop.modelsApiKeyPlaceholder"),mono:!0}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:h("desktop.modelsApiKeyHelp")})]}),(0,L.jsx)(r7,{label:h("desktop.modelsApi"),children:(0,L.jsx)(sc,{value:b.api??"openai-completions",onChange:a=>s("api",a),options:r4,required:!0})}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:14,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:["success"!==k.phase&&(0,L.jsx)("button",{onClick:t,disabled:"loading"===k.phase,style:{height:30,padding:"0 12px",border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:b.baseUrl?.trim()&&"loading"!==k.phase?"var(--text-muted)":"var(--text-dim)",cursor:b.baseUrl?.trim()&&"loading"!==k.phase?"pointer":"not-allowed",fontSize:11},children:"loading"===k.phase?h("desktop.modelsDiscoveryFetching"):h("desktop.modelsDiscoveryFetch")}),(0,L.jsx)("button",{onClick:g,title:h("desktop.modelsAddModelManual"),style:{height:30,padding:"0 12px",border:"none",borderRadius:5,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:11,fontWeight:600},children:h("desktop.modelsAddModelManual")})]}),"error"===k.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:k.message}),"success"===k.phase&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("input",{value:m,onChange:a=>n(a.target.value),placeholder:h("desktop.modelsDiscoveryFilterPlaceholder",{count:k.models.length}),"aria-label":h("desktop.modelsDiscoveryFilter"),style:{...r8,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:z.length?"pointer":"default",color:"var(--text-muted)",fontSize:10,fontWeight:600},children:[(0,L.jsx)("input",{ref:r,type:"checkbox",checked:B,disabled:0===z.length,onChange:()=>{let a=new Set(z);p(b=>B?b.filter(b=>!a.has(b)):Array.from(new Set([...b,...z])))},style:{width:13,height:13,accentColor:"var(--accent)",flexShrink:0}}),h("desktop.modelsDiscoverySelectShown")]}),0===y.length?(0,L.jsx)("div",{style:{padding:12,color:"var(--text-dim)",fontSize:11},children:h("desktop.modelsDiscoveryNoMatches")}):y.map((a,b)=>{let c=u.has(a.id),d=o.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 p(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:h("desktop.modelsDiscoveryAdded")})]},a.id)})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10},children:[(0,L.jsx)("span",{title:k.endpoint,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)",fontSize:10},children:x.length>y.length?h("desktop.modelsDiscoveryShowing",{shown:y.length,total:x.length}):h("desktop.modelsDiscoveryFetched",{count:k.models.length})}),(0,L.jsx)("button",{onClick:()=>{if("success"!==k.phase)return;let a=new Set(o),b=k.models.filter(b=>a.has(b.id)&&!u.has(b.id));0!==b.length&&(f(b),p([]))},disabled:0===A,style:{height:28,padding:"0 11px",border:"none",borderRadius:5,background:A?"var(--accent)":"var(--bg-panel)",color:A?"#fff":"var(--text-dim)",cursor:A?"pointer":"not-allowed",fontSize:11,fontWeight:600,whiteSpace:"nowrap"},children:A?h("desktop.modelsDiscoveryAddSelectedCount",{count:A}):h("desktop.modelsDiscoveryAddSelected")})]})]})]})]})}let sg=["off","minimal","low","medium","high","xhigh","max"],sh={off:"var(--text-dim)",minimal:"var(--text-muted)",low:"#60a5fa",medium:"#a78bfa",high:"#f472b6",xhigh:"#fb923c",max:"#ef4444"};function si({value:a,onChange:b}){let c=r6(),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:sg.map(a=>{let b=d[a],f=a in d?null===b?"null":"string":"omit",g="string"==typeof b?b:"",h=sh[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 sj={thinkingFormat:"deepseek",requiresReasoningContentOnAssistantMessages:!0};function sk({providerName:a,provider:b,model:c,onChange:d,onDelete:e}){let f=r6(),[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)(se,{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)(ab,{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)(r7,{label:f("desktop.modelsIdRequired"),children:(0,L.jsx)(r9,{value:c.id,onChange:a=>m("id",a),placeholder:"model-id",mono:!0})}),(0,L.jsx)(r7,{label:f("desktop.modelsName"),children:(0,L.jsx)(r9,{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)(r7,{label:f("desktop.modelsApiOverride"),children:(0,L.jsx)(sc,{value:c.api??"",onChange:a=>m("api",a||void 0),options:r4})}),(0,L.jsxs)("div",{style:{display:"flex",gap:20,flexWrap:"wrap"},children:[(0,L.jsx)(sd,{label:f("desktop.modelsReasoningThinking"),checked:c.reasoning??!1,onChange:a=>m("reasoning",a||void 0)}),(0,L.jsx)(sd,{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)(sd,{label:f("desktop.modelsDeepSeekCompat"),checked:c.compat?.thinkingFormat==="deepseek",onChange:a=>d(function(a,b){if(b)return{...a,compat:{...a.compat??{},...sj}};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)(se,{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)(si,{value:c.thinkingLevelMap,onChange:a=>m("thinkingLevelMap",a)})]})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(r7,{label:f("desktop.modelsContextWindow"),children:(0,L.jsx)(sb,{value:void 0!==c.contextWindow?String(c.contextWindow):"",onChange:a=>m("contextWindow",a?parseInt(a):void 0),placeholder:"128000"})}),(0,L.jsx)(r7,{label:f("desktop.modelsMaxOutputTokens"),children:(0,L.jsx)(sb,{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)(se,{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)(r7,{label:a,children:(0,L.jsx)(sb,{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 sl({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=r6(),[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)(se,{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)(r3,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function sm({provider:a,onRefresh:b,onRegisterBuiltinFlush:c,onBuiltinProviderChange:d}){let e=r6(),[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)(se,{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)(r7,{label:e("desktop.modelsApiKey"),children:(0,L.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,L.jsx)(sa,{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)(ab,{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)(r3,{providerId:a.id,onRegisterFlush:c,onConfigChange:d})]})}function sn({oauthProviders:a,apiKeyProviders:b,onSelectOAuth:c,onSelectApiKey:d,onAddCustom:e,onClose:f}){let g=r6(),[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)(X,{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)(aj,{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)(oy,{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)(oy,{id:a.id,size:28})]},a.id))]})})]})})}function so({existingProviders:a,onCancel:b,onSubmit:c}){let d=r6(),[e,f]=(0,M.useState)(""),[g,h]=(0,M.useState)(r4[0]),[i,j]=(0,M.useState)(r4[0]),[k,l]=(0,M.useState)(""),[m,n]=(0,M.useState)(""),[o,p]=(0,M.useState)(void 0),[q,r]=(0,M.useState)(!1),[s,t]=(0,M.useState)(""),[u,v]=(0,M.useState)(""),[w,x]=(0,M.useState)(""),[y,z]=(0,M.useState)(""),A=(0,M.useRef)(null),B=!k.trim()||/^https?:\/\//i.test(k.trim());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&&b()},children:(0,L.jsxs)("div",{style:{width:480,maxWidth:"calc(100vw - 32px)",maxHeight:"min(82vh, 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:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsx)("span",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:d("desktop.modelsAddCustomTitle")}),(0,L.jsx)("button",{onClick:b,"aria-label":d("desktop.modelsClose"),title:d("desktop.modelsClose"),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:{padding:16,overflowY:"auto",display:"flex",flexDirection:"column",gap:14},children:[(0,L.jsx)(r7,{label:d("desktop.modelsProviderNameOptional"),children:(0,L.jsx)(r9,{value:e,onChange:f,placeholder:"new-provider",mono:!0,inputRef:A})}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)(se,{children:d("desktop.modelsCallFormat")}),(0,L.jsxs)("select",{value:i,onChange:a=>{let b=a.target.value;(j(b),b===r5)?r(!0):h(b)},style:r8,children:[r4.map(a=>(0,L.jsx)("option",{value:a,children:a},a)),(0,L.jsx)("option",{value:r5,children:d("desktop.modelsCustomCallFormat")})]}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:d("desktop.modelsCallFormatHelp")}),i===r5&&(0,L.jsx)("span",{style:{fontSize:10,color:"#d97706",lineHeight:1.4},children:d("desktop.modelsCustomCallFormatHelp")})]}),(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)(se,{children:d("desktop.modelsImportProvider")}),(0,L.jsxs)("select",{value:y,onChange:b=>{var c;let d;return z(c=b.target.value),void((d=a.find(a=>a.name===c))&&(d.provider.api&&(h(d.provider.api),j(d.provider.api)),l(d.provider.baseUrl??""),n(d.provider.apiKey??""),p(d.provider.headers?{...d.provider.headers}:void 0)))},style:{...r8,color:y?"var(--text)":"var(--text-dim)"},children:[(0,L.jsx)("option",{value:"",children:d("desktop.modelsImportProviderPlaceholder")}),a.map(a=>(0,L.jsxs)("option",{value:a.name,children:[a.name,a.provider.api?` \xb7 ${a.provider.api}`:""]},a.name))]}),y&&(0,L.jsxs)("span",{style:{fontSize:10,color:"#4ade80"},children:[d("desktop.modelsImported"),": ",y]})]}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:12,display:"flex",flexDirection:"column",gap:4},children:[(0,L.jsx)(se,{children:d("desktop.modelsFullUrl")}),q?(0,L.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,L.jsx)(r9,{value:k,onChange:l,placeholder:d("desktop.modelsUrlPlaceholder"),mono:!0}),(0,L.jsx)("button",{onClick:()=>{r(!1),l("")},title:d("desktop.modelsRemove"),style:{flexShrink:0,width:28,height:28,background:"none",border:"1px solid var(--border)",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",fontSize:14,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center"},children:"\xd7"})]}):(0,L.jsxs)("button",{onClick:()=>r(!0),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5,padding:"7px 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:[(0,L.jsx)(aj,{size:12}),d("desktop.modelsAddUrl")]}),k.trim()&&!B&&(0,L.jsx)("span",{style:{fontSize:10,color:"#ef4444"},children:d("desktop.modelsUrlInvalid")}),(0,L.jsxs)(r7,{label:d("desktop.modelsApiKey"),children:[(0,L.jsx)(sa,{value:m,onChange:n,placeholder:d("desktop.modelsApiKeyPlaceholder"),mono:!0}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:d("desktop.modelsApiKeyHelp")})]})]}),(0,L.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:12,display:"flex",flexDirection:"column",gap:10},children:[(0,L.jsx)(se,{children:d("desktop.modelsCustomRequest")}),(0,L.jsxs)(r7,{label:d("desktop.modelsRequestModelId"),children:[(0,L.jsx)(r9,{value:s,onChange:t,placeholder:"model-id",mono:!0}),(0,L.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",marginTop:2},children:d("desktop.modelsRequestModelIdHelp")})]}),(0,L.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,L.jsx)(r7,{label:d("desktop.modelsRequestContextLength"),children:(0,L.jsx)(sb,{value:u,onChange:v,placeholder:"128000"})}),(0,L.jsx)(r7,{label:d("desktop.modelsRequestOutputLength"),children:(0,L.jsx)(sb,{value:w,onChange:x,placeholder:"16384"})})]})]})]}),(0,L.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 16px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,L.jsx)("button",{onClick:b,style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:6,color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:d("desktop.cancel")}),(0,L.jsx)("button",{onClick:()=>{let a=s.trim()?{id:s.trim(),...parseInt(u,10)>0?{contextWindow:parseInt(u,10)}:{},...parseInt(w,10)>0?{maxTokens:parseInt(w,10)}:{}}:void 0;c({name:e.trim(),api:g,...k.trim()?{baseUrl:k.trim()}:{},...m.trim()?{apiKey:m.trim()}:{},...o?{headers:o}:{},model:a})},disabled:!B,style:{padding:"6px 16px",background:B?"var(--accent)":"var(--bg-panel)",border:"none",borderRadius:6,color:B?"#fff":"var(--text-dim)",cursor:B?"pointer":"not-allowed",fontSize:13,fontWeight:600},children:d("desktop.modelsAdd")})]})]})})}function sp({embedded:a=!1,sessionId:b,onCloseAction:c,onSavedAction:d,onRegisterFlush:e}){let f=r6(),g=aQ(),[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)(!1),[B,C]=(0,M.useState)({oauth:!1,apiKey:!1}),D=(0,M.useRef)({providers:{}}),E=(0,M.useRef)(new Map),F=(0,M.useRef)(0),G=(0,M.useRef)(!1);D.current=h;let H=(0,M.useCallback)(a=>{let b=a(D.current);return D.current=b,F.current+=1,i(b),b},[]),I=(0,M.useCallback)(()=>{fetch("/api/auth/combined").then(a=>a.json()).then(a=>{u(a.oauth??[]),w(a.apiKey??[])}).catch(()=>{}).finally(()=>C({oauth:!0,apiKey:!0}))},[]),J=(0,M.useCallback)((a,b)=>(E.current.set(a,b),()=>{E.current.get(a)===b&&E.current.delete(a)}),[]),K=(0,M.useCallback)(async()=>{for(let a of[...E.current.values()])await a()},[]),N=(0,M.useCallback)((a,b)=>{H(c=>{let d={...c.providers??{}};return b?d[a]=b:delete d[a],{...c,providers:d}}),d?.()},[d,H]),O=(0,M.useCallback)(async a=>{if(!G.current){G.current=!0,o(null);try{await K(),s(a)}catch(a){o(a instanceof Error?a.message:String(a))}finally{G.current=!1}}},[K]),P=(0,M.useCallback)(async a=>{if(!G.current){G.current=!0,o(null);try{await K();let b=a.name.trim()||"new-provider",c=b,d=1;for(;D.current.providers?.[c];)c=`${b}-${d++}`;let e={api:a.api||"openai-completions",...a.baseUrl?{baseUrl:a.baseUrl}:{},...a.apiKey?{apiKey:a.apiKey}:{},...a.headers?{headers:a.headers}:{},...a.model?{models:[a.model]}:{}};H(a=>({...a,providers:{...a.providers??{},[c]:e}})),s({type:"provider",name:c}),A(!1)}catch(a){o(a instanceof Error?a.message:String(a))}finally{G.current=!1}}},[K,H]),Q=(0,M.useCallback)((a,b)=>{H(c=>({...c,providers:{...c.providers??{},[a]:b}}))},[H]),R=(0,M.useCallback)((a,b)=>{H(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)},[H]),S=(0,M.useCallback)(a=>{let b=Object.keys(H(b=>{let c={...b.providers??{}};return delete c[a],{...b,providers:c}}).providers??{});s(b.length>0?{type:"provider",name:b[0]}:null)},[H]),T=(0,M.useCallback)(async a=>{if(!G.current){G.current=!0,o(null);try{await K();let b=H(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{G.current=!1}}},[K,H]),U=(0,M.useCallback)((a,b)=>{H(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}}}})},[H]),V=(0,M.useCallback)((a,b,c)=>{H(d=>{let e=d.providers?.[a]??{},f=[...e.models??[]];return f[b]=c,{...d,providers:{...d.providers??{},[a]:{...e,models:f}}}})},[H]),W=(0,M.useCallback)(async(a,b)=>{if(!G.current){G.current=!0,o(null);try{await K(),H(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{G.current=!1}}},[K,H]),X=(0,M.useCallback)(async()=>{if(!l){m(!0),o(null),q(!1);try{await K();let a=D.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&&(D.current=c.config,F.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)}}},[K,d,l]),Y=(0,M.useCallback)(async()=>{try{await K(),c?.()}catch(a){o(a instanceof Error?a.message:String(a))}},[K,c]),Z=Object.entries(h.providers??{}),$=new Set([...t.map(a=>a.id),...v.map(a=>a.id)]),_=Z.filter(([a])=>!$.has(a)),aa=t.filter(a=>a.loggedIn),ac=v.filter(a=>a.configured),ad=(()=>{if(!r)return null;if("oauth"===r.type){let a=t.find(a=>a.id===r.providerId);return a?(0,L.jsx)(sl,{provider:a,onRefresh:I,onRegisterBuiltinFlush:J,onBuiltinProviderChange:b=>N(a.id,b)},a.id):null}if("apikey"===r.type){let a=v.find(a=>a.id===r.providerId);return a?(0,L.jsx)(sm,{provider:a,onRefresh:I,onRegisterBuiltinFlush:J,onBuiltinProviderChange:b=>N(a.id,b)},a.id):null}if("provider"===r.type){let a=h.providers?.[r.name];return a?(0,L.jsx)(sf,{name:r.name,provider:a,onChange:a=>Q(r.name,a),onRename:a=>R(r.name,a),onDelete:()=>S(r.name),onAddModels:a=>U(r.name,a),onAddModel:()=>{T(r.name)}},r.name):null}let a=h.providers?.[r.providerName],b=a?.models?.[r.index];return b?(0,L.jsx)(sk,{providerName:r.providerName,provider:a,model:b,onChange:a=>V(r.providerName,r.index,a),onDelete:()=>{W(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||Y()},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:()=>{Y()},"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)(r_,{}),(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:[aa.map(a=>{let b=r?.type==="oauth"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{O({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)(oy,{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)}),ac.map(a=>{let b=r?.type==="apikey"&&r.providerId===a.id;return(0,L.jsxs)("div",{onClick:()=>{O({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)(oy,{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)}),(aa.length>0||ac.length>0)&&_.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")}):_.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:()=>{O({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)(aB,{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:()=>{O({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(),T(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:ad??(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:()=>{Y()},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)(rR,{sessionId:b,onBeforeApply:X}),(0,L.jsxs)("button",{onClick:X,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)(ab,{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)(sn,{oauthProviders:t,apiKeyProviders:v,onSelectOAuth:a=>{O({type:"oauth",providerId:a})},onSelectApiKey:a=>{O({type:"apikey",providerId:a})},onAddCustom:()=>{y(!1),A(!0)},onClose:()=>y(!1)}),z&&(0,L.jsx)(so,{existingProviders:_.map(([a,b])=>({name:a,provider:b})),onCancel:()=>A(!1),onSubmit:a=>{P(a)}})]})}function sq(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function sr(a){let b=a.trim().match(/^\$?\s*pi\s+install\s+(\S+)\s*$/);return b?.[1]??a}function ss(a){return`${a.scope}\0${a.source}`}function st(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 su(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 sv(a){return"loaded"===a?"var(--accent)":"installed"===a?"#f59e0b":"disabled"===a?"var(--text-dim)":"#ef4444"}function sw({pkg:a}){let{t:b}=(0,aM.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 sx({scope:a}){let{t:b}=(0,aM.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 sy(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 sz({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 sA({value:a,onChange:b}){let{t:c}=(0,aM.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 sB({cwd:a,source:b,scope:c,busy:d,actionError:e,onSourceChange:f,onScopeChange:g,onInstall:h}){let{t:i}=(0,aM.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?`${sq(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=sr(b);c!==b&&(a.preventDefault(),f(c))},onBlur:a=>f(sr(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)(sA,{value:c,onChange:g}),(0,L.jsx)("button",{type:"button",onClick:h,disabled:d||!b.trim(),style:{...sy(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 sC({pkg:a,cwd:b,busyKey:c,actionError:d,actionMessage:e,sessionId:f,onAction:g,onReloadSession:h}){let{t:i}=(0,aM.s)(),j=ss(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)(sz,{enabled:m,loading:k||l,onToggle:()=>g(a.disabled?"enable":"disable",a),label:i(a.disabled?"desktop.enablePackage":"desktop.disablePackage")}),(0,L.jsx)(sx,{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:sy(k||l),children:i(c===`update:${j}`?"desktop.updating":"desktop.update")}),(0,L.jsx)("button",{onClick:h,disabled:!f||l||k,style:sy(!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:sy(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:sv(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:su(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:st(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?sq(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:sq(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)(sw,{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 sD({cwd:a,sessionId:b,embedded:c=!1,onCloseAction:d,onReloadedAction:e}){let f=aQ(),{t:g}=(0,aM.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=>ss(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=>ss(b)===a)?a:c.packages[0]?ss(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=ss(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]?ss(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=sr(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?ss(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 pX(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:sq(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=ss(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:sv(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:st(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:su(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)(aj,{size:13}),g("desktop.addPlugin")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:p?(0,L.jsx)(sB,{cwd:a,source:r,scope:t,busy:I,actionError:x,onSourceChange:s,onScopeChange:u,onInstall:G}):j?null:C?(0,L.jsx)(sC,{pkg:C,cwd:a,busyKey:v,actionError:x,actionMessage:z,sessionId:b,onAction:F,onReloadSession:H},ss(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:sy(j||null!==v),children:g("desktop.refresh")}),!c&&(0,L.jsx)("button",{onClick:d,style:sy(!1),children:g("desktop.close")})]})]})})}let sE=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"}))]]),sF=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:sE}));function sG(){let{t:a}=(0,aM.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)(mq,{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)(pr,{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)(mq,{size:16,weight:"fill"}):(0,L.jsx)(pr,{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)(sF,{size:12,weight:"fill"}),a("desktop.proxyUnsaved")]})]})}function sH(a){return a.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function sI(a){let b=a.sourceInfo?.source,c=a.sourceInfo?.scope;return"user"===c||"user"===b?"global":"project"===c||"project"===b?"project":"path"}function sJ(a){let b=sI(a);return"path"===b?b:a.install?.skillsShUrl?`${b} / skills.sh`:b}function sK(a){return a.install?`${a.install.scope}\0${a.install.package}`:null}function sL(a,b){return a?a.slice(0,8):b}function sM({enabled:a,loading:b,onToggle:c}){let{t:d}=(0,aM.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 sN({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,aM.s)(),m=sI(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 sH(a)}(a.filePath)}),(0,L.jsx)(sM,{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:sL(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:sL(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 sO({cwd:a,installedPackages:b,projectResourcesLoaded:c,onInstalled:d}){let{t:e}=(0,aM.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/":`${sH(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 sP({cwd:a,embedded:b=!1,sessionId:c,onCloseAction:d}){let e=aQ(),{t:f}=(0,aM.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,[sJ(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(sK).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=sK(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,[sJ(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:sH(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)(rR,{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"===sI(a)&&!!a.install?.skillsShUrl},{key:"project",label:f("desktop.project"),matches:a=>"project"===sI(a)&&!a.install?.skillsShUrl},{key:"global / skills.sh",label:`${f("desktop.global")} / skills.sh`,matches:a=>"global"===sI(a)&&!!a.install?.skillsShUrl},{key:"global",label:f("desktop.global"),matches:a=>"global"===sI(a)&&!a.install?.skillsShUrl},{key:"path",label:f("desktop.path"),matches:a=>"path"===sI(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=sK(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)(aj,{size:13}),f("desktop.addSkill")]})})]}),(0,L.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:s?(0,L.jsx)(sO,{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)(sN,{skill:O,cwd:a,onToggle:N,toggling:o.has(O.filePath),saveError:q,updateStatus:sK(O)?u[sK(O)]:void 0,checkingUpdate:!!sK(O)&&w.has(sK(O)),updating:A===sK(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 sQ(){let{t:a}=(0,aM.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 ho(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)(av,{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)(ax,{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))})]})}sF.displayName="CircleIcon";let sR={padding:"7px 9px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,color:"var(--text)",fontSize:12,width:"100%"},sS={padding:"6px 12px",border:"none",borderRadius:6,background:"var(--accent)",color:"#fff",cursor:"pointer",fontSize:12};function sT(){let{t:a}=(0,aM.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)(rx,{children:[(0,L.jsx)(ry,{children:(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"12px 0"},children:[(0,L.jsx)(nd,{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)(ry,{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:sS,children:(0,L.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},children:[(0,L.jsx)(aj,{size:13})," ",a("desktop.snippetNew")]})}),f&&(0,L.jsx)("button",{type:"button",onClick:r,style:{...sS,background:"var(--bg-hover)",color:"var(--text-muted)"},children:(0,L.jsx)(Z,{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:sR})]}),(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:{...sR,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:{...sS,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)(rA,{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)(ad,{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)(ax,{size:13})})]},b.id))})]})}),(0,L.jsx)(rz,{children:(0,L.jsx)(rA,{children:a("desktop.snippetHint")})})]})}let sU=["async","group","smart"],sV=["full","compact","custom"],sW=["all","background","off"],sX={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 sY(){return{fontSize:12,color:"var(--text-muted)"}}function sZ({cwd:a,sessionId:b}){let{t:c}=(0,aM.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)(ry,{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:sY(),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:sX})]})},a),C=(a,b,e)=>(0,L.jsx)(ry,{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:sY(),children:c(b)}),(0,L.jsx)("select",{value:d[a]??e[0],onChange:b=>x(a,b.target.value),style:{...sX,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)(ry,{children:(0,L.jsx)(q7,{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)(rA,{children:c("desktop.subagentsDesc")}),(0,L.jsxs)(rx,{children:[B("maxConcurrent","desktop.subagentsMaxConcurrent"),B("defaultMaxTurns","desktop.subagentsDefaultMaxTurns"),B("graceTurns","desktop.subagentsGraceTurns"),C("defaultJoinMode","desktop.subagentsJoinMode",sU),C("widgetMode","desktop.subagentsWidgetMode",sW),C("toolDescriptionMode","desktop.subagentsToolDescMode",sV),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)(rz,{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)(rR,{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)(q$,{size:15,"aria-hidden":"true"}),c("desktop.subagentsDiscovered")]}),(0,L.jsx)(rx,{children:f.map((a,b)=>(0,L.jsx)(rz,{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:{...sX,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 s$({sessionId:a,onSessionReloaded:b}){let{t:c}=(0,aM.s)(),[d,e]=(0,M.useState)(null),[f,g]=(0,M.useState)(null),h=(0,M.useCallback)(async c=>{g(null);try{let d=await fetch("/api/tools/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:c})}),f=await d.json();if(!d.ok||f.error)throw Error(f.error??`HTTP ${d.status}`);e(f),a&&(await pX(a,{type:"reload"}),b())}catch(a){g(a instanceof Error?a.message:String(a))}},[b,a]);return(0,L.jsx)("div",{style:{padding:16,overflowY:"auto",minHeight:0,flex:1},children:(0,L.jsxs)(rx,{children:[(0,L.jsx)(ry,{children:(0,L.jsx)(q7,{label:c("desktop.usePowerShell"),description:c("desktop.shellToolDescription"),checked:d?.powerShellEnabled??!1,onChange:a=>void h(a)})}),(0,L.jsx)(rz,{children:(0,L.jsx)("div",{style:{padding:"10px 0",fontSize:12,lineHeight:1.5,color:"var(--text-dim)"},children:d?.isWindows?c("desktop.shellToolWindowsOnly"):f??c("desktop.shellToolMacOnly")})})]})})}function s_(a){return null==a?"—":pm(a)}function s0({sessionId:a,cwd:b}){let{t:c}=(0,aM.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:s_(d.tokens),window:s_(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:s_(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?s_(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}: ${s_(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:s_(a.tokens)})]},a.path))]})]})]})]})}function s1(){let{t:a}=(0,aM.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)(qO,{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)(rH,{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 s2=[{id:"server",labelKey:"desktop.server",Icon:qO},{id:"display",labelKey:"desktop.display",Icon:qQ},{id:"chat",labelKey:"desktop.chat",Icon:qS},{id:"models",labelKey:"desktop.models",Icon:aB},{id:"skills",labelKey:"desktop.skills",Icon:aD},{id:"plugins",labelKey:"desktop.plugins",Icon:aF},{id:"proxy",labelKey:"desktop.proxy",Icon:qU},{id:"features",labelKey:"desktop.features",Icon:_},{id:"logs",labelKey:"desktop.logs",Icon:ap},{id:"snippets",labelKey:"desktop.snippets",Icon:nd},{id:"usage",labelKey:"desktop.usage",Icon:qW},{id:"mcp",labelKey:"desktop.mcp",Icon:qY},{id:"subagents",labelKey:"desktop.subagents",Icon:q$},{id:"tools",labelKey:"desktop.tools",Icon:qY},{id:"backup",labelKey:"desktop.backup",Icon:lV},{id:"import",labelKey:"desktop.importSessions",Icon:aH}];function s3({initialTab:a="models",cwd:b,sessionId:c,onCloseAction:d,onModelsSavedAction:e,onSessionReloadedAction:f,onSessionsChanged:g}){let h=aQ(),{t:i}=(0,aM.s)(),[j,k]=(0,M.useState)("skills"===a||"plugins"===a?b?a:"display":a),[l,m]=(0,M.useState)(!1),n=l?s2:s2.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)(Z,{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)(s1,{})}),(0,L.jsx)("div",{style:{display:"display"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(ru,{})}),(0,L.jsx)("div",{style:{display:"chat"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(rb,{})}),(0,L.jsx)("div",{style:{display:"models"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(sp,{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)(sP,{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)(sD,{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)(sG,{})}),(0,L.jsx)("div",{style:{display:"features"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(rF,{})}),(0,L.jsx)("div",{style:{display:"logs"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(sQ,{})}),(0,L.jsx)("div",{style:{display:"snippets"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(sT,{})}),(0,L.jsx)("div",{style:{display:"usage"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(s0,{sessionId:c,cwd:b})}),(0,L.jsx)("div",{style:{display:"mcp"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(rY,{sessionId:c})}),(0,L.jsx)("div",{style:{display:"subagents"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(sZ,{cwd:b,sessionId:c})}),(0,L.jsx)("div",{style:{display:"tools"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(s$,{sessionId:c,onSessionReloaded:f})}),(0,L.jsx)("div",{style:{display:"backup"===j?"flex":"none",flex:1,minWidth:0,minHeight:0},children:(0,L.jsx)(q4,{cwd:b})}),(0,L.jsx)("div",{style:{display:"import"===j?"flex":"none",flex:1,minWidth:0,minHeight:0,overflowY:"auto"},children:(0,L.jsx)(rJ,{onSessionsChanged:g})})]}),q&&(0,L.jsx)("div",{style:{padding:"6px 18px",borderTop:"1px solid var(--border)",color:"#f87171",fontSize:11},children:q})]})})}let s4=new Set(["awaiting_input","review","failed"]),s5=(0,M.createContext)(null);function s6(){let a=(0,M.useContext)(s5);if(!a)throw Error("useTasksView must be used within TasksViewProvider");return a}function s7({children:a}){let{t:b}=(0,aM.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,nH.Wt)(),c=(await Promise.all(b.map(a=>(0,nH.Vk)(a).catch(()=>[])))).flat().sort((a,b)=>b.id-a.id);if(a!==g.current)return;f(a=>s8(a,b)?a:b),d(a=>s8(a,c)?a:c)}catch{}},[]),i=(0,M.useMemo)(()=>c.filter(a=>s4.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)(s5.Provider,{value:j,children:a})}function s8(a,b){return JSON.stringify(a)===JSON.stringify(b)}let s9=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"}))]]),ta=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:s9}));ta.displayName="GearIcon";let tb=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"}))]]),tc=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tb}));tc.displayName="FunnelSimpleIcon";let td=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"}))]]),te=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:td}));te.displayName="PlayIcon";let tf=["todo","inProgress","attention","done"];function tg(a){return"review"===a.status&&0===a.filesChanged}function th(){return{defaultAgentType:null,modeId:null,configValues:{},autoProcess:!0,maxConcurrent:1,mergeStrategy:"merge",deleteWorktreeDefault:!0,preflightCommand:null,initCommand:null,stagePrompts:null}}let ti=["todo","inProgress","attention","done"],tj={todo:{id:"todo",marker:"var(--text-dim)"},inProgress:{id:"inProgress",marker:"var(--accent)"},attention:{id:"attention",marker:"#f59e0b"},done:{id:"done",marker:"#10b981"}},tk=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"}))]]),tl=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tk}));tl.displayName="CircleNotchIcon";let tm=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"}))]]),tn=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tm}));tn.displayName="ProhibitIcon";let to=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"}))]]),tp=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:to}));function tq({task:a}){let{t:b}=(0,aM.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)(tl,{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)(ab,{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 tr({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)(tl,{size:10,style:{animation:"pi-spin 1s linear infinite"},"aria-hidden":"true"}):"passed"===b.status?(0,L.jsx)(mq,{size:10,"aria-hidden":"true"}):(0,L.jsx)(pr,{size:10,"aria-hidden":"true"}),(0,L.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b.command})]})}function ts({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,aM.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:pv,label:m("tasks.actionUnarchive"),onClick:k},more:b};switch(a.status){case"todo":c={icon:te,label:m("tasks.actionStart"),onClick:e},b.push({icon:nf,label:m("tasks.actionEdit"),onClick:l});break;case"queued":case"preparing":case"running":case"awaiting_input":c={icon:tn,label:m("tasks.actionCancel"),onClick:f};break;case"review":c=tg(a)?{icon:ab,label:m("tasks.actionComplete"),onClick:j}:{icon:tp,label:m("tasks.actionMerge"),onClick:j};break;case"merging":break;case"failed":c={icon:av,label:m("tasks.actionRetry"),onClick:g},b.push({icon:nf,label:m("tasks.actionEdit"),onClick:l}),b.push({icon:pv,label:m("tasks.actionArchive"),onClick:k});break;case"done":c={icon:pv,label:m("tasks.actionArchive"),onClick:k};break;case"canceled":c={icon:ms,label:m("tasks.actionRequeue"),onClick:h},b.push({icon:pv,label:m("tasks.actionArchive"),onClick:k})}return{primary:c,more:b}})(),t=[...s];return null!=a.conversationId&&t.push({icon:mo,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)(tq,{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)(tr,{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)(lX,{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 tt({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aM.s)(),{refetch:e}=s6(),[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,nH.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)(Z,{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 tu({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aM.s)(),{refetch:e}=s6(),[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,nH.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)(Z,{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")})]})]})]})})}tp.displayName="GitMergeIcon";let tv=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"}))]]),tw=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tv}));tw.displayName="GitCommitIcon";let tx=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"}))]]),ty=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tx}));function tz({open:a,onOpenChange:b,task:c,onViewSession:d,onMerge:e,onEdit:f,onCancel:g,onRetry:h,onRequeue:i,onComplete:j}){let{t:k}=(0,aM.s)(),{refetch:l}=s6(),[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,nH.HB)(H,G).catch(()=>[]),c?.worktreePath?(0,nH.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,nH.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,nH.bH)(c.id,H,C)),b(!1))},N=async()=>{null!=c&&null!=H&&y.trim()&&(await I(()=>(0,nH.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:te,onClick:()=>void I(()=>(0,nH.oQ)(c.id,H,"start")),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:nf,onClick:()=>f(c)});break;case"queued":case"preparing":case"running":case"awaiting_input":O.push({label:k("tasks.actionCancel"),icon:tn,onClick:()=>g(c),danger:!0});break;case"review":O.push({label:tg(c)?k("tasks.actionComplete"):k("tasks.actionMerge"),icon:tg(c)?ab:tw,onClick:()=>tg(c)?j(c):e(c),filled:!0}),O.push({label:k("tasks.actionReturn"),icon:ms,onClick:()=>x(!0)});break;case"failed":O.push({label:k("tasks.actionRetry"),icon:av,onClick:()=>h(c),filled:!0}),O.push({label:k("tasks.actionEdit"),icon:nf,onClick:()=>f(c)});break;case"done":O.push({label:k("tasks.actionArchive"),icon:pv,onClick:()=>void I(()=>(0,nH.et)(c.id,H,!0))});break;case"canceled":O.push({label:k("tasks.actionRequeue"),icon:ms,onClick:()=>i(c),filled:!0})}else O.push({label:k("tasks.actionUnarchive"),icon:pv,onClick:()=>void I(()=>(0,nH.et)(c.id,H,!1))});return null!=c.conversationId&&O.push({label:k("tasks.actionViewSession"),icon:mo,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)(tq,{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)(al,{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)(Z,{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)(ty,{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)(Z,{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)(ax,{size:13,"aria-hidden":"true"}),k("tasks.delete")]})})]})})}ty.displayName="GitDiffIcon";let tA=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"}))]]),tB=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tA}));function tC({open:a,onOpenChange:b,task:c,defaultProject:d,projects:e,prefillTitle:f,prefillPrompt:g,onSubmit:h}){let{t:i}=(0,aM.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,nH.nY)({name:r.trim(),title:l.trim(),config:{prompt:n.trim()}}),s(""),(0,nH.VB)().then(q).catch(()=>void 0)}catch(a){console.error("save template failed",a)}},x=async a=>{try{await (0,nH.B_)(a),(0,nH.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)(Z,{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)(ax,{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)(tB,{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 tD({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aM.s)(),{refetch:e}=s6(),[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,nH.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)(Z,{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 tE({open:a,onOpenChange:b,task:c,kind:d}){let{t:e}=(0,aM.s)(),{refetch:f}=s6(),[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,nH.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)(Z,{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")})]})]})]})})}tB.displayName="BookmarkSimpleIcon";let tF=["work","retry","return","merge"];function tG({open:a,onOpenChange:b,projectRoot:c}){let{t:d}=(0,aM.s)(),{projects:e}=s6(),[f,g]=(0,M.useState)(""),[h,i]=(0,M.useState)(()=>th()),[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,nH.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,nH.E)(f),k(!1),i(th())}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)(Z,{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")}),tF.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 tH({open:a,onOpenChange:b,task:c}){let{t:d}=(0,aM.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)(Z,{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 tI="__all__",tJ={showCanceled:!1,showArchived:!1};function tK(){let{t:a}=(0,aM.s)(),{attentionCount:b}=s6();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)(rw,{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)(ta,{size:13,"aria-hidden":"true"}),a("tasks.settingsTitle")]})]})}function tL({activeProject:a}){let{t:b}=(0,aM.s)(),{tasks:d,projects:e,refetch:f}=s6(),[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 tJ})()),[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),[T,U]=(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,ah]=(0,M.useState)(!1),ai=(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 tf)d[a].sort((a,b)=>(b.updatedAt??"").localeCompare(a.updatedAt??""));return d})(ai,i.showCanceled,i.showArchived),[ai,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),ah(!0))},[af,ah]),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,nH.oQ)(a.id,a.projectRoot,"start"));return}let i=w.current;null!=g&&null!=i&&(async()=>{try{await (0,nH.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,nH.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,nH.et)(a.id,a.projectRoot,!0))))},[ao,ak.done]),ay=+(i.showCanceled!==tJ.showCanceled)+ +(i.showArchived!==tJ.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??tI,onChange:a=>h(a.target.value===tI?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:tI,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)(tc,{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)(te,{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)(aj,{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:ti.map(a=>{let c="todo"===a?al:ak[a],d=tj[a],e=a=>(0,L.jsx)(ts,{task:a,folderName:a.projectRoot?aB.get(a.projectRoot)??null:null,now:z,onOpen:()=>{x.current||I(a.id)},onStart:()=>void ao(()=>(0,nH.oQ)(a.id,a.projectRoot,"start")),onCancel:()=>{Q(a),S(!0)},onRetry:()=>{U(a),X("retry"),Z(!0)},onRequeue:()=>{U(a),X("requeue"),Z(!0)},onViewSession:()=>ap(a),onMerge:()=>{tg(a)?(_(a),ab(!0)):aq(a)},onArchive:()=>void ao(()=>(0,nH.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)(rw,{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)(aj,{size:13,weight:"bold","aria-hidden":"true"}),b("tasks.new")]})]}),(0,L.jsx)(tC,{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)(tz,{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=>{U(a),X("retry"),Z(!0)},onRequeue:a=>{U(a),X("requeue"),Z(!0)},onComplete:a=>{_(a),ab(!0)}}),(0,L.jsx)(tD,{open:N,onOpenChange:O,task:J}),(0,L.jsx)(tt,{open:R,onOpenChange:S,task:P}),(0,L.jsx)(tE,{open:Y,onOpenChange:Z,task:T,kind:W}),(0,L.jsx)(tu,{open:aa,onOpenChange:ab,task:$}),(0,L.jsx)(tH,{open:ag&&null!=an,onOpenChange:ah,task:an}),(0,L.jsx)(tG,{open:ac,onOpenChange:ad,projectRoot:g}),m?(0,V.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)(tq,{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)(te,{size:11,weight:"bold","aria-hidden":"true"}),b("tasks.dropToStart")]}):null]})}),document.body):null]})}let tM=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"}))]]),tN=M.forwardRef((a,b)=>M.createElement(P,{ref:b,...a,weights:tM}));async function tO(){let{getCurrentWindow:a}=await c.e(1399).then(c.bind(c,91399));await a().minimize()}async function tP(){let{getCurrentWindow:a}=await c.e(1399).then(c.bind(c,91399));await a().toggleMaximize()}async function tQ(){let{getCurrentWindow:a}=await c.e(1399).then(c.bind(c,91399));await a().startDragging()}async function tR(){let{getCurrentWindow:a}=await c.e(1399).then(c.bind(c,91399));await a().close()}function tS(){let[a,b]=(0,M.useState)(null);return{platform:a,isDesktop:null!==a,isMacOS:"macos"===a,dragRegionProps:a?{"data-tauri-drag-region":!0}:{}}}tN.displayName="SidebarSimpleIcon";let tT={display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,padding:0,flexShrink:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",borderRadius:8,transition:"background 0.12s, color 0.12s"};function tU(){let{t:a}=(0,aM.s)(),{isDark:b}=hn(),{isDesktop:c,isMacOS:d}=tS(),[e,f]=(0,M.useState)(!1),[g,h]=(0,M.useState)(null),[i,j]=(0,M.useState)(null),k=(0,M.useRef)(null),l=(0,M.useRef)(null),m=(0,M.useCallback)(a=>{a().catch(a=>{console.error("[DynamicIsland] window command failed:",a),h(String(a)),window.setTimeout(()=>h(null),4e3)})},[]),n=(0,M.useCallback)(()=>{window.location.reload()},[]),[o,p]=(0,M.useState)(0),q=(0,M.useCallback)(a=>{if(0!==a.button||a.target.closest?.("[data-island-btn]"))return;let b=k.current;if(!b)return;let c=b.getBoundingClientRect();l.current={startX:a.clientX,startY:a.clientY,origX:c.left,origY:c.top},a.currentTarget.setPointerCapture(a.pointerId)},[]),r=(0,M.useCallback)(a=>{var b,c;let d=l.current;if(!d)return;let e=a.clientX-d.startX,f=a.clientY-d.startY;j((b=d.origX+e,c=d.origY+f,{x:Math.min(Math.max(0,b),Math.max(0,window.innerWidth-152)),y:Math.min(Math.max(0,c),Math.max(0,window.innerHeight-42))}))},[]),s=(0,M.useCallback)(a=>{l.current=null;try{a.currentTarget.releasePointerCapture(a.pointerId)}catch{}},[]),t=(0,M.useCallback)(()=>(f(a=>!a),tP()),[]),u=(0,M.useCallback)(a=>{if(!l.current&&!a.target.closest?.("[data-island-btn]")){j(null);try{localStorage.removeItem("pi-web-island-pos")}catch{}}},[]);if(!(c&&!d))return null;let v=o||window.innerWidth,w=null!==i?i.x:Math.max(0,v-152-14);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{ref:k,role:"toolbar","aria-label":a("desktop.islandLabel"),title:a("desktop.islandResetHint"),onPointerDown:q,onPointerMove:r,onPointerUp:s,onPointerCancel:s,onDoubleClick:u,onMouseDown:a=>a.stopPropagation(),onDoubleClickCapture:a=>a.stopPropagation(),style:{position:"fixed",top:null!==i?i.y:100,left:w,zIndex:700,display:"flex",alignItems:"center",gap:2,padding:"4px 6px",borderRadius:999,background:"color-mix(in srgb, var(--bg-panel) 88%, transparent)",border:"1px solid var(--border)",boxShadow:b?"0 6px 24px rgba(0,0,0,0.45)":"0 6px 20px rgba(0,0,0,0.12)",cursor:"grab",userSelect:"none",touchAction:"none"},children:[(0,L.jsx)("button",{type:"button","data-island-btn":!0,"aria-label":a("desktop.refreshSession"),title:a("desktop.refreshSession"),onClick:n,style:tT,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)(av,{size:14,"aria-hidden":"true"})}),(0,L.jsx)("span",{"aria-hidden":"true",style:{width:1,height:18,flexShrink:0,background:"var(--border)",margin:"0 3px"}}),(0,L.jsx)("button",{type:"button","data-island-btn":!0,"aria-label":a("desktop.minimize"),title:a("desktop.minimize"),onClick:()=>m(tO),style:tT,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)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1",children:(0,L.jsx)("line",{x1:"0",y1:"5",x2:"10",y2:"5"})})}),(0,L.jsx)("button",{type:"button","data-island-btn":!0,"aria-label":a(e?"desktop.restore":"desktop.maximize"),title:a(e?"desktop.restore":"desktop.maximize"),onClick:()=>m(t),style:tT,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:e?(0,L.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1",children:[(0,L.jsx)("rect",{x:"2",y:"0.5",width:"7.5",height:"7.5"}),(0,L.jsx)("path",{d:"M0.5 2.5 V9.5 H7.5"})]}):(0,L.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1",children:(0,L.jsx)("rect",{x:"0.5",y:"0.5",width:"9",height:"9"})})}),(0,L.jsx)("button",{type:"button","data-island-btn":!0,"aria-label":a("desktop.close"),title:a("desktop.close"),onClick:()=>m(tR),style:tT,onMouseEnter:a=>{a.currentTarget.style.background="#e81123",a.currentTarget.style.color="#fff"},onMouseLeave:a=>{a.currentTarget.style.background="none",a.currentTarget.style.color="var(--text-muted)"},children:(0,L.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1",children:[(0,L.jsx)("line",{x1:"0",y1:"0",x2:"10",y2:"10"}),(0,L.jsx)("line",{x1:"10",y1:"0",x2:"0",y2:"10"})]})})]}),g&&(0,L.jsx)("div",{role:"alert",style:{position:"fixed",top:(null!==i?i.y:100)+42+6,left:w,zIndex:700,maxWidth:280,padding:"5px 10px",borderRadius:8,background:"var(--bg-panel)",border:"1px solid var(--status-error, #f85149)",color:"var(--status-error, #f85149)",fontSize:11,lineHeight:1.5,wordBreak:"break-all",boxShadow:b?"0 6px 24px rgba(0,0,0,0.45)":"0 6px 20px rgba(0,0,0,0.12)",pointerEvents:"none"},children:g})]})}function tV({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)(rl,{size:16,"aria-hidden":"true"}):(0,L.jsx)(rj,{size:16,"aria-hidden":"true"}):(0,L.jsx)(rl,{size:16,"aria-hidden":"true"})})}function tW({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,selectedSession:n,contextUsage:o,copiedSessionField:p,onCopySessionField:q,rightPanelOpen:r,onToggleFilePanel:s,onRefreshSession:t,onOpenSettings:u,sessionTitle:v,onWorkspaceControlsHostChange:w,onTitleRightHostChange:x,desktopChrome:y,windowDrag:z}){let A,B,C,D,E,F,G,H,I,J,K,{t:N}=(0,aM.s)(),[O,P]=(0,M.useState)(!1),[Q,R]=(0,M.useState)(!1);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{ref:a,className:"app-title-bar",...y?.dragRegionProps,...z,style:{display:"flex",alignItems:"center",flexShrink:0,borderBottom:"1px solid var(--border)",height:48,background:"var(--bg-panel)",position:"relative",zIndex:600,paddingLeft:76*!!y?.isMacOS},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?N("desktop.hideSidebar"):N("desktop.showSidebar"),"aria-label":b?N("desktop.hideSidebar"):N("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)(tN,{size:16,"aria-hidden":"true"}):(0,L.jsx)(ap,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("div",{className:"app-no-drag",ref:w,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",overflow:"hidden",userSelect:"none"},children:[v&&(0,L.jsx)("button",{type:"button",onClick:()=>{f&&P(!0)},title:f?v:void 0,style:{display:"block",flex:"0 1 auto",minWidth:0,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:v}),(0,L.jsx)("div",{className:"app-no-drag",ref:x,style:{flexShrink:0,display:"flex",alignItems:"center",marginLeft:4}})]}),(0,L.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:3,minWidth:0,height:"100%",flexShrink:1,overflow:"hidden"},children:[!f&&h&&(0,L.jsx)("button",{className:"app-no-drag",onClick:i,title:g?N("desktop.hideTaskBoard"):N("desktop.showTaskBoard"),"aria-label":g?N("desktop.hideTaskBoard"):N("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)(rw,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("button",{className:"app-no-drag",onClick:s,title:r?N("desktop.hideFilePanel"):N("desktop.showFilePanel"),"aria-label":r?N("desktop.hideFilePanel"):N("desktop.showFilePanel"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:36,height:36,padding:0,background:r?"var(--bg-selected)":"none",border:"none",color:r?"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=r?"var(--bg-selected)":"none",a.currentTarget.style.color=r?"var(--text)":"var(--text-muted)"},children:(0,L.jsx)(tN,{size:16,"aria-hidden":"true",style:{transform:"scaleX(-1)"}})}),(0,L.jsx)(tV,{isDark:d,toggleTheme:e,translate:N}),Q&&(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:()=>{window.location.href="piweb-switch://manage"},title:N("desktop.serverSwitch"),"aria-label":N("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)(qO,{size:16,"aria-hidden":"true"})}),!Q&&(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:t,title:N("desktop.refreshSession"),"aria-label":N("desktop.refreshSession"),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)(av,{size:16,"aria-hidden":"true"})}),(0,L.jsx)("button",{className:"app-no-drag",type:"button",onClick:u,title:N("desktop.settings"),"aria-label":N("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)(ta,{size:16,"aria-hidden":"true"})})]})]}),(0,L.jsx)(tU,{}),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?(A=[...m.sessionName?[{label:N("desktop.name"),value:m.sessionName,copyField:null}]:[],{label:N("desktop.sessionInfoFile"),value:m.sessionFile??N("desktop.sessionInfoInMemory"),copyField:"file"},{label:N("desktop.sessionInfoId"),value:m.sessionId,copyField:"id"}],B=[[N("desktop.sessionInfoUser"),m.userMessages.toLocaleString()],[N("desktop.sessionInfoAssistant"),m.assistantMessages.toLocaleString()],[N("desktop.sessionInfoToolCalls"),m.toolCalls.toLocaleString()],[N("desktop.sessionInfoToolResults"),m.toolResults.toLocaleString()],[N("desktop.sessionInfoTotal"),m.totalMessages.toLocaleString()]],C=[[N("desktop.sessionInfoInput"),m.tokens.input.toLocaleString()],[N("desktop.sessionInfoOutput"),m.tokens.output.toLocaleString()],...m.tokens.cacheRead>0?[[N("desktop.sessionInfoCacheRead"),m.tokens.cacheRead.toLocaleString()]]:[],...m.tokens.cacheWrite>0?[[N("desktop.sessionInfoCacheWrite"),m.tokens.cacheWrite.toLocaleString()]]:[],[N("desktop.sessionInfoTotal"),m.tokens.total.toLocaleString()]],D=o??m.contextUsage,F=[...m.cost>0?[[N("desktop.sessionInfoCost"),`$${m.cost.toFixed(4)}`]]:[],...D?.contextWindow?[[N("desktop.sessionInfoContext"),`${null!==D.percent?`${D.percent.toFixed(1)}%`:"?"} / ${(E=D.contextWindow)>=1e6?`${(E/1e6).toFixed(1)}M`:E>=1e3?`${(E/1e3).toFixed(0)}k`:String(E)}`]]:[]],G=(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}`))})]}),H=(a,b)=>{let c=p===a;return(0,L.jsx)("button",{type:"button",title:c?N("desktop.copied"):N({file:"desktop.copyFilePath",id:"desktop.copySessionId",projectDir:"desktop.copyProjectDir",gitBranch:"desktop.copyGitBranch",gitWorktree:"desktop.copyGitWorktree"}[a]),onClick:()=>q(a,b),style:{alignSelf:"start",display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginTop:-2,color:c?"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=c?"var(--accent)":"var(--text-dim)",a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background="transparent"},children:c?(0,L.jsx)(ab,{size:12,"aria-hidden":"true"}):(0,L.jsx)(cr,{size:12,"aria-hidden":"true"})})},I=(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:N("desktop.sessionInfoTitle")}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:A.map(a=>(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?H(a.copyField,a.value):null})]},`session-info:${a.label}`))})]}),K=(J=[...n?[{label:N("desktop.projectDir"),value:n.projectRoot??n.cwd,copyField:"projectDir"}]:[],...n?.branch?[{label:N("desktop.gitBranch"),value:n.branch,copyField:"gitBranch"}]:[],...n?.isWorktree?[{label:N("desktop.gitWorktree"),value:n.cwd,copyField:"gitWorktree"}]:[]]).length>0?(0,L.jsxs)("div",{style:{minWidth:0},children:[(0,L.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:N("desktop.projectSection")}),(0,L.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:J.map(a=>(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?H(a.copyField,a.value):null})]},`project-info:${a.label}`))})]}):null,(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:[(0,L.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:f?16:20,minWidth:0},children:[I,K]}),G(N("desktop.sessionInfoMessages"),B),G(N("desktop.sessionInfoTokens"),[...C,...F],"right",!0)]})):(0,L.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:N("desktop.sendMessageForSessionInfo")})})]}),O&&v&&(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&&P(!1)},children:(0,L.jsx)("div",{role:"dialog","aria-label":v,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:v})})]})}function tX({cwd:a,busy:b,error:c,onCancelAction:d,onConfirmAction:e}){let{t:f}=(0,aM.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)(mC,{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 tY(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 tZ(a){return tY(.42*a,360,640)}function t$(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,s]=(0,M.useState)(!1),t=(0,M.useCallback)(()=>Math.min(h,Math.max(i,f())),[f,h,i]),u=(0,M.useCallback)(a=>tY(a,i,t()),[t,i]),v=(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]),w=(0,M.useCallback)((a,b={})=>{let{forcePersist:c=!1,persist:d=!0}=b,e=u(a),f=e!==k.current;return v(e),o(e),d&&(f||c)&&function(a,b){try{window.localStorage.setItem(a,String(b))}catch{}}(j,e),e},[v,u,j,k]),x=(0,M.useCallback)(a=>{document.body.style.cursor=a.previousCursor,document.body.style.userSelect=a.previousUserSelect},[]),y=(0,M.useCallback)(a=>{let b=m.current;if(b&&b.pointerId===a){m.current=null,x(b),q(!1),w(k.current,{forcePersist:!0});try{b.target.hasPointerCapture(a)&&b.target.releasePointerCapture(a)}catch{}}},[w,x,k]),z=(0,M.useCallback)(a=>{if("mouse"===a.pointerType&&0!==a.button)return;a.preventDefault(),a.stopPropagation();let b=m.current;b&&y(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)},[y,k]),A=(0,M.useCallback)(a=>{let b=m.current;if(!b||b.pointerId!==a.pointerId)return;if("mouse"===a.pointerType&&0===a.buttons)return void y(a.pointerId);a.preventDefault();let c="right"===g?1:-1,d=u(b.startWidth+(a.clientX-b.startX)*c);v(d),a.currentTarget.setAttribute("aria-valuenow",String(d)),a.currentTarget.setAttribute("aria-valuetext",`${d} px`)},[v,u,y,g]),B=(0,M.useCallback)(a=>{y(a.pointerId)},[y]),C=(0,M.useCallback)(a=>{y(a.pointerId)},[y]),D=(0,M.useCallback)(a=>{y(a.pointerId)},[y]),E=(0,M.useCallback)(()=>{w(e?.()??d,{forcePersist:!0})},[w,d,e]),F=(0,M.useCallback)(()=>{w(k.current)},[w,k]),G=(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(),w(k.current+b,{forcePersist:!0})):a.key===d?(a.preventDefault(),w(k.current-b,{forcePersist:!0})):"Home"===a.key?(a.preventDefault(),w(i,{forcePersist:!0})):"End"===a.key?(a.preventDefault(),w(t(),{forcePersist:!0})):"Enter"===a.key&&(a.preventDefault(),E())},[w,t,g,i,E,k]);return{isResizing:p,panelRef:l,reclampWidth:F,separatorProps:{"aria-label":b,"aria-orientation":"vertical","aria-valuemax":r?t():h,"aria-valuemin":i,"aria-valuenow":n,"aria-valuetext":`${n} px`,onDoubleClick:E,onKeyDown:G,onLostPointerCapture:D,onPointerCancel:C,onPointerDown:z,onPointerMove:A,onPointerUp:B,role:"separator",tabIndex:0},width:n}}function t_(){let a,b,c,d=(0,U.useRouter)(),e=(0,U.useSearchParams)(),f=(0,M.useMemo)(()=>{let a;return{requestedCwd:a=e.get("cwd")?.trim()||null,sessionId:a?null:e.get("session")}},[e]),{isDark:g,toggleTheme:h}=hn(),{t:i}=(0,aM.s)(),j=aQ(),[k,l]=(0,M.useState)(null),[m,n]=(0,M.useState)(null),[o,p]=(0,M.useState)(0),[q,r]=(0,M.useState)(0),[s,t]=(0,M.useState)(0),[u,v]=(0,M.useState)(!1),[w,x]=(0,M.useState)("models"),[y,z]=(0,M.useState)(0),[A,B]=(0,M.useState)(null),[C,D]=(0,M.useState)(!1),[E,F]=(0,M.useState)(!1),[G,H]=(0,M.useState)(null),[I,J]=(0,M.useState)(!0),[K,N]=(0,M.useState)(!1),O=(0,M.useRef)(null),P=(0,M.useRef)(null),[Q,S]=(0,M.useState)(null),[V,W]=(0,M.useState)(null),[X,Y]=(0,M.useState)(null),Z=tS(),$=function(){let{isDesktop:a,isMacOS:b}=tS(),c=(0,M.useCallback)(a=>{var b;0===a.button&&(b=a.target).closest("[data-tauri-drag-region]")&&!b.closest('button, a, input, textarea, select, [role="button"], [contenteditable="true"], [data-no-drag]')&&(a.preventDefault(),a.stopPropagation(),2===a.detail?tP():tQ())},[]);return a&&!b?{onMouseDown:c}:{}}(),[_,aa]=(0,M.useState)(null),ab=(0,M.useCallback)(a=>{aa(a)},[]),[ac,ad]=(0,M.useState)(null),ae=(0,M.useCallback)(a=>{ad(a)},[]),[af,ag]=(0,M.useState)([]),ah=(0,M.useCallback)(a=>{ag(a)},[]),ai=af.filter(a=>"running"===a.status).length,[aj,ak]=(0,M.useState)(null),al=(0,M.useRef)(null),am=(0,M.useCallback)((a,b)=>{ho(b).then(()=>{al.current&&clearTimeout(al.current),ak(a),al.current=setTimeout(()=>ak(null),1400)})},[]),[an,ao]=(0,M.useState)(null),ap=(0,M.useCallback)(a=>{ao(a)},[]),[aq,ar]=(0,M.useState)(null),[as,at]=(0,M.useState)(null),au=(0,M.useCallback)(()=>{j&&J(!1),ar("session")},[j]),av=(0,M.useCallback)(()=>{j&&ar(null),J(a=>!a)},[j]),[aw,ax]=(0,M.useState)([]),[ay,az]=(0,M.useState)(null),[aA,aB]=(0,M.useState)(!1),[aC,aD]=(0,M.useState)(!1),[aE,aF]=(0,M.useState)(null),aG=(0,M.useCallback)(a=>{aF(a??null),aD(!0),aB(!0),j&&J(!1)},[j]),aH=(0,M.useCallback)(()=>{aD(!1),aF(null)},[]),[aI,aJ]=(0,M.useState)(null),aK=(0,M.useCallback)(a=>aJ(a),[]),aL=(0,M.useCallback)(()=>aJ(null),[]),aN=(0,M.useRef)(260),aO=(0,M.useRef)(tZ(1366)),aP=(0,M.useCallback)(()=>tZ(1366),[]),aR=(0,M.useCallback)(()=>480,[aA]),aS=(0,M.useCallback)(()=>1200,[I]),aT=t$({ariaLabel:i("desktop.resizeSidebar"),cssVariable:"--sidebar-width",defaultWidth:260,getMaxWidth:aR,growthDirection:"right",maxWidth:480,minWidth:180,storageKey:"pi-sidebar-width",widthRef:aN}),aU=t$({ariaLabel:i("desktop.resizeFilePanel"),cssVariable:"--right-panel-width",defaultWidth:tZ(1366),getDefaultWidth:aP,getMaxWidth:aS,growthDirection:"left",maxWidth:1200,minWidth:300,storageKey:"pi-right-panel-width",widthRef:aO});aT.reclampWidth,aU.reclampWidth;let aV=(0,M.useCallback)((a,b)=>{O.current?.insertText(nG(a,b))},[]),aW=(0,M.useCallback)(a=>{let b=a.map(a=>nG(a,!1)).join("");b&&O.current?.insertText(b)},[]),aX=(0,M.useCallback)((a,b,c)=>{let d,e,f,g;O.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} `))},[]),[aY,aZ]=(0,M.useState)(()=>f.sessionId),[a$,a_]=(0,M.useState)(null),[a0,a1]=(0,M.useState)(()=>f.requestedCwd?"validating":"idle"),[a2,a3]=(0,M.useState)(null),[a4,a5]=(0,M.useState)(()=>!aY),a6=(0,M.useRef)(!1),a7=(0,M.useRef)(new Map),[a8,a9]=(0,M.useState)(null);(0,M.useRef)("");let ba=(0,M.useCallback)((a,b)=>{if(!a)return;if(a_(a),a6.current&&k&&bE(k.projectRoot??k.cwd,b??a)){if(a6.current=!1,k){let a=k.projectRoot??k.cwd;a&&a7.current.set(a,k.id)}return}a6.current=!1;let c=b??a;if(k&&bE(k.projectRoot??k.cwd,c)){(k.projectRoot??k.cwd)&&a7.current.set(c,k.id);return}if(k){let a=k.projectRoot??k.cwd;a&&a7.current.set(a,k.id)}l(null),n(b=>b&&b!==a?null:b),r(a=>a+1),aa(null),ar(null),window.history.replaceState(null,"","/");let d=a7.current.get(c);a9(d?{projectRoot:c,sessionId:d}:null)},[k]),bb=(0,M.useCallback)((a,b=!1)=>{if(b||a9(null),!b&&k){let b=bE(k.projectRoot??k.cwd,a.projectRoot??a.cwd);if(k.id===a.id&&b){j&&J(!1);return}}let c=a.projectRoot??a.cwd;c&&a7.current.set(c,a.id),n(null),l(a),r(a=>a+1),aa(null),a5(!0),j&&!b&&J(!1),b&&(a6.current=!0),b||window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`)},[j,k]);(0,M.useRef)(()=>{});let bc=(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&&l(b=>!b||b.id!==a||b.projectRoot&&b.name?b:c)}).catch(()=>{})},[]),bd=(0,M.useCallback)((a,b)=>{a9(null),l(null),n(b),r(a=>a+1),aa(null),ar(null),j&&J(!1),window.history.replaceState(null,"","/")},[d,j]);!function(a){let{onNewSession:b,activeCwd:c}=a}({onNewSession:a=>bd(`kb-${Date.now()}`,a),activeCwd:a$});let be=(0,M.useCallback)(a=>{n(null),a9(null);let b=a.projectRoot??a.cwd;b&&a7.current.set(b,a.id),l(a),a.cwd&&a_(a.cwd),p(a=>a+1),bc(a.id),window.history.replaceState(null,"",`?session=${encodeURIComponent(a.id)}`),window.setTimeout(()=>p(a=>a+1),1200),window.setTimeout(()=>p(a=>a+1),4e3)},[d,bc]),bf=(0,M.useCallback)(()=>{p(a=>a+1),t(a=>a+1)},[]),bg=(0,M.useCallback)(a=>{p(a=>a+1),r(a=>a+1),n(null),a9(null),l(b=>{let c={...b??{path:"",cwd:"",created:"",modified:"",messageCount:0,firstMessage:""},id:a},d=c.projectRoot??c.cwd;return d&&a7.current.set(d,a),c}),bc(a),window.history.replaceState(null,"",`?session=${encodeURIComponent(a)}`)},[d,bc]),bh=(0,M.useCallback)(()=>{a5(!0)},[]),bj=(0,M.useCallback)(a=>{if(p(a=>a+1),k?.id===a){let a=k.cwd;l(null),n(a??null),r(a=>a+1),aa(null),ar(null),window.history.replaceState(null,"","/")}},[d,k]),bk=(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}`;ax(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}]}),az(g),aB(!0),j&&J(!1)},[j]),bl=(0,M.useCallback)(a=>{bk(a,bi(a),k?.id??null)},[bk,k?.id]),bm=(0,M.useCallback)(a=>{ax(b=>{let c=b.filter(b=>b.id!==a);return 0===c.length&&aB(!1),c}),az(b=>{if(b!==a)return b;let c=aw.filter(b=>b.id!==a);return c.length>0?c[c.length-1].id:null})},[aw]),bn=(0,M.useCallback)(a=>{t(a=>a+1),bk(a,bi(a))},[bk]),bo=(0,M.useCallback)((a,b)=>{t(a=>a+1);let c=a.endsWith("/")?a:a+"/",d=d=>d===a||b&&d.startsWith(c);ax(a=>{let b=a.filter(a=>!d(a.filePath));return 0===b.length&&aB(!1),b}),az(a=>{if(!a)return a;let b=aw.find(b=>b.id===a);if(!b||!d(b.filePath))return a;let c=aw.filter(a=>!d(a.filePath));return c.length>0?c[c.length-1].id:null})},[aw]),bp=k?bQ(k.name||ac?.sessionName)||k.firstMessage.slice(0,50)||k.id.slice(0,12):(a=a$??m)?a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()||a:null,bq=(0,M.useCallback)(()=>{k&&window.open(`/api/sessions/${encodeURIComponent(k.id)}/export?inline=1`,"_blank","noopener,noreferrer")},[k]),br=m??(null===k&&a$?a$:null),bs="validating"!==a0&&"error"!==a0&&(null!==k||null!==br);k?.id;let bt=k?.cwd??br,[bu,bv]=(0,M.useState)(!1),bw=(0,M.useCallback)(()=>{j||bv(a=>!a)},[j]),[bx,by]=(0,M.useState)(!0),bz=a4&&!bs,bA=(0,M.useCallback)(async()=>{if(bt&&!E){F(!0),H(null);try{let a=await fetch("/api/project-trust",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:bt})}),b=await a.json();if(!a.ok||b.error)throw Error(b.error??`HTTP ${a.status}`);B(b),D(!1),z(a=>a+1),r(a=>a+1)}catch(a){H(a instanceof Error?a.message:String(a))}finally{F(!1)}}},[E,bt]),bB=aw.find(a=>a.id===ay)??null,bC=a$??k?.cwd??m,bD=(0,M.useCallback)(a=>{x(a),v(!0)},[]),bF=(0,L.jsx)(L.Fragment,{children:(0,L.jsx)(bY,{selectedSessionId:k?.id??null,onSelectSession:bb,onNewSession:bd,initialSessionId:aY,onInitialRestoreDone:bh,refreshKey:o,onSessionDeleted:bj,selectedCwd:k?.cwd??m??null,onCwdChange:ba,onOpenFile:bk,selectedSessionStats:ac,onOpenSettings:a=>{bD(["models","skills","plugins","chat","features","logs"].includes(a)?a:"models")},explorerRefreshKey:s,onAtMention:aV,onAtMentions:aW,onFileCreated:bn,onFileDeleted:bo,workspaceControlsHosts:{title:Q,welcome:X,titleRight:V},showWorkspaceControls:!0})});return(0,L.jsxs)(s7,{children:[(0,L.jsx)("style",{children:`
38
38
  @media (max-width: 640px) {
39
39
  .sidebar-overlay-backdrop.sidebar-mobile-pending {