tarsk 0.5.69 → 0.5.70

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 (61) hide show
  1. package/dist/index.js +276 -165
  2. package/dist/public/assets/{account-view-Chzj6v7a.js → account-view-B3-h2Omm.js} +1 -1
  3. package/dist/public/assets/{alert-dialog-CLYxQdrK.js → alert-dialog-hMK0ERPv.js} +1 -1
  4. package/dist/public/assets/{async-error-boundary-CM6LU7nT.js → async-error-boundary-Ca8lx8YM.js} +1 -1
  5. package/dist/public/assets/{browser-tab--1iEoJGu.js → browser-tab-C6INAmPZ.js} +1 -1
  6. package/dist/public/assets/{chat-dock-context-Gg1jpamu.js → chat-dock-context-CjVDawH_.js} +1 -1
  7. package/dist/public/assets/{commit-dialog-BfdxNX_T.js → commit-dialog-ClrhP7Jd.js} +1 -1
  8. package/dist/public/assets/{commit-error-dialog-DrsDKL-B.js → commit-error-dialog-Clt0BgiE.js} +1 -1
  9. package/dist/public/assets/{commit-method-fields-o-xw2faT.js → commit-method-fields-BwX9cAYJ.js} +1 -1
  10. package/dist/public/assets/{context-menu-BLvLpqq7.js → context-menu-C5sSYyMw.js} +1 -1
  11. package/dist/public/assets/{conversation-history-view-ukfe_7qw.js → conversation-history-view-CcBBgh8V.js} +1 -1
  12. package/dist/public/assets/create-project-dialog-CPz95RZY.js +6 -0
  13. package/dist/public/assets/{create-repo-dialog-CkFACtMf.js → create-repo-dialog-CUm5YAtV.js} +1 -1
  14. package/dist/public/assets/{delete-confirm-dialog-D1zjctrX.js → delete-confirm-dialog-CUm3m7WO.js} +1 -1
  15. package/dist/public/assets/{diff-view-Cxf7v9t1.js → diff-view-BJga_mCE.js} +1 -1
  16. package/dist/public/assets/{explorer-tab-view-LkT0bDcR.js → explorer-tab-view-D9bH6cb1.js} +2 -2
  17. package/dist/public/assets/{explorer-tree-B6EZUVTn.js → explorer-tree-Bciwq7MW.js} +1 -1
  18. package/dist/public/assets/{explorer-view-D5y8Uxoi.js → explorer-view-Ufv--EPU.js} +1 -1
  19. package/dist/public/assets/{git-history-dialog-X6sVwgPT.js → git-history-dialog-NdDkNMAP.js} +1 -1
  20. package/dist/public/assets/{index-CJCQ4bTo.js → index-CsUbYVa9.js} +16 -16
  21. package/dist/public/assets/{mcp-server-card-DPakHrG9.js → mcp-server-card-CzXVgu1Z.js} +1 -1
  22. package/dist/public/assets/{merged-pr-dialog-C3euJvCu.js → merged-pr-dialog-ClxYJI_m.js} +1 -1
  23. package/dist/public/assets/{model-list-controls-2JtkzWsp.js → model-list-controls-KE0f0BLj.js} +1 -1
  24. package/dist/public/assets/{monaco-setup-b-rhUj5t.js → monaco-setup-Bpe6FBYw.js} +1 -1
  25. package/dist/public/assets/{onboarding-KBcwP-kU.js → onboarding-DTF0L4Nt.js} +1 -1
  26. package/dist/public/assets/{project-env-vars-view-D60J_-qQ.js → project-env-vars-view-xuiGkrnJ.js} +1 -1
  27. package/dist/public/assets/{project-model-aliases-view-EClnOgBH.js → project-model-aliases-view-BdbzKmYL.js} +1 -1
  28. package/dist/public/assets/{project-settings-view-Cb0iiyad.js → project-settings-view-CuwlpN98.js} +1 -1
  29. package/dist/public/assets/{project-tools-view-B_WnVICB.js → project-tools-view-kZysTxYq.js} +1 -1
  30. package/dist/public/assets/{providers-list-view-CYy82_hl.js → providers-list-view-BF3ctCjJ.js} +1 -1
  31. package/dist/public/assets/{pull-request-dialog-CitbRcub.js → pull-request-dialog-BC_tPcL-.js} +1 -1
  32. package/dist/public/assets/{pull-with-changes-dialog-CpgHqvKf.js → pull-with-changes-dialog-CaOxy8gu.js} +1 -1
  33. package/dist/public/assets/{push-before-pr-dialog-CrcNZDLb.js → push-before-pr-dialog-GZEUiZUR.js} +1 -1
  34. package/dist/public/assets/{react-vendor-7n7LyU5o.js → react-vendor-CCZMLxmy.js} +1 -1
  35. package/dist/public/assets/{settings-general-view-72s5xgPj.js → settings-general-view-CscBURgS.js} +1 -1
  36. package/dist/public/assets/{settings-instructions-view-DN4-73KP.js → settings-instructions-view-DcmFP_43.js} +1 -1
  37. package/dist/public/assets/{settings-list-CWdsaJKC.js → settings-list-XkmhqNbT.js} +1 -1
  38. package/dist/public/assets/{settings-logs-view-CkkVgGvv.js → settings-logs-view-CcjSlyGf.js} +1 -1
  39. package/dist/public/assets/{settings-mcp-servers-view-B8_vnfl6.js → settings-mcp-servers-view-dtuAjs13.js} +1 -1
  40. package/dist/public/assets/{settings-models-view-xIRY7PvW.js → settings-models-view-BxcooRk0.js} +1 -1
  41. package/dist/public/assets/{settings-rules-view-DIk0ghSW.js → settings-rules-view-C-ykSCar.js} +1 -1
  42. package/dist/public/assets/{settings-skills-view-qWbr0Vl2.js → settings-skills-view-B3mgDInQ.js} +1 -1
  43. package/dist/public/assets/{settings-slack-view-RFLP0USW.js → settings-slack-view-CppRZhMV.js} +1 -1
  44. package/dist/public/assets/{settings-slash-commands-view-zFWoR_R7.js → settings-slash-commands-view-DTjTThgi.js} +1 -1
  45. package/dist/public/assets/{settings-statistics-view-BgrzVn4R.js → settings-statistics-view-B88qkfOC.js} +1 -1
  46. package/dist/public/assets/{settings-storage-view-BS2k7E74.js → settings-storage-view-DR7vf1Zh.js} +1 -1
  47. package/dist/public/assets/{settings-subagents-view-BZr1NkVp.js → settings-subagents-view-B7vHT4_J.js} +1 -1
  48. package/dist/public/assets/{settings-system-prompt-view-mQErde93.js → settings-system-prompt-view-D5fjsQT6.js} +1 -1
  49. package/dist/public/assets/{settings-view-D4-XZz2V.js → settings-view-DOMStvOg.js} +2 -2
  50. package/dist/public/assets/{tasks-view-DgkXglqW.js → tasks-view-KcH0lX_t.js} +2 -2
  51. package/dist/public/assets/{terminal-panel-DCaBWV04.js → terminal-panel-ozKXkKxm.js} +1 -1
  52. package/dist/public/assets/{ui-components-1WsgZqWa.js → ui-components-D63KPVFX.js} +1 -1
  53. package/dist/public/assets/{use-active-dock-panel-instance-B9ao_JH2.js → use-active-dock-panel-instance-CN8Djesu.js} +1 -1
  54. package/dist/public/assets/{use-installed-ai-files-GpG9ZL8U.js → use-installed-ai-files-Bx9lPbQB.js} +1 -1
  55. package/dist/public/assets/{web-D7CwlITA.js → web-BdMnTk6x.js} +1 -1
  56. package/dist/public/assets/{web-BuYdGVW8.js → web-Brg1tgLR.js} +1 -1
  57. package/dist/public/assets/{web-CEfF0992.js → web-DUuz6a51.js} +1 -1
  58. package/dist/public/assets/{web-yeAPC2wm.js → web-DdKg_e2t.js} +1 -1
  59. package/dist/public/index.html +5 -5
  60. package/package.json +1 -1
  61. package/dist/public/assets/create-project-dialog-DrXo61FQ.js +0 -6
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-IeRYu0zQ.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vosk-speech-Fi-g2v8n.js","assets/commit-dialog-BfdxNX_T.js","assets/onboarding-KBcwP-kU.js","assets/interactive-BrHVRHmQ.js","assets/pull-request-dialog-CitbRcub.js","assets/create-repo-dialog-CkFACtMf.js","assets/git-history-dialog-X6sVwgPT.js","assets/push-before-pr-dialog-CrcNZDLb.js","assets/pull-with-changes-dialog-CpgHqvKf.js","assets/commit-error-dialog-DrsDKL-B.js","assets/terminal-panel-DCaBWV04.js","assets/chat-dock-context-Gg1jpamu.js","assets/store-B_cK-gsT.js","assets/main-tab-context-zQSuRQQG.js","assets/use-active-dock-panel-instance-B9ao_JH2.js","assets/terminal-panel-BrP-ENHg.css","assets/diff-view-Cxf7v9t1.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/async-error-boundary-CM6LU7nT.js","assets/card-BDQUHsPD.js","assets/context-menu-BLvLpqq7.js","assets/react-vendor-7n7LyU5o.js","assets/use-suspense-resource-CExc4Svq.js","assets/monaco-setup-b-rhUj5t.js","assets/utils-SsF94Pkg.js","assets/explorer-tab-view-LkT0bDcR.js","assets/use-toast-hxHsVv6a.js","assets/explorer-tab-context-BdjTEbFh.js","assets/browser-tab--1iEoJGu.js","assets/tasks-view-DgkXglqW.js","assets/commit-method-fields-o-xw2faT.js","assets/ndjson-stream-DeGpE5o5.js","assets/create-project-dialog-DrXo61FQ.js","assets/settings-view-D4-XZz2V.js","assets/skeleton-CJSNEi3C.js","assets/merged-pr-dialog-C3euJvCu.js"])))=>i.map(i=>d[i]);
2
- import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{$r as n,$t as r,An as i,B as a,Bt as o,Di as s,Dn as c,Dr as l,Dt as u,Ei as d,Er as f,F as p,Fn as m,Fr as h,Ft as g,G as _,Gr as v,Gt as y,Ht as b,I as x,In as S,Ir as C,Jn as w,Jr as T,Jt as E,K as D,Kr as O,Kt as k,L as A,Ln as j,Lt as M,M as N,Mn as P,Mr as F,Mt as I,N as L,Nt as R,O as z,Oi as B,On as V,Ot as H,P as ee,Pn as te,Pr as ne,Pt as re,Q as ie,Qr as ae,Qt as oe,Rn as se,Rr as U,Rt as ce,S as le,Si as ue,Sn as W,St as de,T as fe,Tr as pe,Ur as me,Ut as he,V as ge,Vr as _e,Vt as ve,W as ye,Wr as be,Wt as xe,X as Se,Xn as Ce,Xr as we,Xt as Te,Y as Ee,Yn as De,Yr as Oe,Yt as ke,Z as Ae,Zn as je,Zr as Me,Zt as Ne,_ as Pe,_n as Fe,_r as Ie,_t as Le,a as Re,ai as ze,an as Be,ar as Ve,b as He,bi as Ue,br as We,bt as Ge,c as Ke,ci as qe,ct as Je,d as Ye,di as Xe,dn as Ze,dt as Qe,ei as $e,en as et,er as tt,f as nt,fi as rt,fn as it,ft as at,g as ot,gn as st,gr as ct,gt as lt,hn as ut,ht as dt,i as G,ii as ft,in as pt,ir as mt,j as ht,jn as gt,jt as _t,k as vt,ki as yt,kt as bt,m as xt,mi as St,mr as Ct,n as wt,ni as Tt,nt as Et,o as K,oi as q,on as Dt,pn as Ot,pr as kt,pt as At,q as jt,qn as Mt,qr as Nt,qt as Pt,r as Ft,rt as It,s as Lt,sn as Rt,sr as zt,t as Bt,ti as Vt,tn as Ht,tr as Ut,u as Wt,ui as Gt,un as Kt,ut as qt,vi as Jt,vn as Yt,wi as Xt,wn as Zt,wt as Qt,x as $t,xi as en,xn as tn,xr as nn,xt as rn,y as an,yi as on,yn as sn,yr as cn,yt as ln,z as un,zr as dn,zt as fn}from"./interactive-BrHVRHmQ.js";import{A as pn,At as mn,B as hn,Bt as gn,Ct as _n,D as J,Dt as vn,E as yn,Et as bn,F as xn,Ft as Sn,G as Cn,H as wn,Ht as Tn,I as En,It as Dn,K as On,L as kn,Lt as An,M as jn,Mt as Mn,N as Nn,Nt as Pn,O as Fn,Ot as In,P as Ln,Pt as Rn,R as zn,Rt as Bn,St as Vn,T as Hn,Tt as Un,U as Wn,Ut as Gn,V as Kn,Vt as qn,W as Jn,Wt as Yn,_t as Xn,at as Zn,bt as Qn,ct as $n,dt as er,ft as tr,gt as nr,ht as rr,it as ir,j as ar,jt as or,k as sr,kt as cr,lt as lr,mt as ur,ot as dr,pt as fr,q as pr,qt as mr,rt as hr,st as gr,ut as _r,vt as vr,wt as yr,xt as br,yt as xr,z as Sr,zt as Cr}from"./react-vendor-7n7LyU5o.js";import{$i as wr,$r as Tr,$t as Er,A as Dr,Aa as Or,Ai as kr,Ar,Ba as jr,Bn as Mr,Br as Nr,Ca as Pr,Ct as Fr,D as Ir,Da as Lr,Di as Rr,Dn as zr,E as Br,Ea as Vr,Eo as Hr,Er as Ur,F as Wr,Fa as Gr,Fr as Kr,Gi as qr,Gn as Jr,H as Yr,Ha as Xr,Hn as Zr,Hr as Qr,I as $r,In as ei,Ir as ti,Ja as ni,Ji as ri,Jn as ii,Jr as ai,Jt as oi,Ki as si,Kn as ci,L as li,Lr as ui,M as di,Ma as fi,Mn as pi,Mo as mi,Mr as hi,N as gi,O as _i,Oa as vi,Oi as yi,Oo as bi,Pa as xi,Pr as Si,Qa as Ci,Qi as wi,Qn as Ti,Qr as Ei,Ra as Di,Rn as Oi,Rr as ki,S as Ai,Sa as ji,St as Mi,T as Ni,Ta as Pi,Ti as Fi,Tn as Ii,To as Li,Tr as Ri,Tt as zi,U as Bi,Ua as Vi,Un as Hi,Ur as Ui,Vr as Wi,Wa as Gi,Wn as Ki,Wr as qi,Xa as Ji,Xi as Yi,Xn as Xi,Yr as Zi,Yt as Qi,Za as $i,Zn as ea,Zt as ta,_ as na,_a as ra,_i as ia,_n as aa,_o as oa,_r as sa,aa as ca,ao as la,ar as ua,b as da,ba as fa,bi as pa,bn as ma,br as ha,bt as ga,c as _a,ca as va,ci as ya,cn as ba,co as xa,da as Sa,di as Ca,dn as wa,do as Ta,dr as Ea,dt as Da,ea as Oa,ei as ka,er as Aa,f as ja,fa as Ma,fi as Na,fo as Pa,ga as Fa,gi as Ia,go as La,gr as Ra,gt as za,h as Ba,ha as Va,ia as Ha,in as Ua,io as Wa,ir as Ga,it as Ka,j as qa,ja as Ja,jr as Ya,k as Xa,ka as Za,ki as Qa,kr as $a,la as eo,li as to,ln as no,lr as ro,m as io,ma as ao,mi as oo,mn as so,mo as co,mr as lo,na as uo,ni as fo,nr as po,nt as mo,on as ho,oo as go,or as _o,p as vo,pa as yo,pi as bo,pt as xo,qa as So,qi as Co,qn as wo,ra as To,ri as Eo,rr as Do,rt as Oo,s as ko,sa as Ao,sn as jo,so as Mo,sr as No,ta as Po,ti as Fo,tn as Io,to as Lo,ua as Ro,un as zo,uo as Bo,v as Vo,va as Ho,vi as Uo,vo as Wo,vr as Go,w as Ko,wa as qo,wi as Jo,wo as Yo,wr as Xo,wt as Zo,x as Qo,xa as $o,xi as es,xn as ts,xo as ns,xt as rs,ya as is,yi as as,yn as os,za as ss,zn as cs,zr as ls}from"./onboarding-KBcwP-kU.js";import{l as us}from"./monaco-D1hpqXQ0.js";import{A as ds,B as fs,C as ps,D as ms,E as hs,F as gs,G as _s,H as vs,I as ys,J as Y,K as bs,L as xs,M as Ss,N as Cs,O as ws,P as Ts,R as Es,S as Ds,T as Os,U as ks,V as As,W as js,Y as Ms,_ as Ns,a as Ps,b as Fs,c as Is,d as Ls,f as Rs,g as zs,h as Bs,i as Vs,j as Hs,k as Us,l as Ws,m as Gs,n as Ks,o as qs,p as Js,q as Ys,r as X,s as Xs,t as Zs,u as Qs,v as $s,w as ec,x as tc,y as nc,z as rc}from"./store-B_cK-gsT.js";import{n as ic,t as ac}from"./use-toast-hxHsVv6a.js";import{a as oc,c as sc,i as cc,n as lc,o as uc,r as dc,s as fc,t as pc}from"./alert-dialog-CLYxQdrK.js";import{n as mc,t as hc}from"./main-tab-context-zQSuRQQG.js";import{n as gc,t as _c}from"./chat-dock-context-Gg1jpamu.js";import{n as vc,t as yc}from"./explorer-tab-context-BdjTEbFh.js";import{a as bc,c as xc,d as Sc,f as Cc,i as wc,l as Tc,n as Ec,o as Dc,r as Oc,s as kc,t as Ac,u as jc}from"./thread-tool-blocks-D9HUkPHB.js";import{r as Mc,t as Nc}from"./use-suspense-resource-CExc4Svq.js";import{n as Pc,t as Fc}from"./ndjson-stream-DeGpE5o5.js";import{n as Ic,t as Lc}from"./utils-SsF94Pkg.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Rc=class extends Vn{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||zc(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=_n({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),Un.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function zc(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Bc=class extends An{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Rc({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Vc(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Un.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>mn(t,e))}findAll(e={}){return this.getAll().filter(t=>mn(e,t))}notify(e){Un.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Un.batch(()=>Promise.all(e.map(e=>e.continue().catch(Mn))))}};function Vc(e){return e.options.scope?.id}var Hc=class extends An{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??In(r,t),a=this.get(i);return a||(a=new br({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Un.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>or(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>or(e,t)):t}notify(e){Un.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Un.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Un.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Uc=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Hc,this.#t=e.mutationCache||new Bc,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Dn.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=yr.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Rn(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=bn(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Un.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Un.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Un.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Un.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Mn).catch(Mn)}invalidateQueries(e,t={}){return Un.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Un.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Mn)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Mn)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Rn(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Mn).catch(Mn)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Mn).catch(Mn)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return yr.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(vn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Pn(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(vn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Pn(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=In(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Sn&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Z=e(yt(),1),Wc=mr(),Q=B(),$=s(),Gc=`lg-filter-project-icon`,Kc=`blur(2px) url(#${Gc}) blur(4px) saturate(1.5) brightness(1.1)`,qc=`blur(16px) saturate(1.8) brightness(1.15) contrast(1.05)`,Jc=`inset 0 0 0 1px rgba(255, 255, 255, 0.15), inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.5), inset 0 0 12px rgba(255, 255, 255, 0.2)`;function Yc(e){let t=(0,Q.c)(21),{project:n,isSelected:r,isDeleting:i,elevated:a,className:s,iconClassName:c}=e,l=r===void 0?!1:r,u=i===void 0?!1:i,d=a===void 0?!0:a,f;t[0]===n?f=t[1]:(f=kt(Ke(n)),t[0]=n,t[1]=f);let p=f,m=n.gitUrl?o:ce,h=l&&`ring-2 ring-brand/40`,g;t[2]!==s||t[3]!==h?(g=G(`relative flex aspect-square items-center justify-center overflow-hidden rounded-[1.15rem] text-foreground/70 dark:text-white`,h,s),t[2]=s,t[3]=h,t[4]=g):g=t[4];let _=`linear-gradient(150deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), ${p}`,v=d?`${Jc}, 0 8px 32px rgba(0, 0, 0, 0.2)`:`${Jc}, 0 1px 2px rgba(0, 0, 0, 0.15)`,y;t[5]!==_||t[6]!==v?(y={backgroundColor:`rgba(255, 255, 255, 0.17)`,backgroundImage:_,backdropFilter:Kc,WebkitBackdropFilter:qc,boxShadow:v},t[5]=_,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==u||t[9]!==n.projectIcon?(b=n.projectIcon&&!u&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-background`}),(0,$.jsx)(`img`,{src:n.projectIcon,alt:``,className:`relative h-full w-full object-cover`})]}),t[8]=u,t[9]=n.projectIcon,t[10]=b):b=t[10];let x;t[11]!==m||t[12]!==c||t[13]!==u||t[14]!==n.projectIcon?(x=u?(0,$.jsx)(ln,{className:G(`relative h-8 w-8 animate-spin text-muted-foreground`,c)}):n.projectIcon?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-black/50`}),(0,$.jsx)(m,{className:G(`relative h-8 w-8`,c),strokeWidth:1.5})]}),t[11]=m,t[12]=c,t[13]=u,t[14]=n.projectIcon,t[15]=x):x=t[15];let S;return t[16]!==b||t[17]!==x||t[18]!==g||t[19]!==y?(S=(0,$.jsxs)(`div`,{className:g,style:y,children:[b,x]}),t[16]=b,t[17]=x,t[18]=g,t[19]=y,t[20]=S):S=t[20],S}function Xc(){let e=(0,Q.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={position:`absolute`},e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`svg`,{width:`0`,height:`0`,style:t,"aria-hidden":`true`,children:(0,$.jsxs)(`filter`,{id:Gc,x:`0`,y:`0`,width:`100%`,height:`100%`,colorInterpolationFilters:`sRGB`,children:[(0,$.jsx)(`feImage`,{x:`0`,y:`0`,width:`80`,height:`80`,href:`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22Y%22%20x1%3D%220%22%20x2%3D%220%22%20y1%3D%222%25%22%20y2%3D%2298%25%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%230F0%22%2F%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23000%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22X%22%20x1%3D%221%25%22%20x2%3D%2299%25%22%20y1%3D%220%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%23F00%22%2F%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23000%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22%23808080%22%2F%3E%3Cg%20filter%3D%22blur(2px)%22%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22%23000080%22%2F%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22url(%23Y)%22%20style%3D%22mix-blend-mode%3Ascreen%22%2F%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22url(%23X)%22%20style%3D%22mix-blend-mode%3Ascreen%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%225%22%20ry%3D%225%22%20fill%3D%22%23808080%22%20filter%3D%22blur(16px)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`,result:`displacementMap`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`158`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedR`,values:`1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`156`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedG`,values:`0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`154`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedB`,values:`0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0`}),(0,$.jsx)(`feBlend`,{in:`displacedR`,in2:`displacedG`,mode:`screen`,result:`rg`}),(0,$.jsx)(`feBlend`,{in:`rg`,in2:`displacedB`,mode:`screen`})]})}),e[1]=n):n=e[1],n}function Zc(e){let t=(0,Q.c)(18),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:s}=e,c;t[0]===n.length?c=t[1]:(c=n.length===0&&(0,$.jsx)(`p`,{className:G(U.compact,`col-span-full px-3 pb-2 text-center text-muted-foreground`),children:`No projects yet. Clone a repository to get started.`}),t[0]=n.length,t[1]=c);let l;if(t[2]!==a||t[3]!==s||t[4]!==o||t[5]!==n||t[6]!==i||t[7]!==r){let e;t[9]!==a||t[10]!==s||t[11]!==o||t[12]!==i||t[13]!==r?(e=e=>(0,$.jsx)($c,{project:e,isDeleting:a.includes(e.projectId),isSelected:i!=null&&e.projectId===i||e.threads.some(e=>e.threadId===r),onSelectProject:o,onDeleteProject:s},e.projectId||e.gitUrl),t[9]=a,t[10]=s,t[11]=o,t[12]=i,t[13]=r,t[14]=e):e=t[14],l=n.map(e),t[2]=a,t[3]=s,t[4]=o,t[5]=n,t[6]=i,t[7]=r,t[8]=l}else l=t[8];let u;return t[15]!==c||t[16]!==l?(u=(0,$.jsxs)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(5.5rem,1fr))] gap-x-4 gap-y-6 justify-items-center sm:grid-cols-[repeat(auto-fill,minmax(6.5rem,1fr))] sm:gap-x-6 sm:gap-y-8`,children:[c,l]}),t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Qc(e){let t=(0,Q.c)(12),{label:n,tile:r,onClick:i,isSelected:a,actions:o}=e,s=a!==void 0&&a?`text-foreground`:`text-foreground/90`,c;t[0]===s?c=t[1]:(c=G(U.compact,`w-full text-center font-medium leading-tight line-clamp-2 break-words`,s),t[0]=s,t[1]=c);let l;t[2]!==n||t[3]!==c?(l=(0,$.jsx)(`span`,{className:c,children:n}),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u;t[5]!==i||t[6]!==l||t[7]!==r?(u=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`flex w-full flex-col items-center gap-2 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-sidebar rounded-2xl`,children:[r,l]}),t[5]=i,t[6]=l,t[7]=r,t[8]=u):u=t[8];let d;return t[9]!==o||t[10]!==u?(d=(0,$.jsxs)(`div`,{className:`group relative flex w-full max-w-[6.5rem] flex-col items-center gap-2`,children:[u,o]}),t[9]=o,t[10]=u,t[11]=d):d=t[11],d}function $c(e){let t=(0,Q.c)(19),{project:n,isDeleting:r,isSelected:i,onSelectProject:a,onDeleteProject:o}=e,s=!r&&n.threads.length===0,c;t[0]===n?c=t[1]:(c=Ke(n),t[0]=n,t[1]=c);let l;t[2]!==a||t[3]!==n.projectId?(l=()=>a(n.projectId),t[2]=a,t[3]=n.projectId,t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==i||t[7]!==n?(u=(0,$.jsx)(Yc,{project:n,isSelected:i,isDeleting:r,className:`w-full max-w-[4.5rem] transition-transform can-hover:group-hover:scale-[1.03] sm:max-w-[5rem]`,iconClassName:`sm:h-9 sm:w-9`}),t[5]=r,t[6]=i,t[7]=n,t[8]=u):u=t[8];let d;t[9]!==o||t[10]!==n.projectId||t[11]!==s?(d=s?(0,$.jsx)(Zo,{children:(0,$.jsx)(`div`,{className:`pointer-events-none invisible absolute -right-1 -top-1 flex flex-col gap-1 opacity-0 transition-opacity can-hover:group-hover:visible can-hover:group-hover:pointer-events-auto can-hover:group-hover:opacity-100`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:`h-7 w-7 rounded-full bg-background border border-border shadow-sm text-muted-foreground can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground`,onClick:()=>o(n.projectId),children:[(0,$.jsx)(He,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete project`})]})}),(0,$.jsx)(Fr,{side:`right`,children:`Delete project`})]})})}):void 0,t[9]=o,t[10]=n.projectId,t[11]=s,t[12]=d):d=t[12];let f;return t[13]!==i||t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,$.jsx)(Qc,{label:c,isSelected:i,onClick:l,tile:u,actions:d}),t[13]=i,t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function el(e){let t=(0,Q.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=G(`flex min-h-[71px] shrink-0 items-center gap-2 px-4 py-2 electrobun-webkit-app-region-drag`,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,$.jsx)(`header`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function tl(e){let t=(0,Q.c)(4),{className:n}=e;if(!Pr())return null;let r;t[0]===n?r=t[1]:(r=G(`h-8 w-full shrink-0 electrobun-webkit-app-region-drag`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`div`,{"aria-hidden":!0,className:r}),t[2]=r,t[3]=i),i}var nl=`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,rl=`0 0% 9%`,il=`0 0% 98%`;function al(e){let t=e<=140;return{foreground:t?il:rl,inverse:t?rl:il}}function ol(e,t){document.documentElement.style.setProperty(`--scenic-foreground`,e),document.documentElement.style.setProperty(`--scenic-foreground-inverse`,t)}function sl(e){try{let t=document.createElement(`canvas`);t.width=32,t.height=32;let n=t.getContext(`2d`);if(!n)return;n.drawImage(e,0,0,32,32);let{data:r}=n.getImageData(0,0,32,32),i=0,a=r.length/4;for(let e=0;e<r.length;e+=4)i+=.2126*r[e]+.7152*r[e+1]+.0722*r[e+2];let{foreground:o,inverse:s}=al(i/a);ol(o,s)}catch{}}function cl(e){sl(e.currentTarget)}var ll=[`/backgrounds/arctic-tundra.avif`,`/backgrounds/autumn-leaves.avif`,`/backgrounds/coastal-cliff.avif`,`/backgrounds/floating-waterfall.avif`,`/backgrounds/forest-path.avif`,`/backgrounds/garden-path.avif`,`/backgrounds/glow-marsh.avif`,`/backgrounds/golden-wheat.avif`,`/backgrounds/moon-desert.avif`,`/backgrounds/night-pond.avif`,`/backgrounds/prairie-grassland.avif`,`/backgrounds/river-winding.avif`,`/backgrounds/salt-flat.avif`,`/backgrounds/salt-marsh.avif`,`/backgrounds/sandy-beach.avif`,`/backgrounds/snow-river.avif`,`/backgrounds/sunset-pond.avif`];function ul(){let e=new Date,t=`${String(e.getFullYear())}${String(e.getMonth()+1).padStart(2,`0`)}${String(e.getDate()).padStart(2,`0`)}`,n=0;for(let e=0;e<t.length;e++)n=n*31+t.charCodeAt(e)>>>0;return ll[n%ll.length]}var dl=ul(),fl=new Image;fl.src=dl;function pl(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-0`,children:(0,$.jsx)(`img`,{src:dl,alt:``,className:`h-full w-full object-cover`,onLoad:cl})}),e[0]=t):t=e[0],t}function ml(e){let t=(0,Q.c)(6),{children:n,className:r,style:i}=e,a;t[0]===r?a=t[1]:(a=G(`frosted-panel rounded-2xl shadow-lg backdrop-blur-sm`,r),t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,$.jsx)(`div`,{className:a,style:i,children:n}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function hl(e){let t=(0,Q.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({open:i,defaultOpen:n,onOpenChange:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==r||t[7]!==i?(o={open:i,defaultOpen:n,onOpenChange:r},t[5]=n,t[6]=r,t[7]=i,t[8]=o):o=t[8];let s=Bi(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,$.jsx)(er,{open:i,defaultOpen:n,onOpenChange:s,...a}),t[9]=n,t[10]=s,t[11]=i,t[12]=a,t[13]=c):c=t[13],c}var gl=nr,_l=fr,vl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(14),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,inset:a,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==i||n[6]!==a?(s=G(G(U.body,`flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),a&&`pl-8`,i),n[5]=i,n[6]=a,n[7]=s):s=n[7];let c;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(sn,{className:`ml-auto`}),n[8]=c):c=n[8];let l;return n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==s?(l=(0,$.jsxs)(rr,{ref:t,className:s,...o,children:[r,c]}),n[9]=r,n[10]=o,n[11]=t,n[12]=s,n[13]=l):l=n[13],l});vl.displayName=rr.displayName;var yl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(ur,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});yl.displayName=ur.displayName;var bl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,sideOffset:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?4:a,s;n[4]===r?s=n[5]:(s=G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==s?(c=(0,$.jsx)(lr,{children:(0,$.jsx)(Zn,{ref:t,sideOffset:o,className:s,...i})}),n[6]=i,n[7]=t,n[8]=o,n[9]=s,n[10]=c):c=n[10],c});bl.displayName=Zn.displayName;var xl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,inset:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==i?(o=G(G(U.body,`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),i&&`pl-8`,r),n[4]=r,n[5]=i,n[6]=o):o=n[6];let s;return n[7]!==a||n[8]!==t||n[9]!==o?(s=(0,$.jsx)(dr,{ref:t,className:o,...a}),n[7]=a,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});xl.displayName=dr.displayName;var Sl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(14),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:a,children:i,checked:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===a?s=n[6]:(s=G(G(U.body,`group relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),a),n[5]=a,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`span`,{className:`ml-auto flex h-4 w-4 shrink-0 items-center justify-center rounded-sm border border-primary group-data-[state=checked]:bg-primary group-data-[state=checked]:text-primary-foreground`,children:(0,$.jsx)(gr,{children:(0,$.jsx)(W,{className:`h-4 w-4`})})}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==i||n[10]!==o||n[11]!==t||n[12]!==s?(l=(0,$.jsxs)(ir,{ref:t,className:s,checked:r,...o,children:[i,c]}),n[8]=r,n[9]=i,n[10]=o,n[11]=t,n[12]=s,n[13]=l):l=n[13],l});Sl.displayName=ir.displayName;var Cl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=G(G(U.body,`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`),i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,$.jsx)(gr,{children:(0,$.jsx)(Ot,{className:`h-2 w-2 fill-current`})})}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,$.jsxs)(_r,{ref:t,className:o,...a,children:[s,r]}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});Cl.displayName=_r.displayName;var wl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,inset:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`pl-8`,s;n[4]!==r||n[5]!==o?(s=G(U.body,`px-2 py-1.5 font-semibold`,o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,$.jsx)($n,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});wl.displayName=$n.displayName;var Tl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`-mx-1 my-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(tr,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Tl.displayName=tr.displayName;var El=e=>{let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=G(U.compact,`ml-auto tracking-widest opacity-60`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(`span`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};El.displayName=`DropdownMenuShortcut`;function Dl(e){let t=(0,Q.c)(37),{onSelectMode:n,onOpenFolder:r,onSelectZip:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{className:`gap-1`,children:[`New Project`,(0,$.jsx)(tn,{className:`h-4 w-4 opacity-70`})]})}),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(U.body,`gap-2`),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=()=>n(`folder`),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Se,{className:`h-4 w-4 shrink-0`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,$.jsxs)(xl,{className:o,onSelect:s,children:[c,`Blank Starter`]}),t[5]=s,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.body,`gap-2`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=()=>n(`clone`),t[8]=n,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),t[10]=f):f=t[10];let p;t[11]===d?p=t[12]:(p=(0,$.jsxs)(xl,{className:u,onSelect:d,children:[f,`Git Repo`]}),t[11]=d,t[12]=p);let m;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=G(U.body,`gap-2`),t[13]=m):m=t[13];let h;t[14]===r?h=t[15]:(h=()=>{r()},t[14]=r,t[15]=h);let g;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(fn,{className:`h-4 w-4 shrink-0`}),t[16]=g):g=t[16];let _;t[17]===h?_=t[18]:(_=(0,$.jsxs)(xl,{className:m,onSelect:h,children:[g,`Open Folder`]}),t[17]=h,t[18]=_);let v;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(v=G(U.body,`gap-2`),t[19]=v):v=t[19];let y;t[20]===i?y=t[21]:(y=()=>{i()},t[20]=i,t[21]=y);let b;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Ht,{className:`h-4 w-4 shrink-0`}),t[22]=b):b=t[22];let x;t[23]===y?x=t[24]:(x=(0,$.jsxs)(xl,{className:v,onSelect:y,children:[b,`From Zip`]}),t[23]=y,t[24]=x);let S;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(S=G(U.body,`gap-2`),t[25]=S):S=t[25];let C;t[26]===n?C=t[27]:(C=()=>n(`webapp`),t[26]=n,t[27]=C);let w;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(Et,{className:`h-4 w-4 shrink-0`}),t[28]=w):w=t[28];let T;t[29]===C?T=t[30]:(T=(0,$.jsxs)(xl,{className:S,onSelect:C,children:[w,`New App`]}),t[29]=C,t[30]=T);let E;return t[31]!==_||t[32]!==x||t[33]!==T||t[34]!==l||t[35]!==p?(E=(0,$.jsxs)(hl,{children:[a,(0,$.jsxs)(bl,{align:`end`,className:`w-44`,children:[l,p,_,x,T]})]}),t[31]=_,t[32]=x,t[33]=T,t[34]=l,t[35]=p,t[36]=E):E=t[36],E}function Ol(e){let t=(0,Q.c)(41),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onCreateProject:s,onOpenFolder:c,onSelectZip:l,onDeleteProject:u,updateAvailable:d,updatingApp:f,onUpdateApp:p,isDevMode:m}=e,h=Yn(),g=X(Al),[_,v]=(0,Z.useState)(!g),y;t[0]===n?y=t[1]:(y=[...n].sort(kl),t[0]=n,t[1]=y);let b=y;!g&&!_&&v(!0);let S;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){ui(`https://tarsk.io/`)},t[2]=S):S=t[2];let C=S;if(!_){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(tl,{}),t[3]=e):e=t[3];let n;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[e,(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,$.jsx)(ln,{className:`h-8 w-8 animate-spin text-muted-foreground`})})]}),t[4]=n):n=t[4],n}let w;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(tl,{}),t[5]=w):w=t[5];let T;t[6]===h?T=t[7]:(T=()=>void h(`/settings/general`),t[6]=h,t[7]=T);let E;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(x,{className:`h-5 w-5`}),t[8]=E):E=t[8];let D;t[9]===T?D=t[10]:(D=(0,$.jsx)(`div`,{className:`absolute right-4 top-4 z-20 electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:`[color:contrast-color(hsl(var(--background)))] hover:[color:contrast-color(hsl(var(--foreground)))]`,onClick:T,"aria-label":`Settings`,children:E})}),t[9]=T,t[10]=D);let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(`button`,{type:`button`,onClick:C,className:`flex h-20 w-20 cursor-pointer items-center justify-center overflow-hidden rounded-full shadow-sm`,children:(0,$.jsx)(`img`,{src:`/tarsk.svg`,alt:`Tarsk`,className:`h-full w-full`})}),t[11]=O):O=t[11];let k;t[12]===m?k=t[13]:(k=m?(0,$.jsx)(`p`,{className:G(U.label,`mt-2 text-destructive dark:text-red-400`),children:`Dev Mode`}):null,t[12]=m,t[13]=k);let A;t[14]===k?A=t[15]:(A=(0,$.jsxs)(`div`,{className:`absolute left-1/2 top-10 z-10 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center`,children:[O,k]}),t[14]=k,t[15]=A);let j;t[16]!==s||t[17]!==c||t[18]!==l?(j=(0,$.jsx)(Oo,{title:`Projects`,action:(0,$.jsx)(Dl,{onSelectMode:s,onOpenFolder:c,onSelectZip:l}),sticky:!0}),t[16]=s,t[17]=c,t[18]=l,t[19]=j):j=t[19];let M;t[20]!==a||t[21]!==u||t[22]!==o||t[23]!==i||t[24]!==r||t[25]!==b?(M=(0,$.jsx)(Zc,{projects:b,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:u}),t[20]=a,t[21]=u,t[22]=o,t[23]=i,t[24]=r,t[25]=b,t[26]=M):M=t[26];let N;t[27]!==j||t[28]!==M?(N=(0,$.jsxs)(ml,{className:`px-6 pb-6 pt-16`,children:[j,M]}),t[27]=j,t[28]=M,t[29]=N):N=t[29];let P;t[30]!==N||t[31]!==A?(P=(0,$.jsx)(xo,{className:`relative z-10 animate-in fade-in duration-500`,children:(0,$.jsx)(`div`,{className:`flex min-h-full flex-col justify-center`,children:(0,$.jsx)(Da,{className:`w-full max-w-4xl mx-auto py-10`,children:(0,$.jsxs)(`div`,{className:`relative pt-10`,children:[A,N]})})})}),t[30]=N,t[31]=A,t[32]=P):P=t[32];let F;t[33]!==p||t[34]!==d||t[35]!==f?(F=d?(0,$.jsx)(`div`,{className:`relative z-10 flex flex-shrink-0 justify-end px-4 pb-4 pt-2`,children:(0,$.jsxs)(Hr,{variant:`outline`,className:`text-emerald-600 dark:text-emerald-400`,onClick:p,disabled:f,children:[f?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(Rt,{className:`h-4 w-4`}),f?`Updating...`:`Upgrade to Latest`]})}):null,t[33]=p,t[34]=d,t[35]=f,t[36]=F):F=t[36];let I;return t[37]!==P||t[38]!==F||t[39]!==D?(I=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,children:[w,D,P,F]}),t[37]=P,t[38]=F,t[39]=D,t[40]=I):I=t[40],I}function kl(e,t){return Ke(e).localeCompare(Ke(t))}function Al(e){return e.projectsLoading}function jl(e,t){let n=(0,Q.c)(6),[r,i]=(0,Z.useState)(e),a=(0,Z.useRef)(-1/0),o=(0,Z.useRef)(null),s=(0,Z.useRef)(e),c;n[0]!==r||n[1]!==t||n[2]!==e?(c=()=>{if(s.current=e,Object.is(e,r))return;let n=function(){o.current=null,a.current=Date.now(),i(s.current)},c=Date.now()-a.current;if(c>=t){n();return}o.current||=setTimeout(n,t-c)},n[0]=r,n[1]=t,n[2]=e,n[3]=c):c=n[3],(0,Z.useEffect)(c);let l,u;return n[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>()=>{o.current&&=(clearTimeout(o.current),null)},u=[],n[4]=l,n[5]=u):(l=n[4],u=n[5]),(0,Z.useEffect)(l,u),r}var Ml=e(mi(),1),Nl=.1,Pl=10,Fl=1.25,Il=.001;function Ll(){let e=(0,Q.c)(15),[t,n]=(0,Z.useState)(1),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={x:0,y:0},e[0]=r):r=e[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l=Rl,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*Fl)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/Fl)),e[2]=f):f=e[2];let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{n(1),a({x:0,y:0})},e[3]=m):m=e[3];let h=m,g;e[4]===i?g=e[5]:(g=e=>{e.preventDefault(),s(!0),c.current={x:e.clientX,y:e.clientY,ox:i.x,oy:i.y}},e[4]=i,e[5]=g);let _=g,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{c.current&&a({x:c.current.ox+(e.clientX-c.current.x),y:c.current.oy+(e.clientY-c.current.y)})},e[6]=v):v=e[6];let y=v,b;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{s(!1),c.current=null},e[7]=b):b=e[7];let x=b,S=(0,Z.useRef)(null),C,w;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=S.current;if(!e)return;let t=function(e){e.preventDefault();let t=-e.deltaY*Il;n(e=>l(e*(1+t)))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},w=[],e[8]=C,e[9]=w):(C=e[8],w=e[9]),(0,Z.useEffect)(C,w);let T;return e[10]!==o||e[11]!==i||e[12]!==_||e[13]!==t?(T={scale:t,offset:i,isDragging:o,containerRef:S,zoomIn:d,zoomOut:p,reset:h,onMouseDown:_,onMouseMove:y,onMouseUp:x},e[10]=o,e[11]=i,e[12]=_,e[13]=t,e[14]=T):T=e[14],T}function Rl(e){return Math.min(Math.max(e,Nl),Pl)}var zl=Ut(`app.mermaid-renderer.ui`);function Bl(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=function(){n(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}var Vl=null;function Hl(){return Vl||=us(()=>import(`./dist-IeRYu0zQ.js`),__vite__mapDeps([0,1])),Vl}function Ul(e,t){let[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{let n=!1,i=setTimeout(()=>{let i=n=>{try{let i=n(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});if(typeof i!=`string`||i.length===0)throw Error(`Mermaid renderer returned no SVG`);r(i),a(null)}catch(e){zl.error(`Mermaid render error:`,e),r(null),a(e instanceof Error?e.message:String(e))}};Hl().then(e=>{n||i(e.renderMermaidSVG)},e=>{n||(zl.error(`Mermaid renderer failed to load:`,e),a(e instanceof Error?e.message:String(e)))})},200);return()=>{n=!0,clearTimeout(i)}},[e,t]),{svgOutput:n,errorMessage:i}}function Wl(e){let t=(0,Q.c)(70),{svgOutput:n,onClose:r}=e,{scale:i,offset:a,isDragging:o,containerRef:s,zoomIn:c,zoomOut:l,reset:u,onMouseDown:d,onMouseMove:f,onMouseUp:p}=Ll(),m,h;t[0]===r?(m=t[1],h=t[2]):(m=()=>{let e=function(e){e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},h=[r],t[0]=r,t[1]=m,t[2]=h),(0,Z.useEffect)(m,h);let g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],t[3]=g):g=t[3],(0,Z.useEffect)(Gl,g);let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:G(U.compact,`font-mono text-muted-foreground`),children:`mermaid diagram`}),t[4]=_):_=t[4];let v,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(qt,{className:`h-3.5 w-3.5`}),y=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom out`}),t[5]=v,t[6]=y):(v=t[5],y=t[6]);let b;t[7]===l?b=t[8]:(b=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[v,y]})}),t[7]=l,t[8]=b);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(Fr,{children:`Zoom out`}),t[9]=x):x=t[9];let S;t[10]===b?S=t[11]:(S=(0,$.jsxs)(Mi,{children:[b,x]}),t[10]=b,t[11]=S);let C;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(U.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=C):C=t[12];let w;t[13]===i?w=t[14]:(w=Math.round(i*100),t[13]=i,t[14]=w);let T;t[15]!==u||t[16]!==w?(T=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:u,className:C,children:[w,`%`]})}),t[15]=u,t[16]=w,t[17]=T):T=t[17];let E;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Fr,{children:`Reset zoom`}),t[18]=E):E=t[18];let D;t[19]===T?D=t[20]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[19]=T,t[20]=D);let O,k;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Se,{className:`h-3.5 w-3.5`}),k=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=O,t[22]=k):(O=t[21],k=t[22]);let A;t[23]===c?A=t[24]:(A=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:c,children:[O,k]})}),t[23]=c,t[24]=A);let j;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Fr,{children:`Zoom in`}),t[25]=j):j=t[25];let M;t[26]===A?M=t[27]:(M=(0,$.jsxs)(Mi,{children:[A,j]}),t[26]=A,t[27]=M);let N,P;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(ye,{className:`h-3.5 w-3.5`}),P=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=N,t[29]=P):(N=t[28],P=t[29]);let F;t[30]===u?F=t[31]:(F=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[N,P]})}),t[30]=u,t[31]=F);let I;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(Fr,{children:`Reset view`}),t[32]=I):I=t[32];let L;t[33]===F?L=t[34]:(L=(0,$.jsxs)(Mi,{children:[F,I]}),t[33]=F,t[34]=L);let R;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=R):R=t[35];let z,B;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(nt,{className:`h-3.5 w-3.5`}),B=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=z,t[37]=B):(z=t[36],B=t[37]);let V;t[38]===r?V=t[39]:(V=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[z,B]})}),t[38]=r,t[39]=V);let H;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(Fr,{children:`Close (Esc)`}),t[40]=H):H=t[40];let ee;t[41]===V?ee=t[42]:(ee=(0,$.jsxs)(Mi,{children:[V,H]}),t[41]=V,t[42]=ee);let te;t[43]!==D||t[44]!==M||t[45]!==L||t[46]!==ee||t[47]!==S?(te=(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-background/90 border-b border-border shrink-0`,children:[_,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[S,D,M,L,R,ee]})]}),t[43]=D,t[44]=M,t[45]=L,t[46]=ee,t[47]=S,t[48]=te):te=t[48];let ne=o?`cursor-grabbing`:`cursor-grab`,re;t[49]===ne?re=t[50]:(re=G(`flex-1 overflow-hidden select-none`,ne),t[49]=ne,t[50]=re);let ie=`translate(${a.x}px, ${a.y}px) scale(${i})`,ae=o?`none`:`transform 0.1s ease-out`,oe;t[51]!==ie||t[52]!==ae?(oe={transform:ie,transformOrigin:`center center`,transition:ae},t[51]=ie,t[52]=ae,t[53]=oe):oe=t[53];let se;t[54]===n?se=t[55]:(se={__html:n},t[54]=n,t[55]=se);let ce;t[56]!==oe||t[57]!==se?(ce=(0,$.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:oe,dangerouslySetInnerHTML:se}),t[56]=oe,t[57]=se,t[58]=ce):ce=t[58];let le;t[59]!==s||t[60]!==d||t[61]!==f||t[62]!==p||t[63]!==re||t[64]!==ce?(le=(0,$.jsx)(`div`,{ref:s,className:re,onMouseDown:d,onMouseMove:f,onMouseUp:p,onMouseLeave:p,children:ce}),t[59]=s,t[60]=d,t[61]=f,t[62]=p,t[63]=re,t[64]=ce,t[65]=le):le=t[65];let ue;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(`div`,{className:G(U.compact,`shrink-0 px-4 py-2 text-center text-muted-foreground/60 bg-background/60 border-t border-border`),children:`Scroll to zoom · Drag to pan · Esc to close`}),t[66]=ue):ue=t[66];let W;return t[67]!==te||t[68]!==le?(W=(0,Ml.createPortal)((0,$.jsx)(Zo,{children:(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col bg-black/85 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,"aria-label":`Diagram fullscreen view`,children:[te,le,ue]})}),document.body),t[67]=te,t[68]=le,t[69]=W):W=t[69],W}function Gl(){return document.body.style.overflow=`hidden`,Kl}function Kl(){document.body.style.overflow=``}function ql(e){let t=(0,Q.c)(57),{content:n,className:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),{svgOutput:c,errorMessage:l}=Ul(n,Bl()),u=l!==null,d;t[0]===n?d=t[1]:(d=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=d);let f=d,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=G(U.compact,`font-mono text-muted-foreground`),t[2]=p):p=t[2];let m=u?`mermaid (render error)`:`mermaid diagram`,h;t[3]===m?h=t[4]:(h=(0,$.jsx)(`span`,{className:p,children:m}),t[3]=m,t[4]=h);let g;t[5]!==u||t[6]!==c?(g=c&&!u&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-xs`,onClick:()=>s(!0),children:[(0,$.jsx)(Le,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(Fr,{children:`View fullscreen`})]}),t[5]=u,t[6]=c,t[7]=g):g=t[7];let _;t[8]===i?_=t[9]:(_=i?(0,$.jsx)(W,{}):(0,$.jsx)(Ze,{}),t[8]=i,t[9]=_);let v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=v):v=t[10];let y;t[11]!==f||t[12]!==_?(y=(0,$.jsxs)(Hr,{variant:`action`,size:`icon-xs`,onClick:f,children:[_,v]}),t[11]=f,t[12]=_,t[13]=y):y=t[13];let b;t[14]!==g||t[15]!==y?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[g,y]}),t[14]=g,t[15]=y,t[16]=b):b=t[16];let x;t[17]!==h||t[18]!==b?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[h,b]}),t[17]=h,t[18]=b,t[19]=x):x=t[19];let S=x;if(u){let e;t[20]===r?e=t[21]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[20]=r,t[21]=e);let i;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(i=G(U.compact,`border-b border-border bg-background/50 px-4 py-2 text-destructive`),t[22]=i):i=t[22];let a;t[23]===l?a=t[24]:(a=(0,$.jsx)(`div`,{className:i,role:`alert`,children:l}),t[23]=l,t[24]=a);let o;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(U.compact,`font-mono text-foreground leading-relaxed`),t[25]=o):o=t[25];let s;t[26]===n?s=t[27]:(s=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:o,children:n})}),t[26]=n,t[27]=s);let c;return t[28]!==S||t[29]!==e||t[30]!==a||t[31]!==s?(c=(0,$.jsxs)(`div`,{className:e,children:[S,a,s]}),t[28]=S,t[29]=e,t[30]=a,t[31]=s,t[32]=c):c=t[32],c}if(!c){let e;t[33]===r?e=t[34]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[33]=r,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:G(U.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[35]=n):n=t[35];let i;return t[36]!==S||t[37]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[S,n]}),t[36]=S,t[37]=e,t[38]=i):i=t[38],i}let C;t[39]===r?C=t[40]:(C=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[39]=r,t[40]=C);let w;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>s(!0),t[41]=w):w=t[41];let T;t[42]===c?T=t[43]:(T=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`block w-full text-left cursor-zoom-in p-4 max-w-full overflow-hidden [&_svg]:max-w-full [&_svg]:h-auto hover:bg-muted/70 transition-colors`,onClick:w,dangerouslySetInnerHTML:{__html:c}})}),t[42]=c,t[43]=T);let E;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Fr,{children:`Click to view fullscreen`}),t[44]=E):E=t[44];let D;t[45]===T?D=t[46]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[45]=T,t[46]=D);let O;t[47]!==S||t[48]!==C||t[49]!==D?(O=(0,$.jsxs)(`div`,{className:C,children:[S,D]}),t[47]=S,t[48]=C,t[49]=D,t[50]=O):O=t[50];let k;t[51]!==o||t[52]!==c?(k=o&&(0,$.jsx)(Wl,{svgOutput:c,onClose:()=>s(!1)}),t[51]=o,t[52]=c,t[53]=k):k=t[53];let A;return t[54]!==O||t[55]!==k?(A=(0,$.jsxs)(Zo,{children:[O,k]}),t[54]=O,t[55]=k,t[56]=A):A=t[56],A}function Jl(e){let t=e.trim();if(t.startsWith(`/`)){let e=Fa().replace(/\/$/,``);return me(`${e}${t}`,e)}return me(t,Fa())}function Yl(e){let t=e.trim();if(t.startsWith(`/api/`))return!0;if(!/^https?:\/\//i.test(t))return!1;try{let e=new URL(t);if(_e(e.hostname))return!0;let n=new URL(Fa());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Xl(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:Pr()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):Yl(t)}function Zl(e){let t=Jl(e);return Za()&&!Pr()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):ui(t)}function Ql(e){return!!(_e(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function $l(e){return decodeURIComponent(e.replace(/^\/+/,``))}function eu(e){let t=e.trim();if(!t||t.includes(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-IeRYu0zQ.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vosk-speech-Fi-g2v8n.js","assets/commit-dialog-ClrhP7Jd.js","assets/onboarding-DTF0L4Nt.js","assets/interactive-BrHVRHmQ.js","assets/pull-request-dialog-BC_tPcL-.js","assets/create-repo-dialog-CUm5YAtV.js","assets/git-history-dialog-NdDkNMAP.js","assets/push-before-pr-dialog-GZEUiZUR.js","assets/pull-with-changes-dialog-CaOxy8gu.js","assets/commit-error-dialog-Clt0BgiE.js","assets/terminal-panel-ozKXkKxm.js","assets/chat-dock-context-CjVDawH_.js","assets/store-B_cK-gsT.js","assets/main-tab-context-zQSuRQQG.js","assets/use-active-dock-panel-instance-CN8Djesu.js","assets/terminal-panel-BrP-ENHg.css","assets/diff-view-BJga_mCE.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/async-error-boundary-Ca8lx8YM.js","assets/card-BDQUHsPD.js","assets/context-menu-C5sSYyMw.js","assets/react-vendor-CCZMLxmy.js","assets/use-suspense-resource-CExc4Svq.js","assets/monaco-setup-Bpe6FBYw.js","assets/utils-SsF94Pkg.js","assets/explorer-tab-view-D9bH6cb1.js","assets/use-toast-hxHsVv6a.js","assets/explorer-tab-context-BdjTEbFh.js","assets/browser-tab-C6INAmPZ.js","assets/tasks-view-KcH0lX_t.js","assets/commit-method-fields-BwX9cAYJ.js","assets/ndjson-stream-DeGpE5o5.js","assets/create-project-dialog-CPz95RZY.js","assets/settings-view-DOMStvOg.js","assets/skeleton-CJSNEi3C.js","assets/merged-pr-dialog-ClxYJI_m.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{$r as n,$t as r,An as i,B as a,Bt as o,Di as s,Dn as c,Dr as l,Dt as u,Ei as d,Er as f,F as p,Fn as m,Fr as h,Ft as g,G as _,Gr as v,Gt as y,Ht as b,I as x,In as S,Ir as C,Jn as w,Jr as T,Jt as E,K as D,Kr as O,Kt as k,L as A,Ln as j,Lt as M,M as N,Mn as P,Mr as F,Mt as I,N as L,Nt as R,O as z,Oi as B,On as V,Ot as H,P as ee,Pn as te,Pr as ne,Pt as re,Q as ie,Qr as ae,Qt as oe,Rn as se,Rr as U,Rt as ce,S as le,Si as ue,Sn as W,St as de,T as fe,Tr as pe,Ur as me,Ut as he,V as ge,Vr as _e,Vt as ve,W as ye,Wr as be,Wt as xe,X as Se,Xn as Ce,Xr as we,Xt as Te,Y as Ee,Yn as De,Yr as Oe,Yt as ke,Z as Ae,Zn as je,Zr as Me,Zt as Ne,_ as Pe,_n as Fe,_r as Ie,_t as Le,a as Re,ai as ze,an as Be,ar as Ve,b as He,bi as Ue,br as We,bt as Ge,c as Ke,ci as qe,ct as Je,d as Ye,di as Xe,dn as Ze,dt as Qe,ei as $e,en as et,er as tt,f as nt,fi as rt,fn as it,ft as at,g as ot,gn as st,gr as ct,gt as lt,hn as ut,ht as dt,i as G,ii as ft,in as pt,ir as mt,j as ht,jn as gt,jt as _t,k as vt,ki as yt,kt as bt,m as xt,mi as St,mr as Ct,n as wt,ni as Tt,nt as Et,o as K,oi as q,on as Dt,pn as Ot,pr as kt,pt as At,q as jt,qn as Mt,qr as Nt,qt as Pt,r as Ft,rt as It,s as Lt,sn as Rt,sr as zt,t as Bt,ti as Vt,tn as Ht,tr as Ut,u as Wt,ui as Gt,un as Kt,ut as qt,vi as Jt,vn as Yt,wi as Xt,wn as Zt,wt as Qt,x as $t,xi as en,xn as tn,xr as nn,xt as rn,y as an,yi as on,yn as sn,yr as cn,yt as ln,z as un,zr as dn,zt as fn}from"./interactive-BrHVRHmQ.js";import{A as pn,At as mn,B as hn,Bt as gn,Ct as _n,D as J,Dt as vn,E as yn,Et as bn,F as xn,Ft as Sn,G as Cn,H as wn,Ht as Tn,I as En,It as Dn,K as On,L as kn,Lt as An,M as jn,Mt as Mn,N as Nn,Nt as Pn,O as Fn,Ot as In,P as Ln,Pt as Rn,R as zn,Rt as Bn,St as Vn,T as Hn,Tt as Un,U as Wn,Ut as Gn,V as Kn,Vt as qn,W as Jn,Wt as Yn,_t as Xn,at as Zn,bt as Qn,ct as $n,dt as er,ft as tr,gt as nr,ht as rr,it as ir,j as ar,jt as or,k as sr,kt as cr,lt as lr,mt as ur,ot as dr,pt as fr,q as pr,qt as mr,rt as hr,st as gr,ut as _r,vt as vr,wt as yr,xt as br,yt as xr,z as Sr,zt as Cr}from"./react-vendor-CCZMLxmy.js";import{$i as wr,$r as Tr,$t as Er,A as Dr,Aa as Or,Ai as kr,Ar,Ba as jr,Bn as Mr,Br as Nr,Ca as Pr,Ct as Fr,D as Ir,Da as Lr,Di as Rr,Dn as zr,E as Br,Ea as Vr,Eo as Hr,Er as Ur,F as Wr,Fa as Gr,Fr as Kr,Gi as qr,Gn as Jr,H as Yr,Ha as Xr,Hn as Zr,Hr as Qr,I as $r,In as ei,Ir as ti,Ja as ni,Ji as ri,Jn as ii,Jr as ai,Jt as oi,Ki as si,Kn as ci,L as li,Lr as ui,M as di,Ma as fi,Mn as pi,Mo as mi,Mr as hi,N as gi,O as _i,Oa as vi,Oi as yi,Oo as bi,Pa as xi,Pr as Si,Qa as Ci,Qi as wi,Qn as Ti,Qr as Ei,Ra as Di,Rn as Oi,Rr as ki,S as Ai,Sa as ji,St as Mi,T as Ni,Ta as Pi,Ti as Fi,Tn as Ii,To as Li,Tr as Ri,Tt as zi,U as Bi,Ua as Vi,Un as Hi,Ur as Ui,Vr as Wi,Wa as Gi,Wn as Ki,Wr as qi,Xa as Ji,Xi as Yi,Xn as Xi,Yr as Zi,Yt as Qi,Za as $i,Zn as ea,Zt as ta,_ as na,_a as ra,_i as ia,_n as aa,_o as oa,_r as sa,aa as ca,ao as la,ar as ua,b as da,ba as fa,bi as pa,bn as ma,br as ha,bt as ga,c as _a,ca as va,ci as ya,cn as ba,co as xa,da as Sa,di as Ca,dn as wa,do as Ta,dr as Ea,dt as Da,ea as Oa,ei as ka,er as Aa,f as ja,fa as Ma,fi as Na,fo as Pa,ga as Fa,gi as Ia,go as La,gr as Ra,gt as za,h as Ba,ha as Va,ia as Ha,in as Ua,io as Wa,ir as Ga,it as Ka,j as qa,ja as Ja,jr as Ya,k as Xa,ka as Za,ki as Qa,kr as $a,la as eo,li as to,ln as no,lr as ro,m as io,ma as ao,mi as oo,mn as so,mo as co,mr as lo,na as uo,ni as fo,nr as po,nt as mo,on as ho,oo as go,or as _o,p as vo,pa as yo,pi as bo,pt as xo,qa as So,qi as Co,qn as wo,ra as To,ri as Eo,rr as Do,rt as Oo,s as ko,sa as Ao,sn as jo,so as Mo,sr as No,ta as Po,ti as Fo,tn as Io,to as Lo,ua as Ro,un as zo,uo as Bo,v as Vo,va as Ho,vi as Uo,vo as Wo,vr as Go,w as Ko,wa as qo,wi as Jo,wo as Yo,wr as Xo,wt as Zo,x as Qo,xa as $o,xi as es,xn as ts,xo as ns,xt as rs,ya as is,yi as as,yn as os,za as ss,zn as cs,zr as ls}from"./onboarding-DTF0L4Nt.js";import{l as us}from"./monaco-D1hpqXQ0.js";import{A as ds,B as fs,C as ps,D as ms,E as hs,F as gs,G as _s,H as vs,I as ys,J as Y,K as bs,L as xs,M as Ss,N as Cs,O as ws,P as Ts,R as Es,S as Ds,T as Os,U as ks,V as As,W as js,Y as Ms,_ as Ns,a as Ps,b as Fs,c as Is,d as Ls,f as Rs,g as zs,h as Bs,i as Vs,j as Hs,k as Us,l as Ws,m as Gs,n as Ks,o as qs,p as Js,q as Ys,r as X,s as Xs,t as Zs,u as Qs,v as $s,w as ec,x as tc,y as nc,z as rc}from"./store-B_cK-gsT.js";import{n as ic,t as ac}from"./use-toast-hxHsVv6a.js";import{a as oc,c as sc,i as cc,n as lc,o as uc,r as dc,s as fc,t as pc}from"./alert-dialog-hMK0ERPv.js";import{n as mc,t as hc}from"./main-tab-context-zQSuRQQG.js";import{n as gc,t as _c}from"./chat-dock-context-CjVDawH_.js";import{n as vc,t as yc}from"./explorer-tab-context-BdjTEbFh.js";import{a as bc,c as xc,d as Sc,f as Cc,i as wc,l as Tc,n as Ec,o as Dc,r as Oc,s as kc,t as Ac,u as jc}from"./thread-tool-blocks-D9HUkPHB.js";import{r as Mc,t as Nc}from"./use-suspense-resource-CExc4Svq.js";import{n as Pc,t as Fc}from"./ndjson-stream-DeGpE5o5.js";import{n as Ic,t as Lc}from"./utils-SsF94Pkg.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Rc=class extends Vn{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||zc(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=_n({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),Un.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function zc(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Bc=class extends An{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Rc({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Vc(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Vc(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Un.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>mn(t,e))}findAll(e={}){return this.getAll().filter(t=>mn(e,t))}notify(e){Un.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Un.batch(()=>Promise.all(e.map(e=>e.continue().catch(Mn))))}};function Vc(e){return e.options.scope?.id}var Hc=class extends An{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??In(r,t),a=this.get(i);return a||(a=new br({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Un.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>or(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>or(e,t)):t}notify(e){Un.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Un.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Un.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Uc=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Hc,this.#t=e.mutationCache||new Bc,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Dn.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=yr.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Rn(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=bn(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Un.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Un.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Un.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Un.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Mn).catch(Mn)}invalidateQueries(e,t={}){return Un.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Un.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Mn)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Mn)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Rn(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Mn).catch(Mn)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Mn).catch(Mn)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return yr.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(vn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Pn(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(vn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Pn(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=In(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Sn&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Z=e(yt(),1),Wc=mr(),Q=B(),$=s(),Gc=`lg-filter-project-icon`,Kc=`blur(2px) url(#${Gc}) blur(4px) saturate(1.5) brightness(1.1)`,qc=`blur(16px) saturate(1.8) brightness(1.15) contrast(1.05)`,Jc=`inset 0 0 0 1px rgba(255, 255, 255, 0.15), inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.5), inset 0 0 12px rgba(255, 255, 255, 0.2)`;function Yc(e){let t=(0,Q.c)(21),{project:n,isSelected:r,isDeleting:i,elevated:a,className:s,iconClassName:c}=e,l=r===void 0?!1:r,u=i===void 0?!1:i,d=a===void 0?!0:a,f;t[0]===n?f=t[1]:(f=kt(Ke(n)),t[0]=n,t[1]=f);let p=f,m=n.gitUrl?o:ce,h=l&&`ring-2 ring-brand/40`,g;t[2]!==s||t[3]!==h?(g=G(`relative flex aspect-square items-center justify-center overflow-hidden rounded-[1.15rem] text-foreground/70 dark:text-white`,h,s),t[2]=s,t[3]=h,t[4]=g):g=t[4];let _=`linear-gradient(150deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), ${p}`,v=d?`${Jc}, 0 8px 32px rgba(0, 0, 0, 0.2)`:`${Jc}, 0 1px 2px rgba(0, 0, 0, 0.15)`,y;t[5]!==_||t[6]!==v?(y={backgroundColor:`rgba(255, 255, 255, 0.17)`,backgroundImage:_,backdropFilter:Kc,WebkitBackdropFilter:qc,boxShadow:v},t[5]=_,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==u||t[9]!==n.projectIcon?(b=n.projectIcon&&!u&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-background`}),(0,$.jsx)(`img`,{src:n.projectIcon,alt:``,className:`relative h-full w-full object-cover`})]}),t[8]=u,t[9]=n.projectIcon,t[10]=b):b=t[10];let x;t[11]!==m||t[12]!==c||t[13]!==u||t[14]!==n.projectIcon?(x=u?(0,$.jsx)(ln,{className:G(`relative h-8 w-8 animate-spin text-muted-foreground`,c)}):n.projectIcon?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-black/50`}),(0,$.jsx)(m,{className:G(`relative h-8 w-8`,c),strokeWidth:1.5})]}),t[11]=m,t[12]=c,t[13]=u,t[14]=n.projectIcon,t[15]=x):x=t[15];let S;return t[16]!==b||t[17]!==x||t[18]!==g||t[19]!==y?(S=(0,$.jsxs)(`div`,{className:g,style:y,children:[b,x]}),t[16]=b,t[17]=x,t[18]=g,t[19]=y,t[20]=S):S=t[20],S}function Xc(){let e=(0,Q.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={position:`absolute`},e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`svg`,{width:`0`,height:`0`,style:t,"aria-hidden":`true`,children:(0,$.jsxs)(`filter`,{id:Gc,x:`0`,y:`0`,width:`100%`,height:`100%`,colorInterpolationFilters:`sRGB`,children:[(0,$.jsx)(`feImage`,{x:`0`,y:`0`,width:`80`,height:`80`,href:`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22Y%22%20x1%3D%220%22%20x2%3D%220%22%20y1%3D%222%25%22%20y2%3D%2298%25%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%230F0%22%2F%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23000%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22X%22%20x1%3D%221%25%22%20x2%3D%2299%25%22%20y1%3D%220%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%23F00%22%2F%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23000%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22%23808080%22%2F%3E%3Cg%20filter%3D%22blur(2px)%22%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22%23000080%22%2F%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22url(%23Y)%22%20style%3D%22mix-blend-mode%3Ascreen%22%2F%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22url(%23X)%22%20style%3D%22mix-blend-mode%3Ascreen%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%225%22%20ry%3D%225%22%20fill%3D%22%23808080%22%20filter%3D%22blur(16px)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`,result:`displacementMap`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`158`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedR`,values:`1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`156`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedG`,values:`0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0`}),(0,$.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`displacementMap`,scale:`154`,xChannelSelector:`R`,yChannelSelector:`G`}),(0,$.jsx)(`feColorMatrix`,{type:`matrix`,result:`displacedB`,values:`0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0`}),(0,$.jsx)(`feBlend`,{in:`displacedR`,in2:`displacedG`,mode:`screen`,result:`rg`}),(0,$.jsx)(`feBlend`,{in:`rg`,in2:`displacedB`,mode:`screen`})]})}),e[1]=n):n=e[1],n}function Zc(e){let t=(0,Q.c)(18),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:s}=e,c;t[0]===n.length?c=t[1]:(c=n.length===0&&(0,$.jsx)(`p`,{className:G(U.compact,`col-span-full px-3 pb-2 text-center text-muted-foreground`),children:`No projects yet. Clone a repository to get started.`}),t[0]=n.length,t[1]=c);let l;if(t[2]!==a||t[3]!==s||t[4]!==o||t[5]!==n||t[6]!==i||t[7]!==r){let e;t[9]!==a||t[10]!==s||t[11]!==o||t[12]!==i||t[13]!==r?(e=e=>(0,$.jsx)($c,{project:e,isDeleting:a.includes(e.projectId),isSelected:i!=null&&e.projectId===i||e.threads.some(e=>e.threadId===r),onSelectProject:o,onDeleteProject:s},e.projectId||e.gitUrl),t[9]=a,t[10]=s,t[11]=o,t[12]=i,t[13]=r,t[14]=e):e=t[14],l=n.map(e),t[2]=a,t[3]=s,t[4]=o,t[5]=n,t[6]=i,t[7]=r,t[8]=l}else l=t[8];let u;return t[15]!==c||t[16]!==l?(u=(0,$.jsxs)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(5.5rem,1fr))] gap-x-4 gap-y-6 justify-items-center sm:grid-cols-[repeat(auto-fill,minmax(6.5rem,1fr))] sm:gap-x-6 sm:gap-y-8`,children:[c,l]}),t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Qc(e){let t=(0,Q.c)(12),{label:n,tile:r,onClick:i,isSelected:a,actions:o}=e,s=a!==void 0&&a?`text-foreground`:`text-foreground/90`,c;t[0]===s?c=t[1]:(c=G(U.compact,`w-full text-center font-medium leading-tight line-clamp-2 break-words`,s),t[0]=s,t[1]=c);let l;t[2]!==n||t[3]!==c?(l=(0,$.jsx)(`span`,{className:c,children:n}),t[2]=n,t[3]=c,t[4]=l):l=t[4];let u;t[5]!==i||t[6]!==l||t[7]!==r?(u=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`flex w-full flex-col items-center gap-2 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-sidebar rounded-2xl`,children:[r,l]}),t[5]=i,t[6]=l,t[7]=r,t[8]=u):u=t[8];let d;return t[9]!==o||t[10]!==u?(d=(0,$.jsxs)(`div`,{className:`group relative flex w-full max-w-[6.5rem] flex-col items-center gap-2`,children:[u,o]}),t[9]=o,t[10]=u,t[11]=d):d=t[11],d}function $c(e){let t=(0,Q.c)(19),{project:n,isDeleting:r,isSelected:i,onSelectProject:a,onDeleteProject:o}=e,s=!r&&n.threads.length===0,c;t[0]===n?c=t[1]:(c=Ke(n),t[0]=n,t[1]=c);let l;t[2]!==a||t[3]!==n.projectId?(l=()=>a(n.projectId),t[2]=a,t[3]=n.projectId,t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==i||t[7]!==n?(u=(0,$.jsx)(Yc,{project:n,isSelected:i,isDeleting:r,className:`w-full max-w-[4.5rem] transition-transform can-hover:group-hover:scale-[1.03] sm:max-w-[5rem]`,iconClassName:`sm:h-9 sm:w-9`}),t[5]=r,t[6]=i,t[7]=n,t[8]=u):u=t[8];let d;t[9]!==o||t[10]!==n.projectId||t[11]!==s?(d=s?(0,$.jsx)(Zo,{children:(0,$.jsx)(`div`,{className:`pointer-events-none invisible absolute -right-1 -top-1 flex flex-col gap-1 opacity-0 transition-opacity can-hover:group-hover:visible can-hover:group-hover:pointer-events-auto can-hover:group-hover:opacity-100`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:`h-7 w-7 rounded-full bg-background border border-border shadow-sm text-muted-foreground can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground`,onClick:()=>o(n.projectId),children:[(0,$.jsx)(He,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete project`})]})}),(0,$.jsx)(Fr,{side:`right`,children:`Delete project`})]})})}):void 0,t[9]=o,t[10]=n.projectId,t[11]=s,t[12]=d):d=t[12];let f;return t[13]!==i||t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,$.jsx)(Qc,{label:c,isSelected:i,onClick:l,tile:u,actions:d}),t[13]=i,t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function el(e){let t=(0,Q.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=G(`flex min-h-[71px] shrink-0 items-center gap-2 px-4 py-2 electrobun-webkit-app-region-drag`,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,$.jsx)(`header`,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function tl(e){let t=(0,Q.c)(4),{className:n}=e;if(!Pr())return null;let r;t[0]===n?r=t[1]:(r=G(`h-8 w-full shrink-0 electrobun-webkit-app-region-drag`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`div`,{"aria-hidden":!0,className:r}),t[2]=r,t[3]=i),i}var nl=`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,rl=`0 0% 9%`,il=`0 0% 98%`;function al(e){let t=e<=140;return{foreground:t?il:rl,inverse:t?rl:il}}function ol(e,t){document.documentElement.style.setProperty(`--scenic-foreground`,e),document.documentElement.style.setProperty(`--scenic-foreground-inverse`,t)}function sl(e){try{let t=document.createElement(`canvas`);t.width=32,t.height=32;let n=t.getContext(`2d`);if(!n)return;n.drawImage(e,0,0,32,32);let{data:r}=n.getImageData(0,0,32,32),i=0,a=r.length/4;for(let e=0;e<r.length;e+=4)i+=.2126*r[e]+.7152*r[e+1]+.0722*r[e+2];let{foreground:o,inverse:s}=al(i/a);ol(o,s)}catch{}}function cl(e){sl(e.currentTarget)}var ll=[`/backgrounds/arctic-tundra.avif`,`/backgrounds/autumn-leaves.avif`,`/backgrounds/coastal-cliff.avif`,`/backgrounds/floating-waterfall.avif`,`/backgrounds/forest-path.avif`,`/backgrounds/garden-path.avif`,`/backgrounds/glow-marsh.avif`,`/backgrounds/golden-wheat.avif`,`/backgrounds/moon-desert.avif`,`/backgrounds/night-pond.avif`,`/backgrounds/prairie-grassland.avif`,`/backgrounds/river-winding.avif`,`/backgrounds/salt-flat.avif`,`/backgrounds/salt-marsh.avif`,`/backgrounds/sandy-beach.avif`,`/backgrounds/snow-river.avif`,`/backgrounds/sunset-pond.avif`];function ul(){let e=new Date,t=`${String(e.getFullYear())}${String(e.getMonth()+1).padStart(2,`0`)}${String(e.getDate()).padStart(2,`0`)}`,n=0;for(let e=0;e<t.length;e++)n=n*31+t.charCodeAt(e)>>>0;return ll[n%ll.length]}var dl=ul(),fl=new Image;fl.src=dl;function pl(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-0`,children:(0,$.jsx)(`img`,{src:dl,alt:``,className:`h-full w-full object-cover`,onLoad:cl})}),e[0]=t):t=e[0],t}function ml(e){let t=(0,Q.c)(6),{children:n,className:r,style:i}=e,a;t[0]===r?a=t[1]:(a=G(`frosted-panel rounded-2xl shadow-lg backdrop-blur-sm`,r),t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,$.jsx)(`div`,{className:a,style:i,children:n}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function hl(e){let t=(0,Q.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({open:i,defaultOpen:n,onOpenChange:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==r||t[7]!==i?(o={open:i,defaultOpen:n,onOpenChange:r},t[5]=n,t[6]=r,t[7]=i,t[8]=o):o=t[8];let s=Bi(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,$.jsx)(er,{open:i,defaultOpen:n,onOpenChange:s,...a}),t[9]=n,t[10]=s,t[11]=i,t[12]=a,t[13]=c):c=t[13],c}var gl=nr,_l=fr,vl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(14),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,inset:a,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==i||n[6]!==a?(s=G(G(U.body,`flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),a&&`pl-8`,i),n[5]=i,n[6]=a,n[7]=s):s=n[7];let c;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(sn,{className:`ml-auto`}),n[8]=c):c=n[8];let l;return n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==s?(l=(0,$.jsxs)(rr,{ref:t,className:s,...o,children:[r,c]}),n[9]=r,n[10]=o,n[11]=t,n[12]=s,n[13]=l):l=n[13],l});vl.displayName=rr.displayName;var yl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(ur,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});yl.displayName=ur.displayName;var bl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,sideOffset:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?4:a,s;n[4]===r?s=n[5]:(s=G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==o||n[9]!==s?(c=(0,$.jsx)(lr,{children:(0,$.jsx)(Zn,{ref:t,sideOffset:o,className:s,...i})}),n[6]=i,n[7]=t,n[8]=o,n[9]=s,n[10]=c):c=n[10],c});bl.displayName=Zn.displayName;var xl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,inset:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==i?(o=G(G(U.body,`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),i&&`pl-8`,r),n[4]=r,n[5]=i,n[6]=o):o=n[6];let s;return n[7]!==a||n[8]!==t||n[9]!==o?(s=(0,$.jsx)(dr,{ref:t,className:o,...a}),n[7]=a,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});xl.displayName=dr.displayName;var Sl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(14),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:a,children:i,checked:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===a?s=n[6]:(s=G(G(U.body,`group relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),a),n[5]=a,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`span`,{className:`ml-auto flex h-4 w-4 shrink-0 items-center justify-center rounded-sm border border-primary group-data-[state=checked]:bg-primary group-data-[state=checked]:text-primary-foreground`,children:(0,$.jsx)(gr,{children:(0,$.jsx)(W,{className:`h-4 w-4`})})}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==i||n[10]!==o||n[11]!==t||n[12]!==s?(l=(0,$.jsxs)(ir,{ref:t,className:s,checked:r,...o,children:[i,c]}),n[8]=r,n[9]=i,n[10]=o,n[11]=t,n[12]=s,n[13]=l):l=n[13],l});Sl.displayName=ir.displayName;var Cl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=G(G(U.body,`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`),i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,$.jsx)(gr,{children:(0,$.jsx)(Ot,{className:`h-2 w-2 fill-current`})})}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,$.jsxs)(_r,{ref:t,className:o,...a,children:[s,r]}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});Cl.displayName=_r.displayName;var wl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,inset:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`pl-8`,s;n[4]!==r||n[5]!==o?(s=G(U.body,`px-2 py-1.5 font-semibold`,o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,$.jsx)($n,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});wl.displayName=$n.displayName;var Tl=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`-mx-1 my-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(tr,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Tl.displayName=tr.displayName;var El=e=>{let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=G(U.compact,`ml-auto tracking-widest opacity-60`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(`span`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};El.displayName=`DropdownMenuShortcut`;function Dl(e){let t=(0,Q.c)(37),{onSelectMode:n,onOpenFolder:r,onSelectZip:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{className:`gap-1`,children:[`New Project`,(0,$.jsx)(tn,{className:`h-4 w-4 opacity-70`})]})}),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(U.body,`gap-2`),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=()=>n(`folder`),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Se,{className:`h-4 w-4 shrink-0`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,$.jsxs)(xl,{className:o,onSelect:s,children:[c,`Blank Starter`]}),t[5]=s,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.body,`gap-2`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=()=>n(`clone`),t[8]=n,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),t[10]=f):f=t[10];let p;t[11]===d?p=t[12]:(p=(0,$.jsxs)(xl,{className:u,onSelect:d,children:[f,`Git Repo`]}),t[11]=d,t[12]=p);let m;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=G(U.body,`gap-2`),t[13]=m):m=t[13];let h;t[14]===r?h=t[15]:(h=()=>{r()},t[14]=r,t[15]=h);let g;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(fn,{className:`h-4 w-4 shrink-0`}),t[16]=g):g=t[16];let _;t[17]===h?_=t[18]:(_=(0,$.jsxs)(xl,{className:m,onSelect:h,children:[g,`Open Folder`]}),t[17]=h,t[18]=_);let v;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(v=G(U.body,`gap-2`),t[19]=v):v=t[19];let y;t[20]===i?y=t[21]:(y=()=>{i()},t[20]=i,t[21]=y);let b;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Ht,{className:`h-4 w-4 shrink-0`}),t[22]=b):b=t[22];let x;t[23]===y?x=t[24]:(x=(0,$.jsxs)(xl,{className:v,onSelect:y,children:[b,`From Zip`]}),t[23]=y,t[24]=x);let S;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(S=G(U.body,`gap-2`),t[25]=S):S=t[25];let C;t[26]===n?C=t[27]:(C=()=>n(`webapp`),t[26]=n,t[27]=C);let w;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(Et,{className:`h-4 w-4 shrink-0`}),t[28]=w):w=t[28];let T;t[29]===C?T=t[30]:(T=(0,$.jsxs)(xl,{className:S,onSelect:C,children:[w,`New App`]}),t[29]=C,t[30]=T);let E;return t[31]!==_||t[32]!==x||t[33]!==T||t[34]!==l||t[35]!==p?(E=(0,$.jsxs)(hl,{children:[a,(0,$.jsxs)(bl,{align:`end`,className:`w-44`,children:[l,p,_,x,T]})]}),t[31]=_,t[32]=x,t[33]=T,t[34]=l,t[35]=p,t[36]=E):E=t[36],E}function Ol(e){let t=(0,Q.c)(41),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onCreateProject:s,onOpenFolder:c,onSelectZip:l,onDeleteProject:u,updateAvailable:d,updatingApp:f,onUpdateApp:p,isDevMode:m}=e,h=Yn(),g=X(Al),[_,v]=(0,Z.useState)(!g),y;t[0]===n?y=t[1]:(y=[...n].sort(kl),t[0]=n,t[1]=y);let b=y;!g&&!_&&v(!0);let S;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){ui(`https://tarsk.io/`)},t[2]=S):S=t[2];let C=S;if(!_){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(tl,{}),t[3]=e):e=t[3];let n;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[e,(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,$.jsx)(ln,{className:`h-8 w-8 animate-spin text-muted-foreground`})})]}),t[4]=n):n=t[4],n}let w;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(tl,{}),t[5]=w):w=t[5];let T;t[6]===h?T=t[7]:(T=()=>void h(`/settings/general`),t[6]=h,t[7]=T);let E;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(x,{className:`h-5 w-5`}),t[8]=E):E=t[8];let D;t[9]===T?D=t[10]:(D=(0,$.jsx)(`div`,{className:`absolute right-4 top-4 z-20 electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:`[color:contrast-color(hsl(var(--background)))] hover:[color:contrast-color(hsl(var(--foreground)))]`,onClick:T,"aria-label":`Settings`,children:E})}),t[9]=T,t[10]=D);let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(`button`,{type:`button`,onClick:C,className:`flex h-20 w-20 cursor-pointer items-center justify-center overflow-hidden rounded-full shadow-sm`,children:(0,$.jsx)(`img`,{src:`/tarsk.svg`,alt:`Tarsk`,className:`h-full w-full`})}),t[11]=O):O=t[11];let k;t[12]===m?k=t[13]:(k=m?(0,$.jsx)(`p`,{className:G(U.label,`mt-2 text-destructive dark:text-red-400`),children:`Dev Mode`}):null,t[12]=m,t[13]=k);let A;t[14]===k?A=t[15]:(A=(0,$.jsxs)(`div`,{className:`absolute left-1/2 top-10 z-10 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center`,children:[O,k]}),t[14]=k,t[15]=A);let j;t[16]!==s||t[17]!==c||t[18]!==l?(j=(0,$.jsx)(Oo,{title:`Projects`,action:(0,$.jsx)(Dl,{onSelectMode:s,onOpenFolder:c,onSelectZip:l}),sticky:!0}),t[16]=s,t[17]=c,t[18]=l,t[19]=j):j=t[19];let M;t[20]!==a||t[21]!==u||t[22]!==o||t[23]!==i||t[24]!==r||t[25]!==b?(M=(0,$.jsx)(Zc,{projects:b,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:u}),t[20]=a,t[21]=u,t[22]=o,t[23]=i,t[24]=r,t[25]=b,t[26]=M):M=t[26];let N;t[27]!==j||t[28]!==M?(N=(0,$.jsxs)(ml,{className:`px-6 pb-6 pt-16`,children:[j,M]}),t[27]=j,t[28]=M,t[29]=N):N=t[29];let P;t[30]!==N||t[31]!==A?(P=(0,$.jsx)(xo,{className:`relative z-10 animate-in fade-in duration-500`,children:(0,$.jsx)(`div`,{className:`flex min-h-full flex-col justify-center`,children:(0,$.jsx)(Da,{className:`w-full max-w-4xl mx-auto py-10`,children:(0,$.jsxs)(`div`,{className:`relative pt-10`,children:[A,N]})})})}),t[30]=N,t[31]=A,t[32]=P):P=t[32];let F;t[33]!==p||t[34]!==d||t[35]!==f?(F=d?(0,$.jsx)(`div`,{className:`relative z-10 flex flex-shrink-0 justify-end px-4 pb-4 pt-2`,children:(0,$.jsxs)(Hr,{variant:`outline`,className:`text-emerald-600 dark:text-emerald-400`,onClick:p,disabled:f,children:[f?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(Rt,{className:`h-4 w-4`}),f?`Updating...`:`Upgrade to Latest`]})}):null,t[33]=p,t[34]=d,t[35]=f,t[36]=F):F=t[36];let I;return t[37]!==P||t[38]!==F||t[39]!==D?(I=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,children:[w,D,P,F]}),t[37]=P,t[38]=F,t[39]=D,t[40]=I):I=t[40],I}function kl(e,t){return Ke(e).localeCompare(Ke(t))}function Al(e){return e.projectsLoading}function jl(e,t){let n=(0,Q.c)(6),[r,i]=(0,Z.useState)(e),a=(0,Z.useRef)(-1/0),o=(0,Z.useRef)(null),s=(0,Z.useRef)(e),c;n[0]!==r||n[1]!==t||n[2]!==e?(c=()=>{if(s.current=e,Object.is(e,r))return;let n=function(){o.current=null,a.current=Date.now(),i(s.current)},c=Date.now()-a.current;if(c>=t){n();return}o.current||=setTimeout(n,t-c)},n[0]=r,n[1]=t,n[2]=e,n[3]=c):c=n[3],(0,Z.useEffect)(c);let l,u;return n[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>()=>{o.current&&=(clearTimeout(o.current),null)},u=[],n[4]=l,n[5]=u):(l=n[4],u=n[5]),(0,Z.useEffect)(l,u),r}var Ml=e(mi(),1),Nl=.1,Pl=10,Fl=1.25,Il=.001;function Ll(){let e=(0,Q.c)(15),[t,n]=(0,Z.useState)(1),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={x:0,y:0},e[0]=r):r=e[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l=Rl,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*Fl)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/Fl)),e[2]=f):f=e[2];let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{n(1),a({x:0,y:0})},e[3]=m):m=e[3];let h=m,g;e[4]===i?g=e[5]:(g=e=>{e.preventDefault(),s(!0),c.current={x:e.clientX,y:e.clientY,ox:i.x,oy:i.y}},e[4]=i,e[5]=g);let _=g,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{c.current&&a({x:c.current.ox+(e.clientX-c.current.x),y:c.current.oy+(e.clientY-c.current.y)})},e[6]=v):v=e[6];let y=v,b;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{s(!1),c.current=null},e[7]=b):b=e[7];let x=b,S=(0,Z.useRef)(null),C,w;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=S.current;if(!e)return;let t=function(e){e.preventDefault();let t=-e.deltaY*Il;n(e=>l(e*(1+t)))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},w=[],e[8]=C,e[9]=w):(C=e[8],w=e[9]),(0,Z.useEffect)(C,w);let T;return e[10]!==o||e[11]!==i||e[12]!==_||e[13]!==t?(T={scale:t,offset:i,isDragging:o,containerRef:S,zoomIn:d,zoomOut:p,reset:h,onMouseDown:_,onMouseMove:y,onMouseUp:x},e[10]=o,e[11]=i,e[12]=_,e[13]=t,e[14]=T):T=e[14],T}function Rl(e){return Math.min(Math.max(e,Nl),Pl)}var zl=Ut(`app.mermaid-renderer.ui`);function Bl(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=function(){n(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}var Vl=null;function Hl(){return Vl||=us(()=>import(`./dist-IeRYu0zQ.js`),__vite__mapDeps([0,1])),Vl}function Ul(e,t){let[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{let n=!1,i=setTimeout(()=>{let i=n=>{try{let i=n(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});if(typeof i!=`string`||i.length===0)throw Error(`Mermaid renderer returned no SVG`);r(i),a(null)}catch(e){zl.error(`Mermaid render error:`,e),r(null),a(e instanceof Error?e.message:String(e))}};Hl().then(e=>{n||i(e.renderMermaidSVG)},e=>{n||(zl.error(`Mermaid renderer failed to load:`,e),a(e instanceof Error?e.message:String(e)))})},200);return()=>{n=!0,clearTimeout(i)}},[e,t]),{svgOutput:n,errorMessage:i}}function Wl(e){let t=(0,Q.c)(70),{svgOutput:n,onClose:r}=e,{scale:i,offset:a,isDragging:o,containerRef:s,zoomIn:c,zoomOut:l,reset:u,onMouseDown:d,onMouseMove:f,onMouseUp:p}=Ll(),m,h;t[0]===r?(m=t[1],h=t[2]):(m=()=>{let e=function(e){e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},h=[r],t[0]=r,t[1]=m,t[2]=h),(0,Z.useEffect)(m,h);let g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],t[3]=g):g=t[3],(0,Z.useEffect)(Gl,g);let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:G(U.compact,`font-mono text-muted-foreground`),children:`mermaid diagram`}),t[4]=_):_=t[4];let v,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(qt,{className:`h-3.5 w-3.5`}),y=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom out`}),t[5]=v,t[6]=y):(v=t[5],y=t[6]);let b;t[7]===l?b=t[8]:(b=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[v,y]})}),t[7]=l,t[8]=b);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(Fr,{children:`Zoom out`}),t[9]=x):x=t[9];let S;t[10]===b?S=t[11]:(S=(0,$.jsxs)(Mi,{children:[b,x]}),t[10]=b,t[11]=S);let C;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(U.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=C):C=t[12];let w;t[13]===i?w=t[14]:(w=Math.round(i*100),t[13]=i,t[14]=w);let T;t[15]!==u||t[16]!==w?(T=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:u,className:C,children:[w,`%`]})}),t[15]=u,t[16]=w,t[17]=T):T=t[17];let E;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Fr,{children:`Reset zoom`}),t[18]=E):E=t[18];let D;t[19]===T?D=t[20]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[19]=T,t[20]=D);let O,k;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Se,{className:`h-3.5 w-3.5`}),k=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=O,t[22]=k):(O=t[21],k=t[22]);let A;t[23]===c?A=t[24]:(A=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:c,children:[O,k]})}),t[23]=c,t[24]=A);let j;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Fr,{children:`Zoom in`}),t[25]=j):j=t[25];let M;t[26]===A?M=t[27]:(M=(0,$.jsxs)(Mi,{children:[A,j]}),t[26]=A,t[27]=M);let N,P;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(ye,{className:`h-3.5 w-3.5`}),P=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=N,t[29]=P):(N=t[28],P=t[29]);let F;t[30]===u?F=t[31]:(F=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[N,P]})}),t[30]=u,t[31]=F);let I;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(Fr,{children:`Reset view`}),t[32]=I):I=t[32];let L;t[33]===F?L=t[34]:(L=(0,$.jsxs)(Mi,{children:[F,I]}),t[33]=F,t[34]=L);let R;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=R):R=t[35];let z,B;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(nt,{className:`h-3.5 w-3.5`}),B=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=z,t[37]=B):(z=t[36],B=t[37]);let V;t[38]===r?V=t[39]:(V=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[z,B]})}),t[38]=r,t[39]=V);let H;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(Fr,{children:`Close (Esc)`}),t[40]=H):H=t[40];let ee;t[41]===V?ee=t[42]:(ee=(0,$.jsxs)(Mi,{children:[V,H]}),t[41]=V,t[42]=ee);let te;t[43]!==D||t[44]!==M||t[45]!==L||t[46]!==ee||t[47]!==S?(te=(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-background/90 border-b border-border shrink-0`,children:[_,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[S,D,M,L,R,ee]})]}),t[43]=D,t[44]=M,t[45]=L,t[46]=ee,t[47]=S,t[48]=te):te=t[48];let ne=o?`cursor-grabbing`:`cursor-grab`,re;t[49]===ne?re=t[50]:(re=G(`flex-1 overflow-hidden select-none`,ne),t[49]=ne,t[50]=re);let ie=`translate(${a.x}px, ${a.y}px) scale(${i})`,ae=o?`none`:`transform 0.1s ease-out`,oe;t[51]!==ie||t[52]!==ae?(oe={transform:ie,transformOrigin:`center center`,transition:ae},t[51]=ie,t[52]=ae,t[53]=oe):oe=t[53];let se;t[54]===n?se=t[55]:(se={__html:n},t[54]=n,t[55]=se);let ce;t[56]!==oe||t[57]!==se?(ce=(0,$.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:oe,dangerouslySetInnerHTML:se}),t[56]=oe,t[57]=se,t[58]=ce):ce=t[58];let le;t[59]!==s||t[60]!==d||t[61]!==f||t[62]!==p||t[63]!==re||t[64]!==ce?(le=(0,$.jsx)(`div`,{ref:s,className:re,onMouseDown:d,onMouseMove:f,onMouseUp:p,onMouseLeave:p,children:ce}),t[59]=s,t[60]=d,t[61]=f,t[62]=p,t[63]=re,t[64]=ce,t[65]=le):le=t[65];let ue;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(`div`,{className:G(U.compact,`shrink-0 px-4 py-2 text-center text-muted-foreground/60 bg-background/60 border-t border-border`),children:`Scroll to zoom · Drag to pan · Esc to close`}),t[66]=ue):ue=t[66];let W;return t[67]!==te||t[68]!==le?(W=(0,Ml.createPortal)((0,$.jsx)(Zo,{children:(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col bg-black/85 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,"aria-label":`Diagram fullscreen view`,children:[te,le,ue]})}),document.body),t[67]=te,t[68]=le,t[69]=W):W=t[69],W}function Gl(){return document.body.style.overflow=`hidden`,Kl}function Kl(){document.body.style.overflow=``}function ql(e){let t=(0,Q.c)(57),{content:n,className:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),{svgOutput:c,errorMessage:l}=Ul(n,Bl()),u=l!==null,d;t[0]===n?d=t[1]:(d=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=d);let f=d,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=G(U.compact,`font-mono text-muted-foreground`),t[2]=p):p=t[2];let m=u?`mermaid (render error)`:`mermaid diagram`,h;t[3]===m?h=t[4]:(h=(0,$.jsx)(`span`,{className:p,children:m}),t[3]=m,t[4]=h);let g;t[5]!==u||t[6]!==c?(g=c&&!u&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-xs`,onClick:()=>s(!0),children:[(0,$.jsx)(Le,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(Fr,{children:`View fullscreen`})]}),t[5]=u,t[6]=c,t[7]=g):g=t[7];let _;t[8]===i?_=t[9]:(_=i?(0,$.jsx)(W,{}):(0,$.jsx)(Ze,{}),t[8]=i,t[9]=_);let v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=v):v=t[10];let y;t[11]!==f||t[12]!==_?(y=(0,$.jsxs)(Hr,{variant:`action`,size:`icon-xs`,onClick:f,children:[_,v]}),t[11]=f,t[12]=_,t[13]=y):y=t[13];let b;t[14]!==g||t[15]!==y?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[g,y]}),t[14]=g,t[15]=y,t[16]=b):b=t[16];let x;t[17]!==h||t[18]!==b?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[h,b]}),t[17]=h,t[18]=b,t[19]=x):x=t[19];let S=x;if(u){let e;t[20]===r?e=t[21]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[20]=r,t[21]=e);let i;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(i=G(U.compact,`border-b border-border bg-background/50 px-4 py-2 text-destructive`),t[22]=i):i=t[22];let a;t[23]===l?a=t[24]:(a=(0,$.jsx)(`div`,{className:i,role:`alert`,children:l}),t[23]=l,t[24]=a);let o;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(U.compact,`font-mono text-foreground leading-relaxed`),t[25]=o):o=t[25];let s;t[26]===n?s=t[27]:(s=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:o,children:n})}),t[26]=n,t[27]=s);let c;return t[28]!==S||t[29]!==e||t[30]!==a||t[31]!==s?(c=(0,$.jsxs)(`div`,{className:e,children:[S,a,s]}),t[28]=S,t[29]=e,t[30]=a,t[31]=s,t[32]=c):c=t[32],c}if(!c){let e;t[33]===r?e=t[34]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[33]=r,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:G(U.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[35]=n):n=t[35];let i;return t[36]!==S||t[37]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[S,n]}),t[36]=S,t[37]=e,t[38]=i):i=t[38],i}let C;t[39]===r?C=t[40]:(C=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[39]=r,t[40]=C);let w;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>s(!0),t[41]=w):w=t[41];let T;t[42]===c?T=t[43]:(T=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`block w-full text-left cursor-zoom-in p-4 max-w-full overflow-hidden [&_svg]:max-w-full [&_svg]:h-auto hover:bg-muted/70 transition-colors`,onClick:w,dangerouslySetInnerHTML:{__html:c}})}),t[42]=c,t[43]=T);let E;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Fr,{children:`Click to view fullscreen`}),t[44]=E):E=t[44];let D;t[45]===T?D=t[46]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[45]=T,t[46]=D);let O;t[47]!==S||t[48]!==C||t[49]!==D?(O=(0,$.jsxs)(`div`,{className:C,children:[S,D]}),t[47]=S,t[48]=C,t[49]=D,t[50]=O):O=t[50];let k;t[51]!==o||t[52]!==c?(k=o&&(0,$.jsx)(Wl,{svgOutput:c,onClose:()=>s(!1)}),t[51]=o,t[52]=c,t[53]=k):k=t[53];let A;return t[54]!==O||t[55]!==k?(A=(0,$.jsxs)(Zo,{children:[O,k]}),t[54]=O,t[55]=k,t[56]=A):A=t[56],A}function Jl(e){let t=e.trim();if(t.startsWith(`/`)){let e=Fa().replace(/\/$/,``);return me(`${e}${t}`,e)}return me(t,Fa())}function Yl(e){let t=e.trim();if(t.startsWith(`/api/`))return!0;if(!/^https?:\/\//i.test(t))return!1;try{let e=new URL(t);if(_e(e.hostname))return!0;let n=new URL(Fa());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Xl(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:Pr()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):Yl(t)}function Zl(e){let t=Jl(e);return Za()&&!Pr()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):ui(t)}function Ql(e){return!!(_e(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function $l(e){return decodeURIComponent(e.replace(/^\/+/,``))}function eu(e){let t=e.trim();if(!t||t.includes(`
3
3
  `))return null;let n=Ie(t);if(!n)return null;let r=t.toLowerCase();return r.startsWith(`http://`)||r.startsWith(`https://`)||r.startsWith(`/`)||r.includes(`/explorer/media`)||t.includes(`/`)||t.includes(`\\`)?{kind:n,src:t}:null}function tu(e,t){let n=e.trim();if(!n||n.startsWith(`data:`)||n.includes(`/explorer/media`))return null;let r;if(/^https?:\/\//i.test(n)){let e;try{e=new URL(n)}catch{return null}if(!Ql(e))return null;r=$l(e.pathname)}else r=$l(n);let i=Ie(r);return!i||t&&i!==t?null:{path:r,kind:i}}function nu(e,t){return Jl(`/api/threads/${encodeURIComponent(e)}/explorer/media?path=${encodeURIComponent(t)}`)}function ru(e){if(!e.startsWith(`/`))return!1;let t=e.split(`/`)[1]??``;return[`Users`,`tmp`,`var`,`private`,`Volumes`,`home`].includes(t)}function iu(e,t){if(!e||e.startsWith(`data:`))return e;if(t){if(ru(e)&&Ie(e))return nu(t,e);let n=tu(e);if(n)return nu(t,n.path)}return e.startsWith(`/`)?Jl(e):me(e,Fa())}function au(e,t){return iu(e,t)}function ou(e){let t=be(e);if(!t?.imageUrl&&!t?.imageData)return null;let n;if(typeof e==`object`&&e){let t=e;if(typeof t.model==`string`)n=t.model;else if(typeof t.content==`string`)try{let e=JSON.parse(t.content);typeof e.model==`string`&&(n=e.model)}catch{}}else if(typeof e==`string`)try{let t=JSON.parse(e.trim());typeof t.model==`string`&&(n=t.model)}catch{}return{imageUrl:t.imageUrl,imageData:t.imageData,model:n}}function su(e,t){let n=ou(e)??ou(t);if(!n?.imageUrl&&!n?.imageData)return null;let r,i=[e,t.content,t];for(let e of i)if(typeof e==`string`&&e.trim().startsWith(`{`))try{let t=JSON.parse(e);if(typeof t.savedPath==`string`){r=t.savedPath;break}}catch{}else if(e&&typeof e==`object`){let t=e;if(typeof t.savedPath==`string`){r=t.savedPath;break}if(typeof t.content==`string`)try{let e=JSON.parse(t.content);if(typeof e.savedPath==`string`){r=e.savedPath;break}}catch{}}return{...n,savedPath:r}}function cu(e){let t=(0,Q.c)(34),{imageUrl:n,imageData:r,alt:i,threadId:a}=e,o=i===void 0?`Generated image`:i,[s,c]=(0,Z.useState)(!1),l;t[0]!==r||t[1]!==n||t[2]!==a?(l=r?`data:image/png;base64,${r}`:au(n??``,a),t[0]=r,t[1]=n,t[2]=a,t[3]=l):l=t[3];let u=l,d;t[4]===u?d=t[5]:(d=async()=>{let e=dn(u)??`generated-image-${Date.now()}.png`,{path:t}=await Fo(u.startsWith(`data:`)?{imageData:u.replace(/^data:[^;]+;base64,/,``),filename:e}:{imageUrl:u,filename:e});ac({title:`Saved to downloads: ${t.split(`/`).pop()}`})},t[4]=u,t[5]=d);let f=d,p;t[6]===u?p=t[7]:(p=async()=>{await jo(u.startsWith(`data:`)?{imageData:u.replace(/^data:[^;]+;base64,/,``)}:{imageUrl:u}),c(!0),setTimeout(()=>c(!1),2e3)},t[6]=u,t[7]=p);let m=p;if(!u)return null;let h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h={maxHeight:`512px`},t[8]=h):h=t[8];let g;t[9]!==o||t[10]!==u?(g=(0,$.jsx)(`img`,{src:u,alt:o,className:`max-w-full rounded-lg block`,style:h}),t[9]=o,t[10]=u,t[11]=g):g=t[11];let _;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(Rt,{className:`h-3.5 w-3.5`}),t[12]=_):_=t[12];let v;t[13]===f?v=t[14]:(v=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:f,className:`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`,children:_})}),t[13]=f,t[14]=v);let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(Fr,{children:`Save image`}),t[15]=y):y=t[15];let b;t[16]===v?b=t[17]:(b=(0,$.jsxs)(Mi,{children:[v,y]}),t[16]=v,t[17]=b);let x;t[18]===s?x=t[19]:(x=s?(0,$.jsx)(W,{className:`h-3.5 w-3.5 text-green-500`}):(0,$.jsx)(Ze,{className:`h-3.5 w-3.5`}),t[18]=s,t[19]=x);let S;t[20]!==m||t[21]!==x?(S=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`,children:x})}),t[20]=m,t[21]=x,t[22]=S):S=t[22];let C=s?`Copied!`:`Copy to clipboard`,w;t[23]===C?w=t[24]:(w=(0,$.jsx)(Fr,{children:C}),t[23]=C,t[24]=w);let T;t[25]!==S||t[26]!==w?(T=(0,$.jsxs)(Mi,{children:[S,w]}),t[25]=S,t[26]=w,t[27]=T):T=t[27];let E;t[28]!==b||t[29]!==T?(E=(0,$.jsx)(`div`,{className:`absolute top-2 right-2 flex gap-1 opacity-0 group-hover/img:opacity-100 transition-opacity`,children:(0,$.jsxs)(Zo,{children:[b,T]})}),t[28]=b,t[29]=T,t[30]=E):E=t[30];let D;return t[31]!==E||t[32]!==g?(D=(0,$.jsxs)(`div`,{className:`mb-3 relative group/img inline-block max-w-full`,children:[g,E]}),t[31]=E,t[32]=g,t[33]=D):D=t[33],D}var lu=Ut(`chat.media`);function uu(e){if(!e)return`Unknown media error`;switch(e.code){case MediaError.MEDIA_ERR_ABORTED:return`Playback aborted`;case MediaError.MEDIA_ERR_NETWORK:return`Network error while fetching media`;case MediaError.MEDIA_ERR_DECODE:return`Media decode error`;case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:return`Unsupported media format or inaccessible source`;default:return`Media error (code ${e.code})`}}async function du(e){try{let t=await fetch(e,{method:`GET`,headers:{Range:`bytes=0-0`}}),n=t.headers.get(`content-type`)??`unknown`,r=t.headers.get(`accept-ranges`)??`none`,i=t.headers.get(`content-range`),a=i?`, content-range=${i}`:``;return`HTTP ${t.status} ${t.statusText}, content-type=${n}, accept-ranges=${r}${a}`}catch(e){return e instanceof Error?e.message:`Fetch failed`}}function fu(e){lu.error(`Failed to load media`,{kind:e.kind,src:e.src,label:e.label,mediaError:e.mediaError?{code:e.mediaError.code,message:e.mediaError.message,label:uu(e.mediaError)}:void 0,probeResult:e.probeResult})}function pu(e,t,n,r){let[i,a]=(0,Z.useState)({objectUrl:null,loadError:null,loading:!1});return(0,Z.useEffect)(()=>{if(!t){a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}));return}let i=!1;a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!0}));async function o(){try{let t=await fetch(e);if(!t.ok){let t=await du(e);throw Error(t)}let n=await t.blob();if(i)return;let r=URL.createObjectURL(n);if(i){URL.revokeObjectURL(r);return}a({objectUrl:r,loadError:null,loading:!1})}catch(t){if(i)return;let o=t instanceof Error?t.message:await du(e);fu({kind:n,src:e,label:r,probeResult:o}),a({objectUrl:null,loadError:o,loading:!1})}}return o(),()=>{i=!0,a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}))}},[e,t,n,r]),i}function mu(e){let t=(0,Q.c)(44),{src:n,label:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),{objectUrl:l,loadError:u,loading:d}=pu(n,i,`video`,r),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=function(e){a(e),e||(s(!1),c.current&&c.current.pause())},t[0]=f):f=t[0];let p=f,m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=function(){s(hu)},t[1]=m):m=t[1];let h=m,g;t[2]!==r||t[3]!==n?(g=async function(e){let t=e.currentTarget.error;fu({kind:`video`,src:n,label:r,mediaError:t,probeResult:await du(n)})},t[2]=r,t[3]=n,t[4]=g):g=t[4];let _=g,v=r??`Video`,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>a(!0),t[5]=y):y=t[5];let b=r?`Play ${r}`:`Play video`,x;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`flex h-14 w-14 items-center justify-center rounded-full bg-background/90 text-foreground shadow-sm`,children:(0,$.jsx)(Ae,{className:`h-7 w-7 fill-current`})}),t[6]=x):x=t[6];let S;t[7]===b?S=t[8]:(S=(0,$.jsx)(`button`,{type:`button`,onClick:y,"aria-label":b,className:`flex min-h-32 w-full items-center justify-center rounded-md bg-muted/30 transition-colors hover:bg-muted/50`,children:x}),t[7]=b,t[8]=S);let C=o?`h-dvh w-dvw max-w-none rounded-none`:`max-w-[min(92vw,960px)]`,w;t[9]===C?w=t[10]:(w=G(`gap-0 overflow-hidden border-none bg-black p-0 sm:rounded-lg`,C),t[9]=C,t[10]=w);let T;t[11]===v?T=t[12]:(T=(0,$.jsx)(qa,{className:`sr-only`,children:v}),t[11]=v,t[12]=T);let E;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(_i,{className:`sr-only`,children:`Video player`}),t[13]=E):E=t[13];let D=o?`Shrink video`:`Expand video`,O;t[14]===o?O=t[15]:(O=o?(0,$.jsx)(Qe,{className:`h-4 w-4`}):(0,$.jsx)(Le,{className:`h-4 w-4`}),t[14]=o,t[15]=O);let k;t[16]!==D||t[17]!==O?(k=(0,$.jsx)(`button`,{type:`button`,onClick:h,"aria-label":D,className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:O}),t[16]=D,t[17]=O,t[18]=k):k=t[18];let A;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsxs)(Br,{className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[19]=A):A=t[19];let j;t[20]===k?j=t[21]:(j=(0,$.jsxs)(`div`,{className:`absolute right-4 top-4 z-10 flex items-center gap-1`,children:[k,A]}),t[20]=k,t[21]=j);let M=o?`h-full`:`min-h-[240px]`,N;t[22]===M?N=t[23]:(N=G(`flex items-center justify-center p-3 pt-12 sm:p-4`,M),t[22]=M,t[23]=N);let P;t[24]!==o||t[25]!==_||t[26]!==u||t[27]!==d||t[28]!==l?(P=d?(0,$.jsx)(`p`,{className:G(U.compact,`text-white/80`),children:`Loading video...`}):u?(0,$.jsxs)(`p`,{className:G(U.compact,`px-4 text-center text-destructive`),children:[`Could not load video: `,u]}):l?(0,$.jsx)(`video`,{ref:c,src:l,controls:!0,autoPlay:!0,playsInline:!0,className:G(`max-w-full rounded`,o?`max-h-full`:`max-h-[80vh]`),onError:_}):null,t[24]=o,t[25]=_,t[26]=u,t[27]=d,t[28]=l,t[29]=P):P=t[29];let F;t[30]!==N||t[31]!==P?(F=(0,$.jsx)(`div`,{className:N,children:P}),t[30]=N,t[31]=P,t[32]=F):F=t[32];let I;t[33]!==T||t[34]!==j||t[35]!==F||t[36]!==w?(I=(0,$.jsxs)(Ir,{hideClose:!0,className:w,children:[T,E,j,F]}),t[33]=T,t[34]=j,t[35]=F,t[36]=w,t[37]=I):I=t[37];let L;t[38]!==i||t[39]!==I?(L=(0,$.jsx)(Ni,{open:i,onOpenChange:p,children:I}),t[38]=i,t[39]=I,t[40]=L):L=t[40];let R;return t[41]!==L||t[42]!==S?(R=(0,$.jsxs)($.Fragment,{children:[S,L]}),t[41]=L,t[42]=S,t[43]=R):R=t[43],R}function hu(e){return!e}function gu(e){let t=(0,Q.c)(12),{src:n,label:r}=e,{objectUrl:i,loadError:a,loading:o}=pu(n,!0,`audio`,r),s;t[0]!==r||t[1]!==n?(s=async function(e){let t=e.currentTarget.error;fu({kind:`audio`,src:n,label:r,mediaError:t,probeResult:await du(n)})},t[0]=r,t[1]=n,t[2]=s):s=t[2];let c=s,l;t[3]!==c||t[4]!==o||t[5]!==i?(l=o?(0,$.jsx)(`p`,{className:G(U.compact,`text-muted-foreground`),children:`Loading audio...`}):i?(0,$.jsx)(`audio`,{src:i,controls:!0,preload:`metadata`,className:`w-full`,onError:c}):null,t[3]=c,t[4]=o,t[5]=i,t[6]=l):l=t[6];let u;t[7]===a?u=t[8]:(u=a?(0,$.jsxs)(`p`,{className:G(U.compact,`mt-2 text-destructive`),children:[`Could not load audio: `,a]}):null,t[7]=a,t[8]=u);let d;return t[9]!==l||t[10]!==u?(d=(0,$.jsxs)($.Fragment,{children:[l,u]}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function _u(e){let t=(0,Q.c)(13),{src:n,kind:r,label:i}=e;if(!n)return null;let a=r===`video`?k:Te,o=r===`video`?`p-2`:`p-3`,s;t[0]===o?s=t[1]:(s=G(`mt-2 max-w-full overflow-hidden rounded-lg border border-border bg-background`,o),t[0]=o,t[1]=s);let c;t[2]!==a||t[3]!==i?(c=i?(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(a,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:G(U.compact,`truncate`),children:i})]}):null,t[2]=a,t[3]=i,t[4]=c):c=t[4];let l;t[5]!==r||t[6]!==i||t[7]!==n?(l=r===`video`?(0,$.jsx)(mu,{src:n,label:i}):(0,$.jsx)(gu,{src:n,label:i}),t[5]=r,t[6]=i,t[7]=n,t[8]=l):l=t[8];let u;return t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,$.jsxs)(`div`,{className:s,children:[c,l]}),t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}var vu=[`graph`,`flowchart`,`sequenceDiagram`,`classDiagram`,`stateDiagram`,`erDiagram`,`journey`,`gantt`,`pie`,`quadrantChart`,`requirementDiagram`,`gitgraph`,`mindmap`,`timeline`,`zenuml`,`sankey`,`block`,`architecture`,`c4`,`packet`,`circuit`],yu=/```mermaid\s*\n([\s\S]*?)\n```/;function bu(e){return e.split(`
4
4
  `).find(e=>e.trim().length>0)??``}function xu(e){let t=e.trim().toLowerCase();return t.length===0?!1:vu.some(e=>t===e.toLowerCase()||t.startsWith(e.toLowerCase()+` `))}function Su(e){return!e||typeof e!=`string`?!1:yu.test(e)?!0:xu(bu(e))}function Cu(e){let t=yu.exec(e);return t?t[1].trim():xu(bu(e))?e.trim():null}function wu(e){let t=(0,Q.c)(14),{href:n,children:r}=e,i;t[0]===n?i=t[1]:(i=Jl(n),t[0]=n,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=Xl(n),t[2]=n,t[3]=o);let s=o,c;t[4]!==n||t[5]!==s?(c=function(e){s&&(e.preventDefault(),Zl(n))},t[4]=n,t[5]=s,t[6]=c):c=t[6];let l=c,u;t[7]===s?u=t[8]:(u=s?{}:{target:`_blank`,rel:`noopener noreferrer`},t[7]=s,t[8]=u);let d;return t[9]!==r||t[10]!==l||t[11]!==a||t[12]!==u?(d=(0,$.jsx)(`a`,{href:a,onClick:l,className:`text-inherit underline underline-offset-2 hover:text-inherit/80`,...u,children:r}),t[9]=r,t[10]=l,t[11]=a,t[12]=u,t[13]=d):d=t[13],d}var Tu=/^(\s*)([-*+]|\d+\.)\s+(.*)$/,Eu=100,Du=/^!\[([^\]]*)\]\(([^)]+)\)\s*$/,Ou=/[.,!?;:]+$/,ku=(0,Z.memo)(function({content:e,className:t,enableMermaid:n=!1,threadId:r,compact:i=!1,bodyClassName:a}){let o=jl(e,Eu),s=(0,Z.useRef)(null),c=(0,Z.useMemo)(()=>{if(!o||typeof o!=`string`)return s.current=null,[];let e=ed(o,n,s.current);return s.current=e,e.blocks},[o,n]);return c.length===0?null:(0,$.jsx)(`div`,{className:G(`prose-custom min-w-0 break-words`,t),children:c.map((e,t)=>(0,$.jsx)(`div`,{className:Uu(t,c,i),children:(0,$.jsx)(rd,{block:e,threadId:r,compact:i,bodyClassName:a})},t))})});function Au(e){let t=e.match(Du);return t?{alt:t[1],src:t[2]}:null}function ju(e,t,n){let r=e?`mt-0 space-y-0.5`:`mt-0 space-y-1`,i=n?`mt-1`:``;return t?G(r,i,`pl-6`):G(r,i,`pl-6 list-outside overflow-visible list-disc`)}function Mu(e){return e.replace(/\t/g,` `).length}function Nu(e){return/^\d+\.$/.test(e)?Number.parseInt(e,10):1}function Pu(e,t){return Mu(e)>t}function Fu(e,t){let n=e[t]?.match(Tu);if(!n)return{block:{type:`paragraph`,text:``},nextIndex:t+1};let[,r,i,a]=n,o={ordered:/^\d+\.$/.test(i),start:Nu(i),items:[{text:a,children:[]}]},s=[{indent:Mu(r),item:o.items[0]}],c=t+1;for(;c<e.length;){let t=Iu(e,c,s,o);if(c=t.nextIndex,t.stop)break}return{block:{type:`list`,list:o},nextIndex:c}}function Iu(e,t,n,r){let i=e[t];return Tu.test(i)?Lu(e,t,n,r):i.trim()===``?Vu(e,t):Hu(e,t,n)}function Lu(e,t,n,r){let[,i,a,o]=e[t].match(Tu),s=Mu(i),c=/^\d+\.$/.test(a),l={text:o,children:[]};if(Ru(n,s),n.length===0)return{nextIndex:t,stop:!0};let u=n[n.length-1],d=s===u.indent,f=Pu(i,u.indent);return d?zu(n,r,c,s,l,t):f?Bu(n,u,c,a,s,l,t):{nextIndex:t,stop:!0}}function Ru(e,t){for(;e.length>0&&t<e[e.length-1].indent;)e.pop()}function zu(e,t,n,r,i,a){let o=e[e.length-2]?.childList??t;return o.ordered===n?(o.items.push(i),e[e.length-1]={indent:r,item:i},{nextIndex:a+1,stop:!1}):{nextIndex:a,stop:!0}}function Bu(e,t,n,r,i,a,o){let s=t.childList;return(!s||s.ordered!==n)&&(s={ordered:n,start:Nu(r),items:[]},t.item.children.push(s),t.childList=s),s.items.push(a),e.push({indent:i,item:a}),{nextIndex:o+1,stop:!1}}function Vu(e,t){let n=e[t+1];return!n||!Tu.test(n)?{nextIndex:t,stop:!0}:{nextIndex:t+1,stop:!1}}function Hu(e,t,n){let r=Mu(e[t].match(/^(\s*)/)?.[1]??``),i=n[n.length-1];return r>i.indent?(i.item.text=`${i.item.text}\n${e[t].trim()}`,{nextIndex:t+1,stop:!1}):{nextIndex:t,stop:!0}}function Uu(e,t,n=!1){if(e===0)return``;let r=t[e-1],i=t[e];return r.type===`list`||i.type===`list`?``:n?`mt-2`:`mt-3`}function Wu(e,t,n){let r=e[t].trimStart().slice(3).trim(),i=[],a=t+1;for(;a<e.length&&!e[a].trimStart().startsWith("```");)i.push(e[a]),a++;let o=i.join(`
5
5
  `);return n&&(r===`mermaid`||r===``&&Su(o))?{block:{type:`mermaid`,code:o},nextIndex:a+1}:{block:{type:`code`,language:r,code:o},nextIndex:a+1}}function Gu(e){let t=e.match(/^(#{1,6})(\s.*)?$/);return t?{type:`heading`,level:t[1].length,text:t[2]?t[2].trim():``}:null}function Ku(e){return/^(---|\*\*\*|___)/.test(e.trim())}function qu(e,t){let n=e[t];if(!n.includes(`|`)||t+1>=e.length||!e[t+1].match(/^\|?\s*[-:]+/))return null;let r=n.split(`|`).map(e=>e.trim()).filter(Boolean),i=t+2,a=[];for(;i<e.length&&e[i].includes(`|`);)a.push(e[i].split(`|`).map(e=>e.trim()).filter(Boolean)),i++;return{block:{type:`table`,headers:r,rows:a},nextIndex:i}}function Ju(e,t){let n=[],r=t;for(;r<e.length&&e[r].startsWith(`> `);)n.push(e[r].slice(2)),r++;return{block:{type:`blockquote`,text:n.join(`
@@ -3301,7 +3301,7 @@ self.onmessage = async function (event) {
3301
3301
  self.postMessage({ type: "error", toolCallId: toolCallId, error: errMsg });
3302
3302
  }
3303
3303
  };
3304
- `;function Ih(e,t){return e?.status===`running`?`skip-running`:(e?.status===`success`||e?.status===`error`)&&e.code===t?`skip-same-code`:`start`}function Lh(e,t){return e===`running`?!0:e===`success`||e===`error`?!1:t}function Rh(e,t){return`${e}\0${t}`}var zh=new Map,Bh=new Map,Vh=new Map,Hh=Ut(`browser.js-executor`),Uh=new Map,Wh=null;function Gh(){return Wh||=URL.createObjectURL(new Blob([Fh],{type:`application/javascript`})),Wh}function Kh(e,t){return zh.get(Rh(t,e))}function qh(e,t){return zh.get(Rh(t,e))?.proxiedCalls??[]}function Jh(e,t,n){let r=Rh(t,e),i=Uh.get(r);return i||(i=new Set,Uh.set(r,i)),i.add(n),()=>{i.delete(n),i.size===0&&Uh.delete(r)}}function Yh(e){let t=Uh.get(e);if(t)for(let e of t)e()}function Xh(e){let t=Vh.get(e);t&&(clearInterval(t),Vh.delete(e))}function Zh(e){if(Vh.has(e))return;let t=setInterval(()=>{let t=zh.get(e);if(!t||t.status!==`running`){Xh(e);return}let n=Date.now(),r=!1;t.proxiedCalls=t.proxiedCalls.map(function(e){if(e.status!==`running`||e.toolName!==`bash`||e.startedAt==null)return e;let t=Math.floor((n-e.startedAt)/6e4);return t>=1&&t!==e.longRunningMinutes?(r=!0,{...e,longRunningMinutes:t}):e}),r&&Yh(e)},6e4);Vh.set(e,t)}function Qh(e,t){Xh(e),Bh.delete(e),zh.set(e,t),Yh(e)}var $h=new Map;async function eg(e,t){let n=$h.get(t);if(n)return n;let r;return r=(async()=>{try{let n=await fetch(`${e}/api/browser-js/catalog?threadId=${encodeURIComponent(t)}`);if(!n.ok)return{smartJsEnabled:!1,tools:[]};let r=await n.json();return{smartJsEnabled:r.smartJsEnabled===!0,tools:Array.isArray(r.tools)?r.tools:[]}}catch(e){return Hh.warn(`Failed to load Smart JS catalog`,e),{smartJsEnabled:!1,tools:[]}}finally{$h.get(t)===r&&$h.delete(t)}})(),$h.set(t,r),r}async function tg(e,t,n,r){let i=await fetch(e+`/api/browser-js/execute-tool`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threadId:t,toolName:n,params:r})});if(!i.ok){let e=await i.text();try{let t=JSON.parse(e).error||{};e=t.details||t.message||e}catch{}let t=l(e,pe,`run_js tool error`);return{text:null,error:`Tool `+n+` failed: `+t.text,details:t.truncated?{proxyTruncated:!0,totalBytes:t.totalBytes}:void 0}}let a=await i.json(),o=a.content&&a.content[0]?a.content[0].text??null:null,s=a.details&&typeof a.details==`object`?a.details:void 0;if(o==null)return{text:null,error:null,details:s};let c=l(o,f);return c.truncated?{text:c.text,error:null,details:{...s,proxyTruncated:!0,totalBytes:c.totalBytes}}:{text:o,error:null,details:s}}function ng(e,t,n){let r=Rh(n,e),i=Ih(zh.get(r),t);if(i===`skip-running`){Qi(e,n).catch(e=>{Hh.warn(`Failed to re-acknowledge in-flight run_js`,e)});return}if(i===`skip-same-code`)return;let a=Bh.get(r);a&&(a.terminate(),Bh.delete(r)),Xh(r),zh.set(r,{status:`running`,code:t,proxiedCalls:[]}),Yh(r);let o=Fa();Qi(e,n).catch(e=>{Hh.warn(`Failed to acknowledge run_js start`,e)}),(async()=>{let i=new Worker(Gh());Bh.set(r,i);try{let a=await eg(o,n),s=async a=>{let s=a.data;if(s.type===`callTool`&&s.id&&s.toolName){let e=zh.get(r),t={id:s.id,toolName:s.toolName,params:s.params,status:`running`,startedAt:s.toolName===`bash`?Date.now():void 0};e&&(e.proxiedCalls=[...e.proxiedCalls,t],Yh(r),s.toolName===`bash`&&Zh(r));let a=await tg(o,n,s.toolName,s.params),c=zh.get(r);c&&(c.proxiedCalls=c.proxiedCalls.map(e=>e.id===s.id?{...e,status:a.error?`error`:`success`,text:a.text,error:a.error,details:a.details}:e),Yh(r)),i.postMessage({type:`callToolResult`,id:s.id,result:a});return}if(s.type===`done`&&s.toolCallId===e){i.terminate(),Qh(r,{status:`success`,code:t,result:s.result,proxiedCalls:zh.get(r)?.proxiedCalls??[]}),await ia(e,s.result,n);return}if(s.type===`error`&&s.toolCallId===e){i.terminate();let a=s.error??`Unknown worker error`;Qh(r,{status:`error`,code:t,error:a,proxiedCalls:zh.get(r)?.proxiedCalls??[]});try{await ia(e,{error:a},n)}catch(e){Hh.error(`Failed to submit browser JS error result`,e)}}};i.addEventListener(`message`,e=>{s(e)}),i.addEventListener(`error`,a=>{let o=a.message||`Web Worker failed`;Qh(r,{status:`error`,code:t,error:o,proxiedCalls:zh.get(r)?.proxiedCalls??[]}),i.terminate(),ia(e,{error:o},n).catch(e=>{Hh.error(`Failed to submit browser JS worker error`,e)})}),i.postMessage({type:`execute`,toolCallId:e,code:t,smartJsEnabled:a.smartJsEnabled,catalog:a.tools})}catch(a){i.terminate();let o=a instanceof Error?a.stack||a.message:String(a);Qh(r,{status:`error`,code:t,error:o,proxiedCalls:zh.get(r)?.proxiedCalls??[]});try{await ia(e,{error:o},n)}catch(e){Hh.error(`Failed to submit browser JS error result`,e)}}})()}var rg=`run_js`;function ig(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e,null,2)}function ag(e){if(e&&typeof e==`object`&&`command`in e){let t=e.command;if(typeof t==`string`&&t.trim()){let e=t.trim().replace(/\s+/g,` `);return e.length>72?`${e.slice(0,72)}…`:e}}return`bash command`}function og(e){return e.toolName===`bash`&&e.status===`running`&&e.longRunningMinutes!=null&&e.longRunningMinutes>=1?`${ag(e.params)} still running (${e.longRunningMinutes} min)`:e.error??(typeof e.text==`string`&&e.text.length>0?e.text.length>80?`${e.text.slice(0,80)}…`:e.text:null)}function sg(e){let t=(0,Q.c)(18),{call:n}=e,r=n.status===`running`,i=n.status===`error`,a;t[0]!==n.toolName||t[1]!==r?(a=r?ne(n.toolName):h(n.toolName),t[0]=n.toolName,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]===n?s=t[4]:(s=og(n),t[3]=n,t[4]=s);let c=s,l;t[5]!==n.toolName||t[6]!==o||t[7]!==r?(l=(0,$.jsx)(fp,{toolName:n.toolName,displayName:o,isActive:r,showProgress:!1,className:`shrink-0`}),t[5]=n.toolName,t[6]=o,t[7]=r,t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=c?(0,$.jsx)(`span`,{className:G(U.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:c}):null,t[9]=c,t[10]=u);let d;t[11]!==n.toolName||t[12]!==i?(d=i?(0,$.jsx)(nt,{"aria-label":`${n.toolName} failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null,t[11]=n.toolName,t[12]=i,t[13]=d):d=t[13];let f;return t[14]!==l||t[15]!==u||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full pl-4`,children:[l,u,d]}),t[14]=l,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function cg(e){let t=(0,Q.c)(13),{displayName:n,isActive:r,isError:i,summaryLabel:a,canOpenDetails:o,onOpenDetails:s}=e,c;t[0]!==n||t[1]!==r?(c=(0,$.jsx)(fp,{toolName:rg,displayName:n,isActive:r,showProgress:!1,className:`shrink-0`}),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l;t[3]!==o||t[4]!==s||t[5]!==a?(l=a?o?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:s,className:G(U.caption,`font-mono hover:underline truncate whitespace-nowrap min-w-0 flex-1 cursor-pointer text-left`),children:a})}),(0,$.jsx)(Fr,{children:`View code and result`})]}):(0,$.jsx)(`span`,{className:G(U.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:a}):null,t[3]=o,t[4]=s,t[5]=a,t[6]=l):l=t[6];let u;t[7]===i?u=t[8]:(u=i?(0,$.jsx)(nt,{"aria-label":`Run JS failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null,t[7]=i,t[8]=u);let d;return t[9]!==c||t[10]!==l||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full flex-wrap`,children:[c,l,u]}),t[9]=c,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function lg(e){let t=(0,Q.c)(4),{calls:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.map(ug),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`div`,{className:`flex flex-col min-w-0 w-full border-l border-border/60 ml-2`,children:r}),t[2]=r,t[3]=i),i}function ug(e){return(0,$.jsx)(sg,{call:e},e.id)}function dg(e){let t=(0,Q.c)(15),{open:n,onOpenChange:r,title:i,code:a,errorDetails:o,resultText:s}=e,c;t[0]===a?c=t[1]:(c=a?(0,$.jsx)(`pre`,{className:Qf({padding:`3`}),children:a}):null,t[0]=a,t[1]=c);let l;t[2]===o?l=t[3]:(l=o?(0,$.jsx)(`pre`,{className:Qf({padding:`3`,className:`text-destructive`}),children:o}):null,t[2]=o,t[3]=l);let u;t[4]===s?u=t[5]:(u=s==null?null:(0,$.jsx)(`pre`,{className:Qf({padding:`3`}),children:s}),t[4]=s,t[5]=u);let d;t[6]!==c||t[7]!==l||t[8]!==u?(d=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[c,l,u]}),t[6]=c,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;return t[10]!==r||t[11]!==n||t[12]!==d||t[13]!==i?(f=(0,$.jsx)($f,{open:n,onOpenChange:r,title:i,content:``,body:d}),t[10]=r,t[11]=n,t[12]=d,t[13]=i,t[14]=f):f=t[14],f}function fg({toolCallId:e,intention:t,code:n,resultContent:r,resultIsError:i,showActive:a=!1}){let o=X(e=>e.selectedThreadId),{todos:s,setTodos:c}=(0,Z.useContext)(Vm),l=(0,Z.useRef)(new Set),u=(0,Z.useRef)(s);u.current=s;let d=r!==void 0,f=o?Kh(e,o):void 0,[p,m]=(0,Z.useState)(()=>f?.status?f.status:d?i?`error`:`success`:a?`running`:`success`),[g,_]=(0,Z.useState)(()=>f?.status===`success`?ig(f.result):d&&!i&&r||null),[v,y]=(0,Z.useState)(()=>f?.error?f.error:d&&i?r||`Run JS failed`:null),[b,x]=(0,Z.useState)(()=>o?qh(e,o):[]),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{l.current=new Set},[e,o]),(0,Z.useEffect)(()=>{if(o)return Jh(e,o,()=>{let t=Kh(e,o);t&&(m(t.status),x(t.proxiedCalls),t.status===`success`?_(ig(t.result)):t.status===`error`&&y(t.error??null))})},[e,o]),(0,Z.useEffect)(()=>{let e=u.current,t=!1;for(let n of b){if(n.toolName!==`todo`||n.status!==`success`||l.current.has(n.id))continue;let r=Wm(e,n);l.current.add(n.id),r&&(e=r,t=!0)}t&&c(e,Date.now())},[b,c]),(0,Z.useEffect)(()=>{!o||!a||ng(e,n,o)},[e,n,o,a]);let w=o?Kh(e,o)?.status:void 0,T=Lh(w,a);return{resultText:g,errorDetails:v,proxiedCalls:b,dialogOpen:S,setDialogOpen:C,isActive:T,isError:(w??p)===`error`,displayName:T?ne(rg):h(rg),summaryLabel:t.trim()||(T?null:`View output`),canOpenDetails:!T&&!!(n||g||v)}}function pg(e){let t=(0,Q.c)(24),{intention:n,code:r}=e,{resultText:i,errorDetails:a,proxiedCalls:o,dialogOpen:s,setDialogOpen:c,isActive:l,isError:u,displayName:d,summaryLabel:f,canOpenDetails:p}=fg(e),m;t[0]===c?m=t[1]:(m=()=>c(!0),t[0]=c,t[1]=m);let h;t[2]!==p||t[3]!==d||t[4]!==l||t[5]!==u||t[6]!==f||t[7]!==m?(h=(0,$.jsx)(cg,{displayName:d,isActive:l,isError:u,summaryLabel:f,canOpenDetails:p,onOpenDetails:m}),t[2]=p,t[3]=d,t[4]=l,t[5]=u,t[6]=f,t[7]=m,t[8]=h):h=t[8];let g;t[9]===o?g=t[10]:(g=(0,$.jsx)(lg,{calls:o}),t[9]=o,t[10]=g);let _;t[11]!==p||t[12]!==r||t[13]!==s||t[14]!==d||t[15]!==a||t[16]!==n||t[17]!==i||t[18]!==c?(_=p?(0,$.jsx)(dg,{open:s,onOpenChange:c,title:n.trim()||d,code:r,errorDetails:a,resultText:i}):null,t[11]=p,t[12]=r,t[13]=s,t[14]=d,t[15]=a,t[16]=n,t[17]=i,t[18]=c,t[19]=_):_=t[19];let v;return t[20]!==h||t[21]!==g||t[22]!==_?(v=(0,$.jsxs)($.Fragment,{children:[h,g,_]}),t[20]=h,t[21]=g,t[22]=_,t[23]=v):v=t[23],v}function mg(e){let t=e?.trim();return!!t&&t!==`__thread__`}function hg(e,t,n){return mg(n)?e.some(e=>e.threadId===t&&e.conversationId===n):!1}function gg(e,t){return t===e.selectedThreadId?e.extraChatPanes:e.threadMultiPaneStates[t]?.extraChatPanes??{}}function _g(e,t,n){if(!mg(n))return;let r=gg(e,t);for(let[e,t]of Object.entries(r))if(t.conversationId===n)return e;let i=t===e.selectedThreadId;if(i&&e.primaryConversationId===n)return Ms;let a=Object.keys(r).length>0;if(!(i&&a&&e.primaryConversationId!==n))return Ms}function vg(e,t,n){let r=[],i=new Set;for(let a of t){if(!mg(a.conversationId)||n.isRecentlyFinalized(a.threadId)||n.isThreadBeingCreated(a.threadId))continue;let t=_g(e,a.threadId,a.conversationId);if(!t||n.hasSession(a.threadId,t))continue;let o=`${a.threadId}:${t}:${a.conversationId}`;i.has(o)||(i.add(o),r.push({threadId:a.threadId,paneId:t,conversationId:a.conversationId}))}return r}var yg=new Set,bg=new Map,xg=5e3;function Sg(e){yg.add(e);let t=bg.get(e);t&&clearTimeout(t),bg.set(e,setTimeout(()=>{yg.delete(e),bg.delete(e)},xg))}function Cg(e){return yg.has(e)}function wg(e){return e.filter(e=>!yg.has(e))}var Tg;(function(e){e.Unimplemented=`UNIMPLEMENTED`,e.Unavailable=`UNAVAILABLE`})(Tg||={});var Eg=class extends Error{constructor(e,t,n){super(e),this.message=e,this.code=t,this.data=n}},Dg=e=>e?.androidBridge?`android`:e?.webkit?.messageHandlers?.bridge?`ios`:`web`,Og=e=>{let t=e.CapacitorCustomPlatform||null,n=e.Capacitor||{},r=n.Plugins=n.Plugins||{},i=()=>t===null?Dg(e):t.name,a=()=>i()!==`web`,o=e=>!!(l.get(e)?.platforms.has(i())||s(e)),s=e=>n.PluginHeaders?.find(t=>t.name===e),c=t=>e.console.error(t),l=new Map;return n.convertFileSrc||=e=>e,n.getPlatform=i,n.handleError=c,n.isNativePlatform=a,n.isPluginAvailable=o,n.registerPlugin=(e,a={})=>{let o=l.get(e);if(o)return console.warn(`Capacitor plugin "${e}" already registered. Cannot register plugins twice.`),o.proxy;let c=i(),u=s(e),d,f=async()=>(!d&&c in a?d=d=typeof a[c]==`function`?await a[c]():a[c]:t!==null&&!d&&`web`in a&&(d=d=typeof a.web==`function`?await a.web():a.web),d),p=(t,r)=>{if(u){let i=u?.methods.find(e=>r===e.name);if(i)return i.rtype===`promise`?t=>n.nativePromise(e,r.toString(),t):(t,i)=>n.nativeCallback(e,r.toString(),t,i);if(t)return t[r]?.bind(t)}else if(t)return t[r]?.bind(t);else throw new Eg(`"${e}" plugin is not implemented on ${c}`,Tg.Unimplemented)},m=t=>{let n,r=(...r)=>{let i=f().then(i=>{let a=p(i,t);if(a){let e=a(...r);return n=e?.remove,e}else throw new Eg(`"${e}.${t}()" is not implemented on ${c}`,Tg.Unimplemented)});return t===`addListener`&&(i.remove=async()=>n()),i};return r.toString=()=>`${t.toString()}() { [capacitor code] }`,Object.defineProperty(r,"name",{value:t,writable:!1,configurable:!1}),r},h=m(`addListener`),g=m(`removeListener`),_=(e,t)=>{let n=h({eventName:e},t),r=async()=>{g({eventName:e,callbackId:await n},t)},i=new Promise(e=>n.then(()=>e({remove:r})));return i.remove=async()=>{console.warn(`Using addListener() without 'await' is deprecated.`),await r()},i},v=new Proxy({},{get(e,t){switch(t){case`$$typeof`:return;case`toJSON`:return()=>({});case`addListener`:return u?_:h;case`removeListener`:return g;default:return m(t)}}});return r[e]=v,l.set(e,{name:e,proxy:v,platforms:new Set([...Object.keys(a),...u?[c]:[]])}),v},n.Exception=Eg,n.DEBUG=!!n.DEBUG,n.isLoggingEnabled=!!n.isLoggingEnabled,n},kg=(e=>e.Capacitor=Og(e))(typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}),Ag=kg.registerPlugin,jg=class{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(e,t){let n=!1;this.listeners[e]||(this.listeners[e]=[],n=!0),this.listeners[e].push(t);let r=this.windowListeners[e];return r&&!r.registered&&this.addWindowListener(r),n&&this.sendRetainedArgumentsForEvent(e),Promise.resolve({remove:async()=>this.removeListener(e,t)})}async removeAllListeners(){this.listeners={};for(let e in this.windowListeners)this.removeWindowListener(this.windowListeners[e]);this.windowListeners={}}notifyListeners(e,t,n){let r=this.listeners[e];if(!r){if(n){let n=this.retainedEventArguments[e];n||=[],n.push(t),this.retainedEventArguments[e]=n}return}r.forEach(e=>e(t))}hasListeners(e){return!!this.listeners[e]?.length}registerWindowListener(e,t){this.windowListeners[t]={registered:!1,windowEventName:e,pluginEventName:t,handler:e=>{this.notifyListeners(t,e)}}}unimplemented(e=`not implemented`){return new kg.Exception(e,Tg.Unimplemented)}unavailable(e=`not available`){return new kg.Exception(e,Tg.Unavailable)}async removeListener(e,t){let n=this.listeners[e];if(!n)return;let r=n.indexOf(t);this.listeners[e].splice(r,1),this.listeners[e].length||this.removeWindowListener(this.windowListeners[e])}addWindowListener(e){window.addEventListener(e.windowEventName,e.handler),e.registered=!0}removeWindowListener(e){e&&(window.removeEventListener(e.windowEventName,e.handler),e.registered=!1)}sendRetainedArgumentsForEvent(e){let t=this.retainedEventArguments[e];t&&(delete this.retainedEventArguments[e],t.forEach(t=>{this.notifyListeners(e,t)}))}},Mg=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),Ng=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),Pg=class extends jg{async getCookies(){let e=document.cookie,t={};return e.split(`;`).forEach(e=>{if(e.length<=0)return;let[n,r]=e.replace(/=/,`CAP_COOKIE`).split(`CAP_COOKIE`);n=Ng(n).trim(),r=Ng(r).trim(),t[n]=r}),t}async setCookie(e){try{let t=Mg(e.key),n=Mg(e.value),r=e.expires?`; expires=${e.expires.replace(`expires=`,``)}`:``,i=(e.path||`/`).replace(`path=`,``),a=e.url!=null&&e.url.length>0?`domain=${e.url}`:``;document.cookie=`${t}=${n||``}${r}; path=${i}; ${a};`}catch(e){return Promise.reject(e)}}async deleteCookie(e){try{document.cookie=`${e.key}=; Max-Age=0`}catch(e){return Promise.reject(e)}}async clearCookies(){try{let e=document.cookie.split(`;`)||[];for(let t of e)document.cookie=t.replace(/^ +/,``).replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(e){return Promise.reject(e)}}async clearAllCookies(){try{await this.clearCookies()}catch(e){return Promise.reject(e)}}};Ag(`CapacitorCookies`,{web:()=>new Pg});var Fg=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=r.result;t(e.indexOf(`,`)>=0?e.split(`,`)[1]:e)},r.onerror=e=>n(e),r.readAsDataURL(e)}),Ig=(e={})=>{let t=Object.keys(e);return Object.keys(e).map(e=>e.toLocaleLowerCase()).reduce((n,r,i)=>(n[r]=e[t[i]],n),{})},Lg=(e,t=!0)=>e?Object.entries(e).reduce((e,n)=>{let[r,i]=n,a,o;return Array.isArray(i)?(o=``,i.forEach(e=>{a=t?encodeURIComponent(e):e,o+=`${r}=${a}&`}),o.slice(0,-1)):(a=t?encodeURIComponent(i):i,o=`${r}=${a}`),`${e}&${o}`},``).substr(1):null,Rg=(e,t={})=>{let n=Object.assign({method:e.method||`GET`,headers:e.headers},t),r=Ig(e.headers)[`content-type`]||``;if(typeof e.data==`string`)n.body=e.data;else if(r.includes(`application/x-www-form-urlencoded`)){let t=new URLSearchParams;for(let[n,r]of Object.entries(e.data||{}))t.set(n,r);n.body=t.toString()}else if(r.includes(`multipart/form-data`)||e.data instanceof FormData){let t=new FormData;if(e.data instanceof FormData)e.data.forEach((e,n)=>{t.append(n,e)});else for(let n of Object.keys(e.data))t.append(n,e.data[n]);n.body=t;let r=new Headers(n.headers);r.delete(`content-type`),n.headers=r}else (r.includes(`application/json`)||typeof e.data==`object`)&&(n.body=JSON.stringify(e.data));return n},zg=class extends jg{async request(e){let t=Rg(e,e.webFetchExtra),n=Lg(e.params,e.shouldEncodeUrlParams),r=n?`${e.url}?${n}`:e.url,i=await fetch(r,t),a=i.headers.get(`content-type`)||``,{responseType:o=`text`}=i.ok?e:{};a.includes(`application/json`)&&(o=`json`);let s,c;switch(o){case`arraybuffer`:case`blob`:c=await i.blob(),s=await Fg(c);break;case`json`:s=await i.json();break;default:s=await i.text()}let l={};return i.headers.forEach((e,t)=>{l[t]=e}),{data:s,headers:l,status:i.status,url:i.url}}async get(e){return this.request(Object.assign(Object.assign({},e),{method:`GET`}))}async post(e){return this.request(Object.assign(Object.assign({},e),{method:`POST`}))}async put(e){return this.request(Object.assign(Object.assign({},e),{method:`PUT`}))}async patch(e){return this.request(Object.assign(Object.assign({},e),{method:`PATCH`}))}async delete(e){return this.request(Object.assign(Object.assign({},e),{method:`DELETE`}))}};Ag(`CapacitorHttp`,{web:()=>new zg});var Bg;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(Bg||={});var Vg;(function(e){e.StatusBar=`StatusBar`,e.NavigationBar=`NavigationBar`})(Vg||={});var Hg=class extends jg{async setStyle(){this.unavailable(`not available for web`)}async setAnimation(){this.unavailable(`not available for web`)}async show(){this.unavailable(`not available for web`)}async hide(){this.unavailable(`not available for web`)}};Ag(`SystemBars`,{web:()=>new Hg});var Ug=Ag(`KeepAwake`,{web:()=>us(()=>import(`./web-CEfF0992.js`).then(e=>new e.KeepAwakeWeb),[])}),Wg=0;function Gg(){return typeof window<`u`&&Za()}async function Kg(){if(Gg()&&(Wg+=1,!(Wg>1)))try{await Ug.keepAwake()}catch{Wg=0}}async function qg(){if(Gg()&&Wg!==0&&(--Wg,!(Wg>0)))try{await Ug.allowSleep()}catch{Wg=0}}async function Jg(){if(Wg=0,Gg())try{await Ug.allowSleep()}catch{}}var Yg=Ut(`app.use-chat-handlers.hook`),Xg=Ut(`git.checkpoint`);async function Zg(e,t,n,r,i,a){if(n===Ms&&!r?.trim())throw Error(`Refusing to reload primary chat history without a conversation ID`);let o=await ci(t,r);if(t===i.current&&!a?.isStale?.()){if(n!==Ms){e({type:Y.SetPaneMessages,paneId:n,messages:o.messages});return}e({type:Y.SetMessages,messages:o.messages,conversationId:r,historyEpoch:a?.historyEpoch})}}function Qg(e,t,n){return{...e,threadId:t,paneId:n}}var $g=/^\/compact(?:\s+(.*))?$/i,e_=/^\/send-event(?:\s+([a-zA-Z0-9._:-]+))?(?:\s+([\s\S]+))?$/i,t_=`[Compact] Compaction in progress...`;function n_(e,t,n){let r={type:`thinking`,content:t_,model:n};e(Qg({type:Y.SetStreaming,isStreaming:!0},t,`primary`)),e(Qg({type:Y.SetStreamModel,model:n},t,`primary`)),e(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r.content??``,segments:zs([],`thinking`,r.content??``)},t,`primary`))}var r_=8e3;async function i_(e,t){try{let n=await Promise.race([qr(e,t),new Promise(e=>{setTimeout(()=>e(null),r_)})]);if(n===null){Xg.warn(`Checkpoint creation timed out`,{threadId:e,messageId:t});return}if(n.success&&n.checkpointRef)return n.stashed||Xg.debug(`Checkpoint recorded with clean working tree`,{threadId:e,messageId:t}),n.checkpointRef;`error`in n&&n.error?Xg.warn(`Checkpoint creation failed`,{threadId:e,messageId:t,error:n.error}):n.success||Xg.debug(`Checkpoint skipped`,{threadId:e,messageId:t,reason:n.reason})}catch(n){Xg.warn(`Checkpoint creation errored`,{threadId:e,messageId:t,error:n instanceof Error?n.message:String(n)})}}var a_=`tarsk-browser-tool-request`,o_=`tarsk-ask-user-prompt`,s_=new Set,c_=new Set,l_=new Map,u_=new Map,d_=new Map,f_=`tarsk.ask-user-tool-ownership.v1`,p_=1440*60*1e3;function m_(){if(!(typeof window>`u`))try{let e=window.localStorage.getItem(f_);if(!e)return;let t=JSON.parse(e),n=Date.now()-p_;for(let[e,r]of Object.entries(t.askUser??{}))r.updatedAt>=n&&r.paneId&&(u_.set(e,r.paneId),r.threadId&&l_.set(e,r.threadId));for(let[e,r]of Object.entries(t.subagents??{}))r.updatedAt>=n&&r.paneId&&d_.set(e,r.paneId)}catch{}}var h_=!1;function g_(){typeof window>`u`||h_||(h_=!0,window.setTimeout(()=>{h_=!1;try{let e=Date.now(),t={};for(let[n,r]of u_)t[n]={paneId:r,threadId:l_.get(n),updatedAt:e};let n={};for(let[t,r]of d_)n[t]={paneId:r,updatedAt:e};window.localStorage.setItem(f_,JSON.stringify({askUser:t,subagents:n}))}catch{}},0))}m_();function __(e,t){d_.set(e,t),g_()}function v_(e){return d_.get(e)}function y_(e){Pr()&&window.dispatchEvent(new CustomEvent(a_,{detail:e}))}function b_(e,t,n){!Pr()||s_.has(e)||t.action&&(s_.add(e),y_({toolCallId:e,input:t,threadId:n}))}function x_(e,t,n){l_.set(e,t),n&&(u_.set(e,n),g_())}function S_(e,t,n){x_(e,t,n),!c_.has(e)&&(c_.add(e),window.dispatchEvent(new CustomEvent(o_,{detail:{toolCallId:e,threadId:t,paneId:n}})))}function C_(e){return l_.get(e)}function w_(e){return u_.get(e)}function T_(){return Pr()?`views://public/browser-preview-rpc.js`:`${Fa()}/browser-preview-rpc.js`}async function E_(e,t){await Zi(e,t)}async function D_(e,t){await ai(e,t)}function O_(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function k_(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t==`string`&&t.length>0?t:null}function A_(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;if(e.type!==`tool_use`||typeof e.id!=`string`||!e.id||!O_(e.name))continue;let r=k_(e.input??e.arguments);r&&t.push({id:e.id,code:r})}return t}function j_(e,t){if(t)for(let n of e)ng(n.id,n.code,t)}function M_(e,t){if(!(!t||!e.includes(`"run_js"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;j_(A_(n),t)}catch{}}function N_(e,t){if(!t||!e||!O_(e.toolName))return;let n=e.partial?.content;Array.isArray(n)&&j_(A_(n),t)}function P_(e,t){if(e.includes(`"browser"`))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;for(let e of n)e?.type===`tool_use`&&e?.name===`browser`&&e?.id&&e?.input&&b_(e.id,e.input,t)}catch{}}function F_(e,t,n){if(e.includes(`"ask_user"`))try{let r=JSON.parse(e.trim());if(!Array.isArray(r))return;for(let e of r)e?.type===`tool_use`&&e?.name===`ask_user`&&e?.id&&S_(e.id,t,n)}catch{}}function I_(e){if(!(!e.includes(`"tool_use"`)||!e.includes(`"bash"`)))try{let t=JSON.parse(e.trim());if(!Array.isArray(t))return;for(let e of t)e?.type===`tool_use`&&e?.id&&typeof e.name==`string`&&e.name.toLowerCase()===`bash`&&typeof e.input?.command==`string`&&Kf(e.id,e.input.command)}catch{}}function L_(e){if(!(!e.includes(`"tool-result"`)||!e.includes(`"bash"`)))try{let t=JSON.parse(e.trim());if(!Array.isArray(t))return;for(let e of t)e?.type===`tool-result`&&e?.toolCallId&&typeof e.toolName==`string`&&e.toolName.toLowerCase()===`bash`&&qf(e.toolCallId)}catch{}}function R_(e){let{dispatch:t,streamSessionsRef:n,connectThreadStreamRef:r,selectedThreadIdRef:i,getHistoryEpoch:a,getPaneConversationId:o}=e;function s(e,c,l){let u=Es(e,l.paneId);if(l.pendingTransientRecovery){l.pendingTransientRecovery=!1,(async()=>{try{if((await No()).includes(e)){r.current?.(e,t=>es(e,t,l.conversationId),c,l.paneId,l.conversationId);return}}catch(e){Yg.error(`Failed to recover chat stream after disconnect:`,e)}s(e,c,l)})();return}if(n.current.get(u)!==l){n.current.has(u)||(Sg(e),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.RemoveProcessingThread,threadId:e}));return}if(n.current.delete(u),t({type:Y.ClearToolCallProgress}),l.keepsDeviceAwake&&(l.keepsDeviceAwake=!1,qg()),Sg(e),l.error&&!l.stopHandled){let n={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${l.error}`,contentType:`text`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1};t({type:Y.AddMessage,message:n,threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(l.stopHandled){if(l.segments.length>0){let n=Xs(l.segments);t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:n,contentType:`markdown`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1},threadId:e,paneId:l.paneId})}t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-stopped`,sender:`agent`,content:`I've stopped working on your request.`,contentType:`text`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1},threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:l.paneId}),t({type:Y.RemoveProcessingThread,threadId:e});return}let d=Xs(l.segments)||`...`,f={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:d,contentType:`markdown`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1};async function p(){let r=!1,s=a?.();function c(){if(n.current.has(u))return!0;let e=o?.(l.paneId)?.trim();return l.conversationId?.trim()&&e&&l.conversationId!==e?!0:s!==void 0&&a?.()!==s}for(let n=0;n<4;n++){if(n>0&&await new Promise(e=>setTimeout(e,150*n)),c())return;try{if(await Zg(t,e,l.paneId,l.conversationId,i,{isStale:c,historyEpoch:s}),c())return;r=!0;break}catch(e){Yg.error(`Failed to reload chat history after stream:`,e);break}}c()||(r||t({type:Y.AddMessage,message:f,threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:l.paneId}),t({type:Y.RemoveProcessingThread,threadId:e}))}p()}return s}function z_(e){let{dispatch:t,streamSessionsRef:n,setPaneError:r,setShowEmptyBalanceDialog:i,finalizeThreadStream:a}=e;function o(e,o,s,c,l){let u=Es(e,c),d=n.current.get(u);d&&(d.controller.abort(),d.cancel?.());let f=new AbortController,p={controller:f,cancel:null,segments:[],assistantMessage:``,assistantThinking:``,hasStructuredContent:!1,error:null,stopHandled:!1,pendingTransientRecovery:!1,activeSubagentToolCallId:null,paneId:c,conversationId:l,keepsDeviceAwake:!1};n.current.set(u,p),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.AddProcessingThread,threadId:e}),t(Qg({type:Y.SetStreaming,isStreaming:!0},e,c)),t({type:Y.SetActiveStreamPane,paneId:c}),Kg().then(()=>{p.keepsDeviceAwake=!0});function m(o){if(o instanceof Error&&o.name===`AbortError`){if(p.stopHandled||!n.current.has(u))return;n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(o instanceof oi){n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e}),i(!0);return}if(o instanceof Error&&o.message.includes(`not currently processing`)){n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(o instanceof Error&&eo(o.message)){p.pendingTransientRecovery=!0,a(e,s,p);return}let l=Mt((o instanceof Error?o.message:``).trim()||`Unknown error (no error details in response)`);p.error=l,r(e,c,l),Yg.error(`Failed to subscribe to chat stream:`,o),a(e,s,p)}return(async()=>{let n=null;try{n=await o(f.signal)}catch(t){if(Sa(t,p.conversationId)&&!f.signal.aborted)try{n=await es(e,f.signal,p.conversationId)}catch(e){m(e);return}else{m(t);return}}if(!n||f.signal.aborted){a(e,s,p);return}p.cancel=Ro(n,n=>{if(t(Qg({type:Y.IncrementStreamEventCount},e,c)),n.type===`error`){let t=Mt(n.content?.trim()||n.error?.message?.trim()||n.message?.trim()||`Unknown error occurred`);p.error=t,r(e,c,t);return}if(n.type===`message`)return;if(n.type===`auto_compact`){let r=n.messagesBefore,i=n.content?.trim()||(typeof r==`number`?`Auto-compacted conversation (${r} → 1)`:`Auto-compacted conversation`);p.segments=zs(p.segments,`thinking`,`[Auto-compacted] ${i}\n`),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:p.segments},e,c));return}if(n.type===`long_running_confirmation`){let r=n.prompt;if(!r)return;p.segments=Ns(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`shell_permission`){let r=n.shellPermission;if(!r)return;p.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:p.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for shell approval: ${r.command}\n`}),p.segments=tc(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}let i=n;if(i.type===`seatbelt_escalation`){let n=i.seatbeltEscalation;if(!n)return;p.segments=nc(p.segments,n),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`web_fetch_permission`){let r=n.webFetchPermission;if(!r)return;p.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:p.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for approval to fetch ${r.hostname}\n`}),p.segments=Ds(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`toolcall_delta`){if(n.partial?.content?.[0]?.id&&n.delta){let r=n.partial.content[0].id,i={toolCallId:r,threadId:e,toolName:n.partial.content[0].name,delta:n.delta,partial:n.partial};t({type:Y.UpdateToolCallProgress,toolCallId:r,progress:i}),N_(i,e)}return}if(n.type===`tool_execution_update`){n.toolCallId&&n.executionOutput!==void 0&&t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:n.toolName,executionOutput:n.executionOutput});return}if(n.type===`subagent_start`){if(n.toolCallId){p.activeSubagentToolCallId=n.toolCallId;let r=n.subagentName?.trim()||`subagent`;t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,executionOutput:`Running ${r}…\n`})}return}if(n.type===`subagent_event`){if(n.toolCallId){if(__(n.toolCallId,p.paneId),n.subagentEvent){t({type:Y.AppendSubagentEvent,toolCallId:n.toolCallId,event:n.subagentEvent});let r=typeof n.subagentEvent.content==`string`?n.subagentEvent.content:n.subagentEvent.content?JSON.stringify(n.subagentEvent.content):``;r&&(F_(r,e,p.paneId),M_(r,e))}let r=Zp(n);r&&t({type:Y.AppendToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,delta:r})}return}if(n.type===`subagent_complete`){n.toolCallId&&(p.activeSubagentToolCallId=null,n.subagentResult&&t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,executionOutput:n.subagentResult}));return}if(n.type===`context_usage`){n.contextUsage&&t(Qg({type:Y.SetContextUsage,contextUsage:n.contextUsage},e,c));return}if(n.model&&t(Qg({type:Y.SetStreamModel,model:n.model},e,c)),n.type===`thinking`||n.isThinking){let r=n.content??``;if(M_(r,e),P_(r,e),F_(r,e,p.paneId),Is(r)){I_(r),L_(r),p.hasStructuredContent=!0,p.segments=$s(p.segments,r),p.assistantMessage=Js(p.segments),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}p.assistantThinking+=r,p.segments=zs(p.segments,`thinking`,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r,segments:p.segments},e,c))}else if(n.type===`result`){p.hasStructuredContent=!0;let r=n.content??``;p.assistantMessage=r,p.segments=Fs(p.segments,r),t(Qg({type:Y.SetStreamContent,content:r},e,c)),typeof r==`string`&&(M_(r,e),P_(r,e),F_(r,e,p.paneId))}else{if(p.hasStructuredContent)return;let r=n.content??``;p.assistantMessage+=r,p.segments=zs(p.segments,`content`,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:r,segments:p.segments},e,c))}},()=>{a(e,s,p)},t=>{if(t.includes(`AbortError`)||t.includes(`canceled`)||t.includes(`BodyStreamBuffer was aborted`)){a(e,s,p);return}if(eo(t)){p.pendingTransientRecovery=!0;return}let n=Mt(t.trim()||`Unknown error (no error details in response)`);p.error=n,r(e,c,n),a(e,s,p)},n=>{if(t(Qg({type:Y.IncrementStreamEventCount},e,c)),n.role===`assistant`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);if(n.isThinking??!1){M_(i,e),P_(i,e),F_(i,e,p.paneId),p.assistantThinking+=i,p.segments=zs(p.segments,`thinking`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:p.segments},e,c));return}let a=!1;if(typeof r==`object`&&Array.isArray(r)&&r.length>0)a=!0;else if(typeof i==`string`&&i.trim().startsWith(`[`))try{let e=JSON.parse(i);a=Array.isArray(e)&&e.length>0}catch{}a?(p.hasStructuredContent=!0,p.assistantMessage=i,p.segments=Fs(p.segments,i),t(Qg({type:Y.SetStreamContent,content:i},e,c)),M_(i,e),P_(i,e),F_(i,e,p.paneId)):(p.assistantMessage+=i,p.segments=zs(p.segments,`content`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:p.segments},e,c)))}else if(n.role===`tool`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);i&&(I_(i),L_(i),Is(i)?(p.hasStructuredContent=!0,p.segments=$s(p.segments,i),p.assistantMessage=Js(p.segments),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c))):i.trim().startsWith(`[`)||(p.assistantMessage+=i,p.segments=zs(p.segments,`content`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:p.segments},e,c))))}})})(),f}return o}async function B_(e){return Va(`api/projects/${ao(e)}/tasks`)}async function V_(e,t,n){return is(`api/projects/${ao(e)}/tasks`,{description:t,threadId:n?.threadId,provider:n?.provider,model:n?.model,tags:n?.tags,triggerType:n?.triggerType,scheduledAt:n?.scheduledAt,scheduleCron:n?.scheduleCron,timezone:n?.timezone,enabled:n?.enabled,eventKey:n?.eventKey})}async function H_(e,t,n){return Ho(`api/projects/${ao(e)}/tasks/${ao(t)}`,n)}async function U_(e,t){return Ho(`api/projects/${ao(e)}/tasks/${ao(t)}`,{runNow:!0})}async function W_(e,t,n){return is(`api/projects/${ao(e)}/events/dispatch`,{eventKey:t,payload:n})}async function G_(e,t){await yo(`api/projects/${ao(e)}/tasks/${ao(t)}`)}async function K_(e){return Va(`api/projects/${ao(e)}/tags`)}async function q_(e,t,n){return Ho(`api/projects/${ao(e)}/tags/${ao(t)}`,{name:n})}async function J_(e,t){return is(`api/projects/${ao(e)}/tags`,{name:t})}async function Y_(e,t){await yo(`api/projects/${ao(e)}/tags/${ao(t)}`)}function X_(e){return e.trim().replace(/\n/g,` `).slice(0,100)}function Z_(e,t,n){return n(e)?.trim()||t?.trim()||void 0}function Q_(e,t,n,r,i,a){i&&(Qa(n,{chatTitles:{...a,[r]:i}}).catch(e=>{Yg.error(`Failed to update chat title:`,e)}),e({type:Y.UpdateChatTitle,projectId:t,threadId:n,paneId:r,title:i}))}function $_(e){let{selectedThreadId:t,selectedProjectId:n,processingThreadIds:r,processingRuns:i,dispatch:a,toast:o,connectThreadStream:s,onPlanModeConsumed:c,setPaneError:l,setStopRequestedForThreadId:u,getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m}=e;return(0,Z.useCallback)(async(e,h,g,_,v,y,b,x,S,C)=>{if(!t)return;let w=t,T=d(e);l(w,e,null),u(null);let E=g.trim().match($g);if(E){if(e!==`primary`)return;if(T.filter(e=>e.sender===`agent`).length<2){o({title:`Nothing to compact`,description:`Start a conversation with at least two exchanges first.`});return}if(r.includes(w)||p(w,e)){o({title:`Agent is busy`,description:`Wait for the agent to finish before compacting.`});return}let t=E[1]?.trim();n_(a,w,_);try{let n=await ho(w,{model:_,provider:y,instructions:t});a({type:Y.SetMessages,messages:n.messages}),a(Qg({type:Y.ResetStream},w,e)),o({title:`Conversation compacted`,description:`${n.messagesBefore} messages → ${n.messagesAfter} summary`})}catch(t){a(Qg({type:Y.ResetStream},w,e)),o({title:`Compaction failed`,description:t instanceof Error?t.message:`Failed to compact conversation`,variant:`destructive`})}return}let D=g.trim().match(e_);if(D){if(e!==`primary`)return;if(!n){o({title:`No project selected`,description:`Open a project thread before sending an event.`,variant:`destructive`});return}let t=D[1]?.trim();if(!t){o({title:`Event key required`,description:`Use /send-event door.opened or /send-event door.opened {"doorId":"front"}`,variant:`destructive`});return}let r,i=D[2]?.trim();if(i)try{r=JSON.parse(i)}catch{o({title:`Invalid JSON payload`,description:`The optional payload after the event key must be valid JSON.`,variant:`destructive`});return}try{let e=await W_(n,t,r);o({title:`Event sent`,description:`Matched ${e.matched}, launched ${e.launched}, skipped ${e.skipped}`})}catch(e){o({title:`Event failed`,description:e instanceof Error?e.message:`Failed to send event`,variant:`destructive`})}return}let O=Z_(e,h,f);if(!x&&hg(i,w,O)&&!p(w,e)){s(w,e=>es(w,e,O),_,e,O),a({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:w,paneId:e,message:g,model:_,attachments:v,provider:y,planMode:b,imageMode:x,ralphMode:S,orchestrateMode:C}}),b&&c?.();return}let k=`msg-${Date.now()}`,A={messageId:k,sender:`user`,content:g,contentType:`text`,timestamp:new Date().toISOString(),model:_,attachments:v.map(e=>({fileName:e.fileName,content:e.content,mimeType:e.mimeType}))};a({type:Y.AddMessage,message:A,threadId:w,paneId:e});let j=await i_(w,k);if(j&&a({type:Y.UpdateMessageCheckpointRef,messageId:k,threadId:w,paneId:e,checkpointRef:j}),n){let t=X_(g);Q_(a,n,w,e,t,m(w)),Mr(w,g,{provider:y,model:_}).then(r=>{r&&r!==t&&Q_(a,n,w,e,r,m(w))}).catch(e=>{Yg.error(`Failed to generate chat title:`,e)})}if(x){let t=y??void 0;if(!t&&typeof _==`string`){let e=_.split(/[:/]/)[0]?.trim();e&&(t=e)}if(!t){let t={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Image generation is not available because no provider is configured for the selected model.`,contentType:`text`,timestamp:new Date().toISOString(),model:_,isThinking:!1};a({type:Y.AddMessage,message:t,threadId:w,paneId:e}),a(Qg({type:Y.ResetStream},w,e)),a({type:Y.SetActiveStreamPane,paneId:null});return}a(Qg({type:Y.SetStreaming,isStreaming:!0},w,e)),a({type:Y.SetActiveStreamPane,paneId:e});try{let n=await cs(g,_,t,w),r={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:g,contentType:`text`,timestamp:new Date().toISOString(),model:_,mode:`image`,isThinking:!1,generatedImageUrl:n.imageUrl,generatedImageData:n.imageData};a({type:Y.AddMessage,message:r,threadId:w,paneId:e})}catch(t){let n=t instanceof Error?t.message:`Image generation failed`,r={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${n}`,contentType:`text`,timestamp:new Date().toISOString(),model:_,isThinking:!1};a({type:Y.AddMessage,message:r,threadId:w,paneId:e})}finally{a(Qg({type:Y.ResetStream},w,e)),a({type:Y.SetActiveStreamPane,paneId:null})}return}s(w,e=>to(w,g,_,v,e,y,b,S,j,O,C),_,e,O),a(Qg({type:Y.SetStreamAgentMode,mode:Gt({planMode:b,ralphMode:S,orchestrateMode:C})},w,e)),b&&c?.()},[t,n,a,s,r,i,o,c,d,f,p,m,l,u])}function ev(e,t){for(let n of e.current){let r=n.split(`:`)[0];(!r||!t.has(r))&&e.current.delete(n)}}function tv(e,t,n){for(let r of n){let n=`${r.threadId}:${r.paneId}`;e.current.has(n)||(e.current.add(n),t(r.threadId,e=>es(r.threadId,e,r.conversationId),`default`,r.paneId,r.conversationId))}}function nv(e,t,n){if(!n.selectedThreadId)return;let r=n.getQueuedMessagesForPane(e);if(r.length===0||n.isPaneStreaming(n.selectedThreadId,e)||n.isProcessingQueueRef.current[e])return;let[i]=r;n.isProcessingQueueRef.current[e]=!0,t[e]=setTimeout(()=>{n.isProcessingQueueRef.current[e]=!1,n.dispatch({type:Y.RemoveQueuedChatMessage,queuedMessageId:i.id}),n.handleSend(e,n.getPaneConversationIdForHandlers(e),i.message,i.model,i.attachments,i.provider,i.planMode,i.imageMode,i.ralphMode,i.orchestrateMode)},0)}function rv(e,t,n){n.isPaneStreaming(n.selectedThreadId??``,t)||n.getPaneMessagesForHandlers(t).length>0||!n.selectedThreadId||n.handleSend(t,n.getPaneConversationIdForHandlers(t),e.message,e.model,e.attachments,e.provider,e.planMode,e.imageMode,e.ralphMode,e.orchestrateMode)}function iv(e,t){for(let n of e.projects){let e=n.threads.find(e=>e.threadId===t);if(e)return e.chatTitles}}function av(e,t){let{selectedThreadId:n}=t;if(!n)return;t.onStopRequested(n);let r=Es(n,e),i=t.streamSessionsRef.current.get(r),a=t.getPaneStreamingModel(n,e),o=i?.conversationId??t.getPaneConversationIdForHandlers(e);if(Na(n,o?{conversationId:o}:void 0),i){i.stopHandled=!0,t.finalizeThreadStream(n,a,i),i.controller.abort(),i.cancel?.();return}t.dispatch(Qg({type:Y.ResetStream},n,e))}function ov(e,t){for(let[n,r]of t.current.entries()){r.controller.abort(),r.cancel?.(),r.keepsDeviceAwake&&(r.keepsDeviceAwake=!1,qg());let[t,i]=n.split(`:`);e(Qg({type:Y.ResetStream},t,i))}t.current.clear()}function sv(e,t){let{selectedThreadId:n}=t;if(!n)return;let r=Es(n,e),i=t.streamSessionsRef.current.get(r);i&&(t.streamSessionsRef.current.delete(r),i.controller.abort(),i.cancel?.(),i.keepsDeviceAwake&&(i.keepsDeviceAwake=!1,qg())),t.dispatch(Qg({type:Y.ResetStream},n,e)),t.dispatch({type:Y.SetActiveStreamPane,paneId:null})}function cv(e,t,n){if(!n){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return e[t]===n?e:{...e,[t]:n}}function lv(e){let t=new Set(e.processingThreadIds),n=e.storeRef.getState();ev(e.autoSubscribePendingRef,t);let r=vg({...n,selectedThreadId:e.selectedThreadId,extraChatPanes:e.extraChatPanes,primaryConversationId:e.primaryConversationId},e.processingRuns,{hasSession:(t,n)=>e.streamSessionsRef.current.has(Es(t,n)),isRecentlyFinalized:Cg,isThreadBeingCreated:e=>kc(n.threadToolSessions[e])});tv(e.autoSubscribePendingRef,e.connectThreadStream,r)}function uv(e){let t=e.pendingChatMessage;if(!t||t.threadId!==e.selectedThreadId||e.isPaneStreaming(e.selectedThreadId??``,`primary`))return;let n=setTimeout(()=>{e.dispatch({type:Y.ClearPendingChatMessage}),e.handleSend(`primary`,void 0,t.message,t.model,[],t.provider)},100);return()=>clearTimeout(n)}function dv(e){if(!e.selectedThreadId)return;let t={},n=new Set([`primary`,...Ts(e.storeRef.getState()),...e.queuedChatMessages.filter(t=>t.threadId===e.selectedThreadId).map(e=>e.paneId)]);for(let r of n)nv(r,t,e);return()=>{for(let e of n){let n=t[e];n&&clearTimeout(n)}}}function fv(e,t,n){let r=n.getQueuedMessagesForPane(e).find(e=>e.id===t);n.dispatch({type:Y.RemoveQueuedChatMessage,queuedMessageId:t}),r&&rv(r,e,{selectedThreadId:n.selectedThreadId,isPaneStreaming:n.isPaneStreaming,getPaneMessagesForHandlers:n.getPaneMessages,getPaneConversationIdForHandlers:n.getPaneConversationId,handleSend:n.handleSend})}function pv(){let e=Ks(),t=Vs(),n=X(e=>e.selectedThreadId),r=X(e=>e.selectedProjectId),i=X(e=>e.queuedChatMessages),a=X(e=>e.pendingChatMessage),o=X(e=>e.processingThreadIds),s=X(e=>e.processingRuns),c=X(e=>e.extraChatPanes),l=X(e=>e.primaryConversationId),u=(0,Z.useRef)(null),d=(0,Z.useRef)(new Map),f=(0,Z.useRef)(null),p=(0,Z.useRef)({}),m=(0,Z.useRef)(new Set);return u.current=n,{dispatch:e,storeRef:t,selectedThreadId:n,selectedProjectId:r,queuedChatMessages:i,pendingChatMessage:a,processingThreadIds:o,processingRuns:s,extraChatPanes:c,primaryConversationId:l,selectedThreadIdRef:u,streamSessionsRef:d,connectThreadStreamRef:f,isProcessingQueueRef:p,autoSubscribePendingRef:m}}function mv(e){let t=(0,Q.c)(20),{storeRef:n,selectedThreadId:r,queuedChatMessages:i}=e,a;t[0]===n?a=t[1]:(a=function(e){return ys(n.getState(),e)},t[0]=n,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=function(e){return gs(n.getState(),e)},t[2]=n,t[3]=s);let c=s,l;t[4]===n?l=t[5]:(l=function(e,t){return As(n.getState().threadStreamingStates,e,t).isStreaming},t[4]=n,t[5]=l);let u=l,d;t[6]===n?d=t[7]:(d=function(e,t){return As(n.getState().threadStreamingStates,e,t).streamingModel||`default`},t[6]=n,t[7]=d);let f=d,p;t[8]===n?p=t[9]:(p=function(e){return iv(n.getState(),e)},t[8]=n,t[9]=p);let m=p,h;t[10]!==i||t[11]!==r?(h=e=>r?i.filter(t=>t.threadId===r&&t.paneId===e):[],t[10]=i,t[11]=r,t[12]=h):h=t[12];let g=h,_;return t[13]!==m||t[14]!==c||t[15]!==o||t[16]!==f||t[17]!==g||t[18]!==u?(_={getPaneMessages:o,getPaneConversationId:c,isPaneStreaming:u,getPaneStreamingModel:f,getChatTitles:m,getQueuedMessagesForPane:g},t[13]=m,t[14]=c,t[15]=o,t[16]=f,t[17]=g,t[18]=u,t[19]=_):_=t[19],_}function hv(){let e=(0,Q.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={},e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),[i,a]=(0,Z.useState)(!1),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(e,t,n)=>{let i=Es(e,t);r(e=>cv(e,i,n))},e[1]=o):o=e[1];let s=o,c;return e[2]!==n||e[3]!==i?(c={paneErrors:n,setPaneError:s,showEmptyBalanceDialog:i,setShowEmptyBalanceDialog:a},e[2]=n,e[3]=i,e[4]=c):c=e[4],c}function gv(e){let{state:t,selectors:n,setPaneError:r,setShowEmptyBalanceDialog:i,setStopRequestedForThreadId:a}=e,{dispatch:o,storeRef:s,streamSessionsRef:c,connectThreadStreamRef:l,selectedThreadIdRef:u,autoSubscribePendingRef:d,processingThreadIds:f,selectedThreadId:p,extraChatPanes:m,primaryConversationId:h,processingRuns:g}=t,_=(0,Z.useCallback)(R_({dispatch:o,streamSessionsRef:c,connectThreadStreamRef:l,selectedThreadIdRef:u,getHistoryEpoch:()=>s.getState().chatHistoryEpoch,getPaneConversationId:e=>gs(s.getState(),e)}),[o,s]),v=(0,Z.useCallback)(e=>av(e,{selectedThreadId:p,dispatch:o,finalizeThreadStream:_,streamSessionsRef:c,getPaneStreamingModel:n.getPaneStreamingModel,getPaneConversationIdForHandlers:n.getPaneConversationId,onStopRequested:a}),[p,o,_]);(0,Z.useEffect)(()=>()=>{ov(o,c)},[o]);let y=(0,Z.useCallback)(z_({dispatch:o,streamSessionsRef:c,setPaneError:r,setShowEmptyBalanceDialog:i,finalizeThreadStream:_}),[o,_,r]);return l.current=y,(0,Z.useEffect)(()=>{lv({autoSubscribePendingRef:d,processingThreadIds:f,selectedThreadId:p,extraChatPanes:m,primaryConversationId:h,processingRuns:g,connectThreadStream:y,streamSessionsRef:c,storeRef:s})},[y,m,h,g,f,p,s]),{finalizeThreadStream:_,connectThreadStream:y,handleStop:v}}function _v(e){let t=pv(),{dispatch:n,storeRef:r,selectedThreadId:i,selectedProjectId:a,processingThreadIds:o,processingRuns:s,pendingChatMessage:c,queuedChatMessages:l}=t,u=mv(t),{getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m,getQueuedMessagesForPane:h}=u,{toast:g}=ic(),{paneErrors:_,setPaneError:v,showEmptyBalanceDialog:y,setShowEmptyBalanceDialog:b}=hv(),[x,S]=(0,Z.useState)(null),{connectThreadStream:C,handleStop:w}=gv({state:t,selectors:u,setPaneError:v,setShowEmptyBalanceDialog:b,setStopRequestedForThreadId:S}),T=$_({selectedThreadId:i,selectedProjectId:a,processingThreadIds:o,processingRuns:s,dispatch:n,toast:g,connectThreadStream:C,onPlanModeConsumed:e,setPaneError:v,setStopRequestedForThreadId:S,getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m});(0,Z.useEffect)(()=>uv({pendingChatMessage:c,selectedThreadId:i,isPaneStreaming:p,dispatch:n,handleSend:T}),[c,i,n,T,r]),(0,Z.useEffect)(()=>dv({selectedThreadId:i,dispatch:n,getQueuedMessagesForPane:h,isPaneStreaming:p,isProcessingQueueRef:t.isProcessingQueueRef,getPaneConversationIdForHandlers:f,handleSend:T,storeRef:r,queuedChatMessages:l}),[n,h,T,l,i,r]);let E=(0,Z.useCallback)((e,t)=>fv(e,t,{getQueuedMessagesForPane:h,dispatch:n,selectedThreadId:i,isPaneStreaming:p,getPaneMessages:d,getPaneConversationId:f,handleSend:T}),[n,h,T,i,r]),D=(0,Z.useCallback)(e=>{sv(e,{selectedThreadId:i,dispatch:n,streamSessionsRef:t.streamSessionsRef})},[n,i,t.streamSessionsRef]);return(0,Z.useMemo)(()=>({paneErrors:_,setPaneError:v,handleSend:T,handleStop:w,handleDiscardPaneStream:D,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:E,showEmptyBalanceDialog:y,setShowEmptyBalanceDialog:b}),[_,v,T,w,D,h,E,y,b])}var vv=(0,Z.createContext)(void 0);function yv(e){let t=(0,Q.c)(3),{children:n}=e,r=_v(),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(vv.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function bv(){let e=(0,Z.useContext)(vv);if(e===void 0)throw Error(`useChatHandlersContext must be used within a ChatHandlersProvider`);return e}var xv=(0,Z.createContext)(void 0);function Sv(e){let t=(0,Q.c)(12),{paneId:n,conversationId:r,fillPane:i,children:a}=e,o=i===void 0?!1:i,s=Ks(),c=X(Cv),l;t[0]!==s||t[1]!==n?(l=()=>{s({type:Y.SetFocusedPane,paneId:n})},t[0]=s,t[1]=n,t[2]=l):l=t[2];let u=l,d=c===n,f;t[3]!==r||t[4]!==o||t[5]!==n||t[6]!==u||t[7]!==d?(f={paneId:n,conversationId:r,isFocused:d,fillPane:o,setFocused:u},t[3]=r,t[4]=o,t[5]=n,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p=f,m;return t[9]!==a||t[10]!==p?(m=(0,$.jsx)(xv.Provider,{value:p,children:a}),t[9]=a,t[10]=p,t[11]=m):m=t[11],m}function Cv(e){return e.focusedPane}function wv(){let e=(0,Q.c)(1),t=(0,Z.useContext)(xv);if(t===void 0){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={paneId:`primary`,conversationId:void 0,isFocused:!0,fillPane:!1,setFocused:Tv},e[0]=t):t=e[0],t}return t}function Tv(){}function Ev(e){let t=(0,Q.c)(66),{toolCall:n,className:r}=e,{paneId:i}=wv(),{handleStop:a}=bv(),[o,s]=(0,Z.useState)(!1),c;t[0]===n.id?c=t[1]:(c=e=>e.toolCallProgress[n.id],t[0]=n.id,t[1]=c);let l=X(c),u;t[2]!==n.activeDisplayName||t[3]!==n.name?(u=n.activeDisplayName??ne(n.name),t[2]=n.activeDisplayName,t[3]=n.name,t[4]=u):u=t[4];let d=u,f=qd(n.name)?`searching`:`working`,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{s(Ov)},t[5]=p):p=t[5];let m=p,h;t[6]!==a||t[7]!==i?(h=function(){a(i)},t[6]=a,t[7]=i,t[8]=h):h=t[8];let g=h,_=Dv,v=n.name===`bash`&&typeof n.input?.command==`string`?n.input.command:null,y;t[9]===v?y=t[10]:(y=v===null?null:Yd(v),t[9]=v,t[10]=y);let b=y,x=n.name===`fetch`&&typeof n.input?.url==`string`?n.input.url:null,S=n.name===`web_search`&&typeof n.input?.query==`string`?n.input.query:null,C=!v&&typeof n.input?.description==`string`?n.input.description:null,w;t[11]===r?w=t[12]:(w=G(`overflow-hidden mb-2`,r),t[11]=r,t[12]=w);let T;t[13]===d?T=t[14]:(T=(0,$.jsx)(`span`,{className:U.bodyMuted,children:d}),t[13]=d,t[14]=T);let E;t[15]===f?E=t[16]:(E=(0,$.jsx)(dp,{state:f}),t[15]=f,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[T,E]})}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]===n.name?O=t[21]:(O=(0,$.jsx)(Fr,{children:n.name}),t[20]=n.name,t[21]=O);let k;t[22]!==O||t[23]!==D?(k=(0,$.jsxs)(Mi,{children:[D,O]}),t[22]=O,t[23]=D,t[24]=k):k=t[24];let A;t[25]===b?A=t[26]:(A=b!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`truncate whitespace-nowrap rounded bg-muted/60 px-1 py-0.5 max-w-full`),children:b.label}),t[25]=b,t[26]=A);let j;t[27]===x?j=t[28]:(j=x!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:x.length>60?`${x.slice(0,59)}…`:x}),t[27]=x,t[28]=j);let M;t[29]===S?M=t[30]:(M=S!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:S.length>60?`${S.slice(0,59)}…`:S}),t[29]=S,t[30]=M);let N;t[31]===C?N=t[32]:(N=C!==null&&(0,$.jsx)(`span`,{className:U.bodyMuted,children:C}),t[31]=C,t[32]=N);let P;t[33]===o?P=t[34]:(P=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:`p-1 hover:bg-muted/50 rounded transition-colors`,children:o?(0,$.jsx)(Yt,{className:`h-3 w-3`}):(0,$.jsx)(tn,{className:`h-3 w-3`})})}),t[33]=o,t[34]=P);let F=o?`Collapse`:`Expand`,I;t[35]===F?I=t[36]:(I=(0,$.jsx)(Fr,{children:F}),t[35]=F,t[36]=I);let L;t[37]!==P||t[38]!==I?(L=(0,$.jsxs)(Mi,{children:[P,I]}),t[37]=P,t[38]=I,t[39]=L):L=t[39];let R;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(nt,{className:`h-3 w-3`}),t[40]=R):R=t[40];let z;t[41]===g?z=t[42]:(z=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:g,className:`p-1 hover:bg-red-200 dark:hover:bg-red-800 rounded transition-colors text-red-600 dark:text-red-400`,children:R})}),t[41]=g,t[42]=z);let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(Fr,{className:`bg-red-600 text-white border-red-600`,children:`Stop this process`}),t[43]=B):B=t[43];let V;t[44]===z?V=t[45]:(V=(0,$.jsxs)(Mi,{children:[z,B]}),t[44]=z,t[45]=V);let H;t[46]!==L||t[47]!==V?(H=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 ml-auto shrink-0`,children:[L,V]}),t[46]=L,t[47]=V,t[48]=H):H=t[48];let ee;t[49]!==k||t[50]!==A||t[51]!==j||t[52]!==M||t[53]!==N||t[54]!==H?(ee=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 flex-wrap`,children:[k,A,j,M,N,H]}),t[49]=k,t[50]=A,t[51]=j,t[52]=M,t[53]=N,t[54]=H,t[55]=ee):ee=t[55];let te;t[56]!==o||t[57]!==f||t[58]!==n.id||t[59]!==n.input||t[60]!==l?(te=o&&(0,$.jsxs)(`div`,{className:`py-2 border-t border-border min-h-[8rem] overflow-auto`,children:[(0,$.jsxs)(`div`,{className:G(U.compact,U.bodyMuted,`mb-2 font-mono`),children:[`ID: `,n.id]}),(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(U.compact,U.label,`text-muted-foreground mb-1`),children:`Input:`}),(0,$.jsx)(`pre`,{className:Qf({className:`border border-border`}),children:_(n.input)})]}),l&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(U.compact,U.label,`text-muted-foreground mb-1`),children:`Progress:`}),(0,$.jsxs)(`div`,{className:G(U.body,`bg-green-50 dark:bg-green-900/20 p-2 rounded border border-green-200 dark:border-green-800`),children:[(0,$.jsx)(`div`,{className:G(U.mono,`text-green-700 dark:text-green-300`),children:l.delta}),l.partial?.content?.[0]?.arguments&&typeof l.partial.content[0].arguments==`object`&&`content`in l.partial.content[0].arguments&&typeof l.partial.content[0].arguments.content==`string`&&(0,$.jsxs)(`div`,{className:G(U.mono,`mt-1 text-green-600 dark:text-green-400`),children:[`Building: `,l.partial.content[0].arguments.content.slice(-50),l.partial.content[0].arguments.content.length>50&&`...`]})]})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`flex items-center gap-1.5 text-muted-foreground`),children:[(0,$.jsx)(dp,{state:f}),`Executing`,l&&` with progress`,`...`]})]}),t[56]=o,t[57]=f,t[58]=n.id,t[59]=n.input,t[60]=l,t[61]=te):te=t[61];let re;return t[62]!==ee||t[63]!==te||t[64]!==w?(re=(0,$.jsxs)(`div`,{className:w,children:[ee,te]}),t[62]=ee,t[63]=te,t[64]=w,t[65]=re):re=t[65],re}function Dv(e){return JSON.stringify(e,null,2)}function Ov(e){return!e}function kv(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`&&n.trim()){t.push({label:n,description:``});continue}if(!n||typeof n!=`object`)continue;let e=n;typeof e.label!=`string`||!e.label.trim()||t.push({label:e.label,description:typeof e.description==`string`?e.description:``})}return t}function Av(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.question!=`string`||!t.question.trim())return null;let n=kv(t.options);return{question:t.question,header:typeof t.header==`string`?t.header:void 0,options:n.length>0?n:void 0,multiple:typeof t.multiple==`boolean`?t.multiple:void 0}}function jv(e){if(Array.isArray(e.questions))return e.questions.map(e=>Av(e)).filter(e=>e!==null);if(typeof e.question==`string`&&e.question.trim()){let t=kv(e.options);return[{question:e.question,header:typeof e.context==`string`?e.context:void 0,options:t.length>0?t:void 0}]}return[]}function Mv(e){let t=jv(e),n=t[0];return{questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header}}function Nv(e){return{intention:typeof e.intention==`string`?e.intention:``,code:typeof e.code==`string`?e.code:``}}function Pv(e){let t=(0,Q.c)(6),{prompt:n,answeredText:r}=e,i=n.toolCallId??`long-running-confirmation`,a;return t[0]!==r||t[1]!==n.context||t[2]!==n.options||t[3]!==n.question||t[4]!==i?(a=(0,$.jsx)(Th,{toolCallId:i,question:n.question,options:n.options,context:n.context,answeredText:r,answeredLabel:`You answered`}),t[0]=r,t[1]=n.context,t[2]=n.options,t[3]=n.question,t[4]=i,t[5]=a):a=t[5],a}function Fv(e){let t=(0,Q.c)(6),{prompt:n,projectId:r,resolvedDecision:i}=e,a;return t[0]!==r||t[1]!==n.command||t[2]!==n.toolCallId||t[3]!==n.wildcardOptions||t[4]!==i?(a=(0,$.jsx)(jh,{toolCallId:n.toolCallId,command:n.command,projectId:r,wildcardOptions:n.wildcardOptions,resolvedDecision:i}),t[0]=r,t[1]=n.command,t[2]=n.toolCallId,t[3]=n.wildcardOptions,t[4]=i,t[5]=a):a=t[5],a}function Iv(e){let t=(0,Q.c)(2),{prompt:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(Mh,{...n}),t[0]=n,t[1]=r),r}function Lv(e){let t=(0,Q.c)(7),{prompt:n,projectId:r,resolvedDecision:i}=e,a;return t[0]!==r||t[1]!==n.hostname||t[2]!==n.toolCallId||t[3]!==n.url||t[4]!==n.wildcardOptions||t[5]!==i?(a=(0,$.jsx)(Ph,{toolCallId:n.toolCallId,hostname:n.hostname,url:n.url,projectId:r,wildcardOptions:n.wildcardOptions,resolvedDecision:i}),t[0]=r,t[1]=n.hostname,t[2]=n.toolCallId,t[3]=n.url,t[4]=n.wildcardOptions,t[5]=i,t[6]=a):a=t[6],a}function Rv(e,t){if(e.name!==`ask_user`)return null;let n=Mv(e.input);return(0,$.jsx)(Th,{toolCallId:e.id,questions:n.questions,answeredText:t,interactive:!1})}function zv(e,t,n,r){if(e.name!==`run_js`&&e.name!==`run_web_worker`)return null;let i=Nv(e.input);return(0,$.jsx)(pg,{toolCallId:e.id,intention:i.intention,code:i.code,resultContent:t,resultIsError:n,showActive:r===!0})}function Bv(e){let t=(0,Q.c)(14),{block:n,resultContent:r,resultIsError:i,observation:a,showActive:o}=e,s;t[0]===n.id?s=t[1]:(s=e=>e.toolCallProgress[n.id],t[0]=n.id,t[1]=s);let c=X(s),l;t[2]===c?l=t[3]:(l=c??{},t[2]=c,t[3]=l);let u;t[4]===l?u=t[5]:(u=ph(l),t[4]=l,t[5]=u);let d=u,f=o&&r===void 0,p=n.name===`bash`||n.name===`read`||n.name===`file_read`||n.name===`get_observation`||im(n.name,n.input);if(f&&!p){let e;return t[6]===n?e=t[7]:(e=(0,$.jsx)(Ev,{toolCall:n}),t[6]=n,t[7]=e),e}let m=f?d:r,h;return t[8]!==n||t[9]!==f||t[10]!==a||t[11]!==i||t[12]!==m?(h=(0,$.jsx)(Rm,{inline:!0,block:n,resultContent:m,resultIsError:i,isActive:f,observation:a}),t[8]=n,t[9]=f,t[10]=a,t[11]=i,t[12]=m,t[13]=h):h=t[13],h}function Vv(e){let t=(0,Q.c)(19),{block:n,showActive:r,resultContent:i,resultIsError:a,observation:o}=e,s;t[0]!==n||t[1]!==i?(s=Rv(n,i),t[0]=n,t[1]=i,t[2]=s):s=t[2];let c=s;if(c)return c;let l;t[3]!==n||t[4]!==i||t[5]!==a||t[6]!==r?(l=zv(n,i,a,r),t[3]=n,t[4]=i,t[5]=a,t[6]=r,t[7]=l):l=t[7];let u=l;if(u)return u;if(r){let e;return t[8]!==n||t[9]!==o||t[10]!==i||t[11]!==a||t[12]!==r?(e=(0,$.jsx)(Bv,{block:n,resultContent:i,resultIsError:a,observation:o,showActive:r}),t[8]=n,t[9]=o,t[10]=i,t[11]=a,t[12]=r,t[13]=e):e=t[13],e}let d;return t[14]!==n||t[15]!==o||t[16]!==i||t[17]!==a?(d=(0,$.jsx)(Rm,{inline:!0,block:n,resultContent:i,resultIsError:a,isActive:!1,observation:o}),t[14]=n,t[15]=o,t[16]=i,t[17]=a,t[18]=d):d=t[18],d}function Hv(e){let t=(0,Q.c)(4),{block:n,sequence:r,params:i}=e,a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=(0,$.jsx)(ah,{inline:!0,sequence:r,block:n,params:i}),t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}function Uv(e){let t=(0,Q.c)(43),{items:n,allBlocks:r,completedToolCallIds:i,isStreaming:a,showActiveSummary:o,hideActiveLabel:s,initialExpanded:c,renderItem:l}=e,u=o===void 0?a:o,d=s===void 0?!1:s,[f,p]=(0,Z.useState)(c===void 0?!1:c),m;t[0]!==r||t[1]!==i||t[2]!==n?(m=Cs(n,r,i),t[0]=r,t[1]=i,t[2]=n,t[3]=m):m=t[3];let h=m,g;t[4]!==u||t[5]!==h?(g=Qs(h,{showActive:u}),t[4]=u,t[5]=h,t[6]=g):g=t[6];let _=g,v=_.activeLabel!==null,y=v&&!d,b;t[7]===f?b=t[8]:(b=()=>p(!f),t[7]=f,t[8]=b);let x;t[9]===f?x=t[10]:(x=f?(0,$.jsx)(tn,{className:`h-3 w-3 text-muted-foreground shrink-0`}):(0,$.jsx)(sn,{className:`h-3 w-3 text-muted-foreground shrink-0`}),t[9]=f,t[10]=x);let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=G(U.caption,`min-w-0 truncate`),t[11]=S):S=t[11];let C;t[12]!==_.lineStats||t[13]!==h?(C=_.lineStats?(0,$.jsxs)(`span`,{className:`text-muted-foreground/70`,children:[` · `,(0,$.jsxs)(`span`,{className:`text-brand`,children:[`+`,h.linesAdded]}),` `,(0,$.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,h.linesRemoved]})]}):null,t[12]=_.lineStats,t[13]=h,t[14]=C):C=t[14];let w;t[15]!==_.text||t[16]!==C?(w=(0,$.jsxs)(`span`,{className:S,children:[_.text,C]}),t[15]=_.text,t[16]=C,t[17]=w):w=t[17];let T;t[18]!==_.activeLabel||t[19]!==y?(T=y?(0,$.jsx)(`span`,{className:G(U.caption,`shrink-0`),children:_.activeLabel}):null,t[18]=_.activeLabel,t[19]=y,t[20]=T):T=t[20];let E;t[21]===v?E=t[22]:(E=v?(0,$.jsx)(dp,{state:`working`,className:`shrink-0`}):null,t[21]=v,t[22]=E);let D;t[23]!==f||t[24]!==w||t[25]!==T||t[26]!==E||t[27]!==b||t[28]!==x?(D=(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 cursor-pointer select-none text-left w-full min-w-0`,onClick:b,"aria-expanded":f,children:[x,w,T,E]}),t[23]=f,t[24]=w,t[25]=T,t[26]=E,t[27]=b,t[28]=x,t[29]=D):D=t[29];let O=f?`flex`:`hidden`,k;t[30]===O?k=t[31]:(k=G(`ml-5 flex-col gap-0.5`,O),t[30]=O,t[31]=k);let A;if(t[32]!==n||t[33]!==l){let e;t[35]===l?e=t[36]:(e=e=>l(e),t[35]=l,t[36]=e),A=n.map(e),t[32]=n,t[33]=l,t[34]=A}else A=t[34];let j;t[37]!==k||t[38]!==A?(j=(0,$.jsx)(`div`,{className:k,children:A}),t[37]=k,t[38]=A,t[39]=j):j=t[39];let M;return t[40]!==D||t[41]!==j?(M=(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[D,j]}),t[40]=D,t[41]=j,t[42]=M):M=t[42],M}function Wv(e){let t=e.length-1;for(;t>=0;){let n=e[t];if(!n||ms(n)||n.type!==`text`)break;--t}return t+1}function Gv(e,t){return t?e.some(e=>!hs(e)&&Us(e)&&e.id===t):!1}function Kv(e,t=0){if(hs(e))return`thinking-${t}-${e.label??`none`}`;switch(e.type){case`tool_use`:return`tool-${e.id}`;case`tool-result`:return`result-${e.toolCallId}`;case`long_running_confirmation`:return`lrc-${e.prompt.toolCallId??fh(e.prompt.question)}`;case`shell_permission`:return`shell-${e.prompt.toolCallId}`;case`seatbelt_escalation`:return`seatbelt-${e.prompt.toolCallId}`;case`web_fetch_permission`:return`fetch-${e.prompt.toolCallId}`;case`text`:return`text-${fh(e.text.slice(0,128))}`}}function qv(e,t,n){let{lookupBlocks:r,toolResultMap:i,isStreaming:a,threadId:o,projectId:s,messageIndex:c,message:l,activeLocalToolCallId:u,completedToolCallIds:d,completedToolCallResults:f}=n;if(Us(e)&&e.name===`todo`)return null;if(ws(e)){if(e.toolName===`todo`)return(0,$.jsx)(Hv,{sequence:c,block:e,params:r.find(t=>Us(t)&&t.id===e.toolCallId)?.input},t);if(e.toolName===`ask_user`)return null}switch(e.type){case`long_running_confirmation`:return(0,$.jsx)(Pv,{prompt:e.prompt,answeredText:Sh(r,e.prompt.toolCallId)},t);case`shell_permission`:return(0,$.jsx)(Fv,{prompt:e.prompt,projectId:s,resolvedDecision:bh(r,e.prompt.toolCallId,`shell`)},t);case`seatbelt_escalation`:return(0,$.jsx)(Iv,{prompt:e.prompt},t);case`web_fetch_permission`:return(0,$.jsx)(Lv,{prompt:e.prompt,projectId:s,resolvedDecision:bh(r,e.prompt.toolCallId,`web_fetch`)},t);case`text`:return(0,$.jsx)(ud,{content:e.text,threadId:o},t);case`tool_use`:{let n=f?.get(e.id),o=i.get(e.id),s=mh(o)??n?.resultContent,c=gh(o)||(n?.resultIsError??!1),p=hh(o)??n?.observation;return(0,$.jsx)(Vv,{block:e,showActive:!(d?.has(e.id)===!0||n!==void 0)&&xh(r,l,e.id,u,a),resultContent:s,resultIsError:c,observation:p},t)}case`tool-result`:return(0,$.jsx)(Hv,{block:e},t)}}function Jv({blocks:e,isStreaming:t=!1,threadId:n,projectId:r,messageIndex:i=0,message:a,finalProseText:o=null}){let s=X(e=>{if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];if(t)return t.toolCallId;let n=e.devServerToolSession;return!n||n.threadId!==e.selectedThreadId?null:n.toolCallId}),c=(0,Z.useMemo)(()=>Ws(e),[e]),l=(0,Z.useMemo)(()=>_h(c),[c]),u=t||!!a?.isThinking,d=(0,Z.useRef)(new Set),f=(0,Z.useRef)(new Map);for(let e of c)if(ws(e)){d.current.add(e.toolCallId);let t=mh(e),n=gh(e),r=hh(e);t!==void 0&&f.current.set(e.toolCallId,{resultContent:t,resultIsError:n,observation:r})}let p=d.current,m=f.current,h=(0,Z.useMemo)(()=>ec(ps(c,u)),[c,u]),g=0;function _(e){let o=hs(e)?Kv(e,++g):Kv(e);return hs(e)?(0,$.jsx)(dh,{text:e.text,label:e.label,isStreaming:e.isCurrentlyStreaming,threadId:n},o):qv(e,o,{lookupBlocks:c,toolResultMap:l,isStreaming:t,threadId:n,projectId:r,messageIndex:i,message:a,activeLocalToolCallId:s,completedToolCallIds:p,completedToolCallResults:m})}function v(e,n){return ms(e)?(0,$.jsx)(Uv,{items:e.items,allBlocks:c,completedToolCallIds:p,isStreaming:u,showActiveSummary:u||Gv(e.items,s),hideActiveLabel:t,renderItem:_},`tool-group-${i}-${n}`):_(e)}let y=o?Wv(h):h.length,b=h.slice(0,y),x=h.slice(y),S=!!o&&x.length>0&&x.every(e=>!ms(e)&&e.type===`text`);return(0,$.jsx)(cm,{value:Jv,children:(0,$.jsxs)($.Fragment,{children:[b.map((e,t)=>v(e,t)),S&&o?(0,$.jsx)(Vd,{text:o,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:x.map((e,t)=>v(e,y+t))})}):x.map((e,t)=>v(e,y+t))]})})}function Yv(e){let t=(0,Q.c)(20),{content:n,children:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{a(!1)},t[0]=l):l=t[0];let u;t[1]===n?u=t[2]:(u=[n],t[1]=n,t[2]=u),(0,Z.useEffect)(l,u);let d;t[3]===i?d=t[4]:(d=()=>{let e=c.current;if(!e||i)return;let t=function(){e&&s(e.scrollHeight>e.clientHeight+1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},t[3]=i,t[4]=d);let f;t[5]!==n||t[6]!==i?(f=[n,i],t[5]=n,t[6]=i,t[7]=f):f=t[7],(0,Z.useEffect)(d,f);let p=o||i,m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=function(){a(Xv)},t[8]=m):m=t[8];let h=m,g=!i&&`line-clamp-10`,_;t[9]===g?_=t[10]:(_=G(g),t[9]=g,t[10]=_);let v;t[11]!==r||t[12]!==_?(v=(0,$.jsx)(`div`,{ref:c,className:_,children:r}),t[11]=r,t[12]=_,t[13]=v):v=t[13];let y;t[14]!==i||t[15]!==p?(y=p?(0,$.jsx)(`button`,{type:`button`,className:G(U.caption,`self-start text-background/70 underline-offset-2 hover:text-background hover:underline`),"aria-expanded":i,onClick:h,children:i?`Show less`:`Show more`}):null,t[14]=i,t[15]=p,t[16]=y):y=t[16];let b;return t[17]!==v||t[18]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[v,y]}),t[17]=v,t[18]=y,t[19]=b):b=t[19],b}function Xv(e){return!e}var Zv=(0,Z.memo)(function(e){let t=(0,Q.c)(21),{message:n,threadId:r,messageIndex:i,structuredContent:a,thinkingBlocks:o,finalProseText:s}=e;if(n.isThinking){if(o?.length){let e;return t[0]!==n||t[1]!==i||t[2]!==o||t[3]!==r?(e=(0,$.jsx)(Jv,{blocks:o,threadId:r,message:n,messageIndex:i}),t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=e):e=t[4],e}let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=G(U.caption,`whitespace-pre-wrap`),t[5]=e):e=t[5];let a;return t[6]!==n.content||t[7]!==r?(a=(0,$.jsx)(`div`,{className:e,children:(0,$.jsx)(ud,{content:n.content,threadId:r})}),t[6]=n.content,t[7]=r,t[8]=a):a=t[8],a}if(a){let e;return t[9]!==s||t[10]!==n||t[11]!==i||t[12]!==a||t[13]!==r?(e=(0,$.jsx)(Jv,{blocks:a,threadId:r,messageIndex:i,message:n,finalProseText:s}),t[9]=s,t[10]=n,t[11]=i,t[12]=a,t[13]=r,t[14]=e):e=t[14],e}let c;t[15]!==n.content||t[16]!==r?(c=(0,$.jsx)(ud,{content:n.content,threadId:r,className:U.conversationBody}),t[15]=n.content,t[16]=r,t[17]=c):c=t[17];let l=c;if(s){let e;return t[18]!==s||t[19]!==l?(e=(0,$.jsx)(Vd,{text:s,children:l}),t[18]=s,t[19]=l,t[20]=e):e=t[20],e}return l}),Qv=(0,Z.memo)(function(e){let t=(0,Q.c)(51),{message:n,threadId:r,messageIndex:i,showCheckpointRestore:a,checkpointRestoreTooltip:o,showFinalProseCopy:s}=e,c=i===void 0?0:i,l=a===void 0?!1:a,u=s===void 0?!1:s,d=n.sender===`user`,f;t[0]!==d||t[1]!==n.content?(f=d?null:Hs(n.content),t[0]=d,t[1]=n.content,t[2]=f):f=t[2];let p=f,m;t[3]!==n.content||t[4]!==n.isThinking?(m=n.isThinking?Ss(n.content):null,t[3]=n.content,t[4]=n.isThinking,t[5]=m):m=t[5];let h=m,g;t[6]!==d||t[7]!==n.content||t[8]!==n.isThinking||t[9]!==u?(g=u&&!d&&!n.isThinking?Gs(n.content):null,t[6]=d,t[7]=n.content,t[8]=n.isThinking,t[9]=u,t[10]=g):g=t[10];let _=g,v;t[11]!==_||t[12]!==n||t[13]!==c||t[14]!==p||t[15]!==h||t[16]!==r?(v=(0,$.jsx)(Zv,{message:n,threadId:r,messageIndex:c,structuredContent:p,thinkingBlocks:h,finalProseText:_}),t[11]=_,t[12]=n,t[13]=c,t[14]=p,t[15]=h,t[16]=r,t[17]=v):v=t[17];let y=v,b=d&&`flex justify-end`,x;t[18]===b?x=t[19]:(x=G(`group px-4 py-4`,b),t[18]=b,t[19]=x);let S=d&&`items-end`,C;t[20]===S?C=t[21]:(C=G(`flex flex-col gap-1 min-w-0 max-w-full`,S),t[20]=S,t[21]=C);let w;t[22]!==o||t[23]!==n||t[24]!==l||t[25]!==r?(w=(0,$.jsx)(Bd,{message:n,threadId:r,showCheckpointRestore:l,checkpointRestoreTooltip:o}),t[22]=o,t[23]=n,t[24]=l,t[25]=r,t[26]=w):w=t[26];let T=d&&`rounded-xl px-4 py-3 bg-foreground text-background`,E;t[27]===T?E=t[28]:(E=G(`flex flex-col gap-0.5 min-w-0`,U.conversationBody,T),t[27]=T,t[28]=E);let D;t[29]!==y||t[30]!==d||t[31]!==n.content?(D=d?(0,$.jsx)(Yv,{content:n.content,children:y}):y,t[29]=y,t[30]=d,t[31]=n.content,t[32]=D):D=t[32];let O;t[33]!==E||t[34]!==D?(O=(0,$.jsx)(`div`,{className:E,children:D}),t[33]=E,t[34]=D,t[35]=O):O=t[35];let k;t[36]!==n.generatedImageData||t[37]!==n.generatedImageUrl||t[38]!==r?(k=(n.generatedImageUrl||n.generatedImageData)&&(0,$.jsx)(Hd,{src:n.generatedImageData?`data:image/png;base64,${n.generatedImageData}`:n.generatedImageUrl,threadId:r}),t[36]=n.generatedImageData,t[37]=n.generatedImageUrl,t[38]=r,t[39]=k):k=t[39];let A;t[40]===n.attachments?A=t[41]:(A=n.attachments&&n.attachments.length>0&&(0,$.jsx)(hd,{attachments:n.attachments}),t[40]=n.attachments,t[41]=A);let j;t[42]!==C||t[43]!==w||t[44]!==O||t[45]!==k||t[46]!==A?(j=(0,$.jsxs)(`div`,{className:C,children:[w,O,k,A]}),t[42]=C,t[43]=w,t[44]=O,t[45]=k,t[46]=A,t[47]=j):j=t[47];let M;return t[48]!==j||t[49]!==x?(M=(0,$.jsx)(`div`,{className:x,children:j}),t[48]=j,t[49]=x,t[50]=M):M=t[50],M});function $v(e){let t=e.length;for(let n of e)if(`chunks`in n){t+=n.chunks.length;for(let e of n.chunks)t+=e.length}return t}function ey(e){let t=(0,Q.c)(2);$v(e);let n;if(t[0]!==e){n=[];for(let t of e){if(t.type===`long_running_confirmation`){n.push({type:`long_running_confirmation`,prompt:t.prompt});continue}if(t.type===`shell_permission`){n.push({type:`shell_permission`,prompt:t.prompt});continue}if(t.type===`seatbelt_escalation`){n.push({type:`seatbelt_escalation`,prompt:t.prompt});continue}if(t.type===`web_fetch_permission`){n.push({type:`web_fetch_permission`,prompt:t.prompt});continue}n.push(...Rs(t))}t[0]=e,t[1]=n}else n=t[1];return n}function ty(e){let t=(0,Q.c)(25),{segments:n,model:r,mode:i,threadId:a,projectId:o,isCreatingProject:s,isProcessingThread:c,totalMessages:l,showProcessingLine:u}=e,d=l===void 0?0:l,f=u===void 0?!1:u,p=ey(n),m=f?`pb-0`:`pb-4`,h;t[0]===m?h=t[1]:(h=G(`group px-4 pt-4`,m),t[0]=m,t[1]=h);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=G(U.compact,`font-medium text-foreground`),t[2]=g):g=t[2];let _;t[3]===i?_=t[4]:(_=qe(i),t[3]=i,t[4]=_);let v;t[5]===_?v=t[6]:(v=(0,$.jsx)(`span`,{className:g,children:_}),t[5]=_,t[6]=v);let y;t[7]===r?y=t[8]:(y=r&&(0,$.jsxs)(`span`,{className:G(U.compact,`flex items-center gap-1 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity`),children:[(0,$.jsx)(Kt,{className:`h-2.5 w-2.5`}),Ko(r)]}),t[7]=r,t[8]=y);let b;t[9]!==v||t[10]!==y?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==s||t[13]!==c||t[14]!==p||t[15]!==o||t[16]!==a||t[17]!==d?(x=p.length>0?(0,$.jsx)(`div`,{className:G(`flex flex-col gap-0.5 min-w-0`,U.conversationBody),children:(0,$.jsx)(Jv,{blocks:p,isStreaming:!0,threadId:a,projectId:o,messageIndex:d})}):s||c?(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(dh,{isStreaming:!0})}):null,t[12]=s,t[13]=c,t[14]=p,t[15]=o,t[16]=a,t[17]=d,t[18]=x):x=t[18];let S;t[19]!==x||t[20]!==b?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[b,x]}),t[19]=x,t[20]=b,t[21]=S):S=t[21];let C;return t[22]!==S||t[23]!==h?(C=(0,$.jsx)(`div`,{className:h,children:S}),t[22]=S,t[23]=h,t[24]=C):C=t[24],C}var ny=3e3;function ry(e){let t=e?Nt.filter(t=>t!==e):Nt;return t[Math.floor(Math.random()*t.length)]}function iy(e){let t=(0,Q.c)(3),[n,r]=(0,Z.useState)(O),i=(0,Z.useRef)(O),a,o;return t[0]===e?(a=t[1],o=t[2]):(a=()=>{if(!e){r(O),i.current=O;return}let t=setInterval(()=>{let e=i.current===`Processing...`?ry():ry(i.current);i.current=e,r(e)},ny);return()=>clearInterval(t)},o=[e],t[0]=e,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o),n}function ay(e){let t=(0,Q.c)(9),{active:n,label:r,className:i}=e,a=n===void 0?!0:n,o=iy(a&&!r),s=a?`animate-shimmer`:void 0,c;t[0]===s?c=t[1]:(c=G(U.caption,s),t[0]=s,t[1]=c);let l=r??o,u;t[2]!==c||t[3]!==l?(u=(0,$.jsx)(`span`,{className:c,children:l}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d;return t[5]!==a||t[6]!==i||t[7]!==u?(d=(0,$.jsx)(`div`,{className:i,"aria-live":`polite`,"aria-busy":a,children:u}),t[5]=a,t[6]=i,t[7]=u,t[8]=d):d=t[8],d}function oy(e){let t=(0,Q.c)(34),{projects:n,onSelectProject:r,onCreateThread:i,onConnectRepo:a,onNewApp:s,onOpenFolder:c}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`h-16 w-16 rounded-lg`}),t[0]=l):l=t[0];let u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`h1`,{className:G(U.pageTitle,`tracking-tight text-balance`),children:`Let's build it!`}),t[1]=u):u=t[1];let d=n.length===0?`Start or connect your first project`:`Select a project to start coding`,f;t[2]===d?f=t[3]:(f=(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[l,(0,$.jsxs)(`div`,{className:`text-center`,children:[u,(0,$.jsx)(`p`,{className:`mt-1 ${U.pageSubtitle}`,children:d})]})]}),t[2]=d,t[3]=f);let p;if(t[4]!==i||t[5]!==r||t[6]!==n){let e;t[8]!==i||t[9]!==r?(e=e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:()=>{e.threads.length===0?i(e.projectId):r(e.projectId,e.threads[0].threadId)},children:[(0,$.jsx)(o,{className:`h-5 w-5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:e.name}),(0,$.jsxs)(`span`,{className:U.caption,children:[e.threads.length,` thread`,e.threads.length===1?``:`s`]})]},e.projectId),t[8]=i,t[9]=r,t[10]=e):e=t[10],p=n.map(e),t[4]=i,t[5]=r,t[6]=n,t[7]=p}else p=t[7];let m,h,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(M,{className:`h-5 w-5 text-muted-foreground`}),h=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`Connect a repo`}),g=(0,$.jsx)(`span`,{className:U.caption,children:`Clone an existing repository`}),t[11]=m,t[12]=h,t[13]=g):(m=t[11],h=t[12],g=t[13]);let _;t[14]===a?_=t[15]:(_=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:a,children:[m,h,g]}),t[14]=a,t[15]=_);let v,y,b;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Et,{className:`h-5 w-5 text-muted-foreground`}),y=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`New App`}),b=(0,$.jsx)(`span`,{className:U.caption,children:`Create a new project from template`}),t[16]=v,t[17]=y,t[18]=b):(v=t[16],y=t[17],b=t[18]);let x;t[19]===s?x=t[20]:(x=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:s,children:[v,y,b]}),t[19]=s,t[20]=x);let S,C,w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(fn,{className:`h-5 w-5 text-muted-foreground`}),C=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`Open Folder`}),w=(0,$.jsx)(`span`,{className:U.caption,children:`Use an existing local folder`}),t[21]=S,t[22]=C,t[23]=w):(S=t[21],C=t[22],w=t[23]);let T;t[24]===c?T=t[25]:(T=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:c,children:[S,C,w]}),t[24]=c,t[25]=T);let E;t[26]!==x||t[27]!==T||t[28]!==p||t[29]!==_?(E=(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-3`,children:[p,_,x,T]}),t[26]=x,t[27]=T,t[28]=p,t[29]=_,t[30]=E):E=t[30];let D;return t[31]!==E||t[32]!==f?(D=(0,$.jsxs)(`div`,{className:`mx-auto flex max-w-3xl flex-1 flex-col items-center gap-8 overflow-y-auto px-4 py-8`,children:[f,E]}),t[31]=E,t[32]=f,t[33]=D):D=t[33],D}var sy=`md:mr-4`,cy=`cubic-bezier(0.22, 0.61, 0.36, 1)`,ly=`animate-in fade-in duration-200 ease-out`,uy=`[data-composer-surface]`;function dy(e){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`}function fy(e){return e?`w-full min-w-0 px-4`:`mx-auto max-w-3xl w-full min-w-0`}function py(e){return G(e?`relative w-full min-w-0 pl-4`:`relative mx-auto w-full max-w-3xl min-w-0`,sy)}function my(e){return`relative w-full min-w-0`}function hy(e,t,n=!1,r=!1){return t?`absolute inset-x-0 bottom-0 mx-auto w-full max-w-3xl max-md:px-2 px-4 pb-4 pointer-events-none`:r?`relative w-full min-w-0`:n?`relative mx-auto w-full max-w-3xl px-0`:e?`relative w-full min-w-0 pb-2 md:pb-4`:`relative w-full max-w-3xl max-md:px-0 pb-2 md:pl-4 md:pb-4 md:-ml-[6px]`}function gy(e,t=!1,n=!0){return e?`relative flex min-w-0 flex-1 flex-col bg-background pointer-events-auto`:G(`relative flex min-w-0 flex-1 flex-col rounded-[24px] border focus-within:ring-2 focus-within:ring-ring/40 pointer-events-auto`,t?`border-border/50 bg-background/80 shadow-lg backdrop-blur-sm`:G(`border-border bg-background`,n&&`shadow-2xl`))}var _y={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},userTasks:e=>[`user-tasks`,e],conversations:{recent:()=>[`conversations`,`recent`]}};function vy(e){let t=(0,Q.c)(10),n;t[0]===e?n=t[1]:(n=_y.models.enabled(e),t[0]=e,t[1]=n);let r;t[2]===n?r=t[3]:(r={queryKey:n,queryFn:Ki,placeholderData:cr},t[2]=n,t[3]=r);let i=vr(r),a;bb0:{if(!i.data){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[4]=e):e=t[4],a=e;break bb0}let e;t[5]===i.data?e=t[6]:(e=Object.values(i.data).flat(),t[5]=i.data,t[6]=e),a=e}let o=a,s;return t[7]!==o||t[8]!==i?(s={...i,models:o},t[7]=o,t[8]=i,t[9]=s):s=t[9],s}function yy(e,t){let n=(0,Q.c)(11),r;n[0]===e?r=n[1]:(r=_y.models.enabledImage(e),n[0]=e,n[1]=r);let i;n[2]!==t||n[3]!==r?(i={queryKey:r,queryFn:Hi,placeholderData:cr,enabled:t},n[2]=t,n[3]=r,n[4]=i):i=n[4];let a=vr(i),o;bb0:{if(!a.data){let e;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[5]=e):e=n[5],o=e;break bb0}let e;n[6]===a.data?e=n[7]:(e=Object.values(a.data).flat(),n[6]=a.data,n[7]=e),o=e}let s=o,c;return n[8]!==s||n[9]!==a?(c={...a,models:s},n[8]=s,n[9]=a,n[10]=c):c=n[10],c}var by=Ut(`chat.input-state`);function xy(e,t){return t===`primary`?e:`${e}:${t}`}function Sy({availableModels:e,paneModel:t,storedThreadModel:n,currentThreadModelId:r,currentThreadModelProvider:i,projectLastSelectedModelId:a,projectLastSelectedModelProvider:o}){if(e.length===0)return{model:null,persistFallback:!1,pinPane:!1};let s=e[0];function c(t,n){return!t||!n?null:e.find(e=>e.id===t&&e.provider===n)??null}if(t){let e=c(t.id,t.provider);return{model:e??s,persistFallback:!1,pinPane:!e}}let l=[{id:r,provider:i}];n&&l.push({id:n.id,provider:n.provider}),l.push({id:a,provider:o});for(let e of l){let t=c(e.id,e.provider);if(t)return{model:t,persistFallback:!1,pinPane:!1}}return{model:s,persistFallback:l.length>0,pinPane:!1}}function Cy(e,t){if(t.length===0)return null;if(e){let n=t.find(t=>t.id===e.id&&t.provider===e.provider);if(n)return n}return t[0]}function wy(){let e=(0,Q.c)(15),t=Ks(),{paneId:n}=wv(),r=X(Ny),i=X(My),a=X(jy),o=X(Ay),s=X(ky),c=X(Oy),l=X(Dy),u=X(Ey),d=X(Ty),f;e[0]===n?f=e[1]:(f=e=>As(e.threadStreamingStates,e.selectedThreadId,n).isStreaming,e[0]=n,e[1]=f);let p=X(f),m;return e[2]!==c||e[3]!==l||e[4]!==t||e[5]!==u||e[6]!==d||e[7]!==p||e[8]!==n||e[9]!==s||e[10]!==o||e[11]!==a||e[12]!==i||e[13]!==r?(m={dispatch:t,paneId:n,selectedThreadId:r,selectedProjectId:i,projects:a,projectModelSelections:o,paneModelSelections:s,chatInputDrafts:c,configUpdatedAt:l,focusChatInput:u,focusedPane:d,isStreaming:p},e[2]=c,e[3]=l,e[4]=t,e[5]=u,e[6]=d,e[7]=p,e[8]=n,e[9]=s,e[10]=o,e[11]=a,e[12]=i,e[13]=r,e[14]=m):m=e[14],m}function Ty(e){return e.focusedPane}function Ey(e){return e.focusChatInput}function Dy(e){return e.configUpdatedAt}function Oy(e){return e.chatInputDrafts}function ky(e){return e.paneModelSelections}function Ay(e){return e.projectModelSelections}function jy(e){return e.projects}function My(e){return e.selectedProjectId}function Ny(e){return e.selectedThreadId}function Py(e){let t=(0,Q.c)(30),{initialValue:n,selectedThreadId:r,paneId:i,chatInputDrafts:a,dispatch:o}=e,s;t[0]!==a||t[1]!==n||t[2]!==i||t[3]!==r?(s=()=>{if(r){let e=xy(r,i);if(a[e])return a[e]}return n??``},t[0]=a,t[1]=n,t[2]=i,t[3]=r,t[4]=s):s=t[4];let[c,l]=(0,Z.useState)(s),[u,d]=(0,Z.useState)(-1),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(0),g=(0,Z.useRef)(c),_,v;t[5]===c?(_=t[6],v=t[7]):(_=()=>{g.current=c},v=[c],t[5]=c,t[6]=_,t[7]=v),(0,Z.useEffect)(_,v);let y=(0,Z.useRef)(a),b,x;t[8]===a?(b=t[9],x=t[10]):(b=()=>{y.current=a},x=[a],t[8]=a,t[9]=b,t[10]=x),(0,Z.useEffect)(b,x);let S=(0,Z.useRef)(!0),C,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>(S.current=!0,()=>{S.current=!1}),w=[],t[11]=C,t[12]=w):(C=t[11],w=t[12]),(0,Z.useEffect)(C,w);let T=r?a[xy(r,i)]??``:``,E;t[13]!==r||t[14]!==T?(E=()=>{r&&l(T)},t[13]=r,t[14]=T,t[15]=E):E=t[15];let D;t[16]!==i||t[17]!==r||t[18]!==T?(D=[r,T,i],t[16]=i,t[17]=r,t[18]=T,t[19]=D):D=t[19],(0,Z.useEffect)(E,D);let O,k;t[20]!==o||t[21]!==i||t[22]!==r?(O=()=>{let e=r,t=e?xy(e,i):null;return()=>{t&&g.current.trim()&&y.current[t]!==g.current&&o({type:Y.SetChatInputDraft,threadId:t,draft:g.current})}},k=[r,i,o],t[20]=o,t[21]=i,t[22]=r,t[23]=O,t[24]=k):(O=t[23],k=t[24]),(0,Z.useEffect)(O,k);let A;return t[25]!==m||t[26]!==f||t[27]!==u||t[28]!==c?(A={message:c,setMessage:l,historyIndex:u,setHistoryIndex:d,draftMessage:f,setDraftMessage:p,cursorPosition:m,setCursorPosition:h,messageRef:g,chatInputDraftsRef:y,mountedRef:S},t[25]=m,t[26]=f,t[27]=u,t[28]=c,t[29]=A):A=t[29],A}function Fy({selectedProject:e,selectedProjectId:t}){let n=e?.defaultChatMode??`auto`,r=(0,Z.useRef)(rt(n)).current,[i,a]=(0,Z.useState)(r.planMode),[o,s]=(0,Z.useState)(r.ralphMode),[c,l]=(0,Z.useState)(r.orchestrateMode),[u,d]=(0,Z.useState)(r.autoMode),[f,p]=(0,Z.useState)(r.imageMode),m=(0,Z.useCallback)(function(e){let t=rt(e);a(t.planMode),p(t.imageMode),s(t.ralphMode),l(t.orchestrateMode),d(t.autoMode)},[]),h=(0,Z.useRef)(e?t:null);return(0,Z.useEffect)(()=>{!t||!e||h.current!==t&&(h.current=t,m(n))},[t,e,n,m]),{planMode:i,setPlanMode:a,ralphMode:o,setRalphMode:s,orchestrateMode:c,setOrchestrateMode:l,autoMode:u,setAutoMode:d,imageMode:f,setImageMode:p,applyChatMode:m,projectChatMode:n}}function Iy({dispatch:e,paneId:t,selectedThreadId:n,selectedProjectId:r,model:i,shouldPersist:a,shouldPinPane:o,pendingModelPersistenceRef:s}){let c=n;if(!c||((o||a)&&e({type:Y.SetProjectModel,threadId:c,model:i,...o?{paneId:t}:{}}),!a))return;let l=`${c}:${i.provider??``}:${i.id}`;s.current!==l&&(s.current=l,by.info(`Persisting model to thread`,{threadId:c,model:{id:i.id,provider:i.provider}}),Qa(c,{model:i.id,modelProvider:i.provider}).then(()=>{let e=r;e&&Fi(e,{lastSelectedModel:i.id,lastSelectedModelProvider:i.provider}).catch(e=>{by.error(`Failed to save model to project`,{err:e})}),s.current===l&&(s.current=null),by.info(`Model persisted successfully`)}).catch(e=>{s.current===l&&(s.current=null),by.error(`Failed to save model to thread`,{err:e})}))}async function Ly({model:e,effort:t,dispatch:n,paneId:r,selectedThreadId:i,paneModelSelections:a,projectModelSelections:o,setAvailableModels:s,setSelectedModel:c,setAvailableImageModels:l,setSelectedImageModel:u}){if(!e.provider)return;try{await Eo(e.provider,e.id,{reasoningEffort:t})}catch(e){by.error(`Failed to save model reasoning effort`,{err:e});return}function d(n){return n.id!==e.id||n.provider!==e.provider?n:{...n,settings:{...n.settings,reasoningEffort:t}}}s(e=>e.map(d)),c(e=>e&&d(e)),l(e=>e.map(d)),u(e=>e&&d(e));let f=i;if(f){let t=a[r],i=t??o[f];i&&i.id===e.id&&i.provider===e.provider&&n({type:Y.SetProjectModel,threadId:f,model:d(i),...t?{paneId:r}:{}})}}function Ry({allEnabledModels:e,enabledModelsFetched:t,selectedProjectId:n,projects:r,selectedThreadId:i,paneModelSelections:a,paneId:o,projectModelSelections:s,selectedModelIdRef:c,selectedModelProviderRef:l,setAvailableModels:u,setSelectedModel:d,selectModel:f}){let p=n?r.find(e=>e.projectId===n):void 0,m=p?.threads.find(e=>e.threadId===i),h=i?a[o]:void 0,g=i?s[i]:void 0;if(e.length===0){t&&(u([]),d(null));return}u(e);let _=Sy({availableModels:e,paneModel:h,storedThreadModel:g,currentThreadModelId:m?.model,currentThreadModelProvider:m?.modelProvider,projectLastSelectedModelId:p?.lastSelectedModel,projectLastSelectedModelProvider:p?.lastSelectedModelProvider}),v=_.model;if(!v)return;let y=c.current===v.id&&l.current===v.provider;if(_.pinPane||_.persistFallback){f(v,{persist:_.persistFallback,pinPane:_.pinPane});return}y||d(v)}function zy(e){let t=(0,Q.c)(47),{dispatch:n,paneId:r,selectedThreadId:i,selectedProjectId:a,projects:o,projectModelSelections:s,paneModelSelections:c,configUpdatedAt:l,imageMode:u}=e,{models:d,isFetched:f}=vy(l),{models:p,isFetched:m}=yy(l,u),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,_]=(0,Z.useState)(h),v;t[1]!==r||t[2]!==c||t[3]!==s||t[4]!==i?(v=()=>(i?c[r]??s[i]:void 0)??null,t[1]=r,t[2]=c,t[3]=s,t[4]=i,t[5]=v):v=t[5];let[y,b]=(0,Z.useState)(v),x=(0,Z.useRef)(y?.id??``),S=(0,Z.useRef)(y?.provider??``),C=(0,Z.useRef)(null),w;t[6]!==y?.id||t[7]!==y?.provider?(w=()=>{x.current=y?.id??``,S.current=y?.provider??``},t[6]=y?.id,t[7]=y?.provider,t[8]=w):w=t[8];let T=y?.id,E=y?.provider,D;t[9]!==T||t[10]!==E?(D=[T,E],t[9]=T,t[10]=E,t[11]=D):D=t[11],(0,Z.useEffect)(w,D);let O;t[12]!==n||t[13]!==r||t[14]!==a||t[15]!==i?(O=(e,t)=>{b(e),Iy({dispatch:n,paneId:r,selectedThreadId:i,selectedProjectId:a,model:e,shouldPersist:t?.persist!==!1,shouldPinPane:t?.pinPane??!0,pendingModelPersistenceRef:C})},t[12]=n,t[13]=r,t[14]=a,t[15]=i,t[16]=O):O=t[16];let k=O,A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],t[17]=A):A=t[17];let[j,M]=(0,Z.useState)(A),[N,P]=(0,Z.useState)(null),F;t[18]!==n||t[19]!==r||t[20]!==c||t[21]!==s||t[22]!==i?(F=async function(e,t){await Ly({model:e,effort:t,dispatch:n,paneId:r,selectedThreadId:i,paneModelSelections:c,projectModelSelections:s,setAvailableModels:_,setSelectedModel:b,setAvailableImageModels:M,setSelectedImageModel:P})},t[18]=n,t[19]=r,t[20]=c,t[21]=s,t[22]=i,t[23]=F):F=t[23];let I=F,L,R;t[24]!==d||t[25]!==f||t[26]!==r||t[27]!==c||t[28]!==s||t[29]!==o||t[30]!==k||t[31]!==a||t[32]!==i?(L=()=>{Ry({allEnabledModels:d,enabledModelsFetched:f,selectedProjectId:a,projects:o,selectedThreadId:i,paneModelSelections:c,paneId:r,projectModelSelections:s,selectedModelIdRef:x,selectedModelProviderRef:S,setAvailableModels:_,setSelectedModel:b,selectModel:k})},R=[i,a,o,s,r,c,d,f,k],t[24]=d,t[25]=f,t[26]=r,t[27]=c,t[28]=s,t[29]=o,t[30]=k,t[31]=a,t[32]=i,t[33]=L,t[34]=R):(L=t[33],R=t[34]),(0,Z.useEffect)(L,R);let z,B;t[35]!==p||t[36]!==m||t[37]!==u?(z=()=>{!u||!m||(M(p),P(e=>Cy(e,p)))},B=[u,m,p],t[35]=p,t[36]=m,t[37]=u,t[38]=z,t[39]=B):(z=t[38],B=t[39]),(0,Z.useEffect)(z,B);let V;return t[40]!==j||t[41]!==g||t[42]!==k||t[43]!==N||t[44]!==y||t[45]!==I?(V={availableModels:g,setAvailableModels:_,selectedModel:y,setSelectedModel:k,updateModelReasoningEffort:I,selectedModelIdRef:x,availableImageModels:j,setAvailableImageModels:M,selectedImageModel:N,setSelectedImageModel:P},t[40]=j,t[41]=g,t[42]=k,t[43]=N,t[44]=y,t[45]=I,t[46]=V):V=t[46],V}function By(){let e=(0,Q.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),i;return e[1]===n?i=e[2]:(i={attachments:n,setAttachments:r},e[1]=n,e[2]=i),i}function Vy(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(0),f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],t[1]=f):f=t[1];let[p,m]=(0,Z.useState)(f),h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[2]=h):h=t[2];let[g,_]=(0,Z.useState)(h),v;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(v=[],t[3]=v):v=t[3];let[y,b]=(0,Z.useState)(v),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(``),D,O;t[4]===n?(D=t[5],O=t[6]):(D=()=>{n&&Xo(n).then(e=>{let{commands:t,skills:n,bundledSkills:r}=e;by.debug(`Loaded slash commands and skills`,{commands:t,skills:n,bundledSkills:r}),m(t),_(n),b(r)}).catch(Uy)},O=[n],t[4]=n,t[5]=D,t[6]=O),(0,Z.useEffect)(D,O);let k=(0,Z.useRef)(!1),A,j;t[7]!==n||t[8]!==C?(A=()=>{C&&!k.current&&n&&Xo(n).then(e=>{let{commands:t,skills:n,bundledSkills:r}=e;m(t),_(n),b(r)}).catch(Hy),k.current=C},j=[C,n],t[7]=n,t[8]=C,t[9]=A,t[10]=j):(A=t[9],j=t[10]),(0,Z.useEffect)(A,j);let M;return t[11]!==i||t[12]!==x||t[13]!==y||t[14]!==T||t[15]!==u||t[16]!==C||t[17]!==o||t[18]!==g||t[19]!==p||t[20]!==c?(M={allFiles:i,setAllFiles:a,showSuggestions:o,setShowSuggestions:s,suggestionQuery:c,setSuggestionQuery:l,selectedIndex:u,setSelectedIndex:d,slashCommands:p,setSlashCommands:m,skills:g,setSkills:_,bundledSkills:y,setBundledSkills:b,bundledSkillMode:x,setBundledSkillMode:S,showCommandSuggestions:C,setShowCommandSuggestions:w,commandQuery:T,setCommandQuery:E},t[11]=i,t[12]=x,t[13]=y,t[14]=T,t[15]=u,t[16]=C,t[17]=o,t[18]=g,t[19]=p,t[20]=c,t[21]=M):M=t[21],M}function Hy(e){return by.error(`Failed to refresh slash commands and skills:`,e)}function Uy(e){return by.error(`Failed to load slash commands and skills`,{err:e})}function Wy(){let e=(0,Q.c)(1),t=(0,Z.useRef)(null),n=(0,Z.useRef)(null),r=(0,Z.useRef)(null),i=(0,Z.useRef)(null),a;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={fileInputRef:t,textareaRef:n,suggestionsRef:r,commandSuggestionsRef:i},e[0]=a):a=e[0],a}function Gy(){let e=(0,Q.c)(7),[t,n]=(0,Z.useState)(!1),[r,i]=(0,Z.useState)(!1),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s,c;e[0]!==t||e[1]!==r?(s=()=>{let e=e=>{a.current&&!a.current.contains(e.target)&&n(!1),o.current&&!o.current.contains(e.target)&&i(!1)};if(t||r)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},c=[t,r],e[0]=t,e[1]=r,e[2]=s,e[3]=c):(s=e[2],c=e[3]),(0,Z.useEffect)(s,c);let l;return e[4]!==t||e[5]!==r?(l={showModelMenu:t,setShowModelMenu:n,showPlusMenu:r,setShowPlusMenu:i,modelMenuRef:a,plusMenuRef:o},e[4]=t,e[5]=r,e[6]=l):l=e[6],l}function Ky(e){let t=(0,Q.c)(25),{selectedThreadId:n,paneId:r,dispatch:i,projectChatMode:a,applyChatMode:o,messageRef:s,chatInputDraftsRef:c,mountedRef:l,setMessage:u,setAllFiles:d,setShowSuggestions:f,setSlashCommands:p,setSkills:m,setBundledSkills:h,setBundledSkillMode:g,setShowCommandSuggestions:_}=e,[v,y]=(0,Z.useState)(n),b;t[0]!==o||t[1]!==c||t[2]!==i||t[3]!==s||t[4]!==l||t[5]!==r||t[6]!==v||t[7]!==a||t[8]!==n||t[9]!==d||t[10]!==g||t[11]!==h||t[12]!==u||t[13]!==_||t[14]!==f||t[15]!==m||t[16]!==p?(b=()=>{if(n!==v){v&&s.current.trim()&&c.current[xy(v,r)]!==s.current&&i({type:Y.SetChatInputDraft,threadId:xy(v,r),draft:s.current});let e=!1;return queueMicrotask(()=>{e||!l.current||(y(n),u(n?c.current[xy(n,r)]??``:``),d([]),f(!1),p([]),m([]),h([]),g(!1),_(!1),o(a))}),()=>{e=!0}}},t[0]=o,t[1]=c,t[2]=i,t[3]=s,t[4]=l,t[5]=r,t[6]=v,t[7]=a,t[8]=n,t[9]=d,t[10]=g,t[11]=h,t[12]=u,t[13]=_,t[14]=f,t[15]=m,t[16]=p,t[17]=b):b=t[17];let x;t[18]!==o||t[19]!==i||t[20]!==r||t[21]!==v||t[22]!==a||t[23]!==n?(x=[n,v,r,i,o,a],t[18]=o,t[19]=i,t[20]=r,t[21]=v,t[22]=a,t[23]=n,t[24]=x):x=t[24],(0,Z.useEffect)(b,x)}function qy(e){let t=(0,Q.c)(19),{textareaRef:n,message:r,focusChatInput:i,selectedThreadId:a,isStreaming:o,paneId:s,focusedPane:c,dispatch:l}=e,u;t[0]===n?u=t[1]:(u=()=>{let e=n.current;e&&dy(e)},t[0]=n,t[1]=u);let d;t[2]===r?d=t[3]:(d=[r],t[2]=r,t[3]=d),(0,Z.useLayoutEffect)(u,d);let f;t[4]!==l||t[5]!==i||t[6]!==c||t[7]!==o||t[8]!==s||t[9]!==a||t[10]!==n?(f=()=>{if(!i||!a||o||s!==c)return;let e=n.current;e&&(e.focus(),l({type:Y.ClearFocusChatInput}))},t[4]=l,t[5]=i,t[6]=c,t[7]=o,t[8]=s,t[9]=a,t[10]=n,t[11]=f):f=t[11];let p;t[12]!==l||t[13]!==i||t[14]!==c||t[15]!==o||t[16]!==s||t[17]!==a?(p=[i,a,o,s,c,l],t[12]=l,t[13]=i,t[14]=c,t[15]=o,t[16]=s,t[17]=a,t[18]=p):p=t[18],(0,Z.useEffect)(f,p)}function Jy(e){let t=(0,Q.c)(118),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{initialValue:r}=n,{dispatch:i,paneId:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectModelSelections:l,paneModelSelections:u,chatInputDrafts:d,configUpdatedAt:f,focusChatInput:p,focusedPane:m,isStreaming:h}=wy(),g;if(t[2]!==c||t[3]!==s){let e;t[5]===s?e=t[6]:(e=e=>e.projectId===s,t[5]=s,t[6]=e),g=c.find(e),t[2]=c,t[3]=s,t[4]=g}else g=t[4];let _=g,v;t[7]!==d||t[8]!==i||t[9]!==r||t[10]!==a||t[11]!==o?(v={initialValue:r,selectedThreadId:o,paneId:a,chatInputDrafts:d,dispatch:i},t[7]=d,t[8]=i,t[9]=r,t[10]=a,t[11]=o,t[12]=v):v=t[12];let y=Py(v),b;t[13]!==_||t[14]!==s?(b={selectedProject:_,selectedProjectId:s},t[13]=_,t[14]=s,t[15]=b):b=t[15];let x=Fy(b),S;t[16]!==f||t[17]!==i||t[18]!==x.imageMode||t[19]!==a||t[20]!==u||t[21]!==l||t[22]!==c||t[23]!==s||t[24]!==o?(S={dispatch:i,paneId:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectModelSelections:l,paneModelSelections:u,configUpdatedAt:f,imageMode:x.imageMode},t[16]=f,t[17]=i,t[18]=x.imageMode,t[19]=a,t[20]=u,t[21]=l,t[22]=c,t[23]=s,t[24]=o,t[25]=S):S=t[25];let C=zy(S),{attachments:w,setAttachments:T}=By(),E;t[26]===o?E=t[27]:(E={selectedThreadId:o},t[26]=o,t[27]=E);let D=Vy(E),O=Wy(),k=Gy(),A;t[28]!==D.setAllFiles||t[29]!==D.setBundledSkillMode||t[30]!==D.setBundledSkills||t[31]!==D.setShowCommandSuggestions||t[32]!==D.setShowSuggestions||t[33]!==D.setSkills||t[34]!==D.setSlashCommands||t[35]!==i||t[36]!==x.applyChatMode||t[37]!==x.projectChatMode||t[38]!==a||t[39]!==o||t[40]!==y.chatInputDraftsRef||t[41]!==y.messageRef||t[42]!==y.mountedRef||t[43]!==y.setMessage?(A={selectedThreadId:o,paneId:a,dispatch:i,projectChatMode:x.projectChatMode,applyChatMode:x.applyChatMode,messageRef:y.messageRef,chatInputDraftsRef:y.chatInputDraftsRef,mountedRef:y.mountedRef,setMessage:y.setMessage,setAllFiles:D.setAllFiles,setShowSuggestions:D.setShowSuggestions,setSlashCommands:D.setSlashCommands,setSkills:D.setSkills,setBundledSkills:D.setBundledSkills,setBundledSkillMode:D.setBundledSkillMode,setShowCommandSuggestions:D.setShowCommandSuggestions},t[28]=D.setAllFiles,t[29]=D.setBundledSkillMode,t[30]=D.setBundledSkills,t[31]=D.setShowCommandSuggestions,t[32]=D.setShowSuggestions,t[33]=D.setSkills,t[34]=D.setSlashCommands,t[35]=i,t[36]=x.applyChatMode,t[37]=x.projectChatMode,t[38]=a,t[39]=o,t[40]=y.chatInputDraftsRef,t[41]=y.messageRef,t[42]=y.mountedRef,t[43]=y.setMessage,t[44]=A):A=t[44],Ky(A);let j;t[45]!==i||t[46]!==p||t[47]!==m||t[48]!==h||t[49]!==a||t[50]!==O.textareaRef||t[51]!==o||t[52]!==y.message?(j={textareaRef:O.textareaRef,message:y.message,focusChatInput:p,selectedThreadId:o,isStreaming:h,paneId:a,focusedPane:m,dispatch:i},t[45]=i,t[46]=p,t[47]=m,t[48]=h,t[49]=a,t[50]=O.textareaRef,t[51]=o,t[52]=y.message,t[53]=j):j=t[53],qy(j);let M;return t[54]!==w||t[55]!==D.allFiles||t[56]!==D.bundledSkillMode||t[57]!==D.bundledSkills||t[58]!==D.commandQuery||t[59]!==D.selectedIndex||t[60]!==D.setAllFiles||t[61]!==D.setBundledSkillMode||t[62]!==D.setBundledSkills||t[63]!==D.setCommandQuery||t[64]!==D.setSelectedIndex||t[65]!==D.setShowCommandSuggestions||t[66]!==D.setShowSuggestions||t[67]!==D.setSkills||t[68]!==D.setSlashCommands||t[69]!==D.setSuggestionQuery||t[70]!==D.showCommandSuggestions||t[71]!==D.showSuggestions||t[72]!==D.skills||t[73]!==D.slashCommands||t[74]!==D.suggestionQuery||t[75]!==i||t[76]!==k.modelMenuRef||t[77]!==k.plusMenuRef||t[78]!==k.setShowModelMenu||t[79]!==k.setShowPlusMenu||t[80]!==k.showModelMenu||t[81]!==k.showPlusMenu||t[82]!==x.autoMode||t[83]!==x.imageMode||t[84]!==x.orchestrateMode||t[85]!==x.planMode||t[86]!==x.ralphMode||t[87]!==x.setAutoMode||t[88]!==x.setImageMode||t[89]!==x.setOrchestrateMode||t[90]!==x.setPlanMode||t[91]!==x.setRalphMode||t[92]!==C.availableImageModels||t[93]!==C.availableModels||t[94]!==C.selectedImageModel||t[95]!==C.selectedModel||t[96]!==C.selectedModelIdRef||t[97]!==C.setAvailableImageModels||t[98]!==C.setAvailableModels||t[99]!==C.setSelectedImageModel||t[100]!==C.setSelectedModel||t[101]!==C.updateModelReasoningEffort||t[102]!==O.commandSuggestionsRef||t[103]!==O.fileInputRef||t[104]!==O.suggestionsRef||t[105]!==O.textareaRef||t[106]!==o||t[107]!==T||t[108]!==y.cursorPosition||t[109]!==y.draftMessage||t[110]!==y.historyIndex||t[111]!==y.message||t[112]!==y.messageRef||t[113]!==y.setCursorPosition||t[114]!==y.setDraftMessage||t[115]!==y.setHistoryIndex||t[116]!==y.setMessage?(M={message:y.message,setMessage:y.setMessage,historyIndex:y.historyIndex,setHistoryIndex:y.setHistoryIndex,draftMessage:y.draftMessage,setDraftMessage:y.setDraftMessage,cursorPosition:y.cursorPosition,setCursorPosition:y.setCursorPosition,availableModels:C.availableModels,setAvailableModels:C.setAvailableModels,selectedModel:C.selectedModel,setSelectedModel:C.setSelectedModel,updateModelReasoningEffort:C.updateModelReasoningEffort,selectedModelIdRef:C.selectedModelIdRef,showModelMenu:k.showModelMenu,setShowModelMenu:k.setShowModelMenu,showPlusMenu:k.showPlusMenu,setShowPlusMenu:k.setShowPlusMenu,attachments:w,setAttachments:T,planMode:x.planMode,setPlanMode:x.setPlanMode,ralphMode:x.ralphMode,setRalphMode:x.setRalphMode,orchestrateMode:x.orchestrateMode,setOrchestrateMode:x.setOrchestrateMode,autoMode:x.autoMode,setAutoMode:x.setAutoMode,imageMode:x.imageMode,setImageMode:x.setImageMode,availableImageModels:C.availableImageModels,setAvailableImageModels:C.setAvailableImageModels,selectedImageModel:C.selectedImageModel,setSelectedImageModel:C.setSelectedImageModel,allFiles:D.allFiles,setAllFiles:D.setAllFiles,showSuggestions:D.showSuggestions,setShowSuggestions:D.setShowSuggestions,suggestionQuery:D.suggestionQuery,setSuggestionQuery:D.setSuggestionQuery,selectedIndex:D.selectedIndex,setSelectedIndex:D.setSelectedIndex,slashCommands:D.slashCommands,setSlashCommands:D.setSlashCommands,skills:D.skills,setSkills:D.setSkills,bundledSkills:D.bundledSkills,setBundledSkills:D.setBundledSkills,bundledSkillMode:D.bundledSkillMode,setBundledSkillMode:D.setBundledSkillMode,showCommandSuggestions:D.showCommandSuggestions,setShowCommandSuggestions:D.setShowCommandSuggestions,commandQuery:D.commandQuery,setCommandQuery:D.setCommandQuery,messageRef:y.messageRef,fileInputRef:O.fileInputRef,textareaRef:O.textareaRef,modelMenuRef:k.modelMenuRef,plusMenuRef:k.plusMenuRef,suggestionsRef:O.suggestionsRef,commandSuggestionsRef:O.commandSuggestionsRef,selectedThreadId:o,dispatch:i},t[54]=w,t[55]=D.allFiles,t[56]=D.bundledSkillMode,t[57]=D.bundledSkills,t[58]=D.commandQuery,t[59]=D.selectedIndex,t[60]=D.setAllFiles,t[61]=D.setBundledSkillMode,t[62]=D.setBundledSkills,t[63]=D.setCommandQuery,t[64]=D.setSelectedIndex,t[65]=D.setShowCommandSuggestions,t[66]=D.setShowSuggestions,t[67]=D.setSkills,t[68]=D.setSlashCommands,t[69]=D.setSuggestionQuery,t[70]=D.showCommandSuggestions,t[71]=D.showSuggestions,t[72]=D.skills,t[73]=D.slashCommands,t[74]=D.suggestionQuery,t[75]=i,t[76]=k.modelMenuRef,t[77]=k.plusMenuRef,t[78]=k.setShowModelMenu,t[79]=k.setShowPlusMenu,t[80]=k.showModelMenu,t[81]=k.showPlusMenu,t[82]=x.autoMode,t[83]=x.imageMode,t[84]=x.orchestrateMode,t[85]=x.planMode,t[86]=x.ralphMode,t[87]=x.setAutoMode,t[88]=x.setImageMode,t[89]=x.setOrchestrateMode,t[90]=x.setPlanMode,t[91]=x.setRalphMode,t[92]=C.availableImageModels,t[93]=C.availableModels,t[94]=C.selectedImageModel,t[95]=C.selectedModel,t[96]=C.selectedModelIdRef,t[97]=C.setAvailableImageModels,t[98]=C.setAvailableModels,t[99]=C.setSelectedImageModel,t[100]=C.setSelectedModel,t[101]=C.updateModelReasoningEffort,t[102]=O.commandSuggestionsRef,t[103]=O.fileInputRef,t[104]=O.suggestionsRef,t[105]=O.textareaRef,t[106]=o,t[107]=T,t[108]=y.cursorPosition,t[109]=y.draftMessage,t[110]=y.historyIndex,t[111]=y.message,t[112]=y.messageRef,t[113]=y.setCursorPosition,t[114]=y.setDraftMessage,t[115]=y.setHistoryIndex,t[116]=y.setMessage,t[117]=M):M=t[117],M}var Yy=e=>{Gr(e)},Xy=`pending-auto-route`;function Zy(e){return{messageId:Xy,sender:`user`,content:e.prompt,contentType:`text`,timestamp:e.startedAt,attachments:e.attachments}}function Qy(e){return{id:e.model,provider:e.provider}}function $y(e,t,n){switch(e){case`cheap`:{let r=en(`cheap`,t);return{decision:e,model:r?Qy(r):n}}case`smart`:{let r=ue(t);return{decision:e,model:r?Qy(r):n}}default:return{decision:`default`,model:n}}}var eb=`/orchestrate`,tb=/^\s*\/orchestrate(?:\s|$)/i;function nb(e){return tb.test(e)}function rb(e){if(nb(e))return e;let t=e.trimStart();return t?`${eb} ${t}`:`${eb} `}var ib=Ut(`app.use-chat-input-handlers.hook`);function ab(e,t){return t===`primary`?e:`${e}:${t}`}function ob({message:e,setMessage:t,userTasks:n,onMatchedUserTaskSend:r,attachments:i,selectedModel:a,onSend:o,isStreaming:s,selectedThreadId:c,isListening:l,stopListening:u,resetTranscript:d,dispatch:f,historyIndex:p,setHistoryIndex:m,draftMessage:h,setDraftMessage:g,cursorPosition:_,setCursorPosition:v,showSuggestions:y,setShowSuggestions:b,suggestionQuery:x,setSuggestionQuery:S,allFiles:C,setAllFiles:w,selectedIndex:T,setSelectedIndex:E,showCommandSuggestions:D,setShowCommandSuggestions:O,commandQuery:k,setCommandQuery:A,slashCommands:j,skills:M,bundledSkills:N,bundledSkillMode:P,setBundledSkillMode:F,messageRef:I,textareaRef:L,setAttachments:R,planMode:z,setPlanMode:B,ralphMode:V,setRalphMode:H,orchestrateMode:ee,setOrchestrateMode:te,autoMode:ne,setAutoMode:re,modelAliases:ie,onAutoRouteResolved:ae,ensureCanOrchestrate:oe,requestOrchestrateMode:se,imageMode:U,setImageMode:ce,selectedImageModel:le,hasConversationMessages:ue,isFirstUserPrompt:W}){let{paneId:de}=wv(),{toast:fe}=ic(),[pe,me]=(0,Z.useState)(!1),he=(0,Z.useCallback)(()=>{t(``),I.current=``,R([]),m(-1),g(``),c&&f({type:Y.ClearChatInputDraft,threadId:ab(c,de)}),L.current&&(L.current.style.height=`auto`)},[f,I,de,c,R,g,m,t,L]),ge=(0,Z.useCallback)((e,n)=>{I.current.trim()||(t(e),I.current=e,R(n),L.current?.focus())},[I,R,t,L]),_e=(0,Z.useCallback)(async()=>{if(pe||!e.trim()&&i.length===0||!c)return;let t=U?le:a;if(!t)return;let p=e,m=i,h=ne&&!U&&W,g=h&&!s;function _(){!g||!c||f({type:Y.EndAutoRoute,threadId:c,paneId:de})}function v(){_(),g&&ge(p,m)}let y=null;if(h){me(!0),g&&(he(),f({type:Y.StartAutoRoute,route:{threadId:c,paneId:de,prompt:p,attachments:m,startedAt:new Date().toISOString()}}));try{y=$y(await Ei(c,p),ie,t),ae?.(y)}catch(e){ib.warn(`Auto routing failed; returning the prompt to the composer`,{err:e}),v(),fe({title:`Couldn't pick a model`,description:`Send again, or choose a model yourself.`,variant:`destructive`});return}finally{me(!1)}}let b=y?.model??t;if(ee&&!oe()){v();return}let x=ee?rb(p):p;l&&(u(),d()),s?f({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:c,paneId:de,message:x,model:b.id,attachments:m,provider:b.provider,planMode:z,imageMode:U,ralphMode:V,orchestrateMode:ee}}):o(x,b.id,m,b.provider,z,U,V,ee),_(),Yy(p),g||he();let S=n.find(e=>e.content===x);S&&r?.(S)},[e,i,a,o,l,u,d,s,f,c,de,he,ge,fe,z,V,ee,ne,ie,ae,oe,U,le,n,r,pe,W]),ve=(0,Z.useCallback)(n=>{let r=e.substring(0,_-x.length-1);t(`${r}${n} ${e.substring(_)}`),b(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=r.length+n.length+1;L.current.setSelectionRange(e,e)}},0)},[e,_,x,t,b,L]),ye=(0,Z.useCallback)(n=>{let r=n.metadata.mode===`orchestrate`;if(r&&!se()){O(!1);return}let i=n.metadata.action===`compact`?`/compact`:n.metadata.action===`send-event`?`/send-event `:r?``:n.content,a=e.substring(0,_-k.length-1);t(`${a}${i}${e.substring(_)}`),O(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=a.length+i.length;L.current.setSelectionRange(e,e)}},0),n.metadata.mode===`plan`?(B(!0),H(!1),te(!1),ce(!1),re(!1)):n.metadata.mode===`ralph`?(H(!0),B(!1),te(!1),ce(!1),re(!1)):n.metadata.mode===`orchestrate`&&(B(!1),H(!1),ce(!1),re(!1))},[e,_,k,t,O,B,H,te,ce,re,se,L]),be=(0,Z.useCallback)(e=>e.scope===`bundled`?`//${e.name}`:e.name.includes(` `)?`/"${e.name}"`:`/${e.name}`,[]),xe=(0,Z.useCallback)(n=>{let r=P?k.length+2:k.length+1,i=e.substring(0,_-r),a=e.substring(_),o=be(n);t(`${i}${o}${a}`),O(!1),F(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+o.length;L.current.setSelectionRange(e,e)}},0)},[e,_,k,P,be,t,O,F,L]),Se=(0,Z.useCallback)(n=>{let r=`/${n.name}`,i=e.substring(0,_);t(`${i}${r}${e.substring(_)}`),O(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+r.length;L.current.setSelectionRange(e,e)}},0)},[e,_,t,O,L]),Ce=(0,Z.useCallback)(n=>{let r=be(n),i=e.substring(0,_);t(`${i}${r}${e.substring(_)}`),O(!1),F(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+r.length;L.current.setSelectionRange(e,e)}},0)},[e,_,be,t,O,F,L]),we=n=>{if(D){if(n.key===`ArrowDown`){n.preventDefault(),E((T+1)%ke.length);return}if(n.key===`ArrowUp`){n.preventDefault(),E((T-1+ke.length)%ke.length);return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault();let e=ke[T];e&&(e.type===`command`?ye(e.data):xe(e.data));return}if(n.key===`Escape`){O(!1);return}}if(y){let e=Ae.length>0;if(n.key===`ArrowDown`&&e){n.preventDefault(),E((T+1)%Ae.length);return}if(n.key===`ArrowUp`&&e){n.preventDefault(),E((T-1+Ae.length)%Ae.length);return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault(),Ae[T]&&ve(Ae[T]);return}if(n.key===`Escape`){b(!1);return}}if(n.key===`Enter`&&!n.shiftKey){n.preventDefault(),_e();return}let r=So();r.length!==0&&(n.key===`ArrowUp`?(n.preventDefault(),p===-1?(g(e),m(r.length-1),t(r[r.length-1])):p>0&&(m(p-1),t(r[p-1]))):n.key===`ArrowDown`&&(n.preventDefault(),p>0?(m(p-1),t(r[p-1])):p===0&&(m(-1),t(h))))},Te=e=>{let n=e.target.value,r=e.target.selectionStart;t(n),v(r);let i=n.substring(0,r),a=i.lastIndexOf(`//`);if(a!==-1){let t=a>0?i[a-1]:``;if(a===0||/\s/.test(t)){let t=i.substring(a+2);if(!t.includes(` `)){A(t),F(!0),O(!0),b(!1),E(0),dy(e.target);return}}}F(!1);let o=i.lastIndexOf(`/`),s=!1;if(o!==-1){let e=o>0?i[o-1]:``;if(o===0||/\s/.test(e)){let e=i.substring(o+1);e.includes(` `)?O(!1):(s=!0,A(e),O(!0),b(!1),E(0))}else O(!1)}else O(!1);if(!s){let e=i.lastIndexOf(`@`);if(e!==-1){let t=e>0?i[e-1]:``;if(e===0||/\s/.test(t)){let t=i.substring(e+1);t.includes(` `)?b(!1):(S(t),b(!0),E(0),C.length===0&&c&&$a(c).then(e=>{w(e)}).catch(e=>ib.error(`Failed to fetch files:`,e)))}else b(!1)}else b(!1)}dy(e.target)},Ee=k.toLowerCase(),De=j.filter(e=>e.metadata.action===`compact`&&!ue?!1:e.name.toLowerCase().includes(Ee)).sort((e,t)=>Number(!!t.isBuiltIn)-Number(!!e.isBuiltIn)),Oe=(P?N:M).filter(e=>e.name.toLowerCase().includes(Ee)),ke=[...P?[]:De.map(e=>({type:`command`,data:e})),...Oe.map(e=>({type:`skill`,data:e}))],Ae=y?C.filter(e=>e.toLowerCase().includes(x.toLowerCase())).slice(0,10):[];return{handleSend:_e,handleKeyDown:we,handleTextareaInput:Te,insertFileReference:ve,insertCommand:ye,insertSkill:xe,insertSkillAtCursor:Ce,insertSlashCommandAtCursor:Se,allSuggestions:ke,fileSuggestions:Ae,isRouting:pe}}var sb=1;function cb(e){let t=window.getComputedStyle(e);return(parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5)+parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}function lb(e,t){let n=e.style.width,r=e.style.height,i=e.style.minHeight;e.style.width=`${t}px`,e.style.minHeight=`0px`,e.style.height=`auto`;let a=e.scrollHeight>cb(e)+sb;return e.style.width=n,e.style.minHeight=i,e.style.height=r,a}function ub({message:e,forceMultiline:t,textareaRef:n,rowRef:r}){let[i,a]=(0,Z.useState)(!0),o=(0,Z.useRef)(!0),s=(0,Z.useRef)(t),c=(0,Z.useRef)(null);return s.current=t,(0,Z.useLayoutEffect)(function(){o.current=i},[i]),(0,Z.useLayoutEffect)(function(){let e=n.current,t=r.current;if(!e||!t)return;let i=e,l=t;function u(){let e=o.current;if(e&&(c.current=l.clientWidth-i.offsetWidth),s.current){e&&(o.current=!1,a(!1)),dy(i);return}let t=c.current;if(t===null){dy(i);return}let n=!lb(i,Math.max(0,l.clientWidth-t));n!==e&&(o.current=n,a(n)),dy(i)}u();let d=null;function f(){d===null&&(d=requestAnimationFrame(function(){d=null,u()}))}let p=new ResizeObserver(f);return p.observe(l),function(){d!==null&&cancelAnimationFrame(d),p.disconnect()}},[e,t,r,n]),i&&!t}function db(e){let t=(0,Q.c)(17),{visible:n,suggestions:r,skillReferencePrefix:i,query:a,selectedIndex:o,onSelectCommand:s,onSelectSkill:c,onMouseEnterSuggestion:l,containerRef:u}=e,d=i===void 0?`/`:i;if(!n)return null;let f=d===`//`,p,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),m=(0,$.jsx)(le,{className:`h-3 w-3`}),t[0]=p,t[1]=m):(p=t[0],m=t[1]);let h=f?`Bundled Skills`:`Skills & Commands`,g=a&&` matching "${a}"`,_;t[2]!==h||t[3]!==g?(_=(0,$.jsxs)(`div`,{className:p,children:[m,h,g]}),t[2]=h,t[3]=g,t[4]=_):_=t[4];let v;t[5]!==f||t[6]!==l||t[7]!==s||t[8]!==c||t[9]!==o||t[10]!==d||t[11]!==r?(v=r.length>0?(()=>{let e=[],t=!1,n=!1;return r.forEach((r,i)=>{let a=i===o;if(r.type===`command`&&!n&&(n=!0,e.push((0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 pt-2`),children:`Commands`},`group-commands`))),r.type===`skill`&&!t&&(t=!0,e.push((0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 pt-2`),children:`Skills`},`group-skills`))),r.type===`command`){let t=r.data;e.push((0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg px-3 py-2 text-left transition-colors`,a?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>s(t),onMouseEnter:()=>l(i),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-medium`,children:[`/`,t.name]}),t.metadata.argumentHint&&(0,$.jsx)(`span`,{className:U.compact,children:t.metadata.argumentHint})]}),t.metadata.description&&(0,$.jsx)(`span`,{className:U.compact,children:t.metadata.description})]},`cmd-${t.name}`))}else{let t=r.data;e.push((0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg px-3 py-2 text-left transition-colors`,a?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>c(t),onMouseEnter:()=>l(i),children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`span`,{className:`font-medium`,children:[d,t.name]})}),(0,$.jsx)(`span`,{className:U.compact,children:t.description})]},`skill-${t.name}`))}}),e})():(0,$.jsxs)(`div`,{className:G(U.compact,`px-3 py-4 text-center text-muted-foreground`),children:[f?`No bundled skills found.`:`No commands or skills found.`,(0,$.jsx)(`br`,{}),(0,$.jsxs)(`span`,{className:U.compact,children:[f?(0,$.jsx)($.Fragment,{children:`Use bundled skills with syntax like `}):(0,$.jsx)($.Fragment,{children:`Create commands in `}),f?(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`//skill-name`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`.agents/commands/`}),` or skills in`,` `,(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`.agents/skills/`})]})]})]}),t[5]=f,t[6]=l,t[7]=s,t[8]=c,t[9]=o,t[10]=d,t[11]=r,t[12]=v):v=t[12];let y;return t[13]!==u||t[14]!==_||t[15]!==v?(y=(0,$.jsxs)(`div`,{ref:u,className:`absolute bottom-full left-0 mb-2 w-full max-h-64 overflow-y-auto rounded-xl border border-border bg-popover p-1 shadow-lg z-50 animate-in fade-in slide-in-from-bottom-2`,children:[_,v]}),t[13]=u,t[14]=_,t[15]=v,t[16]=y):y=t[16],y}function fb(e){return e.startsWith(`image/`)}function pb(e){return e.startsWith(`video/`)}function mb(e){return e.startsWith(`audio/`)}function hb(e){let t=(0,Q.c)(7),{attachments:n,onRemove:r}=e;if(n.length===0)return null;let i;if(t[0]!==n||t[1]!==r){let e;t[3]===r?e=t[4]:(e=(e,t)=>(0,$.jsx)(`div`,{className:G(U.compact,`group relative flex items-center gap-1 rounded-md bg-muted text-muted-foreground`),children:fb(e.mimeType)?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(`img`,{src:`data:${e.mimeType};base64,${e.content}`,alt:e.fileName,className:`h-16 w-16 rounded-md object-cover`}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-foreground text-background opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,$.jsx)(nt,{className:`h-2.5 w-2.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):pb(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(k,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):mb(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(Te,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(It,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]})},t),t[3]=r,t[4]=e),i=n.map(e),t[0]=n,t[1]=r,t[2]=i}else i=t[2];let a;return t[5]===i?a=t[6]:(a=(0,$.jsx)(`div`,{className:`mb-2 flex flex-wrap gap-1.5`,children:i}),t[5]=i,t[6]=a),a}function gb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function _b(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}K`:e.toString()}var vb=[{key:`systemPrompt`,label:`System prompt`,color:`#9CA3AF`},{key:`toolDefinitions`,label:`Tool definitions`,color:`#B088F0`},{key:`rules`,label:`Rules`,color:`#88D088`},{key:`skills`,label:`Skills`,color:`#D0A000`},{key:`subagentDefinitions`,label:`Subagent definitions`,color:`#2080D0`},{key:`conversation`,label:`Conversation`,color:`#E09030`}];function yb(e){return typeof e.effectiveWindow==`number`&&e.effectiveWindow>0?e.effectiveWindow:e.contextWindow}function bb(e,t=e.actualUsage){return t?{tokens:t.tokens,contextWindow:t.contextWindow,percent:Math.round(t.percent),isActual:!0}:{tokens:e.totalTokens,contextWindow:yb(e),percent:e.percentageFull,isActual:!1}}function xb({breakdown:e,actualUsage:t=e.actualUsage,threadId:n,conversationId:r,onClose:i,onToolDefinitionsOpen:a}){let{categories:o}=e,s=bb(e,t),c=s.tokens,l=s.percent,u=s.contextWindow,d=vb.filter(e=>o[e.key]>0),f=o.toolDefinitions>0&&n&&r;function p(){f&&a?.()}return(0,$.jsxs)(`div`,{className:`w-72 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h3`,{className:U.label,children:`Context`}),i&&(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,onClick:i,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`flex items-center justify-between text-muted-foreground`),children:[(0,$.jsxs)(`span`,{children:[l,`% Full`]}),(0,$.jsxs)(`span`,{children:[s.isActual?``:`~`,gb(c),` / `,_b(u),` Tokens`]})]}),(0,$.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted/60`,children:(0,$.jsx)(`div`,{className:`flex h-full w-full`,children:d.map(e=>{let t=o[e.key],n=u>0?t/u*100:0;return(0,$.jsx)(`div`,{style:{width:`${Math.max(n,t>0?.5:0)}%`,backgroundColor:e.color}},e.key)})})}),(0,$.jsx)(`div`,{className:`space-y-1.5`,children:vb.map(e=>{let t=e.key===`toolDefinitions`&&f;return(0,$.jsxs)(`div`,{role:t?`button`:void 0,tabIndex:t?0:void 0,onClick:t?p:void 0,onKeyDown:t?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())}:void 0,className:G(U.compact,`flex items-center justify-between text-muted-foreground`,t&&`cursor-pointer rounded-sm hover:bg-muted/50 hover:text-foreground`),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-sm`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{children:e.label}),t&&(0,$.jsx)(sn,{className:`h-3.5 w-3.5 shrink-0`})]}),(0,$.jsx)(`span`,{className:`tabular-nums`,children:gb(o[e.key])})]},e.key)})})]})}var Sb=wn,Cb=Wn,wb=Kn,Tb=Ut(`app.tool-definitions-dialog.ui`);function Eb(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Db(e){let t=(0,Q.c)(23),{tool:n}=e,[r,i]=(0,Z.useState)(!1),a;t[0]===n.parameters?a=t[1]:(a=Eb(n.parameters),t[0]=n.parameters,t[1]=a);let o=a,s=o!==`{}`&&o.length>0,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=G(U.sectionTitle,`min-w-0 break-all`),t[2]=c):c=t[2];let l;t[3]===n.name?l=t[4]:(l=(0,$.jsx)(`h3`,{className:c,children:n.name}),t[3]=n.name,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.compact,`shrink-0 tabular-nums text-muted-foreground`),t[5]=u):u=t[5];let d;t[6]===n.tokens?d=t[7]:(d=gb(n.tokens),t[6]=n.tokens,t[7]=d);let f;t[8]===d?f=t[9]:(f=(0,$.jsx)(`span`,{className:u,children:d}),t[8]=d,t[9]=f);let p;t[10]!==l||t[11]!==f?(p=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,f]}),t[10]=l,t[11]=f,t[12]=p):p=t[12];let m;t[13]===n.description?m=t[14]:(m=n.description?(0,$.jsx)(`p`,{className:G(U.compact,`mt-2 whitespace-pre-wrap text-muted-foreground select-text`),children:n.description}):(0,$.jsx)(`p`,{className:G(U.compact,`mt-2 italic text-muted-foreground`),children:`No description`}),t[13]=n.description,t[14]=m);let h;t[15]!==s||t[16]!==r||t[17]!==o?(h=s&&(0,$.jsxs)(Sb,{open:r,onOpenChange:i,className:`mt-2`,children:[(0,$.jsxs)(Cb,{className:G(U.compact,`flex items-center gap-1 text-muted-foreground hover:text-foreground`),children:[(0,$.jsx)(tn,{className:G(`h-3.5 w-3.5 transition-transform`,r&&`rotate-180`)}),`Parameters`]}),(0,$.jsx)(wb,{children:(0,$.jsx)(za,{className:`mt-2 h-48 rounded bg-muted`,children:(0,$.jsx)(`pre`,{className:G(U.compact,`p-2 font-mono whitespace-pre-wrap text-foreground`),children:o})})})]}),t[15]=s,t[16]=r,t[17]=o,t[18]=h):h=t[18];let g;return t[19]!==p||t[20]!==m||t[21]!==h?(g=(0,$.jsxs)(`div`,{className:`rounded-md border border-border/60 p-3`,children:[p,m,h]}),t[19]=p,t[20]=m,t[21]=h,t[22]=g):g=t[22],g}function Ob({open:e,onOpenChange:t,threadId:n,conversationId:r,expectedTotalTokens:i}){let[a,o]=(0,Z.useState)([]),[s,c]=(0,Z.useState)(i),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!e||!n||!r)return;let t=!1;async function i(){u(!0),f(null);try{let e=await Ar(n,r);if(t)return;o(e.tools),c(e.totalTokens)}catch(e){Tb.error(`Failed to load tool definitions breakdown`,e),t||(f(`Failed to load tool definitions`),o([]))}finally{t||u(!1)}}return i(),()=>{t=!0}},[e,n,r]),(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex h-[80dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsx)(Dr,{className:`shrink-0`,children:(0,$.jsxs)(qa,{children:[`Tool definitions · `,gb(s),` tokens`]})}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[l&&(0,$.jsx)(`p`,{className:G(U.compact,`text-muted-foreground`),children:`Loading tools...`}),d&&!l&&(0,$.jsx)(`p`,{className:G(U.compact,`text-destructive`),children:d}),!l&&!d&&(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:a.length===0?(0,$.jsx)(`p`,{className:G(U.compact,`text-muted-foreground`),children:`No tools loaded for this conversation.`}):a.map(e=>(0,$.jsx)(Db,{tool:e},e.name))})})]})]})})}var kb=Ut(`app.token-usage-tooltip.ui`);function Ab({threadId:e,currentConversationId:t,initialBreakdown:n,actualUsage:r,refreshKey:i,children:a}){let[o,s]=(0,Z.useState)(n??null),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(n?t:void 0),[v,y]=(0,Z.useState)(n?i:void 0);return(0,Z.useEffect)(()=>{n&&(s(n),_(t),y(i),d(null))},[n,t]),(0,Z.useEffect)(()=>{n||(t!==g||i!==v)&&(s(null),_(void 0),y(void 0),d(null))},[n,t,g,v,i]),(0,Z.useEffect)(()=>{if(!f||!e||!t||!(g!==t||v!==i))return;let n=!1;async function r(){let r=t;if(r){l(!0),d(null);try{let t=await ii(e,r,{forceRefresh:!0});if(n)return;s(t),_(r),y(i)}catch(e){if(kb.error(`[TokenUsageTooltip] Failed to load context data:`,e),n)return;s(e=>(e||d(`Failed to load context data`),e))}finally{n||l(!1)}}}return r(),()=>{n=!0}},[f,e,t,g,v,i]),!e||e===``?(0,$.jsx)($.Fragment,{children:a}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Np,{open:f,onOpenChange:p,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Pp,{asChild:!0,children:a})}),(0,$.jsx)(Fr,{side:`top`,className:`bg-popover text-popover-foreground`,children:`Show context usage`})]}),(0,$.jsxs)(Fp,{side:`top`,align:`end`,className:`w-auto p-4`,children:[c&&(0,$.jsxs)(`div`,{className:G(U.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Zt,{className:`h-3 w-3 animate-pulse`}),(0,$.jsx)(`span`,{children:`Loading context...`})]}),u&&!c&&(0,$.jsxs)(`div`,{className:G(U.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Zt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:u})]}),!c&&!u&&o&&(0,$.jsx)(xb,{breakdown:o,actualUsage:r,threadId:e,conversationId:t,onClose:()=>p(!1),onToolDefinitionsOpen:()=>h(!0)})]})]}),t&&(0,$.jsx)(Ob,{open:m,onOpenChange:h,threadId:e,conversationId:t,expectedTotalTokens:o?.categories.toolDefinitions??0})]})}var jb=Ut(`app.token-usage-icon.ui`);function Mb(e){let t=e.filter(e=>e.sender===`agent`),n=t.length>0?t[t.length-1]:void 0,r=t.reduce((e,t)=>e+(t.metadata?.tokenCount??0),0);return[t.length,n?.messageId??``,n?.content.length??0,r].join(`:`)}function Nb(e){return e>75?`text-red-500`:e>50?`text-orange-500`:`text-muted-foreground`}function Pb(e){let t=(0,Q.c)(8),{percentage:n}=e,r=2*Math.PI*7,i=r*(1-Math.min(n,100)/100),a;t[0]===n?a=t[1]:(a=Nb(n),t[0]=n,t[1]=a);let o=`h-4 w-4 ${a}`,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`circle`,{className:`text-muted-foreground/25`,cx:`10`,cy:`10`,r:7,fill:`none`,stroke:`currentColor`,strokeWidth:`3`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,$.jsx)(`circle`,{cx:`10`,cy:`10`,r:7,fill:`none`,stroke:`currentColor`,strokeWidth:`3`,strokeLinecap:`round`,strokeDasharray:r,strokeDashoffset:i,transform:`rotate(-90 10 10)`}),t[3]=i,t[4]=c);let l;return t[5]!==o||t[6]!==c?(l=(0,$.jsxs)(`svg`,{className:o,viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[s,c]}),t[5]=o,t[6]=c,t[7]=l):l=t[7],l}var Fb=500;function Ib(e){let t=(0,Q.c)(43),{threadId:n,conversationId:r,messages:i,isStreaming:a,liveContextUsage:o}=e,s;t[0]===i?s=t[1]:(s=i===void 0?[]:i,t[0]=i,t[1]=s);let c=s,l=a===void 0?!1:a,[u,d]=(0,Z.useState)(r),[f,p]=(0,Z.useState)(),m;t[2]===c?m=t[3]:(m=Mb(c),t[2]=c,t[3]=m);let h=m,[g,_]=(0,Z.useState)(h),v=(0,Z.useRef)(null),y=(0,Z.useRef)(n),b,x;t[4]===h?(b=t[5],x=t[6]):(b=()=>(v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{_(h)},Fb),()=>{v.current&&clearTimeout(v.current)}),x=[h],t[4]=h,t[5]=b,t[6]=x),(0,Z.useEffect)(b,x);let S,C;t[7]===n?(S=t[8],C=t[9]):(S=()=>{y.current!==n&&(y.current&&(Ma.invalidate(`thread-${y.current}`),Ma.invalidatePattern(RegExp(`^context-breakdown-${y.current}-`))),y.current=n,d(void 0),p(void 0))},C=[n],t[7]=n,t[8]=S,t[9]=C),(0,Z.useEffect)(S,C);let w,T;t[10]===r?(w=t[11],T=t[12]):(T=()=>{if(r){d(r);return}},w=[r],t[10]=r,t[11]=w,t[12]=T),(0,Z.useEffect)(T,w);let E;t[13]!==r||t[14]!==n?(E=()=>{let e=!1;return(async function(){if(!n){d(void 0),p(void 0);return}if(r){d(r);return}try{let t=await Ur(n);if(e)return;d(t.currentConversationId)}catch(e){let t=e;jb.error(`Failed to fetch thread data:`,t)}})(),()=>{e=!0}},t[13]=r,t[14]=n,t[15]=E):E=t[15];let D;t[16]!==r||t[17]!==g||t[18]!==n?(D=[r,n,g],t[16]=r,t[17]=g,t[18]=n,t[19]=D):D=t[19],(0,Z.useEffect)(E,D);let O;t[20]!==l||t[21]!==c.length||t[22]!==u||t[23]!==n?(O=()=>{let e=!1;return(async function(){if(!l){if(!n||!u||c.length===0){p(void 0);return}try{let t=await ii(n,u,{forceRefresh:!0});if(e)return;p(t)}catch(e){let t=e;if(t instanceof Error&&t.message===`Conversation not found`){p(void 0);return}jb.error(`Failed to fetch context breakdown:`,t)}}})(),()=>{e=!0}},t[20]=l,t[21]=c.length,t[22]=u,t[23]=n,t[24]=O):O=t[24];let k;if(t[25]!==g||t[26]!==l||t[27]!==c.length||t[28]!==u||t[29]!==n?(k=[n,u,g,c.length,l],t[25]=g,t[26]=l,t[27]=c.length,t[28]=u,t[29]=n,t[30]=k):k=t[30],(0,Z.useEffect)(O,k),!n||n===``)return null;let A=o??f?.actualUsage,j=A?.percent??f?.percentageFull;if(!(typeof j==`number`&&j>0))return null;let M=String(g),N;t[31]===j?N=t[32]:(N=(0,$.jsx)(Pb,{percentage:j}),t[31]=j,t[32]=N);let P;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`sr-only`,children:`Show context usage`}),t[33]=P):P=t[33];let F;t[34]===N?F=t[35]:(F=(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,children:[N,P]}),t[34]=N,t[35]=F);let I;return t[36]!==A||t[37]!==f||t[38]!==u||t[39]!==M||t[40]!==F||t[41]!==n?(I=(0,$.jsx)(Ab,{threadId:n,currentConversationId:u,initialBreakdown:f,actualUsage:A,refreshKey:M,children:F}),t[36]=A,t[37]=f,t[38]=u,t[39]=M,t[40]=F,t[41]=n,t[42]=I):I=t[42],I}function Lb(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result.split(`,`)[1];t({fileName:e.name,content:n,mimeType:e.type||`application/octet-stream`})},r.onerror=()=>{n(r.error??Error(`Failed to read file`))},r.readAsDataURL(e)})}async function Rb(e){return Promise.all(e.map(Lb))}function zb(e,t){let n=e.target.files;if(!n||n.length===0)return;let r=Array.from(n);e.target.value=``,Rb(r).then(t)}function Bb(e,t){switch(e){case`archive`:return(0,$.jsx)(Ht,{className:t});case`audio`:return(0,$.jsx)(Pt,{className:t});case`code`:return(0,$.jsx)(oe,{className:t});case`config`:return(0,$.jsx)(Ne,{className:t});case`data`:return(0,$.jsx)(r,{className:t});case`document`:return(0,$.jsx)(he,{className:t});case`image`:return(0,$.jsx)(ke,{className:t});case`json`:return(0,$.jsx)(et,{className:t});case`presentation`:return(0,$.jsx)(Ee,{className:t});case`security`:return(0,$.jsx)(E,{className:t});case`spreadsheet`:return(0,$.jsx)(y,{className:t});case`text`:return(0,$.jsx)(xe,{className:t});case`video`:return(0,$.jsx)(b,{className:t});case`web`:return(0,$.jsx)(oe,{className:t});case`file`:return(0,$.jsx)(ve,{className:t})}}function Vb({filename:e,className:t}){let n=`file`,r=`text-muted-foreground`;try{if(typeof ct==`function`&&e){let t=ct(e);n=t.name,r=t.className??r}}catch{}let i=G(`h-4 w-4 flex-shrink-0`,r,t);return Bb(n,i)}function Hb(e){let t=(0,Q.c)(17),{showSuggestions:n,fileSuggestions:r,suggestionQuery:i,selectedIndex:o,onSelectFile:s,onMouseEnterSuggestion:c,containerRef:l}=e;if(!n||r.length===0)return null;let u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),d=(0,$.jsx)(a,{className:`h-3 w-3`}),t[0]=u,t[1]=d):(u=t[0],d=t[1]);let f;t[2]===i?f=t[3]:(f=(0,$.jsxs)(`div`,{className:u,children:[d,`Files matching "`,i,`"`]}),t[2]=i,t[3]=f);let p;if(t[4]!==r||t[5]!==c||t[6]!==s||t[7]!==o){let e;t[9]!==c||t[10]!==s||t[11]!==o?(e=(e,t)=>{let n=e.split(`/`).pop()??e,r=t===o;return(0,$.jsxs)(`button`,{type:`button`,className:G(U.body,`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors`,r?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>s(e),onMouseEnter:()=>c(t),children:[(0,$.jsx)(Vb,{filename:n}),(0,$.jsxs)(`div`,{className:`flex flex-col overflow-hidden`,children:[(0,$.jsx)(`span`,{className:`truncate font-medium`,children:n}),(0,$.jsx)(`span`,{className:G(U.compact,`truncate text-muted-foreground opacity-70`),children:e})]})]},e)},t[9]=c,t[10]=s,t[11]=o,t[12]=e):e=t[12],p=r.map(e),t[4]=r,t[5]=c,t[6]=s,t[7]=o,t[8]=p}else p=t[8];let m;return t[13]!==l||t[14]!==f||t[15]!==p?(m=(0,$.jsxs)(`div`,{ref:l,className:`absolute bottom-full left-0 mb-2 w-full max-h-64 overflow-y-auto rounded-xl border border-border bg-popover p-1 shadow-lg z-50 animate-in fade-in slide-in-from-bottom-2`,children:[f,p]}),t[13]=l,t[14]=f,t[15]=p,t[16]=m):m=t[16],m}function Ub(e){return[`off`,...e]}function Wb(e){let t=(0,Q.c)(38),{selectedEffort:n,supportedEfforts:r,onReasoningEffortChange:i}=e;if(r.length===0)return null;let a,o,s,c,l,u,d,f,p;if(t[0]!==i||t[1]!==n||t[2]!==r){let e=Ub(r),m=n??`off`,h;t[12]===i?h=t[13]:(h=function(e){i(e)},t[12]=i,t[13]=h);let g=h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Ai,{className:`my-1`}),t[14]=p):p=t[14],d=`px-3 py-1.5`,t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`pb-1 uppercase tracking-wide`),children:`Reasoning`}),t[15]=f):f=t[15],o=vo,c=m,l=g;let _;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=G(U.body,`h-9 w-full bg-popover text-popover-foreground`),t[16]=_):_=t[16];let v;t[17]===m?v=t[18]:(v=Xt(m),t[17]=m,t[18]=v),t[19]===v?u=t[20]:(u=(0,$.jsx)(na,{"aria-label":`Reasoning effort`,className:_,children:(0,$.jsx)(`span`,{children:v})}),t[19]=v,t[20]=u),a=io;let y;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=function(e){return(0,$.jsx)(Ba,{value:e,className:U.body,children:Xt(e)},e)},t[21]=y):y=t[21],s=e.map(y),t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11];let m;t[22]!==a||t[23]!==s?(m=(0,$.jsx)(a,{children:s}),t[22]=a,t[23]=s,t[24]=m):m=t[24];let h;t[25]!==o||t[26]!==c||t[27]!==l||t[28]!==u||t[29]!==m?(h=(0,$.jsxs)(o,{value:c,onValueChange:l,children:[u,m]}),t[25]=o,t[26]=c,t[27]=l,t[28]=u,t[29]=m,t[30]=h):h=t[30];let g;t[31]!==d||t[32]!==f||t[33]!==h?(g=(0,$.jsxs)(`div`,{className:d,children:[f,h]}),t[31]=d,t[32]=f,t[33]=h,t[34]=g):g=t[34];let _;return t[35]!==g||t[36]!==p?(_=(0,$.jsxs)($.Fragment,{children:[p,g]}),t[35]=g,t[36]=p,t[37]=_):_=t[37],_}function Gb(e){let t=(0,Q.c)(5),{providerSlug:n}=e;if(!n)return null;let r;t[0]===n?r=t[1]:(r=Ra(n),t[0]=n,t[1]=r);let i=`${n} logo`,a;return t[2]!==r||t[3]!==i?(a=(0,$.jsx)(`img`,{src:r,alt:i,className:`h-3.5 w-3.5 flex-shrink-0 dark:invert`,onError:Kb}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Kb(e){e.currentTarget.style.visibility=`hidden`}function qb(e){let t=(0,Q.c)(17),{providerSlug:n,providerData:r}=e,i=r?.name??n,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=G(U.dropdownGroupHeading,`flex items-center gap-1.5 px-3 py-1.5 uppercase tracking-wide`),t[0]=a):a=t[0];let o=`/settings/providers/${encodeURIComponent(n)}`,s;t[1]===n?s=t[2]:(s=(0,$.jsx)(Gb,{providerSlug:n}),t[1]=n,t[2]=s);let c;t[3]!==o||t[4]!==s?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Cr,{to:o,className:`flex items-center hover:opacity-70 transition-opacity`,children:s})}),t[3]=o,t[4]=s,t[5]=c):c=t[5];let l=`Configure ${i} provider`,u;t[6]===l?u=t[7]:(u=(0,$.jsx)(Fr,{side:`left`,children:(0,$.jsx)(`p`,{children:l})}),t[6]=l,t[7]=u);let d;t[8]!==c||t[9]!==u?(d=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,u]})}),t[8]=c,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==i||t[12]!==r?(f=r?.url?(0,$.jsx)(_a,{url:r.url,showIcon:!1,variant:`inline`,children:i}):i,t[11]=i,t[12]=r,t[13]=f):f=t[13];let p;return t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{className:a,children:[d,f]}),t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Jb(e){let t=e.pricing?.prompt;return t==null?null:Math.ceil(t*3)}function Yb(e){return`$${Re(e)}`}function Xb(e,t){return e.pricing?(0,$.jsxs)(`div`,{className:G(U.body,`max-w-64 whitespace-normal break-words text-left leading-relaxed`),children:[(0,$.jsx)(`div`,{children:`${Yb(e.pricing.prompt??0)} input per million tokens`}),(0,$.jsx)(`div`,{children:`${Yb(e.pricing.completion??0)} output per million tokens`}),(0,$.jsx)(`div`,{children:`Displayed value of ${t} is a relative price.`})]}):null}function Zb(e,t){return[...e].sort((e,n)=>{let r=(e.provider??`Other`).localeCompare(n.provider??`Other`);if(r!==0)return r;if(t===`relative-price`){let t=(Jb(e)??2**53-1)-(Jb(n)??2**53-1);if(t!==0)return t}return Ko(e.id).localeCompare(Ko(n.id))})}function Qb(e){if(!e)return`Select Model`;let t=`${e.provider??`unknown`}/${e.id}`;return(e.supportedReasoningEfforts?.length??0)>0?`${t} ${Xt(d(e.settings,e.supportedReasoningEfforts??[]))}`:t}function $b(e){return e instanceof Element&&!!(e.closest(`[data-radix-select-content]`)||e.closest(`[data-radix-popper-content-wrapper]`)||e.closest(`[role="listbox"]`))}function ex(e){let t=(0,Q.c)(45),{availableModels:n,selectedModel:r,onModelSelect:i,onReasoningEffortChange:a}=e,[o,s]=Z.useState(!1),[l,u]=Z.useState(`relative-price`),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=new Map,t[0]=f):f=t[0];let[p,m]=Z.useState(f),h=Z.useRef(null),g,_;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{sa().then(function(e){m(new Map(e.map(rx)))})},_=[],t[1]=g,t[2]=_):(g=t[1],_=t[2]),Z.useEffect(g,_);let v,y;t[3]===o?(v=t[4],y=t[5]):(v=()=>{let e=function(e){$b(e.target)||h.current&&!h.current.contains(e.target)&&s(!1)};if(o)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},y=[o],t[3]=o,t[4]=v,t[5]=y),Z.useEffect(v,y);let b;t[6]===i?b=t[7]:(b=function(e){i(e),s(!1)},t[6]=i,t[7]=b);let x=b,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){u(function(e){return e===`relative-price`?`alphabetical`:`relative-price`})},t[8]=S):S=t[8];let C=S,w;t[9]!==n||t[10]!==l?(w=Zb(n,l),t[9]=n,t[10]=l,t[11]=w):w=t[11];let T=w,E=l===`relative-price`?c:P,D=l===`relative-price`?`Sort by relative price`:`Sort alphabetically`,O,k;t[12]===n.length?(O=t[13],k=t[14]):(k=()=>{let e=function(e){let t=e.key.toLowerCase();!((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey)||t!==`m`||n.length===0||(e.preventDefault(),s(nx))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},O=[n.length],t[12]=n.length,t[13]=O,t[14]=k),Z.useEffect(k,O);let A;t[15]===o?A=t[16]:(A=()=>s(!o),t[15]=o,t[16]=A);let j;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(j=G(U.body,`font-normal`),t[17]=j):j=t[17];let M;t[18]===r?M=t[19]:(M=r?Ko(r.id):`No model`,t[18]=r,t[19]=M);let N;t[20]===M?N=t[21]:(N=(0,$.jsx)(`span`,{className:j,children:M}),t[20]=M,t[21]=N);let F;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(Yt,{className:`h-3 w-3`}),t[22]=F):F=t[22];let I;t[23]!==A||t[24]!==N?(I=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-sm`,className:`gap-1 w-auto px-2`,onClick:A,children:[N,F]})}),t[23]=A,t[24]=N,t[25]=I):I=t[25];let L;t[26]===r?L=t[27]:(L=Qb(r),t[26]=r,t[27]=L);let R;t[28]===L?R=t[29]:(R=(0,$.jsx)(Fr,{children:L}),t[28]=L,t[29]=R);let z;t[30]!==I||t[31]!==R?(z=(0,$.jsxs)(Mi,{children:[I,R]}),t[30]=I,t[31]=R,t[32]=z):z=t[32];let B;t[33]!==E||t[34]!==x||t[35]!==a||t[36]!==p||t[37]!==r||t[38]!==o||t[39]!==D||t[40]!==T?(B=o&&(0,$.jsx)(`div`,{className:`absolute bottom-full right-0 mb-1 w-80 max-h-80 overflow-y-auto rounded-lg border border-border bg-popover p-1 shadow-md z-50`,children:(0,$.jsxs)(Zo,{children:[(0,$.jsx)(`div`,{className:`-mb-3 flex justify-end px-1 pb-1`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":D,className:`rounded-md p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:C,children:(0,$.jsx)(E,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Fr,{side:`left`,align:`start`,sideOffset:8,children:D})]})}),Object.entries(T.reduce(tx,{})).map((e,t)=>{let[n,i]=e;return(0,$.jsxs)(`div`,{children:[t>0&&(0,$.jsx)(Ai,{className:`my-1`}),(0,$.jsx)(qb,{providerSlug:n,providerData:p.get(n)}),i.map(e=>{let t=Jb(e),n=t==null?null:Xb(e,t),i=e.id===r?.id&&e.provider===r?.provider,a=Ko(e.id);return(0,$.jsxs)(`button`,{type:`button`,className:G(U.body,`flex w-full items-center justify-between gap-3 whitespace-nowrap rounded-md px-3 py-1.5 pl-8 text-popover-foreground hover:bg-accent`,i&&`bg-accent font-medium`),onClick:()=>x(e),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:a}),t!=null&&n&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`span`,{className:G(U.compact,`shrink-0 text-muted-foreground`),children:t})}),(0,$.jsx)(Fr,{side:`left`,align:`end`,sideOffset:8,className:`max-w-64`,children:n})]})]},`${e.provider??``}:${e.id}`)})]},n)}),r&&a&&(r.supportedReasoningEfforts?.length??0)>0&&(0,$.jsx)(`div`,{className:`sticky bottom-0 -mx-1 -mb-1 mt-1 bg-popover px-1 pb-1`,children:(0,$.jsx)(Wb,{selectedEffort:d(r.settings,r.supportedReasoningEfforts??[]),supportedEfforts:r.supportedReasoningEfforts??[],onReasoningEffortChange:e=>a(r,e)})})]})}),t[33]=E,t[34]=x,t[35]=a,t[36]=p,t[37]=r,t[38]=o,t[39]=D,t[40]=T,t[41]=B):B=t[41];let V;return t[42]!==z||t[43]!==B?(V=(0,$.jsxs)(`div`,{className:`relative`,ref:h,children:[z,B]}),t[42]=z,t[43]=B,t[44]=V):V=t[44],V}function tx(e,t){let n=t.provider??`Other`;return e[n]||(e[n]=[]),e[n].push(t),e}function nx(e){return!e}function rx(e){return[e.slug,e]}function ix(e){let t=(0,Q.c)(16),{value:n,onChange:r,disabled:i,disableOn:a,ariaLabel:o,className:s}=e,c=i===void 0?!1:i,l=a===void 0?!1:a,u;t[0]!==r||t[1]!==n?(u=function(){r(!n)},t[0]=r,t[1]=n,t[2]=u):u=t[2];let d=u,f=c||l&&!n,p;t[3]===s?p=t[4]:(p=G(`h-7 w-7 shrink-0 rounded-full border border-border bg-muted text-muted-foreground shadow-sm hover:bg-accent hover:text-foreground aria-checked:bg-foreground aria-checked:text-background aria-checked:border-transparent`,s),t[3]=s,t[4]=p);let m=!n&&`invisible`,h;t[5]===m?h=t[6]:(h=G(m),t[5]=m,t[6]=h);let g;t[7]===h?g=t[8]:(g=(0,$.jsx)(W,{"aria-hidden":`true`,className:h}),t[7]=h,t[8]=g);let _;return t[9]!==o||t[10]!==d||t[11]!==f||t[12]!==p||t[13]!==g||t[14]!==n?(_=(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,role:`checkbox`,"aria-checked":n,"aria-label":o,disabled:f,onClick:d,className:p,children:g}),t[9]=o,t[10]=d,t[11]=f,t[12]=p,t[13]=g,t[14]=n,t[15]=_):_=t[15],_}var ax=Ut(`app.use-seatbelt-sandbox.hook`);function ox(){let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(!0),[u,d]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{let e=!1;async function n(){try{let n=await Zr();e||(t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage))}catch(e){ax.error(`Failed to load seatbelt sandbox setting:`,e)}finally{e||l(!1)}}return n(),()=>{e=!0}},[]);async function f(e){d(!0);try{let n=await Jo({seatbeltSandboxEnabled:e});t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage)}catch(e){throw ax.error(`Failed to update seatbelt sandbox setting:`,e),e}finally{d(!1)}}return{isEnabled:e,isSupported:n,isHealthy:i,statusMessage:o,isLoading:c,isSaving:u,updateIsEnabled:f}}var sx=Ut(`app.session-learnings-dialog.ui`);function cx({open:e,onOpenChange:t,threadId:n}){let[r,i]=(0,Z.useState)([]),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!e||!n)return;let t=n,r=!1;async function a(){o(!0),c(null);try{let e=await ha(t);r||i(e)}catch(e){sx.error(`Failed to load session tool learnings`,e),r||(c(`Failed to load session learnings`),i([]))}finally{r||o(!1)}}return a(),()=>{r=!0}},[e,n]),(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex max-h-[80dvh] max-w-lg flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(Dr,{className:`shrink-0`,children:[(0,$.jsx)(qa,{children:`Session learnings`}),(0,$.jsx)(_i,{children:`Short tool-behavior notes kept in memory for this thread and injected into the next prompt. Cleared when the CLI restarts.`})]}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[a&&(0,$.jsx)(`p`,{className:G(U.bodyMuted),children:`Loading learnings…`}),s&&!a&&(0,$.jsx)(`p`,{className:G(U.body,`text-destructive`),children:s}),!a&&!s&&(0,$.jsx)(za,{className:`min-h-0 max-h-[50dvh] flex-1`,children:r.length===0?(0,$.jsx)(`p`,{className:G(U.bodyMuted),children:`No session tool learnings yet. They appear when tools redirect the agent (for example Smart JS helper redirects).`}):(0,$.jsx)(`ul`,{className:`space-y-2`,children:r.map((e,t)=>(0,$.jsx)(`li`,{className:G(U.body,`rounded-md border border-border/60 px-3 py-2 whitespace-pre-wrap select-text`),children:e},`${t}-${e}`))})})]})]})})}var lx=[{value:`auto`,label:`Auto`,icon:N,description:`Picks the model for a thread's first prompt`},{value:`build`,label:`Build`,icon:_t,description:`Executes code changes and implements features`},{value:`plan`,label:`Plan`,icon:de,description:`Creates implementation plans without making changes`},{value:`image`,label:`Image`,icon:u,description:`Generates and edits images`},{value:`ralph`,label:`Ralph`,icon:_,description:`Implements todo stories one-by-one with a fresh context each iteration`},{value:`orchestrate`,label:`Orchestrate`,icon:xt,description:`Plans on a smart model and delegates implementation to a cheap model`}],ux={auto:{title:`Fast or Cheap model required`,description:`Auto needs a Fast or Cheap model alias to classify each prompt. Set one under Project Settings → Advanced → Model Aliases.`},orchestrate:{title:`Cheap model required`,description:`Orchestrate needs a Cheap model alias so implementation work can run on a lower-cost model. Set it under Project Settings → Advanced → Model Aliases.`}};function dx(e){let t=(0,Q.c)(17),{requirement:n,onOpenChange:r,onOpenSettings:i}=e,a=ux[n??`orchestrate`],o=n!==null,s;t[0]===a.title?s=t[1]:(s=(0,$.jsx)(sc,{children:a.title}),t[0]=a.title,t[1]=s);let c;t[2]===a.description?c=t[3]:(c=(0,$.jsx)(oc,{children:a.description}),t[2]=a.description,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,$.jsxs)(fc,{children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(dc,{children:`Cancel`}),t[7]=u):u=t[7];let d;t[8]===i?d=t[9]:(d=(0,$.jsxs)(uc,{children:[u,(0,$.jsx)(lc,{onClick:i,children:`Open Project Settings`})]}),t[8]=i,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(cc,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==r||t[14]!==o||t[15]!==f?(p=(0,$.jsx)(pc,{open:o,onOpenChange:r,children:f}),t[13]=r,t[14]=o,t[15]=f,t[16]=p):p=t[16],p}var fx=Ut(`app.use-mode-menu.ui`);function px(e,t,n){return t?`${e}: ${t.provider}/${t.model}`:`${e}: ${n}`}function mx({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i,setPlanMode:a,setImageMode:o,setRalphMode:s,setOrchestrateMode:c,setAutoMode:l,lastAutoRouteDecision:u=null,projectId:d,onOpenProjectSettings:f}){let p=Ks(),m=X(function(e){if(d)return e.projects.find(e=>e.projectId===d)}),[h,g]=Z.useState(!0),[_,v]=Z.useState(!1),[y,b]=Z.useState(null),x=Xe({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i}),S=lx.find(e=>e.value===x),C=Jt(m?.modelAliases),w=C||i?lx:lx.filter(e=>e.value!==`auto`),T=x===`auto`&&u?`last picked ${q[u]}`:S.description,E=Ue(m?.modelAliases),D=x===`auto`?[E?`Decides with: ${E.provider}/${E.model}`:`Decides with: Fast or Cheap, neither is set`,px(St.cheap,en(`cheap`,m?.modelAliases),`not set`),px(St.smart,ue(m?.modelAliases),`not set, uses your selected model`)]:[],O=(0,$.jsxs)(`div`,{className:G(U.body,`max-w-64 whitespace-normal text-left leading-relaxed`),children:[(0,$.jsx)(`p`,{children:`${S.label} - ${T}`}),D.map(e=>(0,$.jsx)(`p`,{children:e},e))]});Z.useEffect(()=>{m&&g(m.allowAllCommands===!1)},[m]),Z.useEffect(()=>{m&&i&&!C&&l(!1)},[i,C,m,l]);async function k(){if(!d||_)return;let e=!h;g(e),v(!0);try{await Fi(d,{allowAllCommands:!e}),Si(d);let t=await lo();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(t){g(!e),fx.error(`Failed to update command confirmation setting:`,t)}finally{v(!1)}}function A(e){let t=rt(e);a(t.planMode),o(t.imageMode),s(t.ralphMode),c(t.orchestrateMode),l(t.autoMode)}async function j(e){if(d)try{await Fi(d,{defaultChatMode:e}),Si(d);let t=await lo();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){fx.error(`Failed to save the project's default mode:`,e)}}function M(){A(`orchestrate`)}function N(){return on(m?.modelAliases)?!0:(b(`orchestrate`),!1)}function P(){return N()?(M(),!0):!1}function F(){return N()?(M(),!0):!1}function I(e){if(e===`orchestrate`){P()&&j(e);return}if(e===`auto`&&!C){b(`auto`);return}A(e),j(e)}function L(){b(null),d&&f&&f(d)}return{chatModes:w,confirmCommands:h,currentConfig:S,currentMode:x,modeTooltipContent:O,isUpdatingConfirmCommands:_,selectMode:I,trySelectOrchestrate:P,ensureCanOrchestrate:N,requestOrchestrateMode:F,toggleConfirmCommands:k,cheapAliasDialog:(0,$.jsx)(dx,{requirement:y,onOpenChange:e=>{e||b(null)},onOpenSettings:L})}}function hx(e){return e.replace(/[-_]+/g,` `).trim().split(/\s+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function gx(e,t){return t&&e.skillPath.startsWith(`${t}/`)?`${e.skillPath.slice(t.length+1)}/SKILL.md`:`.agents/skills/${e.name}/SKILL.md`}function _x(e){let t=(0,Q.c)(11),{skill:n,onOpen:r}=e,i;t[0]===n.name?i=t[1]:(i=hx(n.name),t[0]=n.name,t[1]=i);let a=`Open ${i} in Files`,o;t[2]===r?o=t[3]:(o=e=>{e.stopPropagation(),r()},t[2]=r,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(pt,{}),t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==o?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`action`,size:`icon-xs`,className:`ml-auto shrink-0`,"aria-label":a,onClick:o,onPointerDown:vx,children:s})}),t[5]=a,t[6]=o,t[7]=c):c=t[7];let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Open in Files`}),t[8]=l):l=t[8];let u;return t[9]===c?u=t[10]:(u=(0,$.jsxs)(Mi,{children:[c,l]}),t[9]=c,t[10]=u),u}function vx(e){e.stopPropagation()}function yx(e){let t=(0,Q.c)(29),{icon:n,iconClassName:r,label:i,value:a,onChange:o,disabled:s,disableOn:c,ariaLabel:l}=e,u=s===void 0?!1:s,d=c===void 0?!1:c,f;t[0]!==d||t[1]!==u||t[2]!==o||t[3]!==a?(f=function(){u||d&&!a||o(!a)},t[0]=d,t[1]=u,t[2]=o,t[3]=a,t[4]=f):f=t[4];let p=f,m;t[5]===p?m=t[6]:(m=e=>{e.preventDefault(),p()},t[5]=p,t[6]=m);let h;t[7]!==n||t[8]!==r?(h=(0,$.jsx)(n,{className:r}),t[7]=n,t[8]=r,t[9]=h):h=t[9];let g;t[10]!==i||t[11]!==h?(g=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[h,i]}),t[10]=i,t[11]=h,t[12]=g):g=t[12];let _;t[13]===p?_=t[14]:(_=e=>{e.stopPropagation(),p()},t[13]=p,t[14]=_);let v;t[15]!==l||t[16]!==d||t[17]!==u||t[18]!==o||t[19]!==a?(v=(0,$.jsx)(ix,{value:a,onChange:o,disabled:u,disableOn:d,ariaLabel:l}),t[15]=l,t[16]=d,t[17]=u,t[18]=o,t[19]=a,t[20]=v):v=t[20];let y;t[21]!==_||t[22]!==v?(y=(0,$.jsx)(`span`,{onPointerDown:bx,onClick:_,children:v}),t[21]=_,t[22]=v,t[23]=y):y=t[23];let b;return t[24]!==u||t[25]!==m||t[26]!==g||t[27]!==y?(b=(0,$.jsxs)(xl,{className:`flex items-center justify-between gap-2 [&_svg]:size-3.5`,onSelect:m,disabled:u,children:[g,y]}),t[24]=u,t[25]=m,t[26]=g,t[27]=y,t[28]=b):b=t[28],b}function bx(e){e.stopPropagation()}function xx(e){let t=(0,Q.c)(20),{disabled:n,currentConfig:r,sandboxSupported:i,isSandboxLoading:a,sandboxEnabled:o,modeTooltipContent:s}=e,c;t[0]===r.icon?c=t[1]:(c=(0,$.jsx)(r.icon,{className:`h-4 w-4`}),t[0]=r.icon,t[1]=c);let l;t[2]===r.label?l=t[3]:(l=(0,$.jsxs)(`span`,{className:`sr-only`,children:[r.label,` mode`]}),t[2]=r.label,t[3]=l);let u;t[4]!==n||t[5]!==c||t[6]!==l?(u=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-sm`,disabled:n,children:[c,l]})}),t[4]=n,t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;t[8]!==a||t[9]!==o||t[10]!==i?(d=i&&!a&&!o&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full bg-destructive ring-2 ring-background`}),t[8]=a,t[9]=o,t[10]=i,t[11]=d):d=t[11];let f;t[12]!==u||t[13]!==d?(f=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`div`,{className:`relative`,children:[u,d]})}),t[12]=u,t[13]=d,t[14]=f):f=t[14];let p;t[15]===s?p=t[16]:(p=(0,$.jsx)(Fr,{children:s}),t[15]=s,t[16]=p);let m;return t[17]!==f||t[18]!==p?(m=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[17]=f,t[18]=p,t[19]=m):m=t[19],m}function Sx(e){let t=(0,Q.c)(16),{projectId:n,sandboxSupported:r,isSandboxLoading:i,confirmCommands:a,toggleConfirmCommands:o,isUpdatingConfirmCommands:s,sandboxEnabled:c,sandboxHealthy:l,updateSandbox:u,isSandboxSaving:d}=e;if(!n&&!(r&&!i))return null;let f;t[0]!==a||t[1]!==s||t[2]!==n||t[3]!==o?(f=n&&(0,$.jsx)(yx,{icon:le,label:`Confirm Commands`,value:a,onChange:()=>{o()},disabled:s,ariaLabel:`Confirm Commands`}),t[0]=a,t[1]=s,t[2]=n,t[3]=o,t[4]=f):f=t[4];let p;t[5]!==i||t[6]!==d||t[7]!==c||t[8]!==l||t[9]!==r||t[10]!==u?(p=r&&!i&&(0,$.jsx)(yx,{icon:L,iconClassName:G(c&&l?`text-brand`:`text-destructive`),label:`Sandbox`,value:c&&l,onChange:e=>{e&&!l||u(e).catch(Cx)},disabled:d||!l&&!c,disableOn:!l,ariaLabel:`Sandbox`}),t[5]=i,t[6]=d,t[7]=c,t[8]=l,t[9]=r,t[10]=u,t[11]=p):p=t[11];let m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Tl,{}),t[12]=m):m=t[12];let h;return t[13]!==f||t[14]!==p?(h=(0,$.jsxs)($.Fragment,{children:[f,p,m]}),t[13]=f,t[14]=p,t[15]=h):h=t[15],h}function Cx(){}function wx(e){let t=(0,Q.c)(9),{chatModes:n,currentMode:r,selectMode:i}=e,a;if(t[0]!==n||t[1]!==r||t[2]!==i){let e;t[4]!==r||t[5]!==i?(e=e=>{let t=e.icon,n=e.value===r;return(0,$.jsxs)(xl,{onClick:()=>i(e.value),className:G(n&&`bg-accent`),children:[(0,$.jsx)(t,{className:`h-3.5 w-3.5`}),e.label,n&&(0,$.jsx)(W,{className:`ml-auto h-3.5 w-3.5`})]},e.value)},t[4]=r,t[5]=i,t[6]=e):e=t[6],a=n.map(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a}else a=t[3];let o;return t[7]===a?o=t[8]:(o=(0,$.jsx)($.Fragment,{children:a}),t[7]=a,t[8]=o),o}function Tx(e){let t=(0,Q.c)(7),{sortedSkills:n,onSelectSkill:r,onOpenSkillInExplorer:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsxs)(vl,{children:[(0,$.jsx)(vt,{className:`h-3.5 w-3.5`}),`Skills`]}),t[0]=a):a=t[0];let o;t[1]!==i||t[2]!==r||t[3]!==n?(o=n.length===0?(0,$.jsx)(xl,{disabled:!0,children:`No skills available`}):n.map(e=>(0,$.jsxs)(xl,{onClick:()=>r(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:hx(e.name)}),(0,$.jsx)(_x,{skill:e,onOpen:()=>i(e)})]},e.skillPath)),t[1]=i,t[2]=r,t[3]=n,t[4]=o):o=t[4];let s;return t[5]===o?s=t[6]:(s=(0,$.jsxs)(_l,{children:[a,(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:o})]}),t[5]=o,t[6]=s),s}function Ex(e){let t=(0,Q.c)(8),{slashCommands:n,onSelectSlashCommand:r}=e;if(n.length===0)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(vl,{children:[(0,$.jsx)(ht,{className:`h-3.5 w-3.5`}),`Slash Commands`]}),t[0]=i):i=t[0];let a;if(t[1]!==r||t[2]!==n){let e;t[4]===r?e=t[5]:(e=e=>(0,$.jsxs)(xl,{onClick:()=>r(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[`/`,e.name]}),e.metadata.description&&(0,$.jsx)(`span`,{className:G(U.compact,`text-muted-foreground truncate`),children:e.metadata.description})]},e.filePath),t[4]=r,t[5]=e),a=[...n].sort(Dx).map(e),t[1]=r,t[2]=n,t[3]=a}else a=t[3];let o;return t[6]===a?o=t[7]:(o=(0,$.jsxs)(_l,{children:[i,(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:a})]}),t[6]=a,t[7]=o),o}function Dx(e,t){return e.name.localeCompare(t.name)}function Ox(e){let t=(0,Q.c)(15),{selectedThreadId:n,onOpenLearnings:r,onFileAttach:i,canAddTask:a,onAddTask:o}=e,s=!n,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Zt,{className:`h-3.5 w-3.5`}),t[0]=c):c=t[0];let l;t[1]!==r||t[2]!==s?(l=(0,$.jsxs)(xl,{disabled:s,onClick:r,children:[c,`Learnings`]}),t[1]=r,t[2]=s,t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Tl,{}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(It,{className:`h-3.5 w-3.5`}),t[5]=d):d=t[5];let f;t[6]===i?f=t[7]:(f=(0,$.jsxs)(xl,{onClick:i,children:[d,`Attach File`]}),t[6]=i,t[7]=f);let p;t[8]!==a||t[9]!==o?(p=a&&(0,$.jsxs)(xl,{onClick:o,children:[(0,$.jsx)(rn,{className:`h-3.5 w-3.5`}),`Add Prompt`]}),t[8]=a,t[9]=o,t[10]=p):p=t[10];let m;return t[11]!==l||t[12]!==f||t[13]!==p?(m=(0,$.jsxs)($.Fragment,{children:[l,u,f,p]}),t[11]=l,t[12]=f,t[13]=p,t[14]=m):m=t[14],m}function kx(e){let t=(0,Q.c)(73),{planMode:n,imageMode:r,ralphMode:i,orchestrateMode:a,autoMode:o,setPlanMode:s,setImageMode:c,setRalphMode:l,setOrchestrateMode:u,setAutoMode:d,lastAutoRouteDecision:f,projectId:p,disabled:m,canAddTask:h,skills:g,onSelectSkill:_,slashCommands:v,onSelectSlashCommand:y,onFileAttach:b,onAddTask:x}=e,S=f===void 0?null:f,C=m===void 0?!1:m,w=Yn(),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(!1),{isEnabled:k,isSupported:A,isHealthy:j,isLoading:M,isSaving:N,updateIsEnabled:P}=ox(),{setPendingExplorerPath:F}=vc(),{openChatDockPanel:I}=Wd(),L=X(Mx),R=X(jx),z;t[0]!==o||t[1]!==r||t[2]!==S||t[3]!==w||t[4]!==a||t[5]!==n||t[6]!==p||t[7]!==i||t[8]!==d||t[9]!==c||t[10]!==u||t[11]!==s||t[12]!==l?(z={planMode:n,imageMode:r,ralphMode:i,orchestrateMode:a,autoMode:o,setPlanMode:s,setImageMode:c,setRalphMode:l,setOrchestrateMode:u,setAutoMode:d,lastAutoRouteDecision:S,projectId:p,onOpenProjectSettings(e){w(`/settings/project/${e}/model-aliases`)}},t[0]=o,t[1]=r,t[2]=S,t[3]=w,t[4]=a,t[5]=n,t[6]=p,t[7]=i,t[8]=d,t[9]=c,t[10]=u,t[11]=s,t[12]=l,t[13]=z):z=t[13];let{chatModes:B,confirmCommands:V,currentConfig:H,currentMode:ee,modeTooltipContent:te,isUpdatingConfirmCommands:ne,selectMode:re,toggleConfirmCommands:ie,cheapAliasDialog:ae}=mx(z),oe;t[14]===g?oe=t[15]:(oe=[...g].sort(Ax),t[14]=g,t[15]=oe);let se=oe,U;t[16]!==I||t[17]!==R||t[18]!==F?(U=function(e){F(gx(e,R)),I(`explorer`),E(!1)},t[16]=I,t[17]=R,t[18]=F,t[19]=U):U=t[19];let ce=U,le;t[20]!==H||t[21]!==C||t[22]!==M||t[23]!==te||t[24]!==k||t[25]!==A?(le=(0,$.jsx)(xx,{disabled:C,currentConfig:H,sandboxSupported:A,isSandboxLoading:M,sandboxEnabled:k,modeTooltipContent:te}),t[20]=H,t[21]=C,t[22]=M,t[23]=te,t[24]=k,t[25]=A,t[26]=le):le=t[26];let ue;t[27]!==V||t[28]!==M||t[29]!==N||t[30]!==ne||t[31]!==p||t[32]!==k||t[33]!==j||t[34]!==A||t[35]!==ie||t[36]!==P?(ue=(0,$.jsx)(Sx,{projectId:p,sandboxSupported:A,isSandboxLoading:M,confirmCommands:V,toggleConfirmCommands:ie,isUpdatingConfirmCommands:ne,sandboxEnabled:k,sandboxHealthy:j,updateSandbox:P,isSandboxSaving:N}),t[27]=V,t[28]=M,t[29]=N,t[30]=ne,t[31]=p,t[32]=k,t[33]=j,t[34]=A,t[35]=ie,t[36]=P,t[37]=ue):ue=t[37];let W;t[38]!==B||t[39]!==ee||t[40]!==re?(W=(0,$.jsx)(wx,{chatModes:B,currentMode:ee,selectMode:re}),t[38]=B,t[39]=ee,t[40]=re,t[41]=W):W=t[41];let de;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(Tl,{}),t[42]=de):de=t[42];let fe;t[43]!==ce||t[44]!==_||t[45]!==se?(fe=(0,$.jsx)(Tx,{sortedSkills:se,onSelectSkill:_,onOpenSkillInExplorer:ce}),t[43]=ce,t[44]=_,t[45]=se,t[46]=fe):fe=t[46];let pe;t[47]!==y||t[48]!==v?(pe=(0,$.jsx)(Ex,{slashCommands:v,onSelectSlashCommand:y}),t[47]=y,t[48]=v,t[49]=pe):pe=t[49];let me;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(me=()=>{O(!0)},t[50]=me):me=t[50];let he;t[51]!==h||t[52]!==x||t[53]!==b||t[54]!==L?(he=(0,$.jsx)(Ox,{selectedThreadId:L,onOpenLearnings:me,onFileAttach:b,canAddTask:h,onAddTask:x}),t[51]=h,t[52]=x,t[53]=b,t[54]=L,t[55]=he):he=t[55];let ge;t[56]!==fe||t[57]!==pe||t[58]!==he||t[59]!==ue||t[60]!==W?(ge=(0,$.jsxs)(bl,{align:`start`,side:`top`,className:`w-64`,children:[ue,W,de,fe,pe,he]}),t[56]=fe,t[57]=pe,t[58]=he,t[59]=ue,t[60]=W,t[61]=ge):ge=t[61];let _e;t[62]!==T||t[63]!==ge||t[64]!==le?(_e=(0,$.jsxs)(hl,{open:T,onOpenChange:E,children:[le,ge]}),t[62]=T,t[63]=ge,t[64]=le,t[65]=_e):_e=t[65];let ve;t[66]!==D||t[67]!==L?(ve=(0,$.jsx)(cx,{open:D,onOpenChange:O,threadId:L}),t[66]=D,t[67]=L,t[68]=ve):ve=t[68];let ye;return t[69]!==ae||t[70]!==_e||t[71]!==ve?(ye=(0,$.jsxs)($.Fragment,{children:[_e,ae,ve]}),t[69]=ae,t[70]=_e,t[71]=ve,t[72]=ye):ye=t[72],ye}function Ax(e,t){return hx(e.name).localeCompare(hx(t.name))}function jx(e){return e.projects.find(t=>t.projectId===e.selectedProjectId)?.threads.find(t=>t.threadId===e.selectedThreadId)?.path}function Mx(e){return e.selectedThreadId}function Nx(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function Px(){return Nx()!==null}function Fx(){let e=Nx();return e?new e:null}var Ix=!1;function Lx(){Ix||typeof globalThis.fetch!=`function`||(tt(e=>{if(e.event.startsWith(`voice.`))try{fetch(`/api/logs`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({level:[`DEBUG`,`INFO`,`WARN`,`ERROR`][e.level]??`INFO`,context:e.event,message:e.message,data:e.data})}).catch(()=>{})}catch{}}),Ix=!0)}function Rx(e){Lx();let t=Ut(e);return{debug:(e,n)=>t.debug(e,n),info:(e,n)=>t.info(e,n),warn:(e,n)=>t.warn(e,n),error:(e,n)=>t.error(e,n),separator:e=>t.info(`${`─`.repeat(20)} ${e} ${`─`.repeat(20)}`)}}var zx=Rx(`voice.stt.web`);function Bx(e){switch(e){case`not-allowed`:return`Microphone access was denied. Please allow microphone access to use voice input.`;case`service-not-allowed`:return`Speech recognition is not allowed in this environment.`;case`audio-capture`:return`No microphone was found. Please connect a microphone to use voice input.`;case`network`:return`Speech recognition requires a network connection.`;case`no-speech`:case`aborted`:return null;default:return`Speech recognition error: ${e}`}}function Vx(e){let t=``;for(let n=0;n<e.results.length;n+=1)t+=e.results[n][0]?.transcript??``;return t}function Hx(){let[e,t]=(0,Z.useState)(`idle`),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(null),c=(0,Z.useRef)(null),l=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>()=>{l.current=!1,c.current?.abort(),c.current=null},[]);let u=(0,Z.useCallback)(()=>{let e=Fx();if(!e){l.current=!1,t(`error`),r(!1),s(`Speech recognition is not supported in this environment.`);return}e.continuous=!0,e.interimResults=!0,e.lang=`en-US`,e.onresult=e=>{let t=Vx(e).trim();t&&a(t)},e.onerror=e=>{let t=Bx(e.error);zx.error(`Web Speech recognition error`,{error:e.error,message:e.message}),t&&s(t)},e.onend=()=>{if(c.current=null,!l.current){t(`ready`);return}zx.info(`Web Speech recognition ended — restarting`),u()},c.current=e;try{e.start(),t(`recording`),zx.info(`Web Speech recognition started`)}catch(e){c.current=null,l.current=!1;let n=e instanceof Error?e.message:`Unknown error`;zx.error(`Failed to start Web Speech recognition`,{error:n}),t(`ready`),s(`Failed to start speech recognition: ${n}`)}},[]),d=(0,Z.useCallback)(async()=>{if(e===`ready`||e===`error`)return e;t(`checking-support`),s(null),zx.info(`Checking Web Speech API support`,{userAgent:navigator.userAgent,platform:navigator.platform});let n=Px();return r(n),n?(zx.info(`Web Speech API available — ready`),t(`ready`),`ready`):(zx.error(`Web Speech API not available`),t(`error`),s(`Speech recognition is not supported in this environment.`),`error`)},[e]);return{state:e,isSupported:n,transcript:i,error:o,downloadProgress:0,startListening:(0,Z.useCallback)(async()=>{l.current=!0,s(null),a(``),zx.info(`Starting Web Speech recognition`),u()},[u]),stopListening:(0,Z.useCallback)(async()=>{l.current=!1,c.current?.stop(),c.current=null,t(`ready`),zx.info(`Web Speech recognition stopped`)},[]),requestModelDownload:(0,Z.useCallback)(async()=>{},[]),ensureReady:d,resetTranscript:(0,Z.useCallback)(()=>{a(``),s(null)},[])}}var Ux=class{cacheEnabled=!0;log=Ut(`voice.vosk-cache`);async getCachedModelByUrl(e){return this.cacheEnabled?this.readCachedModelByUrl(e):null}async loadModelByUrl(e,t){let n=await this.getCachedModelByUrl(e);if(n)return this.log.info(`Voice model loaded from cache`,{url:e}),t?.(100),n;this.log.info(`Downloading voice model`,{url:e});let r=await fetch(e);if(!r.ok)throw Error(`Failed to download voice model: ${r.statusText}`);let i=await this.fetchBinaryWithProgress(r,t);return this.cacheEnabled&&await this.saveModelToCacheByUrl(e,i),t?.(100),i}async fetchBinaryWithProgress(e,t){let n=e.headers.get(`content-length`),r=n?parseInt(n,10):0,i=0,a=e.body?.getReader();if(!a)throw Error(`Response body is not readable`);let o=[];try{let e=!1;for(;!e;){let n=await a.read();e=n.done,!e&&n.value&&(o.push(n.value),i+=n.value.length,t&&r>0&&t(Math.round(i/r*100)))}}finally{a.releaseLock()}let s=o.reduce((e,t)=>e+t.length,0),c=new Uint8Array(s),l=0;for(let e of o)c.set(e,l),l+=e.length;return c}async readCachedModelByUrl(e){try{let t=(await this.openIndexedDB()).transaction([`modelsByUrl`],`readonly`).objectStore(`modelsByUrl`);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>{let e=i.result;e?.data?n(e.data):n(null)},i.onerror=()=>r(i.error)})}catch(e){return this.log.error(`Error reading voice model from cache`,e),null}}async saveModelToCacheByUrl(e,t){try{let n=(await this.openIndexedDB()).transaction([`modelsByUrl`],`readwrite`).objectStore(`modelsByUrl`);await new Promise((r,i)=>{let a=n.put({url:e,data:t,timestamp:Date.now(),size:t.length});a.onsuccess=()=>r(),a.onerror=()=>i(a.error)}),this.log.info(`Voice model saved to cache`,{url:e})}catch(e){this.log.error(`Error saving voice model to cache`,e)}}async openIndexedDB(){return new Promise((e,t)=>{let n=indexedDB.open(`VoskModels`,1);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=e=>{let t=e.target.result;if(!t.objectStoreNames.contains(`modelsByUrl`)){let e=t.createObjectStore(`modelsByUrl`,{keyPath:`url`});e.createIndex(`timestamp`,`timestamp`,{unique:!1}),e.createIndex(`size`,`size`,{unique:!1})}}})}},Wx=Rx(`voice.stt.vosk`),Gx=new URL(`data:text/javascript;base64,Y2xhc3MgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7CiAgICBzdXBlcihvcHRpb25zKTsKICAgIHRoaXMucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLl9wcm9jZXNzTWVzc2FnZS5iaW5kKHRoaXMpOwogIH0KCiAgX3Byb2Nlc3NNZXNzYWdlKGV2ZW50KSB7CiAgICBpZiAoZXZlbnQuZGF0YS5hY3Rpb24gPT09ICJpbml0IikgewogICAgICB0aGlzLl9yZWNvZ25pemVySWQgPSBldmVudC5kYXRhLnJlY29nbml6ZXJJZDsKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQgPSBldmVudC5wb3J0c1swXTsKICAgIH0KICB9CgogIHByb2Nlc3MoaW5wdXRzKSB7CiAgICBjb25zdCBkYXRhID0gaW5wdXRzWzBdWzBdOwogICAgaWYgKHRoaXMuX3JlY29nbml6ZXJQb3J0ICYmIGRhdGEpIHsKICAgICAgY29uc3QgYXVkaW9BcnJheSA9IGRhdGEubWFwKCh2YWx1ZSkgPT4gdmFsdWUgKiAweDgwMDApOwoKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQucG9zdE1lc3NhZ2UoCiAgICAgICAgewogICAgICAgICAgYWN0aW9uOiAiYXVkaW9DaHVuayIsCiAgICAgICAgICBkYXRhOiBhdWRpb0FycmF5LAogICAgICAgICAgcmVjb2duaXplcklkOiB0aGlzLl9yZWNvZ25pemVySWQsCiAgICAgICAgICBzYW1wbGVSYXRlLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgdHJhbnNmZXI6IFthdWRpb0FycmF5LmJ1ZmZlcl0sCiAgICAgICAgfSwKICAgICAgKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoInJlY29nbml6ZXItcHJvY2Vzc29yIiwgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yKTsK`,``+import.meta.url);async function Kx(t){let{createModel:n}=await us(async()=>{let{createModel:t}=await import(`./vosk-speech-Fi-g2v8n.js`).then(t=>e(t.t(),1));return{createModel:t}},__vite__mapDeps([2,1]));return n(t)}var qx=class{model=null;modelBlobUrl=null;checkSupport(){return typeof WebAssembly<`u`&&typeof Worker<`u`&&typeof indexedDB<`u`}async initModel(e){Wx.info(`Initializing Vosk model`,{modelUrl:e});try{this.model=await Kx(e),Wx.info(`Vosk model ready`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Wx.error(`Failed to initialize Vosk model`,{error:t}),Error(`Failed to initialize voice model: ${t}`)}}async initModelFromBytes(e){this.revokeModelBlobUrl();let t=new Uint8Array(e),n=new Blob([t],{type:`application/gzip`});this.modelBlobUrl=URL.createObjectURL(n);try{await this.initModel(this.modelBlobUrl)}catch(e){throw this.revokeModelBlobUrl(),e}}isModelLoaded(){return this.model?.ready===!0}async startMicPipeline(e){if(!this.model?.ready)throw Error(`Voice model is not loaded.`);let t=this.model,n=t.KaldiRecognizer,r=await navigator.mediaDevices.getUserMedia({video:!1,audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),i=new AudioContext,a=new n(i.sampleRate),o=i.createMediaStreamSource(r);a.on(`partialresult`,t=>{let n=t.result.partial.trim();n&&e.onPartial(n)}),a.on(`result`,t=>{let n=t.result.text.trim();n&&e.onResult(n)});let s=await Jx(i,t,a,o);return s.audioNode.connect(i.destination),Wx.info(`Vosk mic pipeline started`,{sampleRate:i.sampleRate,processor:s.processorType}),{stop:async()=>{s.audioNode.disconnect(),o.disconnect(),s.messageChannel?.port1.close(),s.messageChannel?.port2.close(),r.getTracks().forEach(e=>e.stop()),a.retrieveFinalResult(),await i.close(),a.remove(),Wx.info(`Vosk mic pipeline stopped`)}}}terminate(){this.model?.terminate(),this.model=null,this.revokeModelBlobUrl()}revokeModelBlobUrl(){this.modelBlobUrl&&=(URL.revokeObjectURL(this.modelBlobUrl),null)}};async function Jx(e,t,n,r){return await Yx(e,t,n,r)||(Wx.warn(`AudioWorklet unavailable — falling back to ScriptProcessorNode`),Xx(e,n,r))}async function Yx(e,t,n,r){if(!e.audioWorklet)return null;try{await e.audioWorklet.addModule(Gx);let i=new MessageChannel;t.registerPort(i.port1);let a=new AudioWorkletNode(e,`recognizer-processor`,{channelCount:1,numberOfInputs:1,numberOfOutputs:1});return a.port.postMessage({action:`init`,recognizerId:n.id},[i.port2]),r.connect(a),{audioNode:a,messageChannel:i,processorType:`audioworklet`}}catch(e){return Wx.warn(`Failed to initialize AudioWorklet pipeline`,{error:e instanceof Error?e.message:String(e)}),null}}function Xx(e,t,n){let r=e.createScriptProcessor(4096,1,1);return r.onaudioprocess=e=>{try{t.acceptWaveform(e.inputBuffer)}catch(e){Wx.error(`acceptWaveform failed`,{error:e instanceof Error?e.message:String(e)})}},n.connect(r),{audioNode:r,processorType:`scriptprocessor`}}var Zx=`/api/voice-model/download`;function Qx(){return Zx}var $x=Rx(`voice.stt.vosk-hook`);function eS(e,t){let n=e.trim(),r=t.trim();return n&&r?`${n} ${r}`:n||r}function tS(){let[e,t]=(0,Z.useState)(`idle`),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(0),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(!1),h=(0,Z.useRef)(``),g=(0,Z.useRef)(``),_=(0,Z.useCallback)(e=>{m.current=e},[]);(0,Z.useEffect)(()=>()=>{f.current?.stop(),f.current=null,u.current?.terminate(),u.current=null},[]);let v=(0,Z.useCallback)(()=>{a(eS(h.current,g.current))},[]),y=(0,Z.useCallback)(async()=>{if(e===`ready`||e===`needs-model`||e===`error`)return e;if(p.current)return p.current;let n=Qx();async function i(){t(`checking-support`),_(!1),l(0),s(null),$x.separator(`VOICE SESSION START`),$x.info(`Checking Vosk support`,{userAgent:navigator.userAgent,platform:navigator.platform,url:n});try{let e=new qx;u.current=e;let i=e.checkSupport();if(r(i),!i)return $x.error(`Vosk not supported in this environment`),t(`error`),s(`Local speech recognition is not supported in this environment.`),`error`;let a=new Ux;d.current=a,$x.info(`Checking IndexedDB model cache`,{url:n});let o=await a.getCachedModelByUrl(n);return o?($x.info(`Cached model found — initializing Vosk`,{sizeBytes:o.byteLength,sizeMB:(o.byteLength/1024/1024).toFixed(2)}),_(!0),t(`initializing`),await e.initModelFromBytes(o),$x.info(`Vosk model initialized from cache — ready`),t(`ready`),`ready`):($x.info(`Model not in cache — download required`),t(`needs-model`),`needs-model`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;return $x.error(`Failed to check speech recognition support`,{error:n}),t(`error`),s(`Failed to check speech recognition support: ${n}`),`error`}}let a=i();p.current=a;try{return await a}finally{p.current=null}},[e,_]),b=(0,Z.useCallback)(async()=>{if(!u.current||!d.current)return;let e=Qx();t(`downloading-model`),l(0),s(null),$x.info(`Model download requested`,{url:e});try{let n=await d.current.loadModelByUrl(e,e=>{l(e),e%10==0&&$x.debug(`Model download progress`,{progress:e})});$x.info(`Model download complete — initializing Vosk`,{sizeBytes:n.byteLength,sizeMB:(n.byteLength/1024/1024).toFixed(2)}),t(`initializing`),await u.current.initModelFromBytes(n),$x.info(`Vosk model initialized after download — ready`),_(!0),t(`ready`)}catch(e){let n=e instanceof Error?e.message:`An unknown error occurred.`;$x.error(`Model download or initialization failed`,{error:n}),t(`needs-model`),s(n)}},[_]);return{state:e,isSupported:n,transcript:i,error:o,downloadProgress:c,startListening:(0,Z.useCallback)(async()=>{if(!(!u.current||!m.current)){if(t(`requesting-mic`),s(null),h.current=``,g.current=``,a(``),$x.separator(`RECORDING START`),!navigator.mediaDevices?.getUserMedia){$x.error(`navigator.mediaDevices.getUserMedia not available`),t(`ready`),s(`Microphone is not available in this environment.`);return}try{f.current=await u.current.startMicPipeline({onPartial:e=>{g.current=e,v()},onResult:e=>{let t=h.current.trim();h.current=t?`${t} ${e}`:e,g.current=``,v()}}),t(`recording`),$x.info(`Recording started`)}catch(e){t(`ready`),e instanceof DOMException&&e.name===`NotAllowedError`?s(`Microphone access was denied. Please allow microphone access to use voice input.`):e instanceof DOMException&&e.name===`NotFoundError`?s(`No microphone was found. Please connect a microphone to use voice input.`):s(`Microphone error: ${e instanceof Error?e.message:`Unknown error`}`)}}},[v]),stopListening:(0,Z.useCallback)(async()=>{if(!f.current){$x.info(`stopListening called but no active recording`),m.current&&t(`ready`);return}t(`transcribing`),$x.info(`Stopping recording`);try{await f.current.stop(),g.current=``,v(),t(`ready`),$x.info(`Recording stopped`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;$x.error(`Failed to stop recording`,{error:n}),t(`ready`),s(`Failed to stop recording: ${n}`)}finally{f.current=null}},[v]),requestModelDownload:b,ensureReady:y,resetTranscript:(0,Z.useCallback)(()=>{h.current=``,g.current=``,a(``),s(null)},[])}}function nS(){let e=(0,Q.c)(22),t=tS(),n=Hx();if(Pr()){let n;return e[0]!==t.downloadProgress||e[1]!==t.ensureReady||e[2]!==t.error||e[3]!==t.isSupported||e[4]!==t.requestModelDownload||e[5]!==t.resetTranscript||e[6]!==t.startListening||e[7]!==t.state||e[8]!==t.stopListening||e[9]!==t.transcript?(n={state:t.state,isSupported:t.isSupported,usesLocalModel:!0,transcript:t.transcript,error:t.error,downloadProgress:t.downloadProgress,startListening:t.startListening,stopListening:t.stopListening,requestModelDownload:t.requestModelDownload,ensureReady:t.ensureReady,resetTranscript:t.resetTranscript},e[0]=t.downloadProgress,e[1]=t.ensureReady,e[2]=t.error,e[3]=t.isSupported,e[4]=t.requestModelDownload,e[5]=t.resetTranscript,e[6]=t.startListening,e[7]=t.state,e[8]=t.stopListening,e[9]=t.transcript,e[10]=n):n=e[10],n}let r;return e[11]!==n.downloadProgress||e[12]!==n.ensureReady||e[13]!==n.error||e[14]!==n.isSupported||e[15]!==n.requestModelDownload||e[16]!==n.resetTranscript||e[17]!==n.startListening||e[18]!==n.state||e[19]!==n.stopListening||e[20]!==n.transcript?(r={state:n.state,isSupported:n.isSupported,usesLocalModel:!1,transcript:n.transcript,error:n.error,downloadProgress:n.downloadProgress,startListening:n.startListening,stopListening:n.stopListening,requestModelDownload:n.requestModelDownload,ensureReady:n.ensureReady,resetTranscript:n.resetTranscript},e[11]=n.downloadProgress,e[12]=n.ensureReady,e[13]=n.error,e[14]=n.isSupported,e[15]=n.requestModelDownload,e[16]=n.resetTranscript,e[17]=n.startListening,e[18]=n.state,e[19]=n.stopListening,e[20]=n.transcript,e[21]=r):r=e[21],r}var rS=new Map;function iS(e){let t=rS.get(e);if(t)return t;let n=Ut(e);return rS.set(e,n),n}function aS({key:e,defaultValue:t,logScope:n,settingLabel:r}){let[i,a]=(0,Z.useState)(t),[o,s]=(0,Z.useState)(!0),[c,l]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{let t=!1,i=iS(n);async function o(){try{let n=await Zr();t||a(n[e])}catch(e){i.error(`Failed to load ${r} setting:`,e)}finally{t||s(!1)}}return o(),()=>{t=!0}},[e,n,r]);async function u(t){let i=iS(n);l(!0);try{a((await Jo({[e]:t}))[e])}catch(e){throw i.error(`Failed to update ${r} setting:`,e),e}finally{l(!1)}}return{isEnabled:i,isLoading:o,isSaving:c,updateIsEnabled:u}}function oS(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`voiceAiProcessing`,defaultValue:!0,logScope:`app.use-voice-ai-processing.hook`,settingLabel:`voice AI processing`},e[0]=t):t=e[0],aS(t)}var sS=Z.forwardRef((e,t)=>{let n=(0,Q.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,value:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=G(`relative h-4 w-full overflow-hidden rounded-full bg-secondary`,r),n[4]=r,n[5]=o);let s=`translateX(-${100-(a||0)}%)`,c;n[6]===s?c=n[7]:(c=(0,$.jsx)(Sr,{className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:s}}),n[6]=s,n[7]=c);let l;return n[8]!==i||n[9]!==t||n[10]!==o||n[11]!==c?(l=(0,$.jsx)(hn,{ref:t,className:o,...i,children:c}),n[8]=i,n[9]=t,n[10]=o,n[11]=c,n[12]=l):l=n[12],l});sS.displayName=hn.displayName;function cS(e,t,n){return t?`Preparing voice input…`:n<100?`Downloading voice model… ${n}%`:e?`Finishing download…`:`Downloading voice model…`}function lS(e){let t=(0,Q.c)(24),{open:n,onOpenChange:r,onRetry:i,isDownloading:a,isInitializing:o,progress:s,error:c}=e,l=a||o,u;t[0]!==l||t[1]!==r?(u=function(e){l&&!e||r(e)},t[0]=l,t[1]=r,t[2]=u):u=t[2];let d=u,f=c?`Voice model download failed`:`Setting up voice input`,p;t[3]===f?p=t[4]:(p=(0,$.jsx)(qa,{children:f}),t[3]=f,t[4]=p);let m=c?`The English voice model could not be downloaded or prepared.`:`First-time setup downloads a ~40 MB English speech model to your device.`,h;t[5]===m?h=t[6]:(h=(0,$.jsx)(_i,{children:m}),t[5]=m,t[6]=h);let g;t[7]!==p||t[8]!==h?(g=(0,$.jsxs)(Dr,{children:[p,h]}),t[7]=p,t[8]=h,t[9]=g):g=t[9];let _;t[10]!==c||t[11]!==a||t[12]!==o||t[13]!==r||t[14]!==i||t[15]!==s?(_=c?(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(mo,{variant:`error`,className:`mb-0`,children:c}),(0,$.jsxs)(Xa,{children:[(0,$.jsx)(Hr,{variant:`outline`,onClick:()=>r(!1),children:`Cancel`}),(0,$.jsx)(Hr,{onClick:i,children:`Try again`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(mo,{variant:`info`,className:`mb-0`,children:`One-time download. After this finishes, voice input works offline and you will not need to download the model again.`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(Ka,{title:cS(a,o,s)}),(0,$.jsx)(sS,{value:o?100:s,className:`w-full`}),(0,$.jsx)(`p`,{className:G(U.bodyMuted,`text-center`),children:o?`Loading the model into memory. This usually takes a few seconds.`:s<100?`About 40 MB — kept on this device for future use.`:`Saving the model locally…`})]})]}),t[10]=c,t[11]=a,t[12]=o,t[13]=r,t[14]=i,t[15]=s,t[16]=_):_=t[16];let v;t[17]!==g||t[18]!==_?(v=(0,$.jsxs)(Ir,{children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;return t[20]!==d||t[21]!==n||t[22]!==v?(y=(0,$.jsx)(Ni,{open:n,onOpenChange:d,children:v}),t[20]=d,t[21]=n,t[22]=v,t[23]=y):y=t[23],y}function uS({onTranscript:e,onVoiceSessionStart:t,threadId:n,provider:r,model:i,children:a}){let{state:o,isSupported:s,usesLocalModel:c,transcript:l,error:u,downloadProgress:d,startListening:f,stopListening:p,requestModelDownload:m,ensureReady:h,resetTranscript:g}=nS(),{isEnabled:_}=oS(),{toast:v}=ic(),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(!1),C=(0,Z.useRef)(``),w=(0,Z.useRef)(null),T=(0,Z.useRef)(`idle`),E=o===`recording`,D=o===`transcribing`,O=E||D,k=o===`needs-model`,A=o===`downloading-model`,j=o===`initializing`,M=A||j,N=o===`checking-support`;(0,Z.useEffect)(()=>{u&&u!==w.current&&!y&&v({title:`Voice Input Error`,description:u,variant:`destructive`}),w.current=u},[u,y,v]),(0,Z.useEffect)(()=>{if(l&&l!==C.current){let t=l.substring(C.current.length);C.current=l,e(t)}},[l,e]),(0,Z.useEffect)(()=>{l||(C.current=``)},[l]),(0,Z.useEffect)(()=>{let t=T.current;if(T.current=o,(t===`recording`||t===`transcribing`)&&o===`ready`&&_&&C.current){let t=C.current;S(!0),qi(t,{threadId:n,provider:r,model:i}).then(t=>{e(t,{replace:!0})}).catch(()=>{e(t,{replace:!0})}).finally(()=>{S(!1)})}},[o,_,e,n,r,i]);function P(){b(!0),m()}let F=(0,Z.useCallback)(async()=>{if(O){p();return}if(k){P();return}if(o===`ready`){g(),t?.(),f();return}if(o===`idle`){let e=await h();e===`needs-model`?P():e===`ready`&&(g(),t?.(),f())}},[k,O,o,h,p,f,g,m,t]),I=(0,Z.useCallback)(()=>{m()},[m]);(0,Z.useEffect)(()=>{o===`ready`&&y&&b(!1)},[o,y]);let L=(0,Z.useCallback)(()=>N?`Checking voice input support...`:s===!1?`Voice input not supported in this browser`:u||(M?`Downloading speech model...`:x?`Processing transcription`:D?`Transcribing...`:E?`Stop listening`:k?`Click to download speech model`:`Start listening`),[u,x,N,M,E,D,s,k]),R=(0,Z.useCallback)(()=>M||D||x?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin`}):E?(0,$.jsxs)(`span`,{className:`recording-waveform`,"aria-hidden":!0,children:[(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`0ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`150ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`75ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`225ms`}})]}):(0,$.jsx)(at,{className:`h-3 w-3`}),[x,M,E,D]),z=L(),B=O||x?z:`Voice input`,V=a({onClick:F,disabled:N||M||D||x||s===!1,icon:R(),label:z,isRecording:E,isTranscribing:D||x,isDownloading:M,needsModel:k,isSupported:s!==!1});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`style`,{children:`
3304
+ `;function Ih(e,t){return e?.status===`running`?`skip-running`:(e?.status===`success`||e?.status===`error`)&&e.code===t?`skip-same-code`:`start`}function Lh(e,t){return e===`running`?!0:e===`success`||e===`error`?!1:t}function Rh(e,t){return`${e}\0${t}`}var zh=new Map,Bh=new Map,Vh=new Map,Hh=Ut(`browser.js-executor`),Uh=new Map,Wh=null;function Gh(){return Wh||=URL.createObjectURL(new Blob([Fh],{type:`application/javascript`})),Wh}function Kh(e,t){return zh.get(Rh(t,e))}function qh(e,t){return zh.get(Rh(t,e))?.proxiedCalls??[]}function Jh(e,t,n){let r=Rh(t,e),i=Uh.get(r);return i||(i=new Set,Uh.set(r,i)),i.add(n),()=>{i.delete(n),i.size===0&&Uh.delete(r)}}function Yh(e){let t=Uh.get(e);if(t)for(let e of t)e()}function Xh(e){let t=Vh.get(e);t&&(clearInterval(t),Vh.delete(e))}function Zh(e){if(Vh.has(e))return;let t=setInterval(()=>{let t=zh.get(e);if(!t||t.status!==`running`){Xh(e);return}let n=Date.now(),r=!1;t.proxiedCalls=t.proxiedCalls.map(function(e){if(e.status!==`running`||e.toolName!==`bash`||e.startedAt==null)return e;let t=Math.floor((n-e.startedAt)/6e4);return t>=1&&t!==e.longRunningMinutes?(r=!0,{...e,longRunningMinutes:t}):e}),r&&Yh(e)},6e4);Vh.set(e,t)}function Qh(e,t){Xh(e),Bh.delete(e),zh.set(e,t),Yh(e)}var $h=new Map;async function eg(e,t){let n=$h.get(t);if(n)return n;let r;return r=(async()=>{try{let n=await fetch(`${e}/api/browser-js/catalog?threadId=${encodeURIComponent(t)}`);if(!n.ok)return{smartJsEnabled:!1,tools:[]};let r=await n.json();return{smartJsEnabled:r.smartJsEnabled===!0,tools:Array.isArray(r.tools)?r.tools:[]}}catch(e){return Hh.warn(`Failed to load Smart JS catalog`,e),{smartJsEnabled:!1,tools:[]}}finally{$h.get(t)===r&&$h.delete(t)}})(),$h.set(t,r),r}async function tg(e,t,n,r){let i=await fetch(e+`/api/browser-js/execute-tool`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threadId:t,toolName:n,params:r})});if(!i.ok){let e=await i.text();try{let t=JSON.parse(e).error||{};e=t.details||t.message||e}catch{}let t=l(e,pe,`run_js tool error`);return{text:null,error:`Tool `+n+` failed: `+t.text,details:t.truncated?{proxyTruncated:!0,totalBytes:t.totalBytes}:void 0}}let a=await i.json(),o=a.content&&a.content[0]?a.content[0].text??null:null,s=a.details&&typeof a.details==`object`?a.details:void 0;if(o==null)return{text:null,error:null,details:s};let c=l(o,f);return c.truncated?{text:c.text,error:null,details:{...s,proxyTruncated:!0,totalBytes:c.totalBytes}}:{text:o,error:null,details:s}}function ng(e,t,n){let r=Rh(n,e),i=Ih(zh.get(r),t);if(i===`skip-running`){Qi(e,n).catch(e=>{Hh.warn(`Failed to re-acknowledge in-flight run_js`,e)});return}if(i===`skip-same-code`)return;let a=Bh.get(r);a&&(a.terminate(),Bh.delete(r)),Xh(r),zh.set(r,{status:`running`,code:t,proxiedCalls:[]}),Yh(r);let o=Fa();Qi(e,n).catch(e=>{Hh.warn(`Failed to acknowledge run_js start`,e)}),(async()=>{let i=new Worker(Gh());Bh.set(r,i);try{let a=await eg(o,n),s=async a=>{let s=a.data;if(s.type===`callTool`&&s.id&&s.toolName){let e=zh.get(r),t={id:s.id,toolName:s.toolName,params:s.params,status:`running`,startedAt:s.toolName===`bash`?Date.now():void 0};e&&(e.proxiedCalls=[...e.proxiedCalls,t],Yh(r),s.toolName===`bash`&&Zh(r));let a=await tg(o,n,s.toolName,s.params),c=zh.get(r);c&&(c.proxiedCalls=c.proxiedCalls.map(e=>e.id===s.id?{...e,status:a.error?`error`:`success`,text:a.text,error:a.error,details:a.details}:e),Yh(r)),i.postMessage({type:`callToolResult`,id:s.id,result:a});return}if(s.type===`done`&&s.toolCallId===e){i.terminate(),Qh(r,{status:`success`,code:t,result:s.result,proxiedCalls:zh.get(r)?.proxiedCalls??[]}),await ia(e,s.result,n);return}if(s.type===`error`&&s.toolCallId===e){i.terminate();let a=s.error??`Unknown worker error`;Qh(r,{status:`error`,code:t,error:a,proxiedCalls:zh.get(r)?.proxiedCalls??[]});try{await ia(e,{error:a},n)}catch(e){Hh.error(`Failed to submit browser JS error result`,e)}}};i.addEventListener(`message`,e=>{s(e)}),i.addEventListener(`error`,a=>{let o=a.message||`Web Worker failed`;Qh(r,{status:`error`,code:t,error:o,proxiedCalls:zh.get(r)?.proxiedCalls??[]}),i.terminate(),ia(e,{error:o},n).catch(e=>{Hh.error(`Failed to submit browser JS worker error`,e)})}),i.postMessage({type:`execute`,toolCallId:e,code:t,smartJsEnabled:a.smartJsEnabled,catalog:a.tools})}catch(a){i.terminate();let o=a instanceof Error?a.stack||a.message:String(a);Qh(r,{status:`error`,code:t,error:o,proxiedCalls:zh.get(r)?.proxiedCalls??[]});try{await ia(e,{error:o},n)}catch(e){Hh.error(`Failed to submit browser JS error result`,e)}}})()}var rg=`run_js`;function ig(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e,null,2)}function ag(e){if(e&&typeof e==`object`&&`command`in e){let t=e.command;if(typeof t==`string`&&t.trim()){let e=t.trim().replace(/\s+/g,` `);return e.length>72?`${e.slice(0,72)}…`:e}}return`bash command`}function og(e){return e.toolName===`bash`&&e.status===`running`&&e.longRunningMinutes!=null&&e.longRunningMinutes>=1?`${ag(e.params)} still running (${e.longRunningMinutes} min)`:e.error??(typeof e.text==`string`&&e.text.length>0?e.text.length>80?`${e.text.slice(0,80)}…`:e.text:null)}function sg(e){let t=(0,Q.c)(18),{call:n}=e,r=n.status===`running`,i=n.status===`error`,a;t[0]!==n.toolName||t[1]!==r?(a=r?ne(n.toolName):h(n.toolName),t[0]=n.toolName,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]===n?s=t[4]:(s=og(n),t[3]=n,t[4]=s);let c=s,l;t[5]!==n.toolName||t[6]!==o||t[7]!==r?(l=(0,$.jsx)(fp,{toolName:n.toolName,displayName:o,isActive:r,showProgress:!1,className:`shrink-0`}),t[5]=n.toolName,t[6]=o,t[7]=r,t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=c?(0,$.jsx)(`span`,{className:G(U.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:c}):null,t[9]=c,t[10]=u);let d;t[11]!==n.toolName||t[12]!==i?(d=i?(0,$.jsx)(nt,{"aria-label":`${n.toolName} failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null,t[11]=n.toolName,t[12]=i,t[13]=d):d=t[13];let f;return t[14]!==l||t[15]!==u||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full pl-4`,children:[l,u,d]}),t[14]=l,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function cg(e){let t=(0,Q.c)(13),{displayName:n,isActive:r,isError:i,summaryLabel:a,canOpenDetails:o,onOpenDetails:s}=e,c;t[0]!==n||t[1]!==r?(c=(0,$.jsx)(fp,{toolName:rg,displayName:n,isActive:r,showProgress:!1,className:`shrink-0`}),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l;t[3]!==o||t[4]!==s||t[5]!==a?(l=a?o?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:s,className:G(U.caption,`font-mono hover:underline truncate whitespace-nowrap min-w-0 flex-1 cursor-pointer text-left`),children:a})}),(0,$.jsx)(Fr,{children:`View code and result`})]}):(0,$.jsx)(`span`,{className:G(U.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:a}):null,t[3]=o,t[4]=s,t[5]=a,t[6]=l):l=t[6];let u;t[7]===i?u=t[8]:(u=i?(0,$.jsx)(nt,{"aria-label":`Run JS failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null,t[7]=i,t[8]=u);let d;return t[9]!==c||t[10]!==l||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full flex-wrap`,children:[c,l,u]}),t[9]=c,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function lg(e){let t=(0,Q.c)(4),{calls:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.map(ug),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`div`,{className:`flex flex-col min-w-0 w-full border-l border-border/60 ml-2`,children:r}),t[2]=r,t[3]=i),i}function ug(e){return(0,$.jsx)(sg,{call:e},e.id)}function dg(e){let t=(0,Q.c)(15),{open:n,onOpenChange:r,title:i,code:a,errorDetails:o,resultText:s}=e,c;t[0]===a?c=t[1]:(c=a?(0,$.jsx)(`pre`,{className:Qf({padding:`3`}),children:a}):null,t[0]=a,t[1]=c);let l;t[2]===o?l=t[3]:(l=o?(0,$.jsx)(`pre`,{className:Qf({padding:`3`,className:`text-destructive`}),children:o}):null,t[2]=o,t[3]=l);let u;t[4]===s?u=t[5]:(u=s==null?null:(0,$.jsx)(`pre`,{className:Qf({padding:`3`}),children:s}),t[4]=s,t[5]=u);let d;t[6]!==c||t[7]!==l||t[8]!==u?(d=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[c,l,u]}),t[6]=c,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;return t[10]!==r||t[11]!==n||t[12]!==d||t[13]!==i?(f=(0,$.jsx)($f,{open:n,onOpenChange:r,title:i,content:``,body:d}),t[10]=r,t[11]=n,t[12]=d,t[13]=i,t[14]=f):f=t[14],f}function fg({toolCallId:e,intention:t,code:n,resultContent:r,resultIsError:i,showActive:a=!1}){let o=X(e=>e.selectedThreadId),{todos:s,setTodos:c}=(0,Z.useContext)(Vm),l=(0,Z.useRef)(new Set),u=(0,Z.useRef)(s);u.current=s;let d=r!==void 0,f=o?Kh(e,o):void 0,[p,m]=(0,Z.useState)(()=>f?.status?f.status:d?i?`error`:`success`:a?`running`:`success`),[g,_]=(0,Z.useState)(()=>f?.status===`success`?ig(f.result):d&&!i&&r||null),[v,y]=(0,Z.useState)(()=>f?.error?f.error:d&&i?r||`Run JS failed`:null),[b,x]=(0,Z.useState)(()=>o?qh(e,o):[]),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{l.current=new Set},[e,o]),(0,Z.useEffect)(()=>{if(o)return Jh(e,o,()=>{let t=Kh(e,o);t&&(m(t.status),x(t.proxiedCalls),t.status===`success`?_(ig(t.result)):t.status===`error`&&y(t.error??null))})},[e,o]),(0,Z.useEffect)(()=>{let e=u.current,t=!1;for(let n of b){if(n.toolName!==`todo`||n.status!==`success`||l.current.has(n.id))continue;let r=Wm(e,n);l.current.add(n.id),r&&(e=r,t=!0)}t&&c(e,Date.now())},[b,c]),(0,Z.useEffect)(()=>{!o||!a||ng(e,n,o)},[e,n,o,a]);let w=o?Kh(e,o)?.status:void 0,T=Lh(w,a);return{resultText:g,errorDetails:v,proxiedCalls:b,dialogOpen:S,setDialogOpen:C,isActive:T,isError:(w??p)===`error`,displayName:T?ne(rg):h(rg),summaryLabel:t.trim()||(T?null:`View output`),canOpenDetails:!T&&!!(n||g||v)}}function pg(e){let t=(0,Q.c)(24),{intention:n,code:r}=e,{resultText:i,errorDetails:a,proxiedCalls:o,dialogOpen:s,setDialogOpen:c,isActive:l,isError:u,displayName:d,summaryLabel:f,canOpenDetails:p}=fg(e),m;t[0]===c?m=t[1]:(m=()=>c(!0),t[0]=c,t[1]=m);let h;t[2]!==p||t[3]!==d||t[4]!==l||t[5]!==u||t[6]!==f||t[7]!==m?(h=(0,$.jsx)(cg,{displayName:d,isActive:l,isError:u,summaryLabel:f,canOpenDetails:p,onOpenDetails:m}),t[2]=p,t[3]=d,t[4]=l,t[5]=u,t[6]=f,t[7]=m,t[8]=h):h=t[8];let g;t[9]===o?g=t[10]:(g=(0,$.jsx)(lg,{calls:o}),t[9]=o,t[10]=g);let _;t[11]!==p||t[12]!==r||t[13]!==s||t[14]!==d||t[15]!==a||t[16]!==n||t[17]!==i||t[18]!==c?(_=p?(0,$.jsx)(dg,{open:s,onOpenChange:c,title:n.trim()||d,code:r,errorDetails:a,resultText:i}):null,t[11]=p,t[12]=r,t[13]=s,t[14]=d,t[15]=a,t[16]=n,t[17]=i,t[18]=c,t[19]=_):_=t[19];let v;return t[20]!==h||t[21]!==g||t[22]!==_?(v=(0,$.jsxs)($.Fragment,{children:[h,g,_]}),t[20]=h,t[21]=g,t[22]=_,t[23]=v):v=t[23],v}function mg(e){let t=e?.trim();return!!t&&t!==`__thread__`}function hg(e,t,n){return mg(n)?e.some(e=>e.threadId===t&&e.conversationId===n):!1}function gg(e,t){return t===e.selectedThreadId?e.extraChatPanes:e.threadMultiPaneStates[t]?.extraChatPanes??{}}function _g(e,t,n){if(!mg(n))return;let r=gg(e,t);for(let[e,t]of Object.entries(r))if(t.conversationId===n)return e;let i=t===e.selectedThreadId;if(i&&e.primaryConversationId===n)return Ms;let a=Object.keys(r).length>0;if(!(i&&a&&e.primaryConversationId!==n))return Ms}function vg(e,t,n){let r=[],i=new Set;for(let a of t){if(!mg(a.conversationId)||n.isRecentlyFinalized(a.threadId)||n.isThreadBeingCreated(a.threadId))continue;let t=_g(e,a.threadId,a.conversationId);if(!t||n.hasSession(a.threadId,t))continue;let o=`${a.threadId}:${t}:${a.conversationId}`;i.has(o)||(i.add(o),r.push({threadId:a.threadId,paneId:t,conversationId:a.conversationId}))}return r}var yg=new Set,bg=new Map,xg=5e3;function Sg(e){yg.add(e);let t=bg.get(e);t&&clearTimeout(t),bg.set(e,setTimeout(()=>{yg.delete(e),bg.delete(e)},xg))}function Cg(e){return yg.has(e)}function wg(e){return e.filter(e=>!yg.has(e))}var Tg;(function(e){e.Unimplemented=`UNIMPLEMENTED`,e.Unavailable=`UNAVAILABLE`})(Tg||={});var Eg=class extends Error{constructor(e,t,n){super(e),this.message=e,this.code=t,this.data=n}},Dg=e=>e?.androidBridge?`android`:e?.webkit?.messageHandlers?.bridge?`ios`:`web`,Og=e=>{let t=e.CapacitorCustomPlatform||null,n=e.Capacitor||{},r=n.Plugins=n.Plugins||{},i=()=>t===null?Dg(e):t.name,a=()=>i()!==`web`,o=e=>!!(l.get(e)?.platforms.has(i())||s(e)),s=e=>n.PluginHeaders?.find(t=>t.name===e),c=t=>e.console.error(t),l=new Map;return n.convertFileSrc||=e=>e,n.getPlatform=i,n.handleError=c,n.isNativePlatform=a,n.isPluginAvailable=o,n.registerPlugin=(e,a={})=>{let o=l.get(e);if(o)return console.warn(`Capacitor plugin "${e}" already registered. Cannot register plugins twice.`),o.proxy;let c=i(),u=s(e),d,f=async()=>(!d&&c in a?d=d=typeof a[c]==`function`?await a[c]():a[c]:t!==null&&!d&&`web`in a&&(d=d=typeof a.web==`function`?await a.web():a.web),d),p=(t,r)=>{if(u){let i=u?.methods.find(e=>r===e.name);if(i)return i.rtype===`promise`?t=>n.nativePromise(e,r.toString(),t):(t,i)=>n.nativeCallback(e,r.toString(),t,i);if(t)return t[r]?.bind(t)}else if(t)return t[r]?.bind(t);else throw new Eg(`"${e}" plugin is not implemented on ${c}`,Tg.Unimplemented)},m=t=>{let n,r=(...r)=>{let i=f().then(i=>{let a=p(i,t);if(a){let e=a(...r);return n=e?.remove,e}else throw new Eg(`"${e}.${t}()" is not implemented on ${c}`,Tg.Unimplemented)});return t===`addListener`&&(i.remove=async()=>n()),i};return r.toString=()=>`${t.toString()}() { [capacitor code] }`,Object.defineProperty(r,"name",{value:t,writable:!1,configurable:!1}),r},h=m(`addListener`),g=m(`removeListener`),_=(e,t)=>{let n=h({eventName:e},t),r=async()=>{g({eventName:e,callbackId:await n},t)},i=new Promise(e=>n.then(()=>e({remove:r})));return i.remove=async()=>{console.warn(`Using addListener() without 'await' is deprecated.`),await r()},i},v=new Proxy({},{get(e,t){switch(t){case`$$typeof`:return;case`toJSON`:return()=>({});case`addListener`:return u?_:h;case`removeListener`:return g;default:return m(t)}}});return r[e]=v,l.set(e,{name:e,proxy:v,platforms:new Set([...Object.keys(a),...u?[c]:[]])}),v},n.Exception=Eg,n.DEBUG=!!n.DEBUG,n.isLoggingEnabled=!!n.isLoggingEnabled,n},kg=(e=>e.Capacitor=Og(e))(typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}),Ag=kg.registerPlugin,jg=class{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(e,t){let n=!1;this.listeners[e]||(this.listeners[e]=[],n=!0),this.listeners[e].push(t);let r=this.windowListeners[e];return r&&!r.registered&&this.addWindowListener(r),n&&this.sendRetainedArgumentsForEvent(e),Promise.resolve({remove:async()=>this.removeListener(e,t)})}async removeAllListeners(){this.listeners={};for(let e in this.windowListeners)this.removeWindowListener(this.windowListeners[e]);this.windowListeners={}}notifyListeners(e,t,n){let r=this.listeners[e];if(!r){if(n){let n=this.retainedEventArguments[e];n||=[],n.push(t),this.retainedEventArguments[e]=n}return}r.forEach(e=>e(t))}hasListeners(e){return!!this.listeners[e]?.length}registerWindowListener(e,t){this.windowListeners[t]={registered:!1,windowEventName:e,pluginEventName:t,handler:e=>{this.notifyListeners(t,e)}}}unimplemented(e=`not implemented`){return new kg.Exception(e,Tg.Unimplemented)}unavailable(e=`not available`){return new kg.Exception(e,Tg.Unavailable)}async removeListener(e,t){let n=this.listeners[e];if(!n)return;let r=n.indexOf(t);this.listeners[e].splice(r,1),this.listeners[e].length||this.removeWindowListener(this.windowListeners[e])}addWindowListener(e){window.addEventListener(e.windowEventName,e.handler),e.registered=!0}removeWindowListener(e){e&&(window.removeEventListener(e.windowEventName,e.handler),e.registered=!1)}sendRetainedArgumentsForEvent(e){let t=this.retainedEventArguments[e];t&&(delete this.retainedEventArguments[e],t.forEach(t=>{this.notifyListeners(e,t)}))}},Mg=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),Ng=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),Pg=class extends jg{async getCookies(){let e=document.cookie,t={};return e.split(`;`).forEach(e=>{if(e.length<=0)return;let[n,r]=e.replace(/=/,`CAP_COOKIE`).split(`CAP_COOKIE`);n=Ng(n).trim(),r=Ng(r).trim(),t[n]=r}),t}async setCookie(e){try{let t=Mg(e.key),n=Mg(e.value),r=e.expires?`; expires=${e.expires.replace(`expires=`,``)}`:``,i=(e.path||`/`).replace(`path=`,``),a=e.url!=null&&e.url.length>0?`domain=${e.url}`:``;document.cookie=`${t}=${n||``}${r}; path=${i}; ${a};`}catch(e){return Promise.reject(e)}}async deleteCookie(e){try{document.cookie=`${e.key}=; Max-Age=0`}catch(e){return Promise.reject(e)}}async clearCookies(){try{let e=document.cookie.split(`;`)||[];for(let t of e)document.cookie=t.replace(/^ +/,``).replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(e){return Promise.reject(e)}}async clearAllCookies(){try{await this.clearCookies()}catch(e){return Promise.reject(e)}}};Ag(`CapacitorCookies`,{web:()=>new Pg});var Fg=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=r.result;t(e.indexOf(`,`)>=0?e.split(`,`)[1]:e)},r.onerror=e=>n(e),r.readAsDataURL(e)}),Ig=(e={})=>{let t=Object.keys(e);return Object.keys(e).map(e=>e.toLocaleLowerCase()).reduce((n,r,i)=>(n[r]=e[t[i]],n),{})},Lg=(e,t=!0)=>e?Object.entries(e).reduce((e,n)=>{let[r,i]=n,a,o;return Array.isArray(i)?(o=``,i.forEach(e=>{a=t?encodeURIComponent(e):e,o+=`${r}=${a}&`}),o.slice(0,-1)):(a=t?encodeURIComponent(i):i,o=`${r}=${a}`),`${e}&${o}`},``).substr(1):null,Rg=(e,t={})=>{let n=Object.assign({method:e.method||`GET`,headers:e.headers},t),r=Ig(e.headers)[`content-type`]||``;if(typeof e.data==`string`)n.body=e.data;else if(r.includes(`application/x-www-form-urlencoded`)){let t=new URLSearchParams;for(let[n,r]of Object.entries(e.data||{}))t.set(n,r);n.body=t.toString()}else if(r.includes(`multipart/form-data`)||e.data instanceof FormData){let t=new FormData;if(e.data instanceof FormData)e.data.forEach((e,n)=>{t.append(n,e)});else for(let n of Object.keys(e.data))t.append(n,e.data[n]);n.body=t;let r=new Headers(n.headers);r.delete(`content-type`),n.headers=r}else (r.includes(`application/json`)||typeof e.data==`object`)&&(n.body=JSON.stringify(e.data));return n},zg=class extends jg{async request(e){let t=Rg(e,e.webFetchExtra),n=Lg(e.params,e.shouldEncodeUrlParams),r=n?`${e.url}?${n}`:e.url,i=await fetch(r,t),a=i.headers.get(`content-type`)||``,{responseType:o=`text`}=i.ok?e:{};a.includes(`application/json`)&&(o=`json`);let s,c;switch(o){case`arraybuffer`:case`blob`:c=await i.blob(),s=await Fg(c);break;case`json`:s=await i.json();break;default:s=await i.text()}let l={};return i.headers.forEach((e,t)=>{l[t]=e}),{data:s,headers:l,status:i.status,url:i.url}}async get(e){return this.request(Object.assign(Object.assign({},e),{method:`GET`}))}async post(e){return this.request(Object.assign(Object.assign({},e),{method:`POST`}))}async put(e){return this.request(Object.assign(Object.assign({},e),{method:`PUT`}))}async patch(e){return this.request(Object.assign(Object.assign({},e),{method:`PATCH`}))}async delete(e){return this.request(Object.assign(Object.assign({},e),{method:`DELETE`}))}};Ag(`CapacitorHttp`,{web:()=>new zg});var Bg;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(Bg||={});var Vg;(function(e){e.StatusBar=`StatusBar`,e.NavigationBar=`NavigationBar`})(Vg||={});var Hg=class extends jg{async setStyle(){this.unavailable(`not available for web`)}async setAnimation(){this.unavailable(`not available for web`)}async show(){this.unavailable(`not available for web`)}async hide(){this.unavailable(`not available for web`)}};Ag(`SystemBars`,{web:()=>new Hg});var Ug=Ag(`KeepAwake`,{web:()=>us(()=>import(`./web-DUuz6a51.js`).then(e=>new e.KeepAwakeWeb),[])}),Wg=0;function Gg(){return typeof window<`u`&&Za()}async function Kg(){if(Gg()&&(Wg+=1,!(Wg>1)))try{await Ug.keepAwake()}catch{Wg=0}}async function qg(){if(Gg()&&Wg!==0&&(--Wg,!(Wg>0)))try{await Ug.allowSleep()}catch{Wg=0}}async function Jg(){if(Wg=0,Gg())try{await Ug.allowSleep()}catch{}}var Yg=Ut(`app.use-chat-handlers.hook`),Xg=Ut(`git.checkpoint`);async function Zg(e,t,n,r,i,a){if(n===Ms&&!r?.trim())throw Error(`Refusing to reload primary chat history without a conversation ID`);let o=await ci(t,r);if(t===i.current&&!a?.isStale?.()){if(n!==Ms){e({type:Y.SetPaneMessages,paneId:n,messages:o.messages});return}e({type:Y.SetMessages,messages:o.messages,conversationId:r,historyEpoch:a?.historyEpoch})}}function Qg(e,t,n){return{...e,threadId:t,paneId:n}}var $g=/^\/compact(?:\s+(.*))?$/i,e_=/^\/send-event(?:\s+([a-zA-Z0-9._:-]+))?(?:\s+([\s\S]+))?$/i,t_=`[Compact] Compaction in progress...`;function n_(e,t,n){let r={type:`thinking`,content:t_,model:n};e(Qg({type:Y.SetStreaming,isStreaming:!0},t,`primary`)),e(Qg({type:Y.SetStreamModel,model:n},t,`primary`)),e(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r.content??``,segments:zs([],`thinking`,r.content??``)},t,`primary`))}var r_=8e3;async function i_(e,t){try{let n=await Promise.race([qr(e,t),new Promise(e=>{setTimeout(()=>e(null),r_)})]);if(n===null){Xg.warn(`Checkpoint creation timed out`,{threadId:e,messageId:t});return}if(n.success&&n.checkpointRef)return n.stashed||Xg.debug(`Checkpoint recorded with clean working tree`,{threadId:e,messageId:t}),n.checkpointRef;`error`in n&&n.error?Xg.warn(`Checkpoint creation failed`,{threadId:e,messageId:t,error:n.error}):n.success||Xg.debug(`Checkpoint skipped`,{threadId:e,messageId:t,reason:n.reason})}catch(n){Xg.warn(`Checkpoint creation errored`,{threadId:e,messageId:t,error:n instanceof Error?n.message:String(n)})}}var a_=`tarsk-browser-tool-request`,o_=`tarsk-ask-user-prompt`,s_=new Set,c_=new Set,l_=new Map,u_=new Map,d_=new Map,f_=`tarsk.ask-user-tool-ownership.v1`,p_=1440*60*1e3;function m_(){if(!(typeof window>`u`))try{let e=window.localStorage.getItem(f_);if(!e)return;let t=JSON.parse(e),n=Date.now()-p_;for(let[e,r]of Object.entries(t.askUser??{}))r.updatedAt>=n&&r.paneId&&(u_.set(e,r.paneId),r.threadId&&l_.set(e,r.threadId));for(let[e,r]of Object.entries(t.subagents??{}))r.updatedAt>=n&&r.paneId&&d_.set(e,r.paneId)}catch{}}var h_=!1;function g_(){typeof window>`u`||h_||(h_=!0,window.setTimeout(()=>{h_=!1;try{let e=Date.now(),t={};for(let[n,r]of u_)t[n]={paneId:r,threadId:l_.get(n),updatedAt:e};let n={};for(let[t,r]of d_)n[t]={paneId:r,updatedAt:e};window.localStorage.setItem(f_,JSON.stringify({askUser:t,subagents:n}))}catch{}},0))}m_();function __(e,t){d_.set(e,t),g_()}function v_(e){return d_.get(e)}function y_(e){Pr()&&window.dispatchEvent(new CustomEvent(a_,{detail:e}))}function b_(e,t,n){!Pr()||s_.has(e)||t.action&&(s_.add(e),y_({toolCallId:e,input:t,threadId:n}))}function x_(e,t,n){l_.set(e,t),n&&(u_.set(e,n),g_())}function S_(e,t,n){x_(e,t,n),!c_.has(e)&&(c_.add(e),window.dispatchEvent(new CustomEvent(o_,{detail:{toolCallId:e,threadId:t,paneId:n}})))}function C_(e){return l_.get(e)}function w_(e){return u_.get(e)}function T_(){return Pr()?`views://public/browser-preview-rpc.js`:`${Fa()}/browser-preview-rpc.js`}async function E_(e,t){await Zi(e,t)}async function D_(e,t){await ai(e,t)}function O_(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function k_(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t==`string`&&t.length>0?t:null}function A_(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;if(e.type!==`tool_use`||typeof e.id!=`string`||!e.id||!O_(e.name))continue;let r=k_(e.input??e.arguments);r&&t.push({id:e.id,code:r})}return t}function j_(e,t){if(t)for(let n of e)ng(n.id,n.code,t)}function M_(e,t){if(!(!t||!e.includes(`"run_js"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;j_(A_(n),t)}catch{}}function N_(e,t){if(!t||!e||!O_(e.toolName))return;let n=e.partial?.content;Array.isArray(n)&&j_(A_(n),t)}function P_(e,t){if(e.includes(`"browser"`))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;for(let e of n)e?.type===`tool_use`&&e?.name===`browser`&&e?.id&&e?.input&&b_(e.id,e.input,t)}catch{}}function F_(e,t,n){if(e.includes(`"ask_user"`))try{let r=JSON.parse(e.trim());if(!Array.isArray(r))return;for(let e of r)e?.type===`tool_use`&&e?.name===`ask_user`&&e?.id&&S_(e.id,t,n)}catch{}}function I_(e){if(!(!e.includes(`"tool_use"`)||!e.includes(`"bash"`)))try{let t=JSON.parse(e.trim());if(!Array.isArray(t))return;for(let e of t)e?.type===`tool_use`&&e?.id&&typeof e.name==`string`&&e.name.toLowerCase()===`bash`&&typeof e.input?.command==`string`&&Kf(e.id,e.input.command)}catch{}}function L_(e){if(!(!e.includes(`"tool-result"`)||!e.includes(`"bash"`)))try{let t=JSON.parse(e.trim());if(!Array.isArray(t))return;for(let e of t)e?.type===`tool-result`&&e?.toolCallId&&typeof e.toolName==`string`&&e.toolName.toLowerCase()===`bash`&&qf(e.toolCallId)}catch{}}function R_(e){let{dispatch:t,streamSessionsRef:n,connectThreadStreamRef:r,selectedThreadIdRef:i,getHistoryEpoch:a,getPaneConversationId:o}=e;function s(e,c,l){let u=Es(e,l.paneId);if(l.pendingTransientRecovery){l.pendingTransientRecovery=!1,(async()=>{try{if((await No()).includes(e)){r.current?.(e,t=>es(e,t,l.conversationId),c,l.paneId,l.conversationId);return}}catch(e){Yg.error(`Failed to recover chat stream after disconnect:`,e)}s(e,c,l)})();return}if(n.current.get(u)!==l){n.current.has(u)||(Sg(e),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.RemoveProcessingThread,threadId:e}));return}if(n.current.delete(u),t({type:Y.ClearToolCallProgress}),l.keepsDeviceAwake&&(l.keepsDeviceAwake=!1,qg()),Sg(e),l.error&&!l.stopHandled){let n={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${l.error}`,contentType:`text`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1};t({type:Y.AddMessage,message:n,threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(l.stopHandled){if(l.segments.length>0){let n=Xs(l.segments);t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:n,contentType:`markdown`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1},threadId:e,paneId:l.paneId})}t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-stopped`,sender:`agent`,content:`I've stopped working on your request.`,contentType:`text`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1},threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:l.paneId}),t({type:Y.RemoveProcessingThread,threadId:e});return}let d=Xs(l.segments)||`...`,f={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:d,contentType:`markdown`,timestamp:new Date().toISOString(),model:c||`default`,isThinking:!1};async function p(){let r=!1,s=a?.();function c(){if(n.current.has(u))return!0;let e=o?.(l.paneId)?.trim();return l.conversationId?.trim()&&e&&l.conversationId!==e?!0:s!==void 0&&a?.()!==s}for(let n=0;n<4;n++){if(n>0&&await new Promise(e=>setTimeout(e,150*n)),c())return;try{if(await Zg(t,e,l.paneId,l.conversationId,i,{isStale:c,historyEpoch:s}),c())return;r=!0;break}catch(e){Yg.error(`Failed to reload chat history after stream:`,e);break}}c()||(r||t({type:Y.AddMessage,message:f,threadId:e,paneId:l.paneId}),t(Qg({type:Y.ResetStream},e,l.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:l.paneId}),t({type:Y.RemoveProcessingThread,threadId:e}))}p()}return s}function z_(e){let{dispatch:t,streamSessionsRef:n,setPaneError:r,setShowEmptyBalanceDialog:i,finalizeThreadStream:a}=e;function o(e,o,s,c,l){let u=Es(e,c),d=n.current.get(u);d&&(d.controller.abort(),d.cancel?.());let f=new AbortController,p={controller:f,cancel:null,segments:[],assistantMessage:``,assistantThinking:``,hasStructuredContent:!1,error:null,stopHandled:!1,pendingTransientRecovery:!1,activeSubagentToolCallId:null,paneId:c,conversationId:l,keepsDeviceAwake:!1};n.current.set(u,p),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.AddProcessingThread,threadId:e}),t(Qg({type:Y.SetStreaming,isStreaming:!0},e,c)),t({type:Y.SetActiveStreamPane,paneId:c}),Kg().then(()=>{p.keepsDeviceAwake=!0});function m(o){if(o instanceof Error&&o.name===`AbortError`){if(p.stopHandled||!n.current.has(u))return;n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(o instanceof oi){n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e}),i(!0);return}if(o instanceof Error&&o.message.includes(`not currently processing`)){n.current.delete(u),t(Qg({type:Y.ResetStream},e,c)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(o instanceof Error&&eo(o.message)){p.pendingTransientRecovery=!0,a(e,s,p);return}let l=Mt((o instanceof Error?o.message:``).trim()||`Unknown error (no error details in response)`);p.error=l,r(e,c,l),Yg.error(`Failed to subscribe to chat stream:`,o),a(e,s,p)}return(async()=>{let n=null;try{n=await o(f.signal)}catch(t){if(Sa(t,p.conversationId)&&!f.signal.aborted)try{n=await es(e,f.signal,p.conversationId)}catch(e){m(e);return}else{m(t);return}}if(!n||f.signal.aborted){a(e,s,p);return}p.cancel=Ro(n,n=>{if(t(Qg({type:Y.IncrementStreamEventCount},e,c)),n.type===`error`){let t=Mt(n.content?.trim()||n.error?.message?.trim()||n.message?.trim()||`Unknown error occurred`);p.error=t,r(e,c,t);return}if(n.type===`message`)return;if(n.type===`auto_compact`){let r=n.messagesBefore,i=n.content?.trim()||(typeof r==`number`?`Auto-compacted conversation (${r} → 1)`:`Auto-compacted conversation`);p.segments=zs(p.segments,`thinking`,`[Auto-compacted] ${i}\n`),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:p.segments},e,c));return}if(n.type===`long_running_confirmation`){let r=n.prompt;if(!r)return;p.segments=Ns(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`shell_permission`){let r=n.shellPermission;if(!r)return;p.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:p.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for shell approval: ${r.command}\n`}),p.segments=tc(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}let i=n;if(i.type===`seatbelt_escalation`){let n=i.seatbeltEscalation;if(!n)return;p.segments=nc(p.segments,n),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`web_fetch_permission`){let r=n.webFetchPermission;if(!r)return;p.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:p.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for approval to fetch ${r.hostname}\n`}),p.segments=Ds(p.segments,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}if(n.type===`toolcall_delta`){if(n.partial?.content?.[0]?.id&&n.delta){let r=n.partial.content[0].id,i={toolCallId:r,threadId:e,toolName:n.partial.content[0].name,delta:n.delta,partial:n.partial};t({type:Y.UpdateToolCallProgress,toolCallId:r,progress:i}),N_(i,e)}return}if(n.type===`tool_execution_update`){n.toolCallId&&n.executionOutput!==void 0&&t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:n.toolName,executionOutput:n.executionOutput});return}if(n.type===`subagent_start`){if(n.toolCallId){p.activeSubagentToolCallId=n.toolCallId;let r=n.subagentName?.trim()||`subagent`;t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,executionOutput:`Running ${r}…\n`})}return}if(n.type===`subagent_event`){if(n.toolCallId){if(__(n.toolCallId,p.paneId),n.subagentEvent){t({type:Y.AppendSubagentEvent,toolCallId:n.toolCallId,event:n.subagentEvent});let r=typeof n.subagentEvent.content==`string`?n.subagentEvent.content:n.subagentEvent.content?JSON.stringify(n.subagentEvent.content):``;r&&(F_(r,e,p.paneId),M_(r,e))}let r=Zp(n);r&&t({type:Y.AppendToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,delta:r})}return}if(n.type===`subagent_complete`){n.toolCallId&&(p.activeSubagentToolCallId=null,n.subagentResult&&t({type:Y.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,executionOutput:n.subagentResult}));return}if(n.type===`context_usage`){n.contextUsage&&t(Qg({type:Y.SetContextUsage,contextUsage:n.contextUsage},e,c));return}if(n.model&&t(Qg({type:Y.SetStreamModel,model:n.model},e,c)),n.type===`thinking`||n.isThinking){let r=n.content??``;if(M_(r,e),P_(r,e),F_(r,e,p.paneId),Is(r)){I_(r),L_(r),p.hasStructuredContent=!0,p.segments=$s(p.segments,r),p.assistantMessage=Js(p.segments),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c));return}p.assistantThinking+=r,p.segments=zs(p.segments,`thinking`,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r,segments:p.segments},e,c))}else if(n.type===`result`){p.hasStructuredContent=!0;let r=n.content??``;p.assistantMessage=r,p.segments=Fs(p.segments,r),t(Qg({type:Y.SetStreamContent,content:r},e,c)),typeof r==`string`&&(M_(r,e),P_(r,e),F_(r,e,p.paneId))}else{if(p.hasStructuredContent)return;let r=n.content??``;p.assistantMessage+=r,p.segments=zs(p.segments,`content`,r),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:r,segments:p.segments},e,c))}},()=>{a(e,s,p)},t=>{if(t.includes(`AbortError`)||t.includes(`canceled`)||t.includes(`BodyStreamBuffer was aborted`)){a(e,s,p);return}if(eo(t)){p.pendingTransientRecovery=!0;return}let n=Mt(t.trim()||`Unknown error (no error details in response)`);p.error=n,r(e,c,n),a(e,s,p)},n=>{if(t(Qg({type:Y.IncrementStreamEventCount},e,c)),n.role===`assistant`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);if(n.isThinking??!1){M_(i,e),P_(i,e),F_(i,e,p.paneId),p.assistantThinking+=i,p.segments=zs(p.segments,`thinking`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:p.segments},e,c));return}let a=!1;if(typeof r==`object`&&Array.isArray(r)&&r.length>0)a=!0;else if(typeof i==`string`&&i.trim().startsWith(`[`))try{let e=JSON.parse(i);a=Array.isArray(e)&&e.length>0}catch{}a?(p.hasStructuredContent=!0,p.assistantMessage=i,p.segments=Fs(p.segments,i),t(Qg({type:Y.SetStreamContent,content:i},e,c)),M_(i,e),P_(i,e),F_(i,e,p.paneId)):(p.assistantMessage+=i,p.segments=zs(p.segments,`content`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:p.segments},e,c)))}else if(n.role===`tool`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);i&&(I_(i),L_(i),Is(i)?(p.hasStructuredContent=!0,p.segments=$s(p.segments,i),p.assistantMessage=Js(p.segments),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:p.segments},e,c))):i.trim().startsWith(`[`)||(p.assistantMessage+=i,p.segments=zs(p.segments,`content`,i),t(Qg({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:p.segments},e,c))))}})})(),f}return o}async function B_(e){return Va(`api/projects/${ao(e)}/tasks`)}async function V_(e,t,n){return is(`api/projects/${ao(e)}/tasks`,{description:t,threadId:n?.threadId,provider:n?.provider,model:n?.model,tags:n?.tags,triggerType:n?.triggerType,scheduledAt:n?.scheduledAt,scheduleCron:n?.scheduleCron,timezone:n?.timezone,enabled:n?.enabled,eventKey:n?.eventKey})}async function H_(e,t,n){return Ho(`api/projects/${ao(e)}/tasks/${ao(t)}`,n)}async function U_(e,t){return Ho(`api/projects/${ao(e)}/tasks/${ao(t)}`,{runNow:!0})}async function W_(e,t,n){return is(`api/projects/${ao(e)}/events/dispatch`,{eventKey:t,payload:n})}async function G_(e,t){await yo(`api/projects/${ao(e)}/tasks/${ao(t)}`)}async function K_(e){return Va(`api/projects/${ao(e)}/tags`)}async function q_(e,t,n){return Ho(`api/projects/${ao(e)}/tags/${ao(t)}`,{name:n})}async function J_(e,t){return is(`api/projects/${ao(e)}/tags`,{name:t})}async function Y_(e,t){await yo(`api/projects/${ao(e)}/tags/${ao(t)}`)}function X_(e){return e.trim().replace(/\n/g,` `).slice(0,100)}function Z_(e,t,n){return n(e)?.trim()||t?.trim()||void 0}function Q_(e,t,n,r,i,a){i&&(Qa(n,{chatTitles:{...a,[r]:i}}).catch(e=>{Yg.error(`Failed to update chat title:`,e)}),e({type:Y.UpdateChatTitle,projectId:t,threadId:n,paneId:r,title:i}))}function $_(e){let{selectedThreadId:t,selectedProjectId:n,processingThreadIds:r,processingRuns:i,dispatch:a,toast:o,connectThreadStream:s,onPlanModeConsumed:c,setPaneError:l,setStopRequestedForThreadId:u,getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m}=e;return(0,Z.useCallback)(async(e,h,g,_,v,y,b,x,S,C)=>{if(!t)return;let w=t,T=d(e);l(w,e,null),u(null);let E=g.trim().match($g);if(E){if(e!==`primary`)return;if(T.filter(e=>e.sender===`agent`).length<2){o({title:`Nothing to compact`,description:`Start a conversation with at least two exchanges first.`});return}if(r.includes(w)||p(w,e)){o({title:`Agent is busy`,description:`Wait for the agent to finish before compacting.`});return}let t=E[1]?.trim();n_(a,w,_);try{let n=await ho(w,{model:_,provider:y,instructions:t});a({type:Y.SetMessages,messages:n.messages}),a(Qg({type:Y.ResetStream},w,e)),o({title:`Conversation compacted`,description:`${n.messagesBefore} messages → ${n.messagesAfter} summary`})}catch(t){a(Qg({type:Y.ResetStream},w,e)),o({title:`Compaction failed`,description:t instanceof Error?t.message:`Failed to compact conversation`,variant:`destructive`})}return}let D=g.trim().match(e_);if(D){if(e!==`primary`)return;if(!n){o({title:`No project selected`,description:`Open a project thread before sending an event.`,variant:`destructive`});return}let t=D[1]?.trim();if(!t){o({title:`Event key required`,description:`Use /send-event door.opened or /send-event door.opened {"doorId":"front"}`,variant:`destructive`});return}let r,i=D[2]?.trim();if(i)try{r=JSON.parse(i)}catch{o({title:`Invalid JSON payload`,description:`The optional payload after the event key must be valid JSON.`,variant:`destructive`});return}try{let e=await W_(n,t,r);o({title:`Event sent`,description:`Matched ${e.matched}, launched ${e.launched}, skipped ${e.skipped}`})}catch(e){o({title:`Event failed`,description:e instanceof Error?e.message:`Failed to send event`,variant:`destructive`})}return}let O=Z_(e,h,f);if(!x&&hg(i,w,O)&&!p(w,e)){s(w,e=>es(w,e,O),_,e,O),a({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:w,paneId:e,message:g,model:_,attachments:v,provider:y,planMode:b,imageMode:x,ralphMode:S,orchestrateMode:C}}),b&&c?.();return}let k=`msg-${Date.now()}`,A={messageId:k,sender:`user`,content:g,contentType:`text`,timestamp:new Date().toISOString(),model:_,attachments:v.map(e=>({fileName:e.fileName,content:e.content,mimeType:e.mimeType}))};a({type:Y.AddMessage,message:A,threadId:w,paneId:e});let j=await i_(w,k);if(j&&a({type:Y.UpdateMessageCheckpointRef,messageId:k,threadId:w,paneId:e,checkpointRef:j}),n){let t=X_(g);Q_(a,n,w,e,t,m(w)),Mr(w,g,{provider:y,model:_}).then(r=>{r&&r!==t&&Q_(a,n,w,e,r,m(w))}).catch(e=>{Yg.error(`Failed to generate chat title:`,e)})}if(x){let t=y??void 0;if(!t&&typeof _==`string`){let e=_.split(/[:/]/)[0]?.trim();e&&(t=e)}if(!t){let t={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Image generation is not available because no provider is configured for the selected model.`,contentType:`text`,timestamp:new Date().toISOString(),model:_,isThinking:!1};a({type:Y.AddMessage,message:t,threadId:w,paneId:e}),a(Qg({type:Y.ResetStream},w,e)),a({type:Y.SetActiveStreamPane,paneId:null});return}a(Qg({type:Y.SetStreaming,isStreaming:!0},w,e)),a({type:Y.SetActiveStreamPane,paneId:e});try{let n=await cs(g,_,t,w),r={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:g,contentType:`text`,timestamp:new Date().toISOString(),model:_,mode:`image`,isThinking:!1,generatedImageUrl:n.imageUrl,generatedImageData:n.imageData};a({type:Y.AddMessage,message:r,threadId:w,paneId:e})}catch(t){let n=t instanceof Error?t.message:`Image generation failed`,r={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${n}`,contentType:`text`,timestamp:new Date().toISOString(),model:_,isThinking:!1};a({type:Y.AddMessage,message:r,threadId:w,paneId:e})}finally{a(Qg({type:Y.ResetStream},w,e)),a({type:Y.SetActiveStreamPane,paneId:null})}return}s(w,e=>to(w,g,_,v,e,y,b,S,j,O,C),_,e,O),a(Qg({type:Y.SetStreamAgentMode,mode:Gt({planMode:b,ralphMode:S,orchestrateMode:C})},w,e)),b&&c?.()},[t,n,a,s,r,i,o,c,d,f,p,m,l,u])}function ev(e,t){for(let n of e.current){let r=n.split(`:`)[0];(!r||!t.has(r))&&e.current.delete(n)}}function tv(e,t,n){for(let r of n){let n=`${r.threadId}:${r.paneId}`;e.current.has(n)||(e.current.add(n),t(r.threadId,e=>es(r.threadId,e,r.conversationId),`default`,r.paneId,r.conversationId))}}function nv(e,t,n){if(!n.selectedThreadId)return;let r=n.getQueuedMessagesForPane(e);if(r.length===0||n.isPaneStreaming(n.selectedThreadId,e)||n.isProcessingQueueRef.current[e])return;let[i]=r;n.isProcessingQueueRef.current[e]=!0,t[e]=setTimeout(()=>{n.isProcessingQueueRef.current[e]=!1,n.dispatch({type:Y.RemoveQueuedChatMessage,queuedMessageId:i.id}),n.handleSend(e,n.getPaneConversationIdForHandlers(e),i.message,i.model,i.attachments,i.provider,i.planMode,i.imageMode,i.ralphMode,i.orchestrateMode)},0)}function rv(e,t,n){n.isPaneStreaming(n.selectedThreadId??``,t)||n.getPaneMessagesForHandlers(t).length>0||!n.selectedThreadId||n.handleSend(t,n.getPaneConversationIdForHandlers(t),e.message,e.model,e.attachments,e.provider,e.planMode,e.imageMode,e.ralphMode,e.orchestrateMode)}function iv(e,t){for(let n of e.projects){let e=n.threads.find(e=>e.threadId===t);if(e)return e.chatTitles}}function av(e,t){let{selectedThreadId:n}=t;if(!n)return;t.onStopRequested(n);let r=Es(n,e),i=t.streamSessionsRef.current.get(r),a=t.getPaneStreamingModel(n,e),o=i?.conversationId??t.getPaneConversationIdForHandlers(e);if(Na(n,o?{conversationId:o}:void 0),i){i.stopHandled=!0,t.finalizeThreadStream(n,a,i),i.controller.abort(),i.cancel?.();return}t.dispatch(Qg({type:Y.ResetStream},n,e))}function ov(e,t){for(let[n,r]of t.current.entries()){r.controller.abort(),r.cancel?.(),r.keepsDeviceAwake&&(r.keepsDeviceAwake=!1,qg());let[t,i]=n.split(`:`);e(Qg({type:Y.ResetStream},t,i))}t.current.clear()}function sv(e,t){let{selectedThreadId:n}=t;if(!n)return;let r=Es(n,e),i=t.streamSessionsRef.current.get(r);i&&(t.streamSessionsRef.current.delete(r),i.controller.abort(),i.cancel?.(),i.keepsDeviceAwake&&(i.keepsDeviceAwake=!1,qg())),t.dispatch(Qg({type:Y.ResetStream},n,e)),t.dispatch({type:Y.SetActiveStreamPane,paneId:null})}function cv(e,t,n){if(!n){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return e[t]===n?e:{...e,[t]:n}}function lv(e){let t=new Set(e.processingThreadIds),n=e.storeRef.getState();ev(e.autoSubscribePendingRef,t);let r=vg({...n,selectedThreadId:e.selectedThreadId,extraChatPanes:e.extraChatPanes,primaryConversationId:e.primaryConversationId},e.processingRuns,{hasSession:(t,n)=>e.streamSessionsRef.current.has(Es(t,n)),isRecentlyFinalized:Cg,isThreadBeingCreated:e=>kc(n.threadToolSessions[e])});tv(e.autoSubscribePendingRef,e.connectThreadStream,r)}function uv(e){let t=e.pendingChatMessage;if(!t||t.threadId!==e.selectedThreadId||e.isPaneStreaming(e.selectedThreadId??``,`primary`))return;let n=setTimeout(()=>{e.dispatch({type:Y.ClearPendingChatMessage}),e.handleSend(`primary`,void 0,t.message,t.model,[],t.provider)},100);return()=>clearTimeout(n)}function dv(e){if(!e.selectedThreadId)return;let t={},n=new Set([`primary`,...Ts(e.storeRef.getState()),...e.queuedChatMessages.filter(t=>t.threadId===e.selectedThreadId).map(e=>e.paneId)]);for(let r of n)nv(r,t,e);return()=>{for(let e of n){let n=t[e];n&&clearTimeout(n)}}}function fv(e,t,n){let r=n.getQueuedMessagesForPane(e).find(e=>e.id===t);n.dispatch({type:Y.RemoveQueuedChatMessage,queuedMessageId:t}),r&&rv(r,e,{selectedThreadId:n.selectedThreadId,isPaneStreaming:n.isPaneStreaming,getPaneMessagesForHandlers:n.getPaneMessages,getPaneConversationIdForHandlers:n.getPaneConversationId,handleSend:n.handleSend})}function pv(){let e=Ks(),t=Vs(),n=X(e=>e.selectedThreadId),r=X(e=>e.selectedProjectId),i=X(e=>e.queuedChatMessages),a=X(e=>e.pendingChatMessage),o=X(e=>e.processingThreadIds),s=X(e=>e.processingRuns),c=X(e=>e.extraChatPanes),l=X(e=>e.primaryConversationId),u=(0,Z.useRef)(null),d=(0,Z.useRef)(new Map),f=(0,Z.useRef)(null),p=(0,Z.useRef)({}),m=(0,Z.useRef)(new Set);return u.current=n,{dispatch:e,storeRef:t,selectedThreadId:n,selectedProjectId:r,queuedChatMessages:i,pendingChatMessage:a,processingThreadIds:o,processingRuns:s,extraChatPanes:c,primaryConversationId:l,selectedThreadIdRef:u,streamSessionsRef:d,connectThreadStreamRef:f,isProcessingQueueRef:p,autoSubscribePendingRef:m}}function mv(e){let t=(0,Q.c)(20),{storeRef:n,selectedThreadId:r,queuedChatMessages:i}=e,a;t[0]===n?a=t[1]:(a=function(e){return ys(n.getState(),e)},t[0]=n,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=function(e){return gs(n.getState(),e)},t[2]=n,t[3]=s);let c=s,l;t[4]===n?l=t[5]:(l=function(e,t){return As(n.getState().threadStreamingStates,e,t).isStreaming},t[4]=n,t[5]=l);let u=l,d;t[6]===n?d=t[7]:(d=function(e,t){return As(n.getState().threadStreamingStates,e,t).streamingModel||`default`},t[6]=n,t[7]=d);let f=d,p;t[8]===n?p=t[9]:(p=function(e){return iv(n.getState(),e)},t[8]=n,t[9]=p);let m=p,h;t[10]!==i||t[11]!==r?(h=e=>r?i.filter(t=>t.threadId===r&&t.paneId===e):[],t[10]=i,t[11]=r,t[12]=h):h=t[12];let g=h,_;return t[13]!==m||t[14]!==c||t[15]!==o||t[16]!==f||t[17]!==g||t[18]!==u?(_={getPaneMessages:o,getPaneConversationId:c,isPaneStreaming:u,getPaneStreamingModel:f,getChatTitles:m,getQueuedMessagesForPane:g},t[13]=m,t[14]=c,t[15]=o,t[16]=f,t[17]=g,t[18]=u,t[19]=_):_=t[19],_}function hv(){let e=(0,Q.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={},e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),[i,a]=(0,Z.useState)(!1),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(e,t,n)=>{let i=Es(e,t);r(e=>cv(e,i,n))},e[1]=o):o=e[1];let s=o,c;return e[2]!==n||e[3]!==i?(c={paneErrors:n,setPaneError:s,showEmptyBalanceDialog:i,setShowEmptyBalanceDialog:a},e[2]=n,e[3]=i,e[4]=c):c=e[4],c}function gv(e){let{state:t,selectors:n,setPaneError:r,setShowEmptyBalanceDialog:i,setStopRequestedForThreadId:a}=e,{dispatch:o,storeRef:s,streamSessionsRef:c,connectThreadStreamRef:l,selectedThreadIdRef:u,autoSubscribePendingRef:d,processingThreadIds:f,selectedThreadId:p,extraChatPanes:m,primaryConversationId:h,processingRuns:g}=t,_=(0,Z.useCallback)(R_({dispatch:o,streamSessionsRef:c,connectThreadStreamRef:l,selectedThreadIdRef:u,getHistoryEpoch:()=>s.getState().chatHistoryEpoch,getPaneConversationId:e=>gs(s.getState(),e)}),[o,s]),v=(0,Z.useCallback)(e=>av(e,{selectedThreadId:p,dispatch:o,finalizeThreadStream:_,streamSessionsRef:c,getPaneStreamingModel:n.getPaneStreamingModel,getPaneConversationIdForHandlers:n.getPaneConversationId,onStopRequested:a}),[p,o,_]);(0,Z.useEffect)(()=>()=>{ov(o,c)},[o]);let y=(0,Z.useCallback)(z_({dispatch:o,streamSessionsRef:c,setPaneError:r,setShowEmptyBalanceDialog:i,finalizeThreadStream:_}),[o,_,r]);return l.current=y,(0,Z.useEffect)(()=>{lv({autoSubscribePendingRef:d,processingThreadIds:f,selectedThreadId:p,extraChatPanes:m,primaryConversationId:h,processingRuns:g,connectThreadStream:y,streamSessionsRef:c,storeRef:s})},[y,m,h,g,f,p,s]),{finalizeThreadStream:_,connectThreadStream:y,handleStop:v}}function _v(e){let t=pv(),{dispatch:n,storeRef:r,selectedThreadId:i,selectedProjectId:a,processingThreadIds:o,processingRuns:s,pendingChatMessage:c,queuedChatMessages:l}=t,u=mv(t),{getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m,getQueuedMessagesForPane:h}=u,{toast:g}=ic(),{paneErrors:_,setPaneError:v,showEmptyBalanceDialog:y,setShowEmptyBalanceDialog:b}=hv(),[x,S]=(0,Z.useState)(null),{connectThreadStream:C,handleStop:w}=gv({state:t,selectors:u,setPaneError:v,setShowEmptyBalanceDialog:b,setStopRequestedForThreadId:S}),T=$_({selectedThreadId:i,selectedProjectId:a,processingThreadIds:o,processingRuns:s,dispatch:n,toast:g,connectThreadStream:C,onPlanModeConsumed:e,setPaneError:v,setStopRequestedForThreadId:S,getPaneMessages:d,getPaneConversationId:f,isPaneStreaming:p,getChatTitles:m});(0,Z.useEffect)(()=>uv({pendingChatMessage:c,selectedThreadId:i,isPaneStreaming:p,dispatch:n,handleSend:T}),[c,i,n,T,r]),(0,Z.useEffect)(()=>dv({selectedThreadId:i,dispatch:n,getQueuedMessagesForPane:h,isPaneStreaming:p,isProcessingQueueRef:t.isProcessingQueueRef,getPaneConversationIdForHandlers:f,handleSend:T,storeRef:r,queuedChatMessages:l}),[n,h,T,l,i,r]);let E=(0,Z.useCallback)((e,t)=>fv(e,t,{getQueuedMessagesForPane:h,dispatch:n,selectedThreadId:i,isPaneStreaming:p,getPaneMessages:d,getPaneConversationId:f,handleSend:T}),[n,h,T,i,r]),D=(0,Z.useCallback)(e=>{sv(e,{selectedThreadId:i,dispatch:n,streamSessionsRef:t.streamSessionsRef})},[n,i,t.streamSessionsRef]);return(0,Z.useMemo)(()=>({paneErrors:_,setPaneError:v,handleSend:T,handleStop:w,handleDiscardPaneStream:D,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:E,showEmptyBalanceDialog:y,setShowEmptyBalanceDialog:b}),[_,v,T,w,D,h,E,y,b])}var vv=(0,Z.createContext)(void 0);function yv(e){let t=(0,Q.c)(3),{children:n}=e,r=_v(),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(vv.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function bv(){let e=(0,Z.useContext)(vv);if(e===void 0)throw Error(`useChatHandlersContext must be used within a ChatHandlersProvider`);return e}var xv=(0,Z.createContext)(void 0);function Sv(e){let t=(0,Q.c)(12),{paneId:n,conversationId:r,fillPane:i,children:a}=e,o=i===void 0?!1:i,s=Ks(),c=X(Cv),l;t[0]!==s||t[1]!==n?(l=()=>{s({type:Y.SetFocusedPane,paneId:n})},t[0]=s,t[1]=n,t[2]=l):l=t[2];let u=l,d=c===n,f;t[3]!==r||t[4]!==o||t[5]!==n||t[6]!==u||t[7]!==d?(f={paneId:n,conversationId:r,isFocused:d,fillPane:o,setFocused:u},t[3]=r,t[4]=o,t[5]=n,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p=f,m;return t[9]!==a||t[10]!==p?(m=(0,$.jsx)(xv.Provider,{value:p,children:a}),t[9]=a,t[10]=p,t[11]=m):m=t[11],m}function Cv(e){return e.focusedPane}function wv(){let e=(0,Q.c)(1),t=(0,Z.useContext)(xv);if(t===void 0){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={paneId:`primary`,conversationId:void 0,isFocused:!0,fillPane:!1,setFocused:Tv},e[0]=t):t=e[0],t}return t}function Tv(){}function Ev(e){let t=(0,Q.c)(66),{toolCall:n,className:r}=e,{paneId:i}=wv(),{handleStop:a}=bv(),[o,s]=(0,Z.useState)(!1),c;t[0]===n.id?c=t[1]:(c=e=>e.toolCallProgress[n.id],t[0]=n.id,t[1]=c);let l=X(c),u;t[2]!==n.activeDisplayName||t[3]!==n.name?(u=n.activeDisplayName??ne(n.name),t[2]=n.activeDisplayName,t[3]=n.name,t[4]=u):u=t[4];let d=u,f=qd(n.name)?`searching`:`working`,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{s(Ov)},t[5]=p):p=t[5];let m=p,h;t[6]!==a||t[7]!==i?(h=function(){a(i)},t[6]=a,t[7]=i,t[8]=h):h=t[8];let g=h,_=Dv,v=n.name===`bash`&&typeof n.input?.command==`string`?n.input.command:null,y;t[9]===v?y=t[10]:(y=v===null?null:Yd(v),t[9]=v,t[10]=y);let b=y,x=n.name===`fetch`&&typeof n.input?.url==`string`?n.input.url:null,S=n.name===`web_search`&&typeof n.input?.query==`string`?n.input.query:null,C=!v&&typeof n.input?.description==`string`?n.input.description:null,w;t[11]===r?w=t[12]:(w=G(`overflow-hidden mb-2`,r),t[11]=r,t[12]=w);let T;t[13]===d?T=t[14]:(T=(0,$.jsx)(`span`,{className:U.bodyMuted,children:d}),t[13]=d,t[14]=T);let E;t[15]===f?E=t[16]:(E=(0,$.jsx)(dp,{state:f}),t[15]=f,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[T,E]})}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]===n.name?O=t[21]:(O=(0,$.jsx)(Fr,{children:n.name}),t[20]=n.name,t[21]=O);let k;t[22]!==O||t[23]!==D?(k=(0,$.jsxs)(Mi,{children:[D,O]}),t[22]=O,t[23]=D,t[24]=k):k=t[24];let A;t[25]===b?A=t[26]:(A=b!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`truncate whitespace-nowrap rounded bg-muted/60 px-1 py-0.5 max-w-full`),children:b.label}),t[25]=b,t[26]=A);let j;t[27]===x?j=t[28]:(j=x!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:x.length>60?`${x.slice(0,59)}…`:x}),t[27]=x,t[28]=j);let M;t[29]===S?M=t[30]:(M=S!==null&&(0,$.jsx)(`code`,{className:G(U.mono,U.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:S.length>60?`${S.slice(0,59)}…`:S}),t[29]=S,t[30]=M);let N;t[31]===C?N=t[32]:(N=C!==null&&(0,$.jsx)(`span`,{className:U.bodyMuted,children:C}),t[31]=C,t[32]=N);let P;t[33]===o?P=t[34]:(P=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:`p-1 hover:bg-muted/50 rounded transition-colors`,children:o?(0,$.jsx)(Yt,{className:`h-3 w-3`}):(0,$.jsx)(tn,{className:`h-3 w-3`})})}),t[33]=o,t[34]=P);let F=o?`Collapse`:`Expand`,I;t[35]===F?I=t[36]:(I=(0,$.jsx)(Fr,{children:F}),t[35]=F,t[36]=I);let L;t[37]!==P||t[38]!==I?(L=(0,$.jsxs)(Mi,{children:[P,I]}),t[37]=P,t[38]=I,t[39]=L):L=t[39];let R;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(nt,{className:`h-3 w-3`}),t[40]=R):R=t[40];let z;t[41]===g?z=t[42]:(z=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:g,className:`p-1 hover:bg-red-200 dark:hover:bg-red-800 rounded transition-colors text-red-600 dark:text-red-400`,children:R})}),t[41]=g,t[42]=z);let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(Fr,{className:`bg-red-600 text-white border-red-600`,children:`Stop this process`}),t[43]=B):B=t[43];let V;t[44]===z?V=t[45]:(V=(0,$.jsxs)(Mi,{children:[z,B]}),t[44]=z,t[45]=V);let H;t[46]!==L||t[47]!==V?(H=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 ml-auto shrink-0`,children:[L,V]}),t[46]=L,t[47]=V,t[48]=H):H=t[48];let ee;t[49]!==k||t[50]!==A||t[51]!==j||t[52]!==M||t[53]!==N||t[54]!==H?(ee=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 flex-wrap`,children:[k,A,j,M,N,H]}),t[49]=k,t[50]=A,t[51]=j,t[52]=M,t[53]=N,t[54]=H,t[55]=ee):ee=t[55];let te;t[56]!==o||t[57]!==f||t[58]!==n.id||t[59]!==n.input||t[60]!==l?(te=o&&(0,$.jsxs)(`div`,{className:`py-2 border-t border-border min-h-[8rem] overflow-auto`,children:[(0,$.jsxs)(`div`,{className:G(U.compact,U.bodyMuted,`mb-2 font-mono`),children:[`ID: `,n.id]}),(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(U.compact,U.label,`text-muted-foreground mb-1`),children:`Input:`}),(0,$.jsx)(`pre`,{className:Qf({className:`border border-border`}),children:_(n.input)})]}),l&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(U.compact,U.label,`text-muted-foreground mb-1`),children:`Progress:`}),(0,$.jsxs)(`div`,{className:G(U.body,`bg-green-50 dark:bg-green-900/20 p-2 rounded border border-green-200 dark:border-green-800`),children:[(0,$.jsx)(`div`,{className:G(U.mono,`text-green-700 dark:text-green-300`),children:l.delta}),l.partial?.content?.[0]?.arguments&&typeof l.partial.content[0].arguments==`object`&&`content`in l.partial.content[0].arguments&&typeof l.partial.content[0].arguments.content==`string`&&(0,$.jsxs)(`div`,{className:G(U.mono,`mt-1 text-green-600 dark:text-green-400`),children:[`Building: `,l.partial.content[0].arguments.content.slice(-50),l.partial.content[0].arguments.content.length>50&&`...`]})]})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`flex items-center gap-1.5 text-muted-foreground`),children:[(0,$.jsx)(dp,{state:f}),`Executing`,l&&` with progress`,`...`]})]}),t[56]=o,t[57]=f,t[58]=n.id,t[59]=n.input,t[60]=l,t[61]=te):te=t[61];let re;return t[62]!==ee||t[63]!==te||t[64]!==w?(re=(0,$.jsxs)(`div`,{className:w,children:[ee,te]}),t[62]=ee,t[63]=te,t[64]=w,t[65]=re):re=t[65],re}function Dv(e){return JSON.stringify(e,null,2)}function Ov(e){return!e}function kv(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`&&n.trim()){t.push({label:n,description:``});continue}if(!n||typeof n!=`object`)continue;let e=n;typeof e.label!=`string`||!e.label.trim()||t.push({label:e.label,description:typeof e.description==`string`?e.description:``})}return t}function Av(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.question!=`string`||!t.question.trim())return null;let n=kv(t.options);return{question:t.question,header:typeof t.header==`string`?t.header:void 0,options:n.length>0?n:void 0,multiple:typeof t.multiple==`boolean`?t.multiple:void 0}}function jv(e){if(Array.isArray(e.questions))return e.questions.map(e=>Av(e)).filter(e=>e!==null);if(typeof e.question==`string`&&e.question.trim()){let t=kv(e.options);return[{question:e.question,header:typeof e.context==`string`?e.context:void 0,options:t.length>0?t:void 0}]}return[]}function Mv(e){let t=jv(e),n=t[0];return{questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header}}function Nv(e){return{intention:typeof e.intention==`string`?e.intention:``,code:typeof e.code==`string`?e.code:``}}function Pv(e){let t=(0,Q.c)(6),{prompt:n,answeredText:r}=e,i=n.toolCallId??`long-running-confirmation`,a;return t[0]!==r||t[1]!==n.context||t[2]!==n.options||t[3]!==n.question||t[4]!==i?(a=(0,$.jsx)(Th,{toolCallId:i,question:n.question,options:n.options,context:n.context,answeredText:r,answeredLabel:`You answered`}),t[0]=r,t[1]=n.context,t[2]=n.options,t[3]=n.question,t[4]=i,t[5]=a):a=t[5],a}function Fv(e){let t=(0,Q.c)(6),{prompt:n,projectId:r,resolvedDecision:i}=e,a;return t[0]!==r||t[1]!==n.command||t[2]!==n.toolCallId||t[3]!==n.wildcardOptions||t[4]!==i?(a=(0,$.jsx)(jh,{toolCallId:n.toolCallId,command:n.command,projectId:r,wildcardOptions:n.wildcardOptions,resolvedDecision:i}),t[0]=r,t[1]=n.command,t[2]=n.toolCallId,t[3]=n.wildcardOptions,t[4]=i,t[5]=a):a=t[5],a}function Iv(e){let t=(0,Q.c)(2),{prompt:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(Mh,{...n}),t[0]=n,t[1]=r),r}function Lv(e){let t=(0,Q.c)(7),{prompt:n,projectId:r,resolvedDecision:i}=e,a;return t[0]!==r||t[1]!==n.hostname||t[2]!==n.toolCallId||t[3]!==n.url||t[4]!==n.wildcardOptions||t[5]!==i?(a=(0,$.jsx)(Ph,{toolCallId:n.toolCallId,hostname:n.hostname,url:n.url,projectId:r,wildcardOptions:n.wildcardOptions,resolvedDecision:i}),t[0]=r,t[1]=n.hostname,t[2]=n.toolCallId,t[3]=n.url,t[4]=n.wildcardOptions,t[5]=i,t[6]=a):a=t[6],a}function Rv(e,t){if(e.name!==`ask_user`)return null;let n=Mv(e.input);return(0,$.jsx)(Th,{toolCallId:e.id,questions:n.questions,answeredText:t,interactive:!1})}function zv(e,t,n,r){if(e.name!==`run_js`&&e.name!==`run_web_worker`)return null;let i=Nv(e.input);return(0,$.jsx)(pg,{toolCallId:e.id,intention:i.intention,code:i.code,resultContent:t,resultIsError:n,showActive:r===!0})}function Bv(e){let t=(0,Q.c)(14),{block:n,resultContent:r,resultIsError:i,observation:a,showActive:o}=e,s;t[0]===n.id?s=t[1]:(s=e=>e.toolCallProgress[n.id],t[0]=n.id,t[1]=s);let c=X(s),l;t[2]===c?l=t[3]:(l=c??{},t[2]=c,t[3]=l);let u;t[4]===l?u=t[5]:(u=ph(l),t[4]=l,t[5]=u);let d=u,f=o&&r===void 0,p=n.name===`bash`||n.name===`read`||n.name===`file_read`||n.name===`get_observation`||im(n.name,n.input);if(f&&!p){let e;return t[6]===n?e=t[7]:(e=(0,$.jsx)(Ev,{toolCall:n}),t[6]=n,t[7]=e),e}let m=f?d:r,h;return t[8]!==n||t[9]!==f||t[10]!==a||t[11]!==i||t[12]!==m?(h=(0,$.jsx)(Rm,{inline:!0,block:n,resultContent:m,resultIsError:i,isActive:f,observation:a}),t[8]=n,t[9]=f,t[10]=a,t[11]=i,t[12]=m,t[13]=h):h=t[13],h}function Vv(e){let t=(0,Q.c)(19),{block:n,showActive:r,resultContent:i,resultIsError:a,observation:o}=e,s;t[0]!==n||t[1]!==i?(s=Rv(n,i),t[0]=n,t[1]=i,t[2]=s):s=t[2];let c=s;if(c)return c;let l;t[3]!==n||t[4]!==i||t[5]!==a||t[6]!==r?(l=zv(n,i,a,r),t[3]=n,t[4]=i,t[5]=a,t[6]=r,t[7]=l):l=t[7];let u=l;if(u)return u;if(r){let e;return t[8]!==n||t[9]!==o||t[10]!==i||t[11]!==a||t[12]!==r?(e=(0,$.jsx)(Bv,{block:n,resultContent:i,resultIsError:a,observation:o,showActive:r}),t[8]=n,t[9]=o,t[10]=i,t[11]=a,t[12]=r,t[13]=e):e=t[13],e}let d;return t[14]!==n||t[15]!==o||t[16]!==i||t[17]!==a?(d=(0,$.jsx)(Rm,{inline:!0,block:n,resultContent:i,resultIsError:a,isActive:!1,observation:o}),t[14]=n,t[15]=o,t[16]=i,t[17]=a,t[18]=d):d=t[18],d}function Hv(e){let t=(0,Q.c)(4),{block:n,sequence:r,params:i}=e,a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=(0,$.jsx)(ah,{inline:!0,sequence:r,block:n,params:i}),t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}function Uv(e){let t=(0,Q.c)(43),{items:n,allBlocks:r,completedToolCallIds:i,isStreaming:a,showActiveSummary:o,hideActiveLabel:s,initialExpanded:c,renderItem:l}=e,u=o===void 0?a:o,d=s===void 0?!1:s,[f,p]=(0,Z.useState)(c===void 0?!1:c),m;t[0]!==r||t[1]!==i||t[2]!==n?(m=Cs(n,r,i),t[0]=r,t[1]=i,t[2]=n,t[3]=m):m=t[3];let h=m,g;t[4]!==u||t[5]!==h?(g=Qs(h,{showActive:u}),t[4]=u,t[5]=h,t[6]=g):g=t[6];let _=g,v=_.activeLabel!==null,y=v&&!d,b;t[7]===f?b=t[8]:(b=()=>p(!f),t[7]=f,t[8]=b);let x;t[9]===f?x=t[10]:(x=f?(0,$.jsx)(tn,{className:`h-3 w-3 text-muted-foreground shrink-0`}):(0,$.jsx)(sn,{className:`h-3 w-3 text-muted-foreground shrink-0`}),t[9]=f,t[10]=x);let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=G(U.caption,`min-w-0 truncate`),t[11]=S):S=t[11];let C;t[12]!==_.lineStats||t[13]!==h?(C=_.lineStats?(0,$.jsxs)(`span`,{className:`text-muted-foreground/70`,children:[` · `,(0,$.jsxs)(`span`,{className:`text-brand`,children:[`+`,h.linesAdded]}),` `,(0,$.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,h.linesRemoved]})]}):null,t[12]=_.lineStats,t[13]=h,t[14]=C):C=t[14];let w;t[15]!==_.text||t[16]!==C?(w=(0,$.jsxs)(`span`,{className:S,children:[_.text,C]}),t[15]=_.text,t[16]=C,t[17]=w):w=t[17];let T;t[18]!==_.activeLabel||t[19]!==y?(T=y?(0,$.jsx)(`span`,{className:G(U.caption,`shrink-0`),children:_.activeLabel}):null,t[18]=_.activeLabel,t[19]=y,t[20]=T):T=t[20];let E;t[21]===v?E=t[22]:(E=v?(0,$.jsx)(dp,{state:`working`,className:`shrink-0`}):null,t[21]=v,t[22]=E);let D;t[23]!==f||t[24]!==w||t[25]!==T||t[26]!==E||t[27]!==b||t[28]!==x?(D=(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 cursor-pointer select-none text-left w-full min-w-0`,onClick:b,"aria-expanded":f,children:[x,w,T,E]}),t[23]=f,t[24]=w,t[25]=T,t[26]=E,t[27]=b,t[28]=x,t[29]=D):D=t[29];let O=f?`flex`:`hidden`,k;t[30]===O?k=t[31]:(k=G(`ml-5 flex-col gap-0.5`,O),t[30]=O,t[31]=k);let A;if(t[32]!==n||t[33]!==l){let e;t[35]===l?e=t[36]:(e=e=>l(e),t[35]=l,t[36]=e),A=n.map(e),t[32]=n,t[33]=l,t[34]=A}else A=t[34];let j;t[37]!==k||t[38]!==A?(j=(0,$.jsx)(`div`,{className:k,children:A}),t[37]=k,t[38]=A,t[39]=j):j=t[39];let M;return t[40]!==D||t[41]!==j?(M=(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[D,j]}),t[40]=D,t[41]=j,t[42]=M):M=t[42],M}function Wv(e){let t=e.length-1;for(;t>=0;){let n=e[t];if(!n||ms(n)||n.type!==`text`)break;--t}return t+1}function Gv(e,t){return t?e.some(e=>!hs(e)&&Us(e)&&e.id===t):!1}function Kv(e,t=0){if(hs(e))return`thinking-${t}-${e.label??`none`}`;switch(e.type){case`tool_use`:return`tool-${e.id}`;case`tool-result`:return`result-${e.toolCallId}`;case`long_running_confirmation`:return`lrc-${e.prompt.toolCallId??fh(e.prompt.question)}`;case`shell_permission`:return`shell-${e.prompt.toolCallId}`;case`seatbelt_escalation`:return`seatbelt-${e.prompt.toolCallId}`;case`web_fetch_permission`:return`fetch-${e.prompt.toolCallId}`;case`text`:return`text-${fh(e.text.slice(0,128))}`}}function qv(e,t,n){let{lookupBlocks:r,toolResultMap:i,isStreaming:a,threadId:o,projectId:s,messageIndex:c,message:l,activeLocalToolCallId:u,completedToolCallIds:d,completedToolCallResults:f}=n;if(Us(e)&&e.name===`todo`)return null;if(ws(e)){if(e.toolName===`todo`)return(0,$.jsx)(Hv,{sequence:c,block:e,params:r.find(t=>Us(t)&&t.id===e.toolCallId)?.input},t);if(e.toolName===`ask_user`)return null}switch(e.type){case`long_running_confirmation`:return(0,$.jsx)(Pv,{prompt:e.prompt,answeredText:Sh(r,e.prompt.toolCallId)},t);case`shell_permission`:return(0,$.jsx)(Fv,{prompt:e.prompt,projectId:s,resolvedDecision:bh(r,e.prompt.toolCallId,`shell`)},t);case`seatbelt_escalation`:return(0,$.jsx)(Iv,{prompt:e.prompt},t);case`web_fetch_permission`:return(0,$.jsx)(Lv,{prompt:e.prompt,projectId:s,resolvedDecision:bh(r,e.prompt.toolCallId,`web_fetch`)},t);case`text`:return(0,$.jsx)(ud,{content:e.text,threadId:o},t);case`tool_use`:{let n=f?.get(e.id),o=i.get(e.id),s=mh(o)??n?.resultContent,c=gh(o)||(n?.resultIsError??!1),p=hh(o)??n?.observation;return(0,$.jsx)(Vv,{block:e,showActive:!(d?.has(e.id)===!0||n!==void 0)&&xh(r,l,e.id,u,a),resultContent:s,resultIsError:c,observation:p},t)}case`tool-result`:return(0,$.jsx)(Hv,{block:e},t)}}function Jv({blocks:e,isStreaming:t=!1,threadId:n,projectId:r,messageIndex:i=0,message:a,finalProseText:o=null}){let s=X(e=>{if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];if(t)return t.toolCallId;let n=e.devServerToolSession;return!n||n.threadId!==e.selectedThreadId?null:n.toolCallId}),c=(0,Z.useMemo)(()=>Ws(e),[e]),l=(0,Z.useMemo)(()=>_h(c),[c]),u=t||!!a?.isThinking,d=(0,Z.useRef)(new Set),f=(0,Z.useRef)(new Map);for(let e of c)if(ws(e)){d.current.add(e.toolCallId);let t=mh(e),n=gh(e),r=hh(e);t!==void 0&&f.current.set(e.toolCallId,{resultContent:t,resultIsError:n,observation:r})}let p=d.current,m=f.current,h=(0,Z.useMemo)(()=>ec(ps(c,u)),[c,u]),g=0;function _(e){let o=hs(e)?Kv(e,++g):Kv(e);return hs(e)?(0,$.jsx)(dh,{text:e.text,label:e.label,isStreaming:e.isCurrentlyStreaming,threadId:n},o):qv(e,o,{lookupBlocks:c,toolResultMap:l,isStreaming:t,threadId:n,projectId:r,messageIndex:i,message:a,activeLocalToolCallId:s,completedToolCallIds:p,completedToolCallResults:m})}function v(e,n){return ms(e)?(0,$.jsx)(Uv,{items:e.items,allBlocks:c,completedToolCallIds:p,isStreaming:u,showActiveSummary:u||Gv(e.items,s),hideActiveLabel:t,renderItem:_},`tool-group-${i}-${n}`):_(e)}let y=o?Wv(h):h.length,b=h.slice(0,y),x=h.slice(y),S=!!o&&x.length>0&&x.every(e=>!ms(e)&&e.type===`text`);return(0,$.jsx)(cm,{value:Jv,children:(0,$.jsxs)($.Fragment,{children:[b.map((e,t)=>v(e,t)),S&&o?(0,$.jsx)(Vd,{text:o,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:x.map((e,t)=>v(e,y+t))})}):x.map((e,t)=>v(e,y+t))]})})}function Yv(e){let t=(0,Q.c)(20),{content:n,children:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{a(!1)},t[0]=l):l=t[0];let u;t[1]===n?u=t[2]:(u=[n],t[1]=n,t[2]=u),(0,Z.useEffect)(l,u);let d;t[3]===i?d=t[4]:(d=()=>{let e=c.current;if(!e||i)return;let t=function(){e&&s(e.scrollHeight>e.clientHeight+1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},t[3]=i,t[4]=d);let f;t[5]!==n||t[6]!==i?(f=[n,i],t[5]=n,t[6]=i,t[7]=f):f=t[7],(0,Z.useEffect)(d,f);let p=o||i,m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=function(){a(Xv)},t[8]=m):m=t[8];let h=m,g=!i&&`line-clamp-10`,_;t[9]===g?_=t[10]:(_=G(g),t[9]=g,t[10]=_);let v;t[11]!==r||t[12]!==_?(v=(0,$.jsx)(`div`,{ref:c,className:_,children:r}),t[11]=r,t[12]=_,t[13]=v):v=t[13];let y;t[14]!==i||t[15]!==p?(y=p?(0,$.jsx)(`button`,{type:`button`,className:G(U.caption,`self-start text-background/70 underline-offset-2 hover:text-background hover:underline`),"aria-expanded":i,onClick:h,children:i?`Show less`:`Show more`}):null,t[14]=i,t[15]=p,t[16]=y):y=t[16];let b;return t[17]!==v||t[18]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[v,y]}),t[17]=v,t[18]=y,t[19]=b):b=t[19],b}function Xv(e){return!e}var Zv=(0,Z.memo)(function(e){let t=(0,Q.c)(21),{message:n,threadId:r,messageIndex:i,structuredContent:a,thinkingBlocks:o,finalProseText:s}=e;if(n.isThinking){if(o?.length){let e;return t[0]!==n||t[1]!==i||t[2]!==o||t[3]!==r?(e=(0,$.jsx)(Jv,{blocks:o,threadId:r,message:n,messageIndex:i}),t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=e):e=t[4],e}let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=G(U.caption,`whitespace-pre-wrap`),t[5]=e):e=t[5];let a;return t[6]!==n.content||t[7]!==r?(a=(0,$.jsx)(`div`,{className:e,children:(0,$.jsx)(ud,{content:n.content,threadId:r})}),t[6]=n.content,t[7]=r,t[8]=a):a=t[8],a}if(a){let e;return t[9]!==s||t[10]!==n||t[11]!==i||t[12]!==a||t[13]!==r?(e=(0,$.jsx)(Jv,{blocks:a,threadId:r,messageIndex:i,message:n,finalProseText:s}),t[9]=s,t[10]=n,t[11]=i,t[12]=a,t[13]=r,t[14]=e):e=t[14],e}let c;t[15]!==n.content||t[16]!==r?(c=(0,$.jsx)(ud,{content:n.content,threadId:r,className:U.conversationBody}),t[15]=n.content,t[16]=r,t[17]=c):c=t[17];let l=c;if(s){let e;return t[18]!==s||t[19]!==l?(e=(0,$.jsx)(Vd,{text:s,children:l}),t[18]=s,t[19]=l,t[20]=e):e=t[20],e}return l}),Qv=(0,Z.memo)(function(e){let t=(0,Q.c)(51),{message:n,threadId:r,messageIndex:i,showCheckpointRestore:a,checkpointRestoreTooltip:o,showFinalProseCopy:s}=e,c=i===void 0?0:i,l=a===void 0?!1:a,u=s===void 0?!1:s,d=n.sender===`user`,f;t[0]!==d||t[1]!==n.content?(f=d?null:Hs(n.content),t[0]=d,t[1]=n.content,t[2]=f):f=t[2];let p=f,m;t[3]!==n.content||t[4]!==n.isThinking?(m=n.isThinking?Ss(n.content):null,t[3]=n.content,t[4]=n.isThinking,t[5]=m):m=t[5];let h=m,g;t[6]!==d||t[7]!==n.content||t[8]!==n.isThinking||t[9]!==u?(g=u&&!d&&!n.isThinking?Gs(n.content):null,t[6]=d,t[7]=n.content,t[8]=n.isThinking,t[9]=u,t[10]=g):g=t[10];let _=g,v;t[11]!==_||t[12]!==n||t[13]!==c||t[14]!==p||t[15]!==h||t[16]!==r?(v=(0,$.jsx)(Zv,{message:n,threadId:r,messageIndex:c,structuredContent:p,thinkingBlocks:h,finalProseText:_}),t[11]=_,t[12]=n,t[13]=c,t[14]=p,t[15]=h,t[16]=r,t[17]=v):v=t[17];let y=v,b=d&&`flex justify-end`,x;t[18]===b?x=t[19]:(x=G(`group px-4 py-4`,b),t[18]=b,t[19]=x);let S=d&&`items-end`,C;t[20]===S?C=t[21]:(C=G(`flex flex-col gap-1 min-w-0 max-w-full`,S),t[20]=S,t[21]=C);let w;t[22]!==o||t[23]!==n||t[24]!==l||t[25]!==r?(w=(0,$.jsx)(Bd,{message:n,threadId:r,showCheckpointRestore:l,checkpointRestoreTooltip:o}),t[22]=o,t[23]=n,t[24]=l,t[25]=r,t[26]=w):w=t[26];let T=d&&`rounded-xl px-4 py-3 bg-foreground text-background`,E;t[27]===T?E=t[28]:(E=G(`flex flex-col gap-0.5 min-w-0`,U.conversationBody,T),t[27]=T,t[28]=E);let D;t[29]!==y||t[30]!==d||t[31]!==n.content?(D=d?(0,$.jsx)(Yv,{content:n.content,children:y}):y,t[29]=y,t[30]=d,t[31]=n.content,t[32]=D):D=t[32];let O;t[33]!==E||t[34]!==D?(O=(0,$.jsx)(`div`,{className:E,children:D}),t[33]=E,t[34]=D,t[35]=O):O=t[35];let k;t[36]!==n.generatedImageData||t[37]!==n.generatedImageUrl||t[38]!==r?(k=(n.generatedImageUrl||n.generatedImageData)&&(0,$.jsx)(Hd,{src:n.generatedImageData?`data:image/png;base64,${n.generatedImageData}`:n.generatedImageUrl,threadId:r}),t[36]=n.generatedImageData,t[37]=n.generatedImageUrl,t[38]=r,t[39]=k):k=t[39];let A;t[40]===n.attachments?A=t[41]:(A=n.attachments&&n.attachments.length>0&&(0,$.jsx)(hd,{attachments:n.attachments}),t[40]=n.attachments,t[41]=A);let j;t[42]!==C||t[43]!==w||t[44]!==O||t[45]!==k||t[46]!==A?(j=(0,$.jsxs)(`div`,{className:C,children:[w,O,k,A]}),t[42]=C,t[43]=w,t[44]=O,t[45]=k,t[46]=A,t[47]=j):j=t[47];let M;return t[48]!==j||t[49]!==x?(M=(0,$.jsx)(`div`,{className:x,children:j}),t[48]=j,t[49]=x,t[50]=M):M=t[50],M});function $v(e){let t=e.length;for(let n of e)if(`chunks`in n){t+=n.chunks.length;for(let e of n.chunks)t+=e.length}return t}function ey(e){let t=(0,Q.c)(2);$v(e);let n;if(t[0]!==e){n=[];for(let t of e){if(t.type===`long_running_confirmation`){n.push({type:`long_running_confirmation`,prompt:t.prompt});continue}if(t.type===`shell_permission`){n.push({type:`shell_permission`,prompt:t.prompt});continue}if(t.type===`seatbelt_escalation`){n.push({type:`seatbelt_escalation`,prompt:t.prompt});continue}if(t.type===`web_fetch_permission`){n.push({type:`web_fetch_permission`,prompt:t.prompt});continue}n.push(...Rs(t))}t[0]=e,t[1]=n}else n=t[1];return n}function ty(e){let t=(0,Q.c)(25),{segments:n,model:r,mode:i,threadId:a,projectId:o,isCreatingProject:s,isProcessingThread:c,totalMessages:l,showProcessingLine:u}=e,d=l===void 0?0:l,f=u===void 0?!1:u,p=ey(n),m=f?`pb-0`:`pb-4`,h;t[0]===m?h=t[1]:(h=G(`group px-4 pt-4`,m),t[0]=m,t[1]=h);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=G(U.compact,`font-medium text-foreground`),t[2]=g):g=t[2];let _;t[3]===i?_=t[4]:(_=qe(i),t[3]=i,t[4]=_);let v;t[5]===_?v=t[6]:(v=(0,$.jsx)(`span`,{className:g,children:_}),t[5]=_,t[6]=v);let y;t[7]===r?y=t[8]:(y=r&&(0,$.jsxs)(`span`,{className:G(U.compact,`flex items-center gap-1 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity`),children:[(0,$.jsx)(Kt,{className:`h-2.5 w-2.5`}),Ko(r)]}),t[7]=r,t[8]=y);let b;t[9]!==v||t[10]!==y?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==s||t[13]!==c||t[14]!==p||t[15]!==o||t[16]!==a||t[17]!==d?(x=p.length>0?(0,$.jsx)(`div`,{className:G(`flex flex-col gap-0.5 min-w-0`,U.conversationBody),children:(0,$.jsx)(Jv,{blocks:p,isStreaming:!0,threadId:a,projectId:o,messageIndex:d})}):s||c?(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(dh,{isStreaming:!0})}):null,t[12]=s,t[13]=c,t[14]=p,t[15]=o,t[16]=a,t[17]=d,t[18]=x):x=t[18];let S;t[19]!==x||t[20]!==b?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[b,x]}),t[19]=x,t[20]=b,t[21]=S):S=t[21];let C;return t[22]!==S||t[23]!==h?(C=(0,$.jsx)(`div`,{className:h,children:S}),t[22]=S,t[23]=h,t[24]=C):C=t[24],C}var ny=3e3;function ry(e){let t=e?Nt.filter(t=>t!==e):Nt;return t[Math.floor(Math.random()*t.length)]}function iy(e){let t=(0,Q.c)(3),[n,r]=(0,Z.useState)(O),i=(0,Z.useRef)(O),a,o;return t[0]===e?(a=t[1],o=t[2]):(a=()=>{if(!e){r(O),i.current=O;return}let t=setInterval(()=>{let e=i.current===`Processing...`?ry():ry(i.current);i.current=e,r(e)},ny);return()=>clearInterval(t)},o=[e],t[0]=e,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o),n}function ay(e){let t=(0,Q.c)(9),{active:n,label:r,className:i}=e,a=n===void 0?!0:n,o=iy(a&&!r),s=a?`animate-shimmer`:void 0,c;t[0]===s?c=t[1]:(c=G(U.caption,s),t[0]=s,t[1]=c);let l=r??o,u;t[2]!==c||t[3]!==l?(u=(0,$.jsx)(`span`,{className:c,children:l}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d;return t[5]!==a||t[6]!==i||t[7]!==u?(d=(0,$.jsx)(`div`,{className:i,"aria-live":`polite`,"aria-busy":a,children:u}),t[5]=a,t[6]=i,t[7]=u,t[8]=d):d=t[8],d}function oy(e){let t=(0,Q.c)(34),{projects:n,onSelectProject:r,onCreateThread:i,onConnectRepo:a,onNewApp:s,onOpenFolder:c}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`h-16 w-16 rounded-lg`}),t[0]=l):l=t[0];let u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`h1`,{className:G(U.pageTitle,`tracking-tight text-balance`),children:`Let's build it!`}),t[1]=u):u=t[1];let d=n.length===0?`Start or connect your first project`:`Select a project to start coding`,f;t[2]===d?f=t[3]:(f=(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[l,(0,$.jsxs)(`div`,{className:`text-center`,children:[u,(0,$.jsx)(`p`,{className:`mt-1 ${U.pageSubtitle}`,children:d})]})]}),t[2]=d,t[3]=f);let p;if(t[4]!==i||t[5]!==r||t[6]!==n){let e;t[8]!==i||t[9]!==r?(e=e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:()=>{e.threads.length===0?i(e.projectId):r(e.projectId,e.threads[0].threadId)},children:[(0,$.jsx)(o,{className:`h-5 w-5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:e.name}),(0,$.jsxs)(`span`,{className:U.caption,children:[e.threads.length,` thread`,e.threads.length===1?``:`s`]})]},e.projectId),t[8]=i,t[9]=r,t[10]=e):e=t[10],p=n.map(e),t[4]=i,t[5]=r,t[6]=n,t[7]=p}else p=t[7];let m,h,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(M,{className:`h-5 w-5 text-muted-foreground`}),h=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`Connect a repo`}),g=(0,$.jsx)(`span`,{className:U.caption,children:`Clone an existing repository`}),t[11]=m,t[12]=h,t[13]=g):(m=t[11],h=t[12],g=t[13]);let _;t[14]===a?_=t[15]:(_=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:a,children:[m,h,g]}),t[14]=a,t[15]=_);let v,y,b;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Et,{className:`h-5 w-5 text-muted-foreground`}),y=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`New App`}),b=(0,$.jsx)(`span`,{className:U.caption,children:`Create a new project from template`}),t[16]=v,t[17]=y,t[18]=b):(v=t[16],y=t[17],b=t[18]);let x;t[19]===s?x=t[20]:(x=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:s,children:[v,y,b]}),t[19]=s,t[20]=x);let S,C,w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(fn,{className:`h-5 w-5 text-muted-foreground`}),C=(0,$.jsx)(`span`,{className:`${U.body} text-foreground leading-snug font-medium`,children:`Open Folder`}),w=(0,$.jsx)(`span`,{className:U.caption,children:`Use an existing local folder`}),t[21]=S,t[22]=C,t[23]=w):(S=t[21],C=t[22],w=t[23]);let T;t[24]===c?T=t[25]:(T=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-56 flex-col gap-2 rounded-xl border border-border bg-background p-4 text-left shadow-sm transition-colors hover:bg-muted`,onClick:c,children:[S,C,w]}),t[24]=c,t[25]=T);let E;t[26]!==x||t[27]!==T||t[28]!==p||t[29]!==_?(E=(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-3`,children:[p,_,x,T]}),t[26]=x,t[27]=T,t[28]=p,t[29]=_,t[30]=E):E=t[30];let D;return t[31]!==E||t[32]!==f?(D=(0,$.jsxs)(`div`,{className:`mx-auto flex max-w-3xl flex-1 flex-col items-center gap-8 overflow-y-auto px-4 py-8`,children:[f,E]}),t[31]=E,t[32]=f,t[33]=D):D=t[33],D}var sy=`md:mr-4`,cy=`cubic-bezier(0.22, 0.61, 0.36, 1)`,ly=`animate-in fade-in duration-200 ease-out`,uy=`[data-composer-surface]`;function dy(e){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`}function fy(e){return e?`w-full min-w-0 px-4`:`mx-auto max-w-3xl w-full min-w-0`}function py(e){return G(e?`relative w-full min-w-0 pl-4`:`relative mx-auto w-full max-w-3xl min-w-0`,sy)}function my(e){return`relative w-full min-w-0`}function hy(e,t,n=!1,r=!1){return t?`absolute inset-x-0 bottom-0 mx-auto w-full max-w-3xl max-md:px-2 px-4 pb-4 pointer-events-none`:r?`relative w-full min-w-0`:n?`relative mx-auto w-full max-w-3xl px-0`:e?`relative w-full min-w-0 pb-2 md:pb-4`:`relative w-full max-w-3xl max-md:px-0 pb-2 md:pl-4 md:pb-4 md:-ml-[6px]`}function gy(e,t=!1,n=!0){return e?`relative flex min-w-0 flex-1 flex-col bg-background pointer-events-auto`:G(`relative flex min-w-0 flex-1 flex-col rounded-[24px] border focus-within:ring-2 focus-within:ring-ring/40 pointer-events-auto`,t?`border-border/50 bg-background/80 shadow-lg backdrop-blur-sm`:G(`border-border bg-background`,n&&`shadow-2xl`))}var _y={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},userTasks:e=>[`user-tasks`,e],conversations:{recent:()=>[`conversations`,`recent`]}};function vy(e){let t=(0,Q.c)(10),n;t[0]===e?n=t[1]:(n=_y.models.enabled(e),t[0]=e,t[1]=n);let r;t[2]===n?r=t[3]:(r={queryKey:n,queryFn:Ki,placeholderData:cr},t[2]=n,t[3]=r);let i=vr(r),a;bb0:{if(!i.data){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[4]=e):e=t[4],a=e;break bb0}let e;t[5]===i.data?e=t[6]:(e=Object.values(i.data).flat(),t[5]=i.data,t[6]=e),a=e}let o=a,s;return t[7]!==o||t[8]!==i?(s={...i,models:o},t[7]=o,t[8]=i,t[9]=s):s=t[9],s}function yy(e,t){let n=(0,Q.c)(11),r;n[0]===e?r=n[1]:(r=_y.models.enabledImage(e),n[0]=e,n[1]=r);let i;n[2]!==t||n[3]!==r?(i={queryKey:r,queryFn:Hi,placeholderData:cr,enabled:t},n[2]=t,n[3]=r,n[4]=i):i=n[4];let a=vr(i),o;bb0:{if(!a.data){let e;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[5]=e):e=n[5],o=e;break bb0}let e;n[6]===a.data?e=n[7]:(e=Object.values(a.data).flat(),n[6]=a.data,n[7]=e),o=e}let s=o,c;return n[8]!==s||n[9]!==a?(c={...a,models:s},n[8]=s,n[9]=a,n[10]=c):c=n[10],c}var by=Ut(`chat.input-state`);function xy(e,t){return t===`primary`?e:`${e}:${t}`}function Sy({availableModels:e,paneModel:t,storedThreadModel:n,currentThreadModelId:r,currentThreadModelProvider:i,projectLastSelectedModelId:a,projectLastSelectedModelProvider:o}){if(e.length===0)return{model:null,persistFallback:!1,pinPane:!1};let s=e[0];function c(t,n){return!t||!n?null:e.find(e=>e.id===t&&e.provider===n)??null}if(t){let e=c(t.id,t.provider);return{model:e??s,persistFallback:!1,pinPane:!e}}let l=[{id:r,provider:i}];n&&l.push({id:n.id,provider:n.provider}),l.push({id:a,provider:o});for(let e of l){let t=c(e.id,e.provider);if(t)return{model:t,persistFallback:!1,pinPane:!1}}return{model:s,persistFallback:l.length>0,pinPane:!1}}function Cy(e,t){if(t.length===0)return null;if(e){let n=t.find(t=>t.id===e.id&&t.provider===e.provider);if(n)return n}return t[0]}function wy(){let e=(0,Q.c)(15),t=Ks(),{paneId:n}=wv(),r=X(Ny),i=X(My),a=X(jy),o=X(Ay),s=X(ky),c=X(Oy),l=X(Dy),u=X(Ey),d=X(Ty),f;e[0]===n?f=e[1]:(f=e=>As(e.threadStreamingStates,e.selectedThreadId,n).isStreaming,e[0]=n,e[1]=f);let p=X(f),m;return e[2]!==c||e[3]!==l||e[4]!==t||e[5]!==u||e[6]!==d||e[7]!==p||e[8]!==n||e[9]!==s||e[10]!==o||e[11]!==a||e[12]!==i||e[13]!==r?(m={dispatch:t,paneId:n,selectedThreadId:r,selectedProjectId:i,projects:a,projectModelSelections:o,paneModelSelections:s,chatInputDrafts:c,configUpdatedAt:l,focusChatInput:u,focusedPane:d,isStreaming:p},e[2]=c,e[3]=l,e[4]=t,e[5]=u,e[6]=d,e[7]=p,e[8]=n,e[9]=s,e[10]=o,e[11]=a,e[12]=i,e[13]=r,e[14]=m):m=e[14],m}function Ty(e){return e.focusedPane}function Ey(e){return e.focusChatInput}function Dy(e){return e.configUpdatedAt}function Oy(e){return e.chatInputDrafts}function ky(e){return e.paneModelSelections}function Ay(e){return e.projectModelSelections}function jy(e){return e.projects}function My(e){return e.selectedProjectId}function Ny(e){return e.selectedThreadId}function Py(e){let t=(0,Q.c)(30),{initialValue:n,selectedThreadId:r,paneId:i,chatInputDrafts:a,dispatch:o}=e,s;t[0]!==a||t[1]!==n||t[2]!==i||t[3]!==r?(s=()=>{if(r){let e=xy(r,i);if(a[e])return a[e]}return n??``},t[0]=a,t[1]=n,t[2]=i,t[3]=r,t[4]=s):s=t[4];let[c,l]=(0,Z.useState)(s),[u,d]=(0,Z.useState)(-1),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(0),g=(0,Z.useRef)(c),_,v;t[5]===c?(_=t[6],v=t[7]):(_=()=>{g.current=c},v=[c],t[5]=c,t[6]=_,t[7]=v),(0,Z.useEffect)(_,v);let y=(0,Z.useRef)(a),b,x;t[8]===a?(b=t[9],x=t[10]):(b=()=>{y.current=a},x=[a],t[8]=a,t[9]=b,t[10]=x),(0,Z.useEffect)(b,x);let S=(0,Z.useRef)(!0),C,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>(S.current=!0,()=>{S.current=!1}),w=[],t[11]=C,t[12]=w):(C=t[11],w=t[12]),(0,Z.useEffect)(C,w);let T=r?a[xy(r,i)]??``:``,E;t[13]!==r||t[14]!==T?(E=()=>{r&&l(T)},t[13]=r,t[14]=T,t[15]=E):E=t[15];let D;t[16]!==i||t[17]!==r||t[18]!==T?(D=[r,T,i],t[16]=i,t[17]=r,t[18]=T,t[19]=D):D=t[19],(0,Z.useEffect)(E,D);let O,k;t[20]!==o||t[21]!==i||t[22]!==r?(O=()=>{let e=r,t=e?xy(e,i):null;return()=>{t&&g.current.trim()&&y.current[t]!==g.current&&o({type:Y.SetChatInputDraft,threadId:t,draft:g.current})}},k=[r,i,o],t[20]=o,t[21]=i,t[22]=r,t[23]=O,t[24]=k):(O=t[23],k=t[24]),(0,Z.useEffect)(O,k);let A;return t[25]!==m||t[26]!==f||t[27]!==u||t[28]!==c?(A={message:c,setMessage:l,historyIndex:u,setHistoryIndex:d,draftMessage:f,setDraftMessage:p,cursorPosition:m,setCursorPosition:h,messageRef:g,chatInputDraftsRef:y,mountedRef:S},t[25]=m,t[26]=f,t[27]=u,t[28]=c,t[29]=A):A=t[29],A}function Fy({selectedProject:e,selectedProjectId:t}){let n=e?.defaultChatMode??`auto`,r=(0,Z.useRef)(rt(n)).current,[i,a]=(0,Z.useState)(r.planMode),[o,s]=(0,Z.useState)(r.ralphMode),[c,l]=(0,Z.useState)(r.orchestrateMode),[u,d]=(0,Z.useState)(r.autoMode),[f,p]=(0,Z.useState)(r.imageMode),m=(0,Z.useCallback)(function(e){let t=rt(e);a(t.planMode),p(t.imageMode),s(t.ralphMode),l(t.orchestrateMode),d(t.autoMode)},[]),h=(0,Z.useRef)(e?t:null);return(0,Z.useEffect)(()=>{!t||!e||h.current!==t&&(h.current=t,m(n))},[t,e,n,m]),{planMode:i,setPlanMode:a,ralphMode:o,setRalphMode:s,orchestrateMode:c,setOrchestrateMode:l,autoMode:u,setAutoMode:d,imageMode:f,setImageMode:p,applyChatMode:m,projectChatMode:n}}function Iy({dispatch:e,paneId:t,selectedThreadId:n,selectedProjectId:r,model:i,shouldPersist:a,shouldPinPane:o,pendingModelPersistenceRef:s}){let c=n;if(!c||((o||a)&&e({type:Y.SetProjectModel,threadId:c,model:i,...o?{paneId:t}:{}}),!a))return;let l=`${c}:${i.provider??``}:${i.id}`;s.current!==l&&(s.current=l,by.info(`Persisting model to thread`,{threadId:c,model:{id:i.id,provider:i.provider}}),Qa(c,{model:i.id,modelProvider:i.provider}).then(()=>{let e=r;e&&Fi(e,{lastSelectedModel:i.id,lastSelectedModelProvider:i.provider}).catch(e=>{by.error(`Failed to save model to project`,{err:e})}),s.current===l&&(s.current=null),by.info(`Model persisted successfully`)}).catch(e=>{s.current===l&&(s.current=null),by.error(`Failed to save model to thread`,{err:e})}))}async function Ly({model:e,effort:t,dispatch:n,paneId:r,selectedThreadId:i,paneModelSelections:a,projectModelSelections:o,setAvailableModels:s,setSelectedModel:c,setAvailableImageModels:l,setSelectedImageModel:u}){if(!e.provider)return;try{await Eo(e.provider,e.id,{reasoningEffort:t})}catch(e){by.error(`Failed to save model reasoning effort`,{err:e});return}function d(n){return n.id!==e.id||n.provider!==e.provider?n:{...n,settings:{...n.settings,reasoningEffort:t}}}s(e=>e.map(d)),c(e=>e&&d(e)),l(e=>e.map(d)),u(e=>e&&d(e));let f=i;if(f){let t=a[r],i=t??o[f];i&&i.id===e.id&&i.provider===e.provider&&n({type:Y.SetProjectModel,threadId:f,model:d(i),...t?{paneId:r}:{}})}}function Ry({allEnabledModels:e,enabledModelsFetched:t,selectedProjectId:n,projects:r,selectedThreadId:i,paneModelSelections:a,paneId:o,projectModelSelections:s,selectedModelIdRef:c,selectedModelProviderRef:l,setAvailableModels:u,setSelectedModel:d,selectModel:f}){let p=n?r.find(e=>e.projectId===n):void 0,m=p?.threads.find(e=>e.threadId===i),h=i?a[o]:void 0,g=i?s[i]:void 0;if(e.length===0){t&&(u([]),d(null));return}u(e);let _=Sy({availableModels:e,paneModel:h,storedThreadModel:g,currentThreadModelId:m?.model,currentThreadModelProvider:m?.modelProvider,projectLastSelectedModelId:p?.lastSelectedModel,projectLastSelectedModelProvider:p?.lastSelectedModelProvider}),v=_.model;if(!v)return;let y=c.current===v.id&&l.current===v.provider;if(_.pinPane||_.persistFallback){f(v,{persist:_.persistFallback,pinPane:_.pinPane});return}y||d(v)}function zy(e){let t=(0,Q.c)(47),{dispatch:n,paneId:r,selectedThreadId:i,selectedProjectId:a,projects:o,projectModelSelections:s,paneModelSelections:c,configUpdatedAt:l,imageMode:u}=e,{models:d,isFetched:f}=vy(l),{models:p,isFetched:m}=yy(l,u),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,_]=(0,Z.useState)(h),v;t[1]!==r||t[2]!==c||t[3]!==s||t[4]!==i?(v=()=>(i?c[r]??s[i]:void 0)??null,t[1]=r,t[2]=c,t[3]=s,t[4]=i,t[5]=v):v=t[5];let[y,b]=(0,Z.useState)(v),x=(0,Z.useRef)(y?.id??``),S=(0,Z.useRef)(y?.provider??``),C=(0,Z.useRef)(null),w;t[6]!==y?.id||t[7]!==y?.provider?(w=()=>{x.current=y?.id??``,S.current=y?.provider??``},t[6]=y?.id,t[7]=y?.provider,t[8]=w):w=t[8];let T=y?.id,E=y?.provider,D;t[9]!==T||t[10]!==E?(D=[T,E],t[9]=T,t[10]=E,t[11]=D):D=t[11],(0,Z.useEffect)(w,D);let O;t[12]!==n||t[13]!==r||t[14]!==a||t[15]!==i?(O=(e,t)=>{b(e),Iy({dispatch:n,paneId:r,selectedThreadId:i,selectedProjectId:a,model:e,shouldPersist:t?.persist!==!1,shouldPinPane:t?.pinPane??!0,pendingModelPersistenceRef:C})},t[12]=n,t[13]=r,t[14]=a,t[15]=i,t[16]=O):O=t[16];let k=O,A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],t[17]=A):A=t[17];let[j,M]=(0,Z.useState)(A),[N,P]=(0,Z.useState)(null),F;t[18]!==n||t[19]!==r||t[20]!==c||t[21]!==s||t[22]!==i?(F=async function(e,t){await Ly({model:e,effort:t,dispatch:n,paneId:r,selectedThreadId:i,paneModelSelections:c,projectModelSelections:s,setAvailableModels:_,setSelectedModel:b,setAvailableImageModels:M,setSelectedImageModel:P})},t[18]=n,t[19]=r,t[20]=c,t[21]=s,t[22]=i,t[23]=F):F=t[23];let I=F,L,R;t[24]!==d||t[25]!==f||t[26]!==r||t[27]!==c||t[28]!==s||t[29]!==o||t[30]!==k||t[31]!==a||t[32]!==i?(L=()=>{Ry({allEnabledModels:d,enabledModelsFetched:f,selectedProjectId:a,projects:o,selectedThreadId:i,paneModelSelections:c,paneId:r,projectModelSelections:s,selectedModelIdRef:x,selectedModelProviderRef:S,setAvailableModels:_,setSelectedModel:b,selectModel:k})},R=[i,a,o,s,r,c,d,f,k],t[24]=d,t[25]=f,t[26]=r,t[27]=c,t[28]=s,t[29]=o,t[30]=k,t[31]=a,t[32]=i,t[33]=L,t[34]=R):(L=t[33],R=t[34]),(0,Z.useEffect)(L,R);let z,B;t[35]!==p||t[36]!==m||t[37]!==u?(z=()=>{!u||!m||(M(p),P(e=>Cy(e,p)))},B=[u,m,p],t[35]=p,t[36]=m,t[37]=u,t[38]=z,t[39]=B):(z=t[38],B=t[39]),(0,Z.useEffect)(z,B);let V;return t[40]!==j||t[41]!==g||t[42]!==k||t[43]!==N||t[44]!==y||t[45]!==I?(V={availableModels:g,setAvailableModels:_,selectedModel:y,setSelectedModel:k,updateModelReasoningEffort:I,selectedModelIdRef:x,availableImageModels:j,setAvailableImageModels:M,selectedImageModel:N,setSelectedImageModel:P},t[40]=j,t[41]=g,t[42]=k,t[43]=N,t[44]=y,t[45]=I,t[46]=V):V=t[46],V}function By(){let e=(0,Q.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),i;return e[1]===n?i=e[2]:(i={attachments:n,setAttachments:r},e[1]=n,e[2]=i),i}function Vy(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let[i,a]=(0,Z.useState)(r),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(0),f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],t[1]=f):f=t[1];let[p,m]=(0,Z.useState)(f),h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[2]=h):h=t[2];let[g,_]=(0,Z.useState)(h),v;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(v=[],t[3]=v):v=t[3];let[y,b]=(0,Z.useState)(v),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(``),D,O;t[4]===n?(D=t[5],O=t[6]):(D=()=>{n&&Xo(n).then(e=>{let{commands:t,skills:n,bundledSkills:r}=e;by.debug(`Loaded slash commands and skills`,{commands:t,skills:n,bundledSkills:r}),m(t),_(n),b(r)}).catch(Uy)},O=[n],t[4]=n,t[5]=D,t[6]=O),(0,Z.useEffect)(D,O);let k=(0,Z.useRef)(!1),A,j;t[7]!==n||t[8]!==C?(A=()=>{C&&!k.current&&n&&Xo(n).then(e=>{let{commands:t,skills:n,bundledSkills:r}=e;m(t),_(n),b(r)}).catch(Hy),k.current=C},j=[C,n],t[7]=n,t[8]=C,t[9]=A,t[10]=j):(A=t[9],j=t[10]),(0,Z.useEffect)(A,j);let M;return t[11]!==i||t[12]!==x||t[13]!==y||t[14]!==T||t[15]!==u||t[16]!==C||t[17]!==o||t[18]!==g||t[19]!==p||t[20]!==c?(M={allFiles:i,setAllFiles:a,showSuggestions:o,setShowSuggestions:s,suggestionQuery:c,setSuggestionQuery:l,selectedIndex:u,setSelectedIndex:d,slashCommands:p,setSlashCommands:m,skills:g,setSkills:_,bundledSkills:y,setBundledSkills:b,bundledSkillMode:x,setBundledSkillMode:S,showCommandSuggestions:C,setShowCommandSuggestions:w,commandQuery:T,setCommandQuery:E},t[11]=i,t[12]=x,t[13]=y,t[14]=T,t[15]=u,t[16]=C,t[17]=o,t[18]=g,t[19]=p,t[20]=c,t[21]=M):M=t[21],M}function Hy(e){return by.error(`Failed to refresh slash commands and skills:`,e)}function Uy(e){return by.error(`Failed to load slash commands and skills`,{err:e})}function Wy(){let e=(0,Q.c)(1),t=(0,Z.useRef)(null),n=(0,Z.useRef)(null),r=(0,Z.useRef)(null),i=(0,Z.useRef)(null),a;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={fileInputRef:t,textareaRef:n,suggestionsRef:r,commandSuggestionsRef:i},e[0]=a):a=e[0],a}function Gy(){let e=(0,Q.c)(7),[t,n]=(0,Z.useState)(!1),[r,i]=(0,Z.useState)(!1),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s,c;e[0]!==t||e[1]!==r?(s=()=>{let e=e=>{a.current&&!a.current.contains(e.target)&&n(!1),o.current&&!o.current.contains(e.target)&&i(!1)};if(t||r)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},c=[t,r],e[0]=t,e[1]=r,e[2]=s,e[3]=c):(s=e[2],c=e[3]),(0,Z.useEffect)(s,c);let l;return e[4]!==t||e[5]!==r?(l={showModelMenu:t,setShowModelMenu:n,showPlusMenu:r,setShowPlusMenu:i,modelMenuRef:a,plusMenuRef:o},e[4]=t,e[5]=r,e[6]=l):l=e[6],l}function Ky(e){let t=(0,Q.c)(25),{selectedThreadId:n,paneId:r,dispatch:i,projectChatMode:a,applyChatMode:o,messageRef:s,chatInputDraftsRef:c,mountedRef:l,setMessage:u,setAllFiles:d,setShowSuggestions:f,setSlashCommands:p,setSkills:m,setBundledSkills:h,setBundledSkillMode:g,setShowCommandSuggestions:_}=e,[v,y]=(0,Z.useState)(n),b;t[0]!==o||t[1]!==c||t[2]!==i||t[3]!==s||t[4]!==l||t[5]!==r||t[6]!==v||t[7]!==a||t[8]!==n||t[9]!==d||t[10]!==g||t[11]!==h||t[12]!==u||t[13]!==_||t[14]!==f||t[15]!==m||t[16]!==p?(b=()=>{if(n!==v){v&&s.current.trim()&&c.current[xy(v,r)]!==s.current&&i({type:Y.SetChatInputDraft,threadId:xy(v,r),draft:s.current});let e=!1;return queueMicrotask(()=>{e||!l.current||(y(n),u(n?c.current[xy(n,r)]??``:``),d([]),f(!1),p([]),m([]),h([]),g(!1),_(!1),o(a))}),()=>{e=!0}}},t[0]=o,t[1]=c,t[2]=i,t[3]=s,t[4]=l,t[5]=r,t[6]=v,t[7]=a,t[8]=n,t[9]=d,t[10]=g,t[11]=h,t[12]=u,t[13]=_,t[14]=f,t[15]=m,t[16]=p,t[17]=b):b=t[17];let x;t[18]!==o||t[19]!==i||t[20]!==r||t[21]!==v||t[22]!==a||t[23]!==n?(x=[n,v,r,i,o,a],t[18]=o,t[19]=i,t[20]=r,t[21]=v,t[22]=a,t[23]=n,t[24]=x):x=t[24],(0,Z.useEffect)(b,x)}function qy(e){let t=(0,Q.c)(19),{textareaRef:n,message:r,focusChatInput:i,selectedThreadId:a,isStreaming:o,paneId:s,focusedPane:c,dispatch:l}=e,u;t[0]===n?u=t[1]:(u=()=>{let e=n.current;e&&dy(e)},t[0]=n,t[1]=u);let d;t[2]===r?d=t[3]:(d=[r],t[2]=r,t[3]=d),(0,Z.useLayoutEffect)(u,d);let f;t[4]!==l||t[5]!==i||t[6]!==c||t[7]!==o||t[8]!==s||t[9]!==a||t[10]!==n?(f=()=>{if(!i||!a||o||s!==c)return;let e=n.current;e&&(e.focus(),l({type:Y.ClearFocusChatInput}))},t[4]=l,t[5]=i,t[6]=c,t[7]=o,t[8]=s,t[9]=a,t[10]=n,t[11]=f):f=t[11];let p;t[12]!==l||t[13]!==i||t[14]!==c||t[15]!==o||t[16]!==s||t[17]!==a?(p=[i,a,o,s,c,l],t[12]=l,t[13]=i,t[14]=c,t[15]=o,t[16]=s,t[17]=a,t[18]=p):p=t[18],(0,Z.useEffect)(f,p)}function Jy(e){let t=(0,Q.c)(118),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{initialValue:r}=n,{dispatch:i,paneId:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectModelSelections:l,paneModelSelections:u,chatInputDrafts:d,configUpdatedAt:f,focusChatInput:p,focusedPane:m,isStreaming:h}=wy(),g;if(t[2]!==c||t[3]!==s){let e;t[5]===s?e=t[6]:(e=e=>e.projectId===s,t[5]=s,t[6]=e),g=c.find(e),t[2]=c,t[3]=s,t[4]=g}else g=t[4];let _=g,v;t[7]!==d||t[8]!==i||t[9]!==r||t[10]!==a||t[11]!==o?(v={initialValue:r,selectedThreadId:o,paneId:a,chatInputDrafts:d,dispatch:i},t[7]=d,t[8]=i,t[9]=r,t[10]=a,t[11]=o,t[12]=v):v=t[12];let y=Py(v),b;t[13]!==_||t[14]!==s?(b={selectedProject:_,selectedProjectId:s},t[13]=_,t[14]=s,t[15]=b):b=t[15];let x=Fy(b),S;t[16]!==f||t[17]!==i||t[18]!==x.imageMode||t[19]!==a||t[20]!==u||t[21]!==l||t[22]!==c||t[23]!==s||t[24]!==o?(S={dispatch:i,paneId:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectModelSelections:l,paneModelSelections:u,configUpdatedAt:f,imageMode:x.imageMode},t[16]=f,t[17]=i,t[18]=x.imageMode,t[19]=a,t[20]=u,t[21]=l,t[22]=c,t[23]=s,t[24]=o,t[25]=S):S=t[25];let C=zy(S),{attachments:w,setAttachments:T}=By(),E;t[26]===o?E=t[27]:(E={selectedThreadId:o},t[26]=o,t[27]=E);let D=Vy(E),O=Wy(),k=Gy(),A;t[28]!==D.setAllFiles||t[29]!==D.setBundledSkillMode||t[30]!==D.setBundledSkills||t[31]!==D.setShowCommandSuggestions||t[32]!==D.setShowSuggestions||t[33]!==D.setSkills||t[34]!==D.setSlashCommands||t[35]!==i||t[36]!==x.applyChatMode||t[37]!==x.projectChatMode||t[38]!==a||t[39]!==o||t[40]!==y.chatInputDraftsRef||t[41]!==y.messageRef||t[42]!==y.mountedRef||t[43]!==y.setMessage?(A={selectedThreadId:o,paneId:a,dispatch:i,projectChatMode:x.projectChatMode,applyChatMode:x.applyChatMode,messageRef:y.messageRef,chatInputDraftsRef:y.chatInputDraftsRef,mountedRef:y.mountedRef,setMessage:y.setMessage,setAllFiles:D.setAllFiles,setShowSuggestions:D.setShowSuggestions,setSlashCommands:D.setSlashCommands,setSkills:D.setSkills,setBundledSkills:D.setBundledSkills,setBundledSkillMode:D.setBundledSkillMode,setShowCommandSuggestions:D.setShowCommandSuggestions},t[28]=D.setAllFiles,t[29]=D.setBundledSkillMode,t[30]=D.setBundledSkills,t[31]=D.setShowCommandSuggestions,t[32]=D.setShowSuggestions,t[33]=D.setSkills,t[34]=D.setSlashCommands,t[35]=i,t[36]=x.applyChatMode,t[37]=x.projectChatMode,t[38]=a,t[39]=o,t[40]=y.chatInputDraftsRef,t[41]=y.messageRef,t[42]=y.mountedRef,t[43]=y.setMessage,t[44]=A):A=t[44],Ky(A);let j;t[45]!==i||t[46]!==p||t[47]!==m||t[48]!==h||t[49]!==a||t[50]!==O.textareaRef||t[51]!==o||t[52]!==y.message?(j={textareaRef:O.textareaRef,message:y.message,focusChatInput:p,selectedThreadId:o,isStreaming:h,paneId:a,focusedPane:m,dispatch:i},t[45]=i,t[46]=p,t[47]=m,t[48]=h,t[49]=a,t[50]=O.textareaRef,t[51]=o,t[52]=y.message,t[53]=j):j=t[53],qy(j);let M;return t[54]!==w||t[55]!==D.allFiles||t[56]!==D.bundledSkillMode||t[57]!==D.bundledSkills||t[58]!==D.commandQuery||t[59]!==D.selectedIndex||t[60]!==D.setAllFiles||t[61]!==D.setBundledSkillMode||t[62]!==D.setBundledSkills||t[63]!==D.setCommandQuery||t[64]!==D.setSelectedIndex||t[65]!==D.setShowCommandSuggestions||t[66]!==D.setShowSuggestions||t[67]!==D.setSkills||t[68]!==D.setSlashCommands||t[69]!==D.setSuggestionQuery||t[70]!==D.showCommandSuggestions||t[71]!==D.showSuggestions||t[72]!==D.skills||t[73]!==D.slashCommands||t[74]!==D.suggestionQuery||t[75]!==i||t[76]!==k.modelMenuRef||t[77]!==k.plusMenuRef||t[78]!==k.setShowModelMenu||t[79]!==k.setShowPlusMenu||t[80]!==k.showModelMenu||t[81]!==k.showPlusMenu||t[82]!==x.autoMode||t[83]!==x.imageMode||t[84]!==x.orchestrateMode||t[85]!==x.planMode||t[86]!==x.ralphMode||t[87]!==x.setAutoMode||t[88]!==x.setImageMode||t[89]!==x.setOrchestrateMode||t[90]!==x.setPlanMode||t[91]!==x.setRalphMode||t[92]!==C.availableImageModels||t[93]!==C.availableModels||t[94]!==C.selectedImageModel||t[95]!==C.selectedModel||t[96]!==C.selectedModelIdRef||t[97]!==C.setAvailableImageModels||t[98]!==C.setAvailableModels||t[99]!==C.setSelectedImageModel||t[100]!==C.setSelectedModel||t[101]!==C.updateModelReasoningEffort||t[102]!==O.commandSuggestionsRef||t[103]!==O.fileInputRef||t[104]!==O.suggestionsRef||t[105]!==O.textareaRef||t[106]!==o||t[107]!==T||t[108]!==y.cursorPosition||t[109]!==y.draftMessage||t[110]!==y.historyIndex||t[111]!==y.message||t[112]!==y.messageRef||t[113]!==y.setCursorPosition||t[114]!==y.setDraftMessage||t[115]!==y.setHistoryIndex||t[116]!==y.setMessage?(M={message:y.message,setMessage:y.setMessage,historyIndex:y.historyIndex,setHistoryIndex:y.setHistoryIndex,draftMessage:y.draftMessage,setDraftMessage:y.setDraftMessage,cursorPosition:y.cursorPosition,setCursorPosition:y.setCursorPosition,availableModels:C.availableModels,setAvailableModels:C.setAvailableModels,selectedModel:C.selectedModel,setSelectedModel:C.setSelectedModel,updateModelReasoningEffort:C.updateModelReasoningEffort,selectedModelIdRef:C.selectedModelIdRef,showModelMenu:k.showModelMenu,setShowModelMenu:k.setShowModelMenu,showPlusMenu:k.showPlusMenu,setShowPlusMenu:k.setShowPlusMenu,attachments:w,setAttachments:T,planMode:x.planMode,setPlanMode:x.setPlanMode,ralphMode:x.ralphMode,setRalphMode:x.setRalphMode,orchestrateMode:x.orchestrateMode,setOrchestrateMode:x.setOrchestrateMode,autoMode:x.autoMode,setAutoMode:x.setAutoMode,imageMode:x.imageMode,setImageMode:x.setImageMode,availableImageModels:C.availableImageModels,setAvailableImageModels:C.setAvailableImageModels,selectedImageModel:C.selectedImageModel,setSelectedImageModel:C.setSelectedImageModel,allFiles:D.allFiles,setAllFiles:D.setAllFiles,showSuggestions:D.showSuggestions,setShowSuggestions:D.setShowSuggestions,suggestionQuery:D.suggestionQuery,setSuggestionQuery:D.setSuggestionQuery,selectedIndex:D.selectedIndex,setSelectedIndex:D.setSelectedIndex,slashCommands:D.slashCommands,setSlashCommands:D.setSlashCommands,skills:D.skills,setSkills:D.setSkills,bundledSkills:D.bundledSkills,setBundledSkills:D.setBundledSkills,bundledSkillMode:D.bundledSkillMode,setBundledSkillMode:D.setBundledSkillMode,showCommandSuggestions:D.showCommandSuggestions,setShowCommandSuggestions:D.setShowCommandSuggestions,commandQuery:D.commandQuery,setCommandQuery:D.setCommandQuery,messageRef:y.messageRef,fileInputRef:O.fileInputRef,textareaRef:O.textareaRef,modelMenuRef:k.modelMenuRef,plusMenuRef:k.plusMenuRef,suggestionsRef:O.suggestionsRef,commandSuggestionsRef:O.commandSuggestionsRef,selectedThreadId:o,dispatch:i},t[54]=w,t[55]=D.allFiles,t[56]=D.bundledSkillMode,t[57]=D.bundledSkills,t[58]=D.commandQuery,t[59]=D.selectedIndex,t[60]=D.setAllFiles,t[61]=D.setBundledSkillMode,t[62]=D.setBundledSkills,t[63]=D.setCommandQuery,t[64]=D.setSelectedIndex,t[65]=D.setShowCommandSuggestions,t[66]=D.setShowSuggestions,t[67]=D.setSkills,t[68]=D.setSlashCommands,t[69]=D.setSuggestionQuery,t[70]=D.showCommandSuggestions,t[71]=D.showSuggestions,t[72]=D.skills,t[73]=D.slashCommands,t[74]=D.suggestionQuery,t[75]=i,t[76]=k.modelMenuRef,t[77]=k.plusMenuRef,t[78]=k.setShowModelMenu,t[79]=k.setShowPlusMenu,t[80]=k.showModelMenu,t[81]=k.showPlusMenu,t[82]=x.autoMode,t[83]=x.imageMode,t[84]=x.orchestrateMode,t[85]=x.planMode,t[86]=x.ralphMode,t[87]=x.setAutoMode,t[88]=x.setImageMode,t[89]=x.setOrchestrateMode,t[90]=x.setPlanMode,t[91]=x.setRalphMode,t[92]=C.availableImageModels,t[93]=C.availableModels,t[94]=C.selectedImageModel,t[95]=C.selectedModel,t[96]=C.selectedModelIdRef,t[97]=C.setAvailableImageModels,t[98]=C.setAvailableModels,t[99]=C.setSelectedImageModel,t[100]=C.setSelectedModel,t[101]=C.updateModelReasoningEffort,t[102]=O.commandSuggestionsRef,t[103]=O.fileInputRef,t[104]=O.suggestionsRef,t[105]=O.textareaRef,t[106]=o,t[107]=T,t[108]=y.cursorPosition,t[109]=y.draftMessage,t[110]=y.historyIndex,t[111]=y.message,t[112]=y.messageRef,t[113]=y.setCursorPosition,t[114]=y.setDraftMessage,t[115]=y.setHistoryIndex,t[116]=y.setMessage,t[117]=M):M=t[117],M}var Yy=e=>{Gr(e)},Xy=`pending-auto-route`;function Zy(e){return{messageId:Xy,sender:`user`,content:e.prompt,contentType:`text`,timestamp:e.startedAt,attachments:e.attachments}}function Qy(e){return{id:e.model,provider:e.provider}}function $y(e,t,n){switch(e){case`cheap`:{let r=en(`cheap`,t);return{decision:e,model:r?Qy(r):n}}case`smart`:{let r=ue(t);return{decision:e,model:r?Qy(r):n}}default:return{decision:`default`,model:n}}}var eb=`/orchestrate`,tb=/^\s*\/orchestrate(?:\s|$)/i;function nb(e){return tb.test(e)}function rb(e){if(nb(e))return e;let t=e.trimStart();return t?`${eb} ${t}`:`${eb} `}var ib=Ut(`app.use-chat-input-handlers.hook`);function ab(e,t){return t===`primary`?e:`${e}:${t}`}function ob({message:e,setMessage:t,userTasks:n,onMatchedUserTaskSend:r,attachments:i,selectedModel:a,onSend:o,isStreaming:s,selectedThreadId:c,isListening:l,stopListening:u,resetTranscript:d,dispatch:f,historyIndex:p,setHistoryIndex:m,draftMessage:h,setDraftMessage:g,cursorPosition:_,setCursorPosition:v,showSuggestions:y,setShowSuggestions:b,suggestionQuery:x,setSuggestionQuery:S,allFiles:C,setAllFiles:w,selectedIndex:T,setSelectedIndex:E,showCommandSuggestions:D,setShowCommandSuggestions:O,commandQuery:k,setCommandQuery:A,slashCommands:j,skills:M,bundledSkills:N,bundledSkillMode:P,setBundledSkillMode:F,messageRef:I,textareaRef:L,setAttachments:R,planMode:z,setPlanMode:B,ralphMode:V,setRalphMode:H,orchestrateMode:ee,setOrchestrateMode:te,autoMode:ne,setAutoMode:re,modelAliases:ie,onAutoRouteResolved:ae,ensureCanOrchestrate:oe,requestOrchestrateMode:se,imageMode:U,setImageMode:ce,selectedImageModel:le,hasConversationMessages:ue,isFirstUserPrompt:W}){let{paneId:de}=wv(),{toast:fe}=ic(),[pe,me]=(0,Z.useState)(!1),he=(0,Z.useCallback)(()=>{t(``),I.current=``,R([]),m(-1),g(``),c&&f({type:Y.ClearChatInputDraft,threadId:ab(c,de)}),L.current&&(L.current.style.height=`auto`)},[f,I,de,c,R,g,m,t,L]),ge=(0,Z.useCallback)((e,n)=>{I.current.trim()||(t(e),I.current=e,R(n),L.current?.focus())},[I,R,t,L]),_e=(0,Z.useCallback)(async()=>{if(pe||!e.trim()&&i.length===0||!c)return;let t=U?le:a;if(!t)return;let p=e,m=i,h=ne&&!U&&W,g=h&&!s;function _(){!g||!c||f({type:Y.EndAutoRoute,threadId:c,paneId:de})}function v(){_(),g&&ge(p,m)}let y=null;if(h){me(!0),g&&(he(),f({type:Y.StartAutoRoute,route:{threadId:c,paneId:de,prompt:p,attachments:m,startedAt:new Date().toISOString()}}));try{y=$y(await Ei(c,p),ie,t),ae?.(y)}catch(e){ib.warn(`Auto routing failed; returning the prompt to the composer`,{err:e}),v(),fe({title:`Couldn't pick a model`,description:`Send again, or choose a model yourself.`,variant:`destructive`});return}finally{me(!1)}}let b=y?.model??t;if(ee&&!oe()){v();return}let x=ee?rb(p):p;l&&(u(),d()),s?f({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:c,paneId:de,message:x,model:b.id,attachments:m,provider:b.provider,planMode:z,imageMode:U,ralphMode:V,orchestrateMode:ee}}):o(x,b.id,m,b.provider,z,U,V,ee),_(),Yy(p),g||he();let S=n.find(e=>e.content===x);S&&r?.(S)},[e,i,a,o,l,u,d,s,f,c,de,he,ge,fe,z,V,ee,ne,ie,ae,oe,U,le,n,r,pe,W]),ve=(0,Z.useCallback)(n=>{let r=e.substring(0,_-x.length-1);t(`${r}${n} ${e.substring(_)}`),b(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=r.length+n.length+1;L.current.setSelectionRange(e,e)}},0)},[e,_,x,t,b,L]),ye=(0,Z.useCallback)(n=>{let r=n.metadata.mode===`orchestrate`;if(r&&!se()){O(!1);return}let i=n.metadata.action===`compact`?`/compact`:n.metadata.action===`send-event`?`/send-event `:r?``:n.content,a=e.substring(0,_-k.length-1);t(`${a}${i}${e.substring(_)}`),O(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=a.length+i.length;L.current.setSelectionRange(e,e)}},0),n.metadata.mode===`plan`?(B(!0),H(!1),te(!1),ce(!1),re(!1)):n.metadata.mode===`ralph`?(H(!0),B(!1),te(!1),ce(!1),re(!1)):n.metadata.mode===`orchestrate`&&(B(!1),H(!1),ce(!1),re(!1))},[e,_,k,t,O,B,H,te,ce,re,se,L]),be=(0,Z.useCallback)(e=>e.scope===`bundled`?`//${e.name}`:e.name.includes(` `)?`/"${e.name}"`:`/${e.name}`,[]),xe=(0,Z.useCallback)(n=>{let r=P?k.length+2:k.length+1,i=e.substring(0,_-r),a=e.substring(_),o=be(n);t(`${i}${o}${a}`),O(!1),F(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+o.length;L.current.setSelectionRange(e,e)}},0)},[e,_,k,P,be,t,O,F,L]),Se=(0,Z.useCallback)(n=>{let r=`/${n.name}`,i=e.substring(0,_);t(`${i}${r}${e.substring(_)}`),O(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+r.length;L.current.setSelectionRange(e,e)}},0)},[e,_,t,O,L]),Ce=(0,Z.useCallback)(n=>{let r=be(n),i=e.substring(0,_);t(`${i}${r}${e.substring(_)}`),O(!1),F(!1),setTimeout(()=>{if(L.current){L.current.focus();let e=i.length+r.length;L.current.setSelectionRange(e,e)}},0)},[e,_,be,t,O,F,L]),we=n=>{if(D){if(n.key===`ArrowDown`){n.preventDefault(),E((T+1)%ke.length);return}if(n.key===`ArrowUp`){n.preventDefault(),E((T-1+ke.length)%ke.length);return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault();let e=ke[T];e&&(e.type===`command`?ye(e.data):xe(e.data));return}if(n.key===`Escape`){O(!1);return}}if(y){let e=Ae.length>0;if(n.key===`ArrowDown`&&e){n.preventDefault(),E((T+1)%Ae.length);return}if(n.key===`ArrowUp`&&e){n.preventDefault(),E((T-1+Ae.length)%Ae.length);return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault(),Ae[T]&&ve(Ae[T]);return}if(n.key===`Escape`){b(!1);return}}if(n.key===`Enter`&&!n.shiftKey){n.preventDefault(),_e();return}let r=So();r.length!==0&&(n.key===`ArrowUp`?(n.preventDefault(),p===-1?(g(e),m(r.length-1),t(r[r.length-1])):p>0&&(m(p-1),t(r[p-1]))):n.key===`ArrowDown`&&(n.preventDefault(),p>0?(m(p-1),t(r[p-1])):p===0&&(m(-1),t(h))))},Te=e=>{let n=e.target.value,r=e.target.selectionStart;t(n),v(r);let i=n.substring(0,r),a=i.lastIndexOf(`//`);if(a!==-1){let t=a>0?i[a-1]:``;if(a===0||/\s/.test(t)){let t=i.substring(a+2);if(!t.includes(` `)){A(t),F(!0),O(!0),b(!1),E(0),dy(e.target);return}}}F(!1);let o=i.lastIndexOf(`/`),s=!1;if(o!==-1){let e=o>0?i[o-1]:``;if(o===0||/\s/.test(e)){let e=i.substring(o+1);e.includes(` `)?O(!1):(s=!0,A(e),O(!0),b(!1),E(0))}else O(!1)}else O(!1);if(!s){let e=i.lastIndexOf(`@`);if(e!==-1){let t=e>0?i[e-1]:``;if(e===0||/\s/.test(t)){let t=i.substring(e+1);t.includes(` `)?b(!1):(S(t),b(!0),E(0),C.length===0&&c&&$a(c).then(e=>{w(e)}).catch(e=>ib.error(`Failed to fetch files:`,e)))}else b(!1)}else b(!1)}dy(e.target)},Ee=k.toLowerCase(),De=j.filter(e=>e.metadata.action===`compact`&&!ue?!1:e.name.toLowerCase().includes(Ee)).sort((e,t)=>Number(!!t.isBuiltIn)-Number(!!e.isBuiltIn)),Oe=(P?N:M).filter(e=>e.name.toLowerCase().includes(Ee)),ke=[...P?[]:De.map(e=>({type:`command`,data:e})),...Oe.map(e=>({type:`skill`,data:e}))],Ae=y?C.filter(e=>e.toLowerCase().includes(x.toLowerCase())).slice(0,10):[];return{handleSend:_e,handleKeyDown:we,handleTextareaInput:Te,insertFileReference:ve,insertCommand:ye,insertSkill:xe,insertSkillAtCursor:Ce,insertSlashCommandAtCursor:Se,allSuggestions:ke,fileSuggestions:Ae,isRouting:pe}}var sb=1;function cb(e){let t=window.getComputedStyle(e);return(parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5)+parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}function lb(e,t){let n=e.style.width,r=e.style.height,i=e.style.minHeight;e.style.width=`${t}px`,e.style.minHeight=`0px`,e.style.height=`auto`;let a=e.scrollHeight>cb(e)+sb;return e.style.width=n,e.style.minHeight=i,e.style.height=r,a}function ub({message:e,forceMultiline:t,textareaRef:n,rowRef:r}){let[i,a]=(0,Z.useState)(!0),o=(0,Z.useRef)(!0),s=(0,Z.useRef)(t),c=(0,Z.useRef)(null);return s.current=t,(0,Z.useLayoutEffect)(function(){o.current=i},[i]),(0,Z.useLayoutEffect)(function(){let e=n.current,t=r.current;if(!e||!t)return;let i=e,l=t;function u(){let e=o.current;if(e&&(c.current=l.clientWidth-i.offsetWidth),s.current){e&&(o.current=!1,a(!1)),dy(i);return}let t=c.current;if(t===null){dy(i);return}let n=!lb(i,Math.max(0,l.clientWidth-t));n!==e&&(o.current=n,a(n)),dy(i)}u();let d=null;function f(){d===null&&(d=requestAnimationFrame(function(){d=null,u()}))}let p=new ResizeObserver(f);return p.observe(l),function(){d!==null&&cancelAnimationFrame(d),p.disconnect()}},[e,t,r,n]),i&&!t}function db(e){let t=(0,Q.c)(17),{visible:n,suggestions:r,skillReferencePrefix:i,query:a,selectedIndex:o,onSelectCommand:s,onSelectSkill:c,onMouseEnterSuggestion:l,containerRef:u}=e,d=i===void 0?`/`:i;if(!n)return null;let f=d===`//`,p,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),m=(0,$.jsx)(le,{className:`h-3 w-3`}),t[0]=p,t[1]=m):(p=t[0],m=t[1]);let h=f?`Bundled Skills`:`Skills & Commands`,g=a&&` matching "${a}"`,_;t[2]!==h||t[3]!==g?(_=(0,$.jsxs)(`div`,{className:p,children:[m,h,g]}),t[2]=h,t[3]=g,t[4]=_):_=t[4];let v;t[5]!==f||t[6]!==l||t[7]!==s||t[8]!==c||t[9]!==o||t[10]!==d||t[11]!==r?(v=r.length>0?(()=>{let e=[],t=!1,n=!1;return r.forEach((r,i)=>{let a=i===o;if(r.type===`command`&&!n&&(n=!0,e.push((0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 pt-2`),children:`Commands`},`group-commands`))),r.type===`skill`&&!t&&(t=!0,e.push((0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 pt-2`),children:`Skills`},`group-skills`))),r.type===`command`){let t=r.data;e.push((0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg px-3 py-2 text-left transition-colors`,a?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>s(t),onMouseEnter:()=>l(i),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-medium`,children:[`/`,t.name]}),t.metadata.argumentHint&&(0,$.jsx)(`span`,{className:U.compact,children:t.metadata.argumentHint})]}),t.metadata.description&&(0,$.jsx)(`span`,{className:U.compact,children:t.metadata.description})]},`cmd-${t.name}`))}else{let t=r.data;e.push((0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg px-3 py-2 text-left transition-colors`,a?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>c(t),onMouseEnter:()=>l(i),children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`span`,{className:`font-medium`,children:[d,t.name]})}),(0,$.jsx)(`span`,{className:U.compact,children:t.description})]},`skill-${t.name}`))}}),e})():(0,$.jsxs)(`div`,{className:G(U.compact,`px-3 py-4 text-center text-muted-foreground`),children:[f?`No bundled skills found.`:`No commands or skills found.`,(0,$.jsx)(`br`,{}),(0,$.jsxs)(`span`,{className:U.compact,children:[f?(0,$.jsx)($.Fragment,{children:`Use bundled skills with syntax like `}):(0,$.jsx)($.Fragment,{children:`Create commands in `}),f?(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`//skill-name`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`.agents/commands/`}),` or skills in`,` `,(0,$.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`.agents/skills/`})]})]})]}),t[5]=f,t[6]=l,t[7]=s,t[8]=c,t[9]=o,t[10]=d,t[11]=r,t[12]=v):v=t[12];let y;return t[13]!==u||t[14]!==_||t[15]!==v?(y=(0,$.jsxs)(`div`,{ref:u,className:`absolute bottom-full left-0 mb-2 w-full max-h-64 overflow-y-auto rounded-xl border border-border bg-popover p-1 shadow-lg z-50 animate-in fade-in slide-in-from-bottom-2`,children:[_,v]}),t[13]=u,t[14]=_,t[15]=v,t[16]=y):y=t[16],y}function fb(e){return e.startsWith(`image/`)}function pb(e){return e.startsWith(`video/`)}function mb(e){return e.startsWith(`audio/`)}function hb(e){let t=(0,Q.c)(7),{attachments:n,onRemove:r}=e;if(n.length===0)return null;let i;if(t[0]!==n||t[1]!==r){let e;t[3]===r?e=t[4]:(e=(e,t)=>(0,$.jsx)(`div`,{className:G(U.compact,`group relative flex items-center gap-1 rounded-md bg-muted text-muted-foreground`),children:fb(e.mimeType)?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(`img`,{src:`data:${e.mimeType};base64,${e.content}`,alt:e.fileName,className:`h-16 w-16 rounded-md object-cover`}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-foreground text-background opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,$.jsx)(nt,{className:`h-2.5 w-2.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):pb(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(k,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):mb(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(Te,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(It,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(nt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]})},t),t[3]=r,t[4]=e),i=n.map(e),t[0]=n,t[1]=r,t[2]=i}else i=t[2];let a;return t[5]===i?a=t[6]:(a=(0,$.jsx)(`div`,{className:`mb-2 flex flex-wrap gap-1.5`,children:i}),t[5]=i,t[6]=a),a}function gb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function _b(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}K`:e.toString()}var vb=[{key:`systemPrompt`,label:`System prompt`,color:`#9CA3AF`},{key:`toolDefinitions`,label:`Tool definitions`,color:`#B088F0`},{key:`rules`,label:`Rules`,color:`#88D088`},{key:`skills`,label:`Skills`,color:`#D0A000`},{key:`subagentDefinitions`,label:`Subagent definitions`,color:`#2080D0`},{key:`conversation`,label:`Conversation`,color:`#E09030`}];function yb(e){return typeof e.effectiveWindow==`number`&&e.effectiveWindow>0?e.effectiveWindow:e.contextWindow}function bb(e,t=e.actualUsage){return t?{tokens:t.tokens,contextWindow:t.contextWindow,percent:Math.round(t.percent),isActual:!0}:{tokens:e.totalTokens,contextWindow:yb(e),percent:e.percentageFull,isActual:!1}}function xb({breakdown:e,actualUsage:t=e.actualUsage,threadId:n,conversationId:r,onClose:i,onToolDefinitionsOpen:a}){let{categories:o}=e,s=bb(e,t),c=s.tokens,l=s.percent,u=s.contextWindow,d=vb.filter(e=>o[e.key]>0),f=o.toolDefinitions>0&&n&&r;function p(){f&&a?.()}return(0,$.jsxs)(`div`,{className:`w-72 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h3`,{className:U.label,children:`Context`}),i&&(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,onClick:i,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`flex items-center justify-between text-muted-foreground`),children:[(0,$.jsxs)(`span`,{children:[l,`% Full`]}),(0,$.jsxs)(`span`,{children:[s.isActual?``:`~`,gb(c),` / `,_b(u),` Tokens`]})]}),(0,$.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted/60`,children:(0,$.jsx)(`div`,{className:`flex h-full w-full`,children:d.map(e=>{let t=o[e.key],n=u>0?t/u*100:0;return(0,$.jsx)(`div`,{style:{width:`${Math.max(n,t>0?.5:0)}%`,backgroundColor:e.color}},e.key)})})}),(0,$.jsx)(`div`,{className:`space-y-1.5`,children:vb.map(e=>{let t=e.key===`toolDefinitions`&&f;return(0,$.jsxs)(`div`,{role:t?`button`:void 0,tabIndex:t?0:void 0,onClick:t?p:void 0,onKeyDown:t?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())}:void 0,className:G(U.compact,`flex items-center justify-between text-muted-foreground`,t&&`cursor-pointer rounded-sm hover:bg-muted/50 hover:text-foreground`),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-sm`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{children:e.label}),t&&(0,$.jsx)(sn,{className:`h-3.5 w-3.5 shrink-0`})]}),(0,$.jsx)(`span`,{className:`tabular-nums`,children:gb(o[e.key])})]},e.key)})})]})}var Sb=wn,Cb=Wn,wb=Kn,Tb=Ut(`app.tool-definitions-dialog.ui`);function Eb(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Db(e){let t=(0,Q.c)(23),{tool:n}=e,[r,i]=(0,Z.useState)(!1),a;t[0]===n.parameters?a=t[1]:(a=Eb(n.parameters),t[0]=n.parameters,t[1]=a);let o=a,s=o!==`{}`&&o.length>0,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=G(U.sectionTitle,`min-w-0 break-all`),t[2]=c):c=t[2];let l;t[3]===n.name?l=t[4]:(l=(0,$.jsx)(`h3`,{className:c,children:n.name}),t[3]=n.name,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.compact,`shrink-0 tabular-nums text-muted-foreground`),t[5]=u):u=t[5];let d;t[6]===n.tokens?d=t[7]:(d=gb(n.tokens),t[6]=n.tokens,t[7]=d);let f;t[8]===d?f=t[9]:(f=(0,$.jsx)(`span`,{className:u,children:d}),t[8]=d,t[9]=f);let p;t[10]!==l||t[11]!==f?(p=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,f]}),t[10]=l,t[11]=f,t[12]=p):p=t[12];let m;t[13]===n.description?m=t[14]:(m=n.description?(0,$.jsx)(`p`,{className:G(U.compact,`mt-2 whitespace-pre-wrap text-muted-foreground select-text`),children:n.description}):(0,$.jsx)(`p`,{className:G(U.compact,`mt-2 italic text-muted-foreground`),children:`No description`}),t[13]=n.description,t[14]=m);let h;t[15]!==s||t[16]!==r||t[17]!==o?(h=s&&(0,$.jsxs)(Sb,{open:r,onOpenChange:i,className:`mt-2`,children:[(0,$.jsxs)(Cb,{className:G(U.compact,`flex items-center gap-1 text-muted-foreground hover:text-foreground`),children:[(0,$.jsx)(tn,{className:G(`h-3.5 w-3.5 transition-transform`,r&&`rotate-180`)}),`Parameters`]}),(0,$.jsx)(wb,{children:(0,$.jsx)(za,{className:`mt-2 h-48 rounded bg-muted`,children:(0,$.jsx)(`pre`,{className:G(U.compact,`p-2 font-mono whitespace-pre-wrap text-foreground`),children:o})})})]}),t[15]=s,t[16]=r,t[17]=o,t[18]=h):h=t[18];let g;return t[19]!==p||t[20]!==m||t[21]!==h?(g=(0,$.jsxs)(`div`,{className:`rounded-md border border-border/60 p-3`,children:[p,m,h]}),t[19]=p,t[20]=m,t[21]=h,t[22]=g):g=t[22],g}function Ob({open:e,onOpenChange:t,threadId:n,conversationId:r,expectedTotalTokens:i}){let[a,o]=(0,Z.useState)([]),[s,c]=(0,Z.useState)(i),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!e||!n||!r)return;let t=!1;async function i(){u(!0),f(null);try{let e=await Ar(n,r);if(t)return;o(e.tools),c(e.totalTokens)}catch(e){Tb.error(`Failed to load tool definitions breakdown`,e),t||(f(`Failed to load tool definitions`),o([]))}finally{t||u(!1)}}return i(),()=>{t=!0}},[e,n,r]),(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex h-[80dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsx)(Dr,{className:`shrink-0`,children:(0,$.jsxs)(qa,{children:[`Tool definitions · `,gb(s),` tokens`]})}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[l&&(0,$.jsx)(`p`,{className:G(U.compact,`text-muted-foreground`),children:`Loading tools...`}),d&&!l&&(0,$.jsx)(`p`,{className:G(U.compact,`text-destructive`),children:d}),!l&&!d&&(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:a.length===0?(0,$.jsx)(`p`,{className:G(U.compact,`text-muted-foreground`),children:`No tools loaded for this conversation.`}):a.map(e=>(0,$.jsx)(Db,{tool:e},e.name))})})]})]})})}var kb=Ut(`app.token-usage-tooltip.ui`);function Ab({threadId:e,currentConversationId:t,initialBreakdown:n,actualUsage:r,refreshKey:i,children:a}){let[o,s]=(0,Z.useState)(n??null),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(n?t:void 0),[v,y]=(0,Z.useState)(n?i:void 0);return(0,Z.useEffect)(()=>{n&&(s(n),_(t),y(i),d(null))},[n,t]),(0,Z.useEffect)(()=>{n||(t!==g||i!==v)&&(s(null),_(void 0),y(void 0),d(null))},[n,t,g,v,i]),(0,Z.useEffect)(()=>{if(!f||!e||!t||!(g!==t||v!==i))return;let n=!1;async function r(){let r=t;if(r){l(!0),d(null);try{let t=await ii(e,r,{forceRefresh:!0});if(n)return;s(t),_(r),y(i)}catch(e){if(kb.error(`[TokenUsageTooltip] Failed to load context data:`,e),n)return;s(e=>(e||d(`Failed to load context data`),e))}finally{n||l(!1)}}}return r(),()=>{n=!0}},[f,e,t,g,v,i]),!e||e===``?(0,$.jsx)($.Fragment,{children:a}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Np,{open:f,onOpenChange:p,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Pp,{asChild:!0,children:a})}),(0,$.jsx)(Fr,{side:`top`,className:`bg-popover text-popover-foreground`,children:`Show context usage`})]}),(0,$.jsxs)(Fp,{side:`top`,align:`end`,className:`w-auto p-4`,children:[c&&(0,$.jsxs)(`div`,{className:G(U.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Zt,{className:`h-3 w-3 animate-pulse`}),(0,$.jsx)(`span`,{children:`Loading context...`})]}),u&&!c&&(0,$.jsxs)(`div`,{className:G(U.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Zt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:u})]}),!c&&!u&&o&&(0,$.jsx)(xb,{breakdown:o,actualUsage:r,threadId:e,conversationId:t,onClose:()=>p(!1),onToolDefinitionsOpen:()=>h(!0)})]})]}),t&&(0,$.jsx)(Ob,{open:m,onOpenChange:h,threadId:e,conversationId:t,expectedTotalTokens:o?.categories.toolDefinitions??0})]})}var jb=Ut(`app.token-usage-icon.ui`);function Mb(e){let t=e.filter(e=>e.sender===`agent`),n=t.length>0?t[t.length-1]:void 0,r=t.reduce((e,t)=>e+(t.metadata?.tokenCount??0),0);return[t.length,n?.messageId??``,n?.content.length??0,r].join(`:`)}function Nb(e){return e>75?`text-red-500`:e>50?`text-orange-500`:`text-muted-foreground`}function Pb(e){let t=(0,Q.c)(8),{percentage:n}=e,r=2*Math.PI*7,i=r*(1-Math.min(n,100)/100),a;t[0]===n?a=t[1]:(a=Nb(n),t[0]=n,t[1]=a);let o=`h-4 w-4 ${a}`,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`circle`,{className:`text-muted-foreground/25`,cx:`10`,cy:`10`,r:7,fill:`none`,stroke:`currentColor`,strokeWidth:`3`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,$.jsx)(`circle`,{cx:`10`,cy:`10`,r:7,fill:`none`,stroke:`currentColor`,strokeWidth:`3`,strokeLinecap:`round`,strokeDasharray:r,strokeDashoffset:i,transform:`rotate(-90 10 10)`}),t[3]=i,t[4]=c);let l;return t[5]!==o||t[6]!==c?(l=(0,$.jsxs)(`svg`,{className:o,viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[s,c]}),t[5]=o,t[6]=c,t[7]=l):l=t[7],l}var Fb=500;function Ib(e){let t=(0,Q.c)(43),{threadId:n,conversationId:r,messages:i,isStreaming:a,liveContextUsage:o}=e,s;t[0]===i?s=t[1]:(s=i===void 0?[]:i,t[0]=i,t[1]=s);let c=s,l=a===void 0?!1:a,[u,d]=(0,Z.useState)(r),[f,p]=(0,Z.useState)(),m;t[2]===c?m=t[3]:(m=Mb(c),t[2]=c,t[3]=m);let h=m,[g,_]=(0,Z.useState)(h),v=(0,Z.useRef)(null),y=(0,Z.useRef)(n),b,x;t[4]===h?(b=t[5],x=t[6]):(b=()=>(v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{_(h)},Fb),()=>{v.current&&clearTimeout(v.current)}),x=[h],t[4]=h,t[5]=b,t[6]=x),(0,Z.useEffect)(b,x);let S,C;t[7]===n?(S=t[8],C=t[9]):(S=()=>{y.current!==n&&(y.current&&(Ma.invalidate(`thread-${y.current}`),Ma.invalidatePattern(RegExp(`^context-breakdown-${y.current}-`))),y.current=n,d(void 0),p(void 0))},C=[n],t[7]=n,t[8]=S,t[9]=C),(0,Z.useEffect)(S,C);let w,T;t[10]===r?(w=t[11],T=t[12]):(T=()=>{if(r){d(r);return}},w=[r],t[10]=r,t[11]=w,t[12]=T),(0,Z.useEffect)(T,w);let E;t[13]!==r||t[14]!==n?(E=()=>{let e=!1;return(async function(){if(!n){d(void 0),p(void 0);return}if(r){d(r);return}try{let t=await Ur(n);if(e)return;d(t.currentConversationId)}catch(e){let t=e;jb.error(`Failed to fetch thread data:`,t)}})(),()=>{e=!0}},t[13]=r,t[14]=n,t[15]=E):E=t[15];let D;t[16]!==r||t[17]!==g||t[18]!==n?(D=[r,n,g],t[16]=r,t[17]=g,t[18]=n,t[19]=D):D=t[19],(0,Z.useEffect)(E,D);let O;t[20]!==l||t[21]!==c.length||t[22]!==u||t[23]!==n?(O=()=>{let e=!1;return(async function(){if(!l){if(!n||!u||c.length===0){p(void 0);return}try{let t=await ii(n,u,{forceRefresh:!0});if(e)return;p(t)}catch(e){let t=e;if(t instanceof Error&&t.message===`Conversation not found`){p(void 0);return}jb.error(`Failed to fetch context breakdown:`,t)}}})(),()=>{e=!0}},t[20]=l,t[21]=c.length,t[22]=u,t[23]=n,t[24]=O):O=t[24];let k;if(t[25]!==g||t[26]!==l||t[27]!==c.length||t[28]!==u||t[29]!==n?(k=[n,u,g,c.length,l],t[25]=g,t[26]=l,t[27]=c.length,t[28]=u,t[29]=n,t[30]=k):k=t[30],(0,Z.useEffect)(O,k),!n||n===``)return null;let A=o??f?.actualUsage,j=A?.percent??f?.percentageFull;if(!(typeof j==`number`&&j>0))return null;let M=String(g),N;t[31]===j?N=t[32]:(N=(0,$.jsx)(Pb,{percentage:j}),t[31]=j,t[32]=N);let P;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`sr-only`,children:`Show context usage`}),t[33]=P):P=t[33];let F;t[34]===N?F=t[35]:(F=(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,children:[N,P]}),t[34]=N,t[35]=F);let I;return t[36]!==A||t[37]!==f||t[38]!==u||t[39]!==M||t[40]!==F||t[41]!==n?(I=(0,$.jsx)(Ab,{threadId:n,currentConversationId:u,initialBreakdown:f,actualUsage:A,refreshKey:M,children:F}),t[36]=A,t[37]=f,t[38]=u,t[39]=M,t[40]=F,t[41]=n,t[42]=I):I=t[42],I}function Lb(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result.split(`,`)[1];t({fileName:e.name,content:n,mimeType:e.type||`application/octet-stream`})},r.onerror=()=>{n(r.error??Error(`Failed to read file`))},r.readAsDataURL(e)})}async function Rb(e){return Promise.all(e.map(Lb))}function zb(e,t){let n=e.target.files;if(!n||n.length===0)return;let r=Array.from(n);e.target.value=``,Rb(r).then(t)}function Bb(e,t){switch(e){case`archive`:return(0,$.jsx)(Ht,{className:t});case`audio`:return(0,$.jsx)(Pt,{className:t});case`code`:return(0,$.jsx)(oe,{className:t});case`config`:return(0,$.jsx)(Ne,{className:t});case`data`:return(0,$.jsx)(r,{className:t});case`document`:return(0,$.jsx)(he,{className:t});case`image`:return(0,$.jsx)(ke,{className:t});case`json`:return(0,$.jsx)(et,{className:t});case`presentation`:return(0,$.jsx)(Ee,{className:t});case`security`:return(0,$.jsx)(E,{className:t});case`spreadsheet`:return(0,$.jsx)(y,{className:t});case`text`:return(0,$.jsx)(xe,{className:t});case`video`:return(0,$.jsx)(b,{className:t});case`web`:return(0,$.jsx)(oe,{className:t});case`file`:return(0,$.jsx)(ve,{className:t})}}function Vb({filename:e,className:t}){let n=`file`,r=`text-muted-foreground`;try{if(typeof ct==`function`&&e){let t=ct(e);n=t.name,r=t.className??r}}catch{}let i=G(`h-4 w-4 flex-shrink-0`,r,t);return Bb(n,i)}function Hb(e){let t=(0,Q.c)(17),{showSuggestions:n,fileSuggestions:r,suggestionQuery:i,selectedIndex:o,onSelectFile:s,onMouseEnterSuggestion:c,containerRef:l}=e;if(!n||r.length===0)return null;let u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),d=(0,$.jsx)(a,{className:`h-3 w-3`}),t[0]=u,t[1]=d):(u=t[0],d=t[1]);let f;t[2]===i?f=t[3]:(f=(0,$.jsxs)(`div`,{className:u,children:[d,`Files matching "`,i,`"`]}),t[2]=i,t[3]=f);let p;if(t[4]!==r||t[5]!==c||t[6]!==s||t[7]!==o){let e;t[9]!==c||t[10]!==s||t[11]!==o?(e=(e,t)=>{let n=e.split(`/`).pop()??e,r=t===o;return(0,$.jsxs)(`button`,{type:`button`,className:G(U.body,`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors`,r?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>s(e),onMouseEnter:()=>c(t),children:[(0,$.jsx)(Vb,{filename:n}),(0,$.jsxs)(`div`,{className:`flex flex-col overflow-hidden`,children:[(0,$.jsx)(`span`,{className:`truncate font-medium`,children:n}),(0,$.jsx)(`span`,{className:G(U.compact,`truncate text-muted-foreground opacity-70`),children:e})]})]},e)},t[9]=c,t[10]=s,t[11]=o,t[12]=e):e=t[12],p=r.map(e),t[4]=r,t[5]=c,t[6]=s,t[7]=o,t[8]=p}else p=t[8];let m;return t[13]!==l||t[14]!==f||t[15]!==p?(m=(0,$.jsxs)(`div`,{ref:l,className:`absolute bottom-full left-0 mb-2 w-full max-h-64 overflow-y-auto rounded-xl border border-border bg-popover p-1 shadow-lg z-50 animate-in fade-in slide-in-from-bottom-2`,children:[f,p]}),t[13]=l,t[14]=f,t[15]=p,t[16]=m):m=t[16],m}function Ub(e){return[`off`,...e]}function Wb(e){let t=(0,Q.c)(38),{selectedEffort:n,supportedEfforts:r,onReasoningEffortChange:i}=e;if(r.length===0)return null;let a,o,s,c,l,u,d,f,p;if(t[0]!==i||t[1]!==n||t[2]!==r){let e=Ub(r),m=n??`off`,h;t[12]===i?h=t[13]:(h=function(e){i(e)},t[12]=i,t[13]=h);let g=h;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Ai,{className:`my-1`}),t[14]=p):p=t[14],d=`px-3 py-1.5`,t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`pb-1 uppercase tracking-wide`),children:`Reasoning`}),t[15]=f):f=t[15],o=vo,c=m,l=g;let _;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=G(U.body,`h-9 w-full bg-popover text-popover-foreground`),t[16]=_):_=t[16];let v;t[17]===m?v=t[18]:(v=Xt(m),t[17]=m,t[18]=v),t[19]===v?u=t[20]:(u=(0,$.jsx)(na,{"aria-label":`Reasoning effort`,className:_,children:(0,$.jsx)(`span`,{children:v})}),t[19]=v,t[20]=u),a=io;let y;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=function(e){return(0,$.jsx)(Ba,{value:e,className:U.body,children:Xt(e)},e)},t[21]=y):y=t[21],s=e.map(y),t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11];let m;t[22]!==a||t[23]!==s?(m=(0,$.jsx)(a,{children:s}),t[22]=a,t[23]=s,t[24]=m):m=t[24];let h;t[25]!==o||t[26]!==c||t[27]!==l||t[28]!==u||t[29]!==m?(h=(0,$.jsxs)(o,{value:c,onValueChange:l,children:[u,m]}),t[25]=o,t[26]=c,t[27]=l,t[28]=u,t[29]=m,t[30]=h):h=t[30];let g;t[31]!==d||t[32]!==f||t[33]!==h?(g=(0,$.jsxs)(`div`,{className:d,children:[f,h]}),t[31]=d,t[32]=f,t[33]=h,t[34]=g):g=t[34];let _;return t[35]!==g||t[36]!==p?(_=(0,$.jsxs)($.Fragment,{children:[p,g]}),t[35]=g,t[36]=p,t[37]=_):_=t[37],_}function Gb(e){let t=(0,Q.c)(5),{providerSlug:n}=e;if(!n)return null;let r;t[0]===n?r=t[1]:(r=Ra(n),t[0]=n,t[1]=r);let i=`${n} logo`,a;return t[2]!==r||t[3]!==i?(a=(0,$.jsx)(`img`,{src:r,alt:i,className:`h-3.5 w-3.5 flex-shrink-0 dark:invert`,onError:Kb}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Kb(e){e.currentTarget.style.visibility=`hidden`}function qb(e){let t=(0,Q.c)(17),{providerSlug:n,providerData:r}=e,i=r?.name??n,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=G(U.dropdownGroupHeading,`flex items-center gap-1.5 px-3 py-1.5 uppercase tracking-wide`),t[0]=a):a=t[0];let o=`/settings/providers/${encodeURIComponent(n)}`,s;t[1]===n?s=t[2]:(s=(0,$.jsx)(Gb,{providerSlug:n}),t[1]=n,t[2]=s);let c;t[3]!==o||t[4]!==s?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Cr,{to:o,className:`flex items-center hover:opacity-70 transition-opacity`,children:s})}),t[3]=o,t[4]=s,t[5]=c):c=t[5];let l=`Configure ${i} provider`,u;t[6]===l?u=t[7]:(u=(0,$.jsx)(Fr,{side:`left`,children:(0,$.jsx)(`p`,{children:l})}),t[6]=l,t[7]=u);let d;t[8]!==c||t[9]!==u?(d=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,u]})}),t[8]=c,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==i||t[12]!==r?(f=r?.url?(0,$.jsx)(_a,{url:r.url,showIcon:!1,variant:`inline`,children:i}):i,t[11]=i,t[12]=r,t[13]=f):f=t[13];let p;return t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{className:a,children:[d,f]}),t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Jb(e){let t=e.pricing?.prompt;return t==null?null:Math.ceil(t*3)}function Yb(e){return`$${Re(e)}`}function Xb(e,t){return e.pricing?(0,$.jsxs)(`div`,{className:G(U.body,`max-w-64 whitespace-normal break-words text-left leading-relaxed`),children:[(0,$.jsx)(`div`,{children:`${Yb(e.pricing.prompt??0)} input per million tokens`}),(0,$.jsx)(`div`,{children:`${Yb(e.pricing.completion??0)} output per million tokens`}),(0,$.jsx)(`div`,{children:`Displayed value of ${t} is a relative price.`})]}):null}function Zb(e,t){return[...e].sort((e,n)=>{let r=(e.provider??`Other`).localeCompare(n.provider??`Other`);if(r!==0)return r;if(t===`relative-price`){let t=(Jb(e)??2**53-1)-(Jb(n)??2**53-1);if(t!==0)return t}return Ko(e.id).localeCompare(Ko(n.id))})}function Qb(e){if(!e)return`Select Model`;let t=`${e.provider??`unknown`}/${e.id}`;return(e.supportedReasoningEfforts?.length??0)>0?`${t} ${Xt(d(e.settings,e.supportedReasoningEfforts??[]))}`:t}function $b(e){return e instanceof Element&&!!(e.closest(`[data-radix-select-content]`)||e.closest(`[data-radix-popper-content-wrapper]`)||e.closest(`[role="listbox"]`))}function ex(e){let t=(0,Q.c)(45),{availableModels:n,selectedModel:r,onModelSelect:i,onReasoningEffortChange:a}=e,[o,s]=Z.useState(!1),[l,u]=Z.useState(`relative-price`),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=new Map,t[0]=f):f=t[0];let[p,m]=Z.useState(f),h=Z.useRef(null),g,_;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{sa().then(function(e){m(new Map(e.map(rx)))})},_=[],t[1]=g,t[2]=_):(g=t[1],_=t[2]),Z.useEffect(g,_);let v,y;t[3]===o?(v=t[4],y=t[5]):(v=()=>{let e=function(e){$b(e.target)||h.current&&!h.current.contains(e.target)&&s(!1)};if(o)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},y=[o],t[3]=o,t[4]=v,t[5]=y),Z.useEffect(v,y);let b;t[6]===i?b=t[7]:(b=function(e){i(e),s(!1)},t[6]=i,t[7]=b);let x=b,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){u(function(e){return e===`relative-price`?`alphabetical`:`relative-price`})},t[8]=S):S=t[8];let C=S,w;t[9]!==n||t[10]!==l?(w=Zb(n,l),t[9]=n,t[10]=l,t[11]=w):w=t[11];let T=w,E=l===`relative-price`?c:P,D=l===`relative-price`?`Sort by relative price`:`Sort alphabetically`,O,k;t[12]===n.length?(O=t[13],k=t[14]):(k=()=>{let e=function(e){let t=e.key.toLowerCase();!((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey)||t!==`m`||n.length===0||(e.preventDefault(),s(nx))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},O=[n.length],t[12]=n.length,t[13]=O,t[14]=k),Z.useEffect(k,O);let A;t[15]===o?A=t[16]:(A=()=>s(!o),t[15]=o,t[16]=A);let j;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(j=G(U.body,`font-normal`),t[17]=j):j=t[17];let M;t[18]===r?M=t[19]:(M=r?Ko(r.id):`No model`,t[18]=r,t[19]=M);let N;t[20]===M?N=t[21]:(N=(0,$.jsx)(`span`,{className:j,children:M}),t[20]=M,t[21]=N);let F;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(Yt,{className:`h-3 w-3`}),t[22]=F):F=t[22];let I;t[23]!==A||t[24]!==N?(I=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-sm`,className:`gap-1 w-auto px-2`,onClick:A,children:[N,F]})}),t[23]=A,t[24]=N,t[25]=I):I=t[25];let L;t[26]===r?L=t[27]:(L=Qb(r),t[26]=r,t[27]=L);let R;t[28]===L?R=t[29]:(R=(0,$.jsx)(Fr,{children:L}),t[28]=L,t[29]=R);let z;t[30]!==I||t[31]!==R?(z=(0,$.jsxs)(Mi,{children:[I,R]}),t[30]=I,t[31]=R,t[32]=z):z=t[32];let B;t[33]!==E||t[34]!==x||t[35]!==a||t[36]!==p||t[37]!==r||t[38]!==o||t[39]!==D||t[40]!==T?(B=o&&(0,$.jsx)(`div`,{className:`absolute bottom-full right-0 mb-1 w-80 max-h-80 overflow-y-auto rounded-lg border border-border bg-popover p-1 shadow-md z-50`,children:(0,$.jsxs)(Zo,{children:[(0,$.jsx)(`div`,{className:`-mb-3 flex justify-end px-1 pb-1`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":D,className:`rounded-md p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:C,children:(0,$.jsx)(E,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Fr,{side:`left`,align:`start`,sideOffset:8,children:D})]})}),Object.entries(T.reduce(tx,{})).map((e,t)=>{let[n,i]=e;return(0,$.jsxs)(`div`,{children:[t>0&&(0,$.jsx)(Ai,{className:`my-1`}),(0,$.jsx)(qb,{providerSlug:n,providerData:p.get(n)}),i.map(e=>{let t=Jb(e),n=t==null?null:Xb(e,t),i=e.id===r?.id&&e.provider===r?.provider,a=Ko(e.id);return(0,$.jsxs)(`button`,{type:`button`,className:G(U.body,`flex w-full items-center justify-between gap-3 whitespace-nowrap rounded-md px-3 py-1.5 pl-8 text-popover-foreground hover:bg-accent`,i&&`bg-accent font-medium`),onClick:()=>x(e),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:a}),t!=null&&n&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`span`,{className:G(U.compact,`shrink-0 text-muted-foreground`),children:t})}),(0,$.jsx)(Fr,{side:`left`,align:`end`,sideOffset:8,className:`max-w-64`,children:n})]})]},`${e.provider??``}:${e.id}`)})]},n)}),r&&a&&(r.supportedReasoningEfforts?.length??0)>0&&(0,$.jsx)(`div`,{className:`sticky bottom-0 -mx-1 -mb-1 mt-1 bg-popover px-1 pb-1`,children:(0,$.jsx)(Wb,{selectedEffort:d(r.settings,r.supportedReasoningEfforts??[]),supportedEfforts:r.supportedReasoningEfforts??[],onReasoningEffortChange:e=>a(r,e)})})]})}),t[33]=E,t[34]=x,t[35]=a,t[36]=p,t[37]=r,t[38]=o,t[39]=D,t[40]=T,t[41]=B):B=t[41];let V;return t[42]!==z||t[43]!==B?(V=(0,$.jsxs)(`div`,{className:`relative`,ref:h,children:[z,B]}),t[42]=z,t[43]=B,t[44]=V):V=t[44],V}function tx(e,t){let n=t.provider??`Other`;return e[n]||(e[n]=[]),e[n].push(t),e}function nx(e){return!e}function rx(e){return[e.slug,e]}function ix(e){let t=(0,Q.c)(16),{value:n,onChange:r,disabled:i,disableOn:a,ariaLabel:o,className:s}=e,c=i===void 0?!1:i,l=a===void 0?!1:a,u;t[0]!==r||t[1]!==n?(u=function(){r(!n)},t[0]=r,t[1]=n,t[2]=u):u=t[2];let d=u,f=c||l&&!n,p;t[3]===s?p=t[4]:(p=G(`h-7 w-7 shrink-0 rounded-full border border-border bg-muted text-muted-foreground shadow-sm hover:bg-accent hover:text-foreground aria-checked:bg-foreground aria-checked:text-background aria-checked:border-transparent`,s),t[3]=s,t[4]=p);let m=!n&&`invisible`,h;t[5]===m?h=t[6]:(h=G(m),t[5]=m,t[6]=h);let g;t[7]===h?g=t[8]:(g=(0,$.jsx)(W,{"aria-hidden":`true`,className:h}),t[7]=h,t[8]=g);let _;return t[9]!==o||t[10]!==d||t[11]!==f||t[12]!==p||t[13]!==g||t[14]!==n?(_=(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,role:`checkbox`,"aria-checked":n,"aria-label":o,disabled:f,onClick:d,className:p,children:g}),t[9]=o,t[10]=d,t[11]=f,t[12]=p,t[13]=g,t[14]=n,t[15]=_):_=t[15],_}var ax=Ut(`app.use-seatbelt-sandbox.hook`);function ox(){let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(!0),[u,d]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{let e=!1;async function n(){try{let n=await Zr();e||(t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage))}catch(e){ax.error(`Failed to load seatbelt sandbox setting:`,e)}finally{e||l(!1)}}return n(),()=>{e=!0}},[]);async function f(e){d(!0);try{let n=await Jo({seatbeltSandboxEnabled:e});t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage)}catch(e){throw ax.error(`Failed to update seatbelt sandbox setting:`,e),e}finally{d(!1)}}return{isEnabled:e,isSupported:n,isHealthy:i,statusMessage:o,isLoading:c,isSaving:u,updateIsEnabled:f}}var sx=Ut(`app.session-learnings-dialog.ui`);function cx({open:e,onOpenChange:t,threadId:n}){let[r,i]=(0,Z.useState)([]),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!e||!n)return;let t=n,r=!1;async function a(){o(!0),c(null);try{let e=await ha(t);r||i(e)}catch(e){sx.error(`Failed to load session tool learnings`,e),r||(c(`Failed to load session learnings`),i([]))}finally{r||o(!1)}}return a(),()=>{r=!0}},[e,n]),(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex max-h-[80dvh] max-w-lg flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(Dr,{className:`shrink-0`,children:[(0,$.jsx)(qa,{children:`Session learnings`}),(0,$.jsx)(_i,{children:`Short tool-behavior notes kept in memory for this thread and injected into the next prompt. Cleared when the CLI restarts.`})]}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[a&&(0,$.jsx)(`p`,{className:G(U.bodyMuted),children:`Loading learnings…`}),s&&!a&&(0,$.jsx)(`p`,{className:G(U.body,`text-destructive`),children:s}),!a&&!s&&(0,$.jsx)(za,{className:`min-h-0 max-h-[50dvh] flex-1`,children:r.length===0?(0,$.jsx)(`p`,{className:G(U.bodyMuted),children:`No session tool learnings yet. They appear when tools redirect the agent (for example Smart JS helper redirects).`}):(0,$.jsx)(`ul`,{className:`space-y-2`,children:r.map((e,t)=>(0,$.jsx)(`li`,{className:G(U.body,`rounded-md border border-border/60 px-3 py-2 whitespace-pre-wrap select-text`),children:e},`${t}-${e}`))})})]})]})})}var lx=[{value:`auto`,label:`Auto`,icon:N,description:`Picks the model for a thread's first prompt`},{value:`build`,label:`Build`,icon:_t,description:`Executes code changes and implements features`},{value:`plan`,label:`Plan`,icon:de,description:`Creates implementation plans without making changes`},{value:`image`,label:`Image`,icon:u,description:`Generates and edits images`},{value:`ralph`,label:`Ralph`,icon:_,description:`Implements todo stories one-by-one with a fresh context each iteration`},{value:`orchestrate`,label:`Orchestrate`,icon:xt,description:`Plans on a smart model and delegates implementation to a cheap model`}],ux={auto:{title:`Fast or Cheap model required`,description:`Auto needs a Fast or Cheap model alias to classify each prompt. Set one under Project Settings → Advanced → Model Aliases.`},orchestrate:{title:`Cheap model required`,description:`Orchestrate needs a Cheap model alias so implementation work can run on a lower-cost model. Set it under Project Settings → Advanced → Model Aliases.`}};function dx(e){let t=(0,Q.c)(17),{requirement:n,onOpenChange:r,onOpenSettings:i}=e,a=ux[n??`orchestrate`],o=n!==null,s;t[0]===a.title?s=t[1]:(s=(0,$.jsx)(sc,{children:a.title}),t[0]=a.title,t[1]=s);let c;t[2]===a.description?c=t[3]:(c=(0,$.jsx)(oc,{children:a.description}),t[2]=a.description,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,$.jsxs)(fc,{children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(dc,{children:`Cancel`}),t[7]=u):u=t[7];let d;t[8]===i?d=t[9]:(d=(0,$.jsxs)(uc,{children:[u,(0,$.jsx)(lc,{onClick:i,children:`Open Project Settings`})]}),t[8]=i,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(cc,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==r||t[14]!==o||t[15]!==f?(p=(0,$.jsx)(pc,{open:o,onOpenChange:r,children:f}),t[13]=r,t[14]=o,t[15]=f,t[16]=p):p=t[16],p}var fx=Ut(`app.use-mode-menu.ui`);function px(e,t,n){return t?`${e}: ${t.provider}/${t.model}`:`${e}: ${n}`}function mx({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i,setPlanMode:a,setImageMode:o,setRalphMode:s,setOrchestrateMode:c,setAutoMode:l,lastAutoRouteDecision:u=null,projectId:d,onOpenProjectSettings:f}){let p=Ks(),m=X(function(e){if(d)return e.projects.find(e=>e.projectId===d)}),[h,g]=Z.useState(!0),[_,v]=Z.useState(!1),[y,b]=Z.useState(null),x=Xe({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i}),S=lx.find(e=>e.value===x),C=Jt(m?.modelAliases),w=C||i?lx:lx.filter(e=>e.value!==`auto`),T=x===`auto`&&u?`last picked ${q[u]}`:S.description,E=Ue(m?.modelAliases),D=x===`auto`?[E?`Decides with: ${E.provider}/${E.model}`:`Decides with: Fast or Cheap, neither is set`,px(St.cheap,en(`cheap`,m?.modelAliases),`not set`),px(St.smart,ue(m?.modelAliases),`not set, uses your selected model`)]:[],O=(0,$.jsxs)(`div`,{className:G(U.body,`max-w-64 whitespace-normal text-left leading-relaxed`),children:[(0,$.jsx)(`p`,{children:`${S.label} - ${T}`}),D.map(e=>(0,$.jsx)(`p`,{children:e},e))]});Z.useEffect(()=>{m&&g(m.allowAllCommands===!1)},[m]),Z.useEffect(()=>{m&&i&&!C&&l(!1)},[i,C,m,l]);async function k(){if(!d||_)return;let e=!h;g(e),v(!0);try{await Fi(d,{allowAllCommands:!e}),Si(d);let t=await lo();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(t){g(!e),fx.error(`Failed to update command confirmation setting:`,t)}finally{v(!1)}}function A(e){let t=rt(e);a(t.planMode),o(t.imageMode),s(t.ralphMode),c(t.orchestrateMode),l(t.autoMode)}async function j(e){if(d)try{await Fi(d,{defaultChatMode:e}),Si(d);let t=await lo();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){fx.error(`Failed to save the project's default mode:`,e)}}function M(){A(`orchestrate`)}function N(){return on(m?.modelAliases)?!0:(b(`orchestrate`),!1)}function P(){return N()?(M(),!0):!1}function F(){return N()?(M(),!0):!1}function I(e){if(e===`orchestrate`){P()&&j(e);return}if(e===`auto`&&!C){b(`auto`);return}A(e),j(e)}function L(){b(null),d&&f&&f(d)}return{chatModes:w,confirmCommands:h,currentConfig:S,currentMode:x,modeTooltipContent:O,isUpdatingConfirmCommands:_,selectMode:I,trySelectOrchestrate:P,ensureCanOrchestrate:N,requestOrchestrateMode:F,toggleConfirmCommands:k,cheapAliasDialog:(0,$.jsx)(dx,{requirement:y,onOpenChange:e=>{e||b(null)},onOpenSettings:L})}}function hx(e){return e.replace(/[-_]+/g,` `).trim().split(/\s+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function gx(e,t){return t&&e.skillPath.startsWith(`${t}/`)?`${e.skillPath.slice(t.length+1)}/SKILL.md`:`.agents/skills/${e.name}/SKILL.md`}function _x(e){let t=(0,Q.c)(11),{skill:n,onOpen:r}=e,i;t[0]===n.name?i=t[1]:(i=hx(n.name),t[0]=n.name,t[1]=i);let a=`Open ${i} in Files`,o;t[2]===r?o=t[3]:(o=e=>{e.stopPropagation(),r()},t[2]=r,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(pt,{}),t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==o?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`action`,size:`icon-xs`,className:`ml-auto shrink-0`,"aria-label":a,onClick:o,onPointerDown:vx,children:s})}),t[5]=a,t[6]=o,t[7]=c):c=t[7];let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Open in Files`}),t[8]=l):l=t[8];let u;return t[9]===c?u=t[10]:(u=(0,$.jsxs)(Mi,{children:[c,l]}),t[9]=c,t[10]=u),u}function vx(e){e.stopPropagation()}function yx(e){let t=(0,Q.c)(29),{icon:n,iconClassName:r,label:i,value:a,onChange:o,disabled:s,disableOn:c,ariaLabel:l}=e,u=s===void 0?!1:s,d=c===void 0?!1:c,f;t[0]!==d||t[1]!==u||t[2]!==o||t[3]!==a?(f=function(){u||d&&!a||o(!a)},t[0]=d,t[1]=u,t[2]=o,t[3]=a,t[4]=f):f=t[4];let p=f,m;t[5]===p?m=t[6]:(m=e=>{e.preventDefault(),p()},t[5]=p,t[6]=m);let h;t[7]!==n||t[8]!==r?(h=(0,$.jsx)(n,{className:r}),t[7]=n,t[8]=r,t[9]=h):h=t[9];let g;t[10]!==i||t[11]!==h?(g=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[h,i]}),t[10]=i,t[11]=h,t[12]=g):g=t[12];let _;t[13]===p?_=t[14]:(_=e=>{e.stopPropagation(),p()},t[13]=p,t[14]=_);let v;t[15]!==l||t[16]!==d||t[17]!==u||t[18]!==o||t[19]!==a?(v=(0,$.jsx)(ix,{value:a,onChange:o,disabled:u,disableOn:d,ariaLabel:l}),t[15]=l,t[16]=d,t[17]=u,t[18]=o,t[19]=a,t[20]=v):v=t[20];let y;t[21]!==_||t[22]!==v?(y=(0,$.jsx)(`span`,{onPointerDown:bx,onClick:_,children:v}),t[21]=_,t[22]=v,t[23]=y):y=t[23];let b;return t[24]!==u||t[25]!==m||t[26]!==g||t[27]!==y?(b=(0,$.jsxs)(xl,{className:`flex items-center justify-between gap-2 [&_svg]:size-3.5`,onSelect:m,disabled:u,children:[g,y]}),t[24]=u,t[25]=m,t[26]=g,t[27]=y,t[28]=b):b=t[28],b}function bx(e){e.stopPropagation()}function xx(e){let t=(0,Q.c)(20),{disabled:n,currentConfig:r,sandboxSupported:i,isSandboxLoading:a,sandboxEnabled:o,modeTooltipContent:s}=e,c;t[0]===r.icon?c=t[1]:(c=(0,$.jsx)(r.icon,{className:`h-4 w-4`}),t[0]=r.icon,t[1]=c);let l;t[2]===r.label?l=t[3]:(l=(0,$.jsxs)(`span`,{className:`sr-only`,children:[r.label,` mode`]}),t[2]=r.label,t[3]=l);let u;t[4]!==n||t[5]!==c||t[6]!==l?(u=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`action`,size:`icon-sm`,disabled:n,children:[c,l]})}),t[4]=n,t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;t[8]!==a||t[9]!==o||t[10]!==i?(d=i&&!a&&!o&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full bg-destructive ring-2 ring-background`}),t[8]=a,t[9]=o,t[10]=i,t[11]=d):d=t[11];let f;t[12]!==u||t[13]!==d?(f=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`div`,{className:`relative`,children:[u,d]})}),t[12]=u,t[13]=d,t[14]=f):f=t[14];let p;t[15]===s?p=t[16]:(p=(0,$.jsx)(Fr,{children:s}),t[15]=s,t[16]=p);let m;return t[17]!==f||t[18]!==p?(m=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[17]=f,t[18]=p,t[19]=m):m=t[19],m}function Sx(e){let t=(0,Q.c)(16),{projectId:n,sandboxSupported:r,isSandboxLoading:i,confirmCommands:a,toggleConfirmCommands:o,isUpdatingConfirmCommands:s,sandboxEnabled:c,sandboxHealthy:l,updateSandbox:u,isSandboxSaving:d}=e;if(!n&&!(r&&!i))return null;let f;t[0]!==a||t[1]!==s||t[2]!==n||t[3]!==o?(f=n&&(0,$.jsx)(yx,{icon:le,label:`Confirm Commands`,value:a,onChange:()=>{o()},disabled:s,ariaLabel:`Confirm Commands`}),t[0]=a,t[1]=s,t[2]=n,t[3]=o,t[4]=f):f=t[4];let p;t[5]!==i||t[6]!==d||t[7]!==c||t[8]!==l||t[9]!==r||t[10]!==u?(p=r&&!i&&(0,$.jsx)(yx,{icon:L,iconClassName:G(c&&l?`text-brand`:`text-destructive`),label:`Sandbox`,value:c&&l,onChange:e=>{e&&!l||u(e).catch(Cx)},disabled:d||!l&&!c,disableOn:!l,ariaLabel:`Sandbox`}),t[5]=i,t[6]=d,t[7]=c,t[8]=l,t[9]=r,t[10]=u,t[11]=p):p=t[11];let m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Tl,{}),t[12]=m):m=t[12];let h;return t[13]!==f||t[14]!==p?(h=(0,$.jsxs)($.Fragment,{children:[f,p,m]}),t[13]=f,t[14]=p,t[15]=h):h=t[15],h}function Cx(){}function wx(e){let t=(0,Q.c)(9),{chatModes:n,currentMode:r,selectMode:i}=e,a;if(t[0]!==n||t[1]!==r||t[2]!==i){let e;t[4]!==r||t[5]!==i?(e=e=>{let t=e.icon,n=e.value===r;return(0,$.jsxs)(xl,{onClick:()=>i(e.value),className:G(n&&`bg-accent`),children:[(0,$.jsx)(t,{className:`h-3.5 w-3.5`}),e.label,n&&(0,$.jsx)(W,{className:`ml-auto h-3.5 w-3.5`})]},e.value)},t[4]=r,t[5]=i,t[6]=e):e=t[6],a=n.map(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a}else a=t[3];let o;return t[7]===a?o=t[8]:(o=(0,$.jsx)($.Fragment,{children:a}),t[7]=a,t[8]=o),o}function Tx(e){let t=(0,Q.c)(7),{sortedSkills:n,onSelectSkill:r,onOpenSkillInExplorer:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsxs)(vl,{children:[(0,$.jsx)(vt,{className:`h-3.5 w-3.5`}),`Skills`]}),t[0]=a):a=t[0];let o;t[1]!==i||t[2]!==r||t[3]!==n?(o=n.length===0?(0,$.jsx)(xl,{disabled:!0,children:`No skills available`}):n.map(e=>(0,$.jsxs)(xl,{onClick:()=>r(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:hx(e.name)}),(0,$.jsx)(_x,{skill:e,onOpen:()=>i(e)})]},e.skillPath)),t[1]=i,t[2]=r,t[3]=n,t[4]=o):o=t[4];let s;return t[5]===o?s=t[6]:(s=(0,$.jsxs)(_l,{children:[a,(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:o})]}),t[5]=o,t[6]=s),s}function Ex(e){let t=(0,Q.c)(8),{slashCommands:n,onSelectSlashCommand:r}=e;if(n.length===0)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(vl,{children:[(0,$.jsx)(ht,{className:`h-3.5 w-3.5`}),`Slash Commands`]}),t[0]=i):i=t[0];let a;if(t[1]!==r||t[2]!==n){let e;t[4]===r?e=t[5]:(e=e=>(0,$.jsxs)(xl,{onClick:()=>r(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[`/`,e.name]}),e.metadata.description&&(0,$.jsx)(`span`,{className:G(U.compact,`text-muted-foreground truncate`),children:e.metadata.description})]},e.filePath),t[4]=r,t[5]=e),a=[...n].sort(Dx).map(e),t[1]=r,t[2]=n,t[3]=a}else a=t[3];let o;return t[6]===a?o=t[7]:(o=(0,$.jsxs)(_l,{children:[i,(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:a})]}),t[6]=a,t[7]=o),o}function Dx(e,t){return e.name.localeCompare(t.name)}function Ox(e){let t=(0,Q.c)(15),{selectedThreadId:n,onOpenLearnings:r,onFileAttach:i,canAddTask:a,onAddTask:o}=e,s=!n,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Zt,{className:`h-3.5 w-3.5`}),t[0]=c):c=t[0];let l;t[1]!==r||t[2]!==s?(l=(0,$.jsxs)(xl,{disabled:s,onClick:r,children:[c,`Learnings`]}),t[1]=r,t[2]=s,t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Tl,{}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(It,{className:`h-3.5 w-3.5`}),t[5]=d):d=t[5];let f;t[6]===i?f=t[7]:(f=(0,$.jsxs)(xl,{onClick:i,children:[d,`Attach File`]}),t[6]=i,t[7]=f);let p;t[8]!==a||t[9]!==o?(p=a&&(0,$.jsxs)(xl,{onClick:o,children:[(0,$.jsx)(rn,{className:`h-3.5 w-3.5`}),`Add Prompt`]}),t[8]=a,t[9]=o,t[10]=p):p=t[10];let m;return t[11]!==l||t[12]!==f||t[13]!==p?(m=(0,$.jsxs)($.Fragment,{children:[l,u,f,p]}),t[11]=l,t[12]=f,t[13]=p,t[14]=m):m=t[14],m}function kx(e){let t=(0,Q.c)(73),{planMode:n,imageMode:r,ralphMode:i,orchestrateMode:a,autoMode:o,setPlanMode:s,setImageMode:c,setRalphMode:l,setOrchestrateMode:u,setAutoMode:d,lastAutoRouteDecision:f,projectId:p,disabled:m,canAddTask:h,skills:g,onSelectSkill:_,slashCommands:v,onSelectSlashCommand:y,onFileAttach:b,onAddTask:x}=e,S=f===void 0?null:f,C=m===void 0?!1:m,w=Yn(),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(!1),{isEnabled:k,isSupported:A,isHealthy:j,isLoading:M,isSaving:N,updateIsEnabled:P}=ox(),{setPendingExplorerPath:F}=vc(),{openChatDockPanel:I}=Wd(),L=X(Mx),R=X(jx),z;t[0]!==o||t[1]!==r||t[2]!==S||t[3]!==w||t[4]!==a||t[5]!==n||t[6]!==p||t[7]!==i||t[8]!==d||t[9]!==c||t[10]!==u||t[11]!==s||t[12]!==l?(z={planMode:n,imageMode:r,ralphMode:i,orchestrateMode:a,autoMode:o,setPlanMode:s,setImageMode:c,setRalphMode:l,setOrchestrateMode:u,setAutoMode:d,lastAutoRouteDecision:S,projectId:p,onOpenProjectSettings(e){w(`/settings/project/${e}/model-aliases`)}},t[0]=o,t[1]=r,t[2]=S,t[3]=w,t[4]=a,t[5]=n,t[6]=p,t[7]=i,t[8]=d,t[9]=c,t[10]=u,t[11]=s,t[12]=l,t[13]=z):z=t[13];let{chatModes:B,confirmCommands:V,currentConfig:H,currentMode:ee,modeTooltipContent:te,isUpdatingConfirmCommands:ne,selectMode:re,toggleConfirmCommands:ie,cheapAliasDialog:ae}=mx(z),oe;t[14]===g?oe=t[15]:(oe=[...g].sort(Ax),t[14]=g,t[15]=oe);let se=oe,U;t[16]!==I||t[17]!==R||t[18]!==F?(U=function(e){F(gx(e,R)),I(`explorer`),E(!1)},t[16]=I,t[17]=R,t[18]=F,t[19]=U):U=t[19];let ce=U,le;t[20]!==H||t[21]!==C||t[22]!==M||t[23]!==te||t[24]!==k||t[25]!==A?(le=(0,$.jsx)(xx,{disabled:C,currentConfig:H,sandboxSupported:A,isSandboxLoading:M,sandboxEnabled:k,modeTooltipContent:te}),t[20]=H,t[21]=C,t[22]=M,t[23]=te,t[24]=k,t[25]=A,t[26]=le):le=t[26];let ue;t[27]!==V||t[28]!==M||t[29]!==N||t[30]!==ne||t[31]!==p||t[32]!==k||t[33]!==j||t[34]!==A||t[35]!==ie||t[36]!==P?(ue=(0,$.jsx)(Sx,{projectId:p,sandboxSupported:A,isSandboxLoading:M,confirmCommands:V,toggleConfirmCommands:ie,isUpdatingConfirmCommands:ne,sandboxEnabled:k,sandboxHealthy:j,updateSandbox:P,isSandboxSaving:N}),t[27]=V,t[28]=M,t[29]=N,t[30]=ne,t[31]=p,t[32]=k,t[33]=j,t[34]=A,t[35]=ie,t[36]=P,t[37]=ue):ue=t[37];let W;t[38]!==B||t[39]!==ee||t[40]!==re?(W=(0,$.jsx)(wx,{chatModes:B,currentMode:ee,selectMode:re}),t[38]=B,t[39]=ee,t[40]=re,t[41]=W):W=t[41];let de;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(Tl,{}),t[42]=de):de=t[42];let fe;t[43]!==ce||t[44]!==_||t[45]!==se?(fe=(0,$.jsx)(Tx,{sortedSkills:se,onSelectSkill:_,onOpenSkillInExplorer:ce}),t[43]=ce,t[44]=_,t[45]=se,t[46]=fe):fe=t[46];let pe;t[47]!==y||t[48]!==v?(pe=(0,$.jsx)(Ex,{slashCommands:v,onSelectSlashCommand:y}),t[47]=y,t[48]=v,t[49]=pe):pe=t[49];let me;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(me=()=>{O(!0)},t[50]=me):me=t[50];let he;t[51]!==h||t[52]!==x||t[53]!==b||t[54]!==L?(he=(0,$.jsx)(Ox,{selectedThreadId:L,onOpenLearnings:me,onFileAttach:b,canAddTask:h,onAddTask:x}),t[51]=h,t[52]=x,t[53]=b,t[54]=L,t[55]=he):he=t[55];let ge;t[56]!==fe||t[57]!==pe||t[58]!==he||t[59]!==ue||t[60]!==W?(ge=(0,$.jsxs)(bl,{align:`start`,side:`top`,className:`w-64`,children:[ue,W,de,fe,pe,he]}),t[56]=fe,t[57]=pe,t[58]=he,t[59]=ue,t[60]=W,t[61]=ge):ge=t[61];let _e;t[62]!==T||t[63]!==ge||t[64]!==le?(_e=(0,$.jsxs)(hl,{open:T,onOpenChange:E,children:[le,ge]}),t[62]=T,t[63]=ge,t[64]=le,t[65]=_e):_e=t[65];let ve;t[66]!==D||t[67]!==L?(ve=(0,$.jsx)(cx,{open:D,onOpenChange:O,threadId:L}),t[66]=D,t[67]=L,t[68]=ve):ve=t[68];let ye;return t[69]!==ae||t[70]!==_e||t[71]!==ve?(ye=(0,$.jsxs)($.Fragment,{children:[_e,ae,ve]}),t[69]=ae,t[70]=_e,t[71]=ve,t[72]=ye):ye=t[72],ye}function Ax(e,t){return hx(e.name).localeCompare(hx(t.name))}function jx(e){return e.projects.find(t=>t.projectId===e.selectedProjectId)?.threads.find(t=>t.threadId===e.selectedThreadId)?.path}function Mx(e){return e.selectedThreadId}function Nx(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function Px(){return Nx()!==null}function Fx(){let e=Nx();return e?new e:null}var Ix=!1;function Lx(){Ix||typeof globalThis.fetch!=`function`||(tt(e=>{if(e.event.startsWith(`voice.`))try{fetch(`/api/logs`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({level:[`DEBUG`,`INFO`,`WARN`,`ERROR`][e.level]??`INFO`,context:e.event,message:e.message,data:e.data})}).catch(()=>{})}catch{}}),Ix=!0)}function Rx(e){Lx();let t=Ut(e);return{debug:(e,n)=>t.debug(e,n),info:(e,n)=>t.info(e,n),warn:(e,n)=>t.warn(e,n),error:(e,n)=>t.error(e,n),separator:e=>t.info(`${`─`.repeat(20)} ${e} ${`─`.repeat(20)}`)}}var zx=Rx(`voice.stt.web`);function Bx(e){switch(e){case`not-allowed`:return`Microphone access was denied. Please allow microphone access to use voice input.`;case`service-not-allowed`:return`Speech recognition is not allowed in this environment.`;case`audio-capture`:return`No microphone was found. Please connect a microphone to use voice input.`;case`network`:return`Speech recognition requires a network connection.`;case`no-speech`:case`aborted`:return null;default:return`Speech recognition error: ${e}`}}function Vx(e){let t=``;for(let n=0;n<e.results.length;n+=1)t+=e.results[n][0]?.transcript??``;return t}function Hx(){let[e,t]=(0,Z.useState)(`idle`),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(null),c=(0,Z.useRef)(null),l=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>()=>{l.current=!1,c.current?.abort(),c.current=null},[]);let u=(0,Z.useCallback)(()=>{let e=Fx();if(!e){l.current=!1,t(`error`),r(!1),s(`Speech recognition is not supported in this environment.`);return}e.continuous=!0,e.interimResults=!0,e.lang=`en-US`,e.onresult=e=>{let t=Vx(e).trim();t&&a(t)},e.onerror=e=>{let t=Bx(e.error);zx.error(`Web Speech recognition error`,{error:e.error,message:e.message}),t&&s(t)},e.onend=()=>{if(c.current=null,!l.current){t(`ready`);return}zx.info(`Web Speech recognition ended — restarting`),u()},c.current=e;try{e.start(),t(`recording`),zx.info(`Web Speech recognition started`)}catch(e){c.current=null,l.current=!1;let n=e instanceof Error?e.message:`Unknown error`;zx.error(`Failed to start Web Speech recognition`,{error:n}),t(`ready`),s(`Failed to start speech recognition: ${n}`)}},[]),d=(0,Z.useCallback)(async()=>{if(e===`ready`||e===`error`)return e;t(`checking-support`),s(null),zx.info(`Checking Web Speech API support`,{userAgent:navigator.userAgent,platform:navigator.platform});let n=Px();return r(n),n?(zx.info(`Web Speech API available — ready`),t(`ready`),`ready`):(zx.error(`Web Speech API not available`),t(`error`),s(`Speech recognition is not supported in this environment.`),`error`)},[e]);return{state:e,isSupported:n,transcript:i,error:o,downloadProgress:0,startListening:(0,Z.useCallback)(async()=>{l.current=!0,s(null),a(``),zx.info(`Starting Web Speech recognition`),u()},[u]),stopListening:(0,Z.useCallback)(async()=>{l.current=!1,c.current?.stop(),c.current=null,t(`ready`),zx.info(`Web Speech recognition stopped`)},[]),requestModelDownload:(0,Z.useCallback)(async()=>{},[]),ensureReady:d,resetTranscript:(0,Z.useCallback)(()=>{a(``),s(null)},[])}}var Ux=class{cacheEnabled=!0;log=Ut(`voice.vosk-cache`);async getCachedModelByUrl(e){return this.cacheEnabled?this.readCachedModelByUrl(e):null}async loadModelByUrl(e,t){let n=await this.getCachedModelByUrl(e);if(n)return this.log.info(`Voice model loaded from cache`,{url:e}),t?.(100),n;this.log.info(`Downloading voice model`,{url:e});let r=await fetch(e);if(!r.ok)throw Error(`Failed to download voice model: ${r.statusText}`);let i=await this.fetchBinaryWithProgress(r,t);return this.cacheEnabled&&await this.saveModelToCacheByUrl(e,i),t?.(100),i}async fetchBinaryWithProgress(e,t){let n=e.headers.get(`content-length`),r=n?parseInt(n,10):0,i=0,a=e.body?.getReader();if(!a)throw Error(`Response body is not readable`);let o=[];try{let e=!1;for(;!e;){let n=await a.read();e=n.done,!e&&n.value&&(o.push(n.value),i+=n.value.length,t&&r>0&&t(Math.round(i/r*100)))}}finally{a.releaseLock()}let s=o.reduce((e,t)=>e+t.length,0),c=new Uint8Array(s),l=0;for(let e of o)c.set(e,l),l+=e.length;return c}async readCachedModelByUrl(e){try{let t=(await this.openIndexedDB()).transaction([`modelsByUrl`],`readonly`).objectStore(`modelsByUrl`);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>{let e=i.result;e?.data?n(e.data):n(null)},i.onerror=()=>r(i.error)})}catch(e){return this.log.error(`Error reading voice model from cache`,e),null}}async saveModelToCacheByUrl(e,t){try{let n=(await this.openIndexedDB()).transaction([`modelsByUrl`],`readwrite`).objectStore(`modelsByUrl`);await new Promise((r,i)=>{let a=n.put({url:e,data:t,timestamp:Date.now(),size:t.length});a.onsuccess=()=>r(),a.onerror=()=>i(a.error)}),this.log.info(`Voice model saved to cache`,{url:e})}catch(e){this.log.error(`Error saving voice model to cache`,e)}}async openIndexedDB(){return new Promise((e,t)=>{let n=indexedDB.open(`VoskModels`,1);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=e=>{let t=e.target.result;if(!t.objectStoreNames.contains(`modelsByUrl`)){let e=t.createObjectStore(`modelsByUrl`,{keyPath:`url`});e.createIndex(`timestamp`,`timestamp`,{unique:!1}),e.createIndex(`size`,`size`,{unique:!1})}}})}},Wx=Rx(`voice.stt.vosk`),Gx=new URL(`data:text/javascript;base64,Y2xhc3MgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7CiAgICBzdXBlcihvcHRpb25zKTsKICAgIHRoaXMucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLl9wcm9jZXNzTWVzc2FnZS5iaW5kKHRoaXMpOwogIH0KCiAgX3Byb2Nlc3NNZXNzYWdlKGV2ZW50KSB7CiAgICBpZiAoZXZlbnQuZGF0YS5hY3Rpb24gPT09ICJpbml0IikgewogICAgICB0aGlzLl9yZWNvZ25pemVySWQgPSBldmVudC5kYXRhLnJlY29nbml6ZXJJZDsKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQgPSBldmVudC5wb3J0c1swXTsKICAgIH0KICB9CgogIHByb2Nlc3MoaW5wdXRzKSB7CiAgICBjb25zdCBkYXRhID0gaW5wdXRzWzBdWzBdOwogICAgaWYgKHRoaXMuX3JlY29nbml6ZXJQb3J0ICYmIGRhdGEpIHsKICAgICAgY29uc3QgYXVkaW9BcnJheSA9IGRhdGEubWFwKCh2YWx1ZSkgPT4gdmFsdWUgKiAweDgwMDApOwoKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQucG9zdE1lc3NhZ2UoCiAgICAgICAgewogICAgICAgICAgYWN0aW9uOiAiYXVkaW9DaHVuayIsCiAgICAgICAgICBkYXRhOiBhdWRpb0FycmF5LAogICAgICAgICAgcmVjb2duaXplcklkOiB0aGlzLl9yZWNvZ25pemVySWQsCiAgICAgICAgICBzYW1wbGVSYXRlLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgdHJhbnNmZXI6IFthdWRpb0FycmF5LmJ1ZmZlcl0sCiAgICAgICAgfSwKICAgICAgKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoInJlY29nbml6ZXItcHJvY2Vzc29yIiwgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yKTsK`,``+import.meta.url);async function Kx(t){let{createModel:n}=await us(async()=>{let{createModel:t}=await import(`./vosk-speech-Fi-g2v8n.js`).then(t=>e(t.t(),1));return{createModel:t}},__vite__mapDeps([2,1]));return n(t)}var qx=class{model=null;modelBlobUrl=null;checkSupport(){return typeof WebAssembly<`u`&&typeof Worker<`u`&&typeof indexedDB<`u`}async initModel(e){Wx.info(`Initializing Vosk model`,{modelUrl:e});try{this.model=await Kx(e),Wx.info(`Vosk model ready`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Wx.error(`Failed to initialize Vosk model`,{error:t}),Error(`Failed to initialize voice model: ${t}`)}}async initModelFromBytes(e){this.revokeModelBlobUrl();let t=new Uint8Array(e),n=new Blob([t],{type:`application/gzip`});this.modelBlobUrl=URL.createObjectURL(n);try{await this.initModel(this.modelBlobUrl)}catch(e){throw this.revokeModelBlobUrl(),e}}isModelLoaded(){return this.model?.ready===!0}async startMicPipeline(e){if(!this.model?.ready)throw Error(`Voice model is not loaded.`);let t=this.model,n=t.KaldiRecognizer,r=await navigator.mediaDevices.getUserMedia({video:!1,audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),i=new AudioContext,a=new n(i.sampleRate),o=i.createMediaStreamSource(r);a.on(`partialresult`,t=>{let n=t.result.partial.trim();n&&e.onPartial(n)}),a.on(`result`,t=>{let n=t.result.text.trim();n&&e.onResult(n)});let s=await Jx(i,t,a,o);return s.audioNode.connect(i.destination),Wx.info(`Vosk mic pipeline started`,{sampleRate:i.sampleRate,processor:s.processorType}),{stop:async()=>{s.audioNode.disconnect(),o.disconnect(),s.messageChannel?.port1.close(),s.messageChannel?.port2.close(),r.getTracks().forEach(e=>e.stop()),a.retrieveFinalResult(),await i.close(),a.remove(),Wx.info(`Vosk mic pipeline stopped`)}}}terminate(){this.model?.terminate(),this.model=null,this.revokeModelBlobUrl()}revokeModelBlobUrl(){this.modelBlobUrl&&=(URL.revokeObjectURL(this.modelBlobUrl),null)}};async function Jx(e,t,n,r){return await Yx(e,t,n,r)||(Wx.warn(`AudioWorklet unavailable — falling back to ScriptProcessorNode`),Xx(e,n,r))}async function Yx(e,t,n,r){if(!e.audioWorklet)return null;try{await e.audioWorklet.addModule(Gx);let i=new MessageChannel;t.registerPort(i.port1);let a=new AudioWorkletNode(e,`recognizer-processor`,{channelCount:1,numberOfInputs:1,numberOfOutputs:1});return a.port.postMessage({action:`init`,recognizerId:n.id},[i.port2]),r.connect(a),{audioNode:a,messageChannel:i,processorType:`audioworklet`}}catch(e){return Wx.warn(`Failed to initialize AudioWorklet pipeline`,{error:e instanceof Error?e.message:String(e)}),null}}function Xx(e,t,n){let r=e.createScriptProcessor(4096,1,1);return r.onaudioprocess=e=>{try{t.acceptWaveform(e.inputBuffer)}catch(e){Wx.error(`acceptWaveform failed`,{error:e instanceof Error?e.message:String(e)})}},n.connect(r),{audioNode:r,processorType:`scriptprocessor`}}var Zx=`/api/voice-model/download`;function Qx(){return Zx}var $x=Rx(`voice.stt.vosk-hook`);function eS(e,t){let n=e.trim(),r=t.trim();return n&&r?`${n} ${r}`:n||r}function tS(){let[e,t]=(0,Z.useState)(`idle`),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(0),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(!1),h=(0,Z.useRef)(``),g=(0,Z.useRef)(``),_=(0,Z.useCallback)(e=>{m.current=e},[]);(0,Z.useEffect)(()=>()=>{f.current?.stop(),f.current=null,u.current?.terminate(),u.current=null},[]);let v=(0,Z.useCallback)(()=>{a(eS(h.current,g.current))},[]),y=(0,Z.useCallback)(async()=>{if(e===`ready`||e===`needs-model`||e===`error`)return e;if(p.current)return p.current;let n=Qx();async function i(){t(`checking-support`),_(!1),l(0),s(null),$x.separator(`VOICE SESSION START`),$x.info(`Checking Vosk support`,{userAgent:navigator.userAgent,platform:navigator.platform,url:n});try{let e=new qx;u.current=e;let i=e.checkSupport();if(r(i),!i)return $x.error(`Vosk not supported in this environment`),t(`error`),s(`Local speech recognition is not supported in this environment.`),`error`;let a=new Ux;d.current=a,$x.info(`Checking IndexedDB model cache`,{url:n});let o=await a.getCachedModelByUrl(n);return o?($x.info(`Cached model found — initializing Vosk`,{sizeBytes:o.byteLength,sizeMB:(o.byteLength/1024/1024).toFixed(2)}),_(!0),t(`initializing`),await e.initModelFromBytes(o),$x.info(`Vosk model initialized from cache — ready`),t(`ready`),`ready`):($x.info(`Model not in cache — download required`),t(`needs-model`),`needs-model`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;return $x.error(`Failed to check speech recognition support`,{error:n}),t(`error`),s(`Failed to check speech recognition support: ${n}`),`error`}}let a=i();p.current=a;try{return await a}finally{p.current=null}},[e,_]),b=(0,Z.useCallback)(async()=>{if(!u.current||!d.current)return;let e=Qx();t(`downloading-model`),l(0),s(null),$x.info(`Model download requested`,{url:e});try{let n=await d.current.loadModelByUrl(e,e=>{l(e),e%10==0&&$x.debug(`Model download progress`,{progress:e})});$x.info(`Model download complete — initializing Vosk`,{sizeBytes:n.byteLength,sizeMB:(n.byteLength/1024/1024).toFixed(2)}),t(`initializing`),await u.current.initModelFromBytes(n),$x.info(`Vosk model initialized after download — ready`),_(!0),t(`ready`)}catch(e){let n=e instanceof Error?e.message:`An unknown error occurred.`;$x.error(`Model download or initialization failed`,{error:n}),t(`needs-model`),s(n)}},[_]);return{state:e,isSupported:n,transcript:i,error:o,downloadProgress:c,startListening:(0,Z.useCallback)(async()=>{if(!(!u.current||!m.current)){if(t(`requesting-mic`),s(null),h.current=``,g.current=``,a(``),$x.separator(`RECORDING START`),!navigator.mediaDevices?.getUserMedia){$x.error(`navigator.mediaDevices.getUserMedia not available`),t(`ready`),s(`Microphone is not available in this environment.`);return}try{f.current=await u.current.startMicPipeline({onPartial:e=>{g.current=e,v()},onResult:e=>{let t=h.current.trim();h.current=t?`${t} ${e}`:e,g.current=``,v()}}),t(`recording`),$x.info(`Recording started`)}catch(e){t(`ready`),e instanceof DOMException&&e.name===`NotAllowedError`?s(`Microphone access was denied. Please allow microphone access to use voice input.`):e instanceof DOMException&&e.name===`NotFoundError`?s(`No microphone was found. Please connect a microphone to use voice input.`):s(`Microphone error: ${e instanceof Error?e.message:`Unknown error`}`)}}},[v]),stopListening:(0,Z.useCallback)(async()=>{if(!f.current){$x.info(`stopListening called but no active recording`),m.current&&t(`ready`);return}t(`transcribing`),$x.info(`Stopping recording`);try{await f.current.stop(),g.current=``,v(),t(`ready`),$x.info(`Recording stopped`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;$x.error(`Failed to stop recording`,{error:n}),t(`ready`),s(`Failed to stop recording: ${n}`)}finally{f.current=null}},[v]),requestModelDownload:b,ensureReady:y,resetTranscript:(0,Z.useCallback)(()=>{h.current=``,g.current=``,a(``),s(null)},[])}}function nS(){let e=(0,Q.c)(22),t=tS(),n=Hx();if(Pr()){let n;return e[0]!==t.downloadProgress||e[1]!==t.ensureReady||e[2]!==t.error||e[3]!==t.isSupported||e[4]!==t.requestModelDownload||e[5]!==t.resetTranscript||e[6]!==t.startListening||e[7]!==t.state||e[8]!==t.stopListening||e[9]!==t.transcript?(n={state:t.state,isSupported:t.isSupported,usesLocalModel:!0,transcript:t.transcript,error:t.error,downloadProgress:t.downloadProgress,startListening:t.startListening,stopListening:t.stopListening,requestModelDownload:t.requestModelDownload,ensureReady:t.ensureReady,resetTranscript:t.resetTranscript},e[0]=t.downloadProgress,e[1]=t.ensureReady,e[2]=t.error,e[3]=t.isSupported,e[4]=t.requestModelDownload,e[5]=t.resetTranscript,e[6]=t.startListening,e[7]=t.state,e[8]=t.stopListening,e[9]=t.transcript,e[10]=n):n=e[10],n}let r;return e[11]!==n.downloadProgress||e[12]!==n.ensureReady||e[13]!==n.error||e[14]!==n.isSupported||e[15]!==n.requestModelDownload||e[16]!==n.resetTranscript||e[17]!==n.startListening||e[18]!==n.state||e[19]!==n.stopListening||e[20]!==n.transcript?(r={state:n.state,isSupported:n.isSupported,usesLocalModel:!1,transcript:n.transcript,error:n.error,downloadProgress:n.downloadProgress,startListening:n.startListening,stopListening:n.stopListening,requestModelDownload:n.requestModelDownload,ensureReady:n.ensureReady,resetTranscript:n.resetTranscript},e[11]=n.downloadProgress,e[12]=n.ensureReady,e[13]=n.error,e[14]=n.isSupported,e[15]=n.requestModelDownload,e[16]=n.resetTranscript,e[17]=n.startListening,e[18]=n.state,e[19]=n.stopListening,e[20]=n.transcript,e[21]=r):r=e[21],r}var rS=new Map;function iS(e){let t=rS.get(e);if(t)return t;let n=Ut(e);return rS.set(e,n),n}function aS({key:e,defaultValue:t,logScope:n,settingLabel:r}){let[i,a]=(0,Z.useState)(t),[o,s]=(0,Z.useState)(!0),[c,l]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{let t=!1,i=iS(n);async function o(){try{let n=await Zr();t||a(n[e])}catch(e){i.error(`Failed to load ${r} setting:`,e)}finally{t||s(!1)}}return o(),()=>{t=!0}},[e,n,r]);async function u(t){let i=iS(n);l(!0);try{a((await Jo({[e]:t}))[e])}catch(e){throw i.error(`Failed to update ${r} setting:`,e),e}finally{l(!1)}}return{isEnabled:i,isLoading:o,isSaving:c,updateIsEnabled:u}}function oS(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`voiceAiProcessing`,defaultValue:!0,logScope:`app.use-voice-ai-processing.hook`,settingLabel:`voice AI processing`},e[0]=t):t=e[0],aS(t)}var sS=Z.forwardRef((e,t)=>{let n=(0,Q.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,value:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===r?o=n[5]:(o=G(`relative h-4 w-full overflow-hidden rounded-full bg-secondary`,r),n[4]=r,n[5]=o);let s=`translateX(-${100-(a||0)}%)`,c;n[6]===s?c=n[7]:(c=(0,$.jsx)(Sr,{className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:s}}),n[6]=s,n[7]=c);let l;return n[8]!==i||n[9]!==t||n[10]!==o||n[11]!==c?(l=(0,$.jsx)(hn,{ref:t,className:o,...i,children:c}),n[8]=i,n[9]=t,n[10]=o,n[11]=c,n[12]=l):l=n[12],l});sS.displayName=hn.displayName;function cS(e,t,n){return t?`Preparing voice input…`:n<100?`Downloading voice model… ${n}%`:e?`Finishing download…`:`Downloading voice model…`}function lS(e){let t=(0,Q.c)(24),{open:n,onOpenChange:r,onRetry:i,isDownloading:a,isInitializing:o,progress:s,error:c}=e,l=a||o,u;t[0]!==l||t[1]!==r?(u=function(e){l&&!e||r(e)},t[0]=l,t[1]=r,t[2]=u):u=t[2];let d=u,f=c?`Voice model download failed`:`Setting up voice input`,p;t[3]===f?p=t[4]:(p=(0,$.jsx)(qa,{children:f}),t[3]=f,t[4]=p);let m=c?`The English voice model could not be downloaded or prepared.`:`First-time setup downloads a ~40 MB English speech model to your device.`,h;t[5]===m?h=t[6]:(h=(0,$.jsx)(_i,{children:m}),t[5]=m,t[6]=h);let g;t[7]!==p||t[8]!==h?(g=(0,$.jsxs)(Dr,{children:[p,h]}),t[7]=p,t[8]=h,t[9]=g):g=t[9];let _;t[10]!==c||t[11]!==a||t[12]!==o||t[13]!==r||t[14]!==i||t[15]!==s?(_=c?(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(mo,{variant:`error`,className:`mb-0`,children:c}),(0,$.jsxs)(Xa,{children:[(0,$.jsx)(Hr,{variant:`outline`,onClick:()=>r(!1),children:`Cancel`}),(0,$.jsx)(Hr,{onClick:i,children:`Try again`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(mo,{variant:`info`,className:`mb-0`,children:`One-time download. After this finishes, voice input works offline and you will not need to download the model again.`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(Ka,{title:cS(a,o,s)}),(0,$.jsx)(sS,{value:o?100:s,className:`w-full`}),(0,$.jsx)(`p`,{className:G(U.bodyMuted,`text-center`),children:o?`Loading the model into memory. This usually takes a few seconds.`:s<100?`About 40 MB — kept on this device for future use.`:`Saving the model locally…`})]})]}),t[10]=c,t[11]=a,t[12]=o,t[13]=r,t[14]=i,t[15]=s,t[16]=_):_=t[16];let v;t[17]!==g||t[18]!==_?(v=(0,$.jsxs)(Ir,{children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;return t[20]!==d||t[21]!==n||t[22]!==v?(y=(0,$.jsx)(Ni,{open:n,onOpenChange:d,children:v}),t[20]=d,t[21]=n,t[22]=v,t[23]=y):y=t[23],y}function uS({onTranscript:e,onVoiceSessionStart:t,threadId:n,provider:r,model:i,children:a}){let{state:o,isSupported:s,usesLocalModel:c,transcript:l,error:u,downloadProgress:d,startListening:f,stopListening:p,requestModelDownload:m,ensureReady:h,resetTranscript:g}=nS(),{isEnabled:_}=oS(),{toast:v}=ic(),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(!1),C=(0,Z.useRef)(``),w=(0,Z.useRef)(null),T=(0,Z.useRef)(`idle`),E=o===`recording`,D=o===`transcribing`,O=E||D,k=o===`needs-model`,A=o===`downloading-model`,j=o===`initializing`,M=A||j,N=o===`checking-support`;(0,Z.useEffect)(()=>{u&&u!==w.current&&!y&&v({title:`Voice Input Error`,description:u,variant:`destructive`}),w.current=u},[u,y,v]),(0,Z.useEffect)(()=>{if(l&&l!==C.current){let t=l.substring(C.current.length);C.current=l,e(t)}},[l,e]),(0,Z.useEffect)(()=>{l||(C.current=``)},[l]),(0,Z.useEffect)(()=>{let t=T.current;if(T.current=o,(t===`recording`||t===`transcribing`)&&o===`ready`&&_&&C.current){let t=C.current;S(!0),qi(t,{threadId:n,provider:r,model:i}).then(t=>{e(t,{replace:!0})}).catch(()=>{e(t,{replace:!0})}).finally(()=>{S(!1)})}},[o,_,e,n,r,i]);function P(){b(!0),m()}let F=(0,Z.useCallback)(async()=>{if(O){p();return}if(k){P();return}if(o===`ready`){g(),t?.(),f();return}if(o===`idle`){let e=await h();e===`needs-model`?P():e===`ready`&&(g(),t?.(),f())}},[k,O,o,h,p,f,g,m,t]),I=(0,Z.useCallback)(()=>{m()},[m]);(0,Z.useEffect)(()=>{o===`ready`&&y&&b(!1)},[o,y]);let L=(0,Z.useCallback)(()=>N?`Checking voice input support...`:s===!1?`Voice input not supported in this browser`:u||(M?`Downloading speech model...`:x?`Processing transcription`:D?`Transcribing...`:E?`Stop listening`:k?`Click to download speech model`:`Start listening`),[u,x,N,M,E,D,s,k]),R=(0,Z.useCallback)(()=>M||D||x?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin`}):E?(0,$.jsxs)(`span`,{className:`recording-waveform`,"aria-hidden":!0,children:[(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`0ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`150ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`75ms`}}),(0,$.jsx)(`span`,{className:`recording-waveform-bar`,style:{animationDelay:`225ms`}})]}):(0,$.jsx)(at,{className:`h-3 w-3`}),[x,M,E,D]),z=L(),B=O||x?z:`Voice input`,V=a({onClick:F,disabled:N||M||D||x||s===!1,icon:R(),label:z,isRecording:E,isTranscribing:D||x,isDownloading:M,needsModel:k,isSupported:s!==!1});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`style`,{children:`
3305
3305
  .recording-waveform {
3306
3306
  display: flex;
3307
3307
  align-items: center;
@@ -3321,19 +3321,19 @@ self.onmessage = async function (event) {
3321
3321
  to { height: 14px; }
3322
3322
  }
3323
3323
  `}),(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:V}),(0,$.jsx)(Fr,{side:`top`,className:`bg-popover text-popover-foreground max-w-64`,children:B})]}),c?(0,$.jsx)(lS,{open:y,onOpenChange:b,onRetry:I,isDownloading:A,isInitializing:j,progress:d,error:y?u:null}):null]})}function dS(e){let t=(0,Q.c)(8),{queuedMessages:n,onRemoveQueuedMessage:r}=e;if(n.length===0)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`div`,{className:U.dropdownGroupHeading,children:`Queued messages`}),t[0]=i):i=t[0];let a;if(t[1]!==r||t[2]!==n){let e;t[4]===r?e=t[5]:(e=e=>(0,$.jsxs)(`div`,{className:G(U.body,`flex items-start justify-between gap-3 rounded-md border border-border/60 bg-background px-3 py-2`),children:[(0,$.jsx)(`p`,{className:`flex-1 whitespace-pre-wrap text-foreground select-text line-clamp-3`,children:e.message}),(0,$.jsx)(`button`,{type:`button`,className:`rounded-full p-1 text-muted-foreground transition-colors hover:bg-foreground hover:text-background`,onClick:()=>r(e.id),"aria-label":`Remove queued message`,children:(0,$.jsx)(nt,{className:`h-3.5 w-3.5`})})]},e.id),t[4]=r,t[5]=e),a=n.map(e),t[1]=r,t[2]=n,t[3]=a}else a=t[3];let o;return t[6]===a?o=t[7]:(o=(0,$.jsxs)(mo,{className:`mb-3 border border-border/60 bg-muted/30 px-4 py-3`,children:[i,(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-2`,children:a})]}),t[6]=a,t[7]=o),o}async function fS(e,t,n=!1){return Va(`api/threads/${ao(e)}/explorer?path=${encodeURIComponent(t)}&recursive=${n}`)}async function pS(e,t){return Va(`api/threads/${ao(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function mS(e,t,n){return $o(`api/threads/${ao(e)}/ai-file`,{path:t,content:n})}async function hS(e,t){return yo(`api/threads/${ao(e)}/explorer?path=${encodeURIComponent(t)}`)}async function gS(e,t,n){return Ho(`api/threads/${ao(e)}/explorer`,{path:t,newName:n})}async function _S(e,t,n){return is(`api/threads/${ao(e)}/explorer/file`,{dirPath:t,name:n})}async function vS(e,t,n){let r=new URLSearchParams({dirPath:t,name:n.name});return fa(`api/threads/${ao(e)}/explorer/upload?${r.toString()}`,n)}async function yS(e,t){return ra(`api/threads/${ao(e)}/explorer/media?path=${encodeURIComponent(t)}`)}async function bS(e,t,n){return is(`api/threads/${ao(e)}/explorer/folder`,{dirPath:t,name:n})}async function xS(e,t){return is(`api/threads/${ao(e)}/explorer/open`,{path:t})}async function SS(e,t){return is(`api/threads/${ao(e)}/explorer/print-markdown`,{path:t})}function CS(e){return e?Array.from(e.types).includes(`Files`):!1}function wS(e){let t=Array.from(e.items??[]);if(t.length===0)return{files:Array.from(e.files),skippedFolders:0};let n=[],r=0;for(let e of t){if(e.kind!==`file`)continue;if(e.webkitGetAsEntry?.()?.isDirectory){r+=1;continue}let t=e.getAsFile();t&&n.push(t)}return{files:n,skippedFolders:r}}function TS(e){return e?`the "${e}/" folder`:`the repository root`}function ES(e){let t=e.slice(0,3).map(e=>`"${e.name}"`),n=e.length>3?` and ${e.length-3} more`:``;return`${t.join(`, `)}${n}`}async function DS(e,t,n){let r=await Promise.allSettled(n.map(n=>vS(e,t,n))),i=[],a=[];for(let e=0;e<r.length;e+=1){let t=r[e];t.status===`fulfilled`?i.push(n[e]):a.push(t.reason)}return{copied:i,failures:a}}function OS(e,t,n){if(n.length===0)return{title:t===1?`File copied`:`Files copied`,description:`Copied ${ES(e.files)} into ${TS(e.dirPath)}.`};let r=n[0];return{title:t>0?`Some files were not copied`:`Copy failed`,description:r instanceof Error?r.message:`Failed to copy the dropped file.`,variant:`destructive`}}function kS(e){let t=(0,Q.c)(30),{pendingDrop:n,dropCopying:r,onConfirm:i,onDismiss:a}=e,o=n!==null,s;t[0]!==r||t[1]!==a?(s=e=>{!e&&!r&&a()},t[0]=r,t[1]=a,t[2]=s):s=t[2];let c=n&&n.files.length>1?`files`:`file`,l;t[3]===c?l=t[4]:(l=(0,$.jsxs)(sc,{children:[`Copy `,c]}),t[3]=c,t[4]=l);let u;t[5]===n?u=t[6]:(u=n?`Copy ${ES(n.files)} into ${TS(n.dirPath)}?`:null,t[5]=n,t[6]=u);let d;t[7]===u?d=t[8]:(d=(0,$.jsx)(oc,{children:u}),t[7]=u,t[8]=d);let f;t[9]===r?f=t[10]:(f=(0,$.jsx)(dc,{disabled:r,children:`Cancel`}),t[9]=r,t[10]=f);let p;t[11]===i?p=t[12]:(p=e=>{e.preventDefault(),i()},t[11]=i,t[12]=p);let m;t[13]===r?m=t[14]:(m=r?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):null,t[13]=r,t[14]=m);let h;t[15]!==r||t[16]!==p||t[17]!==m?(h=(0,$.jsxs)(lc,{disabled:r,onClick:p,children:[m,`Copy`]}),t[15]=r,t[16]=p,t[17]=m,t[18]=h):h=t[18];let g;t[19]!==h||t[20]!==f?(g=(0,$.jsxs)(`div`,{className:`flex justify-end gap-3`,children:[f,h]}),t[19]=h,t[20]=f,t[21]=g):g=t[21];let _;t[22]!==g||t[23]!==l||t[24]!==d?(_=(0,$.jsxs)(cc,{children:[l,d,g]}),t[22]=g,t[23]=l,t[24]=d,t[25]=_):_=t[25];let v;return t[26]!==o||t[27]!==_||t[28]!==s?(v=(0,$.jsx)(pc,{open:o,onOpenChange:s,children:_}),t[26]=o,t[27]=_,t[28]=s,t[29]=v):v=t[29],v}var AS=Ut(`app.use-composer-file-drop.hook`);function jS({threadId:e,mode:t,onAttachmentsAdded:n}){let{triggerExplorerRefresh:r}=vc(),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),u=(0,Z.useRef)(0),d=(0,Z.useCallback)(()=>{u.current=0,l(!1)},[]),f=(0,Z.useCallback)(e=>{CS(e.dataTransfer)&&(u.current+=1,l(!0))},[]),p=(0,Z.useCallback)(e=>{CS(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},[]),m=(0,Z.useCallback)(e=>{CS(e.dataTransfer)&&(u.current=Math.max(0,u.current-1),u.current===0&&l(!1))},[]),h=(0,Z.useCallback)(t=>{if(!CS(t.dataTransfer))return;if(t.preventDefault(),d(),!e){ac({title:`Select a thread first`,description:`Choose a thread before copying files into the project.`});return}let{files:n,skippedFolders:r}=wS(t.dataTransfer);r>0&&ac({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length!==0&&a({files:n,dirPath:``})},[d,e]),g=(0,Z.useCallback)(async()=>{if(!(!i||!e||o)){s(!0);try{let{copied:a,failures:o}=await DS(e,i.dirPath,i.files);if(a.length>0&&r(),ac(OS(i,a.length,o)),t===`attach`&&a.length>0&&n)try{n(await Rb(a))}catch(e){AS.error(`Failed to read dropped files as attachments`,{error:e}),ac({title:`Files copied but not attached`,description:`The files are in the project, but could not be added to the composer.`,variant:`destructive`})}}finally{s(!1),a(null)}}},[o,t,n,i,e,r]);return{isFileDragOver:c,dropTargetProps:{onDragEnter:f,onDragOver:p,onDragLeave:m,onDrop:h},dragOverSurfaceClassName:G(c&&`ring-2 ring-primary/40 ring-offset-0 border-primary/50`),confirmDialog:(0,$.jsx)(kS,{pendingDrop:i,dropCopying:o,onConfirm:()=>{g()},onDismiss:()=>{a(null)}})}}var MS=Ut(`app.chat-input.ui`);function NS({isStreaming:e,isVoiceActive:t,disabled:n,isRouting:r,canSubmitMessage:i,speechDisabled:a,hasMessageText:o,attachmentsLength:s,effectiveModel:c}){return!e&&!t&&((n??!1)||r||!i&&a||!o&&s>0&&!c||o&&!c)}function PS({isStreaming:e,isVoiceActive:t,label:n,canSubmitMessage:r}){return e?`Stop generation`:t?n:r?`Send message`:n}function FS(e){let t=(0,Q.c)(42),{onSpeechClick:n,speechDisabled:r,icon:i,label:a,isRecording:o,isTranscribing:s,isDownloading:c,isSupported:l,hasMessageText:u,setIsVoiceActive:d,isStreaming:f,disabled:p,canSubmitMessage:m,attachmentsLength:h,effectiveModel:g,onStop:_,onSend:v,isRouting:y}=e,b=y===void 0?!1:y,x=o||s||c,S,C;t[0]!==x||t[1]!==d?(S=()=>{d(x)},C=[x,d],t[0]=x,t[1]=d,t[2]=S,t[3]=C):(S=t[2],C=t[3]),(0,Z.useEffect)(S,C);let w;t[4]!==h||t[5]!==m||t[6]!==p||t[7]!==g||t[8]!==u||t[9]!==b||t[10]!==f||t[11]!==x||t[12]!==r?(w=NS({isStreaming:f,isVoiceActive:x,disabled:p,isRouting:b,canSubmitMessage:m,speechDisabled:r,hasMessageText:u,attachmentsLength:h,effectiveModel:g}),t[4]=h,t[5]=m,t[6]=p,t[7]=g,t[8]=u,t[9]=b,t[10]=f,t[11]=x,t[12]=r,t[13]=w):w=t[13];let T=w,E;t[14]!==m||t[15]!==f||t[16]!==x||t[17]!==v||t[18]!==n||t[19]!==_?(E=function(){if(f){_?.();return}if(x){n();return}if(m){v();return}n()},t[14]=m,t[15]=f,t[16]=x,t[17]=v,t[18]=n,t[19]=_,t[20]=E):E=t[20];let D=E,O;t[21]!==m||t[22]!==f||t[23]!==x||t[24]!==a?(O=PS({isStreaming:f,isVoiceActive:x,label:a,canSubmitMessage:m}),t[21]=m,t[22]=f,t[23]=x,t[24]=a,t[25]=O):O=t[25];let k=O,A=`relative h-7 w-7 rounded-full ${o?`bg-primary text-primary-foreground hover:bg-primary/90`:``} ${f?`before:absolute before:inset-[-1px] before:rounded-full before:border before:border-primary/60 before:animate-ping-subtle before:content-['']`:``}`,j;t[26]!==m||t[27]!==i||t[28]!==f||t[29]!==x?(j=f?(0,$.jsx)(`span`,{className:`block h-3 w-3 shrink-0 rounded-[2px] bg-current`,"aria-hidden":`true`}):x||!m?i:(0,$.jsx)(V,{className:`h-3 w-3`}),t[26]=m,t[27]=i,t[28]=f,t[29]=x,t[30]=j):j=t[30];let M;t[31]===k?M=t[32]:(M=(0,$.jsx)(`span`,{className:`sr-only`,children:k}),t[31]=k,t[32]=M);let N;t[33]===l?N=t[34]:(N=!l&&(0,$.jsx)(`span`,{className:`sr-only`,children:`Voice input not supported`}),t[33]=l,t[34]=N);let P;return t[35]!==D||t[36]!==T||t[37]!==N||t[38]!==A||t[39]!==j||t[40]!==M?(P=(0,$.jsxs)(Hr,{size:`icon`,className:A,onClick:D,disabled:T,children:[j,M,N]}),t[35]=D,t[36]=T,t[37]=N,t[38]=A,t[39]=j,t[40]=M,t[41]=P):P=t[41],P}function IS({ralphMode:e,effectivePlanMode:t,imageMode:n,isVoiceActive:r}){return e?`Describe stories for Ralph to implement autonomously...`:t?`Describe what you want Tarsk to plan...`:n?`Describe the image you want to generate...`:r?`Dictate your message...`:`Ask Tarsk anything, @ for files, / for commands & skills`}function LS(e,t,n,r){return r?t+n:(e===``||e.endsWith(` `),e+n)}function RS(e,t){if(!e)return!1;let n=Array.from(e).filter(e=>e.type.startsWith(`image/`));if(n.length===0)return!1;for(let e of n){let n=e.getAsFile();if(!n)continue;let r=new FileReader;r.onload=()=>{let e=r.result.split(`,`)[1];t({fileName:n.name||`pasted-image.${n.type.split(`/`)[1]||`png`}`,content:e,mimeType:n.type})},r.readAsDataURL(n)}return!0}function zS(e,t){return e.find(e=>e.id===t.model.id&&e.provider===t.model.provider)??null}function BS(e,t,n){let r=zS(e,t);return r&&(r.id!==n?.id||r.provider!==n?.provider)?r:null}function VS(e){let t=(0,Q.c)(29),{storeSelectedThreadId:n,imageMode:r,selectedImageModel:i,selectedModel:a,availableImageModels:o,availableModels:s,autoMode:c,message:l}=e,u=Yn(),{paneId:d,conversationId:f,setFocused:p,fillPane:m}=wv(),h;t[0]!==d||t[1]!==n?(h=e=>As(e.threadStreamingStates,n,d).contextUsage,t[0]=d,t[1]=n,t[2]=h):h=t[2];let g=X(h),_;t[3]===d?_=t[4]:(_=e=>ys(e,d),t[3]=d,t[4]=_);let v=X(_),y=X(WS),b;t[5]===y?b=t[6]:(b=e=>{if(y)return e.projects.find(e=>e.projectId===y)?.modelAliases},t[5]=y,t[6]=b);let x=X(b),S;t[7]===v?S=t[8]:(S=v.some(US),t[7]=v,t[8]=S);let C=S,w;t[9]===v?w=t[10]:(w=v.some(HS),t[9]=v,t[10]=w);let T=!w,E=r?i:a,D=r?o:s,O=c&&!r&&T,k;t[11]===l?k=t[12]:(k=l.trim(),t[11]=l,t[12]=k);let A=k.length>0,j;return t[13]!==f||t[14]!==D||t[15]!==E||t[16]!==m||t[17]!==C||t[18]!==A||t[19]!==O||t[20]!==T||t[21]!==g||t[22]!==v||t[23]!==x||t[24]!==u||t[25]!==d||t[26]!==y||t[27]!==p?(j={navigate:u,paneId:d,conversationId:f,setFocused:p,fillPane:m,liveContextUsage:g,messages:v,selectedProjectId:y,modelAliases:x,hasConversationMessages:C,isFirstUserPrompt:T,effectiveModel:E,effectiveAvailableModels:D,hideModelSelector:O,hasMessageText:A},t[13]=f,t[14]=D,t[15]=E,t[16]=m,t[17]=C,t[18]=A,t[19]=O,t[20]=T,t[21]=g,t[22]=v,t[23]=x,t[24]=u,t[25]=d,t[26]=y,t[27]=p,t[28]=j):j=t[28],j}function HS(e){return e.sender===`user`}function US(e){return e.sender===`agent`}function WS(e){return e.selectedProjectId}function GS(e){let t=(0,Q.c)(8),{storeSelectedThreadId:n,availableModels:r,selectedModel:i,setSelectedModel:a}=e,[o,s]=(0,Z.useState)(null),c=o&&o.threadId===n?o.resolution:null,l;t[0]!==r||t[1]!==i||t[2]!==a||t[3]!==n?(l=e=>{s({threadId:n,resolution:e});let t=BS(r,e,i);t&&a(t)},t[0]=r,t[1]=i,t[2]=a,t[3]=n,t[4]=l):l=t[4];let u=l,d;return t[5]!==c||t[6]!==u?(d={autoRoute:c,handleAutoRouteResolved:u},t[5]=c,t[6]=u,t[7]=d):d=t[7],d}function KS(e){let t=(0,Q.c)(10),{setMessage:n,setAttachments:r}=e,i=Z.useRef(``),a;t[0]===n?a=t[1]:(a=()=>{n(e=>(i.current=e,e))},t[0]=n,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=(e,t)=>{n(n=>LS(n,i.current,e,t?.replace))},t[2]=n,t[3]=s);let c=s,l;t[4]===r?l=t[5]:(l=e=>{RS(e.clipboardData?.items,e=>{r(t=>[...t,e])})&&e.preventDefault()},t[4]=r,t[5]=l);let u=l,d;return t[6]!==u||t[7]!==c||t[8]!==o?(d={handleVoiceSessionStart:o,handleSpeechTranscript:c,handlePaste:u},t[6]=u,t[7]=c,t[8]=o,t[9]=d):d=t[9],d}function qS(e){let t=(0,Q.c)(13),{textareaRef:n,autoFocus:r,value:i,onChange:a,onKeyDown:o,onPaste:s,onFocus:c,placeholder:l,isSingleLine:u,disabled:d}=e,f=u?`order-2 flex-1 overflow-hidden py-1.5`:`order-1 min-h-[4.5rem] w-full pt-4 pb-2`,p;t[0]===f?p=t[1]:(p=G(U.body,`min-w-0 resize-none bg-transparent px-3 text-foreground placeholder:text-muted-foreground focus:outline-none`,f),t[0]=f,t[1]=p);let m;return t[2]!==r||t[3]!==d||t[4]!==a||t[5]!==c||t[6]!==o||t[7]!==s||t[8]!==l||t[9]!==p||t[10]!==n||t[11]!==i?(m=(0,$.jsx)(`textarea`,{ref:n,autoFocus:r,value:i,onChange:a,onKeyDown:o,onPaste:s,onFocus:c,placeholder:l,rows:1,className:p,disabled:d}),t[2]=r,t[3]=d,t[4]=a,t[5]=c,t[6]=o,t[7]=s,t[8]=l,t[9]=p,t[10]=n,t[11]=i,t[12]=m):m=t[12],m}function JS(e){let t=(0,Q.c)(11),{attachments:n,selectedModel:r,onRemove:i}=e,a;t[0]!==n||t[1]!==i?(a=(0,$.jsx)(hb,{attachments:n,onRemove:i}),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==r?.id||t[5]!==r?.name||t[6]!==r?.supportsImages?(o=n.some(YS)&&r?.supportsImages===!1&&(0,$.jsxs)(`div`,{className:G(U.compact,`mb-2 flex items-center gap-1.5 text-amber-500`),children:[(0,$.jsx)(an,{className:`h-3 w-3 shrink-0`}),(0,$.jsxs)(`span`,{children:[`Images are not supported by `,r?.name||r?.id]})]}),t[3]=n,t[4]=r?.id,t[5]=r?.name,t[6]=r?.supportsImages,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,$.jsxs)(`div`,{className:`order-2 w-full px-1`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function YS(e){return e.mimeType.startsWith(`image/`)}function XS(e){let t=(0,Q.c)(36),{disabled:n,isRouting:r,canAddTask:i,isSingleLine:a,planMode:o,imageMode:s,ralphMode:c,orchestrateMode:l,autoMode:u,setPlanMode:d,setImageMode:f,setRalphMode:p,setOrchestrateMode:m,setAutoMode:h,lastAutoRouteDecision:g,projectId:_,skills:v,slashCommands:y,onSelectSkill:b,onSelectSlashCommand:x,onFileAttach:S,message:C,selectedThreadId:w,paneId:T,dispatch:E,textareaRef:D,onUserTaskCreated:O,setMessage:k,setAttachments:A}=e,j;t[0]!==E||t[1]!==C||t[2]!==O||t[3]!==T||t[4]!==_||t[5]!==w||t[6]!==A||t[7]!==k||t[8]!==D?(j=function(){if(!_||!w)return;let e=C.trim();e&&aa(_,e).then(e=>{O?.(e),k(``),A([]),E({type:Y.ClearChatInputDraft,threadId:T===`primary`?w:`${w}:${T}`}),D.current&&(D.current.style.height=`auto`)}).catch(ZS)},t[0]=E,t[1]=C,t[2]=O,t[3]=T,t[4]=_,t[5]=w,t[6]=A,t[7]=k,t[8]=D,t[9]=j):j=t[9];let M=j,N=a?`order-1`:`order-3`,P;t[10]===N?P=t[11]:(P=G(`flex items-center`,N),t[10]=N,t[11]=P);let F=n||r,I=g??null,L;t[12]!==u||t[13]!==i||t[14]!==M||t[15]!==s||t[16]!==S||t[17]!==b||t[18]!==x||t[19]!==l||t[20]!==o||t[21]!==_||t[22]!==c||t[23]!==h||t[24]!==f||t[25]!==m||t[26]!==d||t[27]!==p||t[28]!==v||t[29]!==y||t[30]!==F||t[31]!==I?(L=(0,$.jsx)(kx,{disabled:F,canAddTask:i,planMode:o,imageMode:s,ralphMode:c,orchestrateMode:l,autoMode:u,setPlanMode:d,setImageMode:f,setRalphMode:p,setOrchestrateMode:m,setAutoMode:h,lastAutoRouteDecision:I,projectId:_,skills:v,onSelectSkill:b,slashCommands:y,onSelectSlashCommand:x,onFileAttach:S,onAddTask:M}),t[12]=u,t[13]=i,t[14]=M,t[15]=s,t[16]=S,t[17]=b,t[18]=x,t[19]=l,t[20]=o,t[21]=_,t[22]=c,t[23]=h,t[24]=f,t[25]=m,t[26]=d,t[27]=p,t[28]=v,t[29]=y,t[30]=F,t[31]=I,t[32]=L):L=t[32];let R;return t[33]!==P||t[34]!==L?(R=(0,$.jsx)(`div`,{className:P,children:L}),t[33]=P,t[34]=L,t[35]=R):R=t[35],R}function ZS(e){MS.error(`Failed to create user task:`,e)}function QS(e){let t=(0,Q.c)(37),{isSingleLine:n,hideModelSelector:r,availableModels:i,selectedModel:a,onModelSelect:o,onReasoningEffortChange:s,threadId:c,conversationId:l,messages:u,isStreaming:d,liveContextUsage:f,onSpeechTranscript:p,onVoiceSessionStart:m,speechProvider:h,speechModel:g,hasMessageText:_,setIsVoiceActive:v,disabled:y,canSubmitMessage:b,attachmentsLength:x,effectiveModel:S,onStop:C,onSend:w,isRouting:T}=e,E=n?`order-3`:`order-4`,D;t[0]===E?D=t[1]:(D=G(`flex items-center gap-1`,E),t[0]=E,t[1]=D);let O;t[2]!==i||t[3]!==r||t[4]!==o||t[5]!==s||t[6]!==a?(O=!r&&(0,$.jsx)(ex,{availableModels:i,selectedModel:a,onModelSelect:o,onReasoningEffortChange:s}),t[2]=i,t[3]=r,t[4]=o,t[5]=s,t[6]=a,t[7]=O):O=t[7];let k=d?f:void 0,A;t[8]!==l||t[9]!==d||t[10]!==u||t[11]!==k||t[12]!==c?(A=(0,$.jsx)(Ib,{threadId:c,conversationId:l,messages:u,isStreaming:d,liveContextUsage:k}),t[8]=l,t[9]=d,t[10]=u,t[11]=k,t[12]=c,t[13]=A):A=t[13];let j;t[14]!==x||t[15]!==b||t[16]!==y||t[17]!==S||t[18]!==_||t[19]!==T||t[20]!==d||t[21]!==w||t[22]!==C||t[23]!==v?(j=e=>{let{onClick:t,disabled:n,icon:r,label:i,isRecording:a,isTranscribing:o,isDownloading:s,isSupported:c}=e;return(0,$.jsx)(FS,{onSpeechClick:t,speechDisabled:n,icon:r,label:i,isRecording:a,isTranscribing:o,isDownloading:s,isSupported:c,hasMessageText:_,setIsVoiceActive:v,isStreaming:d,disabled:y,canSubmitMessage:b,attachmentsLength:x,effectiveModel:S,onStop:C,onSend:w,isRouting:T})},t[14]=x,t[15]=b,t[16]=y,t[17]=S,t[18]=_,t[19]=T,t[20]=d,t[21]=w,t[22]=C,t[23]=v,t[24]=j):j=t[24];let M;t[25]!==p||t[26]!==m||t[27]!==g||t[28]!==h||t[29]!==j||t[30]!==c?(M=(0,$.jsx)(uS,{onTranscript:p,onVoiceSessionStart:m,threadId:c,provider:h,model:g,children:j}),t[25]=p,t[26]=m,t[27]=g,t[28]=h,t[29]=j,t[30]=c,t[31]=M):M=t[31];let N;return t[32]!==D||t[33]!==O||t[34]!==A||t[35]!==M?(N=(0,$.jsxs)(`div`,{className:D,children:[O,A,M]}),t[32]=D,t[33]=O,t[34]=A,t[35]=M,t[36]=N):N=t[36],N}function $S(e){let t=(0,Q.c)(125),{fillPane:n,isOverlay:r,centered:i,embedded:a,elevated:o,queuedMessages:s,onRemoveQueuedMessage:c,dragOverSurfaceClassName:l,dropTargetProps:u,composerRowRef:d,isSingleLine:f,textareaRef:p,autoFocus:m,message:h,onTextareaChange:g,onKeyDown:_,onPaste:v,onFocus:y,placeholder:b,disabled:x,attachments:S,onRemoveAttachment:C,selectedModel:w,isRouting:T,canAddTask:E,planMode:D,imageMode:O,ralphMode:k,orchestrateMode:A,autoMode:j,setPlanMode:M,setImageMode:N,setRalphMode:P,setOrchestrateMode:F,setAutoMode:I,lastAutoRouteDecision:L,projectId:R,skills:z,slashCommands:B,onSelectSkill:V,onSelectSlashCommand:H,onFileAttach:ee,selectedThreadId:te,paneId:ne,dispatch:re,onUserTaskCreated:ie,setMessage:ae,setAttachments:oe,hideModelSelector:se,availableModels:U,effectiveModel:ce,onModelSelect:le,onReasoningEffortChange:ue,threadId:W,conversationId:de,messages:fe,isStreaming:pe,liveContextUsage:me,onSpeechTranscript:he,onVoiceSessionStart:ge,speechProvider:_e,speechModel:ve,hasMessageText:ye,setIsVoiceActive:be,onStop:xe,onSend:Se,showCommandSuggestions:Ce,suggestions:we,skillReferencePrefix:Te,commandQuery:Ee,selectedIndex:De,onSelectCommand:Oe,onSuggestionSkill:ke,onMouseEnterSuggestion:Ae,commandSuggestionsRef:je,showSuggestions:Me,fileSuggestions:Ne,suggestionQuery:Pe,onSelectFile:Fe,suggestionsRef:Ie,fileInputRef:Le,onFileInputChange:Re,orchestrateCheapAliasDialog:ze,confirmDialog:Be}=e,Ve;t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==r?(Ve=hy(n,r,i,a),t[0]=i,t[1]=a,t[2]=n,t[3]=r,t[4]=Ve):Ve=t[4];let He;t[5]!==l||t[6]!==o||t[7]!==a||t[8]!==r?(He=G(gy(a,r,o),l),t[5]=l,t[6]=o,t[7]=a,t[8]=r,t[9]=He):He=t[9];let Ue;t[10]!==c||t[11]!==s?(Ue=(0,$.jsx)(dS,{queuedMessages:s,onRemoveQueuedMessage:c}),t[10]=c,t[11]=s,t[12]=Ue):Ue=t[12];let We=f?`py-2`:`gap-y-1 pb-2`,Ge;t[13]===We?Ge=t[14]:(Ge=G(`flex min-w-0 flex-wrap items-center justify-between gap-x-1 px-3`,We),t[13]=We,t[14]=Ge);let Ke;t[15]!==m||t[16]!==x||t[17]!==f||t[18]!==h||t[19]!==y||t[20]!==_||t[21]!==v||t[22]!==g||t[23]!==b||t[24]!==p?(Ke=(0,$.jsx)(qS,{textareaRef:p,autoFocus:m,value:h,onChange:g,onKeyDown:_,onPaste:v,onFocus:y,placeholder:b,isSingleLine:f,disabled:x}),t[15]=m,t[16]=x,t[17]=f,t[18]=h,t[19]=y,t[20]=_,t[21]=v,t[22]=g,t[23]=b,t[24]=p,t[25]=Ke):Ke=t[25];let qe;t[26]!==S||t[27]!==C||t[28]!==w?(qe=S.length>0&&(0,$.jsx)(JS,{attachments:S,selectedModel:w,onRemove:C}),t[26]=S,t[27]=C,t[28]=w,t[29]=qe):qe=t[29];let Je;t[30]!==j||t[31]!==E||t[32]!==x||t[33]!==re||t[34]!==O||t[35]!==T||t[36]!==f||t[37]!==L||t[38]!==h||t[39]!==ee||t[40]!==V||t[41]!==H||t[42]!==ie||t[43]!==A||t[44]!==ne||t[45]!==D||t[46]!==R||t[47]!==k||t[48]!==te||t[49]!==oe||t[50]!==I||t[51]!==N||t[52]!==ae||t[53]!==F||t[54]!==M||t[55]!==P||t[56]!==z||t[57]!==B||t[58]!==p?(Je=(0,$.jsx)(XS,{disabled:x,isRouting:T,canAddTask:E,isSingleLine:f,planMode:D,imageMode:O,ralphMode:k,orchestrateMode:A,autoMode:j,setPlanMode:M,setImageMode:N,setRalphMode:P,setOrchestrateMode:F,setAutoMode:I,lastAutoRouteDecision:L,projectId:R,skills:z,slashCommands:B,onSelectSkill:V,onSelectSlashCommand:H,onFileAttach:ee,message:h,selectedThreadId:te,paneId:ne,dispatch:re,textareaRef:p,onUserTaskCreated:ie,setMessage:ae,setAttachments:oe}),t[30]=j,t[31]=E,t[32]=x,t[33]=re,t[34]=O,t[35]=T,t[36]=f,t[37]=L,t[38]=h,t[39]=ee,t[40]=V,t[41]=H,t[42]=ie,t[43]=A,t[44]=ne,t[45]=D,t[46]=R,t[47]=k,t[48]=te,t[49]=oe,t[50]=I,t[51]=N,t[52]=ae,t[53]=F,t[54]=M,t[55]=P,t[56]=z,t[57]=B,t[58]=p,t[59]=Je):Je=t[59];let Ye=E||S.length>0,Xe;t[60]!==S.length||t[61]!==U||t[62]!==de||t[63]!==x||t[64]!==ce||t[65]!==ye||t[66]!==se||t[67]!==T||t[68]!==f||t[69]!==pe||t[70]!==me||t[71]!==fe||t[72]!==le||t[73]!==ue||t[74]!==Se||t[75]!==he||t[76]!==xe||t[77]!==ge||t[78]!==be||t[79]!==ve||t[80]!==_e||t[81]!==Ye||t[82]!==W?(Xe=(0,$.jsx)(QS,{isSingleLine:f,hideModelSelector:se,availableModels:U,selectedModel:ce,onModelSelect:le,onReasoningEffortChange:ue,threadId:W,conversationId:de,messages:fe,isStreaming:pe,liveContextUsage:me,onSpeechTranscript:he,onVoiceSessionStart:ge,speechProvider:_e,speechModel:ve,hasMessageText:ye,setIsVoiceActive:be,disabled:x,canSubmitMessage:Ye,attachmentsLength:S.length,effectiveModel:ce,onStop:xe,onSend:Se,isRouting:T}),t[60]=S.length,t[61]=U,t[62]=de,t[63]=x,t[64]=ce,t[65]=ye,t[66]=se,t[67]=T,t[68]=f,t[69]=pe,t[70]=me,t[71]=fe,t[72]=le,t[73]=ue,t[74]=Se,t[75]=he,t[76]=xe,t[77]=ge,t[78]=be,t[79]=ve,t[80]=_e,t[81]=Ye,t[82]=W,t[83]=Xe):Xe=t[83];let Ze;t[84]!==d||t[85]!==Ge||t[86]!==Ke||t[87]!==qe||t[88]!==Je||t[89]!==Xe?(Ze=(0,$.jsxs)(`div`,{ref:d,className:Ge,children:[Ke,qe,Je,Xe]}),t[84]=d,t[85]=Ge,t[86]=Ke,t[87]=qe,t[88]=Je,t[89]=Xe,t[90]=Ze):Ze=t[90];let Qe;t[91]!==Ee||t[92]!==je||t[93]!==Ae||t[94]!==Oe||t[95]!==ke||t[96]!==De||t[97]!==Ce||t[98]!==Te||t[99]!==we?(Qe=(0,$.jsx)(db,{visible:Ce,suggestions:we,skillReferencePrefix:Te,query:Ee,selectedIndex:De,onSelectCommand:Oe,onSelectSkill:ke,onMouseEnterSuggestion:Ae,containerRef:je}),t[91]=Ee,t[92]=je,t[93]=Ae,t[94]=Oe,t[95]=ke,t[96]=De,t[97]=Ce,t[98]=Te,t[99]=we,t[100]=Qe):Qe=t[100];let $e;t[101]!==Ne||t[102]!==Ae||t[103]!==Fe||t[104]!==De||t[105]!==Me||t[106]!==Pe||t[107]!==Ie?($e=(0,$.jsx)(Hb,{showSuggestions:Me,fileSuggestions:Ne,suggestionQuery:Pe,selectedIndex:De,onSelectFile:Fe,onMouseEnterSuggestion:Ae,containerRef:Ie}),t[101]=Ne,t[102]=Ae,t[103]=Fe,t[104]=De,t[105]=Me,t[106]=Pe,t[107]=Ie,t[108]=$e):$e=t[108];let et;t[109]!==u||t[110]!==He||t[111]!==Ze||t[112]!==Qe||t[113]!==$e||t[114]!==Ue?(et=(0,$.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1`,children:(0,$.jsxs)(`div`,{"data-composer-surface":!0,className:He,...u,children:[Ue,Ze,Qe,$e]})}),t[109]=u,t[110]=He,t[111]=Ze,t[112]=Qe,t[113]=$e,t[114]=Ue,t[115]=et):et=t[115];let tt;t[116]!==Le||t[117]!==Re?(tt=(0,$.jsx)(`input`,{ref:Le,type:`file`,multiple:!0,className:`hidden`,onChange:Re}),t[116]=Le,t[117]=Re,t[118]=tt):tt=t[118];let nt;return t[119]!==Be||t[120]!==ze||t[121]!==Ve||t[122]!==et||t[123]!==tt?(nt=(0,$.jsxs)(`div`,{className:Ve,children:[et,tt,ze,Be]}),t[119]=Be,t[120]=ze,t[121]=Ve,t[122]=et,t[123]=tt,t[124]=nt):nt=t[124],nt}function eC(e){let t=(0,Q.c)(190),{planMode:n,setPlanMode:r,onSend:i,onStop:a,isStreaming:o,disabled:s,initialValue:c,queuedMessages:l,onRemoveQueuedMessage:u,isOverlay:d,placeholder:f,userTasks:p,onMatchedUserTaskSend:m,onUserTaskCreated:h,autoFocus:g,centered:_,embedded:v,elevated:y}=e,b=o===void 0?!1:o,x=d===void 0?!1:d,S;t[0]===p?S=t[1]:(S=p===void 0?[]:p,t[0]=p,t[1]=S);let C=S,w=g===void 0?!1:g,T=_===void 0?!1:_,E=v===void 0?!1:v,D=y===void 0?!0:y,O;t[2]===c?O=t[3]:(O={initialValue:c},t[2]=c,t[3]=O);let{message:k,setMessage:A,historyIndex:j,setHistoryIndex:M,draftMessage:N,setDraftMessage:P,cursorPosition:F,setCursorPosition:I,availableModels:L,selectedModel:R,setSelectedModel:z,updateModelReasoningEffort:B,attachments:V,setAttachments:H,planMode:ee,setPlanMode:te,ralphMode:ne,setRalphMode:re,orchestrateMode:ie,setOrchestrateMode:ae,autoMode:oe,setAutoMode:se,imageMode:U,setImageMode:ce,availableImageModels:le,selectedImageModel:ue,setSelectedImageModel:W,allFiles:de,setAllFiles:fe,showSuggestions:pe,setShowSuggestions:me,suggestionQuery:he,setSuggestionQuery:ge,selectedIndex:_e,setSelectedIndex:ve,slashCommands:ye,skills:be,bundledSkills:xe,bundledSkillMode:Se,setBundledSkillMode:Ce,showCommandSuggestions:we,setShowCommandSuggestions:Te,commandQuery:Ee,setCommandQuery:De,fileInputRef:Oe,messageRef:ke,textareaRef:Ae,suggestionsRef:je,commandSuggestionsRef:Me,selectedThreadId:Ne,dispatch:Pe}=Jy(O),Fe;t[4]!==oe||t[5]!==le||t[6]!==L||t[7]!==U||t[8]!==k||t[9]!==ue||t[10]!==R||t[11]!==Ne?(Fe={storeSelectedThreadId:Ne,imageMode:U,selectedImageModel:ue,selectedModel:R,availableImageModels:le,availableModels:L,autoMode:oe,message:k},t[4]=oe,t[5]=le,t[6]=L,t[7]=U,t[8]=k,t[9]=ue,t[10]=R,t[11]=Ne,t[12]=Fe):Fe=t[12];let{navigate:Ie,paneId:Le,conversationId:Re,setFocused:ze,fillPane:Be,liveContextUsage:Ve,messages:He,selectedProjectId:Ue,modelAliases:We,hasConversationMessages:Ge,isFirstUserPrompt:Ke,effectiveModel:qe,effectiveAvailableModels:Je,hideModelSelector:Ye,hasMessageText:Xe}=VS(Fe),Ze;t[13]!==L||t[14]!==R||t[15]!==z||t[16]!==Ne?(Ze={storeSelectedThreadId:Ne,availableModels:L,selectedModel:R,setSelectedModel:z},t[13]=L,t[14]=R,t[15]=z,t[16]=Ne,t[17]=Ze):Ze=t[17];let{autoRoute:Qe,handleAutoRouteResolved:$e}=GS(Ze),[et,tt]=Z.useState(!1),nt=Z.useRef(null),rt=V.length>0,it;t[18]!==k||t[19]!==rt||t[20]!==Ae?(it={message:k,forceMultiline:rt,textareaRef:Ae,rowRef:nt},t[18]=k,t[19]=rt,t[20]=Ae,t[21]=it):it=t[21];let at=ub(it),ot=n??ee,st=r??te,ct=Qe?.decision??null,lt;t[22]!==oe||t[23]!==ot||t[24]!==st||t[25]!==U||t[26]!==Ie||t[27]!==ie||t[28]!==ne||t[29]!==Ue||t[30]!==se||t[31]!==ce||t[32]!==ae||t[33]!==re||t[34]!==ct?(lt={planMode:ot,imageMode:U,ralphMode:ne,orchestrateMode:ie,autoMode:oe,setPlanMode:st,setImageMode:ce,setRalphMode:re,setOrchestrateMode:ae,setAutoMode:se,lastAutoRouteDecision:ct,projectId:Ue,onOpenProjectSettings(e){Ie(`/settings/project/${e}/model-aliases`)}},t[22]=oe,t[23]=ot,t[24]=st,t[25]=U,t[26]=Ie,t[27]=ie,t[28]=ne,t[29]=Ue,t[30]=se,t[31]=ce,t[32]=ae,t[33]=re,t[34]=ct,t[35]=lt):lt=t[35];let{ensureCanOrchestrate:ut,requestOrchestrateMode:dt,cheapAliasDialog:G}=mx(lt),ft=Ne??void 0,pt;t[36]!==de||t[37]!==V||t[38]!==oe||t[39]!==Se||t[40]!==xe||t[41]!==Ee||t[42]!==F||t[43]!==Pe||t[44]!==N||t[45]!==ot||t[46]!==st||t[47]!==ut||t[48]!==$e||t[49]!==Ge||t[50]!==j||t[51]!==U||t[52]!==Ke||t[53]!==b||t[54]!==k||t[55]!==ke||t[56]!==We||t[57]!==m||t[58]!==i||t[59]!==ie||t[60]!==ne||t[61]!==dt||t[62]!==ue||t[63]!==_e||t[64]!==R||t[65]!==fe||t[66]!==H||t[67]!==se||t[68]!==Ce||t[69]!==De||t[70]!==I||t[71]!==P||t[72]!==M||t[73]!==ce||t[74]!==A||t[75]!==ae||t[76]!==re||t[77]!==ve||t[78]!==Te||t[79]!==me||t[80]!==ge||t[81]!==we||t[82]!==pe||t[83]!==be||t[84]!==ye||t[85]!==he||t[86]!==ft||t[87]!==Ae||t[88]!==C?(pt={message:k,setMessage:A,userTasks:C,onMatchedUserTaskSend:m,attachments:V,selectedModel:R,onSend:i,isStreaming:b,selectedThreadId:ft,isListening:!1,stopListening:nC,resetTranscript:tC,dispatch:Pe,historyIndex:j,setHistoryIndex:M,draftMessage:N,setDraftMessage:P,cursorPosition:F,setCursorPosition:I,showSuggestions:pe,setShowSuggestions:me,suggestionQuery:he,setSuggestionQuery:ge,allFiles:de,setAllFiles:fe,selectedIndex:_e,setSelectedIndex:ve,showCommandSuggestions:we,setShowCommandSuggestions:Te,commandQuery:Ee,setCommandQuery:De,slashCommands:ye,skills:be,bundledSkills:xe,bundledSkillMode:Se,setBundledSkillMode:Ce,messageRef:ke,textareaRef:Ae,setAttachments:H,planMode:ot,setPlanMode:st,ralphMode:ne,setRalphMode:re,orchestrateMode:ie,setOrchestrateMode:ae,autoMode:oe,setAutoMode:se,modelAliases:We,onAutoRouteResolved:$e,ensureCanOrchestrate:ut,requestOrchestrateMode:dt,imageMode:U,setImageMode:ce,selectedImageModel:ue,hasConversationMessages:Ge,isFirstUserPrompt:Ke},t[36]=de,t[37]=V,t[38]=oe,t[39]=Se,t[40]=xe,t[41]=Ee,t[42]=F,t[43]=Pe,t[44]=N,t[45]=ot,t[46]=st,t[47]=ut,t[48]=$e,t[49]=Ge,t[50]=j,t[51]=U,t[52]=Ke,t[53]=b,t[54]=k,t[55]=ke,t[56]=We,t[57]=m,t[58]=i,t[59]=ie,t[60]=ne,t[61]=dt,t[62]=ue,t[63]=_e,t[64]=R,t[65]=fe,t[66]=H,t[67]=se,t[68]=Ce,t[69]=De,t[70]=I,t[71]=P,t[72]=M,t[73]=ce,t[74]=A,t[75]=ae,t[76]=re,t[77]=ve,t[78]=Te,t[79]=me,t[80]=ge,t[81]=we,t[82]=pe,t[83]=be,t[84]=ye,t[85]=he,t[86]=ft,t[87]=Ae,t[88]=C,t[89]=pt):pt=t[89];let{handleSend:mt,handleKeyDown:ht,handleTextareaInput:gt,insertFileReference:_t,insertCommand:vt,insertSkill:yt,insertSkillAtCursor:bt,insertSlashCommandAtCursor:xt,allSuggestions:St,fileSuggestions:Ct,isRouting:wt}=ob(pt),Tt;t[90]!==H||t[91]!==Ne?(Tt={threadId:Ne,mode:`attach`,onAttachmentsAdded(e){H(t=>[...t,...e])}},t[90]=H,t[91]=Ne,t[92]=Tt):Tt=t[92];let{dropTargetProps:Et,dragOverSurfaceClassName:K,confirmDialog:q}=jS(Tt),Dt;t[93]!==H||t[94]!==A?(Dt={setMessage:A,setAttachments:H},t[93]=H,t[94]=A,t[95]=Dt):Dt=t[95];let{handleVoiceSessionStart:Ot,handleSpeechTranscript:kt,handlePaste:At}=KS(Dt),jt;t[96]!==ot||t[97]!==U||t[98]!==et||t[99]!==f||t[100]!==ne?(jt=f??IS({ralphMode:ne,effectivePlanMode:ot,imageMode:U,isVoiceActive:et}),t[96]=ot,t[97]=U,t[98]=et,t[99]=f,t[100]=ne,t[101]=jt):jt=t[101];let Mt=jt,Nt;t[102]===H?Nt=t[103]:(Nt=e=>H(t=>t.filter((t,n)=>n!==e)),t[102]=H,t[103]=Nt);let Pt=Qe?.decision??null,Ft;t[104]===Oe?Ft=t[105]:(Ft=()=>Oe.current?.click(),t[104]=Oe,t[105]=Ft);let It=U?W:z,Lt=Ne??void 0,Rt=R?.provider,zt=R?.id,Bt=Se?`//`:`/`,Vt;t[106]===H?Vt=t[107]:(Vt=e=>zb(e,e=>H(t=>[...t,...e])),t[106]=H,t[107]=Vt);let Ht;return t[108]!==St||t[109]!==V||t[110]!==w||t[111]!==oe||t[112]!==T||t[113]!==Ee||t[114]!==Me||t[115]!==q||t[116]!==Re||t[117]!==s||t[118]!==Pe||t[119]!==K||t[120]!==Et||t[121]!==Je||t[122]!==qe||t[123]!==ot||t[124]!==st||t[125]!==D||t[126]!==E||t[127]!==Oe||t[128]!==Ct||t[129]!==Be||t[130]!==ht||t[131]!==At||t[132]!==mt||t[133]!==kt||t[134]!==gt||t[135]!==Ot||t[136]!==Xe||t[137]!==Ye||t[138]!==U||t[139]!==vt||t[140]!==_t||t[141]!==yt||t[142]!==bt||t[143]!==xt||t[144]!==x||t[145]!==wt||t[146]!==at||t[147]!==b||t[148]!==Ve||t[149]!==k||t[150]!==He||t[151]!==u||t[152]!==a||t[153]!==h||t[154]!==G||t[155]!==ie||t[156]!==Le||t[157]!==Mt||t[158]!==l||t[159]!==ne||t[160]!==_e||t[161]!==R||t[162]!==Ue||t[163]!==H||t[164]!==se||t[165]!==ze||t[166]!==ce||t[167]!==A||t[168]!==ae||t[169]!==re||t[170]!==ve||t[171]!==we||t[172]!==pe||t[173]!==be||t[174]!==ye||t[175]!==Ne||t[176]!==he||t[177]!==je||t[178]!==Nt||t[179]!==Pt||t[180]!==Ft||t[181]!==It||t[182]!==Lt||t[183]!==Rt||t[184]!==zt||t[185]!==Bt||t[186]!==Vt||t[187]!==Ae||t[188]!==B?(Ht=(0,$.jsx)($S,{fillPane:Be,isOverlay:x,centered:T,embedded:E,elevated:D,queuedMessages:l,onRemoveQueuedMessage:u,dragOverSurfaceClassName:K,dropTargetProps:Et,composerRowRef:nt,isSingleLine:at,textareaRef:Ae,autoFocus:w,message:k,onTextareaChange:gt,onKeyDown:ht,onPaste:At,onFocus:ze,placeholder:Mt,disabled:s,attachments:V,onRemoveAttachment:Nt,selectedModel:R,isRouting:wt,canAddTask:Xe,planMode:ot,imageMode:U,ralphMode:ne,orchestrateMode:ie,autoMode:oe,setPlanMode:st,setImageMode:ce,setRalphMode:re,setOrchestrateMode:ae,setAutoMode:se,lastAutoRouteDecision:Pt,projectId:Ue,skills:be,slashCommands:ye,onSelectSkill:bt,onSelectSlashCommand:xt,onFileAttach:Ft,selectedThreadId:Ne,paneId:Le,dispatch:Pe,onUserTaskCreated:h,setMessage:A,setAttachments:H,hideModelSelector:Ye,availableModels:Je,effectiveModel:qe,onModelSelect:It,onReasoningEffortChange:B,threadId:Lt,conversationId:Re,messages:He,isStreaming:b,liveContextUsage:Ve,onSpeechTranscript:kt,onVoiceSessionStart:Ot,speechProvider:Rt,speechModel:zt,hasMessageText:Xe,setIsVoiceActive:tt,onStop:a,onSend:mt,showCommandSuggestions:we,suggestions:St,skillReferencePrefix:Bt,commandQuery:Ee,selectedIndex:_e,onSelectCommand:vt,onSuggestionSkill:yt,onMouseEnterSuggestion:ve,commandSuggestionsRef:Me,showSuggestions:pe,fileSuggestions:Ct,suggestionQuery:he,onSelectFile:_t,suggestionsRef:je,fileInputRef:Oe,onFileInputChange:Vt,orchestrateCheapAliasDialog:G,confirmDialog:q}),t[108]=St,t[109]=V,t[110]=w,t[111]=oe,t[112]=T,t[113]=Ee,t[114]=Me,t[115]=q,t[116]=Re,t[117]=s,t[118]=Pe,t[119]=K,t[120]=Et,t[121]=Je,t[122]=qe,t[123]=ot,t[124]=st,t[125]=D,t[126]=E,t[127]=Oe,t[128]=Ct,t[129]=Be,t[130]=ht,t[131]=At,t[132]=mt,t[133]=kt,t[134]=gt,t[135]=Ot,t[136]=Xe,t[137]=Ye,t[138]=U,t[139]=vt,t[140]=_t,t[141]=yt,t[142]=bt,t[143]=xt,t[144]=x,t[145]=wt,t[146]=at,t[147]=b,t[148]=Ve,t[149]=k,t[150]=He,t[151]=u,t[152]=a,t[153]=h,t[154]=G,t[155]=ie,t[156]=Le,t[157]=Mt,t[158]=l,t[159]=ne,t[160]=_e,t[161]=R,t[162]=Ue,t[163]=H,t[164]=se,t[165]=ze,t[166]=ce,t[167]=A,t[168]=ae,t[169]=re,t[170]=ve,t[171]=we,t[172]=pe,t[173]=be,t[174]=ye,t[175]=Ne,t[176]=he,t[177]=je,t[178]=Nt,t[179]=Pt,t[180]=Ft,t[181]=It,t[182]=Lt,t[183]=Rt,t[184]=zt,t[185]=Bt,t[186]=Vt,t[187]=Ae,t[188]=B,t[189]=Ht):Ht=t[189],Ht}function tC(){}function nC(){}var rC=(0,Z.createContext)(null);function iC(e){let t=(0,Q.c)(8),{children:n,placement:r,embedded:i,composerPhase:a,composerReveal:o}=e,s=r===void 0?`overlay`:r,c=i===void 0?!1:i,l=a===void 0?`footer`:a,u=o===void 0?!1:o,d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p;t[0]!==l||t[1]!==u||t[2]!==c||t[3]!==s?(p={overlayRef:d,placement:s,embedded:c,composerPhase:l,composerReveal:u,centeredComposerTopRef:f},t[0]=l,t[1]=u,t[2]=c,t[3]=s,t[4]=p):p=t[4];let m=p,h;return t[5]!==n||t[6]!==m?(h=(0,$.jsx)(rC.Provider,{value:m,children:n}),t[5]=n,t[6]=m,t[7]=h):h=t[7],h}function aC(){return(0,Z.useContext)(rC)}function oC(){let e=(0,Z.useContext)(rC);return!e||e.embedded?`footer`:e.composerPhase}function sC(){let e=(0,Z.useContext)(rC);return!e||e.embedded?!1:e.composerReveal}function cC(e){return e!==`loading`&&e!==`centered`}function lC(e,t){let n=e.threadId===t.threadId;return t.loading?{phase:`loading`,reveal:!1}:e.loading&&n?{phase:t.centered?`centered`:`footer`,reveal:!0}:t.centered?{phase:`centered`,reveal:!1}:e.centered&&n?{phase:`moving-to-footer`,reveal:!1}:{phase:`footer`,reveal:!1}}function uC(e){let t=(0,Q.c)(9),{centered:n,loading:r,threadId:i}=e,a;t[0]!==n||t[1]!==r||t[2]!==i?(a={centered:n,loading:r,threadId:i},t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===o?s=t[5]:(s=()=>lC(o,o),t[4]=o,t[5]=s);let[c,l]=(0,Z.useState)(s),[u,d]=(0,Z.useState)(o);(u.centered!==n||u.loading!==r||u.threadId!==i)&&(d(o),l(lC(u,o)));let f,p;return t[6]===c.phase?(f=t[7],p=t[8]):(f=()=>{if(c.phase!==`moving-to-footer`)return;let e=setTimeout(()=>{l(dC)},300);return()=>clearTimeout(e)},p=[c.phase],t[6]=c.phase,t[7]=f,t[8]=p),(0,Z.useEffect)(f,p),c}function dC(e){return e.phase===`moving-to-footer`?{phase:`footer`,reveal:!1}:e}var fC=Ut(`chat.ask-user-input`);function pC(e){let t=(0,Q.c)(86),{toolCallId:n,questions:r,onAnswered:i,onStop:a,elevated:o}=e,s=o===void 0?!0:o,{fillPane:c}=wv(),l=X(hC),u=aC()?.embedded??!1,[d,f]=(0,Z.useState)(0),[p,m]=(0,Z.useState)(``),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,_]=(0,Z.useState)(h),v;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(v=[],t[1]=v):v=t[1];let[y,b]=(0,Z.useState)(v),[x,S]=(0,Z.useState)(!1),C=(0,Z.useRef)(null),w=r[d],T=d===r.length-1,E=w?.multiple===!0,D;t[2]===r?D=t[3]:(D=JSON.stringify(r),t[2]=r,t[3]=D);let O=D,k;t[4]===l?k=t[5]:(k={threadId:l,mode:`copy-only`},t[4]=l,t[5]=k);let{dropTargetProps:A,dragOverSurfaceClassName:j,confirmDialog:M}=jS(k),N;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>{f(0),m(``),_([]),b([]),S(!1),C.current?.focus()},t[6]=N):N=t[6];let P;t[7]!==O||t[8]!==n?(P=[n,O],t[7]=O,t[8]=n,t[9]=P):P=t[9],(0,Z.useEffect)(N,P);let F,I,L,R,z,B,H,ee,te,ne;if(t[10]!==y||t[11]!==d||t[12]!==p||t[13]!==j||t[14]!==A||t[15]!==s||t[16]!==u||t[17]!==c||t[18]!==T||t[19]!==E||t[20]!==x||t[21]!==i||t[22]!==a||t[23]!==w||t[24]!==r.length||t[25]!==g||t[26]!==n){ee=Symbol.for(`react.early_return_sentinel`);bb0:{let e=function(){m(``),_([]),window.setTimeout(()=>C.current?.focus(),0)},o=async function(t){if(x||!w)return;let r=[...y,t];if(!T){b(r),f(mC),e();return}S(!0);try{await Ia(n,r),i(n)}catch(e){let t=e;fC.error(`Failed to submit answer`,{err:t}),S(!1)}};L=function(){let e=p.trim();!e||x||o(E?[e]:e)};let l=function(e){if(!x){if(E){_(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]);return}o(e)}},h=function(){g.length===0||x||o(g)};if(I=function(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),L())},!w){ee=null;break bb0}let v;t[37]!==p||t[38]!==x?(v=p.trim().length>0&&!x,t[37]=p,t[38]=x,t[39]=v):v=t[39],F=v;let D=g.length>0&&!x,O=r.length>1?`Question ${d+1} of ${r.length}`:null;t[40]!==u||t[41]!==c?(H=hy(c,!1,!1,u),t[40]=u,t[41]=c,t[42]=H):H=t[42],t[43]!==j||t[44]!==s||t[45]!==u?(te=G(gy(u,!1,s),j),t[43]=j,t[44]=s,t[45]=u,t[46]=te):te=t[46],ne=A,t[47]!==x||t[48]!==a?(R=a&&(0,$.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,size:`icon`,variant:`action`,className:`h-7 w-7`,onClick:a,disabled:x,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Stop generation`})]})}),(0,$.jsx)(Fr,{children:`Stop generation`})]})}),t[47]=x,t[48]=a,t[49]=R):R=t[49];let k;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(ut,{className:`h-5 w-5 shrink-0 text-brand`}),t[50]=k):k=t[50];let M;t[51]===O?M=t[52]:(M=O&&(0,$.jsx)(`p`,{className:G(U.caption,`mb-1`),children:O}),t[51]=O,t[52]=M);let N;t[53]===w.header?N=t[54]:(N=w.header&&(0,$.jsx)(`p`,{className:G(U.labelMuted,`mb-1`),children:w.header}),t[53]=w.header,t[54]=N);let P;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(P=G(U.label,`text-foreground`),t[55]=P):P=t[55];let V;t[56]===w.question?V=t[57]:(V=(0,$.jsx)(`div`,{className:P,children:(0,$.jsx)(ku,{content:w.question})}),t[56]=w.question,t[57]=V),t[58]!==M||t[59]!==N||t[60]!==V?(z=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 px-6 pt-4 pr-12`,children:[k,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[M,N,V]})]}),t[58]=M,t[59]=N,t[60]=V,t[61]=z):z=t[61],B=w.options&&w.options.length>0&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 px-6 pt-3`,children:[w.options.map(e=>{let t=g.includes(e.label);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>l(e.label),disabled:x,className:G(`flex items-start gap-2 rounded-md border px-3 py-2 text-left transition-colors disabled:opacity-50`,U.label,t?`border-foreground/20 bg-accent text-accent-foreground`:`border-foreground/20 bg-background text-foreground hover:bg-accent hover:text-accent-foreground`),children:[E&&(0,$.jsx)(`span`,{className:G(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border`,t&&`bg-primary text-primary-foreground`),"aria-hidden":`true`,children:t&&(0,$.jsx)(W,{className:`h-3 w-3`})}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`block`,children:e.label}),e.description&&(0,$.jsx)(`span`,{className:U.bodyMuted,children:e.description})]})]},e.label)}),E&&(0,$.jsx)(Hr,{type:`button`,className:`self-start`,onClick:h,disabled:!D,children:`Confirm selection`})]})}t[10]=y,t[11]=d,t[12]=p,t[13]=j,t[14]=A,t[15]=s,t[16]=u,t[17]=c,t[18]=T,t[19]=E,t[20]=x,t[21]=i,t[22]=a,t[23]=w,t[24]=r.length,t[25]=g,t[26]=n,t[27]=F,t[28]=I,t[29]=L,t[30]=R,t[31]=z,t[32]=B,t[33]=H,t[34]=ee,t[35]=te,t[36]=ne}else F=t[27],I=t[28],L=t[29],R=t[30],z=t[31],B=t[32],H=t[33],ee=t[34],te=t[35],ne=t[36];if(ee!==Symbol.for(`react.early_return_sentinel`))return ee;let re;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>m(e.target.value),t[62]=re):re=t[62];let ie=w.options?.length?`Or type a custom answer...`:`Type your answer...`,ae;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(ae=G(U.body,`min-h-[3rem] w-full resize-none bg-transparent px-6 pt-3 pb-2 text-foreground placeholder:text-muted-foreground focus:outline-none disabled:opacity-50`),t[63]=ae):ae=t[63];let oe;t[64]!==p||t[65]!==I||t[66]!==x||t[67]!==ie?(oe=(0,$.jsx)(`textarea`,{ref:C,autoFocus:!0,value:p,onChange:re,onKeyDown:I,placeholder:ie,disabled:x,rows:1,className:ae}),t[64]=p,t[65]=I,t[66]=x,t[67]=ie,t[68]=oe):oe=t[68];let se=!F,ce,le;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(V,{className:`h-3 w-3`}),le=(0,$.jsx)(`span`,{className:`sr-only`,children:`Submit answer`}),t[69]=ce,t[70]=le):(ce=t[69],le=t[70]);let ue;t[71]!==L||t[72]!==se?(ue=(0,$.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:L,disabled:se,className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground transition-colors hover:bg-primary/90 disabled:opacity-50`,children:[ce,le]})}),t[71]=L,t[72]=se,t[73]=ue):ue=t[73];let de;t[74]!==R||t[75]!==z||t[76]!==B||t[77]!==oe||t[78]!==ue||t[79]!==te||t[80]!==ne?(de=(0,$.jsxs)(`div`,{className:te,...ne,children:[R,z,B,oe,ue]}),t[74]=R,t[75]=z,t[76]=B,t[77]=oe,t[78]=ue,t[79]=te,t[80]=ne,t[81]=de):de=t[81];let fe;return t[82]!==M||t[83]!==H||t[84]!==de?(fe=(0,$.jsxs)(`div`,{className:H,children:[de,M]}),t[82]=M,t[83]=H,t[84]=de,t[85]=fe):fe=t[85],fe}function mC(e){return e+1}function hC(e){return e.selectedThreadId}function gC(){let e=X(xC),t=X(bC),n=X(yC),r=X(vC),i=X(_C);return e!==`actions`||t==null?!1:i.some(e=>e.projectId===t)?!0:n===t&&r!=null}function _C(e){return e.projects}function vC(e){return e.selectedThreadId}function yC(e){return e.selectedProjectId}function bC(e){return e.projectPanelProjectId}function xC(e){return e.projectPanelView}var SC=40,CC=4,wC=10,TC=2*Math.PI*wC,EC={transitionDuration:`5000ms`,transitionProperty:`stroke-dashoffset`,transitionTimingFunction:`ease-out`};function DC(e,t){return`${Math.min(e+1,t)} of ${t}`}function OC(e){let t=(0,Q.c)(12),{todos:n}=e,r,i,a,o;if(t[0]!==n){let e=n.filter(AC).length;r=`space-y-1`,t[5]===n.length?i=t[6]:(i=n.length===0&&(0,$.jsx)(`p`,{className:U.compact,children:`No todo items.`}),t[5]=n.length,t[6]=i),a=n.map(kC),o=n.length>0&&(0,$.jsx)(`p`,{className:G(U.compact,`pt-1`),children:DC(e,n.length)}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o}else r=t[1],i=t[2],a=t[3],o=t[4];let s;return t[7]!==r||t[8]!==i||t[9]!==a||t[10]!==o?(s=(0,$.jsxs)(`div`,{className:r,children:[i,a,o]}),t[7]=r,t[8]=i,t[9]=a,t[10]=o,t[11]=s):s=t[11],s}function kC(e){return(0,$.jsxs)(`div`,{className:G(U.caption,`flex items-start gap-2`),children:[e.status===`done`?(0,$.jsx)(st,{className:`h-4 w-4 shrink-0 mt-0.5 text-brand`}):e.status===`working`?(0,$.jsx)(it,{className:`h-4 w-4 shrink-0 mt-0.5 text-yellow-500`}):(0,$.jsx)(Ot,{className:`h-4 w-4 shrink-0 mt-0.5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:e.status===`done`?`line-through text-muted-foreground`:`text-foreground`,children:e.description})]},e.id)}function AC(e){return e.status===`done`}function jC(e){let t=(0,Q.c)(6),{completedCount:n,totalCount:r}=e,i=Math.min(n+1,r),[a,o]=(0,Z.useState)(0),s=TC*(1-(r>0?Math.min(a,r)/r:0)),c=SC/2,l,u;t[0]===i?(l=t[1],u=t[2]):(l=()=>{let e=requestAnimationFrame(()=>{o(i)});return()=>cancelAnimationFrame(e)},u=[i],t[0]=i,t[1]=l,t[2]=u),(0,Z.useEffect)(l,u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`circle`,{cx:c,cy:c,r:wC,fill:`none`,stroke:`currentColor`,strokeOpacity:`0.2`,strokeWidth:CC}),t[3]=d):d=t[3];let f;return t[4]===s?f=t[5]:(f=(0,$.jsxs)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 ${SC} ${SC}`,className:`size-4 shrink-0`,children:[d,(0,$.jsx)(`circle`,{cx:c,cy:c,r:wC,fill:`none`,stroke:`currentColor`,strokeWidth:CC,strokeDasharray:TC,strokeDashoffset:s,strokeLinecap:`round`,transform:`rotate(-90 ${c} ${c})`,style:EC})]}),t[4]=s,t[5]=f),f}function MC(e){let t=(0,Q.c)(46),{layout:n}=e,r=n===void 0?`bar`:n,{todos:i}=(0,Z.useContext)(Vm),[a,o]=(0,Z.useState)(!1),s;t[0]===i?s=t[1]:(s=i.filter(NC),t[0]=i,t[1]=s);let c=s.length,l=i.length-c,u;t[2]!==c||t[3]!==i.length?(u=DC(c,i.length),t[2]=c,t[3]=i.length,t[4]=u):u=t[4];let d=u;if(l<=0)return null;if(r===`menu`){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>o(!0),t[5]=e):e=t[5];let n;t[6]!==c||t[7]!==i.length?(n=(0,$.jsx)(jC,{completedCount:c,totalCount:i.length}),t[6]=c,t[7]=i.length,t[8]=n):n=t[8];let r;t[9]===d?r=t[10]:(r=(0,$.jsx)(`span`,{children:d}),t[9]=d,t[10]=r);let s;t[11]!==n||t[12]!==r?(s=(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`w-full justify-start gap-2`,onClick:e,children:[n,r]}),t[11]=n,t[12]=r,t[13]=s):s=t[13];let l;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Dr,{children:(0,$.jsx)(qa,{children:`Agent Todos`})}),t[14]=l):l=t[14];let u;t[15]===i?u=t[16]:(u=(0,$.jsxs)(Ir,{className:`max-w-md`,children:[l,(0,$.jsx)(OC,{todos:i})]}),t[15]=i,t[16]=u);let f;t[17]!==a||t[18]!==u?(f=(0,$.jsx)(Ni,{open:a,onOpenChange:o,children:u}),t[17]=a,t[18]=u,t[19]=f):f=t[19];let p;return t[20]!==f||t[21]!==s?(p=(0,$.jsxs)($.Fragment,{children:[s,f]}),t[20]=f,t[21]=s,t[22]=p):p=t[22],p}let f;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>o(!0),t[23]=f):f=t[23];let p;t[24]!==c||t[25]!==i.length?(p=(0,$.jsx)(jC,{completedCount:c,totalCount:i.length}),t[24]=c,t[25]=i.length,t[26]=p):p=t[26];let m;t[27]===d?m=t[28]:(m=(0,$.jsx)(`span`,{children:d}),t[27]=d,t[28]=m);let h;t[29]!==p||t[30]!==m?(h=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`outline`,size:`sm`,onClick:f,children:[p,m]})}),t[29]=p,t[30]=m,t[31]=h):h=t[31];let g;t[32]===d?g=t[33]:(g=(0,$.jsx)(Fr,{children:d}),t[32]=d,t[33]=g);let _;t[34]!==h||t[35]!==g?(_=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[h,g]})}),t[34]=h,t[35]=g,t[36]=_):_=t[36];let v;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Dr,{children:(0,$.jsx)(qa,{children:`Agent Todos`})}),t[37]=v):v=t[37];let y;t[38]===i?y=t[39]:(y=(0,$.jsxs)(Ir,{className:`max-w-md`,children:[v,(0,$.jsx)(OC,{todos:i})]}),t[38]=i,t[39]=y);let b;t[40]!==a||t[41]!==y?(b=(0,$.jsx)(Ni,{open:a,onOpenChange:o,children:y}),t[40]=a,t[41]=y,t[42]=b):b=t[42];let x;return t[43]!==b||t[44]!==_?(x=(0,$.jsxs)($.Fragment,{children:[_,b]}),t[43]=b,t[44]=_,t[45]=x):x=t[45],x}function NC(e){return e.status===`done`}function PC(e){let t=(0,Q.c)(34),{tasks:n,disabled:r,onSelectTask:i,onTogglePinned:a,onRemoveTask:o,layout:s}=e,c=r===void 0?!1:r,l=s===void 0?`bar`:s,[u,d]=(0,Z.useState)(!1),f=n.length,p=`${f} ${f===1?`Prompt`:`Prompts`}`;if(f===0)return null;let m;t[0]===i?m=t[1]:(m=function(e){i(e),d(!1)},t[0]=i,t[1]=m);let h=m,g;t[2]!==o||t[3]!==f?(g=function(e){o(e),f===1&&d(!1)},t[2]=o,t[3]=f,t[4]=g):g=t[4];let _=g,v;t[5]===a?v=t[6]:(v=function(e){a(e)},t[5]=a,t[6]=v);let y=v,b=l===`menu`?`ghost`:`outline`,x=l===`bar`&&`bg-background`,S=l===`menu`&&`w-full justify-start`,C;t[7]!==x||t[8]!==S?(C=G(`gap-2`,x,S),t[7]=x,t[8]=S,t[9]=C):C=t[9];let w;t[10]===p?w=t[11]:(w=(0,$.jsx)(`span`,{children:p}),t[10]=p,t[11]=w);let T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(Yt,{className:`h-4 w-4 shrink-0`}),t[12]=T):T=t[12];let E;t[13]!==c||t[14]!==w||t[15]!==b||t[16]!==C?(E=(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:b,size:`sm`,className:C,disabled:c,children:[w,T]})}),t[13]=c,t[14]=w,t[15]=b,t[16]=C,t[17]=E):E=t[17];let D;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-2 pb-1 pt-1`),children:`Prompts`}),t[18]=D):D=t[18];let O;if(t[19]!==_||t[20]!==h||t[21]!==y||t[22]!==n){let e;t[24]!==_||t[25]!==h||t[26]!==y?(e=e=>(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-transparent px-2 py-2 hover:bg-accent`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-start gap-2 text-left`,onClick:()=>h(e),children:[(0,$.jsx)(un,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:G(U.body,`line-clamp-3 text-foreground`),children:e.content})]}),(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:G(`h-7 w-7 shrink-0`,e.pinned&&`text-primary hover:text-primary`),onClick:()=>y(e.id),children:[(0,$.jsx)(ie,{className:G(`h-4 w-4`,e.pinned&&`fill-current`)}),(0,$.jsx)(`span`,{className:`sr-only`,children:e.pinned?`Unpin prompt`:`Pin prompt`})]})}),(0,$.jsx)(Fr,{children:e.pinned?`Unpin prompt`:`Pin prompt`})]}),(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:()=>_(e.id),children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove prompt`})]})]},e.id),t[24]=_,t[25]=h,t[26]=y,t[27]=e):e=t[27],O=n.map(e),t[19]=_,t[20]=h,t[21]=y,t[22]=n,t[23]=O}else O=t[23];let k;t[28]===O?k=t[29]:(k=(0,$.jsx)(Fp,{align:`start`,className:`w-96 p-2`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[D,O]})}),t[28]=O,t[29]=k);let A;return t[30]!==u||t[31]!==E||t[32]!==k?(A=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Np,{open:u,onOpenChange:d,children:[E,k]})}),t[30]=u,t[31]=E,t[32]=k,t[33]=A):A=t[33],A}function FC(e){let t=(0,Q.c)(23),n=Qn(),r;t[0]===e?r=t[1]:(r=_y.userTasks(e),t[0]=e,t[1]=r);let i;t[2]===e?i=t[3]:(i=()=>Ya(e),t[2]=e,t[3]=i);let a=!!e,o;t[4]!==r||t[5]!==i||t[6]!==a?(o={queryKey:r,queryFn:i,enabled:a},t[4]=r,t[5]=i,t[6]=a,t[7]=o):o=t[7];let s=vr(o),c;t[8]!==e||t[9]!==n?(c=t=>{e&&n.setQueryData(_y.userTasks(e),e=>typeof t==`function`?t(e??[]):t)},t[8]=e,t[9]=n,t[10]=c):c=t[10];let l=c,u;t[11]===s.data?u=t[12]:(u=s.data??[],t[11]=s.data,t[12]=u);let d;t[13]!==e||t[14]!==n?(d=()=>n.invalidateQueries({queryKey:_y.userTasks(e)}),t[13]=e,t[14]=n,t[15]=d):d=t[15];let f;return t[16]!==s.error||t[17]!==s.isError||t[18]!==s.isLoading||t[19]!==l||t[20]!==u||t[21]!==d?(f={userTasks:u,isLoading:s.isLoading,isError:s.isError,error:s.error,setUserTasks:l,invalidate:d},t[16]=s.error,t[17]=s.isError,t[18]=s.isLoading,t[19]=l,t[20]=u,t[21]=d,t[22]=f):f=t[22],f}function IC(e,t,n){let r=e.flatMap(e=>e.threads).find(e=>e.threadId===t),i=new Set(Object.values(r?.chatTitles??{}).filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim())),a=1,o=`New Chat`;for(;i.has(o);)a+=1,o=`New Chat ${a}`;return o}var LC=Ut(`chat.input-toolbar`),RC=(0,Z.createContext)(void 0);function zC({children:e}){let t=Ks(),{paneId:n,conversationId:r}=wv(),{handleDiscardPaneStream:i}=bv(),a=X(e=>e.selectedThreadId),o=X(e=>e.projects),s=X(e=>e.selectedProjectId),c=X(e=>e.isCreatingProject),l=X(e=>e.startingNewChatPaneIds.includes(n)),{toast:u}=ic(),d=Qn(),{userTasks:f,setUserTasks:p,isError:m}=FC(n===`primary`?s:null),h=X(e=>{let t=n===`primary`&&e.pendingChatMessage?.threadId===e.selectedThreadId;return e.selectedThreadId?As(e.threadStreamingStates,e.selectedThreadId,n).isStreaming||t:!1});(0,Z.useEffect)(()=>{m&&u({title:`Could not load prompts`,description:`Failed to load prompts for this project.`,variant:`destructive`})},[m,u]);let g=(0,Z.useCallback)(async()=>{if(a){t({type:Y.SetNewChatStarting,paneId:n,isStarting:!0});try{let e=r,c=IC(o,a,n),l={...o.flatMap(e=>e.threads).find(e=>e.threadId===a)?.chatTitles,[n]:c};s&&(Qa(a,{chatTitles:l}).catch(e=>{LC.error(`Failed to update chat title for new chat`,{error:e,threadId:a})}),t({type:Y.UpdateChatTitle,projectId:s,threadId:a,paneId:n,title:c})),Sg(a),i(n),t(n===`primary`?{type:Y.ClearMessages}:{type:Y.SetPaneMessages,paneId:n,messages:[]});let u=e;if(!u&&n===`primary`)try{u=(await Ur(a)).currentConversationId}catch(e){LC.error(`Failed to resolve current conversation before starting new chat`,{error:e,threadId:a})}if(u&&await Na(a,{conversationId:u}),n!==`primary`){t({type:Y.SetPaneConversationId,paneId:n,conversationId:je()});return}try{let e=await Io(a);t({type:Y.SetPrimaryConversationId,conversationId:e}),LC.info(`New conversation started`,{conversationId:e,threadId:a})}catch(e){LC.error(`Failed to start new chat`,{error:e,threadId:a})}}finally{t({type:Y.SetNewChatStarting,paneId:n,isStarting:!1})}}},[s,a,t,o,n,r,i]),_=(0,Z.useCallback)(async e=>{if(s)try{await zr(s,e),d.setQueryData(_y.userTasks(s),t=>(t??[]).filter(t=>t.id!==e))}catch(t){LC.error(`Failed to delete user task`,{error:t,projectId:s,taskId:e}),u({title:`Could not remove prompt`,description:`Failed to delete the selected prompt.`,variant:`destructive`})}},[d,s,u]),v=(0,Z.useCallback)(e=>{p(t=>t.map(t=>t.id===e?{...t,pinned:!t.pinned}:t))},[p]),y=(0,Z.useCallback)(e=>{a&&t({type:Y.SetChatInputDraft,threadId:a,draft:e.content})},[a,t]),b=(0,Z.useMemo)(()=>({userTasks:f,setUserTasks:p,handleNewChat:g,handleSelectUserTask:y,handleRemoveUserTask:_,toggleUserTaskPinned:v,effectiveIsStreaming:h,isCreatingProject:c,isStartingNewChat:l}),[f,p,g,y,_,v,h,c,l]);return(0,$.jsx)(RC.Provider,{value:b,children:e})}function BC(){let e=(0,Z.useContext)(RC);if(e===void 0)throw Error(`useChatInputToolbar must be used within a ChatInputToolbarProvider`);return e}var VC=[`Removing threads`,`Deleting storage`,`Removing project`];function HC(e){let t=(0,Q.c)(32),{progress:n,onRetry:r,onClose:i}=e;if(!n)return null;let{projectName:a,step:o,status:s,errorMessage:c}=n,l=VC[Math.min(o,VC.length-1)],u=s===`progressing`,d;t[0]!==u||t[1]!==i?(d=e=>{!e&&!u&&i()},t[0]=u,t[1]=i,t[2]=d):d=t[2];let f;t[3]===u?f=t[4]:(f=e=>{u&&e.preventDefault()},t[3]=u,t[4]=f);let p=s===`error`?`Delete Failed`:`Deleting Project`,m;t[5]===p?m=t[6]:(m=(0,$.jsx)(sc,{children:p}),t[5]=p,t[6]=m);let h;t[7]!==c||t[8]!==l||t[9]!==a||t[10]!==s?(h=(0,$.jsx)(oc,{children:s===`error`?(0,$.jsxs)(`span`,{className:`text-destructive`,children:[`Failed at: `,l,`. `,c??`An unexpected error occurred.`]}):(0,$.jsxs)($.Fragment,{children:[`Deleting `,(0,$.jsxs)(`span`,{className:`font-semibold text-foreground`,children:[`"`,a,`"`]}),`. This cannot be undone.`]})}),t[7]=c,t[8]=l,t[9]=a,t[10]=s,t[11]=h):h=t[11];let g;t[12]!==m||t[13]!==h?(g=(0,$.jsxs)(fc,{children:[m,h]}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==s||t[16]!==o?(_=VC.map((e,t)=>{let n=s===`progressing`&&t===o,r=s===`done`,i=s===`error`&&t===o;return(0,$.jsxs)(`div`,{className:G(`flex items-center gap-2 text-sm`,n&&`text-foreground`,r&&`text-muted-foreground`,t<o&&`text-muted-foreground`),children:[r||t<o?(0,$.jsx)(W,{className:`h-4 w-4 text-emerald-500`}):i?(0,$.jsx)(Fe,{className:`h-4 w-4 text-destructive`}):(0,$.jsx)(ln,{className:G(`h-4 w-4 text-muted-foreground`,n&&`animate-spin text-foreground`)}),(0,$.jsxs)(`span`,{className:G(U.body,n&&`font-medium`),children:[e,`…`]})]},e)}),t[15]=s,t[16]=o,t[17]=_):_=t[17];let v;t[18]===_?v=t[19]:(v=(0,$.jsx)(`div`,{className:`flex flex-col gap-2 py-2`,children:_}),t[18]=_,t[19]=v);let y;t[20]!==i||t[21]!==r||t[22]!==s?(y=s===`error`&&(0,$.jsxs)(uc,{children:[(0,$.jsx)(dc,{onClick:i,children:`Close`}),(0,$.jsx)(lc,{onClick:r,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Retry`})]}),t[20]=i,t[21]=r,t[22]=s,t[23]=y):y=t[23];let b;t[24]!==f||t[25]!==g||t[26]!==v||t[27]!==y?(b=(0,$.jsxs)(cc,{onEscapeKeyDown:f,children:[g,v,y]}),t[24]=f,t[25]=g,t[26]=v,t[27]=y,t[28]=b):b=t[28];let x;return t[29]!==d||t[30]!==b?(x=(0,$.jsx)(pc,{open:!0,onOpenChange:d,children:b}),t[29]=d,t[30]=b,t[31]=x):x=t[31],x}var UC=xn,WC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(zn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});WC.displayName=zn.displayName;var GC=bi(`group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),KC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,variant:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==a?(o=G(GC({variant:a}),r),n[4]=r,n[5]=a,n[6]=o):o=n[6];let s;return n[7]!==i||n[8]!==t||n[9]!==o?(s=(0,$.jsx)(En,{ref:t,className:o,...i}),n[7]=i,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});KC.displayName=En.displayName;var qC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive`,U.body,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(jn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});qC.displayName=jn.displayName;var JC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(nt,{className:`h-4 w-4`}),n[5]=o):o=n[5];let s;return n[6]!==i||n[7]!==t||n[8]!==a?(s=(0,$.jsx)(Nn,{ref:t,className:a,"toast-close":``,...i,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=s):s=n[9],s});JC.displayName=Nn.displayName;var YC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(U.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(kn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});YC.displayName=kn.displayName;var XC=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(U.body,`opacity-90 text-muted-foreground group-[.destructive]:text-destructive-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Ln,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});XC.displayName=Ln.displayName;function ZC(e){return(e?.match(/Removing (.+?)\.\.\./))?.[1]?.trim()||void 0}function QC(e,t){let n=ZC(t),r=e.trim().toLowerCase();return eo(e)&&n?{summary:`The connection dropped while Tarsk was deleting files on disk.`,cause:`Removing a large folder can take longer than the browser keeps the progress stream open. WebKit reports this as "Load failed" even though deletion may still be running or may already have finished on the server.`,guidance:[`Refresh the project list and check whether the thread is gone.`,`If the thread is still listed, try deleting again or remove the folder manually: ${n}`],removingPath:n}:eo(e)?{summary:`The connection to Tarsk was lost during deletion.`,cause:`The progress stream closed before the server reported completion. This is usually a browser or network timeout, not a message from the delete operation itself.`,guidance:[`Refresh the project list and check whether the thread was removed.`,`Try deleting the thread again if it is still listed.`]}:r.includes(`not found`)?{summary:`Tarsk could not find that thread.`,cause:`The thread may have already been deleted in another window or by a previous attempt.`,guidance:[`Refresh the project list.`,`If the thread is gone, no further action is needed.`]}:r.includes(`failed to remove`)||r.includes(`eperm`)||r.includes(`ebusy`)?{summary:`Tarsk could not remove the thread folder from disk.`,cause:e,guidance:[n?`Close any apps using files in ${n}, then try again.`:`Close any apps using files in the thread folder, then try again.`,`If deletion keeps failing, remove the folder manually and refresh the project list.`],removingPath:n}:{summary:e||`Thread deletion failed for an unknown reason.`,cause:`See the progress output below for where deletion stopped.`,guidance:[`Try deleting the thread again.`,`If the problem persists, check Settings > Logs for details.`],removingPath:n}}function $C(e,t){return[`Thread deletion failed (${e})`,t.summary,`Cause: ${t.cause}`,`What to do: ${t.guidance.join(` `)}`].join(`
3324
- `)}function ew(e){if(!e||typeof e!=`object`)return{};let t=e,n={};if(typeof t.stdout==`string`&&t.stdout.trim()&&(n.stdout=t.stdout),typeof t.stderr==`string`&&t.stderr.trim()&&(n.stderr=t.stderr),typeof t.details==`string`&&t.details.trim())n.details=t.details;else if(typeof t.error==`string`&&t.error.trim())n.details=t.error;else if(t.error&&typeof t.error==`object`){let e=t.error;typeof e.message==`string`&&e.message.trim()&&(n.details=e.message),typeof e.stdout==`string`&&e.stdout.trim()&&(n.stdout=n.stdout??e.stdout),typeof e.stderr==`string`&&e.stderr.trim()&&(n.stderr=n.stderr??e.stderr)}return n}function tw(e,t,n){let r=crypto.randomUUID(),i=n.message.trim()||`Unknown error`,a=QC(i,n.progressOutput),o=$C(r,a),s={errorId:r,message:i,summary:a.summary,cause:a.cause,guidance:a.guidance,removingPath:a.removingPath,projectId:n.projectId,threadId:n.threadId,threadTitle:n.threadTitle,output:n.progressOutput,stdout:n.stdout,stderr:n.stderr,details:n.details,...n.cause===void 0?{}:{rawError:n.cause}};return e.error(o,s),Qr({level:`ERROR`,context:`app.use-projects.hook`,message:o,data:s}),ac({variant:`destructive`,title:`Failed to delete thread`,description:`Error ID: ${r}\n${a.summary}`,action:(0,$.jsx)(qC,{altText:`Go to Logs`,onClick:()=>{t(`/settings/logs?q=${encodeURIComponent(r)}`)},children:`Go to Logs`})}),r}var nw=Ut(`app.use-projects.hook`),rw=0;function iw(){let e=(0,Q.c)(17),t=Ks(),n=X(cw),r=X(sw),i=X(ow);i>0&&Si();let a=Nc(`projects:bootstrap:${i}`,lo),o=(0,Z.useRef)(!1),s;e[0]!==a.cloneRootPath||e[1]!==a.projects||e[2]!==t?(s=()=>{t({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1})},e[0]=a.cloneRootPath,e[1]=a.projects,e[2]=t,e[3]=s):s=e[3];let c;e[4]!==a||e[5]!==t?(c=[a,t],e[4]=a,e[5]=t,e[6]=c):c=e[6],(0,Z.useLayoutEffect)(s,c);let l;e[7]!==a.projects||e[8]!==t||e[9]!==r||e[10]!==n?(l=()=>{if(!o.current){if(n||r){o.current=!0;return}for(let e of a.projects){let n=e.threads.find(aw);if(n){t({type:Y.SelectThread,threadId:n.threadId,projectId:e.projectId}),o.current=!0;break}}}},e[7]=a.projects,e[8]=t,e[9]=r,e[10]=n,e[11]=l):l=e[11];let u;return e[12]!==a||e[13]!==t||e[14]!==r||e[15]!==n?(u=[a,t,n,r],e[12]=a,e[13]=t,e[14]=r,e[15]=n,e[16]=u):u=e[16],(0,Z.useLayoutEffect)(l,u),null}function aw(e){return e.isSelected}function ow(e){return e.configUpdatedAt}function sw(e){return e.selectedProjectId}function cw(e){return e.selectedThreadId}function lw(e){let t=Ks(),n=X(e=>e.projects),r=X(e=>e.selectedProjectId),i=X(e=>e.selectedThreadId),{toast:a}=ic(),o=Yn(),s=Gn(),[c,l]=(0,Z.useState)(null),u=(0,Z.useCallback)(async()=>{let e=++rw;try{t({type:Y.SetProjectsLoading,projectsLoading:!0}),Si(),Mc(`projects:bootstrap:`);let n=await lo();return e===rw&&t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),n.projects}catch(e){return nw.error(`Failed to refresh projects:`,e),[]}finally{e===rw&&t({type:Y.SetProjectsLoading,projectsLoading:!1})}},[t]),d=(0,Z.useCallback)(async()=>{let e=await u();if(t({type:Y.ConfigUpdated}),!r||!i)return e;let n=e.find(e=>e.projectId===r);if(!n)return t({type:Y.ClearSelection}),e;if(!n.threads.some(e=>e.threadId===i)){t({type:Y.ClearThreadCreationSummary,threadId:i});let e=n.threads[0];t(e?{type:Y.SelectThread,threadId:e.threadId,projectId:r}:{type:Y.ClearSelection})}return e},[t,u,r,i]),f=(0,Z.useCallback)((e,n)=>{(i!==n||r!==e)&&t({type:Y.SelectThread,threadId:n,projectId:e}),ya(e,n).catch(e=>{nw.error(`Failed to select thread:`,e)})},[t,i,r]),p=(0,Z.useCallback)(async n=>{t({type:Y.SetCreatingProject,isCreating:!0});let r={current:null},i=``,o=!1;function s(e){if(!e)return;let n=`${e}\n`;i+=n;let a=r.current;a&&Ac(t,a.toolCallId,a.threadId,n)}let c=null,d=!1,f=null,p=null;function m(i,a){d=!0,f=i,p=a,t({type:Y.AddCreatingProject,projectId:i,threadId:a,projectName:n.optimisticProjectName,gitUrl:n.gitUrl??``}),t({type:Y.AddProcessingThread,threadId:a}),e?.onProjectCreated?.(i);let o=Ec({mode:n.mode,threadId:a,projectId:i,projectName:n.optimisticProjectName});r.current=o,xc(t,o,`${n.initialMessage}\n`)}function h(){d&&f&&(t({type:Y.RemoveCreatingProject,projectId:f}),p&&t({type:Y.RemoveProcessingThread,threadId:p}))}function g(e){!d&&typeof e.threadId==`string`&&typeof e.projectId==`string`&&m(e.projectId,e.threadId),s(typeof e.message==`string`?e.message:``)}function _(e){o=!0;let t=e.project;if(t){if(c=t.id,s(`Project created successfully at: ${n.includeThreadPath&&t.threads&&t.threads.length>0?`${t.path}/${t.threads[0]}`:t.path}`),r.current&&n.mode===`folder`){let e=t.path.split(/[/\\]/).filter(Boolean).pop();e&&e!==n.optimisticProjectName&&(r.current={...r.current,projectName:e})}n.handleSetupScript&&typeof e.suggestedSetupScript==`string`&&l({projectId:t.id,command:e.suggestedSetupScript,remainingScripts:t.pendingSetupScripts??[]})}}function v(e){let t=typeof e.message==`string`?e.message:`Unknown error`;h(),s(`Error: ${t}`),r.current||a({title:`Project Creation Failed`,description:t,variant:`destructive`})}function y(e){if(!e||typeof e!=`object`)return;let t=e;try{t.type===`progress`?g(t):t.type===`complete`?_(t):t.type===`error`&&v(t)}catch(e){nw.error(`Failed to parse ${n.logTag} event`,e)}}async function b(n){if(!c)return;let i=n.projects.find(e=>e.projectId===c);if(i&&i.threads.length>0){let e=i.threads[0].threadId;r.current?.threadId===e?t({type:Y.FocusChatInput}):t({type:Y.SelectThread,threadId:e,projectId:c,focusInput:!0})}e?.onProjectCreated?.(c)}async function x(){t({type:Y.SetCreatingProject,isCreating:!1});let e=r.current;e&&(Dc(t,e,i,{isError:!o}),t({type:Y.RemoveProcessingThread,threadId:e.threadId})),Si();let n=await lo();t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1}),await b(n)}function S(e){nw.error(`Failed to ${n.logTag}:`,e),t({type:Y.SetCreatingProject,isCreating:!1});let o=r.current,c=`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`;o?(s(c),Dc(t,o,i,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:o.threadId})):a({title:`Project Creation Failed`,description:c,variant:`destructive`})}try{let e=await n.apiCall();if(!e){t({type:Y.SetCreatingProject,isCreating:!1}),await u();return}await Fc(e,y),await x()}catch(e){S(e)}},[t,u,e?.onProjectCreated,a]),m=(0,Z.useCallback)(async(e,t)=>{let n=e.split(`/`).pop()?.replace(`.git`,``)??`project`;await p({apiCall:()=>no(e,t),initialMessage:`Cloning repository: ${e}...`,optimisticProjectName:n,gitUrl:e,mode:`clone`,includeThreadPath:!0,handleSetupScript:!0,logTag:`create project`,catchErrorPrefix:`Failed to create project`})},[p]),h=(0,Z.useCallback)(async(e,t,n)=>{await p({apiCall:()=>wa(e,t,n),initialMessage:`Creating app "${e}"...`,optimisticProjectName:e,mode:`webapp`,handleSetupScript:!1,logTag:`create web app`,catchErrorPrefix:`Failed to create web app`})},[p]),g=(0,Z.useCallback)(async e=>{await p({apiCall:()=>ba(e),initialMessage:`Creating folder "${e}"...`,optimisticProjectName:e,mode:`folder`,handleSetupScript:!1,logTag:`create folder`,catchErrorPrefix:`Failed to create folder`})},[p]),_=(0,Z.useCallback)(async(e,t,n)=>{let r=t.replace(/\.zip$/i,``)||`project`;await p({apiCall:()=>zo(e,t,n),initialMessage:n?`Replacing project from "${t}"...`:`Creating project from "${t}"...`,optimisticProjectName:r,mode:`zip`,handleSetupScript:!1,logTag:`create project from zip`,catchErrorPrefix:`Failed to create project from zip`})},[p]),v=(0,Z.useCallback)(async(r,i)=>{let o={current:null};try{let s=n.find(e=>e.projectId===r),c=s?Ke(s):`project`;e?.onThreadCreateStart?.(r);let l=i??(()=>{let e=s?.threads.map(e=>e.title)??[],t=/^thread-(\d+)$/i,n=0;for(let r of e){let e=r.match(t);e&&(n=Math.max(n,parseInt(e[1],10)))}return`thread-${n+1}`})(),d=await so(r,i);if(!d){await u();return}let f=!0,p,m=`Creating thread "${l}"...`,h=[{type:`system`,content:m}],g=`${m}\n`;function _(e,n){let r={type:n,content:e};g+=`${e}\n`;let i=o.current;if(!i){h.push(r);return}t({type:Y.AppendTerminalLine,threadId:i.threadId,line:r}),Ac(t,i.toolCallId,i.threadId,`${e}\n`)}function v(e){t({type:Y.AddCreatingThread,projectId:r,threadId:e,title:l}),t({type:Y.AddProcessingThread,threadId:e}),t({type:Y.ClearTerminalOutput,threadId:e});for(let n of h)t({type:Y.AppendTerminalLine,threadId:e,line:n});h.length=0;let n=Oc({threadId:e,projectId:r,projectName:c});o.current=n,xc(t,n,g)}function y(e){t({type:Y.RemoveCreatingThread,projectId:r,threadId:e}),t({type:Y.SelectProject,projectId:r})}try{await Fc(d,e=>{if(!e||typeof e!=`object`){typeof e==`string`&&nw.error(`Failed to parse thread event`,e);return}let t=e;if(t.type===`progress`)!o.current&&typeof t.threadId==`string`&&v(t.threadId),_(typeof t.message==`string`?t.message:``,`output`);else if(t.type===`complete`){let e=t.thread;typeof e?.currentBranch==`string`&&(p=e.currentBranch)}else if(t.type===`error`){let e=typeof t.message==`string`?t.message:`Unknown error`;_(`Error: ${e}`,`error`),nw.error(`Thread creation error:`,e),a({title:`Thread Creation Failed`,description:e,variant:`destructive`}),f=!1}});let e=o.current;e&&(Dc(t,e,g,{branch:p,isError:!f}),t({type:Y.RemoveProcessingThread,threadId:e.threadId}),f||y(e.threadId)),Si(),await u()}catch(e){let n=e instanceof Error?e.message:String(e),r=o.current;throw r&&(_(`Error: ${n}`,`error`),Dc(t,r,g,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:r.threadId}),y(r.threadId)),a({title:`Thread Creation Failed`,description:n,variant:`destructive`}),e}}catch(e){nw.error(`Failed to create thread:`,e);let n=`Failed to create thread: ${e instanceof Error?e.message:`Unknown error`}`;throw t({type:Y.AppendTerminalLine,line:{type:`error`,content:n}}),a({variant:`destructive`,title:`Thread Creation Failed`,description:n}),e}},[u,t,n,a,e?.onThreadCreateStart]),y=(0,Z.useCallback)(async(e,r)=>{t({type:Y.AddDeletingThread,threadId:r}),t({type:Y.ClearChatInputDraft,threadId:r});let a=n.find(t=>t.projectId===e),s=a?Ke(a):`project`,c=a?.threads.find(e=>e.threadId===r)?.title??`thread`,l=i===r,d=l?wc({threadId:r,projectId:e,projectName:s}):null,f=``,p=!0;function m(e){e.trim()&&(f+=`${e}\n`,d&&Ac(t,d.toolCallId,d.threadId,`${e}\n`))}d&&Tc(t,d,`Deleting thread "${c}"...\n`);try{let n=await Ii(e,r);n&&await Fc(n,t=>{if(!t||typeof t!=`object`)return;let n=t;if(n.type===`progress`)m(typeof n.message==`string`?n.message:``);else if(n.type===`error`){let t=typeof n.message==`string`?n.message:`Unknown error`,i=ew(n);m(`Error: ${t}`),tw(nw,o,{projectId:e,threadId:r,threadTitle:c,message:t,progressOutput:f,...i}),p=!1}}),d&&Dc(t,d,f,{isError:!p}),p&&(t({type:Y.ClearThreadCreationSummary,threadId:r}),t({type:Y.RemoveThread,projectId:e,threadId:r})),l&&p&&t({type:Y.ClearSelection}),await u(),t({type:Y.ConfigUpdated})}catch(n){let i=n instanceof Error?n.message:`Unknown error`,a=ew(n);if(eo(i)){m(`Deletion is still running on the server. Open Workspaces to refresh the list.`),d&&Dc(t,d,f,{isError:!1}),nw.info(`Thread deletion stream disconnected before completion`,{projectId:e,threadId:r,message:i,...a});return}if(i.toLowerCase().includes(`not found`)){t({type:Y.RemoveThread,projectId:e,threadId:r}),await u();return}m(`Error: ${i}`),d&&Dc(t,d,f,{isError:!0}),tw(nw,o,{projectId:e,threadId:r,threadTitle:c,message:i,progressOutput:f,cause:n,...a})}finally{t({type:Y.RemoveDeletingThread,threadId:r})}},[u,i,t,a,o,n]),b=(0,Z.useCallback)(async(e,r)=>{t({type:Y.AddDeletingProject,projectId:e});let i=n.find(t=>t.projectId===e),a=i?.threads.map(e=>e.threadId)??[];for(let e of a)t({type:Y.AddDeletingThread,threadId:e}),t({type:Y.ClearChatInputDraft,threadId:e});let c=0;r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`});let l=window.setInterval(()=>{c=Math.min(c+1,VC.length-1),r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`})},450);try{await ts(e),window.clearInterval(l),t({type:Y.CloseProjectPanel}),t({type:Y.SelectThread,threadId:``,projectId:``}),await u(),t({type:Y.ConfigUpdated}),s.pathname.startsWith(`/settings/`)&&o(`/`),r?.({projectId:e,projectName:i?.name??``,step:c,status:`done`})}catch(t){throw window.clearInterval(l),nw.error(`Failed to delete project:`,t),r?.({projectId:e,projectName:i?.name??``,step:c,status:`error`,errorMessage:t instanceof Error?t.message:`Failed to delete project`}),t}finally{t({type:Y.RemoveDeletingProject,projectId:e});for(let e of a)t({type:Y.RemoveDeletingThread,threadId:e})}},[u,n,t,o,s]),x=(0,Z.useCallback)(async e=>{let n=c;if(l(null),!n||!e)return;let{projectId:r,command:i,remainingScripts:a}=n,o=[i,...a||[]];try{t({type:Y.SetCreatingProject,isCreating:!0}),t({type:Y.SetTerminalOpen,open:!0}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:`Installing dependencies for ${o.length} package${o.length===1?``:`s`}...`}});for(let e=0;e<o.length;e++){let n=o[e],i=n.match(/^cd "([^"]+)" && (.+)$/),a=i?i[1]:`root`;t({type:Y.AppendTerminalLine,line:{type:`system`,content:`Installing package ${e+1}/${o.length} in ${a}...`}}),t({type:Y.AppendTerminalLine,line:{type:`output`,content:`📦 Installing dependencies in ${a}: ${n}`}});let s=await yi(r,n,!0);s&&await Pc(s,{onOutput:e=>{t({type:Y.AppendTerminalLine,line:{type:`output`,content:e}})},onError:e=>{t({type:Y.AppendTerminalLine,line:{type:`error`,content:e}})}}),e<o.length-1&&(t({type:Y.AppendTerminalLine,line:{type:`system`,content:``}}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:`---`}}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:``}}))}t({type:Y.AppendTerminalLine,line:{type:`system`,content:`All dependencies installed successfully!`}}),t({type:Y.SetCreatingProject,isCreating:!1}),await u()}catch(e){t({type:Y.SetCreatingProject,isCreating:!1}),nw.error(`Failed to run setup script:`,e),t({type:Y.AppendTerminalLine,line:{type:`error`,content:`Failed to run setup script: ${e instanceof Error?e.message:`Unknown error`}`}})}},[c,t,u]);return{projects:n,selectedProjectId:r,selectedThreadId:i,refreshProjects:u,refreshWorkspaces:d,handleSelectThread:f,handleCreateProject:m,handleCreateWebApp:h,handleCreateFolder:g,handleCreateZip:_,handleOpenFolder:(0,Z.useCallback)(async()=>{await p({apiCall:ki,initialMessage:`Opening folder...`,optimisticProjectName:`Opening folder...`,mode:`folder`,handleSetupScript:!0,logTag:`open folder`,catchErrorPrefix:`Failed to open folder`})},[p]),handleOpenPath:(0,Z.useCallback)(async e=>{let t=e.split(/[/\\]/).filter(Boolean).pop()??`project`;await p({apiCall:()=>ls(e),initialMessage:`Opening folder: ${e}...`,optimisticProjectName:t,mode:`folder`,handleSetupScript:!0,logTag:`open path`,catchErrorPrefix:`Failed to open folder path`})},[p]),handleCreateThread:v,handleDeleteThread:y,confirmDeleteProject:b,pendingSetupScriptConfirmation:c,resolveSetupScriptConfirmation:x}}var uw;(function(e){e.Heavy=`HEAVY`,e.Medium=`MEDIUM`,e.Light=`LIGHT`})(uw||={});var dw;(function(e){e.Success=`SUCCESS`,e.Warning=`WARNING`,e.Error=`ERROR`})(dw||={});var fw=Ag(`Haptics`,{web:()=>us(()=>import(`./web-D7CwlITA.js`).then(e=>new e.HapticsWeb),[])});function pw(){return typeof window<`u`&&Za()}function mw(e=uw.Medium){pw()&&fw.impact({style:e}).catch(()=>{})}function hw(e){let t=(0,Q.c)(61),{projectId:n,onNewChat:r,isStartingNewChat:i,iconOnly:a,variant:o,size:s,className:c,buttonClassName:l,ariaLabel:u}=e,d=a===void 0?!1:a,f=o===void 0?`outline`:o,p=s===void 0?`sm`:s,{addWindow:m}=gc(),{handleCreateThread:h}=lw(),g;t[0]===r?g=t[1]:(g=function(){mw(),r()},t[0]=r,t[1]=g);let _=g,v;t[2]!==h||t[3]!==n?(v=function(){n&&(mw(),h(n,void 0))},t[2]=h,t[3]=n,t[4]=v):v=t[4];let y=v,b;t[5]===c?b=t[6]:(b=G(`inline-flex items-center`,c),t[5]=c,t[6]=b);let x=f===`outline`&&`border-r-0`,S;t[7]!==l||t[8]!==x?(S=G(l,`rounded-r-none`,x),t[7]=l,t[8]=x,t[9]=S):S=t[9];let C;t[10]!==u||t[11]!==d?(C=d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Se,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:u??`New Chat`})]}):`New Chat`,t[10]=u,t[11]=d,t[12]=C):C=t[12];let w;t[13]!==_||t[14]!==i||t[15]!==p||t[16]!==S||t[17]!==C||t[18]!==f?(w=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:f,size:p,disabled:i,className:S,onClick:_,children:C})}),t[13]=_,t[14]=i,t[15]=p,t[16]=S,t[17]=C,t[18]=f,t[19]=w):w=t[19];let T=i?`Starting Chat`:u??`New Chat`,E;t[20]===T?E=t[21]:(E=(0,$.jsx)(Fr,{children:T}),t[20]=T,t[21]=E);let D;t[22]!==w||t[23]!==E?(D=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[w,E]})}),t[22]=w,t[23]=E,t[24]=D):D=t[24];let O=f===`outline`&&`border-l-0`,k=d?`w-5 px-0`:`px-2`,A;t[25]!==l||t[26]!==O||t[27]!==k?(A=G(l,`rounded-l-none`,O,k),t[25]=l,t[26]=O,t[27]=k,t[28]=A):A=t[28];let j=d?`h-3 w-3`:`h-4 w-4`,N;t[29]===j?N=t[30]:(N=(0,$.jsx)(tn,{className:j}),t[29]=j,t[30]=N);let P;t[31]!==i||t[32]!==p||t[33]!==A||t[34]!==N||t[35]!==f?(P=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:f,size:p,disabled:i,className:A,"aria-label":`New chat options`,children:N})}),t[31]=i,t[32]=p,t[33]=A,t[34]=N,t[35]=f,t[36]=P):P=t[36];let F;t[37]===m?F=t[38]:(F=()=>m(`chat`),t[37]=m,t[38]=F);let I;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(dt,{}),t[39]=I):I=t[39];let L;t[40]===F?L=t[41]:(L=(0,$.jsxs)(xl,{onSelect:F,children:[I,`New Chat Window`]}),t[40]=F,t[41]=L);let R=!n,z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(M,{}),t[42]=z):z=t[42];let B;t[43]!==y||t[44]!==R?(B=(0,$.jsxs)(xl,{disabled:R,onSelect:y,children:[z,`New Workspace`]}),t[43]=y,t[44]=R,t[45]=B):B=t[45];let V;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Tl,{}),t[46]=V):V=t[46];let H;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(Be,{}),t[47]=H):H=t[47];let ee;t[48]===_?ee=t[49]:(ee=(0,$.jsxs)(xl,{onSelect:_,children:[H,`Clear Chat`]}),t[48]=_,t[49]=ee);let te;t[50]!==L||t[51]!==B||t[52]!==ee?(te=(0,$.jsxs)(bl,{align:`start`,className:`min-w-44`,children:[L,B,V,ee]}),t[50]=L,t[51]=B,t[52]=ee,t[53]=te):te=t[53];let ne;t[54]!==P||t[55]!==te?(ne=(0,$.jsxs)(hl,{children:[P,te]}),t[54]=P,t[55]=te,t[56]=ne):ne=t[56];let re;return t[57]!==D||t[58]!==ne||t[59]!==b?(re=(0,$.jsxs)(`div`,{className:b,children:[D,ne]}),t[57]=D,t[58]=ne,t[59]=b,t[60]=re):re=t[60],re}var gw=(0,Z.createContext)(null);function _w({children:e}){let[t,n]=(0,Z.useState)(null),[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(`idle`),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=(0,Z.useRef)(!1);function v(e){n(t=>{let n=typeof e==`function`?e(t):e;return n&&(i(n),f(!1)),n})}let y=(0,Z.useCallback)(e=>new Promise(t=>{g({...e,resolve:t})}),[]),b=(0,Z.useCallback)(()=>{g(null)},[]),x=a===`running`,S=a===`starting`||a===`stopping`;function C(e){o(t=>(typeof e==`function`?e(x):e)?`running`:t===`running`||t===`starting`?`idle`:t)}function w(e){o(t=>(typeof e==`function`?e(S):e)?t===`stopping`?`stopping`:`starting`:t===`starting`?l?`running`:t:t===`stopping`?`idle`:t)}let T=(0,Z.useMemo)(()=>({devServerUrl:t,setDevServerUrl:v,lastDevServerUrl:r,devServerState:a,setDevServerState:o,devServerFailureReason:s,setDevServerFailureReason:c,devServerProcessAlive:l,setDevServerProcessAlive:u,devServerStopped:d,setDevServerStopped:f,devServerProjectId:p,setDevServerProjectId:m,devServerStopRequestedRef:_,portConflictPrompt:h,requestPortConflictConfirmation:y,clearPortConflictPrompt:b,devServerRunning:x,devServerLoading:S,setDevServerRunning:C,setDevServerLoading:w}),[t,r,a,s,l,d,p,h,y,b,x,S]);return(0,$.jsx)(gw.Provider,{value:T,children:e})}function vw(){let e=(0,Z.useContext)(gw);if(!e)throw Error(`useDevServer must be used within a DevServerProvider`);return e}async function yw(e){if(e.useBuiltInBrowser){e.onTerminalMessage?.(`✓ Server running at: ${e.url}`),e.setDevServerUrl(e.url),e.openBrowserPanel();return}e.onTerminalMessage?.(`✓ Server running at: ${e.url} (opened in your browser)`),await e.openExternalUrl(e.url)}function bw(e){return typeof e==`object`&&!!e&&e.type===`url`&&typeof e.url==`string`}var xw=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(`textarea`,{className:a,ref:t,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});xw.displayName=`Textarea`;var Sw=Ut(`app.commands-dialog.ui`),Cw=`Play.Square.RotateCcw.Terminal.Bug.TestTube.FlaskConical.Wrench.Hammer.Zap.Search.FileCode.Code2.History.Settings.Activity.Cpu.Server.Database.Package.Box.GitBranch.Layers.ExternalLink.Eye.Shield.Flag.Star.Monitor.Smartphone`.split(`.`);function ww({open:e,onOpenChange:t,projectId:n,commands:r,onRefresh:i,initialCommand:a}){let[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)([]),[m,h]=(0,Z.useState)(0),[g,_]=(0,Z.useState)(!1),v=(0,Z.useRef)(null),y=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{!e||!a||(s({id:je(),icon:`Play`,...a}),d(!1),p([]))},[a,e]);let b=()=>{s({id:je(),name:``,icon:`Play`,commandLine:``}),d(!1),p([])},x=e=>{s({...e}),d(!1),p([])},S=async()=>{try{_(!0);let e=await Ga(n);p(e.scripts),h(0),d(e.scripts.length>0)}catch(e){Sw.error(`Failed to load package scripts:`,e),ac({title:`Error`,description:`Failed to load package scripts`,variant:`destructive`})}finally{_(!1)}},C=e=>{s(t=>t?{...t,name:e.name,commandLine:e.commandLine,relativeFolder:e.relativePath||``}:null),d(!1),p([]),v.current?.focus()},w=e=>{u&&(e.key===`ArrowDown`?(e.preventDefault(),h(e=>e<f.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),h(e=>e>0?e-1:0)):e.key===`Enter`?(e.preventDefault(),m<f.length&&C(f[m])):e.key===`Escape`&&(e.preventDefault(),d(!1),p([])))};(0,Z.useEffect)(()=>{let e=e=>{y.current&&!y.current.contains(e.target)&&(d(!1),p([]))};return u&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[u]);let T=async e=>{try{await os(n,e),ac({title:`Success`,description:`Command deleted`}),i()}catch{ac({title:`Error`,description:`Failed to delete command`,variant:`destructive`})}};return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`sm:max-w-[500px]`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Project Commands`}),(0,$.jsx)(_i,{children:`Manage custom commands for this project.`})]}),(0,$.jsx)(`div`,{className:`py-4 flex flex-col gap-4`,children:o?(0,$.jsxs)(`div`,{className:`p-4 border rounded-lg bg-muted/30 flex flex-col gap-4 animate-in slide-in-from-top-2`,children:[(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`name`,children:`Command Name`}),(0,$.jsx)(Qo,{id:`name`,value:o.name,onChange:e=>s({...o,name:e.target.value}),placeholder:`e.g. Run Tests`,autoComplete:`off`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 relative`,children:[(0,$.jsx)(da,{htmlFor:`commandLine`,children:`Command Line`}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(xw,{ref:v,id:`commandLine`,value:o.commandLine,onChange:e=>s({...o,commandLine:e.target.value}),onKeyDown:w,placeholder:`e.g. npm test`,className:`font-mono text-base min-h-[100px] resize-none pr-10`}),(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-2 top-2 h-6 w-6 text-muted-foreground transition-colors`,onClick:()=>void S(),disabled:g,children:(0,$.jsx)(tn,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:(0,$.jsx)(`p`,{children:`Discover package scripts`})})]})})]}),u&&(0,$.jsx)(`div`,{ref:y,className:`absolute bottom-full left-0 right-0 mb-2 max-h-60 overflow-y-auto rounded-lg border border-border bg-popover shadow-lg z-50`,children:(0,$.jsxs)(`div`,{className:`p-2`,children:[(0,$.jsxs)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),children:[(0,$.jsx)(tn,{className:`h-3 w-3`}),`Available Scripts `,g&&`(loading...)`]}),f.length>0?(()=>{let e={};f.forEach(t=>{e[t.relativePath]||(e[t.relativePath]=[]),e[t.relativePath].push(t)});let t=Object.keys(e).sort(),n=0;return t.map(t=>{let r=e[t].sort((e,t)=>e.name.localeCompare(t.name));return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-3 py-1.5 text-muted-foreground/70 bg-muted/30`),children:t}),r.map(e=>{let t=n===m;return n++,(0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg mx-1 px-3 py-2 text-left transition-colors`,t?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>C(e),onMouseEnter:()=>h(n-1),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:G(U.caption,`font-mono`),children:e.commandLine})]},e.commandLine)})]},t)})})():(0,$.jsx)(`div`,{className:G(U.caption,`px-3 py-4 text-center`),children:g?`Loading scripts...`:`No package scripts found`})]})})]}),(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`relativeFolder`,children:`Relative Folder`}),(0,$.jsx)(Qo,{id:`relativeFolder`,value:o.relativeFolder??``,onChange:e=>s({...o,relativeFolder:e.target.value}),placeholder:`e.g. frontend, packages/api (optional)`,autoComplete:`off`}),(0,$.jsx)(`p`,{className:U.bodyMuted,children:`Folder path relative to project root where the command will be executed. Leave empty to run from project root.`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{children:`Icon`}),(0,$.jsx)(Zo,{children:(0,$.jsx)(`div`,{className:`grid grid-cols-10 gap-1 p-2 bg-background rounded-md border border-border`,children:Cw.map(e=>{let t=Wt[e]||ut;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:o.icon===e?`default`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>s({...o,icon:e}),children:(0,$.jsx)(t,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:e})]},e)})})})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 mt-2`,children:[(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,onClick:()=>s(null),children:[(0,$.jsx)(nt,{className:`h-4 w-4 mr-2`}),` Cancel`]}),(0,$.jsx)(Hr,{size:`sm`,onClick:async()=>{if(!o?.name||!o?.commandLine){ac({title:`Error`,description:`Name and Command Line are required`,variant:`destructive`});return}try{l(!0),await ka(n,o),ac({title:`Success`,description:`Command saved`}),s(null),i()}catch{ac({title:`Error`,description:`Failed to save command`,variant:`destructive`})}finally{l(!1)}},disabled:c,children:c?`Saving...`:`Save`})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 max-h-[400px] overflow-y-auto pr-2`,children:[r.length===0&&(0,$.jsx)(`div`,{className:`text-center py-8 text-muted-foreground border-2 border-dashed rounded-lg`,children:`No commands defined yet.`}),r.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-md border border-border bg-card hover:bg-muted/50 cursor-pointer group transition-colors`,onClick:()=>x(e),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`p-2 bg-muted rounded`,children:(0,$.jsx)(Wt[e.icon]||Ae,{className:`h-4 w-4`})}),(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[(0,$.jsx)(`span`,{className:U.label,children:e.name}),(0,$.jsx)(`span`,{className:G(U.caption,`line-clamp-1 font-mono select-text`),children:e.commandLine})]})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive hover:text-destructive-foreground transition-colors`,onClick:t=>{t.stopPropagation(),T(e.id)},children:(0,$.jsx)(He,{className:`h-4 w-4`})})})]},e.id))]}),(0,$.jsxs)(Hr,{variant:`outline`,className:`w-full border-dashed`,onClick:b,children:[(0,$.jsx)(Se,{className:`h-4 w-4 mr-2`}),` Add New Command`]})]})})]})})}function Tw(e){let t=e.match(/^cd\s+(.+?)\s+&&\s+(.+)$/);return t?{relativeFolder:t[1],commandLine:t[2]}:{commandLine:e}}function Ew(e){let t=(0,Q.c)(10),{script:n,onPinClick:r}=e,i=`Add ${n.friendlyName} as a project command`,a;t[0]!==r||t[1]!==n?(a=e=>{e.stopPropagation(),r(n)},t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(ie,{className:`h-3.5 w-3.5`}),t[3]=o):o=t[3];let s;t[4]!==i||t[5]!==a?(s=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`ml-auto h-6 w-6 shrink-0 opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100`,"aria-label":i,"data-script-pin":!0,onClick:a,children:o})}),t[4]=i,t[5]=a,t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Fr,{children:`Add as project command`}),t[7]=c):c=t[7];let l;return t[8]===s?l=t[9]:(l=(0,$.jsxs)(Mi,{children:[s,c]}),t[8]=s,t[9]=l),l}function Dw({workspaceEntries:e,hasMultipleWorkspaces:t,runningScripts:n,onScriptClick:r,onPinClick:i}){return t?e.map(([e,t])=>(0,$.jsxs)(_l,{children:[(0,$.jsx)(vl,{children:e}),(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] overflow-y-auto`,children:t.map(e=>(0,$.jsxs)(xl,{onClick:()=>{r(e)},className:`group gap-2`,children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.friendlyName}),(0,$.jsx)(Ew,{script:e,onPinClick:i})]},e.name))})]},e)):e[0]?.[1].map(e=>(0,$.jsxs)(xl,{onClick:()=>{r(e)},className:`group gap-2`,children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.friendlyName}),(0,$.jsx)(Ew,{script:e,onPinClick:i})]},e.name))}function Ow({workspaceEntries:e,hasMultipleWorkspaces:t,runningScripts:n,onScriptClick:r,onPinClick:i}){return t?e.map(([e,t])=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:e}),t.map(e=>(0,$.jsxs)(`div`,{className:`group flex items-center rounded-sm hover:bg-accent`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-sm`,onClick:()=>{r(e)},children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.friendlyName})]}),(0,$.jsx)(Ew,{script:e,onPinClick:i})]},e.name))]},e)):e[0]?.[1].map(e=>(0,$.jsxs)(`div`,{className:`group flex items-center rounded-sm hover:bg-accent`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-sm`,onClick:()=>{r(e)},children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.friendlyName})]}),(0,$.jsx)(Ew,{script:e,onPinClick:i})]},e.name))}function kw({threadId:e,layout:t=`bar`}){let n=Ks(),r=X(e=>e.projects).find(t=>t.threads.some(t=>t.threadId===e)),{openChatDockPanel:i}=Wd(),{setDevServerUrl:a}=vw(),o=gC(),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(new Set),[d,f]=(0,Z.useState)(null),p=(0,Z.useRef)(new Map);(0,Z.useEffect)(()=>((async()=>{try{let t=await Ea(e);if(t.length===0){c(null);return}c(t),u(new Set(t.filter(e=>e.isRunning).map(e=>e.name)))}catch{c(null)}})(),()=>{for(let e of p.current.values())e.abort();p.current.clear()}),[e]);function m(t){if(typeof t==`string`){n({type:Y.AppendTerminalLine,threadId:e,line:{type:`output`,content:t}});return}if(!(!t||typeof t!=`object`)){if(bw(t)){yw({url:t.url,useBuiltInBrowser:r?.useBuiltInBrowser!==!1,setDevServerUrl:a,openBrowserPanel:()=>{i(`browser`)},openExternalUrl:ui,onTerminalMessage:t=>{n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:t}})}});return}`type`in t&&t.type===`error`&&`message`in t&&n({type:Y.AppendTerminalLine,threadId:e,line:{type:`error`,content:String(t.message)}})}}let h=async t=>{if(l.has(t.name)){let r=p.current.get(t.name);r&&(r.abort(),p.current.delete(t.name));try{await oo(e,t.name)}catch{}n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`■ ${t.friendlyName} stopped`}}),u(e=>{let n=new Set(e);return n.delete(t.name),n})}else{let r=new AbortController;p.current.set(t.name,r),u(e=>new Set([...e,t.name])),i(`terminal`),n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`▶ ${t.friendlyName}`}});try{let i=await Tr(e,t.name,t.command,{signal:r.signal});i&&await Fc(i,e=>{m(e)}),n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`✓ ${t.friendlyName} done`}})}catch{}finally{p.current.delete(t.name),u(e=>{let n=new Set(e);return n.delete(t.name),n})}}};if(!s)return null;let g=s.reduce((e,t)=>(e[t.workspace]||(e[t.workspace]=[]),e[t.workspace].push(t),e),{}),_=Object.entries(g).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,[...t].sort((e,t)=>e.friendlyName.localeCompare(t.friendlyName))]),v=_.length>1;function y(e){h(e)}function b(e){f(e)}function x(e){e||f(null)}function S(){f(null),n({type:Y.ConfigUpdated})}return t===`menu`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zo,{children:(0,$.jsxs)(Np,{children:[(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`w-full justify-start gap-2`,children:[(0,$.jsx)(ge,{className:`h-4 w-4 shrink-0`}),`Project Scripts`]})}),(0,$.jsx)(Fp,{align:`start`,className:`w-56 p-1`,children:(0,$.jsx)(Ow,{workspaceEntries:_,hasMultipleWorkspaces:v,runningScripts:l,onScriptClick:y,onPinClick:b})})]})}),r&&(0,$.jsx)(ww,{open:d!==null,onOpenChange:x,projectId:r.projectId,commands:r.commands??[],onRefresh:S,initialCommand:d?{name:d.friendlyName,...Tw(d.command)}:void 0})]}):(0,$.jsxs)(hl,{children:[(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-md`,className:o?nl:void 0,children:(0,$.jsx)(ge,{})})})}),(0,$.jsx)(Fr,{children:`Project Scripts`})]})}),(0,$.jsx)(bl,{align:`end`,className:`min-w-[180px]`,children:(0,$.jsx)(Dw,{workspaceEntries:_,hasMultipleWorkspaces:v,runningScripts:l,onScriptClick:y,onPinClick:b})}),r&&(0,$.jsx)(ww,{open:d!==null,onOpenChange:x,projectId:r.projectId,commands:r.commands??[],onRefresh:S,initialCommand:d?{name:d.friendlyName,...Tw(d.command)}:void 0})]})}function Aw({layout:e=`bar`,threadId:t}){let n=X(e=>e.selectedProjectId),r=X(e=>e.selectedThreadId),i=X(e=>e.projects),a=Ks(),{openChatDockPanel:o}=Wd(),{setDevServerUrl:s}=vw(),c=gC(),[l,u]=(0,Z.useState)(new Set),d=(0,Z.useRef)(new Map),f=t??r,p=i.find(e=>e.projectId===n),m=p?.commands??[];(0,Z.useEffect)(()=>()=>{let e=d.current;for(let t of e.values())t.abort();e.clear()},[f]);function h(e){if(f){if(typeof e==`string`){a({type:Y.AppendTerminalLine,threadId:f,line:{type:`output`,content:e}});return}if(!(!e||typeof e!=`object`)){if(bw(e)){yw({url:e.url,useBuiltInBrowser:p?.useBuiltInBrowser!==!1,setDevServerUrl:s,openBrowserPanel:()=>{o(`browser`)},openExternalUrl:ui,onTerminalMessage:e=>{a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:e}})}});return}`type`in e&&e.type===`error`&&`message`in e&&a({type:Y.AppendTerminalLine,threadId:f,line:{type:`error`,content:String(e.message)}})}}}async function g(e){if(!f)return;if(l.has(e.id)){let t=d.current.get(e.id);t&&(t.abort(),d.current.delete(e.id));try{await oo(f,e.id)}catch{}a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`■ ${e.name} stopped`}}),u(t=>{let n=new Set(t);return n.delete(e.id),n});return}let t=new AbortController;d.current.set(e.id,t),u(t=>new Set([...t,e.id])),o(`terminal`),a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`▶ ${e.name}`}});try{let n=await Tr(f,e.id,e.commandLine,{signal:t.signal,relativeFolder:e.relativeFolder});n&&await Fc(n,e=>{h(e)}),t.signal.aborted||a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`✓ ${e.name} done`}})}catch{}finally{d.current.delete(e.id),u(t=>{let n=new Set(t);return n.delete(e.id),n})}}return!n||m.length===0?null:e===`menu`?(0,$.jsx)($.Fragment,{children:m.map(e=>{let t=l.has(e.id),n=Wt[e.icon]||Ae;return(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:G(`w-full justify-start gap-2`,t&&`text-muted-foreground opacity-80`),onClick:()=>g(e),children:[(0,$.jsxs)(`span`,{className:`relative inline-flex items-center justify-center`,children:[t&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-[-8px] rounded-full border-2 border-brand/30 border-t-brand animate-spin`}),(0,$.jsx)(n,{className:G(`h-4 w-4 shrink-0`,t&&`opacity-60`)})]}),e.name]})}),(0,$.jsx)(Fr,{side:`right`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[10px] opacity-70 font-mono whitespace-pre-wrap max-w-[300px] max-h-[100px] overflow-y-auto`,children:e.commandLine}),t&&(0,$.jsx)(`span`,{className:`text-[10px] text-primary font-medium`,children:`Click to stop`})]})})]})},e.id)})}):(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsx)(Zo,{children:m.map(e=>{let t=l.has(e.id),n=Wt[e.icon]||Ae;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-md`,className:G(c&&!t&&`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,t&&`text-muted-foreground opacity-80`),onClick:()=>g(e),children:(0,$.jsxs)(`span`,{className:`relative inline-flex items-center justify-center`,children:[t&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-[-8px] rounded-full border-2 border-brand/30 border-t-brand animate-spin`}),(0,$.jsx)(n,{className:G(t&&`opacity-60`)})]})})}),(0,$.jsx)(Fr,{children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[10px] opacity-70 font-mono whitespace-pre-wrap max-w-[300px] max-h-[100px] overflow-y-auto`,children:e.commandLine}),t&&(0,$.jsx)(`span`,{className:`text-[10px] text-primary font-medium`,children:`Click to stop`})]})})]},e.id)})})})}var jw=Ut(`app.task-agent-run.ui`);async function Mw(e,t){let n=await Ur(t),r=n.model,i=n.modelProvider;if(r&&i)return{model:r,provider:i};try{let t=(await Va(`api/threads?projectId=${encodeURIComponent(e)}`)||[]).map(e=>{let t=e;return{model:t.model??void 0,modelProvider:t.modelProvider??void 0}}).find(e=>e.model&&e.modelProvider);if(t?.model&&t.modelProvider)return{model:t.model,provider:t.modelProvider}}catch(e){jw.error(`Failed to get project threads:`,e)}return null}function Nw(e,t,n,r){e({type:Y.SetProjectModel,threadId:t,model:{id:n,provider:r,name:n,description:``}}),Qa(t,{model:n,modelProvider:r})}async function Pw(e,t,n,r,i,a){i||a(await H_(e,t.id,{status:n,working:!0,threadId:r}))}function Fw(e){return!e.hasChanges&&e.defaultBranchBehind>0}function Iw(e){return e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits}function Lw(e){return e.hasUnpushedCommits&&e.prExists}function Rw(e,t){return t?`Creating PR`:e.hasChanges?`Commit`:Lw(e)?`Update PR`:Iw(e)?`Open PR`:e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?`Create PR`:Fw(e)?`Sync`:`Commit`}function zw(e,t,n=!1){return t||n||e.hasChanges||Lw(e)||Iw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||!e.hasChanges&&!e.hasUnpushedCommits&&!Fw(e)?null:Fw(e)?(0,$.jsx)(gt,{className:`h-3.5 w-3.5`}):(0,$.jsx)(g,{className:`h-3.5 w-3.5`})}function Bw(e){if(e.hasChanges)return e.changedFilesCount>0?`Commit ${e.changedFilesCount} changed file${e.changedFilesCount===1?``:`s`}`:`No changes to commit`;if(Lw(e))return`Update pull request with unpushed commits`;if(Iw(e))return`View pull request in GitHub`;if(e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges)return`Create pull request for committed changes`;if(Fw(e)){let t=e.defaultBranch??`main`,n=`${e.defaultBranchBehind} commit${e.defaultBranchBehind===1?``:`s`} behind origin/${t}`,r=e.defaultBranchAhead>0?`, ${e.defaultBranchAhead} commit${e.defaultBranchAhead===1?``:`s`} ahead`:``;return e.currentBranch===e.defaultBranch?`Your branch is ${n}${r}. Click to pull the latest changes.`:`Your branch "${e.currentBranch}" is ${n}${r}. Click to rebase onto the latest ${t}.`}return`No actions available`}function Vw(e,t,n=!1){return t||n?!0:Iw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||Fw(e)?!1:!e.hasChanges&&!e.hasUnpushedCommits}function Hw(e){return e.hasChanges||Iw(e)||Lw(e)||Fw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges}var Uw=`flex items-center rounded-full frosted-surface text-foreground shadow-md backdrop-blur-sm transition-colors hover:bg-foreground hover:text-background dark:hover:bg-primary dark:hover:text-primary-foreground`,Ww=`flex items-center rounded-full bg-transparent scenic-chrome-button shadow-none backdrop-blur-none`,Gw=`h-10`,Kw=`max-w-[12rem] justify-start gap-1.5 px-3`,qw=`h-3.5 w-3.5 shrink-0 opacity-60`;function Jw(e){let t=(0,Q.c)(104),{branchStatus:n,remoteUrl:r,hasRemoteBranch:i,hasUnpushedCommits:a,canCreateRepo:o,repoUrl:s,isRefreshing:c,isCreatingPR:l,hasChanges:u,commitsAheadOfDefault:d,prExists:f,defaultBranch:p,defaultBranchAhead:m,defaultBranchBehind:h,gitUser:_,isDirectCommitMode:v,autoGenerateCommitMessage:y,isLoading:b,isLoadingHistory:x,isQuickCommitting:S,onFetch:C,onPull:w,onPush:T,onOpenHistory:E,onCreatePR:O,onCreateRepo:k,onViewInGitHub:A,onQuickCommit:j,onSyncWithDefault:M,onOpenChange:N,open:P,layout:F}=e,I=l===void 0?!1:l,L=F===void 0?`bar`:F,R=!!p&&!!r&&h>0,z=!u&&!b,B;t[0]!==I||t[1]!==c?(B=I||c?(0,$.jsx)(ln,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(Yt,{className:`h-4 w-4 shrink-0`}),t[0]=I,t[1]=c,t[2]=B):B=t[2];let H=B,ee;t[3]!==I||t[4]!==b||t[5]!==c||t[6]!==L||t[7]!==H?(ee=(0,$.jsx)(gl,{asChild:!0,children:L===`sidebar`?(0,$.jsx)(Hr,{variant:`ghost`,size:`icon-sm`,className:`shrink-0 text-muted-foreground`,disabled:b||I,"aria-label":`Git Ops`,children:H}):L===`bar`?(0,$.jsx)(`button`,{type:`button`,className:`flex h-full shrink-0 items-center rounded-r-full pr-3 pl-0.5 disabled:opacity-50`,disabled:b||I,"aria-label":`Git Ops`,children:I||c?(0,$.jsx)(ln,{className:G(qw,`animate-spin`)}):(0,$.jsx)(Yt,{className:qw})}):(0,$.jsxs)(Hr,{variant:`outline`,size:`sm`,className:`h-8 w-full justify-start gap-2 rounded-md px-1`,disabled:b||I,children:[(0,$.jsx)(`span`,{children:`Git Ops`}),I||c?(0,$.jsx)(ln,{className:`h-3.5 w-3.5 animate-spin`}):(0,$.jsx)(Yt,{className:`h-3.5 w-3.5`})]})}),t[3]=I,t[4]=b,t[5]=c,t[6]=L,t[7]=H,t[8]=ee):ee=t[8];let te=L===`sidebar`?`start`:`end`,ne;t[9]!==n||t[10]!==r?(ne=n===`Behind`&&(0,$.jsxs)(`div`,{className:G(U.compact,`px-2 py-1 text-amber-600`),children:[`Branch is behind `,r?`origin`:`remote`]}),t[9]=n,t[10]=r,t[11]=ne):ne=t[11];let ie;t[12]===_?ie=t[13]:(ie=_&&(0,$.jsxs)(`div`,{className:G(U.compact,`px-2 py-1 text-muted-foreground`),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:`User:`}),` `,_]}),t[12]=_,t[13]=ie);let ae;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(Tl,{}),t[14]=ae):ae=t[14];let oe;t[15]!==z||t[16]!==p||t[17]!==m||t[18]!==h||t[19]!==u||t[20]!==M||t[21]!==R?(oe=R&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:()=>{z&&M()},className:z?``:`opacity-50 cursor-not-allowed`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 mr-2`}),`Sync with `,p,(0,$.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 pl-3 text-xs tabular-nums text-muted-foreground`,children:[m>0&&(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,$.jsx)(V,{className:`h-3 w-3`}),m]}),h>0&&(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,$.jsx)(gt,{className:`h-3 w-3`}),h]})]})]})}),(0,$.jsx)(Fr,{side:`right`,children:u?`Commit or stash changes before syncing with the default branch`:`Pull latest changes from origin/${p} onto your current branch`})]})}),t[15]=z,t[16]=p,t[17]=m,t[18]=h,t[19]=u,t[20]=M,t[21]=R,t[22]=oe):oe=t[22];let se;t[23]!==y||t[24]!==u||t[25]!==b||t[26]!==S||t[27]!==j?(se=u&&y&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:j,disabled:b||S,children:[S?(0,$.jsx)(ln,{className:`h-3.5 w-3.5 mr-2 animate-spin`}):(0,$.jsx)(Ye,{className:`h-3.5 w-3.5 mr-2`}),`Quick Commit`,(0,$.jsx)(El,{children:`⌘⇧C`})]})}),(0,$.jsx)(Fr,{side:`right`,children:`Generate the commit message and commit`})]})}),t[23]=y,t[24]=u,t[25]=b,t[26]=S,t[27]=j,t[28]=se):se=t[28];let ce;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Rt,{className:`h-3.5 w-3.5 mr-2`}),t[29]=ce):ce=t[29];let le;t[30]!==b||t[31]!==C?(le=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:C,disabled:b,children:[ce,`Fetch`]})}),t[30]=b,t[31]=C,t[32]=le):le=t[32];let ue;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(Fr,{side:`right`,children:`Download latest information from remote without merging changes`}),t[33]=ue):ue=t[33];let W;t[34]===le?W=t[35]:(W=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[le,ue]})}),t[34]=le,t[35]=W);let de;t[36]!==i||t[37]!==b||t[38]!==w?(de=()=>{i&&!b&&w()},t[36]=i,t[37]=b,t[38]=w,t[39]=de):de=t[39];let fe=!i||b?`opacity-50 cursor-not-allowed`:``,pe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(gt,{className:`h-3.5 w-3.5 mr-2`}),t[40]=pe):pe=t[40];let me;t[41]!==de||t[42]!==fe?(me=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:de,className:fe,children:[pe,`Pull`]})}),t[41]=de,t[42]=fe,t[43]=me):me=t[43];let he=i?`Pull latest changes from remote`:`No remote branch to pull from`,ge;t[44]===he?ge=t[45]:(ge=(0,$.jsx)(Fr,{side:`right`,children:he}),t[44]=he,t[45]=ge);let _e;t[46]!==me||t[47]!==ge?(_e=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[me,ge]})}),t[46]=me,t[47]=ge,t[48]=_e):_e=t[48];let ve;t[49]!==i||t[50]!==b||t[51]!==T?(ve=!i&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:T,disabled:b,children:[(0,$.jsx)(Pe,{className:`h-3.5 w-3.5 mr-2`}),`Push Branch to Remote`]})}),(0,$.jsx)(Fr,{side:`right`,children:`Create remote branch and push local commits`})]})}),t[49]=i,t[50]=b,t[51]=T,t[52]=ve):ve=t[52];let ye;t[53]!==a||t[54]!==b||t[55]!==T?(ye=()=>{a&&!b&&T()},t[53]=a,t[54]=b,t[55]=T,t[56]=ye):ye=t[56];let be=!a||b?`opacity-50 cursor-not-allowed`:``,xe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Pe,{className:`h-3.5 w-3.5 mr-2`}),t[57]=xe):xe=t[57];let Se;t[58]!==ye||t[59]!==be?(Se=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:ye,className:be,children:[xe,`Push Commits`]})}),t[58]=ye,t[59]=be,t[60]=Se):Se=t[60];let Ce=a?b?`Push in progress...`:`Push your uncommitted commits to the remote branch`:`No commits to push - your branch is up to date with remote`,we;t[61]===Ce?we=t[62]:(we=(0,$.jsx)(Fr,{side:`right`,children:Ce}),t[61]=Ce,t[62]=we);let Te;t[63]!==Se||t[64]!==we?(Te=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[Se,we]})}),t[63]=Se,t[64]=we,t[65]=Te):Te=t[65];let Ee=b||x,De;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,$.jsx)(bt,{className:`h-3.5 w-3.5 mr-2`}),t[66]=De):De=t[66];let Oe;t[67]!==E||t[68]!==Ee?(Oe=(0,$.jsxs)(xl,{onClick:E,disabled:Ee,children:[De,`History`]}),t[67]=E,t[68]=Ee,t[69]=Oe):Oe=t[69];let ke;t[70]!==d||t[71]!==u||t[72]!==v||t[73]!==b||t[74]!==O||t[75]!==f?(ke=!v&&d&&!f&&!u&&(0,$.jsxs)(xl,{onClick:O,disabled:b,children:[(0,$.jsx)(g,{className:`h-3.5 w-3.5 mr-2`}),`Create Pull Request`,(0,$.jsx)(El,{children:`⌘⇧P`})]}),t[70]=d,t[71]=u,t[72]=v,t[73]=b,t[74]=O,t[75]=f,t[76]=ke):ke=t[76];let Ae;t[77]!==o||t[78]!==b||t[79]!==k?(Ae=o&&(0,$.jsxs)(xl,{onClick:k,disabled:b,children:[(0,$.jsx)(re,{className:`h-3.5 w-3.5 mr-2`}),`Create Repo`]}),t[77]=o,t[78]=b,t[79]=k,t[80]=Ae):Ae=t[80];let je;t[81]!==b||t[82]!==A||t[83]!==s?(je=s&&(0,$.jsxs)(xl,{onClick:A,disabled:b,children:[(0,$.jsx)(pt,{className:`h-3.5 w-3.5 mr-2`}),`View in GitHub`,(0,$.jsx)(El,{children:`⌘⇧G`})]}),t[81]=b,t[82]=A,t[83]=s,t[84]=je):je=t[84];let Me;t[85]!==se||t[86]!==W||t[87]!==_e||t[88]!==ve||t[89]!==Te||t[90]!==Oe||t[91]!==ke||t[92]!==Ae||t[93]!==je||t[94]!==te||t[95]!==ne||t[96]!==ie||t[97]!==oe?(Me=(0,$.jsxs)(bl,{align:te,children:[ne,ie,ae,oe,se,W,_e,ve,Te,Oe,ke,Ae,je]}),t[85]=se,t[86]=W,t[87]=_e,t[88]=ve,t[89]=Te,t[90]=Oe,t[91]=ke,t[92]=Ae,t[93]=je,t[94]=te,t[95]=ne,t[96]=ie,t[97]=oe,t[98]=Me):Me=t[98];let Ne;return t[99]!==N||t[100]!==P||t[101]!==Me||t[102]!==ee?(Ne=(0,$.jsxs)(hl,{open:P,onOpenChange:N,children:[ee,Me]}),t[99]=N,t[100]=P,t[101]=Me,t[102]=ee,t[103]=Ne):Ne=t[103],Ne}var Yw=(0,Z.lazy)(()=>us(()=>import(`./commit-dialog-BfdxNX_T.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([3,4,1,5]))),Xw=(0,Z.lazy)(()=>us(()=>import(`./pull-request-dialog-CitbRcub.js`).then(e=>({default:e.PullRequestDialog})),__vite__mapDeps([6,4,1,5]))),Zw=(0,Z.lazy)(()=>us(()=>import(`./create-repo-dialog-CkFACtMf.js`).then(e=>({default:e.CreateRepoDialog})),__vite__mapDeps([7,4,1,5]))),Qw=(0,Z.lazy)(()=>us(()=>import(`./git-history-dialog-X6sVwgPT.js`).then(e=>({default:e.GitHistoryDialog})),__vite__mapDeps([8,4,1,5]))),$w=(0,Z.lazy)(()=>us(()=>import(`./push-before-pr-dialog-CrcNZDLb.js`).then(e=>({default:e.PushBeforePRDialog})),__vite__mapDeps([9,4,1,5]))),eT=(0,Z.lazy)(()=>us(()=>import(`./pull-with-changes-dialog-CpgHqvKf.js`).then(e=>({default:e.PullWithChangesDialog})),__vite__mapDeps([10,4,1,5]))),tT=(0,Z.lazy)(()=>us(()=>import(`./commit-error-dialog-DrsDKL-B.js`).then(e=>({default:e.CommitErrorDialog})),__vite__mapDeps([11,1,4,5])));function nT(){return null}function rT(e){let t=(0,Q.c)(72),{isLoading:n,currentBranch:r,commitError:i,onDismissCommitError:a,onFixCommitErrorInChat:o,commit:s,pullRequest:c,pushBeforePR:l,createRepo:u,history:d,pullWithChanges:f}=e,p;t[0]!==i||t[1]!==a||t[2]!==o?(p=i&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(tT,{error:i,onDismiss:a,onFixInChat:o})}),t[0]=i,t[1]=a,t[2]=o,t[3]=p):p=t[3];let m;t[4]!==s.autoGenerate||t[5]!==s.isGenerating||t[6]!==s.isOpen||t[7]!==s.message||t[8]!==s.onAutoGenerateChange||t[9]!==s.onCommit||t[10]!==s.onGenerateMessage||t[11]!==s.onMessageChange||t[12]!==s.onOpenChange||t[13]!==r||t[14]!==n?(m=s.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(Yw,{open:s.isOpen,onOpenChange:s.onOpenChange,commitMessage:s.message,onCommitMessageChange:s.onMessageChange,autoGenerateCommitMessage:s.autoGenerate,onAutoGenerateChange:s.onAutoGenerateChange,isGeneratingMessage:s.isGenerating,isLoading:n,onGenerateMessage:s.onGenerateMessage,onCommit:s.onCommit,currentBranch:r})}),t[4]=s.autoGenerate,t[5]=s.isGenerating,t[6]=s.isOpen,t[7]=s.message,t[8]=s.onAutoGenerateChange,t[9]=s.onCommit,t[10]=s.onGenerateMessage,t[11]=s.onMessageChange,t[12]=s.onOpenChange,t[13]=r,t[14]=n,t[15]=m):m=t[15];let h;t[16]!==r||t[17]!==n||t[18]!==c.autoGenerate||t[19]!==c.createBranchAfterPR||t[20]!==c.description||t[21]!==c.isGeneratingInfo||t[22]!==c.isOpen||t[23]!==c.onAutoGenerateChange||t[24]!==c.onCreateBranchAfterPRChange||t[25]!==c.onCreatePR||t[26]!==c.onDescriptionChange||t[27]!==c.onGenerateInfo||t[28]!==c.onOpenChange||t[29]!==c.onTitleChange||t[30]!==c.title?(h=c.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(Xw,{open:c.isOpen,onOpenChange:c.onOpenChange,prTitle:c.title,onPrTitleChange:c.onTitleChange,prDescription:c.description,onPrDescriptionChange:c.onDescriptionChange,isGeneratingPRInfo:c.isGeneratingInfo,isLoading:n,onGeneratePRInfo:c.onGenerateInfo,onCreatePR:c.onCreatePR,currentBranch:r,autoGeneratePRInfo:c.autoGenerate,onAutoGeneratePRInfoChange:c.onAutoGenerateChange,createBranchAfterPR:c.createBranchAfterPR,onCreateBranchAfterPRChange:c.onCreateBranchAfterPRChange})}),t[16]=r,t[17]=n,t[18]=c.autoGenerate,t[19]=c.createBranchAfterPR,t[20]=c.description,t[21]=c.isGeneratingInfo,t[22]=c.isOpen,t[23]=c.onAutoGenerateChange,t[24]=c.onCreateBranchAfterPRChange,t[25]=c.onCreatePR,t[26]=c.onDescriptionChange,t[27]=c.onGenerateInfo,t[28]=c.onOpenChange,t[29]=c.onTitleChange,t[30]=c.title,t[31]=h):h=t[31];let g;t[32]!==n||t[33]!==l.isOpen||t[34]!==l.onCancel||t[35]!==l.onOpenChange||t[36]!==l.onPushAndCreatePR?(g=l.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)($w,{open:l.isOpen,onOpenChange:l.onOpenChange,isLoading:n,onPushAndCreatePR:l.onPushAndCreatePR,onCancel:l.onCancel})}),t[32]=n,t[33]=l.isOpen,t[34]=l.onCancel,t[35]=l.onOpenChange,t[36]=l.onPushAndCreatePR,t[37]=g):g=t[37];let _;t[38]!==u.description||t[39]!==u.isOpen||t[40]!==u.isPrivate||t[41]!==u.name||t[42]!==u.onCreateRepo||t[43]!==u.onDescriptionChange||t[44]!==u.onNameChange||t[45]!==u.onOpenChange||t[46]!==u.onPrivateChange||t[47]!==n?(_=u.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(Zw,{open:u.isOpen,onOpenChange:u.onOpenChange,repoName:u.name,onRepoNameChange:u.onNameChange,repoDescription:u.description,onRepoDescriptionChange:u.onDescriptionChange,isPrivateRepo:u.isPrivate,onPrivateRepoChange:u.onPrivateChange,isLoading:n,onCreateRepo:u.onCreateRepo})}),t[38]=u.description,t[39]=u.isOpen,t[40]=u.isPrivate,t[41]=u.name,t[42]=u.onCreateRepo,t[43]=u.onDescriptionChange,t[44]=u.onNameChange,t[45]=u.onOpenChange,t[46]=u.onPrivateChange,t[47]=n,t[48]=_):_=t[48];let v;t[49]!==r||t[50]!==d.commits||t[51]!==d.displayedCommits||t[52]!==d.isLoadingMore||t[53]!==d.isOpen||t[54]!==d.onOpenChange||t[55]!==d.onScroll?(v=d.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(Qw,{open:d.isOpen,onOpenChange:d.onOpenChange,commits:d.commits,displayedCommits:d.displayedCommits,isLoadingMore:d.isLoadingMore,onScroll:d.onScroll,currentBranch:r})}),t[49]=r,t[50]=d.commits,t[51]=d.displayedCommits,t[52]=d.isLoadingMore,t[53]=d.isOpen,t[54]=d.onOpenChange,t[55]=d.onScroll,t[56]=v):v=t[56];let y;t[57]!==n||t[58]!==f.isOpen||t[59]!==f.onCancel||t[60]!==f.onCommitFirst||t[61]!==f.onOpenChange||t[62]!==f.onStashAndPull?(y=f.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(nT,{}),children:(0,$.jsx)(eT,{open:f.isOpen,onOpenChange:f.onOpenChange,onCommitFirst:f.onCommitFirst,onStashAndPull:f.onStashAndPull,onCancel:f.onCancel,isLoading:n})}),t[57]=n,t[58]=f.isOpen,t[59]=f.onCancel,t[60]=f.onCommitFirst,t[61]=f.onOpenChange,t[62]=f.onStashAndPull,t[63]=y):y=t[63];let b;return t[64]!==p||t[65]!==m||t[66]!==h||t[67]!==g||t[68]!==_||t[69]!==v||t[70]!==y?(b=(0,$.jsxs)($.Fragment,{children:[p,m,h,g,_,v,y]}),t[64]=p,t[65]=m,t[66]=h,t[67]=g,t[68]=_,t[69]=v,t[70]=y,t[71]=b):b=t[71],b}function iT(e){let t=e.split(`/`);return t.length>=2?{provider:t[0],model:t.slice(1).join(`/`)}:{provider:void 0,model:e}}var aT=Ut(`app.use-ai-generation.hook`);function oT(e,t,n){let[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(!1),s=()=>n?.id?n.provider?{provider:n.provider,model:n.id}:iT(n.id):{provider:void 0,model:void 0};return{isGeneratingMessage:r,isGeneratingPRInfo:a,generateCommitMessageWithAI:(0,Z.useCallback)(async()=>{if(!e)return null;try{i(!0);let{provider:t,model:n}=s();return await Co(e,n,t)}catch(e){return aT.error(`Failed to generate commit message:`,e),ac({title:`Error`,description:e instanceof Error?e.message:`Failed to generate commit message`,variant:`destructive`}),null}finally{i(!1)}},[e,n]),generatePRInfoWithAI:(0,Z.useCallback)(async()=>{if(!e)return null;try{o(!0);let{provider:t,model:n}=s();return await ri(e,n,t)}catch(e){return aT.error(`Failed to generate PR info:`,e),ac({title:`Error`,description:e instanceof Error?e.message:`Failed to generate PR info`,variant:`destructive`}),null}finally{o(!1)}},[e,n])}}function sT(){return{autoGenerateCommitMessage:Di(),autoGeneratePRInfo:ss(),createBranchAfterPR:Xr(),privateRepositoryDefault:$i(),newChatOnNewBranch:ni()}}function cT(e){e.autoGenerateCommitMessage!==void 0&&go(e.autoGenerateCommitMessage),e.autoGeneratePRInfo!==void 0&&Mo(e.autoGeneratePRInfo),e.createBranchAfterPR!==void 0&&Bo(e.createBranchAfterPR),e.privateRepositoryDefault!==void 0&&oa(e.privateRepositoryDefault),e.newChatOnNewBranch!==void 0&&co(e.newChatOnNewBranch)}function lT(e){return e?!0:(ac({title:`Error`,description:`No thread selected`,variant:`destructive`}),!1)}async function uT(e,t,n,r){r&&(await Qa(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r}))}var dT=2e3,fT=6;function pT(e,t){let n=0;e.current!==null&&clearInterval(e.current),e.current=setInterval(async()=>{if(n++,n>=fT){e.current!==null&&(clearInterval(e.current),e.current=null);return}await t(!0)},dT)}var mT=new Set;function hT(e){return mT.add(e),function(){mT.delete(e)}}function gT(){for(let e of mT)e()}var _T=Ut(`app.git-ops-button.ui`),vT=10;function yT(e){let{projectId:t,threadId:n,projectName:r,dispatch:i,aiGeneration:a,unifiedGitStatus:o}=e,[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(null),T=(0,Z.useRef)(!1),E=(0,Z.useRef)(!1),D=(0,Z.useRef)(_),O=(0,Z.useRef)(y);D.current=_,O.current=y;let[k,A]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)([]),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)([]),[L,R]=(0,Z.useState)(!1),[z,B]=(0,Z.useState)(!1),[V,H]=(0,Z.useState)(``),[ee,te]=(0,Z.useState)(``),[ne,re]=(0,Z.useState)(``),[ie,ae]=(0,Z.useState)(!1),[oe,se]=(0,Z.useState)(!1),[U,ce]=(0,Z.useState)(!1),[le,ue]=(0,Z.useState)(null),[W,de]=(0,Z.useState)(!1),[fe,pe]=(0,Z.useState)(null),me=(0,Z.useRef)(!1),he=(0,Z.useRef)(null);(0,Z.useEffect)(()=>()=>{he.current!==null&&(clearInterval(he.current),he.current=null)},[]);async function ge(){Si();let e=await lo();i({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}async function _e(e){if(ve.createBranchAfterPR)try{let t=await Po(n,e);e&&pe(e),ac({title:`New branch created`,description:e?`Created new branch "${t.branchName}" from PR branch "${e}"`:`Created new branch "${t.branchName}" from the latest default branch`}),await o.fetchUnifiedStatus(!0),ge()}catch(e){_T.error(`Failed to create new branch after PR:`,e),ac({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}}let[ve,ye]=(0,Z.useState)(()=>sT());(0,Z.useEffect)(()=>{z&&r&&!V&&H(r)},[z,r,V]),(0,Z.useEffect)(()=>{cT(ve)},[ve]);function be(){ie||(ae(!0),Ti().then(e=>re(e)).catch(()=>{}))}function xe(e){de(e),e&&(be(),o.fetchUnifiedStatus(!0))}(0,Z.useEffect)(()=>{l&&o.prExists&&o.prState===`OPEN`&&u(!1)},[o.prExists,o.prState,l]),(0,Z.useEffect)(()=>{if(!l)return;let e=setTimeout(()=>{u(!1)},15e3);return()=>clearTimeout(e)},[l]),(0,Z.useEffect)(()=>{let e=o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits;e&&!me.current&&ge(),me.current=e},[o.hasChanges,o.hasUnpushedCommits,o.prExists,o.prState]);async function Se(){if(h.trim()&&lT(n))try{c(!0),await Oa(n,h),g(``),f(!1),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Changes committed successfully`,description:`Your changes have been committed to '${o.currentBranch}'.`}),U&&(ce(!1),await je())}catch(e){_T.error(`Failed to commit:`,e),ue({title:`Commit failed`,message:e instanceof Error?e.message:`Failed to commit changes`})}finally{c(!1)}}function Ce(){ue(null)}async function we(){if(!lT(n))return;let e=o.prUrl;if(!e)try{e=(await wi(n)).url}catch(e){_T.error(`Failed to fetch pull request URL:`,e),ac({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to fetch pull request URL`,variant:`destructive`});return}if(!e){ac({title:`Could not open pull request`,description:`Pull request URL is unavailable. Try refreshing git status.`,variant:`destructive`});return}try{await ui(e)}catch(e){_T.error(`Failed to open pull request:`,e),ac({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to open URL in browser`,variant:`destructive`})}}async function Te(){if(o.hasChanges){f(!0);return}if(o.hasUnpushedCommits&&o.prExists){let e=o.prState;try{e=(await wi(n)).state??e}catch(e){_T.warn(`Could not refresh pull request state before update:`,e)}if(e===`MERGED`){gT();return}await ke();return}if(o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits){await we();return}if(o.commitsAheadOfDefault&&!o.prExists&&!o.hasChanges){m(!0);return}if(o.defaultBranchBehind>0){await Pe();return}}async function Ee(){let e=await a.generateCommitMessageWithAI();e&&g(e)}async function De(){if(lT(n))try{c(!0);let e=await a.generateCommitMessageWithAI();if(!e){ac({title:`Quick Commit failed`,description:`Could not generate commit message`,variant:`destructive`});return}await Oa(n,e),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Changes committed successfully`,description:`Committed: ${e}`})}catch(e){_T.error(`Quick commit failed:`,e),ue({title:`Quick Commit failed`,message:e instanceof Error?e.message:`Failed to commit changes`})}finally{c(!1)}}async function Oe(){if(lT(n))try{c(!0),await To(n),await o.fetchUnifiedStatus()}catch(e){_T.error(`Failed to fetch:`,e)}finally{c(!1)}}async function ke(){if(lT(n))try{c(!0),await ca(n),await o.fetchUnifiedStatus(!0),ge(),o.hasRemoteBranch?ac({title:`Branch pushed successfully`,description:`Your branch '${o.currentBranch}' has been pushed to the remote.`}):ac({title:`Push completed`,description:`Changes have been pushed successfully.`})}catch(e){_T.error(`Failed to push:`,e),ac({title:`Push failed`,description:e instanceof Error?e.message:`Failed to push to remote`,variant:`destructive`})}finally{c(!1)}}async function Ae(){if(lT(n)){if(o.hasChanges){se(!0);return}await je()}}async function je(){try{c(!0),await Ha(n),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Pull successful`,description:`Latest changes have been pulled from remote.`})}catch(e){_T.error(`Failed to pull:`,e),ac({title:`Pull failed`,description:e instanceof Error?e.message:`Failed to pull from remote`,variant:`destructive`})}finally{c(!1)}}function Me(){se(!1),ce(!0),f(!0)}async function Ne(){se(!1),await je()}async function Pe(){if(lT(n))try{c(!0),await Ao(n),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Branch synced successfully`,description:`Your branch '${o.currentBranch}' has been synced with the latest changes`})}catch(e){_T.error(`[sync] ✗ Failed to sync branch:`,e),ac({title:`Sync failed`,description:e instanceof Error?e.message:`Failed to sync with default branch`,variant:`destructive`})}finally{c(!1)}}async function Fe(){if(lT(n))try{c(!0),u(!0);let e=await uo(n,_,y,fe??void 0);await uT(n,t,i,e.title??_),e.prUrl&&await ui(e.prUrl),v(``),b(``),m(!1),await o.fetchUnifiedStatus(!0),ge(),await _e(e.branchName),pT(he,o.fetchUnifiedStatus)}catch(e){_T.error(`Failed to create PR:`,e);let t=e instanceof Error?e.message:`Failed to create PR`;t.includes(`push the current branch`)||t.includes(`--head flag`)?(m(!1),Re({title:_,description:y})):(u(!1),ac({title:`Create PR Failed`,description:t,variant:`destructive`}))}finally{c(!1)}}async function Ie(){if(lT(n))try{c(!0);let e=await si(n,V,ee,ve.privateRepositoryDefault);e.repoUrl&&setTimeout(()=>{ui(e.repoUrl)},3e3),H(``),te(``),B(!1),await o.fetchUnifiedStatus(),ge()}catch(e){_T.error(`Failed to create repo:`,e)}finally{c(!1)}}async function Le(){let e=await a.generatePRInfoWithAI();e&&(v(e.title),b(e.description),ac({title:`Success`,description:`PR title and description generated`}))}async function Re(e){let r=e??C;if(!(!n||!r))try{c(!0),u(!0);try{await ca(n)}catch(e){let t=e?.message??``;if(t.includes(`non-fast-forward`)||t.includes(`Updates were rejected because the tip of your current branch is behind`)){ac({title:`Syncing branch before push`,description:`Your branch is behind remote. Pulling latest changes first...`});try{await Ao(n),await ca(n)}catch{throw e}}else throw e}let e=await uo(n,r.title,r.description,fe??void 0);await uT(n,t,i,e.title??r.title),e.prUrl&&await ui(e.prUrl),v(``),b(``),w(null),S(!1),await o.fetchUnifiedStatus(!0),ge(),await _e(e.branchName),pT(he,o.fetchUnifiedStatus)}catch(e){_T.error(`Failed to push and create PR:`,e);let t=e instanceof Error?e.message:`Failed to push and create PR`;u(!1),ac({title:`Push & Create PR Failed`,description:t,variant:`destructive`})}finally{c(!1)}}async function ze(){if(lT(n))try{P(!0);let e=await Yi(n,100);M(e),I(e.slice(0,vT)),A(!0)}catch(e){_T.error(`Failed to fetch git history:`,e)}finally{P(!1)}}function Be(){L||(R(!0),setTimeout(()=>{let e=F.length+vT;I(j.slice(0,e)),R(!1)},300))}function Ve(e){let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<100&&F.length<j.length&&!L&&Be()}function He(){o.repoUrl&&ui(o.repoUrl)}function Ue(){S(!1),w(null)}return{isLoading:s,isCreatingPR:l,isCommitDialogOpen:d,setIsCommitDialogOpen:f,isPRDialogOpen:p,setIsPRDialogOpen:m,commitMessage:h,setCommitMessage:g,prTitle:_,setPrTitle:v,prDescription:y,setPrDescription:b,isPushBeforePRDialogOpen:x,setIsPushBeforePRDialogOpen:S,prGenerationRef:T,commitGenerationRef:E,prTitleRef:D,prDescriptionRef:O,isHistoryDialogOpen:k,setIsHistoryDialogOpen:A,commits:j,displayedCommits:F,isLoadingHistory:N,isLoadingMore:L,isRepoDialogOpen:z,setIsRepoDialogOpen:B,repoName:V,setRepoName:H,repoDescription:ee,setRepoDescription:te,gitUser:ne,isPullWithChangesDialogOpen:oe,setIsPullWithChangesDialogOpen:se,commitError:le,dismissCommitError:Ce,isGitOpsMenuOpen:W,userPrefs:ve,setUserPrefsState:ye,handleGitOpsMenuOpenChange:xe,handleCommit:Se,handleOpenPullRequest:we,handleMainButtonClick:Te,handleGenerateCommitMessage:Ee,handleQuickCommit:De,handleFetch:Oe,handlePush:ke,handlePull:Ae,handleSyncBranch:Pe,handleCreatePR:Fe,handleCreateRepo:Ie,handleGeneratePRInfo:Le,handlePushAndCreatePR:Re,handleOpenHistory:ze,handleScroll:Ve,handleViewInGitHub:He,handleCancelPushBeforePR:Ue,handleCommitFirstAndPull:Me,handleStashAndPull:Ne}}function bT(e){let t=(0,Q.c)(29),{threadId:n,aiGeneration:r,isCommitDialogOpen:i,commitMessage:a,setCommitMessage:o,autoGenerateCommitMessage:s,commitGenerationRef:c,isPRDialogOpen:l,prTitleRef:u,prDescriptionRef:d,setPrTitle:f,setPrDescription:p,autoGeneratePRInfo:m,prGenerationRef:h}=e,g;t[0]!==r||t[1]!==s||t[2]!==c||t[3]!==a||t[4]!==i||t[5]!==o||t[6]!==n?(g=()=>{if(!i){c.current=!1;return}i&&s&&!a.trim()&&n&&!c.current&&(c.current=!0,(async function(){let e=await r.generateCommitMessageWithAI();e&&o(e)})())},t[0]=r,t[1]=s,t[2]=c,t[3]=a,t[4]=i,t[5]=o,t[6]=n,t[7]=g):g=t[7];let _;t[8]!==r.generateCommitMessageWithAI||t[9]!==s||t[10]!==a||t[11]!==i||t[12]!==n?(_=[i,s,n,r.generateCommitMessageWithAI,a],t[8]=r.generateCommitMessageWithAI,t[9]=s,t[10]=a,t[11]=i,t[12]=n,t[13]=_):_=t[13],(0,Z.useEffect)(g,_);let v;t[14]!==r||t[15]!==m||t[16]!==l||t[17]!==d||t[18]!==h||t[19]!==u||t[20]!==p||t[21]!==f||t[22]!==n?(v=()=>{if(!l){h.current=!1;return}l&&m&&!u.current.trim()&&!d.current.trim()&&n&&!h.current&&(h.current=!0,(async function(){let e=await r.generatePRInfoWithAI();e&&(f(e.title),p(e.description))})())},t[14]=r,t[15]=m,t[16]=l,t[17]=d,t[18]=h,t[19]=u,t[20]=p,t[21]=f,t[22]=n,t[23]=v):v=t[23];let y;t[24]!==r.generatePRInfoWithAI||t[25]!==m||t[26]!==l||t[27]!==n?(y=[l,m,n,r.generatePRInfoWithAI],t[24]=r.generatePRInfoWithAI,t[25]=m,t[26]=l,t[27]=n,t[28]=y):y=t[28],(0,Z.useEffect)(v,y)}function xT(e){let{unifiedGitStatus:t,autoGenerateCommitMessage:n,isLoading:r,isCreatingPR:i,isDirectCommitMode:a,onQuickCommit:o,onCreatePR:s,onViewInGitHub:c,onOpenGitOpsMenu:l}=e,u=(0,Z.useRef)(o),d=(0,Z.useRef)(s),f=(0,Z.useRef)(c),p=(0,Z.useRef)(l);u.current=o,d.current=s,f.current=c,p.current=l,(0,Z.useEffect)(()=>{function e(e){let o=e.key.toLowerCase();if((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey){if(o===`c`){t.hasChanges&&n&&!r&&(e.preventDefault(),u.current());return}if(o===`p`){t.commitsAheadOfDefault&&!t.prExists&&!t.hasChanges&&!r&&!a&&(e.preventDefault(),d.current());return}if(o===`g`){t.repoUrl&&!r&&(e.preventDefault(),f.current());return}o===`b`&&!r&&!i&&(e.preventDefault(),p.current())}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t.commitsAheadOfDefault,t.hasChanges,t.prExists,t.repoUrl,n,r,i,a])}var ST=Ut(`app.git-ops-button`);function CT(e){return[`The git commit in this thread failed with the error below.`,`Diagnose the cause and fix the project so I can retry the commit.`,``,`Git error:`,e.message].join(`
3325
- `)}function wT(e){let t=(0,Q.c)(28),{isBrandState:n,isMainButtonVisuallyDisabled:r,isMainButtonHardDisabled:i,mainButtonDisabled:a,mainButtonText:o,mainButtonIcon:s,tooltip:c,onMainButtonClick:l,dropdown:u}=e,d=n&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,f=n&&r&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`,p=!n&&r&&`cursor-default`,m;t[0]!==d||t[1]!==f||t[2]!==p?(m=G(`min-w-0 w-full justify-start`,d,f,p),t[0]=d,t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=a?void 0:l,g=!n&&r&&`text-muted-foreground opacity-50`,_=n&&`font-medium text-white`,v;t[4]!==g||t[5]!==_?(v=G(`flex min-w-0 flex-1 items-center gap-2`,g,_),t[4]=g,t[5]=_,t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=G(U.body,`truncate`),t[7]=y):y=t[7];let b;t[8]===o?b=t[9]:(b=(0,$.jsx)(`span`,{className:y,children:o}),t[8]=o,t[9]=b);let x;t[10]!==s||t[11]!==v||t[12]!==b?(x=(0,$.jsxs)(`span`,{className:v,children:[s,b]}),t[10]=s,t[11]=v,t[12]=b,t[13]=x):x=t[13];let S;t[14]!==i||t[15]!==a||t[16]!==x||t[17]!==m||t[18]!==h?(S=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(ja,{asChild:!0,className:`min-w-0 flex-1`,children:(0,$.jsx)(`button`,{type:`button`,className:m,disabled:i,"aria-disabled":a,onClick:h,children:x})})}),t[14]=i,t[15]=a,t[16]=x,t[17]=m,t[18]=h,t[19]=S):S=t[19];let C;t[20]===c?C=t[21]:(C=(0,$.jsx)(Fr,{side:`right`,children:c}),t[20]=c,t[21]=C);let w;t[22]!==S||t[23]!==C?(w=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[S,C]})}),t[22]=S,t[23]=C,t[24]=w):w=t[24];let T;return t[25]!==u||t[26]!==w?(T=(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-center`,children:[w,u]}),t[25]=u,t[26]=w,t[27]=T):T=t[27],T}function TT(e){let t=(0,Q.c)(31),{footerPillButtonClass:n,isBrandState:r,isMainButtonVisuallyDisabled:i,isMainButtonHardDisabled:a,mainButtonDisabled:o,mainButtonText:s,mainButtonIcon:c,tooltip:l,onMainButtonClick:u,dropdown:d}=e,f=r&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,p=r&&i&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`,m;t[0]!==n||t[1]!==f||t[2]!==p?(m=G(n,Gw,Kw,`group min-w-0 gap-0 px-0`,f,p),t[0]=n,t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=i&&`cursor-default`,g=r&&`text-white`,_;t[4]!==h||t[5]!==g?(_=G(U.compact,`flex min-w-0 flex-1 items-center gap-1.5 rounded-l-full pl-3 pr-0.5 disabled:opacity-50`,h,g),t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=o?void 0:u,y=r&&`font-medium`,b=!r&&i&&`opacity-50`,x;t[7]!==y||t[8]!==b?(x=G(`inline-flex min-w-0 items-center gap-1.5 truncate`,y,b),t[7]=y,t[8]=b,t[9]=x):x=t[9];let S;t[10]===s?S=t[11]:(S=(0,$.jsx)(`span`,{className:`truncate`,children:s}),t[10]=s,t[11]=S);let C;t[12]!==c||t[13]!==S||t[14]!==x?(C=(0,$.jsxs)(`span`,{className:x,children:[c,S]}),t[12]=c,t[13]=S,t[14]=x,t[15]=C):C=t[15];let w;t[16]!==a||t[17]!==o||t[18]!==C||t[19]!==_||t[20]!==v?(w=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:_,disabled:a,"aria-disabled":o,onClick:v,children:C})}),t[16]=a,t[17]=o,t[18]=C,t[19]=_,t[20]=v,t[21]=w):w=t[21];let T;t[22]===l?T=t[23]:(T=(0,$.jsx)(Fr,{side:`top`,children:l}),t[22]=l,t[23]=T);let E;t[24]!==w||t[25]!==T?(E=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[w,T]})}),t[24]=w,t[25]=T,t[26]=E):E=t[26];let D;return t[27]!==d||t[28]!==E||t[29]!==m?(D=(0,$.jsxs)(`div`,{className:m,children:[E,d]}),t[27]=d,t[28]=E,t[29]=m,t[30]=D):D=t[30],D}function ET(e){let t=(0,Q.c)(26),{isBrandState:n,isMainButtonVisuallyDisabled:r,isMainButtonHardDisabled:i,mainButtonDisabled:a,mainButtonText:o,mainButtonIcon:s,tooltip:c,onMainButtonClick:l,dropdown:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=G(`flex w-full flex-col gap-1 items-stretch [&_button]:w-full [&_button]:justify-start`),t[0]=d):d=t[0];let f=n&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,p=r&&`cursor-default hover:bg-background hover:text-foreground`,m;t[1]!==f||t[2]!==p?(m=G(`h-8 gap-1.5 rounded-md border`,f,p),t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=a?void 0:l,g=n&&`text-white`,_=r&&!n&&`text-muted-foreground opacity-50`,v=r&&n&&`opacity-50`,y;t[4]!==g||t[5]!==_||t[6]!==v?(y=G(`inline-flex items-center gap-1.5`,g,_,v),t[4]=g,t[5]=_,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==s||t[9]!==o||t[10]!==y?(b=(0,$.jsxs)(`span`,{className:y,children:[s,o]}),t[8]=s,t[9]=o,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==i||t[13]!==a||t[14]!==m||t[15]!==h||t[16]!==b?(x=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`outline`,size:`sm`,className:m,disabled:i,"aria-disabled":a,onClick:h,children:b})}),t[12]=i,t[13]=a,t[14]=m,t[15]=h,t[16]=b,t[17]=x):x=t[17];let S;t[18]===c?S=t[19]:(S=(0,$.jsx)(Fr,{children:c}),t[18]=c,t[19]=S);let C;t[20]!==x||t[21]!==S?(C=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[x,S]})}),t[20]=x,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==u||t[24]!==C?(w=(0,$.jsxs)(`div`,{className:d,children:[C,u]}),t[23]=u,t[24]=C,t[25]=w):w=t[25],w}function DT(e){let t=(0,Q.c)(43),{unifiedGitStatus:n,actions:r,isDirectCommitMode:i,aiGeneration:a,layout:o}=e,s=n.defaultBranch??null,c=a.isGeneratingMessage&&r.isLoading,l,u,d,f,p,m;t[0]===r?(l=t[1],u=t[2],d=t[3],f=t[4],p=t[5],m=t[6]):(l=()=>void r.handleFetch(),u=()=>void r.handlePull(),d=()=>void r.handlePush(),f=()=>void r.handleOpenHistory(),p=()=>r.setIsPRDialogOpen(!0),m=()=>r.setIsRepoDialogOpen(!0),t[0]=r,t[1]=l,t[2]=u,t[3]=d,t[4]=f,t[5]=p,t[6]=m);let h,g;t[7]===r?(h=t[8],g=t[9]):(h=()=>void r.handleQuickCommit(),g=()=>void r.handleSyncBranch(),t[7]=r,t[8]=h,t[9]=g);let _;return t[10]!==r.gitUser||t[11]!==r.handleGitOpsMenuOpenChange||t[12]!==r.handleViewInGitHub||t[13]!==r.isCreatingPR||t[14]!==r.isGitOpsMenuOpen||t[15]!==r.isLoading||t[16]!==r.isLoadingHistory||t[17]!==r.userPrefs.autoGenerateCommitMessage||t[18]!==i||t[19]!==o||t[20]!==s||t[21]!==c||t[22]!==l||t[23]!==u||t[24]!==d||t[25]!==f||t[26]!==p||t[27]!==m||t[28]!==h||t[29]!==g||t[30]!==n.canCreateRepo||t[31]!==n.commitsAheadOfDefault||t[32]!==n.defaultBranchAhead||t[33]!==n.defaultBranchBehind||t[34]!==n.hasChanges||t[35]!==n.hasRemoteBranch||t[36]!==n.hasUnpushedCommits||t[37]!==n.isRefreshing||t[38]!==n.prExists||t[39]!==n.remoteUrl||t[40]!==n.repoUrl||t[41]!==n.status?(_=(0,$.jsx)(Jw,{branchStatus:n.status,remoteUrl:n.remoteUrl,hasRemoteBranch:n.hasRemoteBranch,hasUnpushedCommits:n.hasUnpushedCommits,canCreateRepo:n.canCreateRepo,repoUrl:n.repoUrl,isRefreshing:n.isRefreshing,isCreatingPR:r.isCreatingPR,hasChanges:n.hasChanges,commitsAheadOfDefault:n.commitsAheadOfDefault,prExists:n.prExists,defaultBranch:s,defaultBranchAhead:n.defaultBranchAhead,defaultBranchBehind:n.defaultBranchBehind,gitUser:r.gitUser,isDirectCommitMode:i,autoGenerateCommitMessage:r.userPrefs.autoGenerateCommitMessage,isLoading:r.isLoading,isLoadingHistory:r.isLoadingHistory,isQuickCommitting:c,onFetch:l,onPull:u,onPush:d,onOpenHistory:f,onCreatePR:p,onCreateRepo:m,onViewInGitHub:r.handleViewInGitHub,onQuickCommit:h,onSyncWithDefault:g,open:r.isGitOpsMenuOpen,onOpenChange:r.handleGitOpsMenuOpenChange,layout:o}),t[10]=r.gitUser,t[11]=r.handleGitOpsMenuOpenChange,t[12]=r.handleViewInGitHub,t[13]=r.isCreatingPR,t[14]=r.isGitOpsMenuOpen,t[15]=r.isLoading,t[16]=r.isLoadingHistory,t[17]=r.userPrefs.autoGenerateCommitMessage,t[18]=i,t[19]=o,t[20]=s,t[21]=c,t[22]=l,t[23]=u,t[24]=d,t[25]=f,t[26]=p,t[27]=m,t[28]=h,t[29]=g,t[30]=n.canCreateRepo,t[31]=n.commitsAheadOfDefault,t[32]=n.defaultBranchAhead,t[33]=n.defaultBranchBehind,t[34]=n.hasChanges,t[35]=n.hasRemoteBranch,t[36]=n.hasUnpushedCommits,t[37]=n.isRefreshing,t[38]=n.prExists,t[39]=n.remoteUrl,t[40]=n.repoUrl,t[41]=n.status,t[42]=_):_=t[42],_}function OT(e){let t=(0,Q.c)(76),{actions:n,aiGeneration:r,currentBranch:i,onFixCommitErrorInChat:a}=e,o;t[0]===n?o=t[1]:(o=e=>n.setUserPrefsState(t=>({...t,autoGenerateCommitMessage:e})),t[0]=n,t[1]=o);let s;t[2]!==n.commitMessage||t[3]!==n.handleCommit||t[4]!==n.handleGenerateCommitMessage||t[5]!==n.isCommitDialogOpen||t[6]!==n.setCommitMessage||t[7]!==n.setIsCommitDialogOpen||t[8]!==n.userPrefs.autoGenerateCommitMessage||t[9]!==r.isGeneratingMessage||t[10]!==o?(s={isOpen:n.isCommitDialogOpen,onOpenChange:n.setIsCommitDialogOpen,message:n.commitMessage,onMessageChange:n.setCommitMessage,autoGenerate:n.userPrefs.autoGenerateCommitMessage,onAutoGenerateChange:o,isGenerating:r.isGeneratingMessage,onGenerateMessage:n.handleGenerateCommitMessage,onCommit:n.handleCommit},t[2]=n.commitMessage,t[3]=n.handleCommit,t[4]=n.handleGenerateCommitMessage,t[5]=n.isCommitDialogOpen,t[6]=n.setCommitMessage,t[7]=n.setIsCommitDialogOpen,t[8]=n.userPrefs.autoGenerateCommitMessage,t[9]=r.isGeneratingMessage,t[10]=o,t[11]=s):s=t[11];let c;t[12]===n?c=t[13]:(c=e=>n.setUserPrefsState(t=>({...t,autoGeneratePRInfo:e})),t[12]=n,t[13]=c);let l;t[14]===n?l=t[15]:(l=e=>n.setUserPrefsState(t=>({...t,createBranchAfterPR:e})),t[14]=n,t[15]=l);let u;t[16]!==n.handleCreatePR||t[17]!==n.handleGeneratePRInfo||t[18]!==n.isPRDialogOpen||t[19]!==n.prDescription||t[20]!==n.prTitle||t[21]!==n.setIsPRDialogOpen||t[22]!==n.setPrDescription||t[23]!==n.setPrTitle||t[24]!==n.userPrefs.autoGeneratePRInfo||t[25]!==n.userPrefs.createBranchAfterPR||t[26]!==r.isGeneratingPRInfo||t[27]!==c||t[28]!==l?(u={isOpen:n.isPRDialogOpen,onOpenChange:n.setIsPRDialogOpen,title:n.prTitle,onTitleChange:n.setPrTitle,description:n.prDescription,onDescriptionChange:n.setPrDescription,isGeneratingInfo:r.isGeneratingPRInfo,onGenerateInfo:n.handleGeneratePRInfo,onCreatePR:n.handleCreatePR,autoGenerate:n.userPrefs.autoGeneratePRInfo,onAutoGenerateChange:c,createBranchAfterPR:n.userPrefs.createBranchAfterPR,onCreateBranchAfterPRChange:l},t[16]=n.handleCreatePR,t[17]=n.handleGeneratePRInfo,t[18]=n.isPRDialogOpen,t[19]=n.prDescription,t[20]=n.prTitle,t[21]=n.setIsPRDialogOpen,t[22]=n.setPrDescription,t[23]=n.setPrTitle,t[24]=n.userPrefs.autoGeneratePRInfo,t[25]=n.userPrefs.createBranchAfterPR,t[26]=r.isGeneratingPRInfo,t[27]=c,t[28]=l,t[29]=u):u=t[29];let d;t[30]===n?d=t[31]:(d=()=>n.handlePushAndCreatePR(),t[30]=n,t[31]=d);let f;t[32]!==n.handleCancelPushBeforePR||t[33]!==n.isPushBeforePRDialogOpen||t[34]!==n.setIsPushBeforePRDialogOpen||t[35]!==d?(f={isOpen:n.isPushBeforePRDialogOpen,onOpenChange:n.setIsPushBeforePRDialogOpen,onPushAndCreatePR:d,onCancel:n.handleCancelPushBeforePR},t[32]=n.handleCancelPushBeforePR,t[33]=n.isPushBeforePRDialogOpen,t[34]=n.setIsPushBeforePRDialogOpen,t[35]=d,t[36]=f):f=t[36];let p;t[37]===n?p=t[38]:(p=e=>n.setUserPrefsState(t=>({...t,privateRepositoryDefault:e})),t[37]=n,t[38]=p);let m;t[39]!==n.handleCreateRepo||t[40]!==n.isRepoDialogOpen||t[41]!==n.repoDescription||t[42]!==n.repoName||t[43]!==n.setIsRepoDialogOpen||t[44]!==n.setRepoDescription||t[45]!==n.setRepoName||t[46]!==n.userPrefs.privateRepositoryDefault||t[47]!==p?(m={isOpen:n.isRepoDialogOpen,onOpenChange:n.setIsRepoDialogOpen,name:n.repoName,onNameChange:n.setRepoName,description:n.repoDescription,onDescriptionChange:n.setRepoDescription,isPrivate:n.userPrefs.privateRepositoryDefault,onPrivateChange:p,onCreateRepo:n.handleCreateRepo},t[39]=n.handleCreateRepo,t[40]=n.isRepoDialogOpen,t[41]=n.repoDescription,t[42]=n.repoName,t[43]=n.setIsRepoDialogOpen,t[44]=n.setRepoDescription,t[45]=n.setRepoName,t[46]=n.userPrefs.privateRepositoryDefault,t[47]=p,t[48]=m):m=t[48];let h;t[49]!==n.commits||t[50]!==n.displayedCommits||t[51]!==n.handleScroll||t[52]!==n.isHistoryDialogOpen||t[53]!==n.isLoadingMore||t[54]!==n.setIsHistoryDialogOpen?(h={isOpen:n.isHistoryDialogOpen,onOpenChange:n.setIsHistoryDialogOpen,commits:n.commits,displayedCommits:n.displayedCommits,isLoadingMore:n.isLoadingMore,onScroll:n.handleScroll},t[49]=n.commits,t[50]=n.displayedCommits,t[51]=n.handleScroll,t[52]=n.isHistoryDialogOpen,t[53]=n.isLoadingMore,t[54]=n.setIsHistoryDialogOpen,t[55]=h):h=t[55];let g;t[56]===n?g=t[57]:(g=()=>n.setIsPullWithChangesDialogOpen(!1),t[56]=n,t[57]=g);let _;t[58]!==n.handleCommitFirstAndPull||t[59]!==n.handleStashAndPull||t[60]!==n.isPullWithChangesDialogOpen||t[61]!==n.setIsPullWithChangesDialogOpen||t[62]!==g?(_={isOpen:n.isPullWithChangesDialogOpen,onOpenChange:n.setIsPullWithChangesDialogOpen,onCommitFirst:n.handleCommitFirstAndPull,onStashAndPull:n.handleStashAndPull,onCancel:g},t[58]=n.handleCommitFirstAndPull,t[59]=n.handleStashAndPull,t[60]=n.isPullWithChangesDialogOpen,t[61]=n.setIsPullWithChangesDialogOpen,t[62]=g,t[63]=_):_=t[63];let v;return t[64]!==n.commitError||t[65]!==n.dismissCommitError||t[66]!==n.isLoading||t[67]!==i||t[68]!==a||t[69]!==s||t[70]!==_||t[71]!==u||t[72]!==f||t[73]!==m||t[74]!==h?(v=(0,$.jsx)(rT,{isLoading:n.isLoading,currentBranch:i,commitError:n.commitError,onDismissCommitError:n.dismissCommitError,onFixCommitErrorInChat:a,commit:s,pullRequest:u,pushBeforePR:f,createRepo:m,history:h,pullWithChanges:_}),t[64]=n.commitError,t[65]=n.dismissCommitError,t[66]=n.isLoading,t[67]=i,t[68]=a,t[69]=s,t[70]=_,t[71]=u,t[72]=f,t[73]=m,t[74]=h,t[75]=v):v=t[75],v}function kT(e){let t=(0,Q.c)(89),{projectId:n,threadId:r,layout:i}=e,a=i===void 0?`bar`:i,o=Ks(),s=gC(),c;t[0]===r?c=t[1]:(c=e=>e.projectModelSelections[r],t[0]=r,t[1]=c);let l=X(c),u;t[2]===n?u=t[3]:(u=e=>e.projects.find(e=>e.projectId===n),t[2]=n,t[3]=u);let d=X(u),f=Fd(),p=oT(r,n,l),m=d?.commitMethod===ft.Direct,h=d?.name,g;t[4]!==p||t[5]!==o||t[6]!==n||t[7]!==h||t[8]!==r||t[9]!==f?(g={projectId:n,threadId:r,projectName:h,dispatch:o,aiGeneration:p,unifiedGitStatus:f},t[4]=p,t[5]=o,t[6]=n,t[7]=h,t[8]=r,t[9]=f,t[10]=g):g=t[10];let _=yT(g),v;t[11]!==_.commitGenerationRef||t[12]!==_.commitMessage||t[13]!==_.isCommitDialogOpen||t[14]!==_.isPRDialogOpen||t[15]!==_.prDescriptionRef||t[16]!==_.prGenerationRef||t[17]!==_.prTitleRef||t[18]!==_.setCommitMessage||t[19]!==_.setPrDescription||t[20]!==_.setPrTitle||t[21]!==_.userPrefs.autoGenerateCommitMessage||t[22]!==_.userPrefs.autoGeneratePRInfo||t[23]!==p||t[24]!==r?(v={threadId:r,aiGeneration:p,isCommitDialogOpen:_.isCommitDialogOpen,commitMessage:_.commitMessage,setCommitMessage:_.setCommitMessage,autoGenerateCommitMessage:_.userPrefs.autoGenerateCommitMessage,commitGenerationRef:_.commitGenerationRef,isPRDialogOpen:_.isPRDialogOpen,prTitleRef:_.prTitleRef,prDescriptionRef:_.prDescriptionRef,setPrTitle:_.setPrTitle,setPrDescription:_.setPrDescription,autoGeneratePRInfo:_.userPrefs.autoGeneratePRInfo,prGenerationRef:_.prGenerationRef},t[11]=_.commitGenerationRef,t[12]=_.commitMessage,t[13]=_.isCommitDialogOpen,t[14]=_.isPRDialogOpen,t[15]=_.prDescriptionRef,t[16]=_.prGenerationRef,t[17]=_.prTitleRef,t[18]=_.setCommitMessage,t[19]=_.setPrDescription,t[20]=_.setPrTitle,t[21]=_.userPrefs.autoGenerateCommitMessage,t[22]=_.userPrefs.autoGeneratePRInfo,t[23]=p,t[24]=r,t[25]=v):v=t[25],bT(v);let y;t[26]!==_||t[27]!==o||t[28]!==n||t[29]!==r||t[30]!==l?(y=async function(e){let t=l?.id&&l.provider?{model:l.id,provider:l.provider}:await Mw(n,r);if(!t){ST.error(`No model configuration found. Please configure a model and provider for this project first.`);return}Nw(o,r,t.model,t.provider),o({type:Y.SetPendingChatMessage,message:{threadId:r,message:CT(e),model:t.model,provider:t.provider}}),_.setIsCommitDialogOpen(!1),_.dismissCommitError()},t[26]=_,t[27]=o,t[28]=n,t[29]=r,t[30]=l,t[31]=y):y=t[31];let b=y,x;t[32]===_?x=t[33]:(x=()=>_.setIsPRDialogOpen(!0),t[32]=_,t[33]=x);let S;t[34]===_?S=t[35]:(S=()=>{_.isLoading||_.isCreatingPR||_.handleGitOpsMenuOpenChange(!0)},t[34]=_,t[35]=S);let C;t[36]!==_.handleQuickCommit||t[37]!==_.handleViewInGitHub||t[38]!==_.isCreatingPR||t[39]!==_.isLoading||t[40]!==_.userPrefs.autoGenerateCommitMessage||t[41]!==m||t[42]!==x||t[43]!==S||t[44]!==f?(C={unifiedGitStatus:f,autoGenerateCommitMessage:_.userPrefs.autoGenerateCommitMessage,isLoading:_.isLoading,isCreatingPR:_.isCreatingPR,isDirectCommitMode:m,onQuickCommit:_.handleQuickCommit,onCreatePR:x,onViewInGitHub:_.handleViewInGitHub,onOpenGitOpsMenu:S},t[36]=_.handleQuickCommit,t[37]=_.handleViewInGitHub,t[38]=_.isCreatingPR,t[39]=_.isLoading,t[40]=_.userPrefs.autoGenerateCommitMessage,t[41]=m,t[42]=x,t[43]=S,t[44]=f,t[45]=C):C=t[45],xT(C);let w;t[46]===f?w=t[47]:(w=Hw(f),t[46]=f,t[47]=w);let T=w,E;t[48]!==_.isCreatingPR||t[49]!==_.isLoading||t[50]!==f?(E=Vw(f,_.isLoading,_.isCreatingPR),t[48]=_.isCreatingPR,t[49]=_.isLoading,t[50]=f,t[51]=E):E=t[51];let D=E,O=_.isLoading||_.isCreatingPR,k=D&&!O,A;t[52]!==_.isCreatingPR||t[53]!==f?(A=Rw(f,_.isCreatingPR),t[52]=_.isCreatingPR,t[53]=f,t[54]=A):A=t[54];let j=A,N;t[55]!==_.isCreatingPR||t[56]!==_.isLoading||t[57]!==f?(N=_.isCreatingPR?(0,$.jsx)(dp,{size:`sm`}):zw(f,_.isCreatingPR,_.isLoading)??(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),t[55]=_.isCreatingPR,t[56]=_.isLoading,t[57]=f,t[58]=N):N=t[58];let P=N,F=s&&!T?Ww:Uw,I;t[59]===f?I=t[60]:(I=Bw(f),t[59]=f,t[60]=I);let L;t[61]!==_||t[62]!==p||t[63]!==m||t[64]!==a||t[65]!==f?(L=(0,$.jsx)(DT,{unifiedGitStatus:f,actions:_,isDirectCommitMode:m,aiGeneration:p,layout:a}),t[61]=_,t[62]=p,t[63]=m,t[64]=a,t[65]=f,t[66]=L):L=t[66];let R;t[67]!==_.handleMainButtonClick||t[68]!==T||t[69]!==O||t[70]!==k||t[71]!==D||t[72]!==P||t[73]!==j||t[74]!==I||t[75]!==L?(R={isBrandState:T,isMainButtonVisuallyDisabled:k,isMainButtonHardDisabled:O,mainButtonDisabled:D,mainButtonText:j,mainButtonIcon:P,tooltip:I,onMainButtonClick:_.handleMainButtonClick,dropdown:L},t[67]=_.handleMainButtonClick,t[68]=T,t[69]=O,t[70]=k,t[71]=D,t[72]=P,t[73]=j,t[74]=I,t[75]=L,t[76]=R):R=t[76];let z=R,B;t[77]!==F||t[78]!==a||t[79]!==z?(B=a===`sidebar`?(0,$.jsx)(wT,{...z}):a===`bar`?(0,$.jsx)(TT,{footerPillButtonClass:F,...z}):(0,$.jsx)(ET,{...z}),t[77]=F,t[78]=a,t[79]=z,t[80]=B):B=t[80];let V;t[81]!==_||t[82]!==p||t[83]!==b||t[84]!==f.currentBranch?(V=(0,$.jsx)(OT,{actions:_,aiGeneration:p,currentBranch:f.currentBranch,onFixCommitErrorInChat:b}),t[81]=_,t[82]=p,t[83]=b,t[84]=f.currentBranch,t[85]=V):V=t[85];let H;return t[86]!==B||t[87]!==V?(H=(0,$.jsxs)($.Fragment,{children:[B,V]}),t[86]=B,t[87]=V,t[88]=H):H=t[88],H}var AT=Ut(`app.open-with-button.ui`),jT=`VS Code`;function MT(e){return e||Ji(jT)}var NT={"VS Code":`vscode`,Antigravity:`antigravity`,Cursor:`cursor`,"Devin Desktop":`devin`,Windsurf:`windsurf`,Xcode:`xcode`,"Android Studio":`android-studio`,Kiro:`kiro`,Terminal:`terminal`},PT=`h-4 w-4 dark:invert`,FT=`h-4 w-4 dark:invert group-hover:invert dark:group-hover:invert-0`;function IT({projectId:e,threadId:t,openWith:n,layout:r=`bar`}){let i=gC(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)([]),[l,u]=(0,Z.useState)(()=>MT(n)),[d,f]=(0,Z.useState)(!0);(0,Z.useEffect)(()=>{(async()=>{try{let e=await Jr();c(e);let t=MT(n);e.includes(t)?u(t):e.length>0&&u(e[0])}catch(e){AT.error(`Failed to fetch available programs:`,e),c([jT])}finally{f(!1)}})()},[]),(0,Z.useEffect)(()=>{if(n&&s.includes(n)){u(n);return}let e=Ji(jT);!n&&s.includes(e)&&u(e)},[n,s]);async function p(t){u(t),La(t),await Rr(e,t)}let m=async n=>{try{o(!0),await p(n),t?await Wi(t,n):await Nr(e,n),ac({title:`Success`,description:`Opened project in ${n}`})}catch(e){AT.error(`Failed to open project in ${n}:`,e);let t=`Failed to open project in ${n}`;if(e instanceof Error){let n=e;t=n.details?n.details:e.message}ac({title:`Error`,description:t,variant:`destructive`})}finally{o(!1)}};async function h(e){try{await p(e)}catch(t){AT.error(`Failed to save preferred IDE (${e}):`,t),ac({title:`Error`,description:`Failed to save IDE preference`,variant:`destructive`})}}let g=async()=>{await m(l)},_=i?`ghost`:`outline`,v=i?nl:`border-transparent`;return d?(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8`,v),disabled:!0,children:(0,$.jsx)(`div`,{className:`h-4 w-4 animate-pulse bg-muted rounded`})}):r===`menu`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`group w-full justify-start gap-2`,disabled:a,onClick:()=>{g()},children:[(0,$.jsx)(`img`,{src:`/ide/${NT[l]||NT[jT]}.svg`,alt:l,className:G(FT,`shrink-0`)}),`Open in `,l]}),(0,$.jsxs)(Np,{children:[(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`w-full justify-start gap-2`,children:[(0,$.jsx)(tn,{className:`h-4 w-4 shrink-0`}),`Change IDE`]})}),(0,$.jsx)(Fp,{align:`start`,className:`w-56 p-1`,children:s.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent disabled:opacity-50`,onClick:()=>{h(e)},disabled:a,children:[(0,$.jsx)(`img`,{src:`/ide/${NT[e]||NT[jT]}.svg`,alt:e,className:G(PT,`shrink-0`)}),e]},e))})]})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-0`,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8 rounded-r-none`,i?G(`group`,nl):`border-r-0 border-transparent`),disabled:a,onClick:g,children:(0,$.jsx)(`img`,{src:`/ide/${NT[l]||NT[jT]}.svg`,alt:l,className:i?FT:PT})})}),(0,$.jsx)(Fr,{children:`Open in ${l}`})]}),(0,$.jsxs)(hl,{children:[(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8 w-8 rounded-l-none px-1`,v),disabled:a,children:(0,$.jsx)(tn,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(bl,{align:`end`,children:s.map(e=>(0,$.jsxs)(xl,{onClick:()=>void h(e),disabled:a,className:`flex items-center gap-2`,children:[(0,$.jsx)(`img`,{src:`/ide/${NT[e]||NT[jT]}.svg`,alt:e,className:PT}),e]},e))})]})]})}function LT(){return`dev-server-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function RT(e,t){return Cc({messageId:`msg-dev-server-${t}`,command:e,toolCallId:t})}function zT(e,t){e({type:Y.AddMessage,message:RT(t.command,t.toolCallId),threadId:t.threadId}),e({type:Y.SetDevServerToolSession,session:t})}function BT(e,t,n,r){r&&e({type:Y.AppendToolExecutionOutput,toolCallId:t,threadId:n,toolName:`bash`,delta:r})}function VT(e,t,n,r){e({type:Y.UpdateMessage,messageId:t.messageId,threadId:t.threadId,content:jc(Sc(t.command,t.toolCallId),t.toolCallId,n,r)}),e({type:Y.ClearToolCallProgress,toolCallId:t.toolCallId}),e({type:Y.SetDevServerToolSession,session:null})}function HT(e,t){`content`in e&&typeof e.content==`string`&&t(e.content)}function UT(e,t){e.isUrlDetected?.()||(e.markUrlDetected?.(),bw(t)&&Promise.resolve(e.onUrl?.(t.url)))}function WT(e,t){Promise.resolve(e.onPortInUse?.({port:`port`in t&&typeof t.port==`number`?t.port:void 0,pid:`pid`in t&&typeof t.pid==`number`?t.pid:void 0,command:`command`in t&&typeof t.command==`string`?t.command:void 0}))}function GT(e,t){`exitCode`in t&&typeof t.exitCode==`number`&&e.onExitCode?.(t.exitCode)}function KT(e,t){let n=`message`in t&&t.message!=null?String(t.message):`error`in t&&t.error!=null?String(t.error):`Dev server error`;BT(e.dispatch,e.toolCallId,e.threadId,`${n}\n`)}function qT(e){let t=``;function n(n){if(BT(e.dispatch,e.toolCallId,e.threadId,n),t+=n,e.isUrlDetected?.())return;let r=m(t);r&&(e.markUrlDetected?.(),Promise.resolve(e.onUrl?.(r)))}function r(t){if(t.type===`stdout`||t.type===`stderr`){HT(t,n);return}if(bw(t)){UT(e,t);return}if(t.type===`port_in_use`){WT(e,t);return}if(t.type===`complete`){GT(e,t);return}t.type===`error`&&KT(e,t)}return function(e){if(typeof e==`string`){n(e);return}!e||typeof e!=`object`||`type`in e&&r(e)}}function JT(e){return e instanceof DOMException&&e.name===`AbortError`}async function YT(e,t,n){let r=e.getReader(),i=new TextDecoder,a=``;try{for(;;){if(n?.aborted){await r.cancel();return}let{done:e,value:o}=await r.read();if(e)break;a+=i.decode(o,{stream:!0});let s=a.split(`
3326
- `);a=s.pop()??``;for(let e of s)if(e.trim())try{t(JSON.parse(e))}catch{t(e)}}if(a.trim())try{t(JSON.parse(a))}catch{t(a)}}catch(e){if(n?.aborted||JT(e))return;throw e}finally{r.releaseLock()}}var XT=Ut(`app.use-start-dev-server.hook`);function ZT(e){return new Promise(t=>{setTimeout(t,e)})}function QT(e){return e==null?`Dev server port is already in use.`:`Port ${e} is already in use.`}function $T(){let e=X(e=>e.selectedThreadId),t=Ks(),n=Vs(),{openChatDockPanel:r}=Wd(),{setDevServerUrl:i,setDevServerState:a,setDevServerFailureReason:o,setDevServerProcessAlive:s,setDevServerProjectId:c,setDevServerStopped:l,devServerStopRequestedRef:u,requestPortConflictConfirmation:d}=vw(),f=(0,Z.useRef)(null),p=(0,Z.useRef)(!1),h=(0,Z.useRef)(!1),g=(0,Z.useRef)(!1),_=(0,Z.useRef)(!1),v=(0,Z.useRef)(null);function y(e){return n.getState().toolCallProgress[e.toolCallId]?.executionOutput??``}function b(e){let t=y(e);return u.current?(u.current=!1,`${t}${t.endsWith(`
3324
+ `)}function ew(e){if(!e||typeof e!=`object`)return{};let t=e,n={};if(typeof t.stdout==`string`&&t.stdout.trim()&&(n.stdout=t.stdout),typeof t.stderr==`string`&&t.stderr.trim()&&(n.stderr=t.stderr),typeof t.details==`string`&&t.details.trim())n.details=t.details;else if(typeof t.error==`string`&&t.error.trim())n.details=t.error;else if(t.error&&typeof t.error==`object`){let e=t.error;typeof e.message==`string`&&e.message.trim()&&(n.details=e.message),typeof e.stdout==`string`&&e.stdout.trim()&&(n.stdout=n.stdout??e.stdout),typeof e.stderr==`string`&&e.stderr.trim()&&(n.stderr=n.stderr??e.stderr)}return n}function tw(e,t,n){let r=crypto.randomUUID(),i=n.message.trim()||`Unknown error`,a=QC(i,n.progressOutput),o=$C(r,a),s={errorId:r,message:i,summary:a.summary,cause:a.cause,guidance:a.guidance,removingPath:a.removingPath,projectId:n.projectId,threadId:n.threadId,threadTitle:n.threadTitle,output:n.progressOutput,stdout:n.stdout,stderr:n.stderr,details:n.details,...n.cause===void 0?{}:{rawError:n.cause}};return e.error(o,s),Qr({level:`ERROR`,context:`app.use-projects.hook`,message:o,data:s}),ac({variant:`destructive`,title:`Failed to delete thread`,description:`Error ID: ${r}\n${a.summary}`,action:(0,$.jsx)(qC,{altText:`Go to Logs`,onClick:()=>{t(`/settings/logs?q=${encodeURIComponent(r)}`)},children:`Go to Logs`})}),r}var nw=150,rw=Ut(`app.use-projects.hook`),iw=0;function aw(){let e=(0,Q.c)(17),t=Ks(),n=X(lw),r=X(cw),i=X(sw);i>0&&Si();let a=Nc(`projects:bootstrap:${i}`,lo),o=(0,Z.useRef)(!1),s;e[0]!==a.cloneRootPath||e[1]!==a.projects||e[2]!==t?(s=()=>{t({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1})},e[0]=a.cloneRootPath,e[1]=a.projects,e[2]=t,e[3]=s):s=e[3];let c;e[4]!==a||e[5]!==t?(c=[a,t],e[4]=a,e[5]=t,e[6]=c):c=e[6],(0,Z.useLayoutEffect)(s,c);let l;e[7]!==a.projects||e[8]!==t||e[9]!==r||e[10]!==n?(l=()=>{if(!o.current){if(n||r){o.current=!0;return}for(let e of a.projects){let n=e.threads.find(ow);if(n){t({type:Y.SelectThread,threadId:n.threadId,projectId:e.projectId}),o.current=!0;break}}}},e[7]=a.projects,e[8]=t,e[9]=r,e[10]=n,e[11]=l):l=e[11];let u;return e[12]!==a||e[13]!==t||e[14]!==r||e[15]!==n?(u=[a,t,n,r],e[12]=a,e[13]=t,e[14]=r,e[15]=n,e[16]=u):u=e[16],(0,Z.useLayoutEffect)(l,u),null}function ow(e){return e.isSelected}function sw(e){return e.configUpdatedAt}function cw(e){return e.selectedProjectId}function lw(e){return e.selectedThreadId}function uw(e){let t=Ks(),n=X(e=>e.projects),r=X(e=>e.selectedProjectId),i=X(e=>e.selectedThreadId),{toast:a}=ic(),o=Yn(),s=Gn(),[c,l]=(0,Z.useState)(null),u=(0,Z.useRef)(null),d=(0,Z.useCallback)(async()=>{let e=++iw;try{t({type:Y.SetProjectsLoading,projectsLoading:!0}),Si(),Mc(`projects:bootstrap:`);let n=await lo();return e===iw&&t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),n.projects}catch(e){return rw.error(`Failed to refresh projects:`,e),[]}finally{e===iw&&t({type:Y.SetProjectsLoading,projectsLoading:!1})}},[t]),f=(0,Z.useCallback)(async()=>{let e=await d();if(t({type:Y.ConfigUpdated}),!r||!i)return e;let n=e.find(e=>e.projectId===r);if(!n)return t({type:Y.ClearSelection}),e;if(!n.threads.some(e=>e.threadId===i)){t({type:Y.ClearThreadCreationSummary,threadId:i});let e=n.threads[0];t(e?{type:Y.SelectThread,threadId:e.threadId,projectId:r}:{type:Y.ClearSelection})}return e},[t,d,r,i]),p=(0,Z.useCallback)((e,n)=>{(i!==n||r!==e)&&t({type:Y.SelectThread,threadId:n,projectId:e}),ya(e,n).catch(e=>{rw.error(`Failed to select thread:`,e)})},[t,i,r]),m=(0,Z.useCallback)(async n=>{t({type:Y.SetCreatingProject,isCreating:!0});let r=new AbortController;u.current=r;let i={current:null},o=``,s=!1,c=[],f=null;function p(){if(f&&=(clearTimeout(f),null),c.length===0)return;let e=c.join(``);c.length=0;let n=i.current;n&&Ac(t,n.toolCallId,n.threadId,e)}function m(e){if(!e)return;let t=`${e}\n`;o+=t,c.push(t),f||=setTimeout(p,nw)}let h=null,g=!1,_=null,v=null;function y(r,a){g=!0,_=r,v=a,t({type:Y.AddCreatingProject,projectId:r,threadId:a,projectName:n.optimisticProjectName,gitUrl:n.gitUrl??``}),t({type:Y.AddProcessingThread,threadId:a}),e?.onProjectCreated?.(r);let o=Ec({mode:n.mode,threadId:a,projectId:r,projectName:n.optimisticProjectName});i.current=o,xc(t,o,`${n.initialMessage}\n`)}function b(){g&&_&&(t({type:Y.RemoveCreatingProject,projectId:_}),v&&t({type:Y.RemoveProcessingThread,threadId:v}))}function x(e){!g&&typeof e.threadId==`string`&&typeof e.projectId==`string`&&y(e.projectId,e.threadId),m(typeof e.message==`string`?e.message:``)}function S(e){s=!0;let t=e.project;if(t){if(h=t.id,m(`Project created successfully at: ${n.includeThreadPath&&t.threads&&t.threads.length>0?`${t.path}/${t.threads[0]}`:t.path}`),i.current&&n.mode===`folder`){let e=t.path.split(/[/\\]/).filter(Boolean).pop();e&&e!==n.optimisticProjectName&&(i.current={...i.current,projectName:e})}n.handleSetupScript&&typeof e.suggestedSetupScript==`string`&&l({projectId:t.id,command:e.suggestedSetupScript,remainingScripts:t.pendingSetupScripts??[]})}}function C(e){let t=typeof e.message==`string`?e.message:`Unknown error`;b(),m(`Error: ${t}`),i.current||a({title:`Project Creation Failed`,description:t,variant:`destructive`})}function w(e){if(!e||typeof e!=`object`)return;let t=e;try{t.type===`progress`?x(t):t.type===`complete`?S(t):t.type===`error`&&C(t)}catch(e){rw.error(`Failed to parse ${n.logTag} event`,e)}}async function T(n){if(!h)return;let r=n.projects.find(e=>e.projectId===h);if(r&&r.threads.length>0){let e=r.threads[0].threadId;i.current?.threadId===e?t({type:Y.FocusChatInput}):t({type:Y.SelectThread,threadId:e,projectId:h,focusInput:!0})}e?.onProjectCreated?.(h)}async function E(){p(),t({type:Y.SetCreatingProject,isCreating:!1});let e=i.current;e&&(Dc(t,e,o,{isError:!s}),t({type:Y.RemoveProcessingThread,threadId:e.threadId})),Si();let n=await lo();t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1}),await T(n)}function D(e){rw.error(`Failed to ${n.logTag}:`,e);let r=e instanceof Error&&e.name===`AbortError`;p(),t({type:Y.SetCreatingProject,isCreating:!1});let c=i.current;if(r){s||b(),c&&(t({type:Y.RemoveProcessingThread,threadId:c.threadId}),t({type:Y.ClearToolCallProgress,toolCallId:c.toolCallId}));return}let l=`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`;c?(m(l),Dc(t,c,o,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:c.threadId})):a({title:`Project Creation Failed`,description:l,variant:`destructive`})}try{let e=await n.apiCall(r.signal);if(!e){p(),u.current=null,t({type:Y.SetCreatingProject,isCreating:!1}),await d();return}await Fc(e,w),await E()}catch(e){D(e)}finally{u.current===r&&(u.current=null)}},[t,d,e?.onProjectCreated,a]),h=(0,Z.useCallback)(async(e,t)=>{let n=e.split(`/`).pop()?.replace(`.git`,``)??`project`;await m({apiCall:n=>no(e,t,n),initialMessage:`Cloning repository: ${e}...`,optimisticProjectName:n,gitUrl:e,mode:`clone`,includeThreadPath:!0,handleSetupScript:!0,logTag:`create project`,catchErrorPrefix:`Failed to create project`})},[m]),g=(0,Z.useCallback)(()=>{u.current?.abort(),u.current=null},[]),_=(0,Z.useCallback)(async(e,t,n)=>{await m({apiCall:r=>wa(e,t,n,r),initialMessage:`Creating app "${e}"...`,optimisticProjectName:e,mode:`webapp`,handleSetupScript:!1,logTag:`create web app`,catchErrorPrefix:`Failed to create web app`})},[m]),v=(0,Z.useCallback)(async e=>{await m({apiCall:t=>ba(e,t),initialMessage:`Creating folder "${e}"...`,optimisticProjectName:e,mode:`folder`,handleSetupScript:!1,logTag:`create folder`,catchErrorPrefix:`Failed to create folder`})},[m]),y=(0,Z.useCallback)(async(e,t,n)=>{let r=t.replace(/\.zip$/i,``)||`project`;await m({apiCall:r=>zo(e,t,n,r),initialMessage:n?`Replacing project from "${t}"...`:`Creating project from "${t}"...`,optimisticProjectName:r,mode:`zip`,handleSetupScript:!1,logTag:`create project from zip`,catchErrorPrefix:`Failed to create project from zip`})},[m]),b=(0,Z.useCallback)(async(r,i)=>{let o={current:null};try{let s=n.find(e=>e.projectId===r),c=s?Ke(s):`project`;e?.onThreadCreateStart?.(r);let l=i??(()=>{let e=s?.threads.map(e=>e.title)??[],t=/^thread-(\d+)$/i,n=0;for(let r of e){let e=r.match(t);e&&(n=Math.max(n,parseInt(e[1],10)))}return`thread-${n+1}`})(),u=await so(r,i);if(!u){await d();return}let f=!0,p,m=`Creating thread "${l}"...`,h=[{type:`system`,content:m}],g=`${m}\n`;function _(e,n){let r={type:n,content:e};g+=`${e}\n`;let i=o.current;if(!i){h.push(r);return}t({type:Y.AppendTerminalLine,threadId:i.threadId,line:r}),Ac(t,i.toolCallId,i.threadId,`${e}\n`)}function v(e){t({type:Y.AddCreatingThread,projectId:r,threadId:e,title:l}),t({type:Y.AddProcessingThread,threadId:e}),t({type:Y.ClearTerminalOutput,threadId:e});for(let n of h)t({type:Y.AppendTerminalLine,threadId:e,line:n});h.length=0;let n=Oc({threadId:e,projectId:r,projectName:c});o.current=n,xc(t,n,g)}function y(e){t({type:Y.RemoveCreatingThread,projectId:r,threadId:e}),t({type:Y.SelectProject,projectId:r})}try{await Fc(u,e=>{if(!e||typeof e!=`object`){typeof e==`string`&&rw.error(`Failed to parse thread event`,e);return}let t=e;if(t.type===`progress`)!o.current&&typeof t.threadId==`string`&&v(t.threadId),_(typeof t.message==`string`?t.message:``,`output`);else if(t.type===`complete`){let e=t.thread;typeof e?.currentBranch==`string`&&(p=e.currentBranch)}else if(t.type===`error`){let e=typeof t.message==`string`?t.message:`Unknown error`;_(`Error: ${e}`,`error`),rw.error(`Thread creation error:`,e),a({title:`Thread Creation Failed`,description:e,variant:`destructive`}),f=!1}});let e=o.current;e&&(Dc(t,e,g,{branch:p,isError:!f}),t({type:Y.RemoveProcessingThread,threadId:e.threadId}),f||y(e.threadId)),Si(),await d()}catch(e){let n=e instanceof Error?e.message:String(e),r=o.current;throw r&&(_(`Error: ${n}`,`error`),Dc(t,r,g,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:r.threadId}),y(r.threadId)),a({title:`Thread Creation Failed`,description:n,variant:`destructive`}),e}}catch(e){rw.error(`Failed to create thread:`,e);let n=`Failed to create thread: ${e instanceof Error?e.message:`Unknown error`}`;throw t({type:Y.AppendTerminalLine,line:{type:`error`,content:n}}),a({variant:`destructive`,title:`Thread Creation Failed`,description:n}),e}},[d,t,n,a,e?.onThreadCreateStart]),x=(0,Z.useCallback)(async(e,r)=>{t({type:Y.AddDeletingThread,threadId:r}),t({type:Y.ClearChatInputDraft,threadId:r});let a=n.find(t=>t.projectId===e),s=a?Ke(a):`project`,c=a?.threads.find(e=>e.threadId===r)?.title??`thread`,l=i===r,u=l?wc({threadId:r,projectId:e,projectName:s}):null,f=``,p=!0;function m(e){e.trim()&&(f+=`${e}\n`,u&&Ac(t,u.toolCallId,u.threadId,`${e}\n`))}u&&Tc(t,u,`Deleting thread "${c}"...\n`);try{let n=await Ii(e,r);n&&await Fc(n,t=>{if(!t||typeof t!=`object`)return;let n=t;if(n.type===`progress`)m(typeof n.message==`string`?n.message:``);else if(n.type===`error`){let t=typeof n.message==`string`?n.message:`Unknown error`,i=ew(n);m(`Error: ${t}`),tw(rw,o,{projectId:e,threadId:r,threadTitle:c,message:t,progressOutput:f,...i}),p=!1}}),u&&Dc(t,u,f,{isError:!p}),p&&(t({type:Y.ClearThreadCreationSummary,threadId:r}),t({type:Y.RemoveThread,projectId:e,threadId:r})),l&&p&&t({type:Y.ClearSelection}),await d(),t({type:Y.ConfigUpdated})}catch(n){let i=n instanceof Error?n.message:`Unknown error`,a=ew(n);if(eo(i)){m(`Deletion is still running on the server. Open Workspaces to refresh the list.`),u&&Dc(t,u,f,{isError:!1}),rw.info(`Thread deletion stream disconnected before completion`,{projectId:e,threadId:r,message:i,...a});return}if(i.toLowerCase().includes(`not found`)){t({type:Y.RemoveThread,projectId:e,threadId:r}),await d();return}m(`Error: ${i}`),u&&Dc(t,u,f,{isError:!0}),tw(rw,o,{projectId:e,threadId:r,threadTitle:c,message:i,progressOutput:f,cause:n,...a})}finally{t({type:Y.RemoveDeletingThread,threadId:r})}},[d,i,t,a,o,n]),S=(0,Z.useCallback)(async(e,r)=>{t({type:Y.AddDeletingProject,projectId:e});let i=n.find(t=>t.projectId===e),a=i?.threads.map(e=>e.threadId)??[];for(let e of a)t({type:Y.AddDeletingThread,threadId:e}),t({type:Y.ClearChatInputDraft,threadId:e});let c=0;r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`});let l=window.setInterval(()=>{c=Math.min(c+1,VC.length-1),r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`})},450);try{await ts(e),window.clearInterval(l),t({type:Y.CloseProjectPanel}),t({type:Y.SelectThread,threadId:``,projectId:``}),await d(),t({type:Y.ConfigUpdated}),s.pathname.startsWith(`/settings/`)&&o(`/`),r?.({projectId:e,projectName:i?.name??``,step:c,status:`done`})}catch(t){throw window.clearInterval(l),rw.error(`Failed to delete project:`,t),r?.({projectId:e,projectName:i?.name??``,step:c,status:`error`,errorMessage:t instanceof Error?t.message:`Failed to delete project`}),t}finally{t({type:Y.RemoveDeletingProject,projectId:e});for(let e of a)t({type:Y.RemoveDeletingThread,threadId:e})}},[d,n,t,o,s]),C=(0,Z.useCallback)(async e=>{let n=c;if(l(null),!n||!e)return;let{projectId:r,command:i,remainingScripts:a}=n,o=[i,...a||[]];try{t({type:Y.SetCreatingProject,isCreating:!0}),t({type:Y.SetTerminalOpen,open:!0}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:`Installing dependencies for ${o.length} package${o.length===1?``:`s`}...`}});for(let e=0;e<o.length;e++){let n=o[e],i=n.match(/^cd "([^"]+)" && (.+)$/),a=i?i[1]:`root`;t({type:Y.AppendTerminalLine,line:{type:`system`,content:`Installing package ${e+1}/${o.length} in ${a}...`}}),t({type:Y.AppendTerminalLine,line:{type:`output`,content:`📦 Installing dependencies in ${a}: ${n}`}});let s=await yi(r,n,!0);s&&await Pc(s,{onOutput:e=>{t({type:Y.AppendTerminalLine,line:{type:`output`,content:e}})},onError:e=>{t({type:Y.AppendTerminalLine,line:{type:`error`,content:e}})}}),e<o.length-1&&(t({type:Y.AppendTerminalLine,line:{type:`system`,content:``}}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:`---`}}),t({type:Y.AppendTerminalLine,line:{type:`system`,content:``}}))}t({type:Y.AppendTerminalLine,line:{type:`system`,content:`All dependencies installed successfully!`}}),t({type:Y.SetCreatingProject,isCreating:!1}),await d()}catch(e){t({type:Y.SetCreatingProject,isCreating:!1}),rw.error(`Failed to run setup script:`,e),t({type:Y.AppendTerminalLine,line:{type:`error`,content:`Failed to run setup script: ${e instanceof Error?e.message:`Unknown error`}`}})}},[c,t,d]);return{projects:n,selectedProjectId:r,selectedThreadId:i,refreshProjects:d,refreshWorkspaces:f,handleSelectThread:p,handleCreateProject:h,cancelProjectCreation:g,handleCreateWebApp:_,handleCreateFolder:v,handleCreateZip:y,handleOpenFolder:(0,Z.useCallback)(async()=>{await m({apiCall:ki,initialMessage:`Opening folder...`,optimisticProjectName:`Opening folder...`,mode:`folder`,handleSetupScript:!0,logTag:`open folder`,catchErrorPrefix:`Failed to open folder`})},[m]),handleOpenPath:(0,Z.useCallback)(async e=>{let t=e.split(/[/\\]/).filter(Boolean).pop()??`project`;await m({apiCall:t=>ls(e,t),initialMessage:`Opening folder: ${e}...`,optimisticProjectName:t,mode:`folder`,handleSetupScript:!0,logTag:`open path`,catchErrorPrefix:`Failed to open folder path`})},[m]),handleCreateThread:b,handleDeleteThread:x,confirmDeleteProject:S,pendingSetupScriptConfirmation:c,resolveSetupScriptConfirmation:C}}var dw;(function(e){e.Heavy=`HEAVY`,e.Medium=`MEDIUM`,e.Light=`LIGHT`})(dw||={});var fw;(function(e){e.Success=`SUCCESS`,e.Warning=`WARNING`,e.Error=`ERROR`})(fw||={});var pw=Ag(`Haptics`,{web:()=>us(()=>import(`./web-BdMnTk6x.js`).then(e=>new e.HapticsWeb),[])});function mw(){return typeof window<`u`&&Za()}function hw(e=dw.Medium){mw()&&pw.impact({style:e}).catch(()=>{})}function gw(e){let t=(0,Q.c)(61),{projectId:n,onNewChat:r,isStartingNewChat:i,iconOnly:a,variant:o,size:s,className:c,buttonClassName:l,ariaLabel:u}=e,d=a===void 0?!1:a,f=o===void 0?`outline`:o,p=s===void 0?`sm`:s,{addWindow:m}=gc(),{handleCreateThread:h}=uw(),g;t[0]===r?g=t[1]:(g=function(){hw(),r()},t[0]=r,t[1]=g);let _=g,v;t[2]!==h||t[3]!==n?(v=function(){n&&(hw(),h(n,void 0))},t[2]=h,t[3]=n,t[4]=v):v=t[4];let y=v,b;t[5]===c?b=t[6]:(b=G(`inline-flex items-center`,c),t[5]=c,t[6]=b);let x=f===`outline`&&`border-r-0`,S;t[7]!==l||t[8]!==x?(S=G(l,`rounded-r-none`,x),t[7]=l,t[8]=x,t[9]=S):S=t[9];let C;t[10]!==u||t[11]!==d?(C=d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Se,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:u??`New Chat`})]}):`New Chat`,t[10]=u,t[11]=d,t[12]=C):C=t[12];let w;t[13]!==_||t[14]!==i||t[15]!==p||t[16]!==S||t[17]!==C||t[18]!==f?(w=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:f,size:p,disabled:i,className:S,onClick:_,children:C})}),t[13]=_,t[14]=i,t[15]=p,t[16]=S,t[17]=C,t[18]=f,t[19]=w):w=t[19];let T=i?`Starting Chat`:u??`New Chat`,E;t[20]===T?E=t[21]:(E=(0,$.jsx)(Fr,{children:T}),t[20]=T,t[21]=E);let D;t[22]!==w||t[23]!==E?(D=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[w,E]})}),t[22]=w,t[23]=E,t[24]=D):D=t[24];let O=f===`outline`&&`border-l-0`,k=d?`w-5 px-0`:`px-2`,A;t[25]!==l||t[26]!==O||t[27]!==k?(A=G(l,`rounded-l-none`,O,k),t[25]=l,t[26]=O,t[27]=k,t[28]=A):A=t[28];let j=d?`h-3 w-3`:`h-4 w-4`,N;t[29]===j?N=t[30]:(N=(0,$.jsx)(tn,{className:j}),t[29]=j,t[30]=N);let P;t[31]!==i||t[32]!==p||t[33]!==A||t[34]!==N||t[35]!==f?(P=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:f,size:p,disabled:i,className:A,"aria-label":`New chat options`,children:N})}),t[31]=i,t[32]=p,t[33]=A,t[34]=N,t[35]=f,t[36]=P):P=t[36];let F;t[37]===m?F=t[38]:(F=()=>m(`chat`),t[37]=m,t[38]=F);let I;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(dt,{}),t[39]=I):I=t[39];let L;t[40]===F?L=t[41]:(L=(0,$.jsxs)(xl,{onSelect:F,children:[I,`New Chat Window`]}),t[40]=F,t[41]=L);let R=!n,z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(M,{}),t[42]=z):z=t[42];let B;t[43]!==y||t[44]!==R?(B=(0,$.jsxs)(xl,{disabled:R,onSelect:y,children:[z,`New Workspace`]}),t[43]=y,t[44]=R,t[45]=B):B=t[45];let V;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Tl,{}),t[46]=V):V=t[46];let H;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(Be,{}),t[47]=H):H=t[47];let ee;t[48]===_?ee=t[49]:(ee=(0,$.jsxs)(xl,{onSelect:_,children:[H,`Clear Chat`]}),t[48]=_,t[49]=ee);let te;t[50]!==L||t[51]!==B||t[52]!==ee?(te=(0,$.jsxs)(bl,{align:`start`,className:`min-w-44`,children:[L,B,V,ee]}),t[50]=L,t[51]=B,t[52]=ee,t[53]=te):te=t[53];let ne;t[54]!==P||t[55]!==te?(ne=(0,$.jsxs)(hl,{children:[P,te]}),t[54]=P,t[55]=te,t[56]=ne):ne=t[56];let re;return t[57]!==D||t[58]!==ne||t[59]!==b?(re=(0,$.jsxs)(`div`,{className:b,children:[D,ne]}),t[57]=D,t[58]=ne,t[59]=b,t[60]=re):re=t[60],re}var _w=(0,Z.createContext)(null);function vw({children:e}){let[t,n]=(0,Z.useState)(null),[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(`idle`),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=(0,Z.useRef)(!1);function v(e){n(t=>{let n=typeof e==`function`?e(t):e;return n&&(i(n),f(!1)),n})}let y=(0,Z.useCallback)(e=>new Promise(t=>{g({...e,resolve:t})}),[]),b=(0,Z.useCallback)(()=>{g(null)},[]),x=a===`running`,S=a===`starting`||a===`stopping`;function C(e){o(t=>(typeof e==`function`?e(x):e)?`running`:t===`running`||t===`starting`?`idle`:t)}function w(e){o(t=>(typeof e==`function`?e(S):e)?t===`stopping`?`stopping`:`starting`:t===`starting`?l?`running`:t:t===`stopping`?`idle`:t)}let T=(0,Z.useMemo)(()=>({devServerUrl:t,setDevServerUrl:v,lastDevServerUrl:r,devServerState:a,setDevServerState:o,devServerFailureReason:s,setDevServerFailureReason:c,devServerProcessAlive:l,setDevServerProcessAlive:u,devServerStopped:d,setDevServerStopped:f,devServerProjectId:p,setDevServerProjectId:m,devServerStopRequestedRef:_,portConflictPrompt:h,requestPortConflictConfirmation:y,clearPortConflictPrompt:b,devServerRunning:x,devServerLoading:S,setDevServerRunning:C,setDevServerLoading:w}),[t,r,a,s,l,d,p,h,y,b,x,S]);return(0,$.jsx)(_w.Provider,{value:T,children:e})}function yw(){let e=(0,Z.useContext)(_w);if(!e)throw Error(`useDevServer must be used within a DevServerProvider`);return e}async function bw(e){if(e.useBuiltInBrowser){e.onTerminalMessage?.(`✓ Server running at: ${e.url}`),e.setDevServerUrl(e.url),e.openBrowserPanel();return}e.onTerminalMessage?.(`✓ Server running at: ${e.url} (opened in your browser)`),await e.openExternalUrl(e.url)}function xw(e){return typeof e==`object`&&!!e&&e.type===`url`&&typeof e.url==`string`}var Sw=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(`textarea`,{className:a,ref:t,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Sw.displayName=`Textarea`;var Cw=Ut(`app.commands-dialog.ui`),ww=`Play.Square.RotateCcw.Terminal.Bug.TestTube.FlaskConical.Wrench.Hammer.Zap.Search.FileCode.Code2.History.Settings.Activity.Cpu.Server.Database.Package.Box.GitBranch.Layers.ExternalLink.Eye.Shield.Flag.Star.Monitor.Smartphone`.split(`.`);function Tw({open:e,onOpenChange:t,projectId:n,commands:r,onRefresh:i,initialCommand:a}){let[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)([]),[m,h]=(0,Z.useState)(0),[g,_]=(0,Z.useState)(!1),v=(0,Z.useRef)(null),y=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{!e||!a||(s({id:je(),icon:`Play`,...a}),d(!1),p([]))},[a,e]);let b=()=>{s({id:je(),name:``,icon:`Play`,commandLine:``}),d(!1),p([])},x=e=>{s({...e}),d(!1),p([])},S=async()=>{try{_(!0);let e=await Ga(n);p(e.scripts),h(0),d(e.scripts.length>0)}catch(e){Cw.error(`Failed to load package scripts:`,e),ac({title:`Error`,description:`Failed to load package scripts`,variant:`destructive`})}finally{_(!1)}},C=e=>{s(t=>t?{...t,name:e.name,commandLine:e.commandLine,relativeFolder:e.relativePath||``}:null),d(!1),p([]),v.current?.focus()},w=e=>{u&&(e.key===`ArrowDown`?(e.preventDefault(),h(e=>e<f.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),h(e=>e>0?e-1:0)):e.key===`Enter`?(e.preventDefault(),m<f.length&&C(f[m])):e.key===`Escape`&&(e.preventDefault(),d(!1),p([])))};(0,Z.useEffect)(()=>{let e=e=>{y.current&&!y.current.contains(e.target)&&(d(!1),p([]))};return u&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[u]);let T=async e=>{try{await os(n,e),ac({title:`Success`,description:`Command deleted`}),i()}catch{ac({title:`Error`,description:`Failed to delete command`,variant:`destructive`})}};return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`sm:max-w-[500px]`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Project Commands`}),(0,$.jsx)(_i,{children:`Manage custom commands for this project.`})]}),(0,$.jsx)(`div`,{className:`py-4 flex flex-col gap-4`,children:o?(0,$.jsxs)(`div`,{className:`p-4 border rounded-lg bg-muted/30 flex flex-col gap-4 animate-in slide-in-from-top-2`,children:[(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`name`,children:`Command Name`}),(0,$.jsx)(Qo,{id:`name`,value:o.name,onChange:e=>s({...o,name:e.target.value}),placeholder:`e.g. Run Tests`,autoComplete:`off`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 relative`,children:[(0,$.jsx)(da,{htmlFor:`commandLine`,children:`Command Line`}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Sw,{ref:v,id:`commandLine`,value:o.commandLine,onChange:e=>s({...o,commandLine:e.target.value}),onKeyDown:w,placeholder:`e.g. npm test`,className:`font-mono text-base min-h-[100px] resize-none pr-10`}),(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-2 top-2 h-6 w-6 text-muted-foreground transition-colors`,onClick:()=>void S(),disabled:g,children:(0,$.jsx)(tn,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:(0,$.jsx)(`p`,{children:`Discover package scripts`})})]})})]}),u&&(0,$.jsx)(`div`,{ref:y,className:`absolute bottom-full left-0 right-0 mb-2 max-h-60 overflow-y-auto rounded-lg border border-border bg-popover shadow-lg z-50`,children:(0,$.jsxs)(`div`,{className:`p-2`,children:[(0,$.jsxs)(`div`,{className:G(U.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),children:[(0,$.jsx)(tn,{className:`h-3 w-3`}),`Available Scripts `,g&&`(loading...)`]}),f.length>0?(()=>{let e={};f.forEach(t=>{e[t.relativePath]||(e[t.relativePath]=[]),e[t.relativePath].push(t)});let t=Object.keys(e).sort(),n=0;return t.map(t=>{let r=e[t].sort((e,t)=>e.name.localeCompare(t.name));return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:G(U.dropdownGroupHeading,`px-3 py-1.5 text-muted-foreground/70 bg-muted/30`),children:t}),r.map(e=>{let t=n===m;return n++,(0,$.jsxs)(`button`,{type:`button`,className:G(`flex w-full flex-col gap-1 rounded-lg mx-1 px-3 py-2 text-left transition-colors`,t?`bg-accent text-accent-foreground`:`text-popover-foreground hover:bg-accent/50`),onClick:()=>C(e),onMouseEnter:()=>h(n-1),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:G(U.caption,`font-mono`),children:e.commandLine})]},e.commandLine)})]},t)})})():(0,$.jsx)(`div`,{className:G(U.caption,`px-3 py-4 text-center`),children:g?`Loading scripts...`:`No package scripts found`})]})})]}),(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`relativeFolder`,children:`Relative Folder`}),(0,$.jsx)(Qo,{id:`relativeFolder`,value:o.relativeFolder??``,onChange:e=>s({...o,relativeFolder:e.target.value}),placeholder:`e.g. frontend, packages/api (optional)`,autoComplete:`off`}),(0,$.jsx)(`p`,{className:U.bodyMuted,children:`Folder path relative to project root where the command will be executed. Leave empty to run from project root.`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{children:`Icon`}),(0,$.jsx)(Zo,{children:(0,$.jsx)(`div`,{className:`grid grid-cols-10 gap-1 p-2 bg-background rounded-md border border-border`,children:ww.map(e=>{let t=Wt[e]||ut;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:o.icon===e?`default`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>s({...o,icon:e}),children:(0,$.jsx)(t,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:e})]},e)})})})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 mt-2`,children:[(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,onClick:()=>s(null),children:[(0,$.jsx)(nt,{className:`h-4 w-4 mr-2`}),` Cancel`]}),(0,$.jsx)(Hr,{size:`sm`,onClick:async()=>{if(!o?.name||!o?.commandLine){ac({title:`Error`,description:`Name and Command Line are required`,variant:`destructive`});return}try{l(!0),await ka(n,o),ac({title:`Success`,description:`Command saved`}),s(null),i()}catch{ac({title:`Error`,description:`Failed to save command`,variant:`destructive`})}finally{l(!1)}},disabled:c,children:c?`Saving...`:`Save`})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 max-h-[400px] overflow-y-auto pr-2`,children:[r.length===0&&(0,$.jsx)(`div`,{className:`text-center py-8 text-muted-foreground border-2 border-dashed rounded-lg`,children:`No commands defined yet.`}),r.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-md border border-border bg-card hover:bg-muted/50 cursor-pointer group transition-colors`,onClick:()=>x(e),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`p-2 bg-muted rounded`,children:(0,$.jsx)(Wt[e.icon]||Ae,{className:`h-4 w-4`})}),(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[(0,$.jsx)(`span`,{className:U.label,children:e.name}),(0,$.jsx)(`span`,{className:G(U.caption,`line-clamp-1 font-mono select-text`),children:e.commandLine})]})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:bg-destructive hover:text-destructive-foreground transition-colors`,onClick:t=>{t.stopPropagation(),T(e.id)},children:(0,$.jsx)(He,{className:`h-4 w-4`})})})]},e.id))]}),(0,$.jsxs)(Hr,{variant:`outline`,className:`w-full border-dashed`,onClick:b,children:[(0,$.jsx)(Se,{className:`h-4 w-4 mr-2`}),` Add New Command`]})]})})]})})}function Ew(e){let t=e.match(/^cd\s+(.+?)\s+&&\s+(.+)$/);return t?{relativeFolder:t[1],commandLine:t[2]}:{commandLine:e}}function Dw(e){let t=(0,Q.c)(10),{script:n,onPinClick:r}=e,i=`Add ${n.friendlyName} as a project command`,a;t[0]!==r||t[1]!==n?(a=e=>{e.stopPropagation(),r(n)},t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(ie,{className:`h-3.5 w-3.5`}),t[3]=o):o=t[3];let s;t[4]!==i||t[5]!==a?(s=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`ml-auto h-6 w-6 shrink-0 opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100`,"aria-label":i,"data-script-pin":!0,onClick:a,children:o})}),t[4]=i,t[5]=a,t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Fr,{children:`Add as project command`}),t[7]=c):c=t[7];let l;return t[8]===s?l=t[9]:(l=(0,$.jsxs)(Mi,{children:[s,c]}),t[8]=s,t[9]=l),l}function Ow({workspaceEntries:e,hasMultipleWorkspaces:t,runningScripts:n,onScriptClick:r,onPinClick:i}){return t?e.map(([e,t])=>(0,$.jsxs)(_l,{children:[(0,$.jsx)(vl,{children:e}),(0,$.jsx)(yl,{className:`max-h-[min(400px,80vh)] overflow-y-auto`,children:t.map(e=>(0,$.jsxs)(xl,{onClick:()=>{r(e)},className:`group gap-2`,children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.friendlyName}),(0,$.jsx)(Dw,{script:e,onPinClick:i})]},e.name))})]},e)):e[0]?.[1].map(e=>(0,$.jsxs)(xl,{onClick:()=>{r(e)},className:`group gap-2`,children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.friendlyName}),(0,$.jsx)(Dw,{script:e,onPinClick:i})]},e.name))}function kw({workspaceEntries:e,hasMultipleWorkspaces:t,runningScripts:n,onScriptClick:r,onPinClick:i}){return t?e.map(([e,t])=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:e}),t.map(e=>(0,$.jsxs)(`div`,{className:`group flex items-center rounded-sm hover:bg-accent`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-sm`,onClick:()=>{r(e)},children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.friendlyName})]}),(0,$.jsx)(Dw,{script:e,onPinClick:i})]},e.name))]},e)):e[0]?.[1].map(e=>(0,$.jsxs)(`div`,{className:`group flex items-center rounded-sm hover:bg-accent`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-sm`,onClick:()=>{r(e)},children:[n.has(e.name)?(0,$.jsx)(ln,{className:`h-3 w-3 animate-spin shrink-0`}):(0,$.jsx)(`div`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.friendlyName})]}),(0,$.jsx)(Dw,{script:e,onPinClick:i})]},e.name))}function Aw({threadId:e,layout:t=`bar`}){let n=Ks(),r=X(e=>e.projects).find(t=>t.threads.some(t=>t.threadId===e)),{openChatDockPanel:i}=Wd(),{setDevServerUrl:a}=yw(),o=gC(),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(new Set),[d,f]=(0,Z.useState)(null),p=(0,Z.useRef)(new Map);(0,Z.useEffect)(()=>((async()=>{try{let t=await Ea(e);if(t.length===0){c(null);return}c(t),u(new Set(t.filter(e=>e.isRunning).map(e=>e.name)))}catch{c(null)}})(),()=>{for(let e of p.current.values())e.abort();p.current.clear()}),[e]);function m(t){if(typeof t==`string`){n({type:Y.AppendTerminalLine,threadId:e,line:{type:`output`,content:t}});return}if(!(!t||typeof t!=`object`)){if(xw(t)){bw({url:t.url,useBuiltInBrowser:r?.useBuiltInBrowser!==!1,setDevServerUrl:a,openBrowserPanel:()=>{i(`browser`)},openExternalUrl:ui,onTerminalMessage:t=>{n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:t}})}});return}`type`in t&&t.type===`error`&&`message`in t&&n({type:Y.AppendTerminalLine,threadId:e,line:{type:`error`,content:String(t.message)}})}}let h=async t=>{if(l.has(t.name)){let r=p.current.get(t.name);r&&(r.abort(),p.current.delete(t.name));try{await oo(e,t.name)}catch{}n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`■ ${t.friendlyName} stopped`}}),u(e=>{let n=new Set(e);return n.delete(t.name),n})}else{let r=new AbortController;p.current.set(t.name,r),u(e=>new Set([...e,t.name])),i(`terminal`),n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`▶ ${t.friendlyName}`}});try{let i=await Tr(e,t.name,t.command,{signal:r.signal});i&&await Fc(i,e=>{m(e)}),n({type:Y.AppendTerminalLine,threadId:e,line:{type:`system`,content:`✓ ${t.friendlyName} done`}})}catch{}finally{p.current.delete(t.name),u(e=>{let n=new Set(e);return n.delete(t.name),n})}}};if(!s)return null;let g=s.reduce((e,t)=>(e[t.workspace]||(e[t.workspace]=[]),e[t.workspace].push(t),e),{}),_=Object.entries(g).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,[...t].sort((e,t)=>e.friendlyName.localeCompare(t.friendlyName))]),v=_.length>1;function y(e){h(e)}function b(e){f(e)}function x(e){e||f(null)}function S(){f(null),n({type:Y.ConfigUpdated})}return t===`menu`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zo,{children:(0,$.jsxs)(Np,{children:[(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`w-full justify-start gap-2`,children:[(0,$.jsx)(ge,{className:`h-4 w-4 shrink-0`}),`Project Scripts`]})}),(0,$.jsx)(Fp,{align:`start`,className:`w-56 p-1`,children:(0,$.jsx)(kw,{workspaceEntries:_,hasMultipleWorkspaces:v,runningScripts:l,onScriptClick:y,onPinClick:b})})]})}),r&&(0,$.jsx)(Tw,{open:d!==null,onOpenChange:x,projectId:r.projectId,commands:r.commands??[],onRefresh:S,initialCommand:d?{name:d.friendlyName,...Ew(d.command)}:void 0})]}):(0,$.jsxs)(hl,{children:[(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-md`,className:o?nl:void 0,children:(0,$.jsx)(ge,{})})})}),(0,$.jsx)(Fr,{children:`Project Scripts`})]})}),(0,$.jsx)(bl,{align:`end`,className:`min-w-[180px]`,children:(0,$.jsx)(Ow,{workspaceEntries:_,hasMultipleWorkspaces:v,runningScripts:l,onScriptClick:y,onPinClick:b})}),r&&(0,$.jsx)(Tw,{open:d!==null,onOpenChange:x,projectId:r.projectId,commands:r.commands??[],onRefresh:S,initialCommand:d?{name:d.friendlyName,...Ew(d.command)}:void 0})]})}function jw({layout:e=`bar`,threadId:t}){let n=X(e=>e.selectedProjectId),r=X(e=>e.selectedThreadId),i=X(e=>e.projects),a=Ks(),{openChatDockPanel:o}=Wd(),{setDevServerUrl:s}=yw(),c=gC(),[l,u]=(0,Z.useState)(new Set),d=(0,Z.useRef)(new Map),f=t??r,p=i.find(e=>e.projectId===n),m=p?.commands??[];(0,Z.useEffect)(()=>()=>{let e=d.current;for(let t of e.values())t.abort();e.clear()},[f]);function h(e){if(f){if(typeof e==`string`){a({type:Y.AppendTerminalLine,threadId:f,line:{type:`output`,content:e}});return}if(!(!e||typeof e!=`object`)){if(xw(e)){bw({url:e.url,useBuiltInBrowser:p?.useBuiltInBrowser!==!1,setDevServerUrl:s,openBrowserPanel:()=>{o(`browser`)},openExternalUrl:ui,onTerminalMessage:e=>{a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:e}})}});return}`type`in e&&e.type===`error`&&`message`in e&&a({type:Y.AppendTerminalLine,threadId:f,line:{type:`error`,content:String(e.message)}})}}}async function g(e){if(!f)return;if(l.has(e.id)){let t=d.current.get(e.id);t&&(t.abort(),d.current.delete(e.id));try{await oo(f,e.id)}catch{}a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`■ ${e.name} stopped`}}),u(t=>{let n=new Set(t);return n.delete(e.id),n});return}let t=new AbortController;d.current.set(e.id,t),u(t=>new Set([...t,e.id])),o(`terminal`),a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`▶ ${e.name}`}});try{let n=await Tr(f,e.id,e.commandLine,{signal:t.signal,relativeFolder:e.relativeFolder});n&&await Fc(n,e=>{h(e)}),t.signal.aborted||a({type:Y.AppendTerminalLine,threadId:f,line:{type:`system`,content:`✓ ${e.name} done`}})}catch{}finally{d.current.delete(e.id),u(t=>{let n=new Set(t);return n.delete(e.id),n})}}return!n||m.length===0?null:e===`menu`?(0,$.jsx)($.Fragment,{children:m.map(e=>{let t=l.has(e.id),n=Wt[e.icon]||Ae;return(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:G(`w-full justify-start gap-2`,t&&`text-muted-foreground opacity-80`),onClick:()=>g(e),children:[(0,$.jsxs)(`span`,{className:`relative inline-flex items-center justify-center`,children:[t&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-[-8px] rounded-full border-2 border-brand/30 border-t-brand animate-spin`}),(0,$.jsx)(n,{className:G(`h-4 w-4 shrink-0`,t&&`opacity-60`)})]}),e.name]})}),(0,$.jsx)(Fr,{side:`right`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[10px] opacity-70 font-mono whitespace-pre-wrap max-w-[300px] max-h-[100px] overflow-y-auto`,children:e.commandLine}),t&&(0,$.jsx)(`span`,{className:`text-[10px] text-primary font-medium`,children:`Click to stop`})]})})]})},e.id)})}):(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsx)(Zo,{children:m.map(e=>{let t=l.has(e.id),n=Wt[e.icon]||Ae;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-md`,className:G(c&&!t&&`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,t&&`text-muted-foreground opacity-80`),onClick:()=>g(e),children:(0,$.jsxs)(`span`,{className:`relative inline-flex items-center justify-center`,children:[t&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-[-8px] rounded-full border-2 border-brand/30 border-t-brand animate-spin`}),(0,$.jsx)(n,{className:G(t&&`opacity-60`)})]})})}),(0,$.jsx)(Fr,{children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[10px] opacity-70 font-mono whitespace-pre-wrap max-w-[300px] max-h-[100px] overflow-y-auto`,children:e.commandLine}),t&&(0,$.jsx)(`span`,{className:`text-[10px] text-primary font-medium`,children:`Click to stop`})]})})]},e.id)})})})}var Mw=Ut(`app.task-agent-run.ui`);async function Nw(e,t){let n=await Ur(t),r=n.model,i=n.modelProvider;if(r&&i)return{model:r,provider:i};try{let t=(await Va(`api/threads?projectId=${encodeURIComponent(e)}`)||[]).map(e=>{let t=e;return{model:t.model??void 0,modelProvider:t.modelProvider??void 0}}).find(e=>e.model&&e.modelProvider);if(t?.model&&t.modelProvider)return{model:t.model,provider:t.modelProvider}}catch(e){Mw.error(`Failed to get project threads:`,e)}return null}function Pw(e,t,n,r){e({type:Y.SetProjectModel,threadId:t,model:{id:n,provider:r,name:n,description:``}}),Qa(t,{model:n,modelProvider:r})}async function Fw(e,t,n,r,i,a){i||a(await H_(e,t.id,{status:n,working:!0,threadId:r}))}function Iw(e){return!e.hasChanges&&e.defaultBranchBehind>0}function Lw(e){return e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits}function Rw(e){return e.hasUnpushedCommits&&e.prExists}function zw(e,t){return t?`Creating PR`:e.hasChanges?`Commit`:Rw(e)?`Update PR`:Lw(e)?`Open PR`:e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?`Create PR`:Iw(e)?`Sync`:`Commit`}function Bw(e,t,n=!1){return t||n||e.hasChanges||Rw(e)||Lw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||!e.hasChanges&&!e.hasUnpushedCommits&&!Iw(e)?null:Iw(e)?(0,$.jsx)(gt,{className:`h-3.5 w-3.5`}):(0,$.jsx)(g,{className:`h-3.5 w-3.5`})}function Vw(e){if(e.hasChanges)return e.changedFilesCount>0?`Commit ${e.changedFilesCount} changed file${e.changedFilesCount===1?``:`s`}`:`No changes to commit`;if(Rw(e))return`Update pull request with unpushed commits`;if(Lw(e))return`View pull request in GitHub`;if(e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges)return`Create pull request for committed changes`;if(Iw(e)){let t=e.defaultBranch??`main`,n=`${e.defaultBranchBehind} commit${e.defaultBranchBehind===1?``:`s`} behind origin/${t}`,r=e.defaultBranchAhead>0?`, ${e.defaultBranchAhead} commit${e.defaultBranchAhead===1?``:`s`} ahead`:``;return e.currentBranch===e.defaultBranch?`Your branch is ${n}${r}. Click to pull the latest changes.`:`Your branch "${e.currentBranch}" is ${n}${r}. Click to rebase onto the latest ${t}.`}return`No actions available`}function Hw(e,t,n=!1){return t||n?!0:Lw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||Iw(e)?!1:!e.hasChanges&&!e.hasUnpushedCommits}function Uw(e){return e.hasChanges||Lw(e)||Rw(e)||Iw(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges}var Ww=`flex items-center rounded-full frosted-surface text-foreground shadow-md backdrop-blur-sm transition-colors hover:bg-foreground hover:text-background dark:hover:bg-primary dark:hover:text-primary-foreground`,Gw=`flex items-center rounded-full bg-transparent scenic-chrome-button shadow-none backdrop-blur-none`,Kw=`h-10`,qw=`max-w-[12rem] justify-start gap-1.5 px-3`,Jw=`h-3.5 w-3.5 shrink-0 opacity-60`;function Yw(e){let t=(0,Q.c)(104),{branchStatus:n,remoteUrl:r,hasRemoteBranch:i,hasUnpushedCommits:a,canCreateRepo:o,repoUrl:s,isRefreshing:c,isCreatingPR:l,hasChanges:u,commitsAheadOfDefault:d,prExists:f,defaultBranch:p,defaultBranchAhead:m,defaultBranchBehind:h,gitUser:_,isDirectCommitMode:v,autoGenerateCommitMessage:y,isLoading:b,isLoadingHistory:x,isQuickCommitting:S,onFetch:C,onPull:w,onPush:T,onOpenHistory:E,onCreatePR:O,onCreateRepo:k,onViewInGitHub:A,onQuickCommit:j,onSyncWithDefault:M,onOpenChange:N,open:P,layout:F}=e,I=l===void 0?!1:l,L=F===void 0?`bar`:F,R=!!p&&!!r&&h>0,z=!u&&!b,B;t[0]!==I||t[1]!==c?(B=I||c?(0,$.jsx)(ln,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(Yt,{className:`h-4 w-4 shrink-0`}),t[0]=I,t[1]=c,t[2]=B):B=t[2];let H=B,ee;t[3]!==I||t[4]!==b||t[5]!==c||t[6]!==L||t[7]!==H?(ee=(0,$.jsx)(gl,{asChild:!0,children:L===`sidebar`?(0,$.jsx)(Hr,{variant:`ghost`,size:`icon-sm`,className:`shrink-0 text-muted-foreground`,disabled:b||I,"aria-label":`Git Ops`,children:H}):L===`bar`?(0,$.jsx)(`button`,{type:`button`,className:`flex h-full shrink-0 items-center rounded-r-full pr-3 pl-0.5 disabled:opacity-50`,disabled:b||I,"aria-label":`Git Ops`,children:I||c?(0,$.jsx)(ln,{className:G(Jw,`animate-spin`)}):(0,$.jsx)(Yt,{className:Jw})}):(0,$.jsxs)(Hr,{variant:`outline`,size:`sm`,className:`h-8 w-full justify-start gap-2 rounded-md px-1`,disabled:b||I,children:[(0,$.jsx)(`span`,{children:`Git Ops`}),I||c?(0,$.jsx)(ln,{className:`h-3.5 w-3.5 animate-spin`}):(0,$.jsx)(Yt,{className:`h-3.5 w-3.5`})]})}),t[3]=I,t[4]=b,t[5]=c,t[6]=L,t[7]=H,t[8]=ee):ee=t[8];let te=L===`sidebar`?`start`:`end`,ne;t[9]!==n||t[10]!==r?(ne=n===`Behind`&&(0,$.jsxs)(`div`,{className:G(U.compact,`px-2 py-1 text-amber-600`),children:[`Branch is behind `,r?`origin`:`remote`]}),t[9]=n,t[10]=r,t[11]=ne):ne=t[11];let ie;t[12]===_?ie=t[13]:(ie=_&&(0,$.jsxs)(`div`,{className:G(U.compact,`px-2 py-1 text-muted-foreground`),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:`User:`}),` `,_]}),t[12]=_,t[13]=ie);let ae;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(Tl,{}),t[14]=ae):ae=t[14];let oe;t[15]!==z||t[16]!==p||t[17]!==m||t[18]!==h||t[19]!==u||t[20]!==M||t[21]!==R?(oe=R&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:()=>{z&&M()},className:z?``:`opacity-50 cursor-not-allowed`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 mr-2`}),`Sync with `,p,(0,$.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 pl-3 text-xs tabular-nums text-muted-foreground`,children:[m>0&&(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,$.jsx)(V,{className:`h-3 w-3`}),m]}),h>0&&(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,$.jsx)(gt,{className:`h-3 w-3`}),h]})]})]})}),(0,$.jsx)(Fr,{side:`right`,children:u?`Commit or stash changes before syncing with the default branch`:`Pull latest changes from origin/${p} onto your current branch`})]})}),t[15]=z,t[16]=p,t[17]=m,t[18]=h,t[19]=u,t[20]=M,t[21]=R,t[22]=oe):oe=t[22];let se;t[23]!==y||t[24]!==u||t[25]!==b||t[26]!==S||t[27]!==j?(se=u&&y&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:j,disabled:b||S,children:[S?(0,$.jsx)(ln,{className:`h-3.5 w-3.5 mr-2 animate-spin`}):(0,$.jsx)(Ye,{className:`h-3.5 w-3.5 mr-2`}),`Quick Commit`,(0,$.jsx)(El,{children:`⌘⇧C`})]})}),(0,$.jsx)(Fr,{side:`right`,children:`Generate the commit message and commit`})]})}),t[23]=y,t[24]=u,t[25]=b,t[26]=S,t[27]=j,t[28]=se):se=t[28];let ce;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Rt,{className:`h-3.5 w-3.5 mr-2`}),t[29]=ce):ce=t[29];let le;t[30]!==b||t[31]!==C?(le=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:C,disabled:b,children:[ce,`Fetch`]})}),t[30]=b,t[31]=C,t[32]=le):le=t[32];let ue;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(Fr,{side:`right`,children:`Download latest information from remote without merging changes`}),t[33]=ue):ue=t[33];let W;t[34]===le?W=t[35]:(W=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[le,ue]})}),t[34]=le,t[35]=W);let de;t[36]!==i||t[37]!==b||t[38]!==w?(de=()=>{i&&!b&&w()},t[36]=i,t[37]=b,t[38]=w,t[39]=de):de=t[39];let fe=!i||b?`opacity-50 cursor-not-allowed`:``,pe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(gt,{className:`h-3.5 w-3.5 mr-2`}),t[40]=pe):pe=t[40];let me;t[41]!==de||t[42]!==fe?(me=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:de,className:fe,children:[pe,`Pull`]})}),t[41]=de,t[42]=fe,t[43]=me):me=t[43];let he=i?`Pull latest changes from remote`:`No remote branch to pull from`,ge;t[44]===he?ge=t[45]:(ge=(0,$.jsx)(Fr,{side:`right`,children:he}),t[44]=he,t[45]=ge);let _e;t[46]!==me||t[47]!==ge?(_e=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[me,ge]})}),t[46]=me,t[47]=ge,t[48]=_e):_e=t[48];let ve;t[49]!==i||t[50]!==b||t[51]!==T?(ve=!i&&(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:T,disabled:b,children:[(0,$.jsx)(Pe,{className:`h-3.5 w-3.5 mr-2`}),`Push Branch to Remote`]})}),(0,$.jsx)(Fr,{side:`right`,children:`Create remote branch and push local commits`})]})}),t[49]=i,t[50]=b,t[51]=T,t[52]=ve):ve=t[52];let ye;t[53]!==a||t[54]!==b||t[55]!==T?(ye=()=>{a&&!b&&T()},t[53]=a,t[54]=b,t[55]=T,t[56]=ye):ye=t[56];let be=!a||b?`opacity-50 cursor-not-allowed`:``,xe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Pe,{className:`h-3.5 w-3.5 mr-2`}),t[57]=xe):xe=t[57];let Se;t[58]!==ye||t[59]!==be?(Se=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(xl,{onClick:ye,className:be,children:[xe,`Push Commits`]})}),t[58]=ye,t[59]=be,t[60]=Se):Se=t[60];let Ce=a?b?`Push in progress...`:`Push your uncommitted commits to the remote branch`:`No commits to push - your branch is up to date with remote`,we;t[61]===Ce?we=t[62]:(we=(0,$.jsx)(Fr,{side:`right`,children:Ce}),t[61]=Ce,t[62]=we);let Te;t[63]!==Se||t[64]!==we?(Te=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[Se,we]})}),t[63]=Se,t[64]=we,t[65]=Te):Te=t[65];let Ee=b||x,De;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,$.jsx)(bt,{className:`h-3.5 w-3.5 mr-2`}),t[66]=De):De=t[66];let Oe;t[67]!==E||t[68]!==Ee?(Oe=(0,$.jsxs)(xl,{onClick:E,disabled:Ee,children:[De,`History`]}),t[67]=E,t[68]=Ee,t[69]=Oe):Oe=t[69];let ke;t[70]!==d||t[71]!==u||t[72]!==v||t[73]!==b||t[74]!==O||t[75]!==f?(ke=!v&&d&&!f&&!u&&(0,$.jsxs)(xl,{onClick:O,disabled:b,children:[(0,$.jsx)(g,{className:`h-3.5 w-3.5 mr-2`}),`Create Pull Request`,(0,$.jsx)(El,{children:`⌘⇧P`})]}),t[70]=d,t[71]=u,t[72]=v,t[73]=b,t[74]=O,t[75]=f,t[76]=ke):ke=t[76];let Ae;t[77]!==o||t[78]!==b||t[79]!==k?(Ae=o&&(0,$.jsxs)(xl,{onClick:k,disabled:b,children:[(0,$.jsx)(re,{className:`h-3.5 w-3.5 mr-2`}),`Create Repo`]}),t[77]=o,t[78]=b,t[79]=k,t[80]=Ae):Ae=t[80];let je;t[81]!==b||t[82]!==A||t[83]!==s?(je=s&&(0,$.jsxs)(xl,{onClick:A,disabled:b,children:[(0,$.jsx)(pt,{className:`h-3.5 w-3.5 mr-2`}),`View in GitHub`,(0,$.jsx)(El,{children:`⌘⇧G`})]}),t[81]=b,t[82]=A,t[83]=s,t[84]=je):je=t[84];let Me;t[85]!==se||t[86]!==W||t[87]!==_e||t[88]!==ve||t[89]!==Te||t[90]!==Oe||t[91]!==ke||t[92]!==Ae||t[93]!==je||t[94]!==te||t[95]!==ne||t[96]!==ie||t[97]!==oe?(Me=(0,$.jsxs)(bl,{align:te,children:[ne,ie,ae,oe,se,W,_e,ve,Te,Oe,ke,Ae,je]}),t[85]=se,t[86]=W,t[87]=_e,t[88]=ve,t[89]=Te,t[90]=Oe,t[91]=ke,t[92]=Ae,t[93]=je,t[94]=te,t[95]=ne,t[96]=ie,t[97]=oe,t[98]=Me):Me=t[98];let Ne;return t[99]!==N||t[100]!==P||t[101]!==Me||t[102]!==ee?(Ne=(0,$.jsxs)(hl,{open:P,onOpenChange:N,children:[ee,Me]}),t[99]=N,t[100]=P,t[101]=Me,t[102]=ee,t[103]=Ne):Ne=t[103],Ne}var Xw=(0,Z.lazy)(()=>us(()=>import(`./commit-dialog-ClrhP7Jd.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([3,4,1,5]))),Zw=(0,Z.lazy)(()=>us(()=>import(`./pull-request-dialog-BC_tPcL-.js`).then(e=>({default:e.PullRequestDialog})),__vite__mapDeps([6,4,1,5]))),Qw=(0,Z.lazy)(()=>us(()=>import(`./create-repo-dialog-CUm5YAtV.js`).then(e=>({default:e.CreateRepoDialog})),__vite__mapDeps([7,4,1,5]))),$w=(0,Z.lazy)(()=>us(()=>import(`./git-history-dialog-NdDkNMAP.js`).then(e=>({default:e.GitHistoryDialog})),__vite__mapDeps([8,4,1,5]))),eT=(0,Z.lazy)(()=>us(()=>import(`./push-before-pr-dialog-GZEUiZUR.js`).then(e=>({default:e.PushBeforePRDialog})),__vite__mapDeps([9,4,1,5]))),tT=(0,Z.lazy)(()=>us(()=>import(`./pull-with-changes-dialog-CaOxy8gu.js`).then(e=>({default:e.PullWithChangesDialog})),__vite__mapDeps([10,4,1,5]))),nT=(0,Z.lazy)(()=>us(()=>import(`./commit-error-dialog-Clt0BgiE.js`).then(e=>({default:e.CommitErrorDialog})),__vite__mapDeps([11,1,4,5])));function rT(){return null}function iT(e){let t=(0,Q.c)(72),{isLoading:n,currentBranch:r,commitError:i,onDismissCommitError:a,onFixCommitErrorInChat:o,commit:s,pullRequest:c,pushBeforePR:l,createRepo:u,history:d,pullWithChanges:f}=e,p;t[0]!==i||t[1]!==a||t[2]!==o?(p=i&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(nT,{error:i,onDismiss:a,onFixInChat:o})}),t[0]=i,t[1]=a,t[2]=o,t[3]=p):p=t[3];let m;t[4]!==s.autoGenerate||t[5]!==s.isGenerating||t[6]!==s.isOpen||t[7]!==s.message||t[8]!==s.onAutoGenerateChange||t[9]!==s.onCommit||t[10]!==s.onGenerateMessage||t[11]!==s.onMessageChange||t[12]!==s.onOpenChange||t[13]!==r||t[14]!==n?(m=s.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(Xw,{open:s.isOpen,onOpenChange:s.onOpenChange,commitMessage:s.message,onCommitMessageChange:s.onMessageChange,autoGenerateCommitMessage:s.autoGenerate,onAutoGenerateChange:s.onAutoGenerateChange,isGeneratingMessage:s.isGenerating,isLoading:n,onGenerateMessage:s.onGenerateMessage,onCommit:s.onCommit,currentBranch:r})}),t[4]=s.autoGenerate,t[5]=s.isGenerating,t[6]=s.isOpen,t[7]=s.message,t[8]=s.onAutoGenerateChange,t[9]=s.onCommit,t[10]=s.onGenerateMessage,t[11]=s.onMessageChange,t[12]=s.onOpenChange,t[13]=r,t[14]=n,t[15]=m):m=t[15];let h;t[16]!==r||t[17]!==n||t[18]!==c.autoGenerate||t[19]!==c.createBranchAfterPR||t[20]!==c.description||t[21]!==c.isGeneratingInfo||t[22]!==c.isOpen||t[23]!==c.onAutoGenerateChange||t[24]!==c.onCreateBranchAfterPRChange||t[25]!==c.onCreatePR||t[26]!==c.onDescriptionChange||t[27]!==c.onGenerateInfo||t[28]!==c.onOpenChange||t[29]!==c.onTitleChange||t[30]!==c.title?(h=c.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(Zw,{open:c.isOpen,onOpenChange:c.onOpenChange,prTitle:c.title,onPrTitleChange:c.onTitleChange,prDescription:c.description,onPrDescriptionChange:c.onDescriptionChange,isGeneratingPRInfo:c.isGeneratingInfo,isLoading:n,onGeneratePRInfo:c.onGenerateInfo,onCreatePR:c.onCreatePR,currentBranch:r,autoGeneratePRInfo:c.autoGenerate,onAutoGeneratePRInfoChange:c.onAutoGenerateChange,createBranchAfterPR:c.createBranchAfterPR,onCreateBranchAfterPRChange:c.onCreateBranchAfterPRChange})}),t[16]=r,t[17]=n,t[18]=c.autoGenerate,t[19]=c.createBranchAfterPR,t[20]=c.description,t[21]=c.isGeneratingInfo,t[22]=c.isOpen,t[23]=c.onAutoGenerateChange,t[24]=c.onCreateBranchAfterPRChange,t[25]=c.onCreatePR,t[26]=c.onDescriptionChange,t[27]=c.onGenerateInfo,t[28]=c.onOpenChange,t[29]=c.onTitleChange,t[30]=c.title,t[31]=h):h=t[31];let g;t[32]!==n||t[33]!==l.isOpen||t[34]!==l.onCancel||t[35]!==l.onOpenChange||t[36]!==l.onPushAndCreatePR?(g=l.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(eT,{open:l.isOpen,onOpenChange:l.onOpenChange,isLoading:n,onPushAndCreatePR:l.onPushAndCreatePR,onCancel:l.onCancel})}),t[32]=n,t[33]=l.isOpen,t[34]=l.onCancel,t[35]=l.onOpenChange,t[36]=l.onPushAndCreatePR,t[37]=g):g=t[37];let _;t[38]!==u.description||t[39]!==u.isOpen||t[40]!==u.isPrivate||t[41]!==u.name||t[42]!==u.onCreateRepo||t[43]!==u.onDescriptionChange||t[44]!==u.onNameChange||t[45]!==u.onOpenChange||t[46]!==u.onPrivateChange||t[47]!==n?(_=u.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(Qw,{open:u.isOpen,onOpenChange:u.onOpenChange,repoName:u.name,onRepoNameChange:u.onNameChange,repoDescription:u.description,onRepoDescriptionChange:u.onDescriptionChange,isPrivateRepo:u.isPrivate,onPrivateRepoChange:u.onPrivateChange,isLoading:n,onCreateRepo:u.onCreateRepo})}),t[38]=u.description,t[39]=u.isOpen,t[40]=u.isPrivate,t[41]=u.name,t[42]=u.onCreateRepo,t[43]=u.onDescriptionChange,t[44]=u.onNameChange,t[45]=u.onOpenChange,t[46]=u.onPrivateChange,t[47]=n,t[48]=_):_=t[48];let v;t[49]!==r||t[50]!==d.commits||t[51]!==d.displayedCommits||t[52]!==d.isLoadingMore||t[53]!==d.isOpen||t[54]!==d.onOpenChange||t[55]!==d.onScroll?(v=d.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)($w,{open:d.isOpen,onOpenChange:d.onOpenChange,commits:d.commits,displayedCommits:d.displayedCommits,isLoadingMore:d.isLoadingMore,onScroll:d.onScroll,currentBranch:r})}),t[49]=r,t[50]=d.commits,t[51]=d.displayedCommits,t[52]=d.isLoadingMore,t[53]=d.isOpen,t[54]=d.onOpenChange,t[55]=d.onScroll,t[56]=v):v=t[56];let y;t[57]!==n||t[58]!==f.isOpen||t[59]!==f.onCancel||t[60]!==f.onCommitFirst||t[61]!==f.onOpenChange||t[62]!==f.onStashAndPull?(y=f.isOpen&&(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rT,{}),children:(0,$.jsx)(tT,{open:f.isOpen,onOpenChange:f.onOpenChange,onCommitFirst:f.onCommitFirst,onStashAndPull:f.onStashAndPull,onCancel:f.onCancel,isLoading:n})}),t[57]=n,t[58]=f.isOpen,t[59]=f.onCancel,t[60]=f.onCommitFirst,t[61]=f.onOpenChange,t[62]=f.onStashAndPull,t[63]=y):y=t[63];let b;return t[64]!==p||t[65]!==m||t[66]!==h||t[67]!==g||t[68]!==_||t[69]!==v||t[70]!==y?(b=(0,$.jsxs)($.Fragment,{children:[p,m,h,g,_,v,y]}),t[64]=p,t[65]=m,t[66]=h,t[67]=g,t[68]=_,t[69]=v,t[70]=y,t[71]=b):b=t[71],b}function aT(e){let t=e.split(`/`);return t.length>=2?{provider:t[0],model:t.slice(1).join(`/`)}:{provider:void 0,model:e}}var oT=Ut(`app.use-ai-generation.hook`);function sT(e,t,n){let[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(!1),s=()=>n?.id?n.provider?{provider:n.provider,model:n.id}:aT(n.id):{provider:void 0,model:void 0};return{isGeneratingMessage:r,isGeneratingPRInfo:a,generateCommitMessageWithAI:(0,Z.useCallback)(async()=>{if(!e)return null;try{i(!0);let{provider:t,model:n}=s();return await Co(e,n,t)}catch(e){return oT.error(`Failed to generate commit message:`,e),ac({title:`Error`,description:e instanceof Error?e.message:`Failed to generate commit message`,variant:`destructive`}),null}finally{i(!1)}},[e,n]),generatePRInfoWithAI:(0,Z.useCallback)(async()=>{if(!e)return null;try{o(!0);let{provider:t,model:n}=s();return await ri(e,n,t)}catch(e){return oT.error(`Failed to generate PR info:`,e),ac({title:`Error`,description:e instanceof Error?e.message:`Failed to generate PR info`,variant:`destructive`}),null}finally{o(!1)}},[e,n])}}function cT(){return{autoGenerateCommitMessage:Di(),autoGeneratePRInfo:ss(),createBranchAfterPR:Xr(),privateRepositoryDefault:$i(),newChatOnNewBranch:ni()}}function lT(e){e.autoGenerateCommitMessage!==void 0&&go(e.autoGenerateCommitMessage),e.autoGeneratePRInfo!==void 0&&Mo(e.autoGeneratePRInfo),e.createBranchAfterPR!==void 0&&Bo(e.createBranchAfterPR),e.privateRepositoryDefault!==void 0&&oa(e.privateRepositoryDefault),e.newChatOnNewBranch!==void 0&&co(e.newChatOnNewBranch)}function uT(e){return e?!0:(ac({title:`Error`,description:`No thread selected`,variant:`destructive`}),!1)}async function dT(e,t,n,r){r&&(await Qa(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r}))}var fT=2e3,pT=6;function mT(e,t){let n=0;e.current!==null&&clearInterval(e.current),e.current=setInterval(async()=>{if(n++,n>=pT){e.current!==null&&(clearInterval(e.current),e.current=null);return}await t(!0)},fT)}var hT=new Set;function gT(e){return hT.add(e),function(){hT.delete(e)}}function _T(){for(let e of hT)e()}var vT=Ut(`app.git-ops-button.ui`),yT=10;function bT(e){let{projectId:t,threadId:n,projectName:r,dispatch:i,aiGeneration:a,unifiedGitStatus:o}=e,[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(null),T=(0,Z.useRef)(!1),E=(0,Z.useRef)(!1),D=(0,Z.useRef)(_),O=(0,Z.useRef)(y);D.current=_,O.current=y;let[k,A]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)([]),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)([]),[L,R]=(0,Z.useState)(!1),[z,B]=(0,Z.useState)(!1),[V,H]=(0,Z.useState)(``),[ee,te]=(0,Z.useState)(``),[ne,re]=(0,Z.useState)(``),[ie,ae]=(0,Z.useState)(!1),[oe,se]=(0,Z.useState)(!1),[U,ce]=(0,Z.useState)(!1),[le,ue]=(0,Z.useState)(null),[W,de]=(0,Z.useState)(!1),[fe,pe]=(0,Z.useState)(null),me=(0,Z.useRef)(!1),he=(0,Z.useRef)(null);(0,Z.useEffect)(()=>()=>{he.current!==null&&(clearInterval(he.current),he.current=null)},[]);async function ge(){Si();let e=await lo();i({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}async function _e(e){if(ve.createBranchAfterPR)try{let t=await Po(n,e);e&&pe(e),ac({title:`New branch created`,description:e?`Created new branch "${t.branchName}" from PR branch "${e}"`:`Created new branch "${t.branchName}" from the latest default branch`}),await o.fetchUnifiedStatus(!0),ge()}catch(e){vT.error(`Failed to create new branch after PR:`,e),ac({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}}let[ve,ye]=(0,Z.useState)(()=>cT());(0,Z.useEffect)(()=>{z&&r&&!V&&H(r)},[z,r,V]),(0,Z.useEffect)(()=>{lT(ve)},[ve]);function be(){ie||(ae(!0),Ti().then(e=>re(e)).catch(()=>{}))}function xe(e){de(e),e&&(be(),o.fetchUnifiedStatus(!0))}(0,Z.useEffect)(()=>{l&&o.prExists&&o.prState===`OPEN`&&u(!1)},[o.prExists,o.prState,l]),(0,Z.useEffect)(()=>{if(!l)return;let e=setTimeout(()=>{u(!1)},15e3);return()=>clearTimeout(e)},[l]),(0,Z.useEffect)(()=>{let e=o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits;e&&!me.current&&ge(),me.current=e},[o.hasChanges,o.hasUnpushedCommits,o.prExists,o.prState]);async function Se(){if(h.trim()&&uT(n))try{c(!0),await Oa(n,h),g(``),f(!1),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Changes committed successfully`,description:`Your changes have been committed to '${o.currentBranch}'.`}),U&&(ce(!1),await je())}catch(e){vT.error(`Failed to commit:`,e),ue({title:`Commit failed`,message:e instanceof Error?e.message:`Failed to commit changes`})}finally{c(!1)}}function Ce(){ue(null)}async function we(){if(!uT(n))return;let e=o.prUrl;if(!e)try{e=(await wi(n)).url}catch(e){vT.error(`Failed to fetch pull request URL:`,e),ac({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to fetch pull request URL`,variant:`destructive`});return}if(!e){ac({title:`Could not open pull request`,description:`Pull request URL is unavailable. Try refreshing git status.`,variant:`destructive`});return}try{await ui(e)}catch(e){vT.error(`Failed to open pull request:`,e),ac({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to open URL in browser`,variant:`destructive`})}}async function Te(){if(o.hasChanges){f(!0);return}if(o.hasUnpushedCommits&&o.prExists){let e=o.prState;try{e=(await wi(n)).state??e}catch(e){vT.warn(`Could not refresh pull request state before update:`,e)}if(e===`MERGED`){_T();return}await ke();return}if(o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits){await we();return}if(o.commitsAheadOfDefault&&!o.prExists&&!o.hasChanges){m(!0);return}if(o.defaultBranchBehind>0){await Pe();return}}async function Ee(){let e=await a.generateCommitMessageWithAI();e&&g(e)}async function De(){if(uT(n))try{c(!0);let e=await a.generateCommitMessageWithAI();if(!e){ac({title:`Quick Commit failed`,description:`Could not generate commit message`,variant:`destructive`});return}await Oa(n,e),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Changes committed successfully`,description:`Committed: ${e}`})}catch(e){vT.error(`Quick commit failed:`,e),ue({title:`Quick Commit failed`,message:e instanceof Error?e.message:`Failed to commit changes`})}finally{c(!1)}}async function Oe(){if(uT(n))try{c(!0),await To(n),await o.fetchUnifiedStatus()}catch(e){vT.error(`Failed to fetch:`,e)}finally{c(!1)}}async function ke(){if(uT(n))try{c(!0),await ca(n),await o.fetchUnifiedStatus(!0),ge(),o.hasRemoteBranch?ac({title:`Branch pushed successfully`,description:`Your branch '${o.currentBranch}' has been pushed to the remote.`}):ac({title:`Push completed`,description:`Changes have been pushed successfully.`})}catch(e){vT.error(`Failed to push:`,e),ac({title:`Push failed`,description:e instanceof Error?e.message:`Failed to push to remote`,variant:`destructive`})}finally{c(!1)}}async function Ae(){if(uT(n)){if(o.hasChanges){se(!0);return}await je()}}async function je(){try{c(!0),await Ha(n),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Pull successful`,description:`Latest changes have been pulled from remote.`})}catch(e){vT.error(`Failed to pull:`,e),ac({title:`Pull failed`,description:e instanceof Error?e.message:`Failed to pull from remote`,variant:`destructive`})}finally{c(!1)}}function Me(){se(!1),ce(!0),f(!0)}async function Ne(){se(!1),await je()}async function Pe(){if(uT(n))try{c(!0),await Ao(n),await o.fetchUnifiedStatus(!0),ge(),ac({title:`Branch synced successfully`,description:`Your branch '${o.currentBranch}' has been synced with the latest changes`})}catch(e){vT.error(`[sync] ✗ Failed to sync branch:`,e),ac({title:`Sync failed`,description:e instanceof Error?e.message:`Failed to sync with default branch`,variant:`destructive`})}finally{c(!1)}}async function Fe(){if(uT(n))try{c(!0),u(!0);let e=await uo(n,_,y,fe??void 0);await dT(n,t,i,e.title??_),e.prUrl&&await ui(e.prUrl),v(``),b(``),m(!1),await o.fetchUnifiedStatus(!0),ge(),await _e(e.branchName),mT(he,o.fetchUnifiedStatus)}catch(e){vT.error(`Failed to create PR:`,e);let t=e instanceof Error?e.message:`Failed to create PR`;t.includes(`push the current branch`)||t.includes(`--head flag`)?(m(!1),Re({title:_,description:y})):(u(!1),ac({title:`Create PR Failed`,description:t,variant:`destructive`}))}finally{c(!1)}}async function Ie(){if(uT(n))try{c(!0);let e=await si(n,V,ee,ve.privateRepositoryDefault);e.repoUrl&&setTimeout(()=>{ui(e.repoUrl)},3e3),H(``),te(``),B(!1),await o.fetchUnifiedStatus(),ge()}catch(e){vT.error(`Failed to create repo:`,e)}finally{c(!1)}}async function Le(){let e=await a.generatePRInfoWithAI();e&&(v(e.title),b(e.description),ac({title:`Success`,description:`PR title and description generated`}))}async function Re(e){let r=e??C;if(!(!n||!r))try{c(!0),u(!0);try{await ca(n)}catch(e){let t=e?.message??``;if(t.includes(`non-fast-forward`)||t.includes(`Updates were rejected because the tip of your current branch is behind`)){ac({title:`Syncing branch before push`,description:`Your branch is behind remote. Pulling latest changes first...`});try{await Ao(n),await ca(n)}catch{throw e}}else throw e}let e=await uo(n,r.title,r.description,fe??void 0);await dT(n,t,i,e.title??r.title),e.prUrl&&await ui(e.prUrl),v(``),b(``),w(null),S(!1),await o.fetchUnifiedStatus(!0),ge(),await _e(e.branchName),mT(he,o.fetchUnifiedStatus)}catch(e){vT.error(`Failed to push and create PR:`,e);let t=e instanceof Error?e.message:`Failed to push and create PR`;u(!1),ac({title:`Push & Create PR Failed`,description:t,variant:`destructive`})}finally{c(!1)}}async function ze(){if(uT(n))try{P(!0);let e=await Yi(n,100);M(e),I(e.slice(0,yT)),A(!0)}catch(e){vT.error(`Failed to fetch git history:`,e)}finally{P(!1)}}function Be(){L||(R(!0),setTimeout(()=>{let e=F.length+yT;I(j.slice(0,e)),R(!1)},300))}function Ve(e){let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<100&&F.length<j.length&&!L&&Be()}function He(){o.repoUrl&&ui(o.repoUrl)}function Ue(){S(!1),w(null)}return{isLoading:s,isCreatingPR:l,isCommitDialogOpen:d,setIsCommitDialogOpen:f,isPRDialogOpen:p,setIsPRDialogOpen:m,commitMessage:h,setCommitMessage:g,prTitle:_,setPrTitle:v,prDescription:y,setPrDescription:b,isPushBeforePRDialogOpen:x,setIsPushBeforePRDialogOpen:S,prGenerationRef:T,commitGenerationRef:E,prTitleRef:D,prDescriptionRef:O,isHistoryDialogOpen:k,setIsHistoryDialogOpen:A,commits:j,displayedCommits:F,isLoadingHistory:N,isLoadingMore:L,isRepoDialogOpen:z,setIsRepoDialogOpen:B,repoName:V,setRepoName:H,repoDescription:ee,setRepoDescription:te,gitUser:ne,isPullWithChangesDialogOpen:oe,setIsPullWithChangesDialogOpen:se,commitError:le,dismissCommitError:Ce,isGitOpsMenuOpen:W,userPrefs:ve,setUserPrefsState:ye,handleGitOpsMenuOpenChange:xe,handleCommit:Se,handleOpenPullRequest:we,handleMainButtonClick:Te,handleGenerateCommitMessage:Ee,handleQuickCommit:De,handleFetch:Oe,handlePush:ke,handlePull:Ae,handleSyncBranch:Pe,handleCreatePR:Fe,handleCreateRepo:Ie,handleGeneratePRInfo:Le,handlePushAndCreatePR:Re,handleOpenHistory:ze,handleScroll:Ve,handleViewInGitHub:He,handleCancelPushBeforePR:Ue,handleCommitFirstAndPull:Me,handleStashAndPull:Ne}}function xT(e){let t=(0,Q.c)(29),{threadId:n,aiGeneration:r,isCommitDialogOpen:i,commitMessage:a,setCommitMessage:o,autoGenerateCommitMessage:s,commitGenerationRef:c,isPRDialogOpen:l,prTitleRef:u,prDescriptionRef:d,setPrTitle:f,setPrDescription:p,autoGeneratePRInfo:m,prGenerationRef:h}=e,g;t[0]!==r||t[1]!==s||t[2]!==c||t[3]!==a||t[4]!==i||t[5]!==o||t[6]!==n?(g=()=>{if(!i){c.current=!1;return}i&&s&&!a.trim()&&n&&!c.current&&(c.current=!0,(async function(){let e=await r.generateCommitMessageWithAI();e&&o(e)})())},t[0]=r,t[1]=s,t[2]=c,t[3]=a,t[4]=i,t[5]=o,t[6]=n,t[7]=g):g=t[7];let _;t[8]!==r.generateCommitMessageWithAI||t[9]!==s||t[10]!==a||t[11]!==i||t[12]!==n?(_=[i,s,n,r.generateCommitMessageWithAI,a],t[8]=r.generateCommitMessageWithAI,t[9]=s,t[10]=a,t[11]=i,t[12]=n,t[13]=_):_=t[13],(0,Z.useEffect)(g,_);let v;t[14]!==r||t[15]!==m||t[16]!==l||t[17]!==d||t[18]!==h||t[19]!==u||t[20]!==p||t[21]!==f||t[22]!==n?(v=()=>{if(!l){h.current=!1;return}l&&m&&!u.current.trim()&&!d.current.trim()&&n&&!h.current&&(h.current=!0,(async function(){let e=await r.generatePRInfoWithAI();e&&(f(e.title),p(e.description))})())},t[14]=r,t[15]=m,t[16]=l,t[17]=d,t[18]=h,t[19]=u,t[20]=p,t[21]=f,t[22]=n,t[23]=v):v=t[23];let y;t[24]!==r.generatePRInfoWithAI||t[25]!==m||t[26]!==l||t[27]!==n?(y=[l,m,n,r.generatePRInfoWithAI],t[24]=r.generatePRInfoWithAI,t[25]=m,t[26]=l,t[27]=n,t[28]=y):y=t[28],(0,Z.useEffect)(v,y)}function ST(e){let{unifiedGitStatus:t,autoGenerateCommitMessage:n,isLoading:r,isCreatingPR:i,isDirectCommitMode:a,onQuickCommit:o,onCreatePR:s,onViewInGitHub:c,onOpenGitOpsMenu:l}=e,u=(0,Z.useRef)(o),d=(0,Z.useRef)(s),f=(0,Z.useRef)(c),p=(0,Z.useRef)(l);u.current=o,d.current=s,f.current=c,p.current=l,(0,Z.useEffect)(()=>{function e(e){let o=e.key.toLowerCase();if((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey){if(o===`c`){t.hasChanges&&n&&!r&&(e.preventDefault(),u.current());return}if(o===`p`){t.commitsAheadOfDefault&&!t.prExists&&!t.hasChanges&&!r&&!a&&(e.preventDefault(),d.current());return}if(o===`g`){t.repoUrl&&!r&&(e.preventDefault(),f.current());return}o===`b`&&!r&&!i&&(e.preventDefault(),p.current())}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t.commitsAheadOfDefault,t.hasChanges,t.prExists,t.repoUrl,n,r,i,a])}var CT=Ut(`app.git-ops-button`);function wT(e){return[`The git commit in this thread failed with the error below.`,`Diagnose the cause and fix the project so I can retry the commit.`,``,`Git error:`,e.message].join(`
3325
+ `)}function TT(e){let t=(0,Q.c)(28),{isBrandState:n,isMainButtonVisuallyDisabled:r,isMainButtonHardDisabled:i,mainButtonDisabled:a,mainButtonText:o,mainButtonIcon:s,tooltip:c,onMainButtonClick:l,dropdown:u}=e,d=n&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,f=n&&r&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`,p=!n&&r&&`cursor-default`,m;t[0]!==d||t[1]!==f||t[2]!==p?(m=G(`min-w-0 w-full justify-start`,d,f,p),t[0]=d,t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=a?void 0:l,g=!n&&r&&`text-muted-foreground opacity-50`,_=n&&`font-medium text-white`,v;t[4]!==g||t[5]!==_?(v=G(`flex min-w-0 flex-1 items-center gap-2`,g,_),t[4]=g,t[5]=_,t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=G(U.body,`truncate`),t[7]=y):y=t[7];let b;t[8]===o?b=t[9]:(b=(0,$.jsx)(`span`,{className:y,children:o}),t[8]=o,t[9]=b);let x;t[10]!==s||t[11]!==v||t[12]!==b?(x=(0,$.jsxs)(`span`,{className:v,children:[s,b]}),t[10]=s,t[11]=v,t[12]=b,t[13]=x):x=t[13];let S;t[14]!==i||t[15]!==a||t[16]!==x||t[17]!==m||t[18]!==h?(S=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(ja,{asChild:!0,className:`min-w-0 flex-1`,children:(0,$.jsx)(`button`,{type:`button`,className:m,disabled:i,"aria-disabled":a,onClick:h,children:x})})}),t[14]=i,t[15]=a,t[16]=x,t[17]=m,t[18]=h,t[19]=S):S=t[19];let C;t[20]===c?C=t[21]:(C=(0,$.jsx)(Fr,{side:`right`,children:c}),t[20]=c,t[21]=C);let w;t[22]!==S||t[23]!==C?(w=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[S,C]})}),t[22]=S,t[23]=C,t[24]=w):w=t[24];let T;return t[25]!==u||t[26]!==w?(T=(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-center`,children:[w,u]}),t[25]=u,t[26]=w,t[27]=T):T=t[27],T}function ET(e){let t=(0,Q.c)(31),{footerPillButtonClass:n,isBrandState:r,isMainButtonVisuallyDisabled:i,isMainButtonHardDisabled:a,mainButtonDisabled:o,mainButtonText:s,mainButtonIcon:c,tooltip:l,onMainButtonClick:u,dropdown:d}=e,f=r&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,p=r&&i&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`,m;t[0]!==n||t[1]!==f||t[2]!==p?(m=G(n,Kw,qw,`group min-w-0 gap-0 px-0`,f,p),t[0]=n,t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=i&&`cursor-default`,g=r&&`text-white`,_;t[4]!==h||t[5]!==g?(_=G(U.compact,`flex min-w-0 flex-1 items-center gap-1.5 rounded-l-full pl-3 pr-0.5 disabled:opacity-50`,h,g),t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=o?void 0:u,y=r&&`font-medium`,b=!r&&i&&`opacity-50`,x;t[7]!==y||t[8]!==b?(x=G(`inline-flex min-w-0 items-center gap-1.5 truncate`,y,b),t[7]=y,t[8]=b,t[9]=x):x=t[9];let S;t[10]===s?S=t[11]:(S=(0,$.jsx)(`span`,{className:`truncate`,children:s}),t[10]=s,t[11]=S);let C;t[12]!==c||t[13]!==S||t[14]!==x?(C=(0,$.jsxs)(`span`,{className:x,children:[c,S]}),t[12]=c,t[13]=S,t[14]=x,t[15]=C):C=t[15];let w;t[16]!==a||t[17]!==o||t[18]!==C||t[19]!==_||t[20]!==v?(w=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:_,disabled:a,"aria-disabled":o,onClick:v,children:C})}),t[16]=a,t[17]=o,t[18]=C,t[19]=_,t[20]=v,t[21]=w):w=t[21];let T;t[22]===l?T=t[23]:(T=(0,$.jsx)(Fr,{side:`top`,children:l}),t[22]=l,t[23]=T);let E;t[24]!==w||t[25]!==T?(E=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[w,T]})}),t[24]=w,t[25]=T,t[26]=E):E=t[26];let D;return t[27]!==d||t[28]!==E||t[29]!==m?(D=(0,$.jsxs)(`div`,{className:m,children:[E,d]}),t[27]=d,t[28]=E,t[29]=m,t[30]=D):D=t[30],D}function DT(e){let t=(0,Q.c)(26),{isBrandState:n,isMainButtonVisuallyDisabled:r,isMainButtonHardDisabled:i,mainButtonDisabled:a,mainButtonText:o,mainButtonIcon:s,tooltip:c,onMainButtonClick:l,dropdown:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=G(`flex w-full flex-col gap-1 items-stretch [&_button]:w-full [&_button]:justify-start`),t[0]=d):d=t[0];let f=n&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,p=r&&`cursor-default hover:bg-background hover:text-foreground`,m;t[1]!==f||t[2]!==p?(m=G(`h-8 gap-1.5 rounded-md border`,f,p),t[1]=f,t[2]=p,t[3]=m):m=t[3];let h=a?void 0:l,g=n&&`text-white`,_=r&&!n&&`text-muted-foreground opacity-50`,v=r&&n&&`opacity-50`,y;t[4]!==g||t[5]!==_||t[6]!==v?(y=G(`inline-flex items-center gap-1.5`,g,_,v),t[4]=g,t[5]=_,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==s||t[9]!==o||t[10]!==y?(b=(0,$.jsxs)(`span`,{className:y,children:[s,o]}),t[8]=s,t[9]=o,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==i||t[13]!==a||t[14]!==m||t[15]!==h||t[16]!==b?(x=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`outline`,size:`sm`,className:m,disabled:i,"aria-disabled":a,onClick:h,children:b})}),t[12]=i,t[13]=a,t[14]=m,t[15]=h,t[16]=b,t[17]=x):x=t[17];let S;t[18]===c?S=t[19]:(S=(0,$.jsx)(Fr,{children:c}),t[18]=c,t[19]=S);let C;t[20]!==x||t[21]!==S?(C=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[x,S]})}),t[20]=x,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==u||t[24]!==C?(w=(0,$.jsxs)(`div`,{className:d,children:[C,u]}),t[23]=u,t[24]=C,t[25]=w):w=t[25],w}function OT(e){let t=(0,Q.c)(43),{unifiedGitStatus:n,actions:r,isDirectCommitMode:i,aiGeneration:a,layout:o}=e,s=n.defaultBranch??null,c=a.isGeneratingMessage&&r.isLoading,l,u,d,f,p,m;t[0]===r?(l=t[1],u=t[2],d=t[3],f=t[4],p=t[5],m=t[6]):(l=()=>void r.handleFetch(),u=()=>void r.handlePull(),d=()=>void r.handlePush(),f=()=>void r.handleOpenHistory(),p=()=>r.setIsPRDialogOpen(!0),m=()=>r.setIsRepoDialogOpen(!0),t[0]=r,t[1]=l,t[2]=u,t[3]=d,t[4]=f,t[5]=p,t[6]=m);let h,g;t[7]===r?(h=t[8],g=t[9]):(h=()=>void r.handleQuickCommit(),g=()=>void r.handleSyncBranch(),t[7]=r,t[8]=h,t[9]=g);let _;return t[10]!==r.gitUser||t[11]!==r.handleGitOpsMenuOpenChange||t[12]!==r.handleViewInGitHub||t[13]!==r.isCreatingPR||t[14]!==r.isGitOpsMenuOpen||t[15]!==r.isLoading||t[16]!==r.isLoadingHistory||t[17]!==r.userPrefs.autoGenerateCommitMessage||t[18]!==i||t[19]!==o||t[20]!==s||t[21]!==c||t[22]!==l||t[23]!==u||t[24]!==d||t[25]!==f||t[26]!==p||t[27]!==m||t[28]!==h||t[29]!==g||t[30]!==n.canCreateRepo||t[31]!==n.commitsAheadOfDefault||t[32]!==n.defaultBranchAhead||t[33]!==n.defaultBranchBehind||t[34]!==n.hasChanges||t[35]!==n.hasRemoteBranch||t[36]!==n.hasUnpushedCommits||t[37]!==n.isRefreshing||t[38]!==n.prExists||t[39]!==n.remoteUrl||t[40]!==n.repoUrl||t[41]!==n.status?(_=(0,$.jsx)(Yw,{branchStatus:n.status,remoteUrl:n.remoteUrl,hasRemoteBranch:n.hasRemoteBranch,hasUnpushedCommits:n.hasUnpushedCommits,canCreateRepo:n.canCreateRepo,repoUrl:n.repoUrl,isRefreshing:n.isRefreshing,isCreatingPR:r.isCreatingPR,hasChanges:n.hasChanges,commitsAheadOfDefault:n.commitsAheadOfDefault,prExists:n.prExists,defaultBranch:s,defaultBranchAhead:n.defaultBranchAhead,defaultBranchBehind:n.defaultBranchBehind,gitUser:r.gitUser,isDirectCommitMode:i,autoGenerateCommitMessage:r.userPrefs.autoGenerateCommitMessage,isLoading:r.isLoading,isLoadingHistory:r.isLoadingHistory,isQuickCommitting:c,onFetch:l,onPull:u,onPush:d,onOpenHistory:f,onCreatePR:p,onCreateRepo:m,onViewInGitHub:r.handleViewInGitHub,onQuickCommit:h,onSyncWithDefault:g,open:r.isGitOpsMenuOpen,onOpenChange:r.handleGitOpsMenuOpenChange,layout:o}),t[10]=r.gitUser,t[11]=r.handleGitOpsMenuOpenChange,t[12]=r.handleViewInGitHub,t[13]=r.isCreatingPR,t[14]=r.isGitOpsMenuOpen,t[15]=r.isLoading,t[16]=r.isLoadingHistory,t[17]=r.userPrefs.autoGenerateCommitMessage,t[18]=i,t[19]=o,t[20]=s,t[21]=c,t[22]=l,t[23]=u,t[24]=d,t[25]=f,t[26]=p,t[27]=m,t[28]=h,t[29]=g,t[30]=n.canCreateRepo,t[31]=n.commitsAheadOfDefault,t[32]=n.defaultBranchAhead,t[33]=n.defaultBranchBehind,t[34]=n.hasChanges,t[35]=n.hasRemoteBranch,t[36]=n.hasUnpushedCommits,t[37]=n.isRefreshing,t[38]=n.prExists,t[39]=n.remoteUrl,t[40]=n.repoUrl,t[41]=n.status,t[42]=_):_=t[42],_}function kT(e){let t=(0,Q.c)(76),{actions:n,aiGeneration:r,currentBranch:i,onFixCommitErrorInChat:a}=e,o;t[0]===n?o=t[1]:(o=e=>n.setUserPrefsState(t=>({...t,autoGenerateCommitMessage:e})),t[0]=n,t[1]=o);let s;t[2]!==n.commitMessage||t[3]!==n.handleCommit||t[4]!==n.handleGenerateCommitMessage||t[5]!==n.isCommitDialogOpen||t[6]!==n.setCommitMessage||t[7]!==n.setIsCommitDialogOpen||t[8]!==n.userPrefs.autoGenerateCommitMessage||t[9]!==r.isGeneratingMessage||t[10]!==o?(s={isOpen:n.isCommitDialogOpen,onOpenChange:n.setIsCommitDialogOpen,message:n.commitMessage,onMessageChange:n.setCommitMessage,autoGenerate:n.userPrefs.autoGenerateCommitMessage,onAutoGenerateChange:o,isGenerating:r.isGeneratingMessage,onGenerateMessage:n.handleGenerateCommitMessage,onCommit:n.handleCommit},t[2]=n.commitMessage,t[3]=n.handleCommit,t[4]=n.handleGenerateCommitMessage,t[5]=n.isCommitDialogOpen,t[6]=n.setCommitMessage,t[7]=n.setIsCommitDialogOpen,t[8]=n.userPrefs.autoGenerateCommitMessage,t[9]=r.isGeneratingMessage,t[10]=o,t[11]=s):s=t[11];let c;t[12]===n?c=t[13]:(c=e=>n.setUserPrefsState(t=>({...t,autoGeneratePRInfo:e})),t[12]=n,t[13]=c);let l;t[14]===n?l=t[15]:(l=e=>n.setUserPrefsState(t=>({...t,createBranchAfterPR:e})),t[14]=n,t[15]=l);let u;t[16]!==n.handleCreatePR||t[17]!==n.handleGeneratePRInfo||t[18]!==n.isPRDialogOpen||t[19]!==n.prDescription||t[20]!==n.prTitle||t[21]!==n.setIsPRDialogOpen||t[22]!==n.setPrDescription||t[23]!==n.setPrTitle||t[24]!==n.userPrefs.autoGeneratePRInfo||t[25]!==n.userPrefs.createBranchAfterPR||t[26]!==r.isGeneratingPRInfo||t[27]!==c||t[28]!==l?(u={isOpen:n.isPRDialogOpen,onOpenChange:n.setIsPRDialogOpen,title:n.prTitle,onTitleChange:n.setPrTitle,description:n.prDescription,onDescriptionChange:n.setPrDescription,isGeneratingInfo:r.isGeneratingPRInfo,onGenerateInfo:n.handleGeneratePRInfo,onCreatePR:n.handleCreatePR,autoGenerate:n.userPrefs.autoGeneratePRInfo,onAutoGenerateChange:c,createBranchAfterPR:n.userPrefs.createBranchAfterPR,onCreateBranchAfterPRChange:l},t[16]=n.handleCreatePR,t[17]=n.handleGeneratePRInfo,t[18]=n.isPRDialogOpen,t[19]=n.prDescription,t[20]=n.prTitle,t[21]=n.setIsPRDialogOpen,t[22]=n.setPrDescription,t[23]=n.setPrTitle,t[24]=n.userPrefs.autoGeneratePRInfo,t[25]=n.userPrefs.createBranchAfterPR,t[26]=r.isGeneratingPRInfo,t[27]=c,t[28]=l,t[29]=u):u=t[29];let d;t[30]===n?d=t[31]:(d=()=>n.handlePushAndCreatePR(),t[30]=n,t[31]=d);let f;t[32]!==n.handleCancelPushBeforePR||t[33]!==n.isPushBeforePRDialogOpen||t[34]!==n.setIsPushBeforePRDialogOpen||t[35]!==d?(f={isOpen:n.isPushBeforePRDialogOpen,onOpenChange:n.setIsPushBeforePRDialogOpen,onPushAndCreatePR:d,onCancel:n.handleCancelPushBeforePR},t[32]=n.handleCancelPushBeforePR,t[33]=n.isPushBeforePRDialogOpen,t[34]=n.setIsPushBeforePRDialogOpen,t[35]=d,t[36]=f):f=t[36];let p;t[37]===n?p=t[38]:(p=e=>n.setUserPrefsState(t=>({...t,privateRepositoryDefault:e})),t[37]=n,t[38]=p);let m;t[39]!==n.handleCreateRepo||t[40]!==n.isRepoDialogOpen||t[41]!==n.repoDescription||t[42]!==n.repoName||t[43]!==n.setIsRepoDialogOpen||t[44]!==n.setRepoDescription||t[45]!==n.setRepoName||t[46]!==n.userPrefs.privateRepositoryDefault||t[47]!==p?(m={isOpen:n.isRepoDialogOpen,onOpenChange:n.setIsRepoDialogOpen,name:n.repoName,onNameChange:n.setRepoName,description:n.repoDescription,onDescriptionChange:n.setRepoDescription,isPrivate:n.userPrefs.privateRepositoryDefault,onPrivateChange:p,onCreateRepo:n.handleCreateRepo},t[39]=n.handleCreateRepo,t[40]=n.isRepoDialogOpen,t[41]=n.repoDescription,t[42]=n.repoName,t[43]=n.setIsRepoDialogOpen,t[44]=n.setRepoDescription,t[45]=n.setRepoName,t[46]=n.userPrefs.privateRepositoryDefault,t[47]=p,t[48]=m):m=t[48];let h;t[49]!==n.commits||t[50]!==n.displayedCommits||t[51]!==n.handleScroll||t[52]!==n.isHistoryDialogOpen||t[53]!==n.isLoadingMore||t[54]!==n.setIsHistoryDialogOpen?(h={isOpen:n.isHistoryDialogOpen,onOpenChange:n.setIsHistoryDialogOpen,commits:n.commits,displayedCommits:n.displayedCommits,isLoadingMore:n.isLoadingMore,onScroll:n.handleScroll},t[49]=n.commits,t[50]=n.displayedCommits,t[51]=n.handleScroll,t[52]=n.isHistoryDialogOpen,t[53]=n.isLoadingMore,t[54]=n.setIsHistoryDialogOpen,t[55]=h):h=t[55];let g;t[56]===n?g=t[57]:(g=()=>n.setIsPullWithChangesDialogOpen(!1),t[56]=n,t[57]=g);let _;t[58]!==n.handleCommitFirstAndPull||t[59]!==n.handleStashAndPull||t[60]!==n.isPullWithChangesDialogOpen||t[61]!==n.setIsPullWithChangesDialogOpen||t[62]!==g?(_={isOpen:n.isPullWithChangesDialogOpen,onOpenChange:n.setIsPullWithChangesDialogOpen,onCommitFirst:n.handleCommitFirstAndPull,onStashAndPull:n.handleStashAndPull,onCancel:g},t[58]=n.handleCommitFirstAndPull,t[59]=n.handleStashAndPull,t[60]=n.isPullWithChangesDialogOpen,t[61]=n.setIsPullWithChangesDialogOpen,t[62]=g,t[63]=_):_=t[63];let v;return t[64]!==n.commitError||t[65]!==n.dismissCommitError||t[66]!==n.isLoading||t[67]!==i||t[68]!==a||t[69]!==s||t[70]!==_||t[71]!==u||t[72]!==f||t[73]!==m||t[74]!==h?(v=(0,$.jsx)(iT,{isLoading:n.isLoading,currentBranch:i,commitError:n.commitError,onDismissCommitError:n.dismissCommitError,onFixCommitErrorInChat:a,commit:s,pullRequest:u,pushBeforePR:f,createRepo:m,history:h,pullWithChanges:_}),t[64]=n.commitError,t[65]=n.dismissCommitError,t[66]=n.isLoading,t[67]=i,t[68]=a,t[69]=s,t[70]=_,t[71]=u,t[72]=f,t[73]=m,t[74]=h,t[75]=v):v=t[75],v}function AT(e){let t=(0,Q.c)(89),{projectId:n,threadId:r,layout:i}=e,a=i===void 0?`bar`:i,o=Ks(),s=gC(),c;t[0]===r?c=t[1]:(c=e=>e.projectModelSelections[r],t[0]=r,t[1]=c);let l=X(c),u;t[2]===n?u=t[3]:(u=e=>e.projects.find(e=>e.projectId===n),t[2]=n,t[3]=u);let d=X(u),f=Fd(),p=sT(r,n,l),m=d?.commitMethod===ft.Direct,h=d?.name,g;t[4]!==p||t[5]!==o||t[6]!==n||t[7]!==h||t[8]!==r||t[9]!==f?(g={projectId:n,threadId:r,projectName:h,dispatch:o,aiGeneration:p,unifiedGitStatus:f},t[4]=p,t[5]=o,t[6]=n,t[7]=h,t[8]=r,t[9]=f,t[10]=g):g=t[10];let _=bT(g),v;t[11]!==_.commitGenerationRef||t[12]!==_.commitMessage||t[13]!==_.isCommitDialogOpen||t[14]!==_.isPRDialogOpen||t[15]!==_.prDescriptionRef||t[16]!==_.prGenerationRef||t[17]!==_.prTitleRef||t[18]!==_.setCommitMessage||t[19]!==_.setPrDescription||t[20]!==_.setPrTitle||t[21]!==_.userPrefs.autoGenerateCommitMessage||t[22]!==_.userPrefs.autoGeneratePRInfo||t[23]!==p||t[24]!==r?(v={threadId:r,aiGeneration:p,isCommitDialogOpen:_.isCommitDialogOpen,commitMessage:_.commitMessage,setCommitMessage:_.setCommitMessage,autoGenerateCommitMessage:_.userPrefs.autoGenerateCommitMessage,commitGenerationRef:_.commitGenerationRef,isPRDialogOpen:_.isPRDialogOpen,prTitleRef:_.prTitleRef,prDescriptionRef:_.prDescriptionRef,setPrTitle:_.setPrTitle,setPrDescription:_.setPrDescription,autoGeneratePRInfo:_.userPrefs.autoGeneratePRInfo,prGenerationRef:_.prGenerationRef},t[11]=_.commitGenerationRef,t[12]=_.commitMessage,t[13]=_.isCommitDialogOpen,t[14]=_.isPRDialogOpen,t[15]=_.prDescriptionRef,t[16]=_.prGenerationRef,t[17]=_.prTitleRef,t[18]=_.setCommitMessage,t[19]=_.setPrDescription,t[20]=_.setPrTitle,t[21]=_.userPrefs.autoGenerateCommitMessage,t[22]=_.userPrefs.autoGeneratePRInfo,t[23]=p,t[24]=r,t[25]=v):v=t[25],xT(v);let y;t[26]!==_||t[27]!==o||t[28]!==n||t[29]!==r||t[30]!==l?(y=async function(e){let t=l?.id&&l.provider?{model:l.id,provider:l.provider}:await Nw(n,r);if(!t){CT.error(`No model configuration found. Please configure a model and provider for this project first.`);return}Pw(o,r,t.model,t.provider),o({type:Y.SetPendingChatMessage,message:{threadId:r,message:wT(e),model:t.model,provider:t.provider}}),_.setIsCommitDialogOpen(!1),_.dismissCommitError()},t[26]=_,t[27]=o,t[28]=n,t[29]=r,t[30]=l,t[31]=y):y=t[31];let b=y,x;t[32]===_?x=t[33]:(x=()=>_.setIsPRDialogOpen(!0),t[32]=_,t[33]=x);let S;t[34]===_?S=t[35]:(S=()=>{_.isLoading||_.isCreatingPR||_.handleGitOpsMenuOpenChange(!0)},t[34]=_,t[35]=S);let C;t[36]!==_.handleQuickCommit||t[37]!==_.handleViewInGitHub||t[38]!==_.isCreatingPR||t[39]!==_.isLoading||t[40]!==_.userPrefs.autoGenerateCommitMessage||t[41]!==m||t[42]!==x||t[43]!==S||t[44]!==f?(C={unifiedGitStatus:f,autoGenerateCommitMessage:_.userPrefs.autoGenerateCommitMessage,isLoading:_.isLoading,isCreatingPR:_.isCreatingPR,isDirectCommitMode:m,onQuickCommit:_.handleQuickCommit,onCreatePR:x,onViewInGitHub:_.handleViewInGitHub,onOpenGitOpsMenu:S},t[36]=_.handleQuickCommit,t[37]=_.handleViewInGitHub,t[38]=_.isCreatingPR,t[39]=_.isLoading,t[40]=_.userPrefs.autoGenerateCommitMessage,t[41]=m,t[42]=x,t[43]=S,t[44]=f,t[45]=C):C=t[45],ST(C);let w;t[46]===f?w=t[47]:(w=Uw(f),t[46]=f,t[47]=w);let T=w,E;t[48]!==_.isCreatingPR||t[49]!==_.isLoading||t[50]!==f?(E=Hw(f,_.isLoading,_.isCreatingPR),t[48]=_.isCreatingPR,t[49]=_.isLoading,t[50]=f,t[51]=E):E=t[51];let D=E,O=_.isLoading||_.isCreatingPR,k=D&&!O,A;t[52]!==_.isCreatingPR||t[53]!==f?(A=zw(f,_.isCreatingPR),t[52]=_.isCreatingPR,t[53]=f,t[54]=A):A=t[54];let j=A,N;t[55]!==_.isCreatingPR||t[56]!==_.isLoading||t[57]!==f?(N=_.isCreatingPR?(0,$.jsx)(dp,{size:`sm`}):Bw(f,_.isCreatingPR,_.isLoading)??(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),t[55]=_.isCreatingPR,t[56]=_.isLoading,t[57]=f,t[58]=N):N=t[58];let P=N,F=s&&!T?Gw:Ww,I;t[59]===f?I=t[60]:(I=Vw(f),t[59]=f,t[60]=I);let L;t[61]!==_||t[62]!==p||t[63]!==m||t[64]!==a||t[65]!==f?(L=(0,$.jsx)(OT,{unifiedGitStatus:f,actions:_,isDirectCommitMode:m,aiGeneration:p,layout:a}),t[61]=_,t[62]=p,t[63]=m,t[64]=a,t[65]=f,t[66]=L):L=t[66];let R;t[67]!==_.handleMainButtonClick||t[68]!==T||t[69]!==O||t[70]!==k||t[71]!==D||t[72]!==P||t[73]!==j||t[74]!==I||t[75]!==L?(R={isBrandState:T,isMainButtonVisuallyDisabled:k,isMainButtonHardDisabled:O,mainButtonDisabled:D,mainButtonText:j,mainButtonIcon:P,tooltip:I,onMainButtonClick:_.handleMainButtonClick,dropdown:L},t[67]=_.handleMainButtonClick,t[68]=T,t[69]=O,t[70]=k,t[71]=D,t[72]=P,t[73]=j,t[74]=I,t[75]=L,t[76]=R):R=t[76];let z=R,B;t[77]!==F||t[78]!==a||t[79]!==z?(B=a===`sidebar`?(0,$.jsx)(TT,{...z}):a===`bar`?(0,$.jsx)(ET,{footerPillButtonClass:F,...z}):(0,$.jsx)(DT,{...z}),t[77]=F,t[78]=a,t[79]=z,t[80]=B):B=t[80];let V;t[81]!==_||t[82]!==p||t[83]!==b||t[84]!==f.currentBranch?(V=(0,$.jsx)(kT,{actions:_,aiGeneration:p,currentBranch:f.currentBranch,onFixCommitErrorInChat:b}),t[81]=_,t[82]=p,t[83]=b,t[84]=f.currentBranch,t[85]=V):V=t[85];let H;return t[86]!==B||t[87]!==V?(H=(0,$.jsxs)($.Fragment,{children:[B,V]}),t[86]=B,t[87]=V,t[88]=H):H=t[88],H}var jT=Ut(`app.open-with-button.ui`),MT=`VS Code`;function NT(e){return e||Ji(MT)}var PT={"VS Code":`vscode`,Antigravity:`antigravity`,Cursor:`cursor`,"Devin Desktop":`devin`,Windsurf:`windsurf`,Xcode:`xcode`,"Android Studio":`android-studio`,Kiro:`kiro`,Terminal:`terminal`},FT=`h-4 w-4 dark:invert`,IT=`h-4 w-4 dark:invert group-hover:invert dark:group-hover:invert-0`;function LT({projectId:e,threadId:t,openWith:n,layout:r=`bar`}){let i=gC(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)([]),[l,u]=(0,Z.useState)(()=>NT(n)),[d,f]=(0,Z.useState)(!0);(0,Z.useEffect)(()=>{(async()=>{try{let e=await Jr();c(e);let t=NT(n);e.includes(t)?u(t):e.length>0&&u(e[0])}catch(e){jT.error(`Failed to fetch available programs:`,e),c([MT])}finally{f(!1)}})()},[]),(0,Z.useEffect)(()=>{if(n&&s.includes(n)){u(n);return}let e=Ji(MT);!n&&s.includes(e)&&u(e)},[n,s]);async function p(t){u(t),La(t),await Rr(e,t)}let m=async n=>{try{o(!0),await p(n),t?await Wi(t,n):await Nr(e,n),ac({title:`Success`,description:`Opened project in ${n}`})}catch(e){jT.error(`Failed to open project in ${n}:`,e);let t=`Failed to open project in ${n}`;if(e instanceof Error){let n=e;t=n.details?n.details:e.message}ac({title:`Error`,description:t,variant:`destructive`})}finally{o(!1)}};async function h(e){try{await p(e)}catch(t){jT.error(`Failed to save preferred IDE (${e}):`,t),ac({title:`Error`,description:`Failed to save IDE preference`,variant:`destructive`})}}let g=async()=>{await m(l)},_=i?`ghost`:`outline`,v=i?nl:`border-transparent`;return d?(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8`,v),disabled:!0,children:(0,$.jsx)(`div`,{className:`h-4 w-4 animate-pulse bg-muted rounded`})}):r===`menu`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`group w-full justify-start gap-2`,disabled:a,onClick:()=>{g()},children:[(0,$.jsx)(`img`,{src:`/ide/${PT[l]||PT[MT]}.svg`,alt:l,className:G(IT,`shrink-0`)}),`Open in `,l]}),(0,$.jsxs)(Np,{children:[(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:`w-full justify-start gap-2`,children:[(0,$.jsx)(tn,{className:`h-4 w-4 shrink-0`}),`Change IDE`]})}),(0,$.jsx)(Fp,{align:`start`,className:`w-56 p-1`,children:s.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent disabled:opacity-50`,onClick:()=>{h(e)},disabled:a,children:[(0,$.jsx)(`img`,{src:`/ide/${PT[e]||PT[MT]}.svg`,alt:e,className:G(FT,`shrink-0`)}),e]},e))})]})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-0`,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8 rounded-r-none`,i?G(`group`,nl):`border-r-0 border-transparent`),disabled:a,onClick:g,children:(0,$.jsx)(`img`,{src:`/ide/${PT[l]||PT[MT]}.svg`,alt:l,className:i?IT:FT})})}),(0,$.jsx)(Fr,{children:`Open in ${l}`})]}),(0,$.jsxs)(hl,{children:[(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:_,size:`sm`,className:G(`h-8 w-8 rounded-l-none px-1`,v),disabled:a,children:(0,$.jsx)(tn,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(bl,{align:`end`,children:s.map(e=>(0,$.jsxs)(xl,{onClick:()=>void h(e),disabled:a,className:`flex items-center gap-2`,children:[(0,$.jsx)(`img`,{src:`/ide/${PT[e]||PT[MT]}.svg`,alt:e,className:FT}),e]},e))})]})]})}function RT(){return`dev-server-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function zT(e,t){return Cc({messageId:`msg-dev-server-${t}`,command:e,toolCallId:t})}function BT(e,t){e({type:Y.AddMessage,message:zT(t.command,t.toolCallId),threadId:t.threadId}),e({type:Y.SetDevServerToolSession,session:t})}function VT(e,t,n,r){r&&e({type:Y.AppendToolExecutionOutput,toolCallId:t,threadId:n,toolName:`bash`,delta:r})}function HT(e,t,n,r){e({type:Y.UpdateMessage,messageId:t.messageId,threadId:t.threadId,content:jc(Sc(t.command,t.toolCallId),t.toolCallId,n,r)}),e({type:Y.ClearToolCallProgress,toolCallId:t.toolCallId}),e({type:Y.SetDevServerToolSession,session:null})}function UT(e,t){`content`in e&&typeof e.content==`string`&&t(e.content)}function WT(e,t){e.isUrlDetected?.()||(e.markUrlDetected?.(),xw(t)&&Promise.resolve(e.onUrl?.(t.url)))}function GT(e,t){Promise.resolve(e.onPortInUse?.({port:`port`in t&&typeof t.port==`number`?t.port:void 0,pid:`pid`in t&&typeof t.pid==`number`?t.pid:void 0,command:`command`in t&&typeof t.command==`string`?t.command:void 0}))}function KT(e,t){`exitCode`in t&&typeof t.exitCode==`number`&&e.onExitCode?.(t.exitCode)}function qT(e,t){let n=`message`in t&&t.message!=null?String(t.message):`error`in t&&t.error!=null?String(t.error):`Dev server error`;VT(e.dispatch,e.toolCallId,e.threadId,`${n}\n`)}function JT(e){let t=``;function n(n){if(VT(e.dispatch,e.toolCallId,e.threadId,n),t+=n,e.isUrlDetected?.())return;let r=m(t);r&&(e.markUrlDetected?.(),Promise.resolve(e.onUrl?.(r)))}function r(t){if(t.type===`stdout`||t.type===`stderr`){UT(t,n);return}if(xw(t)){WT(e,t);return}if(t.type===`port_in_use`){GT(e,t);return}if(t.type===`complete`){KT(e,t);return}t.type===`error`&&qT(e,t)}return function(e){if(typeof e==`string`){n(e);return}!e||typeof e!=`object`||`type`in e&&r(e)}}function YT(e){return e instanceof DOMException&&e.name===`AbortError`}async function XT(e,t,n){let r=e.getReader(),i=new TextDecoder,a=``;try{for(;;){if(n?.aborted){await r.cancel();return}let{done:e,value:o}=await r.read();if(e)break;a+=i.decode(o,{stream:!0});let s=a.split(`
3326
+ `);a=s.pop()??``;for(let e of s)if(e.trim())try{t(JSON.parse(e))}catch{t(e)}}if(a.trim())try{t(JSON.parse(a))}catch{t(a)}}catch(e){if(n?.aborted||YT(e))return;throw e}finally{r.releaseLock()}}var ZT=Ut(`app.use-start-dev-server.hook`);function QT(e){return new Promise(t=>{setTimeout(t,e)})}function $T(e){return e==null?`Dev server port is already in use.`:`Port ${e} is already in use.`}function eE(){let e=X(e=>e.selectedThreadId),t=Ks(),n=Vs(),{openChatDockPanel:r}=Wd(),{setDevServerUrl:i,setDevServerState:a,setDevServerFailureReason:o,setDevServerProcessAlive:s,setDevServerProjectId:c,setDevServerStopped:l,devServerStopRequestedRef:u,requestPortConflictConfirmation:d}=yw(),f=(0,Z.useRef)(null),p=(0,Z.useRef)(!1),h=(0,Z.useRef)(!1),g=(0,Z.useRef)(!1),_=(0,Z.useRef)(!1),v=(0,Z.useRef)(null);function y(e){return n.getState().toolCallProgress[e.toolCallId]?.executionOutput??``}function b(e){let t=y(e);return u.current?(u.current=!1,`${t}${t.endsWith(`
3327
3327
  `)?`Server stopped.
3328
3328
  `:`
3329
3329
  Server stopped.
3330
3330
  `}`):t.trim()?t:`Dev server exited.
3331
- `}function x(e,t=!1){a(`failed`),o(e),s(t),ac({title:`Dev server failed to start`,description:e,variant:`destructive`})}function C(e){if(p.current)return;p.current=!0;let n=y(e);VT(t,e,n.trim()?n:`Dev server started.
3332
- `),f.current?.abort(),f.current=null,a(`running`),s(!0),o(null)}function w(e,n){if(p.current)return;p.current=!0;let r=n!==void 0&&n!==0;VT(t,e,b(e),r),s(!1),r?x(y(e).trim()||`Dev server failed to start.`,!1):(a(`idle`),o(null)),c(null)}async function T(e,n,r){if(_.current||(_.current=!0,!await d({projectId:e.projectId,port:n.port,pid:n.pid,command:n.command})))return!1;if(n.port==null)return ac({title:`Couldn't free port`,description:`Port in use but the port number couldn't be determined. Check the output.`,variant:`destructive`}),!1;let i=await Oi(e.projectId,n.port);if(!i.success){let e=i.killCommand??se(n.port);return ac({title:`Couldn't free port`,description:i.error??`Port ${n.port} is still in use.`,variant:`destructive`}),t({type:Y.AppendToolExecutionOutput,toolCallId:`dev-server-port-${Date.now()}`,threadId:r.threadId,toolName:`bash`,delta:`Manual fix: ${e}\n`}),!1}return!0}function E(){h.current=!0}function D(e,n,a){return E(),yw({url:e,useBuiltInBrowser:n.useBuiltInBrowser!==!1,setDevServerUrl:i,openBrowserPanel:()=>{r(`browser`,{navigateToChat:!1})},openExternalUrl:ui,onTerminalMessage:e=>{t({type:Y.AppendToolExecutionOutput,toolCallId:a.toolCallId,threadId:a.threadId,toolName:`bash`,delta:`${e}\n`})}}).then(()=>{C(a)})}async function O(n,r,i){_.current=!1,h.current=!1,g.current=!1,p.current=!1;let o,s=null;v.current=null;let l=setTimeout(()=>{if(h.current||i.aborted||p.current||g.current)return;let e=m(y(r));if(e){D(e,n,r);return}g.current=!0,ac({title:`No dev URL detected yet`,description:`Check the output or enter the URL manually in the Browser panel.`})},j);try{let l=await Ca(n.projectId,e??void 0,i);if(!l)return VT(t,r,`Failed to start dev server.
3333
- `,!0),x(`Failed to start dev server.`),p.current=!0,`failed`;a(`starting`),await YT(l,qT({dispatch:t,toolCallId:r.toolCallId,threadId:r.threadId,isUrlDetected:()=>h.current,markUrlDetected:E,onUrl:async e=>{await D(e,n,r)},onPortInUse:e=>{v.current=e,t({type:Y.AppendToolExecutionOutput,toolCallId:r.toolCallId,threadId:r.threadId,toolName:`bash`,delta:e.port?`Port ${e.port} is already in use.\n`:`Dev server port is already in use.
3334
- `}),s||=T(n,e,r)},onExitCode:e=>{o=e}}),i);let u=v.current;if(u!=null&&!p.current){if(await s??!1)return`retry`;let e=QT(u.port);return VT(t,r,`${y(r)}${e}\n`.trimStart(),!0),p.current=!0,x(e,!1),c(null),`failed`}return p.current||w(r,o),p.current&&o===0?`success`:`failed`}catch(e){return i.aborted&&p.current?`failed`:(XT.error(`Failed to start dev server:`,e),p.current||=(VT(t,r,`${y(r)}Failed to start dev server.\n`.trimStart(),!0),!0),x(`Failed to start dev server.`),c(null),`failed`)}finally{clearTimeout(l)}}let k=async n=>{if(!n?.runCommand||!n?.projectId||!e)return;u.current=!1,f.current?.abort(),f.current=new AbortController;try{(await Kr(n.projectId)).isRunning&&await bo(n.projectId)}catch{}c(n.projectId),a(`starting`),o(null),s(!0);let r=LT(),i={threadId:e,toolCallId:r,messageId:`msg-dev-server-${r}`,command:n.runCommand};zT(t,i);let l=0;for(;l<2;){l+=1;let e=new AbortController;if(f.current=e,await O(n,i,e.signal)!==`retry`)break}};async function A(e){u.current=!0,a(`stopping`);try{await bo(e);let t=Date.now();for(;Date.now()-t<S&&(await Kr(e)).isRunning;)await ZT(200);i(null),l(!0),a(`idle`),o(null),s(!1),c(null)}catch(e){ac({title:`Error`,description:e instanceof Error?e.message:`Failed to stop dev server`,variant:`destructive`}),a(`running`)}}function M(){a(`idle`),o(null),s(!1),c(null)}return{startServer:k,stopServer:A,dismissFailed:M,setServerUrl:i}}var eE=3e4,tE=2e3,nE=5e3;function rE(e,t,n){return!e||t!==e?!1:n!==`idle`}function iE(e){let{devServerState:t,setDevServerState:n,devServerProjectId:r,setDevServerProjectId:i,setDevServerProcessAlive:a,setDevServerFailureReason:o}=vw(),s=t===`running`&&r===e,c=t===`starting`||t===`stopping`,l=t===`failed`&&r===e,u=(0,Z.useRef)(!1),d=(0,Z.useRef)(t),f=(0,Z.useRef)(r);d.current=t,f.current=r;let p=(0,Z.useCallback)(t=>{if(e){if(t){i(e),n(`running`),a(!0),o(null);return}r===e&&d.current!==`failed`&&(n(`idle`),i(null),a(!1))}},[e,r,i,n,a,o]);return(0,Z.useEffect)(()=>{e&&(u.current=!1,(async()=>{try{let t=await Kr(e),n=rE(e,f.current,d.current);if(!t.isRunning&&n&&d.current===`starting`||!t.isRunning&&d.current===`failed`)return;p(t.isRunning)}catch{rE(e,f.current,d.current)||p(!1)}finally{u.current=!0}})())},[e,p]),(0,Z.useEffect)(()=>{if(!e||t!==`starting`)return;let n=Date.now(),r=setInterval(()=>{if(Date.now()-n>eE){clearInterval(r);return}Kr(e).then(e=>{e.isRunning&&(p(!0),clearInterval(r))}).catch(()=>{})},tE);return()=>clearInterval(r)},[e,t,p]),(0,Z.useEffect)(()=>{if(!e||!s)return;let t=setInterval(()=>{Kr(e).then(e=>{e.isRunning||p(!1)}).catch(()=>{})},nE);return()=>clearInterval(t)},[e,s,p]),{isRunning:s,isLoading:c,isFailed:l,recheck:(0,Z.useCallback)(async()=>{if(e)try{p((await Kr(e)).isRunning)}catch{p(!1)}},[e,p])}}function aE(e,t,n,r){return e?`Stopping...`:t?`Starting...`:n?`Retry dev server`:r?`Stop dev server`:`Start dev server`}function oE(e){let t=(0,Q.c)(15),{isLoading:n,isFailed:r,isRunning:i,className:a,playClassName:o}=e,s=o===void 0?``:o;if(n){let e;t[0]===a?e=t[1]:(e=G(a,`animate-spin`),t[0]=a,t[1]=e);let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(ln,{className:e}),t[2]=e,t[3]=n),n}if(r){let e;return t[4]===a?e=t[5]:(e=(0,$.jsx)(Fe,{className:a}),t[4]=a,t[5]=e),e}if(i){let e;t[6]===a?e=t[7]:(e=G(a,`fill-current`),t[6]=a,t[7]=e);let n;return t[8]===e?n=t[9]:(n=(0,$.jsx)(z,{className:e}),t[8]=e,t[9]=n),n}let c;t[10]!==a||t[11]!==s?(c=G(a,s),t[10]=a,t[11]=s,t[12]=c):c=t[12];let l;return t[13]===c?l=t[14]:(l=(0,$.jsx)(Ae,{className:c}),t[13]=c,t[14]=l),l}function sE(e,t,n,r){return e||!n&&!t&&!r}function cE(e){let t=(0,Q.c)(13),{isLoading:n,isFailed:r,isRunning:i,label:a,handleClick:o,disabled:s}=e,c=`flex flex-col items-center gap-3 group disabled:opacity-40 disabled:cursor-not-allowed ${i?`text-orange-500`:r?`text-destructive`:`text-muted-foreground`}`,l;t[0]!==r||t[1]!==n||t[2]!==i?(l=(0,$.jsx)(oE,{isLoading:n,isFailed:r,isRunning:i,className:`h-10 w-10`,playClassName:`fill-current group-hover:text-foreground transition-colors`}),t[0]=r,t[1]=n,t[2]=i,t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.body,`group-hover:text-foreground transition-colors`),t[4]=u):u=t[4];let d;t[5]===a?d=t[6]:(d=(0,$.jsx)(`span`,{className:u,children:a}),t[5]=a,t[6]=d);let f;return t[7]!==s||t[8]!==o||t[9]!==c||t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`button`,{onClick:o,disabled:s,className:c,children:[l,d]}),t[7]=s,t[8]=o,t[9]=c,t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function lE(e){let t=(0,Q.c)(9),{isRunning:n,isFailed:r,icon:i,label:a,handleClick:o,disabled:s}=e,c=n&&`text-orange-500`,l=r&&`text-destructive`,u;t[0]!==c||t[1]!==l?(u=G(`w-full justify-start gap-2`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==o||t[5]!==i||t[6]!==a||t[7]!==u?(d=(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:u,onClick:o,disabled:s,children:[i,a]}),t[3]=s,t[4]=o,t[5]=i,t[6]=a,t[7]=u,t[8]=d):d=t[8],d}function uE(e){let t=(0,Q.c)(15),{buttonClassName:n,icon:r,label:i,tooltip:a,handleClick:o,disabled:s}=e,c;t[0]===n?c=t[1]:(c=G(`relative h-8 w-8`,n),t[0]=n,t[1]=c);let l;t[2]===i?l=t[3]:(l=(0,$.jsx)(`span`,{className:`sr-only`,children:i}),t[2]=i,t[3]=l);let u;t[4]!==s||t[5]!==o||t[6]!==r||t[7]!==c||t[8]!==l?(u=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:c,onClick:o,disabled:s,children:[r,l]})}),t[4]=s,t[5]=o,t[6]=r,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===a?d=t[11]:(d=(0,$.jsx)(Fr,{children:a}),t[10]=a,t[11]=d);let f;return t[12]!==u||t[13]!==d?(f=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[u,d]})}),t[12]=u,t[13]=d,t[14]=f):f=t[14],f}function dE(e){let t=(0,Q.c)(65),{projectId:n,runCommand:r,large:i,layout:a}=e,o=a===void 0?`bar`:a,s=X(fE),c;if(t[0]!==n||t[1]!==s){let e;t[3]===n?e=t[4]:(e=e=>e.projectId===n,t[3]=n,t[4]=e),c=s.find(e),t[0]=n,t[1]=s,t[2]=c}else c=t[2];let l=c,{devServerState:u,devServerFailureReason:d,devServerProcessAlive:f,setDevServerProjectId:p}=vw(),{startServer:m,stopServer:h,dismissFailed:g}=$T();iE(n);let _=gC(),v=u===`starting`,y=u===`stopping`,b=u===`running`,x=u===`failed`,S=v||y,C;t[5]!==n||t[6]!==r||t[7]!==l?.useBuiltInBrowser||t[8]!==m?(C=function(){m({projectId:n,runCommand:r||``,useBuiltInBrowser:l?.useBuiltInBrowser!==!1})},t[5]=n,t[6]=r,t[7]=l?.useBuiltInBrowser,t[8]=m,t[9]=C):C=t[9];let w=C,T;t[10]!==f||t[11]!==g||t[12]!==x||t[13]!==n||t[14]!==p||t[15]!==h?(T=async function(){if(x&&!f){g();return}p(n);try{await h(n)}catch(e){let t=e;ac({title:`Error`,description:t instanceof Error?t.message:`Failed to stop dev server`,variant:`destructive`})}},t[10]=f,t[11]=g,t[12]=x,t[13]=n,t[14]=p,t[15]=h,t[16]=T):T=t[16];let E=T,D;t[17]!==w||t[18]!==E||t[19]!==x||t[20]!==b||t[21]!==v?(D=function(){if(x){w();return}if(b||v){E();return}w()},t[17]=w,t[18]=E,t[19]=x,t[20]=b,t[21]=v,t[22]=D):D=t[22];let O=D,k;t[23]===r?k=t[24]:(k=r?.trim(),t[23]=r,t[24]=k);let A=!!k,j;t[25]!==x||t[26]!==b||t[27]!==v||t[28]!==y?(j=aE(y,v,x,b),t[25]=x,t[26]=b,t[27]=v,t[28]=y,t[29]=j):j=t[29];let M=j,N;t[30]!==A||t[31]!==x||t[32]!==S||t[33]!==b?(N=sE(S,x,b,A),t[30]=A,t[31]=x,t[32]=S,t[33]=b,t[34]=N):N=t[34];let P=N;if(_&&!A&&!b&&!S&&!x)return null;let F=b&&`text-orange-500 bg-orange-500/10`,I=x&&`text-destructive bg-destructive/10`,L=!b&&!x&&(_?`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`:`text-muted-foreground`),R=b&&`before:absolute before:inset-[-1px] before:rounded-full before:border before:border-orange-500/60 before:animate-ping-subtle before:content-['']`,z;t[35]!==I||t[36]!==L||t[37]!==R||t[38]!==F?(z=G(F,I,L,R),t[35]=I,t[36]=L,t[37]=R,t[38]=F,t[39]=z):z=t[39];let B=z,V;t[40]!==x||t[41]!==S||t[42]!==b?(V=(0,$.jsx)(oE,{isLoading:S,isFailed:x,isRunning:b,className:`h-4 w-4`}),t[40]=x,t[41]=S,t[42]=b,t[43]=V):V=t[43];let H=V,ee=x?d??`Dev server failed to start`:b?`Stop dev server`:A?`Start dev server: ${r}`:`Set run command in project settings`;if(i){let e;return t[44]!==P||t[45]!==O||t[46]!==x||t[47]!==S||t[48]!==b||t[49]!==M?(e=(0,$.jsx)(cE,{isLoading:S,isFailed:x,isRunning:b,label:M,handleClick:O,disabled:P}),t[44]=P,t[45]=O,t[46]=x,t[47]=S,t[48]=b,t[49]=M,t[50]=e):e=t[50],e}if(o===`menu`){let e;return t[51]!==P||t[52]!==O||t[53]!==H||t[54]!==x||t[55]!==b||t[56]!==M?(e=(0,$.jsx)(lE,{isRunning:b,isFailed:x,icon:H,label:M,handleClick:O,disabled:P}),t[51]=P,t[52]=O,t[53]=H,t[54]=x,t[55]=b,t[56]=M,t[57]=e):e=t[57],e}let te;return t[58]!==B||t[59]!==P||t[60]!==O||t[61]!==H||t[62]!==M||t[63]!==ee?(te=(0,$.jsx)(uE,{buttonClassName:B,icon:H,label:M,tooltip:ee,handleClick:O,disabled:P}),t[58]=B,t[59]=P,t[60]=O,t[61]=H,t[62]=M,t[63]=ee,t[64]=te):te=t[64],te}function fE(e){return e.projects}function pE(e){return e===`menu`?`w-full justify-start gap-2`:`gap-2`}function mE(e){let t=(0,Q.c)(4),{threadId:n,projectId:r,messages:i,userTasks:a}=e,{hasChanges:o}=Fd(),s=i.length>0,c=!!n&&(s||o||a.length>0||!!(n&&r)),l;return t[0]!==o||t[1]!==s||t[2]!==c?(l={isVisible:c,hasMessages:s,hasChanges:o},t[0]=o,t[1]=s,t[2]=c,t[3]=l):l=t[3],l}function hE(e){let t=(0,Q.c)(13),{hasMessages:n,layout:r,toolbarButtonClass:i,isStartingNewChat:a,onNewChat:o,projectId:s}=e;if(!n)return null;if(r===`menu`){let e;t[0]!==a||t[1]!==o||t[2]!==i?(e=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`sm`,className:i,disabled:a,onClick:o,children:`New Chat`})}),t[0]=a,t[1]=o,t[2]=i,t[3]=e):e=t[3];let n=a?`Starting Chat`:`New Chat`,r;t[4]===n?r=t[5]:(r=(0,$.jsx)(Fr,{children:n}),t[4]=n,t[5]=r);let s;return t[6]!==e||t[7]!==r?(s=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[e,r]})}),t[6]=e,t[7]=r,t[8]=s):s=t[8],s}let c;return t[9]!==a||t[10]!==o||t[11]!==s?(c=(0,$.jsx)(hw,{projectId:s,onNewChat:o,isStartingNewChat:a}),t[9]=a,t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function gE(e){let t=(0,Q.c)(5),{hasChanges:n,layout:r,toolbarButtonClass:i,changedFilesCount:a,onReviewChanges:o}=e;if(!n||r!==`menu`)return null;let s=a===1?`Change`:`Changes`,c;return t[0]!==a||t[1]!==o||t[2]!==s||t[3]!==i?(c=(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:i,onClick:o,children:[a,` `,s]}),t[0]=a,t[1]=o,t[2]=s,t[3]=i,t[4]=c):c=t[4],c}function _E(e){let t=(0,Q.c)(17),{showProjectToolbar:n,hasChatActions:r,projectId:i,threadId:a,runCommand:o,openWith:s}=e;if(!n)return null;let c;t[0]===r?c=t[1]:(c=r&&(0,$.jsx)(Tl,{className:`my-1`}),t[0]=r,t[1]=c);let l;t[2]!==i||t[3]!==o?(l=(0,$.jsx)(dE,{projectId:i,runCommand:o,layout:`menu`}),t[2]=i,t[3]=o,t[4]=l):l=t[4];let u;t[5]===a?u=t[6]:(u=(0,$.jsx)(kw,{threadId:a,layout:`menu`}),t[5]=a,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(Aw,{layout:`menu`}),t[7]=d):d=t[7];let f;t[8]!==s||t[9]!==i||t[10]!==a?(f=(0,$.jsx)(IT,{projectId:i,threadId:a,openWith:s,layout:`menu`}),t[8]=s,t[9]=i,t[10]=a,t[11]=f):f=t[11];let p;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==f?(p=(0,$.jsxs)($.Fragment,{children:[c,l,u,d,f]}),t[12]=c,t[13]=l,t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function vE(e){let t=(0,Q.c)(4),{hasMessages:n,onNewChat:r,projectId:i}=e,{isStartingNewChat:a}=BC();if(!n)return null;let o;return t[0]!==a||t[1]!==r||t[2]!==i?(o=(0,$.jsx)(`div`,{className:`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`,"data-chat-toolbar":!0,children:(0,$.jsx)(hw,{projectId:i,onNewChat:r,isStartingNewChat:a})}),t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3],o}function yE(e){let t=(0,Q.c)(7),{userTasks:n,effectiveIsStreaming:r,threadId:i,isCreatingProject:a,onSelectUserTask:o,onToggleUserTaskPinned:s,onRemoveUserTask:c,layout:l}=e;if(n.length===0)return null;let u=r||!i&&!a,d;return t[0]!==l||t[1]!==c||t[2]!==o||t[3]!==s||t[4]!==u||t[5]!==n?(d=(0,$.jsx)(PC,{tasks:n,disabled:u,onSelectTask:o,onTogglePinned:s,onRemoveTask:c,layout:l}),t[0]=l,t[1]=c,t[2]=o,t[3]=s,t[4]=u,t[5]=n,t[6]=d):d=t[6],d}function bE(e){let t=(0,Q.c)(4),{layout:n,threadId:r,projectId:i}=e;if(n!==`menu`||!r||!i)return null;let a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=(0,$.jsx)(kT,{projectId:i,threadId:r,layout:n},r),t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}function xE(e){let t=(0,Q.c)(2),{hasMessages:n,layout:r}=e;if(!n)return null;let i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(MC,{layout:r}),t[0]=r,t[1]=i),i}function SE(e){return e===`bar`?`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`:`flex flex-col items-stretch gap-1 p-1 min-w-[220px]`}function CE(e){let t=(0,Q.c)(61),{threadId:n,projectId:r,messages:i,userTasks:a,effectiveIsStreaming:o,isCreatingProject:s,onNewChat:c,onSelectUserTask:l,onToggleUserTaskPinned:u,onRemoveUserTask:d,layout:f}=e,p=f===void 0?`bar`:f,{openChatDockPanel:m}=Wd(),{isStartingNewChat:h}=BC(),g;t[0]!==i||t[1]!==r||t[2]!==n||t[3]!==a?(g={threadId:n,projectId:r,messages:i,userTasks:a},t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=g):g=t[4];let{hasMessages:_,hasChanges:v,isVisible:y}=mE(g),{changedFilesCount:b}=Fd(),x;t[5]===p?x=t[6]:(x=pE(p),t[5]=p,t[6]=x);let S=x,C=X(wE),w;if(t[7]!==r||t[8]!==C){let e;t[10]===r?e=t[11]:(e=e=>e.projectId===r,t[10]=r,t[11]=e),w=C.find(e),t[7]=r,t[8]=C,t[9]=w}else w=t[9];let T=w,E=p===`menu`&&!!n&&!!r,D=_||v||a.length>0||E;if(!y)return null;let O;t[12]===p?O=t[13]:(O=SE(p),t[12]=p,t[13]=O);let k=p===`bar`?!0:void 0,A=r||null,j;t[14]!==_||t[15]!==h||t[16]!==p||t[17]!==c||t[18]!==A||t[19]!==S?(j=(0,$.jsx)(hE,{hasMessages:_,layout:p,toolbarButtonClass:S,isStartingNewChat:h,onNewChat:c,projectId:A}),t[14]=_,t[15]=h,t[16]=p,t[17]=c,t[18]=A,t[19]=S,t[20]=j):j=t[20];let M;t[21]===m?M=t[22]:(M=()=>{m(`review`)},t[21]=m,t[22]=M);let N;t[23]!==b||t[24]!==v||t[25]!==p||t[26]!==M||t[27]!==S?(N=(0,$.jsx)(gE,{hasChanges:v,layout:p,toolbarButtonClass:S,changedFilesCount:b,onReviewChanges:M}),t[23]=b,t[24]=v,t[25]=p,t[26]=M,t[27]=S,t[28]=N):N=t[28];let P;t[29]!==o||t[30]!==s||t[31]!==p||t[32]!==d||t[33]!==l||t[34]!==u||t[35]!==n||t[36]!==a?(P=(0,$.jsx)(yE,{userTasks:a,effectiveIsStreaming:o,threadId:n,isCreatingProject:s,onSelectUserTask:l,onToggleUserTaskPinned:u,onRemoveUserTask:d,layout:p}),t[29]=o,t[30]=s,t[31]=p,t[32]=d,t[33]=l,t[34]=u,t[35]=n,t[36]=a,t[37]=P):P=t[37];let F;t[38]!==p||t[39]!==r||t[40]!==n?(F=(0,$.jsx)(bE,{layout:p,threadId:n,projectId:r}),t[38]=p,t[39]=r,t[40]=n,t[41]=F):F=t[41];let I;t[42]!==_||t[43]!==p?(I=(0,$.jsx)(xE,{hasMessages:_,layout:p}),t[42]=_,t[43]=p,t[44]=I):I=t[44];let L=T?.runCommand,R=T?.openWith,z;t[45]!==D||t[46]!==r||t[47]!==E||t[48]!==L||t[49]!==R||t[50]!==n?(z=(0,$.jsx)(_E,{showProjectToolbar:E,hasChatActions:D,projectId:r,threadId:n,runCommand:L,openWith:R}),t[45]=D,t[46]=r,t[47]=E,t[48]=L,t[49]=R,t[50]=n,t[51]=z):z=t[51];let B;return t[52]!==N||t[53]!==P||t[54]!==F||t[55]!==I||t[56]!==z||t[57]!==O||t[58]!==k||t[59]!==j?(B=(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:O,"data-chat-toolbar":k,children:[j,N,P,F,I,z]})}),t[52]=N,t[53]=P,t[54]=F,t[55]=I,t[56]=z,t[57]=O,t[58]=k,t[59]=j,t[60]=B):B=t[60],B}function wE(e){return e.projects}function TE(e){let t=(0,Q.c)(11),{mode:n,messages:r,onNewChat:i}=e,a=n===void 0?`full`:n,o;t[0]!==r||t[1]!==e.projectId||t[2]!==e.threadId||t[3]!==e.userTasks?(o={threadId:e.threadId,projectId:e.projectId,messages:r,userTasks:e.userTasks},t[0]=r,t[1]=e.projectId,t[2]=e.threadId,t[3]=e.userTasks,t[4]=o):o=t[4];let{hasMessages:s}=mE(o);if(a===`newChatOnly`){let n=e.projectId||null,r;return t[5]!==s||t[6]!==i||t[7]!==n?(r=(0,$.jsx)(vE,{hasMessages:s,onNewChat:i,projectId:n}),t[5]=s,t[6]=i,t[7]=n,t[8]=r):r=t[8],r}let c;return t[9]===e?c=t[10]:(c=(0,$.jsx)(CE,{...e}),t[9]=e,t[10]=c),c}function EE(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(TE,{...e}),t[0]=e,t[1]=n),n}function DE(e){let t=(0,Q.c)(29),{inPill:n}=e,r=n===void 0?!1:n,i=gC(),a=X(AE),o=X(kE),s=X(OE),{userTasks:c,handleNewChat:l,handleSelectUserTask:u,handleRemoveUserTask:d,toggleUserTaskPinned:f,effectiveIsStreaming:p,isCreatingProject:m}=BC(),h;t[0]!==s||t[1]!==o||t[2]!==a||t[3]!==c?(h={threadId:a,projectId:o,messages:s,userTasks:c},t[0]=s,t[1]=o,t[2]=a,t[3]=c,t[4]=h):h=t[4];let{isVisible:g}=mE(h);if(!a||!g)return null;let _=r||!i?`text-muted-foreground`:nl,v;t[5]===_?v=t[6]:(v=G(`h-8 w-8 shrink-0 md:hidden electrobun-webkit-app-region-no-drag`,_),t[5]=_,t[6]=v);let y,b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(lt,{className:`h-4 w-4`}),b=(0,$.jsx)(`span`,{className:`sr-only`,children:`Chat actions`}),t[7]=y,t[8]=b):(y=t[7],b=t[8]);let x;t[9]===v?x=t[10]:(x=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:v,children:[y,b]})}),t[9]=v,t[10]=x);let S=o??``,C;t[11]===l?C=t[12]:(C=()=>{l()},t[11]=l,t[12]=C);let w;t[13]===d?w=t[14]:(w=e=>{d(e)},t[13]=d,t[14]=w);let T;t[15]!==p||t[16]!==u||t[17]!==m||t[18]!==s||t[19]!==a||t[20]!==w||t[21]!==S||t[22]!==C||t[23]!==f||t[24]!==c?(T=(0,$.jsx)(bl,{align:`end`,className:`electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(CE,{threadId:a,projectId:S,messages:s,userTasks:c,effectiveIsStreaming:p,isCreatingProject:m,onNewChat:C,onSelectUserTask:u,onToggleUserTaskPinned:f,onRemoveUserTask:w,layout:`menu`})}),t[15]=p,t[16]=u,t[17]=m,t[18]=s,t[19]=a,t[20]=w,t[21]=S,t[22]=C,t[23]=f,t[24]=c,t[25]=T):T=t[25];let E;return t[26]!==T||t[27]!==x?(E=(0,$.jsxs)(hl,{children:[x,T]}),t[26]=T,t[27]=x,t[28]=E):E=t[28],E}function OE(e){return e.messages}function kE(e){return e.selectedProjectId}function AE(e){return e.selectedThreadId}function jE(e){let t=(0,Q.c)(3),{threadId:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Pd,{threadId:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function ME(e,t){let n=t[0],r={toolCallId:e,questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header};return Object.defineProperties(r,{question:{value:r.question,enumerable:!1,writable:!0},options:{value:r.options,enumerable:!1,writable:!0},context:{value:r.context,enumerable:!1,writable:!0}}),r}var NE=1500;function PE(e){let t=[];for(let n of e){let e=Hs(n.content);e&&t.push(...e)}return t}function FE(e,t){let n=[];for(let[r,i]of Object.entries(e))!i||i.length===0||v_(r)===t&&n.push(...am(i));return n}function IE(e){let t=new Set;for(let n of e)ws(n)&&t.add(n.toolCallId);let n=null;for(let r of e){if(!Us(r)||r.name!==`ask_user`||t.has(r.id))continue;let e=Mv(r.input);e.questions.length!==0&&(n=ME(r.id,e.questions))}return n}function LE(e){return e.isThreadActive?IE([...e.messageBlocks,...Bs(e.streamingSegments),...FE(e.subagentTranscripts,e.paneId)]):null}function RE(e,t,n,r){if(t){let n=e.find(e=>e.toolCallId===t);if(n)return ME(n.toolCallId,n.questions)}if(!n)return null;let i=e.find(e=>w_(e.toolCallId)===r&&C_(e.toolCallId)===n);return i?ME(i.toolCallId,i.questions):null}function zE(e){let t=(0,Q.c)(24),{paneId:n}=wv(),r=X(VE),i;t[0]!==n||t[1]!==r?(i=e=>As(e.threadStreamingStates,r,n).streamingSegments,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=X(i),o=X(BE),s;t[3]!==n||t[4]!==r?(s=e=>ks(e,r,n),t[3]=n,t[4]=r,t[5]=s):s=t[5];let c=X(s),l;t[6]===e?l=t[7]:(l=PE(e),t[6]=e,t[7]=l);let u=l,d;t[8]!==c||t[9]!==u||t[10]!==n||t[11]!==a||t[12]!==o?(d=LE({messageBlocks:u,streamingSegments:a,subagentTranscripts:o,isThreadActive:c,paneId:n}),t[8]=c,t[9]=u,t[10]=n,t[11]=a,t[12]=o,t[13]=d):d=t[13];let f=d,[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=(0,Z.useRef)(null),v=f?.toolCallId??null,y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{g(null)},t[14]=y):y=t[14];let b=p?.toolCallId,x;t[15]!==v||t[16]!==b?(x=[v,b],t[15]=v,t[16]=b,t[17]=x):x=t[17],(0,Z.useEffect)(y,x);let S,C;t[18]!==v||t[19]!==c||t[20]!==n||t[21]!==r?(S=()=>{if(!c){m(null),_.current=null;return}let e=!1,t=async function(){try{let t=await ei();if(e)return;if(t.length===0){_.current&&=(g(_.current),null),m(null);return}let i=RE(t,v,r,n);if(!i){_.current=null,m(null);return}_.current=i.toolCallId,m(ME(i.toolCallId,i.questions))}catch{}};t();let i=setInterval(()=>{t()},NE);return()=>{e=!0,clearInterval(i)}},C=[c,v,r,n],t[18]=v,t[19]=c,t[20]=n,t[21]=r,t[22]=S,t[23]=C):(S=t[22],C=t[23]),(0,Z.useEffect)(S,C);let w=f??p;return!w||h===w.toolCallId?null:w}function BE(e){return e.subagentTranscripts}function VE(e){return e.selectedThreadId}function HE(e){let t=(0,Q.c)(10),{open:n,onClose:r}=e,i=Yn(),a;t[0]===r?a=t[1]:(a=e=>{e||r()},t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsxs)(fc,{children:[(0,$.jsx)(sc,{children:`Balance empty`}),(0,$.jsx)(oc,{children:`You have no prompts remaining. Purchase additional prompts to continue.`})]}),t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r?(s=(0,$.jsxs)(cc,{children:[o,(0,$.jsx)(uc,{children:(0,$.jsx)(Hr,{onClick:()=>{r(),i(`/settings/account`)},children:`Go to Account`})})]}),t[3]=i,t[4]=r,t[5]=s):s=t[5];let c;return t[6]!==n||t[7]!==a||t[8]!==s?(c=(0,$.jsx)(pc,{open:n,onOpenChange:a,children:s}),t[6]=n,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function UE(e){let t=(0,Q.c)(4),{messages:n}=e,r;t[0]===n?r=t[1]:(r=n===void 0?[]:n,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,$.jsx)(KE,{messages:i}),t[2]=i,t[3]=a),a}function WE(e){let t=(0,Q.c)(19),{visible:n,paneId:r,threadId:i,projectId:a,messages:o,userTasks:s,effectiveIsStreaming:c,isCreatingProject:l,onNewChat:u,onSelectUserTask:d,onToggleUserTaskPinned:f,onRemoveUserTask:p}=e;if(!n)return null;let m=r===`primary`?`full`:`newChatOnly`,h;t[0]!==r||t[1]!==s?(h=r===`primary`?s:[],t[0]=r,t[1]=s,t[2]=h):h=t[2];let g=h,_;t[3]===u?_=t[4]:(_=()=>{u()},t[3]=u,t[4]=_);let v;t[5]===p?v=t[6]:(v=e=>{p(e)},t[5]=p,t[6]=v);let y;return t[7]!==c||t[8]!==l||t[9]!==o||t[10]!==m||t[11]!==d||t[12]!==f||t[13]!==a||t[14]!==_||t[15]!==v||t[16]!==i||t[17]!==g?(y=(0,$.jsx)(`div`,{className:`max-md:hidden`,children:(0,$.jsx)(EE,{threadId:i,projectId:a,messages:o,userTasks:g,effectiveIsStreaming:c,isCreatingProject:l,mode:m,onNewChat:_,onSelectUserTask:d,onToggleUserTaskPinned:f,onRemoveUserTask:v})}),t[7]=c,t[8]=l,t[9]=o,t[10]=m,t[11]=d,t[12]=f,t[13]=a,t[14]=_,t[15]=v,t[16]=i,t[17]=g,t[18]=y):y=t[18],y}function GE(e){let t=(0,Q.c)(25),{activeAskUserPrompt:n,handleAskUserAnswered:r,handleAskUserStop:i,elevated:a,centered:o,embedded:s,planMode:c,setPlanMode:l,onSend:u,onStop:d,isStreaming:f,disabled:p,queuedMessages:m,onRemoveQueuedMessage:h,userTasks:g,handleRemoveUserTask:_,setUserTasks:v}=e;if(n){let e;return t[0]!==n.questions||t[1]!==n.toolCallId||t[2]!==a||t[3]!==r||t[4]!==i?(e=(0,$.jsx)(pC,{toolCallId:n.toolCallId,questions:n.questions,onAnswered:r,onStop:i,elevated:a}),t[0]=n.questions,t[1]=n.toolCallId,t[2]=a,t[3]=r,t[4]=i,t[5]=e):e=t[5],e}let y;t[6]===_?y=t[7]:(y=e=>{e.pinned||_(e.id)},t[6]=_,t[7]=y);let b;t[8]===v?b=t[9]:(b=e=>{v(t=>[...t,e])},t[8]=v,t[9]=b);let x;return t[10]!==o||t[11]!==p||t[12]!==a||t[13]!==s||t[14]!==f||t[15]!==h||t[16]!==u||t[17]!==d||t[18]!==c||t[19]!==m||t[20]!==l||t[21]!==y||t[22]!==b||t[23]!==g?(x=(0,$.jsx)(eC,{planMode:c,setPlanMode:l,onSend:u,onStop:d,isStreaming:f,disabled:p,initialValue:``,queuedMessages:m,onRemoveQueuedMessage:h,isOverlay:!1,centered:o,embedded:s,elevated:a,userTasks:g,onMatchedUserTaskSend:y,onUserTaskCreated:b}),t[10]=o,t[11]=p,t[12]=a,t[13]=s,t[14]=f,t[15]=h,t[16]=u,t[17]=d,t[18]=c,t[19]=m,t[20]=l,t[21]=y,t[22]=b,t[23]=g,t[24]=x):x=t[24],x}function KE(e){let t=(0,Q.c)(67),{messages:n}=e,{paneId:r,conversationId:i,fillPane:a}=wv(),o=aC(),s=oC(),c=o?.placement===`footer`&&!o.embedded,l=o?.embedded??!1,u=!(c&&s!==`centered`),d=X(ZE),f=X(XE),p=X(YE),m=X(JE),[h,g]=Z.useState(!1),{handleSend:_,handleStop:v,getQueuedMessagesForPane:y,handleRemoveQueuedMessage:b,showEmptyBalanceDialog:x,setShowEmptyBalanceDialog:S}=bv(),{userTasks:C,setUserTasks:w,handleNewChat:T,handleSelectUserTask:E,handleRemoveUserTask:D,toggleUserTaskPinned:O,effectiveIsStreaming:k,isStartingNewChat:A}=BC(),[j,M]=(0,Z.useState)(qE),N=zE(n),P;t[0]!==j||t[1]!==N?(P=N&&!j.has(N.toolCallId)?N:null,t[0]=j,t[1]=N,t[2]=P):P=t[2];let F=P,I;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{M(t=>{let n=new Set(t);return n.add(e),n})},t[3]=I):I=t[3];let L=I,R;t[4]!==i||t[5]!==_||t[6]!==r?(R=(e,t,n,a,o,s,c,l)=>_(r,i,e,t,n,a,o,s,c,l),t[4]=i,t[5]=_,t[6]=r,t[7]=R):R=t[7];let z=R,B;t[8]!==v||t[9]!==r?(B=()=>{v(r)},t[8]=v,t[9]=r,t[10]=B):B=t[10];let V=B,H;t[11]!==F||t[12]!==V?(H=()=>{V(),F&&L(F.toolCallId)},t[11]=F,t[12]=V,t[13]=H):H=t[13];let ee=H,te;t[14]!==b||t[15]!==r?(te=e=>{b(r,e)},t[14]=b,t[15]=r,t[16]=te):te=t[16];let ne=te,re=r===`primary`&&f&&(p||n.length>0||C.length>0),ie=r!==`primary`&&f&&n.length>0,ae;t[17]===S?ae=t[18]:(ae=()=>S(!1),t[17]=S,t[18]=ae);let oe;t[19]!==x||t[20]!==ae?(oe=(0,$.jsx)(HE,{open:x,onClose:ae}),t[19]=x,t[20]=ae,t[21]=oe):oe=t[21];let se;t[22]===a?se=t[23]:(se=my(a),t[22]=a,t[23]=se);let U=!!(re||ie),ce=p??``,le;t[24]===T?le=t[25]:(le=()=>{T()},t[24]=T,t[25]=le);let ue;t[26]!==k||t[27]!==D||t[28]!==E||t[29]!==d||t[30]!==n||t[31]!==r||t[32]!==f||t[33]!==U||t[34]!==ce||t[35]!==le||t[36]!==O||t[37]!==C?(ue=(0,$.jsx)(WE,{visible:U,paneId:r,threadId:f,projectId:ce,messages:n,userTasks:C,effectiveIsStreaming:k,isCreatingProject:d,onNewChat:le,onSelectUserTask:E,onToggleUserTaskPinned:O,onRemoveUserTask:D}),t[26]=k,t[27]=D,t[28]=E,t[29]=d,t[30]=n,t[31]=r,t[32]=f,t[33]=U,t[34]=ce,t[35]=le,t[36]=O,t[37]=C,t[38]=ue):ue=t[38];let W=!f&&!d||m||A,de;t[39]!==y||t[40]!==r?(de=y(r),t[39]=y,t[40]=r,t[41]=de):de=t[41];let fe;t[42]!==F||t[43]!==c||t[44]!==k||t[45]!==u||t[46]!==l||t[47]!==ee||t[48]!==D||t[49]!==ne||t[50]!==z||t[51]!==V||t[52]!==h||t[53]!==w||t[54]!==W||t[55]!==de||t[56]!==C?(fe=(0,$.jsx)(GE,{activeAskUserPrompt:F,handleAskUserAnswered:L,handleAskUserStop:ee,elevated:u,centered:c,embedded:l,planMode:h,setPlanMode:g,onSend:z,onStop:V,isStreaming:k,disabled:W,queuedMessages:de,onRemoveQueuedMessage:ne,userTasks:C,handleRemoveUserTask:D,setUserTasks:w}),t[42]=F,t[43]=c,t[44]=k,t[45]=u,t[46]=l,t[47]=ee,t[48]=D,t[49]=ne,t[50]=z,t[51]=V,t[52]=h,t[53]=w,t[54]=W,t[55]=de,t[56]=C,t[57]=fe):fe=t[57];let pe;t[58]!==ue||t[59]!==fe?(pe=(0,$.jsxs)(`div`,{className:`relative`,children:[ue,fe]}),t[58]=ue,t[59]=fe,t[60]=pe):pe=t[60];let me;t[61]!==pe||t[62]!==se?(me=(0,$.jsx)(`div`,{className:se,children:pe}),t[61]=pe,t[62]=se,t[63]=me):me=t[63];let he;return t[64]!==me||t[65]!==oe?(he=(0,$.jsxs)($.Fragment,{children:[oe,me]}),t[64]=me,t[65]=oe,t[66]=he):he=t[66],he}function qE(){return new Set}function JE(e){return e.selectedThreadId?e.threadToolSessions[e.selectedThreadId]?.kind===`create-project`:!1}function YE(e){return e.selectedProjectId}function XE(e){return e.selectedThreadId}function ZE(e){return e.isCreatingProject}function QE(e){let t=e?.querySelector(uy);return t?t.getBoundingClientRect().top:null}function $E(e,t,n){let r=(0,Q.c)(5),i,a;r[0]!==n||r[1]!==t||r[2]!==e?(i=()=>{let r=e.current;if(!n||!r)return;let i=function(){t.current=QE(r)};i();let a=new ResizeObserver(i);return a.observe(r),window.addEventListener(`resize`,i),()=>{a.disconnect(),window.removeEventListener(`resize`,i)}},a=[n,t,e],r[0]=n,r[1]=t,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,Z.useEffect)(i,a)}function eD(e,t,n){let r=(0,Q.c)(5),i,a;r[0]!==n||r[1]!==t||r[2]!==e?(i=()=>{let r=e.current,i=t.current;if(!n||!r||i===null)return;t.current=null;let a=QE(r);if(a===null||Math.abs(i-a)<1||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let o=r.animate([{transform:`translateY(${i-a}px)`},{transform:`translateY(0px)`}],{duration:300,easing:cy});return()=>o.cancel()},a=[n,t,e],r[0]=n,r[1]=t,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,Z.useLayoutEffect)(i,a)}var tD;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(tD||={});var nD;(function(e){e.Body=`body`,e.Ionic=`ionic`,e.Native=`native`,e.None=`none`})(nD||={});var rD=Ag(`Keyboard`);function iD(e){let t=window.visualViewport;if(!e||!t)return 0;let n=t.height+t.offsetTop,r=e.getBoundingClientRect().bottom;return Math.max(0,Math.round(r-n))}function aD(e,t){return vi()?t:e>0?e:t}function oD(e,t){let n=(0,Q.c)(6),[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(0),s=t?.onlyWhenOverlapping??!1,c,l;if(n[0]===e?(c=n[1],l=n[2]):(c=()=>{let t=function(){i(iD(e.current))},n=function(){t(),requestAnimationFrame(t)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n);let a=[];return Za()&&a.push(rD.addListener(`keyboardWillShow`,e=>{o(e.keyboardHeight)}),rD.addListener(`keyboardDidShow`,e=>{o(e.keyboardHeight)}),rD.addListener(`keyboardWillHide`,()=>{o(0)}),rD.addListener(`keyboardDidHide`,()=>{o(0)})),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n);for(let e of a)e.then(sD)}},l=[e],n[0]=e,n[1]=c,n[2]=l),(0,Z.useEffect)(c,l),s&&r<=0)return 0;let u;return n[3]!==r||n[4]!==a?(u=aD(r,a),n[3]=r,n[4]=a,n[5]=u):u=n[5],u}function sD(e){e.remove()}function cD(e){let t=(0,Q.c)(53),{paneId:n,inline:r}=e,i=r===void 0?!1:r,a=X(uD),o=X(lD),s=n??o,c;t[0]===s?c=t[1]:(c=e=>gs(e,s),t[0]=s,t[1]=c);let l=X(c),u;t[2]===s?u=t[3]:(u=e=>ys(e,s),t[2]=s,t[3]=u);let d=X(u),f=aC(),p=oC(),m=sC()?ly:void 0,h=f?.overlayRef,g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=f?.placement??`overlay`,y=f?.embedded??!1,b=y?g:h,x=b??g,S=f?.centeredComposerTopRef??_,C;t[4]===b?C=t[5]:(C=b??{current:null},t[4]=b,t[5]=C);let w=oD(C);if($E(x,S,i&&p===`centered`),eD(x,S,!i&&p===`moving-to-footer`),!a||!b)return null;let T;t[6]===d?T=t[7]:(T=(0,$.jsx)(zC,{children:(0,$.jsx)(UE,{messages:d})}),t[6]=d,t[7]=T);let E;t[8]!==l||t[9]!==y||t[10]!==s||t[11]!==T?(E=(0,$.jsx)(Sv,{paneId:s,conversationId:l,fillPane:y,children:T},s),t[8]=l,t[9]=y,t[10]=s,t[11]=T,t[12]=E):E=t[12];let D=E;if(v===`footer`){if(y){let e;t[13]===w?e=t[14]:(e={paddingBottom:w},t[13]=w,t[14]=e);let n;t[15]===D?n=t[16]:(n=(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:D}),t[15]=D,t[16]=n);let r;return t[17]!==b||t[18]!==e||t[19]!==n?(r=(0,$.jsx)(`div`,{ref:b,className:`mx-0.5 mb-2 shrink-0 border-t border-border bg-background`,style:e,children:n}),t[17]=b,t[18]=e,t[19]=n,t[20]=r):r=t[20],r}if(i){let e;t[21]===m?e=t[22]:(e=G(`w-full min-w-0 shrink-0`,m),t[21]=m,t[22]=e);let n;t[23]===w?n=t[24]:(n={paddingBottom:w},t[23]=w,t[24]=n);let r;t[25]===D?r=t[26]:(r=(0,$.jsx)(`div`,{className:`pointer-events-auto w-full`,children:D}),t[25]=D,t[26]=r);let i;return t[27]!==b||t[28]!==e||t[29]!==n||t[30]!==r?(i=(0,$.jsx)(`div`,{ref:b,className:e,style:n,children:r}),t[27]=b,t[28]=e,t[29]=n,t[30]=r,t[31]=i):i=t[31],i}let e;t[32]===m?e=t[33]:(e=G(`shrink-0 bg-transparent max-md:px-2`,m),t[32]=m,t[33]=e);let n;t[34]===w?n=t[35]:(n={paddingBottom:w},t[34]=w,t[35]=n);let r;t[36]===D?r=t[37]:(r=(0,$.jsx)(`div`,{className:`relative mx-auto w-full max-w-3xl min-w-0 px-6`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto pt-2 pb-6`,children:D})}),t[36]=D,t[37]=r);let a;return t[38]!==b||t[39]!==e||t[40]!==n||t[41]!==r?(a=(0,$.jsx)(`div`,{ref:b,className:e,style:n,children:r}),t[38]=b,t[39]=e,t[40]=n,t[41]=r,t[42]=a):a=t[42],a}let O;t[43]===w?O=t[44]:(O={bottom:w},t[43]=w,t[44]=O);let k,A;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(k=py(!1),A=(0,$.jsx)(`div`,{className:`h-0 bg-gradient-to-t from-background to-transparent md:h-16`}),t[45]=k,t[46]=A):(k=t[45],A=t[46]);let j;t[47]===D?j=t[48]:(j=(0,$.jsxs)(`div`,{className:k,children:[A,(0,$.jsx)(`div`,{className:`pointer-events-auto bg-background pb-2 md:pb-4`,children:D})]}),t[47]=D,t[48]=j);let M;return t[49]!==b||t[50]!==j||t[51]!==O?(M=(0,$.jsx)(`div`,{ref:b,className:`pointer-events-none absolute inset-x-0 z-30 max-md:px-2`,style:O,children:j}),t[49]=b,t[50]=j,t[51]=O,t[52]=M):M=t[52],M}function lD(e){return e.focusedPane}function uD(e){return e.selectedThreadId}function dD(e){let t=[`What would you like to add to ${e}?`,`What should we build in ${e}?`,`What changes do you want to make to ${e}?`,`What feature should we add to ${e}?`,`What would you like to fix in ${e}?`,`What are we working on in ${e}?`,`What's next for ${e}?`,`What should we improve in ${e}?`,`How can we make ${e} better?`,`What would you like to change in ${e}?`,`What should we ship in ${e} next?`];return t[Math.floor(Math.random()*t.length)]}function fD(e){let t=(0,Q.c)(47),{project:n}=e,r=gC(),{isRunning:i}=iE(n?.projectId),{startServer:a}=$T(),o=aC(),s=o!=null&&!o.embedded;n?.name;let c=n?.name??`your project`,l;t[0]===c?l=t[1]:(l=dD(c),t[0]=c,t[1]=l);let u=l,d=!i&&n?.runCommand,f;t[2]!==n||t[3]!==a?(f=function(){n&&a(n)},t[2]=n,t[3]=a,t[4]=f):f=t[4];let p=f;if(r&&n){let e;t[5]===n?e=t[6]:(e=(0,$.jsx)(Yc,{project:n,className:`h-20 w-20`,iconClassName:`h-8 w-8`}),t[5]=n,t[6]=e);let r;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(r=G(U.pageTitle,`tracking-tight text-balance text-foreground`),t[7]=r):r=t[7];let i;t[8]===n.name?i=t[9]:(i=(0,$.jsx)(`h1`,{className:r,children:n.name}),t[8]=n.name,t[9]=i);let a;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(a=G(U.pageSubtitle,`mt-2`),t[10]=a):a=t[10];let o;t[11]===u?o=t[12]:(o=(0,$.jsx)(`p`,{className:a,children:u}),t[11]=u,t[12]=o);let c;t[13]!==i||t[14]!==o?(c=(0,$.jsxs)(`div`,{children:[i,o]}),t[13]=i,t[14]=o,t[15]=c):c=t[15];let l;t[16]!==p||t[17]!==d?(l=d?(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(U.label,`inline-flex items-center gap-2 rounded-full bg-primary px-4 py-2 text-primary-foreground transition-colors hover:bg-primary/90`),children:`Start App`}):null,t[16]=p,t[17]=d,t[18]=l):l=t[18];let f;t[19]!==l||t[20]!==e||t[21]!==c?(f=(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-6`,children:[e,c,l]}),t[19]=l,t[20]=e,t[21]=c,t[22]=f):f=t[22];let m;t[23]===s?m=t[24]:(m=s?(0,$.jsx)(`div`,{className:`mt-16 w-full`,children:(0,$.jsx)(cD,{inline:!0})}):null,t[23]=s,t[24]=m);let h;return t[25]!==f||t[26]!==m?(h=(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col items-center justify-center overflow-y-auto animate-in fade-in duration-500`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-4xl flex-col items-center px-6 py-10 text-center`,children:[f,m]})}),t[25]=f,t[26]=m,t[27]=h):h=t[27],h}let m;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`h-16 w-16 rounded-lg`}),t[28]=m):m=t[28];let h;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(h=G(U.pageTitle,`tracking-tight text-balance text-foreground`),t[29]=h):h=t[29];let g=n?.name??`Project`,_;t[30]===g?_=t[31]:(_=(0,$.jsx)(`h1`,{className:h,children:g}),t[30]=g,t[31]=_);let v;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(v=G(U.pageSubtitle,`mt-2`),t[32]=v):v=t[32];let y;t[33]===u?y=t[34]:(y=(0,$.jsx)(`p`,{className:v,children:u}),t[33]=u,t[34]=y);let b;t[35]!==_||t[36]!==y?(b=(0,$.jsxs)(`div`,{className:`text-center`,children:[_,y]}),t[35]=_,t[36]=y,t[37]=b):b=t[37];let x;t[38]!==p||t[39]!==d?(x=d&&(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(U.label,`inline-flex items-center gap-2 rounded-full bg-primary px-4 py-2 text-primary-foreground transition-colors hover:bg-primary/90`),children:`Start App`}),t[38]=p,t[39]=d,t[40]=x):x=t[40];let S;t[41]===s?S=t[42]:(S=s?(0,$.jsx)(cD,{inline:!0}):null,t[41]=s,t[42]=S);let C;return t[43]!==b||t[44]!==x||t[45]!==S?(C=(0,$.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-3xl flex-col items-center gap-6 px-4`,children:[m,b,x,S]})}),t[43]=b,t[44]=x,t[45]=S,t[46]=C):C=t[46],C}function pD(e,t,n){return e.length+t.length+n}function mD({virtuosoRef:e,selectedThreadId:t,paneId:n,messagesLoaded:r,messageCount:i,isStreaming:a,hasPendingMessage:o}){let s=Vs(),c=(0,Z.useRef)(0),l=(0,Z.useRef)(!1),u=(0,Z.useRef)(!1),d=(0,Z.useRef)(!1),f=(0,Z.useRef)(0),p=(0,Z.useRef)(null),m=(0,Z.useCallback)(()=>{t&&e.current?.getState(e=>{Wo(t,e.scrollTop)})},[t,e]),h=(0,Z.useRef)(m);h.current=m;function g(){d.current&&h.current()}let _=(0,Z.useCallback)(t=>{f.current&&cancelAnimationFrame(f.current),f.current=requestAnimationFrame(()=>{e.current?.scrollTo({top:2**53-1,behavior:t}),f.current=0})},[e]);(0,Z.useEffect)(()=>{function e(){g()}return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[t]),(0,Z.useEffect)(()=>{let e=setInterval(()=>{g()},5e3);return()=>clearInterval(e)},[t]),(0,Z.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]),(0,Z.useEffect)(()=>{u.current=!1,d.current=!1,c.current=0},[t]),(0,Z.useEffect)(()=>{if(!t||!r||i===0||u.current)return;u.current=!0,c.current=i;let n=Ci(t);if(n!==null&&n>0){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.current?.scrollTo({top:n,behavior:`auto`}),d.current=!0})});return}d.current=!0},[t,r,i,e]),(0,Z.useEffect)(()=>{if(!u.current)return;let e=i>c.current,t=l.current&&!a;return(a||o||e||t)&&_(t?`smooth`:`auto`),c.current=i,l.current=a,()=>{f.current&&=(cancelAnimationFrame(f.current),0)}},[a,o,i,_]),(0,Z.useEffect)(()=>{if(!t||!(a||o))return;let e=As(s.getState().threadStreamingStates,t,n),r=pD(e.streamingContent,e.streamingThinking,e.streamingSegments.length);return s.subscribe(()=>{if(!u.current)return;let e=As(s.getState().threadStreamingStates,t,n),i=pD(e.streamingContent,e.streamingThinking,e.streamingSegments.length);i!==r&&(r=i,_(`auto`))})},[s,t,n,a,o,_]);function v(){p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(),p.current=null},150)}function y(e){e||g()}return{onRangeChanged:v,onScrollingStateChange:y}}function hD(e){return e.isCreatingProject||e.streamingSegmentCount>0?!0:e.lastMessageSender===`user`}function gD(e){if(e.isUser)return e.hasCheckpointRef?e.isStreaming||e.hasPendingMessage||e.isCreatingProject||e.isProcessingThread?`Restore unavailable while this thread is still processing.`:`Restore checkpoint`:`Restore unavailable: no checkpoint was created for this prompt.`}function _D(e){return{bottomInset:e.bottomInset,columnClassName:e.columnClassName,isStreaming:e.isStreaming,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread,hasPendingMessage:e.hasPendingMessage,isAutoRouting:e.isAutoRouting,hasActiveToolSession:e.hasActiveToolSession,selectedProjectId:e.selectedProjectId,selectedThreadId:e.selectedThreadId,totalMessages:e.totalMessages,lastMessageSender:e.lastMessageSender,error:e.error,onClearError:e.onClearError,showCheckpointRestore:e.showCheckpointRestore,getCheckpointTooltip:e.getCheckpointTooltip}}function vD(e){let t=(0,Z.forwardRef)((t,n)=>{let r=(0,Q.c)(9),i,a,o;r[0]===t?(i=r[1],a=r[2],o=r[3]):({style:o,children:i,...a}=t,r[0]=t,r[1]=i,r[2]=a,r[3]=o);let s;return r[4]!==i||r[5]!==a||r[6]!==n||r[7]!==o?(s=(0,$.jsx)(`div`,{ref:n,style:o,...a,className:e,children:i}),r[4]=i,r[5]=a,r[6]=n,r[7]=o,r[8]=s):s=r[8],s});return t.displayName=`MessageList`,t}function yD(e,t){return t.length>0||e.isCreatingProject&&!e.hasActiveToolSession||e.isProcessingThread&&(e.isStreaming||e.hasPendingMessage)}function bD(e,t){return e.isAutoRouting?!0:!yD(e,t)||!(e.isStreaming||e.isCreatingProject||e.isProcessingThread)?!1:hD({isCreatingProject:e.isCreatingProject,streamingSegmentCount:t.length,lastMessageSender:e.lastMessageSender})}function xD(e,t){return e.isAutoRouting?!0:!(e.isStreaming||e.hasPendingMessage)||Os(t)?!1:hD({isCreatingProject:e.isCreatingProject,streamingSegmentCount:t.length,lastMessageSender:e.lastMessageSender})}var SD=[];function CD(e){let t=(0,Q.c)(38),{context:n}=e,{paneId:r}=wv(),i;t[0]!==n?.selectedThreadId||t[1]!==r?(i=e=>As(e.threadStreamingStates,n?.selectedThreadId,r),t[0]=n?.selectedThreadId,t[1]=r,t[2]=i):i=t[2];let a=X(i);if(!n)return null;let{bottomInset:o,isCreatingProject:s,isProcessingThread:c,isAutoRouting:l,selectedProjectId:u,selectedThreadId:d,totalMessages:f,error:p,onClearError:m}=n,h=n.isStreaming||s||c?a.streamingSegments:SD,g;t[3]!==n||t[4]!==h?(g=bD(n,h),t[3]=n,t[4]=h,t[5]=g):g=t[5];let _=g,v;t[6]!==n||t[7]!==h?(v=xD(n,h),t[6]=n,t[7]=h,t[8]=v):v=t[8];let y=v,b;t[9]!==l||t[10]!==h?(b=l?null:Ls(Bs(h)),t[9]=l,t[10]=h,t[11]=b):b=t[11];let x=l?ze:b??void 0,S;t[12]===o?S=t[13]:(S={paddingBottom:o},t[12]=o,t[13]=S);let C;t[14]!==l||t[15]!==s||t[16]!==c||t[17]!==h||t[18]!==u||t[19]!==d||t[20]!==_||t[21]!==y||t[22]!==a||t[23]!==f?(C=_&&(0,$.jsx)(ty,{segments:h,model:a.streamingModel,mode:a.streamingAgentMode,threadId:d,projectId:u,isCreatingProject:s,isProcessingThread:c&&!l,totalMessages:f,showProcessingLine:y}),t[14]=l,t[15]=s,t[16]=c,t[17]=h,t[18]=u,t[19]=d,t[20]=_,t[21]=y,t[22]=a,t[23]=f,t[24]=C):C=t[24];let w;t[25]!==x||t[26]!==_||t[27]!==y?(w=y&&(0,$.jsx)(`div`,{className:G(`px-4 pb-4`,_?`pt-0`:`pt-2`),children:(0,$.jsx)(ay,{active:y,label:x})}),t[25]=x,t[26]=_,t[27]=y,t[28]=w):w=t[28];let T;t[29]!==p||t[30]!==m?(T=p&&(0,$.jsxs)(`div`,{className:`mx-4 my-2`,children:[(0,$.jsx)(mo,{variant:`error`,className:`mb-0`,children:p}),(0,$.jsx)(`button`,{type:`button`,className:G(U.compact,`mt-1 text-destructive underline underline-offset-2 hover:text-destructive/80`),onClick:m,children:`Dismiss`})]}),t[29]=p,t[30]=m,t[31]=T):T=t[31];let E;return t[32]!==n.columnClassName||t[33]!==S||t[34]!==C||t[35]!==w||t[36]!==T?(E=(0,$.jsxs)(`div`,{className:n.columnClassName,style:S,children:[C,w,T]}),t[32]=n.columnClassName,t[33]=S,t[34]=C,t[35]=w,t[36]=T,t[37]=E):E=t[37],E}function wD(e,t,n){let r=e===n.totalMessages-1,i=!n.isStreaming&&!n.isProcessingThread&&!n.hasPendingMessage&&!n.isCreatingProject,a=r&&t.sender===`agent`&&!t.isThinking&&i;return(0,$.jsx)(Qv,{message:t,threadId:n.selectedThreadId,messageIndex:e,showCheckpointRestore:n.showCheckpointRestore(t),checkpointRestoreTooltip:n.getCheckpointTooltip(t),showFinalProseCopy:a})}function TD(e){let t=(0,Q.c)(10),{projects:n,projectsLoading:r,onSelectThread:i,onCreateThread:a,onConnectRepo:o,onNewApp:s,onOpenFolder:c}=e,l=`flex min-h-0 flex-1 self-stretch transition-opacity duration-500 ease-in-out ${r?`opacity-0`:`opacity-100`}`,u;t[0]!==o||t[1]!==a||t[2]!==s||t[3]!==c||t[4]!==i||t[5]!==n?(u=(0,$.jsx)(oy,{projects:n,onSelectProject:i,onCreateThread:a,onConnectRepo:o,onNewApp:s,onOpenFolder:c}),t[0]=o,t[1]=a,t[2]=s,t[3]=c,t[4]=i,t[5]=n,t[6]=u):u=t[6];let d;return t[7]!==l||t[8]!==u?(d=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col items-center overflow-hidden`,children:(0,$.jsx)(`div`,{className:l,children:u})}),t[7]=l,t[8]=u,t[9]=d):d=t[9],d}function ED(e){let t=(0,Q.c)(2),{project:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(fD,{project:n}),t[0]=n,t[1]=r),r}function DD(e){let t=(0,Q.c)(19),{composerPhase:n,selectedThreadId:r,virtuosoRef:i,scrollParent:a,onScrollParentChange:o,messages:s,virtuosoContext:c,virtuosoComponents:l,onAtBottomChange:u,onAtTopChange:d,onRangeChanged:f,onScrollingStateChange:p}=e,m=n===`moving-to-footer`&&`animate-in fade-in duration-300 ease-out`,h;t[0]===m?h=t[1]:(h=G(`h-full overflow-hidden`,m),t[0]=m,t[1]=h);let g=r??void 0,_=a??void 0,v;t[2]!==s||t[3]!==u||t[4]!==d||t[5]!==f||t[6]!==p||t[7]!==g||t[8]!==_||t[9]!==l||t[10]!==c||t[11]!==i?(v=(0,$.jsx)(hr,{ref:i,customScrollParent:_,data:s,computeItemKey:OD,context:c,itemContent:wD,overscan:500,components:l,atBottomStateChange:u,atTopStateChange:d,rangeChanged:f,isScrolling:p},g),t[2]=s,t[3]=u,t[4]=d,t[5]=f,t[6]=p,t[7]=g,t[8]=_,t[9]=l,t[10]=c,t[11]=i,t[12]=v):v=t[12];let y;t[13]!==o||t[14]!==v?(y=(0,$.jsx)(za,{className:`h-full`,viewportRef:o,children:v}),t[13]=o,t[14]=v,t[15]=y):y=t[15];let b;return t[16]!==h||t[17]!==y?(b=(0,$.jsx)(`div`,{className:h,children:y}),t[16]=h,t[17]=y,t[18]=b):b=t[18],b}function OD(e,t){return t.messageId}function kD(e){return!e.hideEmptyState&&e.messageCount===0&&!e.isStreaming&&!e.isCreatingProject&&!e.selectedThreadId}function AD(e){return!e.hideEmptyState&&e.messagesLoaded&&e.messageCount===0&&!e.isStreaming&&!e.isCreatingProject&&!e.isProcessingThread&&!e.hasPendingMessage&&!!e.selectedThreadId}function jD(e){let t=e.projects.find(t=>t.projectId===e.selectedProjectId);return{showWelcome:kD(e),showEmptyThreadPlaceholder:AD(e),selectedProject:t}}var MD=(0,Z.forwardRef)(function(e,t){let n=(0,Q.c)(75),{bottomInset:r,messages:i,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,isAutoRouting:l,selectedThreadId:u,selectedProjectId:d,projects:f,projectsLoading:p,messagesLoaded:m,onSelectThread:h,onCreateThread:g,onConnectRepo:_,onNewApp:v,onOpenFolder:y,error:b,onClearError:x,onAtBottomChange:S,onAtTopChange:C,hideEmptyState:w}=e,T=r===void 0?0:r,E=w===void 0?!1:w,{fillPane:D,paneId:O}=wv(),k=oC(),A;n[0]===D?A=n[1]:(A=fy(D),n[0]=D,n[1]=A);let j=A,M;n[2]===u?M=n[3]:(M=e=>u?!!e.threadToolSessions[u]:!1,n[2]=u,n[3]=M);let N=X(M),[P,F]=(0,Z.useState)(null),I=(0,Z.useRef)(null),L;n[4]===j?L=n[5]:(L=vD(j),n[4]=j,n[5]=L);let R;n[6]===L?R=n[7]:(R={List:L,Footer:CD},n[6]=L,n[7]=R);let z=R,B;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(B=()=>({scrollToBottom:()=>{I.current?.scrollTo({top:2**53-1,behavior:`smooth`})},scrollToTop:()=>{I.current?.scrollTo({top:0,behavior:`smooth`})}}),n[8]=B):B=n[8],(0,Z.useImperativeHandle)(t,B);let V;n[9]!==c||n[10]!==a||n[11]!==i.length||n[12]!==m||n[13]!==O||n[14]!==u?(V={virtuosoRef:I,selectedThreadId:u,paneId:O,messagesLoaded:m,messageCount:i.length,isStreaming:a,hasPendingMessage:c},n[9]=c,n[10]=a,n[11]=i.length,n[12]=m,n[13]=O,n[14]=u,n[15]=V):V=n[15];let{onRangeChanged:H,onScrollingStateChange:ee}=mD(V),te;n[16]!==c||n[17]!==E||n[18]!==o||n[19]!==s||n[20]!==a||n[21]!==i.length||n[22]!==m||n[23]!==f||n[24]!==d||n[25]!==u?(te=jD({hideEmptyState:E,messagesLoaded:m,messageCount:i.length,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,selectedThreadId:u,selectedProjectId:d,projects:f}),n[16]=c,n[17]=E,n[18]=o,n[19]=s,n[20]=a,n[21]=i.length,n[22]=m,n[23]=f,n[24]=d,n[25]=u,n[26]=te):te=n[26];let{showWelcome:ne,showEmptyThreadPlaceholder:re,selectedProject:ie}=te,ae=i.length>0?i[i.length-1].sender:null,oe;n[27]!==c||n[28]!==o||n[29]!==s||n[30]!==a?(oe=function(e){return e.sender===`user`&&!!e.checkpointRef&&!a&&!c&&!o&&!s},n[27]=c,n[28]=o,n[29]=s,n[30]=a,n[31]=oe):oe=n[31];let se=oe,U;n[32]!==c||n[33]!==o||n[34]!==s||n[35]!==a?(U=function(e){return gD({isUser:e.sender===`user`,hasCheckpointRef:!!e.checkpointRef,isStreaming:a,hasPendingMessage:c,isCreatingProject:o,isProcessingThread:s})},n[32]=c,n[33]=o,n[34]=s,n[35]=a,n[36]=U):U=n[36];let ce=U,le;n[37]!==T||n[38]!==j||n[39]!==b||n[40]!==ce||n[41]!==N||n[42]!==c||n[43]!==l||n[44]!==o||n[45]!==s||n[46]!==a||n[47]!==ae||n[48]!==i.length||n[49]!==x||n[50]!==d||n[51]!==u||n[52]!==se?(le=_D({bottomInset:T,columnClassName:j,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,isAutoRouting:l,selectedProjectId:d,selectedThreadId:u,totalMessages:i.length,lastMessageSender:ae,error:b,onClearError:x,hasActiveToolSession:N,showCheckpointRestore:se,getCheckpointTooltip:ce}),n[37]=T,n[38]=j,n[39]=b,n[40]=ce,n[41]=N,n[42]=c,n[43]=l,n[44]=o,n[45]=s,n[46]=a,n[47]=ae,n[48]=i.length,n[49]=x,n[50]=d,n[51]=u,n[52]=se,n[53]=le):le=n[53];let ue=le;if(ne){let e;return n[54]!==_||n[55]!==g||n[56]!==v||n[57]!==y||n[58]!==h||n[59]!==f||n[60]!==p?(e=(0,$.jsx)(TD,{projects:f,projectsLoading:p,onSelectThread:h,onCreateThread:g,onConnectRepo:_,onNewApp:v,onOpenFolder:y}),n[54]=_,n[55]=g,n[56]=v,n[57]=y,n[58]=h,n[59]=f,n[60]=p,n[61]=e):e=n[61],e}if(re){let e;return n[62]===ie?e=n[63]:(e=(0,$.jsx)(ED,{project:ie}),n[62]=ie,n[63]=e),e}let W;return n[64]!==k||n[65]!==i||n[66]!==S||n[67]!==C||n[68]!==H||n[69]!==ee||n[70]!==P||n[71]!==u||n[72]!==z||n[73]!==ue?(W=(0,$.jsx)(DD,{composerPhase:k,selectedThreadId:u,virtuosoRef:I,scrollParent:P,onScrollParentChange:F,messages:i,virtuosoContext:ue,virtuosoComponents:z,onAtBottomChange:S,onAtTopChange:C,onRangeChanged:H,onScrollingStateChange:ee}),n[64]=k,n[65]=i,n[66]=S,n[67]=C,n[68]=H,n[69]=ee,n[70]=P,n[71]=u,n[72]=z,n[73]=ue,n[74]=W):W=n[74],W}),ND=Ut(`app.use-pane-chat-history.hook`);function PD(e){let t=(0,Q.c)(9),{paneId:n,conversationId:r}=e,i=Ks(),a=X(FD),o;t[0]===n?o=t[1]:(o=e=>n===Ms||!!e.extraChatPanes[n],t[0]=n,t[1]=o);let s=X(o),c,l;t[2]!==r||t[3]!==i||t[4]!==s||t[5]!==n||t[6]!==a?(c=()=>{if(n===Ms||!s||!a||!r)return;let e=a,t=r,o=n,c=!1;return(async function(){try{let n=await ci(e,t);if(c)return;i({type:Y.SetPaneMessages,paneId:o,messages:n.messages})}catch(e){let t=e;ND.error(`Failed to load pane chat history:`,t),c||i({type:Y.SetPaneMessages,paneId:o,messages:[]})}})(),()=>{c=!0}},l=[r,i,s,n,a],t[2]=r,t[3]=i,t[4]=s,t[5]=n,t[6]=a,t[7]=c,t[8]=l):(c=t[7],l=t[8]),(0,Z.useEffect)(c,l)}function FD(e){return e.selectedThreadId}var ID=4,LD=8,RD=64,zD=`(max-width: 767px)`;function BD(){return window.matchMedia(zD).matches?ID:RD}function VD(e,t){let n=e.getBoundingClientRect().bottom,r=t.getBoundingClientRect().top,i=t.querySelector(`[data-chat-toolbar]`);i&&i.getBoundingClientRect().height>0&&(r=Math.min(r,i.getBoundingClientRect().top));let a=Math.max(0,Math.ceil(n-r)),o=window.matchMedia(zD).matches?ID:0,s=window.matchMedia(zD).matches?0:LD;return Math.max(a+o+s,BD())}function HD(e,t,n){let r=(0,Q.c)(5),[i,a]=(0,Z.useState)(0),o,s;return r[0]!==t||r[1]!==e||r[2]!==n?(o=()=>{if(!n){a(0);return}let r=e.current,i=t.current;if(!r||!i){a(BD());return}let o=function(){let n=e.current,r=t.current;!n||!r||a(VD(n,r))};o();let s=new ResizeObserver(o);s.observe(r),s.observe(i);let c=i.querySelector(`[data-chat-toolbar]`);c&&s.observe(c);let l=new MutationObserver(o);l.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`]}),window.addEventListener(`resize`,o);let u=window.visualViewport;return u?.addEventListener(`resize`,o),u?.addEventListener(`scroll`,o),()=>{s.disconnect(),l.disconnect(),window.removeEventListener(`resize`,o),u?.removeEventListener(`resize`,o),u?.removeEventListener(`scroll`,o)}},s=[e,t,n],r[0]=t,r[1]=e,r[2]=n,r[3]=o,r[4]=s):(o=r[3],s=r[4]),(0,Z.useEffect)(o,s),i}var UD=Ut(`app.chat-pane.ui`);function WD(e,t){let n=(0,Q.c)(42),r=Ks(),{paneErrors:i,setPaneError:a}=bv(),o=X(rO),s=X(nO),c=X(tO),l=X(eO),u=X($D),d=X(QD),f=X(ZD),p=X(XD),m=X(YD),h=X(JD),g;n[0]!==e||n[1]!==o?(g=t=>o?As(t.threadStreamingStates,o,e).isStreaming:!1,n[0]=e,n[1]=o,n[2]=g):g=n[2];let _=X(g),v;n[3]!==e||n[4]!==o?(v=t=>Ys(t.pendingAutoRoutes,o,e),n[3]=e,n[4]=o,n[5]=v):v=n[5];let y=X(v),b=X(qD),x=X(KD),S=X(GD),C;n[6]!==t||n[7]!==e?(C={paneId:e,conversationId:t},n[6]=t,n[7]=e,n[8]=C):C=n[8],PD(C);let w;n[9]!==x||n[10]!==e||n[11]!==b?(w=e===`primary`?b:x[e]?.messages??[],n[9]=x,n[10]=e,n[11]=b,n[12]=w):w=n[12];let T=w,E;n[13]!==y||n[14]!==T?(E=y?[...T,Zy(y)]:T,n[13]=y,n[14]=T,n[15]=E):E=n[15];let D=E,O=e===`primary`?S:x[e]?.messagesLoaded??!1,k;n[16]!==f||n[17]!==e||n[18]!==d||n[19]!==o?(k=vs(f,d,o,e),n[16]=f,n[17]=e,n[18]=d,n[19]=o,n[20]=k):k=n[20];let A=k,j;n[21]!==i||n[22]!==e||n[23]!==o?(j=o?i[Es(o,e)]??null:null,n[21]=i,n[22]=e,n[23]=o,n[24]=j):j=n[24];let M=j,N=e===`primary`&&h?.threadId===o,P;return n[25]!==m||n[26]!==r||n[27]!==p||n[28]!==N||n[29]!==A||n[30]!==u||n[31]!==D||n[32]!==O||n[33]!==M||n[34]!==_||n[35]!==y||n[36]!==c||n[37]!==l||n[38]!==s||n[39]!==o||n[40]!==a?(P={dispatch:r,setPaneError:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectsLoading:l,isCreatingProject:u,pendingAutoRoute:y,messages:D,messagesLoaded:O,hasProcessingThread:A,paneError:M,hasPendingMessage:N,paneIsStreaming:_,focusedPaneId:p,completedPaneIds:m},n[25]=m,n[26]=r,n[27]=p,n[28]=N,n[29]=A,n[30]=u,n[31]=D,n[32]=O,n[33]=M,n[34]=_,n[35]=y,n[36]=c,n[37]=l,n[38]=s,n[39]=o,n[40]=a,n[41]=P):P=n[41],P}function GD(e){return e.messagesLoaded}function KD(e){return e.extraChatPanes}function qD(e){return e.messages}function JD(e){return e.pendingChatMessage}function YD(e){return e.completedPaneIds}function XD(e){return e.focusedPane}function ZD(e){return e.activeStreamPane}function QD(e){return e.processingThreadIds}function $D(e){return e.isCreatingProject}function eO(e){return e.projectsLoading}function tO(e){return e.projects}function nO(e){return e.selectedProjectId}function rO(e){return e.selectedThreadId}function iO(e){let t=(0,Q.c)(5),{messagesRef:n,isVisible:r}=e;if(!r)return null;let i;t[0]===n?i=t[1]:(i=()=>n.current?.scrollToTop(),t[0]=n,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Yt,{className:`h-4 w-4`}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-3 z-20 flex justify-center`,children:(0,$.jsx)(Hr,{variant:`outline`,size:`icon-md`,onClick:i,className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to top`,children:a})}),t[3]=i,t[4]=o),o}function aO(e){let t=(0,Q.c)(8),{messagesRef:n,isVisible:r,usesOverlayInput:i}=e;if(!r)return null;let a=`pointer-events-none absolute inset-x-0 z-20 flex justify-center ${i?`bottom-24`:`bottom-2`}`,o;t[0]===n?o=t[1]:(o=()=>n.current?.scrollToBottom(),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(tn,{className:`h-4 w-4`}),t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=(0,$.jsx)(Hr,{variant:`outline`,size:`icon-md`,onClick:o,className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to bottom`,children:s}),t[3]=o,t[4]=c);let l;return t[5]!==a||t[6]!==c?(l=(0,$.jsx)(`div`,{className:a,children:c}),t[5]=a,t[6]=c,t[7]=l):l=t[7],l}function oO({paneId:e,conversationId:t,onCreateThread:n,showEmptyState:r=e===`primary`,fillPane:i=!1,hideInput:a=!0,onConnectRepo:o=()=>{},onNewApp:s=()=>{},onOpenFolder:c=()=>{}}){let{dispatch:l,setPaneError:u,selectedThreadId:d,selectedProjectId:f,projects:p,projectsLoading:m,isCreatingProject:h,pendingAutoRoute:g,messages:_,messagesLoaded:v,hasProcessingThread:y,paneError:b,hasPendingMessage:x,paneIsStreaming:S,focusedPaneId:C,completedPaneIds:w}=WD(e,t),T=(0,Z.useRef)(null),E=(0,Z.useRef)(null),D=aC(),O=D?.overlayRef??{current:null},[k,A]=(0,Z.useState)(!0),[j,M]=(0,Z.useState)(!0),N=a&&!!d&&!!D,P=N&&D.placement===`overlay`,F=HD(T,O,N),I=N&&!k;function L(){l({type:Y.CloseSidebar})}function R(){C!==e&&w.includes(e)&&l({type:Y.ClearPaneCompleted,paneId:e}),l({type:Y.SetFocusedPane,paneId:e})}function z(e,t){L(),l({type:Y.SelectThread,projectId:e,threadId:t}),No().then(e=>{l({type:Y.SetProcessingThreads,threadIds:e})}).catch(e=>{UD.error(`Failed to refresh processing threads after thread selection:`,e)})}return(0,$.jsx)(Sv,{paneId:e,conversationId:t,fillPane:i,children:(0,$.jsxs)(`div`,{ref:T,className:`relative flex h-full min-w-0 flex-col`,onPointerDown:R,children:[(0,$.jsx)(MD,{ref:E,bottomInset:F,messages:_,isStreaming:S,isCreatingProject:r?h:!1,isProcessingThread:y,hasPendingMessage:x,isAutoRouting:!!g,selectedThreadId:d,selectedProjectId:f,projects:p,projectsLoading:m,messagesLoaded:v,onSelectThread:z,onCreateThread:n,onConnectRepo:o,onNewApp:s,onOpenFolder:c,error:b,onClearError:()=>{d&&u(d,e,null)},onAtBottomChange:A,onAtTopChange:M,hideEmptyState:!r}),(0,$.jsx)(iO,{messagesRef:E,isVisible:!j&&_.length>0}),(0,$.jsx)(aO,{messagesRef:E,isVisible:I,usesOverlayInput:P})]})})}var sO=/^#([0-9a-f]{6})$/i;function cO(e){return sO.test(e)}function lO(e){return cO(e)?e.toLowerCase():null}function uO(e){let t=sO.exec(e);if(!t)return null;let n=Number.parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function dO(e){let t=uO(e);return t?.2126*t.r+.7152*t.g+.0722*t.b:null}function fO(e){let t=uO(e);if(!t)return null;let n=t.r/255,r=t.g/255,i=t.b/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=(a+o)/2,l=0,u=0;if(s!==0){switch(u=s/(1-Math.abs(2*c-1)),a){case n:l=(r-i)/s%6;break;case r:l=(i-n)/s+2;break;default:l=(n-r)/s+4;break}l*=60,l<0&&(l+=360)}return`${Math.round(l)} ${Math.round(u*100)}% ${Math.round(c*100)}%`}var pO=`--wallpaper-color`,mO={mode:la(),color:Wa()},hO=new Set;function gO(){for(let e of hO)e()}function _O(e){let t=dO(e);return al(t===null?0:t)}function vO(e){if(document.documentElement.dataset.wallpaper=e.mode,document.documentElement.style.setProperty(pO,e.color),e.mode===`color`){let{foreground:t,inverse:n}=_O(e.color);ol(t,n)}}function yO(){return mO}function bO(e){return hO.add(e),function(){hO.delete(e)}}function xO(e){mO.mode!==e&&(mO={...mO,mode:e},Li(e),vO(mO),gO())}function SO(e){let t=lO(e);t===null||mO.color===t||(mO={...mO,color:t},Yo(t),vO(mO),gO())}function CO(){let e=(0,Q.c)(3),t=(0,Z.useSyncExternalStore)(bO,yO,yO),n=EO,r=TO,i=wO,a;return e[0]!==t.color||e[1]!==t.mode?(a={mode:t.mode,color:t.color,updateMode:n,updateColor:r,reset:i,defaultMode:`background`,defaultColor:fi},e[0]=t.color,e[1]=t.mode,e[2]=a):a=e[2],a}function wO(){mO={mode:`background`,color:fi},Li(`background`),Yo(fi),vO(mO),gO()}function TO(e){SO(e)}function EO(e){xO(e)}function DO(){mO={mode:la(),color:Wa()},vO(mO)}function OO(){return typeof window>`u`?null:De(window.location.search)}function kO(){return typeof window>`u`?null:Ce(window.location.search)}function AO(){return OO()===w}var jO=(0,Z.lazy)(()=>us(()=>import(`./terminal-panel-DCaBWV04.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([12,1,4,5,13,14,15,16,17]))),MO=(0,Z.lazy)(()=>us(()=>import(`./diff-view-Cxf7v9t1.js`),__vite__mapDeps([18,1,19,20,4,5,21,22,23,24,25,14,26,27]))),NO=(0,Z.lazy)(()=>us(()=>import(`./explorer-tab-view-LkT0bDcR.js`),__vite__mapDeps([28,1,19,20,4,5,21,22,29,30,14]))),PO=(0,Z.lazy)(()=>us(()=>import(`./browser-tab--1iEoJGu.js`).then(e=>({default:e.BrowserTab})),__vite__mapDeps([31,1,4,5,29,16,13,14]))),FO=(0,Z.lazy)(()=>us(()=>import(`./tasks-view-DgkXglqW.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([32,1,19,20,33,4,5,21,22,13,14,25,34])));function IO(e){let t=(0,Q.c)(24),{panelId:n,instanceId:r,onClose:i}=e,a=X(zO),o=X(RO),s;t[0]===r?s=t[1]:(s=e=>gs(e,r),t[0]=r,t[1]=s);let c=X(s),{reviewRefreshTickByThread:l,tasksRefreshTick:u}=mc();if(n===`chat`){let e;return t[2]!==c||t[3]!==r?(e=(0,$.jsx)(oO,{paneId:r,fillPane:!0,conversationId:c,onCreateThread:LO,showEmptyState:!1,hideInput:!0}),t[2]=c,t[3]=r,t[4]=e):e=t[4],e}if(n===`terminal`){let e;return t[5]===r?e=t[6]:(e=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(jO,{instanceId:r})}),t[5]=r,t[6]=e),e}if(n===`browser`){let e;return t[7]===r?e=t[8]:(e=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(PO,{instanceId:r})}),t[7]=r,t[8]=e),e}if(n===`explorer`){if(!a){let e;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(BO,{message:`Select a conversation to browse files.`}),t[9]=e):e=t[9],e}let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rs,{}),children:(0,$.jsx)(NO,{})}),t[10]=e):e=t[10],e}if(n===`tasks`){if(!o){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(BO,{message:`Select a project to view tasks.`}),t[11]=e):e=t[11],e}let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(rs,{}),t[12]=e):e=t[12];let n;return t[13]!==o||t[14]!==u?(n=(0,$.jsx)(Z.Suspense,{fallback:e,children:(0,$.jsx)(FO,{projectId:o,refreshTrigger:u})}),t[13]=o,t[14]=u,t[15]=n):n=t[15],n}if(!a){let e;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(BO,{message:`Select a conversation to review changes.`}),t[16]=e):e=t[16],e}let d=l[a]??0,f;t[17]!==i||t[18]!==a||t[19]!==d?(f=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(MO,{threadId:a,onExit:i,refreshTrigger:d})}),t[17]=i,t[18]=a,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==a||t[22]!==f?(p=(0,$.jsx)(Pd,{threadId:a,children:f}),t[21]=a,t[22]=f,t[23]=p):p=t[23],p}function LO(){}function RO(e){return e.selectedProjectId}function zO(e){return e.selectedThreadId}function BO(e){let t=(0,Q.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center p-4 text-center text-muted-foreground`,children:n}),t[0]=n,t[1]=r),r}function VO(e){let t=(0,Q.c)(21),{title:n,titleSuffix:r,titleActions:i,showTitle:a,selected:o,onSelect:s,onTitleDoubleClick:c,onClose:l,disableClose:u,footer:d,children:f,className:p}=e,m=o===void 0?!1:o,h=u===void 0?!1:u,g=m&&`outline outline-2 outline-offset-1 outline-brand`,_;t[0]!==p||t[1]!==g?(_=G(`flex h-full min-h-0 flex-col bg-background`,p,g),t[0]=p,t[1]=g,t[2]=_):_=t[2];let v;t[3]!==h||t[4]!==l||t[5]!==c||t[6]!==a||t[7]!==n||t[8]!==i||t[9]!==r?(v=a?(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-border px-2 py-2.5`,onDoubleClick:c,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 px-1`,children:[(0,$.jsx)(`span`,{className:G(U.label,`min-w-0 truncate leading-normal`),children:n}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:G(U.label,`shrink-0 text-muted-foreground leading-normal`),children:`–`}),r]})]}),(i||l)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[i,l?(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:l,onDoubleClick:HO,disabled:h,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsxs)(`span`,{className:`sr-only`,children:[`Close `,n]})]}):null]})]}):null,t[3]=h,t[4]=l,t[5]=c,t[6]=a,t[7]=n,t[8]=i,t[9]=r,t[10]=v):v=t[10];let y;t[11]===f?y=t[12]:(y=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:f}),t[11]=f,t[12]=y);let b;t[13]===d?b=t[14]:(b=d?(0,$.jsx)(`div`,{className:`shrink-0`,children:d}):null,t[13]=d,t[14]=b);let x;return t[15]!==s||t[16]!==_||t[17]!==v||t[18]!==y||t[19]!==b?(x=(0,$.jsxs)(`div`,{className:_,onPointerDown:s,children:[v,y,b]}),t[15]=s,t[16]=_,t[17]=v,t[18]=y,t[19]=b,t[20]=x):x=t[20],x}function HO(e){return e.stopPropagation()}var UO=[{id:`chat`,label:`Chat`,icon:At},{id:`explorer`,label:`Files`,icon:fn},{id:`browser`,label:`Browser`,icon:R},{id:`terminal`,label:`Terminal`,icon:le},{id:`tasks`,label:`Tasks`,icon:Ge},{id:`review`,label:`Review`,icon:g}];function WO(e){return UO.find(t=>t.id===e)?.label??e}function GO(e){return e?.trim()||WO(`browser`)}function KO(e){return UO.find(t=>t.id===e)?.icon??At}var qO=(0,Z.createContext)(void 0);function JO(e){let t=(0,Q.c)(5),{children:n}=e,[r,i]=(0,Z.useState)(null),a;t[0]===r?a=t[1]:(a={stats:r,setStats:i},t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,$.jsx)(qO.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function YO(){let e=(0,Z.useContext)(qO);if(e===void 0)throw Error(`useReviewStats must be used within a ReviewStatsProvider`);return e}var XO=(0,Z.createContext)(void 0);function ZO(e){let t=(0,Q.c)(5),{children:n}=e,[r,i]=(0,Z.useState)(null),a;t[0]===r?a=t[1]:(a={actions:r,setActions:i},t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,$.jsx)(XO.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function QO(){let e=(0,Z.useContext)(XO);if(e===void 0)throw Error(`useChatDockTitleActions must be used within a ChatDockTitleActionsProvider`);return e}var $O=(0,Z.createContext)(null);function ek(e){let t=(0,Q.c)(13),{children:n}=e,[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(`desktop`),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(null),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{i(tk)},t[0]=y):y=t[0];let b=y,x;t[1]!==_||t[2]!==s||t[3]!==a||t[4]!==r||t[5]!==d||t[6]!==l||t[7]!==h||t[8]!==p?(x={browserResetTrigger:r,triggerBrowserReset:b,browserPageTitle:a,setBrowserPageTitle:o,browserDeviceMode:s,setBrowserDeviceMode:c,isSelectModeEnabled:l,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,isSelectionPromptOpen:h,setIsSelectionPromptOpen:g,browserAgentProcessingThreadId:_,setBrowserAgentProcessingThreadId:v},t[1]=_,t[2]=s,t[3]=a,t[4]=r,t[5]=d,t[6]=l,t[7]=h,t[8]=p,t[9]=x):x=t[9];let S=x,C;return t[10]!==n||t[11]!==S?(C=(0,$.jsx)($O.Provider,{value:S,children:n}),t[10]=n,t[11]=S,t[12]=C):C=t[12],C}function tk(e){return e+1}function nk(){let e=(0,Z.useContext)($O);if(!e)throw Error(`useBrowserTab must be used within a BrowserTabProvider`);return e}function rk(){let e=(0,Q.c)(12),{stats:t}=YO();if(!t||t.fileCount===0)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=G(U.label,`flex items-center gap-1 truncate leading-normal`),e[0]=n):n=e[0];let r=t.fileCount===1?``:`s`,i;e[1]!==t.fileCount||e[2]!==r?(i=(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[t.fileCount,` file`,r]}),e[1]=t.fileCount,e[2]=r,e[3]=i):i=e[3];let a;e[4]===t.additions?a=e[5]:(a=(0,$.jsxs)(`span`,{className:`text-green-500`,children:[`+`,t.additions]}),e[4]=t.additions,e[5]=a);let o;e[6]===t.deletions?o=e[7]:(o=(0,$.jsxs)(`span`,{className:`text-red-500`,children:[`-`,t.deletions]}),e[6]=t.deletions,e[7]=o);let s;return e[8]!==i||e[9]!==a||e[10]!==o?(s=(0,$.jsxs)(`span`,{className:n,children:[i,a,o]}),e[8]=i,e[9]=a,e[10]=o,e[11]=s):s=e[11],s}function ik({panelId:e,instanceId:t,projects:n,selectedThreadId:r,browserPageTitle:i,tasksModifiedCount:a}){return e===`chat`?Lt(n,r,t):e===`browser`?GO(i):e===`tasks`?a>0?`Tasks (${a} modified recently)`:`Tasks`:WO(e)}function ak({panelId:e,selectedThreadId:t,triggerReviewRefresh:n,triggerExplorerRefresh:r}){if(e===`review`&&t)return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>n(t),children:[(0,$.jsx)(ye,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Fr,{children:`Refresh changes`})]});if(e===`explorer`)return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:r,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Fr,{children:`Refresh`})]})}function ok(e){let t=(0,Q.c)(48),{instanceId:n,panelId:r}=e,i=Ks(),{closeWindow:a,expandWindow:o,collapseLayout:s,isLayoutExpanded:c,selectedWindowId:l,selectWindow:u,revealWindow:d}=gc(),f=X(lk),p=X(ck),m=X(sk),h;t[0]!==n||t[1]!==r?(h=e=>r===`chat`&&As(e.threadStreamingStates,e.selectedThreadId,n).isStreaming,t[0]=n,t[1]=r,t[2]=h):h=t[2];let g=X(h),{triggerReviewRefresh:_}=mc(),{triggerExplorerRefresh:v}=vc(),{browserPageTitle:y}=nk(),b=r===`chat`,x=r===`tasks`,S,C;if(t[3]!==y||t[4]!==n||t[5]!==r||t[6]!==f||t[7]!==m||t[8]!==p){let e;t[11]===m?e=t[12]:(e=e=>e.projectId===m,t[11]=m,t[12]=e),C=f.find(e)?.tasksModifiedCount??0,S=ik({panelId:r,instanceId:n,projects:f,selectedThreadId:p,browserPageTitle:y,tasksModifiedCount:C}),t[3]=y,t[4]=n,t[5]=r,t[6]=f,t[7]=m,t[8]=p,t[9]=S,t[10]=C}else S=t[9],C=t[10];let w=S,T=!c&&l===n,{actions:E}=QO(),D;t[13]===r?D=t[14]:(D=r===`review`?(0,$.jsx)(rk,{}):void 0,t[13]=r,t[14]=D);let O=D,k;t[15]!==r||t[16]!==p||t[17]!==v||t[18]!==_?(k=ak({panelId:r,selectedThreadId:p,triggerReviewRefresh:_,triggerExplorerRefresh:v}),t[15]=r,t[16]=p,t[17]=v,t[18]=_,t[19]=k):k=t[19];let A=k??E,j;if(t[20]!==a||t[21]!==i||t[22]!==n||t[23]!==x||t[24]!==m||t[25]!==C){j=function(){x&&m&&C>0&&e(m),a(n)};async function e(e){try{await Ua(e),Si();let t=await lo();i({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch{try{Si();let e=await lo();i({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch{}}}t[20]=a,t[21]=i,t[22]=n,t[23]=x,t[24]=m,t[25]=C,t[26]=j}else j=t[26];let M;t[27]!==i||t[28]!==n||t[29]!==b||t[30]!==d||t[31]!==u?(M=function(){u(n),d(n),b&&i({type:Y.SetFocusedPane,paneId:n})},t[27]=i,t[28]=n,t[29]=b,t[30]=d,t[31]=u,t[32]=M):M=t[32];let N=M,P;t[33]!==s||t[34]!==o||t[35]!==N||t[36]!==n||t[37]!==c?(P=function(){if(c){s();return}N(),o(n)},t[33]=s,t[34]=o,t[35]=N,t[36]=n,t[37]=c,t[38]=P):P=t[38];let F=P,I;return t[39]!==j||t[40]!==N||t[41]!==F||t[42]!==g||t[43]!==w||t[44]!==T||t[45]!==A||t[46]!==O?(I={label:w,selected:T,isPaneStreaming:g,titleSuffix:O,titleActions:A,handleClose:j,handleSelect:N,handleTitleDoubleClick:F},t[39]=j,t[40]=N,t[41]=F,t[42]=g,t[43]=w,t[44]=T,t[45]=A,t[46]=O,t[47]=I):I=t[47],I}function sk(e){return e.selectedProjectId}function ck(e){return e.selectedThreadId}function lk(e){return e.projects}function uk(e){let t=(0,Q.c)(18),{instanceId:n,panelId:r,footer:i}=e,a;t[0]!==n||t[1]!==r?(a={instanceId:n,panelId:r},t[0]=n,t[1]=r,t[2]=a):a=t[2];let{label:o,selected:s,isPaneStreaming:c,titleSuffix:l,titleActions:u,handleClose:d,handleSelect:f,handleTitleDoubleClick:p}=ok(a),m;t[3]!==d||t[4]!==n||t[5]!==r?(m=(0,$.jsx)(IO,{panelId:r,instanceId:n,onClose:d}),t[3]=d,t[4]=n,t[5]=r,t[6]=m):m=t[6];let h;return t[7]!==i||t[8]!==d||t[9]!==f||t[10]!==p||t[11]!==c||t[12]!==o||t[13]!==s||t[14]!==m||t[15]!==u||t[16]!==l?(h=(0,$.jsx)(VO,{title:o,titleSuffix:l,titleActions:u,showTitle:!0,selected:s,onSelect:f,onTitleDoubleClick:p,onClose:d,disableClose:c,footer:i,className:`h-full overflow-hidden rounded-lg border border-border bg-background`,children:m}),t[7]=i,t[8]=d,t[9]=f,t[10]=p,t[11]=c,t[12]=o,t[13]=s,t[14]=m,t[15]=u,t[16]=l,t[17]=h):h=t[17],h}function dk(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(JO,{children:(0,$.jsx)(ZO,{children:(0,$.jsx)(uk,{...e})})}),t[0]=e,t[1]=n),n}function fk(e){let t=(0,Q.c)(10),{active:n,className:r}=e,i=n===void 0?!1:n,a=i?`animate-thread-dot-pulse text-brand opacity-100`:`text-muted-foreground/40 opacity-100`,o;t[0]!==r||t[1]!==a?(o=G(`h-3 w-3 shrink-0 origin-center transition-opacity`,a,r),t[0]=r,t[1]=a,t[2]=o):o=t[2];let s=i?`currentColor`:`none`,c=i?`none`:`currentColor`,l=i?`5`:`4.5`,u;t[3]===l?u=t[4]:(u=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:l}),t[3]=l,t[4]=u);let d;return t[5]!==o||t[6]!==s||t[7]!==c||t[8]!==u?(d=(0,$.jsx)(`svg`,{"aria-hidden":`true`,className:o,viewBox:`0 0 12 12`,fill:s,stroke:c,strokeWidth:`2`,xmlns:`http://www.w3.org/2000/svg`,children:u}),t[5]=o,t[6]=s,t[7]=c,t[8]=u,t[9]=d):d=t[9],d}function pk(){let e=(0,Q.c)(84),t=Ks(),n=gC(),r=X(Sk),i=X(xk),a=X(bk),o=X(yk),s=X(vk),c=X(_k),l=X(gk),u=X(hk),d=X(mk),{handleSelectThread:f,handleCreateThread:p,handleDeleteThread:m,refreshWorkspaces:h}=lw(),g=Od(a??void 0),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C,w,T,E,D,O,k,A,j,N,P,F;if(e[0]!==o||e[1]!==c||e[2]!==l||e[3]!==t||e[4]!==p||e[5]!==m||e[6]!==f||e[7]!==_||e[8]!==d||e[9]!==x||e[10]!==s||e[11]!==r||e[12]!==h||e[13]!==g||e[14]!==i||e[15]!==a||e[16]!==n||e[17]!==u||e[18]!==y){F=Symbol.for(`react.early_return_sentinel`);bb0:{let I;e[31]===i?I=e[32]:(I=e=>e.projectId===i,e[31]=i,e[32]=I);let L=r.find(I);if(!L){F=null;break bb0}let R=L.projectId,z=L.projectPath&&o&&!L.projectPath.startsWith(o.replace(/\/+$/,``)+`/`)?L.projectPath:void 0,B;e[33]===a?B=e[34]:(B=e=>e.threadId===a,e[33]=a,e[34]=B);let V=L.threads.find(B),H=(a?g.currentBranch||V?.currentBranch:void 0)||V?.title||`Branches`,ee;e[35]===l?ee=e[36]:(ee=e=>l.includes(e.threadId),e[35]=l,e[36]=ee);let te=L.threads.some(ee),ne=n?Ww:Uw,re;e[37]!==t||e[38]!==f?(re=function(e,n){t({type:Y.ClearThreadCompleted,threadId:n}),f(e,n),v(!1)},e[37]=t,e[38]=f,e[39]=re):re=e[39];let ie=re,ae=function(){p(R,void 0),v(!1)},oe=function(e,t){let n=se(e)?e.path:void 0;if(e.gitStatusDot||n){v(!1),S({threadId:e.threadId,displayName:t,openFolderPath:n});return}m(R,e.threadId).then(()=>h())};function se(e){return!z||!e.path?!1:e.path===z}let ce=x!==null,le;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>{e||S(null)},e[40]=le):le=e[40];let ue;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(sc,{children:`Delete Branch`}),e[41]=ue):ue=e[41];let W;e[42]===x?W=e[43]:(W=(0,$.jsx)(oc,{children:x?.openFolderPath?(0,$.jsxs)($.Fragment,{children:[`The path "`,(0,$.jsx)(`span`,{className:G(U.body,`font-semibold text-foreground`),children:x.openFolderPath}),`" was not created by Tarsk. Are you sure you want to delete it?`]}):(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to delete "`,x?.displayName,`" and all its files? This action cannot be undone.`]})}),e[42]=x,e[43]=W);let de;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(dc,{children:`Cancel`}),e[44]=de):de=e[44];let fe=(0,$.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[de,(0,$.jsx)(lc,{onClick:()=>{x&&m(R,x.threadId).then(()=>h()),S(null)},className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),pe;e[45]!==W||e[46]!==fe?(pe=(0,$.jsxs)(cc,{children:[ue,W,fe]}),e[45]=W,e[46]=fe,e[47]=pe):pe=e[47],e[48]!==ce||e[49]!==pe?(P=(0,$.jsx)(pc,{open:ce,onOpenChange:le,children:pe}),e[48]=ce,e[49]=pe,e[50]=P):P=e[50],w=Np,A=_,e[51]===h?j=e[52]:(j=e=>{v(e),e&&(b(!1),h())},e[51]=h,e[52]=j);let me=!_&&y,he=G(ne,Gw,`w-10 justify-center md:w-auto`,Kw,te&&`disabled:opacity-50`),ge;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(ge=G(U.compact,`hidden truncate md:inline`),e[53]=ge):ge=e[53];let _e;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(Yt,{className:G(qw,`hidden md:block`)}),e[54]=_e):_e=e[54];let ve=(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Branches`,disabled:te,className:he,children:[te?(0,$.jsx)(ln,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:ge,children:H}),_e]})}),ye;e[55]===ve?ye=e[56]:(ye=(0,$.jsx)(zi,{asChild:!0,children:ve}),e[55]=ve,e[56]=ye);let be=te?`Deleting branch...`:`Workspaces`,xe;e[57]===be?xe=e[58]:(xe=(0,$.jsx)(Fr,{side:`top`,children:be}),e[57]=be,e[58]=xe),e[59]!==me||e[60]!==ye||e[61]!==xe?(N=(0,$.jsxs)(Mi,{open:me,onOpenChange:b,children:[ye,xe]}),e[59]=me,e[60]=ye,e[61]=xe,e[62]=N):N=e[62],C=Fp,T=`end`,E=`top`,D=`w-72 p-1`;let Ce;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(`span`,{className:G(U.label,`text-muted-foreground font-medium`),children:`Workspaces`}),e[63]=Ce):Ce=e[63];let we;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(Se,{}),e[64]=we):we=e[64];let Te=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-sm`,className:`shrink-0`,"aria-label":`Create a new workspace & branch (⌘⇧T)`,onClick:ae,children:we})}),Ee;e[65]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(Fr,{side:`top`,children:`Create a new workspace & branch`}),e[65]=Ee):Ee=e[65],e[66]===Te?O=e[67]:(O=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-2 py-1.5`,children:[Ce,(0,$.jsxs)(Mi,{children:[Te,Ee]})]}),e[66]=Te,e[67]=O),k=L.threads.length===0?(0,$.jsx)(`p`,{className:G(U.compact,`px-2 py-4 text-center text-muted-foreground`),children:`No branches yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`max-h-[min(320px,50vh)] overflow-y-auto`,children:L.threads.map(e=>(0,$.jsx)(wk,{thread:e,projectId:R,selectedThreadId:a,isProcessing:js(e.threadId,s,u,d),isDeleting:l.includes(e.threadId),isCompleted:c.includes(e.threadId),branchName:e.threadId===a&&g.currentBranch||e.currentBranch,onSelectThread:ie,onRequestDelete:oe},e.threadId))})}e[0]=o,e[1]=c,e[2]=l,e[3]=t,e[4]=p,e[5]=m,e[6]=f,e[7]=_,e[8]=d,e[9]=x,e[10]=s,e[11]=r,e[12]=h,e[13]=g,e[14]=i,e[15]=a,e[16]=n,e[17]=u,e[18]=y,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D,e[24]=O,e[25]=k,e[26]=A,e[27]=j,e[28]=N,e[29]=P,e[30]=F}else C=e[19],w=e[20],T=e[21],E=e[22],D=e[23],O=e[24],k=e[25],A=e[26],j=e[27],N=e[28],P=e[29],F=e[30];if(F!==Symbol.for(`react.early_return_sentinel`))return F;let I;e[68]!==C||e[69]!==T||e[70]!==E||e[71]!==D||e[72]!==O||e[73]!==k?(I=(0,$.jsxs)(C,{align:T,side:E,className:D,children:[O,k]}),e[68]=C,e[69]=T,e[70]=E,e[71]=D,e[72]=O,e[73]=k,e[74]=I):I=e[74];let L;e[75]!==w||e[76]!==I||e[77]!==A||e[78]!==j||e[79]!==N?(L=(0,$.jsxs)(w,{open:A,onOpenChange:j,children:[N,I]}),e[75]=w,e[76]=I,e[77]=A,e[78]=j,e[79]=N,e[80]=L):L=e[80];let R;return e[81]!==L||e[82]!==P?(R=(0,$.jsxs)($.Fragment,{children:[P,L]}),e[81]=L,e[82]=P,e[83]=R):R=e[83],R}function mk(e){return e.pendingChatMessage}function hk(e){return rc(e.threadStreamingStates)}function gk(e){return e.deletingThreadIds}function _k(e){return e.completedThreadIds}function vk(e){return e.processingThreadIds}function yk(e){return e.cloneRootPath}function bk(e){return e.selectedThreadId}function xk(e){return e.selectedProjectId}function Sk(e){return e.projects}function Ck(e){let t=(0,Q.c)(22),{gitStatusDot:n,isProcessing:r,isDeleting:i}=e,a=!!n||r,o;t[0]!==n||t[1]!==r?(o=r?`Agent is working on this branch`:mt(n),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;if(r){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(fk,{active:!0}),t[3]=e):e=t[3],c=e}else{let e=i&&`animate-thread-dot-pulse`,r=n===`changes`&&`text-brand`,o;t[4]!==a||t[5]!==n||t[6]!==e||t[7]!==r?(o=G(`h-3 w-3 shrink-0 origin-center`,e,r,Ve(n)&&`text-orange-500`,!a&&`text-muted-foreground`),t[4]=a,t[5]=n,t[6]=e,t[7]=r,t[8]=o):o=t[8];let s=o;if(a){let e;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:`5`}),t[9]=e):e=t[9];let n;t[10]===s?n=t[11]:(n=(0,$.jsx)(`svg`,{className:s,viewBox:`0 0 12 12`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:e}),t[10]=s,t[11]=n),c=n}else{let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:`4.5`}),t[12]=e):e=t[12];let n;t[13]===s?n=t[14]:(n=(0,$.jsx)(`svg`,{className:s,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.0`,xmlns:`http://www.w3.org/2000/svg`,children:e}),t[13]=s,t[14]=n),c=n}}if(!s)return c;let l;t[15]===c?l=t[16]:(l=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0`,children:c})}),t[15]=c,t[16]=l);let u;t[17]===s?u=t[18]:(u=(0,$.jsx)(Fr,{side:`left`,children:s}),t[17]=s,t[18]=u);let d;return t[19]!==l||t[20]!==u?(d=(0,$.jsxs)(Mi,{children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}function wk(e){let t=(0,Q.c)(34),{thread:n,projectId:r,selectedThreadId:i,isProcessing:a,isDeleting:o,isCompleted:s,branchName:c,onSelectThread:l,onRequestDelete:u}=e,d=(0,Z.useRef)(null),f=n.threadId===i,p=c||n.title||n.threadId,m,h;t[0]===a?(m=t[1],h=t[2]):(m=()=>{a&&d.current&&d.current.scrollIntoView({behavior:`smooth`,block:`nearest`})},h=[a],t[0]=a,t[1]=m,t[2]=h),(0,Z.useEffect)(m,h);let g;t[3]!==p||t[4]!==u||t[5]!==n?(g=function(e){e.stopPropagation(),u(n,p)},t[3]=p,t[4]=u,t[5]=n,t[6]=g):g=t[6];let _=g,v;t[7]!==l||t[8]!==r||t[9]!==n.threadId?(v=()=>l(r,n.threadId),t[7]=l,t[8]=r,t[9]=n.threadId,t[10]=v):v=t[10];let y;t[11]!==o||t[12]!==a||t[13]!==n.gitStatusDot?(y=(0,$.jsx)(Ck,{gitStatusDot:n.gitStatusDot,isProcessing:a,isDeleting:o}),t[11]=o,t[12]=a,t[13]=n.gitStatusDot,t[14]=y):y=t[14];let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=G(U.body,`min-w-0 flex-1 truncate text-left`),t[15]=b):b=t[15];let x;t[16]===p?x=t[17]:(x=(0,$.jsx)(`span`,{className:b,children:p}),t[16]=p,t[17]=x);let S;t[18]===s?S=t[19]:(S=s?(0,$.jsx)(W,{className:`ml-auto h-3 w-3 shrink-0 text-green-500`}):null,t[18]=s,t[19]=S);let C;t[20]!==f||t[21]!==v||t[22]!==y||t[23]!==x||t[24]!==S?(C=(0,$.jsxs)(ja,{selected:f,className:`min-w-0 flex-1 items-center rounded-md`,onClick:v,children:[y,x,S]}),t[20]=f,t[21]=v,t[22]=y,t[23]=x,t[24]=S,t[25]=C):C=t[25];let w;t[26]!==_||t[27]!==s||t[28]!==o||t[29]!==a?(w=!a&&!o&&!s&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`hidden can-hover:group-hover:flex shrink-0 items-center justify-center text-muted-foreground can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground transition-colors`,onClick:_,children:[(0,$.jsx)(He,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete branch`})]})}),(0,$.jsx)(Fr,{side:`left`,children:`Delete branch and files from the repo`})]}),t[26]=_,t[27]=s,t[28]=o,t[29]=a,t[30]=w):w=t[30];let T;return t[31]!==w||t[32]!==C?(T=(0,$.jsxs)(`div`,{ref:d,className:`group flex min-w-0 items-center`,children:[C,w]}),t[31]=w,t[32]=C,t[33]=T):T=t[33],T}function Tk(){let e=(0,Q.c)(108),t=Ks(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,isPanelOpen:c,isPrimaryChatOpen:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=gc(),{openChatDockPanel:p}=Wd(),m=X(Fk),h=X(Pk),g=X(Nk),_=X(Mk),v=X(jk),y=X(Ak),b=X(kk),x=X(Ok),S=X(Dk),C=X(Ek),w;if(e[0]!==m||e[1]!==h){let t;e[3]===h?t=e[4]:(t=e=>e.projectId===h,e[3]=h,e[4]=t),w=m.find(t),e[0]=m,e[1]=h,e[2]=w}else w=e[2];let T=w,E=T?.useBuiltInBrowser!==!1,{browserPageTitle:D}=nk(),{hasChanges:O,changedFilesCount:k}=Od(g??void 0),A=T?.tasksModifiedCount??0,j;e[5]!==S||e[6]!==x||e[7]!==b?.threadId||e[8]!==v||e[9]!==g||e[10]!==_?(j=function(e,t){return t===`chat`?e===`primary`?g?b?.threadId===g||S===Ms&&v.includes(g)?!0:bs(_,g):!1:!x[e]||!g?!1:S===e&&v.includes(g)?!0:bs(_,g,e):!1},e[5]=S,e[6]=x,e[7]=b?.threadId,e[8]=v,e[9]=g,e[10]=_,e[11]=j):j=e[11];let M=j,N,P,F,I,L,R,z,B,V,H,ee,te,ne,re;if(e[12]!==D||e[13]!==k||e[14]!==s||e[15]!==y||e[16]!==t||e[17]!==o||e[18]!==a||e[19]!==C||e[20]!==O||e[21]!==r||e[22]!==i||e[23]!==c||e[24]!==l||e[25]!==M||e[26]!==p||e[27]!==m||e[28]!==f||e[29]!==d||e[30]!==g||e[31]!==u||e[32]!==E||e[33]!==A||e[34]!==n){let h;e[49]!==g||e[50]!==E?(h=e=>!(e.id===`browser`&&!E||e.id===`chat`&&!g),e[49]=g,e[50]=E,e[51]=h):h=e[51];let _=UO.filter(h),v=[...l?[{id:Ct,panelId:`chat`,title:Lt(m,g,Ct)}]:[],...n.map(e=>({id:e.id,panelId:e.panelId,title:e.panelId===`chat`?Lt(m,g,e.id):e.panelId===`browser`?GO(D):WO(e.panelId)}))],b;e[52]===c?b=e[53]:(b=function(e){return c(e)},e[52]=c,e[53]=b);let x=b,S;e[54]===x?S=e[55]:(S=e=>!x(e.id),e[54]=x,e[55]=S);let w=_.filter(S),T=function(e){return i?a===e:u===e},j=function(e){d(e.id),f(e.id),e.panelId===`chat`&&(C!==e.id&&y.includes(e.id)&&t({type:Y.ClearPaneCompleted,paneId:e.id}),t({type:Y.SetFocusedPane,paneId:e.id}))},ie;e[56]===p?ie=e[57]:(ie=function(e){p(e,{reuseExisting:!1})},e[56]=p,e[57]=ie);let ae=ie,oe;e[58]===p?oe=e[59]:(oe=function(e){p(e,{reuseExisting:!1})},e[58]=p,e[59]=oe);let se=oe,ce;e[60]!==s||e[61]!==o||e[62]!==a||e[63]!==r||e[64]!==i||e[65]!==l||e[66]!==u||e[67]!==n?(ce=function(){if(r){if(i){s();return}if(l&&u===`primary`||n.some(e=>e.id===u)){o(u);return}o(a??(l?`primary`:n[0]?.id??`primary`))}},e[60]=s,e[61]=o,e[62]=a,e[63]=r,e[64]=i,e[65]=l,e[66]=u,e[67]=n,e[68]=ce):ce=e[68];let le=ce,ue=i?`Grid layout`:`Expanded layout`;te=`toolbar`,ne=`Window taskbar`,re=`flex items-center gap-0.5 rounded-full frosted-surface p-1 text-foreground shadow-md backdrop-blur-sm`;let W=v.map(e=>{let t=KO(e.panelId),n=T(e.id),r=e.panelId===`review`,i=e.panelId===`tasks`,a=r&&O,o=e.panelId===`chat`&&y.includes(e.id),s=i&&A>0,c=M(e.id,e.panelId),l=o?`Chat completed — needs attention`:r&&a?`${k} changed file${k===1?``:`s`}`:i&&s?`${A} task${A===1?``:`s`} modified recently`:e.title;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,role:`tab`,"aria-selected":n,"aria-label":e.title,variant:`ghost`,size:`icon-sm`,className:G(`relative rounded-full`,n&&`bg-foreground text-background hover:bg-foreground hover:text-background dark:bg-foreground/30 dark:text-foreground dark:hover:bg-foreground/30 dark:hover:text-foreground`),onClick:()=>j(e),children:[(0,$.jsx)(`span`,{className:`relative inline-flex items-center justify-center`,children:c&&e.panelId===`chat`?(0,$.jsx)(dp,{size:`sm`,state:`solving`,className:`shrink-0`}):(0,$.jsx)(t,{className:`h-4 w-4`})}),(a||o)&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full bg-brand`}),s&&(0,$.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-brand px-1 text-[10px] font-semibold leading-none text-background`,children:A})]})}),(0,$.jsx)(Fr,{side:`top`,children:l})]},e.id)});e[69]===W?F=e[70]:(F=(0,$.jsx)(`div`,{role:`tablist`,"aria-label":`Open windows`,className:`flex items-center gap-0.5`,children:W}),e[69]=W,e[70]=F),I=w.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),(0,$.jsx)(`div`,{"aria-label":`Closed window types`,className:`flex items-center gap-0.5`,children:w.map(e=>{let t=e.icon,n=e.id===`review`,r=e.id===`tasks`,i=n&&O,a=r&&A>0,o=n&&i?`${k} changed file${k===1?``:`s`}`:r&&a?`${A} task${A===1?``:`s`} modified recently`:e.label;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,"aria-label":e.label,variant:`ghost`,size:`icon-sm`,className:`relative rounded-full opacity-50`,onClick:()=>ae(e.id),children:[(0,$.jsx)(t,{className:`h-4 w-4`}),i&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full bg-brand`}),a&&(0,$.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-brand px-1 text-[10px] font-semibold leading-none text-background`,children:A})]})}),(0,$.jsx)(Fr,{side:`top`,children:o})]},e.id)})})]}):null,e[71]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),e[71]=L):L=e[71];let de=r&&!i,fe=!r,pe=r&&!i&&`bg-foreground text-background hover:bg-foreground hover:text-background dark:bg-foreground/30 dark:text-foreground dark:hover:bg-foreground/30 dark:hover:text-foreground`,me;e[72]===pe?me=e[73]:(me=G(`rounded-full`,pe),e[72]=pe,e[73]=me);let he;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(Qt,{className:`h-4 w-4`}),e[74]=he):he=e[74];let ge;e[75]!==le||e[76]!==ue||e[77]!==de||e[78]!==fe||e[79]!==me?(ge=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":ue,"aria-pressed":de,disabled:fe,className:me,onClick:le,children:he})}),e[75]=le,e[76]=ue,e[77]=de,e[78]=fe,e[79]=me,e[80]=ge):ge=e[80];let _e;e[81]===ue?_e=e[82]:(_e=(0,$.jsx)(Fr,{side:`top`,children:ue}),e[81]=ue,e[82]=_e),e[83]!==ge||e[84]!==_e?(R=(0,$.jsxs)(Mi,{children:[ge,_e]}),e[83]=ge,e[84]=_e,e[85]=R):R=e[85],P=hl,e[86]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Add window`,className:`rounded-full`,children:(0,$.jsx)(Se,{className:`h-4 w-4`})})})}),(0,$.jsx)(Fr,{side:`top`,children:`Add window`})]}),e[86]=ee):ee=e[86],N=bl,z=`top`,B=`center`,V=`w-44 p-1`;let ve;e[87]===se?ve=e[88]:(ve=e=>{let t=e.icon;return(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>se(e.id),children:[(0,$.jsx)(t,{className:`h-4 w-4 shrink-0`}),e.label]},e.id)},e[87]=se,e[88]=ve),H=_.map(ve),e[12]=D,e[13]=k,e[14]=s,e[15]=y,e[16]=t,e[17]=o,e[18]=a,e[19]=C,e[20]=O,e[21]=r,e[22]=i,e[23]=c,e[24]=l,e[25]=M,e[26]=p,e[27]=m,e[28]=f,e[29]=d,e[30]=g,e[31]=u,e[32]=E,e[33]=A,e[34]=n,e[35]=N,e[36]=P,e[37]=F,e[38]=I,e[39]=L,e[40]=R,e[41]=z,e[42]=B,e[43]=V,e[44]=H,e[45]=ee,e[46]=te,e[47]=ne,e[48]=re}else N=e[35],P=e[36],F=e[37],I=e[38],L=e[39],R=e[40],z=e[41],B=e[42],V=e[43],H=e[44],ee=e[45],te=e[46],ne=e[47],re=e[48];let ie;e[89]!==N||e[90]!==z||e[91]!==B||e[92]!==V||e[93]!==H?(ie=(0,$.jsx)(N,{side:z,align:B,className:V,children:H}),e[89]=N,e[90]=z,e[91]=B,e[92]=V,e[93]=H,e[94]=ie):ie=e[94];let ae;e[95]!==P||e[96]!==ie||e[97]!==ee?(ae=(0,$.jsxs)(P,{children:[ee,ie]}),e[95]=P,e[96]=ie,e[97]=ee,e[98]=ae):ae=e[98];let oe;return e[99]!==F||e[100]!==I||e[101]!==L||e[102]!==R||e[103]!==ae||e[104]!==te||e[105]!==ne||e[106]!==re?(oe=(0,$.jsxs)(`div`,{role:te,"aria-label":ne,className:re,children:[F,I,L,R,ae]}),e[99]=F,e[100]=I,e[101]=L,e[102]=R,e[103]=ae,e[104]=te,e[105]=ne,e[106]=re,e[107]=oe):oe=e[107],oe}function Ek(e){return e.focusedPane}function Dk(e){return e.activeStreamPane}function Ok(e){return e.extraChatPanes}function kk(e){return e.pendingChatMessage}function Ak(e){return e.completedPaneIds}function jk(e){return e.processingThreadIds}function Mk(e){return rc(e.threadStreamingStates,e.selectedThreadId)}function Nk(e){return e.selectedThreadId}function Pk(e){return e.selectedProjectId}function Fk(e){return e.projects}var Ik=`pointer-events-none absolute inset-0 rounded-2xl border border-border frosted-surface shadow-lg backdrop-blur-sm`,Lk=`h-full overflow-hidden rounded-lg border border-border bg-background`;function Rk(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=getComputedStyle(e),a=Number.parseFloat(i.paddingTop)||0,o=Number.parseFloat(i.paddingBottom)||0,s=Number.parseFloat(i.paddingLeft)||0,c=Number.parseFloat(i.paddingRight)||0,l=n.top+a,u=n.bottom-o,d=n.left+s,f=n.right-c,p=u-l,m=f-d,h=0,g=0;r.height<=p?r.bottom>u?h=r.bottom-u:r.top<l&&(h=r.top-l):r.top>u?h=r.top-l:r.bottom<l&&(h=r.bottom-u),r.width<=m?r.right>f?g=r.right-f:r.left<d&&(g=r.left-d):r.left>f?g=r.left-d:r.right<d&&(g=r.right-f),!(g===0&&h===0)&&e.scrollBy({left:g,top:h,behavior:`smooth`})}function zk(e,t,n,r,i){return!!(e&&(t?.threadId===e||(n===null||n===Ms)&&r.includes(e)||i))}function Bk(e,t,n,r,i,a,o){return!e&&!!t&&n===0&&!r&&!i&&!(t&&a.includes(t))&&o?.threadId!==t}function Vk(e){let t=(0,Q.c)(26),{dispatch:n,composerPhase:r,isLayoutExpanded:i,pendingScrollWindowId:a,clearPendingScrollWindow:o,windows:s,hasOpenWindows:c,selectedWindowId:l,showingProjectDetails:u,scrollContainerRef:d}=e,f=(0,Z.useRef)(!1),p,m;t[0]!==r||t[1]!==n?(p=()=>{if(r===`moving-to-footer`&&!f.current){f.current=!0,n({type:Y.FocusChatInput});return}r===`centered`&&(f.current=!1)},m=[r,n],t[0]=r,t[1]=n,t[2]=p,t[3]=m):(p=t[2],m=t[3]),(0,Z.useEffect)(p,m);let h;t[4]!==o||t[5]!==i||t[6]!==a||t[7]!==d?(h=()=>{if(!a||!d.current||i){a&&i&&o();return}let e=d.current,t=e.querySelector(`[data-window-id="${a}"]`);t&&(Rk(e,t),o())},t[4]=o,t[5]=i,t[6]=a,t[7]=d,t[8]=h):h=t[8];let g;t[9]!==o||t[10]!==i||t[11]!==a||t[12]!==s?(g=[o,i,a,s],t[9]=o,t[10]=i,t[11]=a,t[12]=s,t[13]=g):g=t[13],(0,Z.useEffect)(h,g);let _=(0,Z.useRef)(u),v;t[14]!==c||t[15]!==i||t[16]!==d||t[17]!==l||t[18]!==u?(v=()=>{let e=_.current;if(_.current=u,e||!u||!c||i)return;let t=d.current;if(!t)return;let n=t,r=function(){if(n.clientWidth===0||n.clientHeight===0)return!1;let e=n.querySelector(`[data-window-id="${l}"]`);return e?(Rk(n,e),!0):!1};if(r())return;let a=new ResizeObserver(()=>{r()&&a.disconnect()});return a.observe(n),()=>a.disconnect()},t[14]=c,t[15]=i,t[16]=d,t[17]=l,t[18]=u,t[19]=v):v=t[19];let y;t[20]!==c||t[21]!==i||t[22]!==l||t[23]!==u||t[24]!==s?(y=[c,i,l,u,s],t[20]=c,t[21]=i,t[22]=l,t[23]=u,t[24]=s,t[25]=y):y=t[25],(0,Z.useEffect)(v,y)}function Hk(){let e=(0,Q.c)(61),t=Ks(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,pendingScrollWindowId:c,clearPendingScrollWindow:l,selectedWindowId:u,selectWindow:d,revealWindow:f,closeWindow:p,isPrimaryChatOpen:m}=gc(),h=X(Qk),g=X(Zk),_=X(Xk),v=X(Yk),y=X(Jk),b=X(qk),x=X(Kk),S=X(Gk),C=X(Wk),w;e[0]===g?w=e[1]:(w=e=>g?As(e.threadStreamingStates,g,Ct).isStreaming:!1,e[0]=g,e[1]=w);let T=X(w),E;e[2]===g?E=e[3]:(E=e=>g?_s(g,{hasSession:Uk,streamingStates:e.threadStreamingStates}):!1,e[2]=g,e[3]=E);let D=X(E),O;e[4]!==h||e[5]!==g?(O=Lt(h,g,`primary`),e[4]=h,e[5]=g,e[6]=O):O=e[6];let k=O,A;e[7]!==C||e[8]!==T||e[9]!==S||e[10]!==x||e[11]!==g?(A=zk(g,S,C,x,T),e[7]=C,e[8]=T,e[9]=S,e[10]=x,e[11]=g,e[12]=A):A=e[12];let j=A,M=(0,Z.useRef)(null),N=!!(g&&_),P;e[13]!==r||e[14]!==b||e[15]!==T||e[16]!==v.length||e[17]!==S||e[18]!==x||e[19]!==g?(P=Bk(r,g,v.length,T,b,x,S),e[13]=r,e[14]=b,e[15]=T,e[16]=v.length,e[17]=S,e[18]=x,e[19]=g,e[20]=P):P=e[20];let F=P,I=F&&y,L=F&&!y&&!D,R;e[21]!==L||e[22]!==g||e[23]!==I?(R={centered:I,loading:L,threadId:g},e[21]=L,e[22]=g,e[23]=I,e[24]=R):R=e[24];let{phase:z,reveal:B}=uC(R),V=gC(),{mode:H}=CO(),ee;e[25]!==z||e[26]!==V||e[27]!==H?(ee=V&&(H!==`background`||cC(z)),e[25]=z,e[26]=V,e[27]=H,e[28]=ee):ee=e[28];let te=ee,ne=H===`background`&&z===`moving-to-footer`,re;e[29]!==l||e[30]!==z||e[31]!==t||e[32]!==r||e[33]!==i||e[34]!==c||e[35]!==u||e[36]!==V||e[37]!==n?(re={dispatch:t,composerPhase:z,isLayoutExpanded:i,pendingScrollWindowId:c,clearPendingScrollWindow:l,windows:n,hasOpenWindows:r,selectedWindowId:u,showingProjectDetails:V,scrollContainerRef:M},e[29]=l,e[30]=z,e[31]=t,e[32]=r,e[33]=i,e[34]=c,e[35]=u,e[36]=V,e[37]=n,e[38]=re):re=e[38],Vk(re);let ie;return e[39]!==p||e[40]!==s||e[41]!==z||e[42]!==B||e[43]!==t||e[44]!==o||e[45]!==a||e[46]!==ne||e[47]!==r||e[48]!==i||e[49]!==m||e[50]!==j||e[51]!==k||e[52]!==f||e[53]!==d||e[54]!==_||e[55]!==g||e[56]!==u||e[57]!==N||e[58]!==te||e[59]!==n?(ie={windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,isPrimaryChatOpen:m,selectedWindowId:u,primaryChatTitle:k,isPrimaryStreaming:j,showGitOps:N,selectedThreadId:g,selectedProjectId:_,showSoloConversationSurface:te,fadeInSoloConversationSurface:ne,composerPhase:z,composerReveal:B,dispatch:t,selectWindow:d,revealWindow:f,collapseLayout:s,expandWindow:o,closeWindow:p,scrollContainerRef:M},e[39]=p,e[40]=s,e[41]=z,e[42]=B,e[43]=t,e[44]=o,e[45]=a,e[46]=ne,e[47]=r,e[48]=i,e[49]=m,e[50]=j,e[51]=k,e[52]=f,e[53]=d,e[54]=_,e[55]=g,e[56]=u,e[57]=N,e[58]=te,e[59]=n,e[60]=ie):ie=e[60],ie}function Uk(){return!1}function Wk(e){return e.activeStreamPane}function Gk(e){return e.pendingChatMessage}function Kk(e){return e.processingThreadIds}function qk(e){return e.isCreatingProject}function Jk(e){return xs(e,Ct)}function Yk(e){return ys(e,Ct)}function Xk(e){return e.selectedProjectId}function Zk(e){return e.selectedThreadId}function Qk(e){return e.projects}function $k(e){let t=(0,Q.c)(9),{title:n,selected:r,isStreaming:i,onSelect:a,onTitleDoubleClick:o,onClose:s,children:c}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(cD,{paneId:Ct}),t[0]=l):l=t[0];let u;return t[1]!==c||t[2]!==i||t[3]!==s||t[4]!==a||t[5]!==o||t[6]!==r||t[7]!==n?(u=(0,$.jsx)(VO,{title:n,showTitle:!0,selected:r,onSelect:a,onTitleDoubleClick:o,onClose:s,disableClose:i,footer:l,className:Lk,children:c}),t[1]=c,t[2]=i,t[3]=s,t[4]=a,t[5]=o,t[6]=r,t[7]=n,t[8]=u):u=t[8],u}function eA(e){let t=(0,Q.c)(22),{scrollRef:n,isLayoutExpanded:r,expandedWindowId:i,isPrimaryChatOpen:a,primaryTile:o,windows:s}=e,c=r?`overflow-hidden`:`grid gap-3 overflow-auto p-3`,l;t[0]===c?l=t[1]:(l=G(`h-full min-h-0`,c),t[0]=c,t[1]=l);let u;t[2]===r?u=t[3]:(u=r?void 0:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 24rem), 1fr))`,gridAutoRows:`minmax(min(100%, 20rem), 1fr)`},t[2]=r,t[3]=u);let d;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==o?(d=a?(0,$.jsx)(`div`,{"data-window-id":Ct,className:G(`min-h-0 min-w-0`,r&&`box-border h-full w-full p-3`,r&&i!==`primary`&&`hidden`),children:o}):null,t[4]=i,t[5]=r,t[6]=a,t[7]=o,t[8]=d):d=t[8];let f;if(t[9]!==i||t[10]!==r||t[11]!==s){let e;t[13]!==i||t[14]!==r?(e=e=>{let t=e.panelId===`chat`?(0,$.jsx)(cD,{paneId:e.id}):void 0;return(0,$.jsx)(`div`,{"data-window-id":e.id,className:G(`min-h-0 min-w-0`,r&&`box-border h-full w-full p-3`,r&&i!==e.id&&`hidden`),children:(0,$.jsx)(dk,{instanceId:e.id,panelId:e.panelId,footer:t})},e.id)},t[13]=i,t[14]=r,t[15]=e):e=t[15],f=s.map(e),t[9]=i,t[10]=r,t[11]=s,t[12]=f}else f=t[12];let p;return t[16]!==n||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,$.jsxs)(`div`,{ref:n,className:l,style:u,children:[d,f]}),t[16]=n,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function tA(e){let t=(0,Q.c)(12),{showSoloConversationSurface:n,fadeInSoloConversationSurface:r,showFooterComposer:i,children:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(`relative flex h-full min-h-0 flex-col`,fy(!1)),t[0]=o):o=t[0];let s;t[1]!==r||t[2]!==n?(s=n?(0,$.jsx)(`div`,{"aria-hidden":!0,className:G(Ik,r&&`animate-in fade-in duration-300 ease-out`)}):null,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;t[4]===a?c=t[5]:(c=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1 overflow-hidden`,children:a}),t[4]=a,t[5]=c);let l;t[6]===i?l=t[7]:(l=i?(0,$.jsx)(`div`,{className:`relative z-10`,children:(0,$.jsx)(cD,{})}):null,t[6]=i,t[7]=l);let u;return t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:o,children:[s,c,l]})}),t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function nA(e){let t=(0,Q.c)(10),{showGitOps:n,selectedThreadId:r,selectedProjectId:i}=e,a;t[0]!==i||t[1]!==r||t[2]!==n?(a=n&&r&&i?(0,$.jsx)(Pd,{threadId:r,children:(0,$.jsx)(kT,{projectId:i,threadId:r,layout:`bar`},r)}):null,t[0]=i,t[1]=r,t[2]=n,t[3]=a):a=t[3];let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(`div`,{className:`hidden justify-self-start md:block`,children:a}),t[4]=a,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`div`,{className:`justify-self-center md:col-start-2`,children:(0,$.jsx)(Tk,{})}),t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`flex items-center justify-end gap-2 justify-self-end`,children:AO()?null:(0,$.jsx)(pk,{})}),t[7]=c):c=t[7];let l;return t[8]===o?l=t[9]:(l=(0,$.jsxs)(`div`,{className:`relative z-0 grid shrink-0 grid-cols-[1fr_auto] items-center bg-transparent px-4 pb-4 pt-2 md:grid-cols-[1fr_auto_1fr]`,children:[o,s,c]}),t[8]=o,t[9]=l),l}function rA(e){let t=(0,Q.c)(54),{children:n}=e,{windows:r,hasOpenWindows:i,isLayoutExpanded:a,expandedWindowId:o,isPrimaryChatOpen:s,selectedWindowId:c,primaryChatTitle:l,isPrimaryStreaming:u,showGitOps:d,selectedThreadId:f,selectedProjectId:p,showSoloConversationSurface:m,fadeInSoloConversationSurface:h,composerPhase:g,composerReveal:_,dispatch:v,selectWindow:y,revealWindow:b,collapseLayout:x,expandWindow:S,closeWindow:C,scrollContainerRef:w}=Hk(),{triggerReviewRefresh:T}=mc(),E=a?o:c,D;t[0]!==E||t[1]!==r?(D=r.find(e=>e.id===E)?.panelId,t[0]=E,t[1]=r,t[2]=D):D=t[2];let O=D,k,A;t[3]!==O||t[4]!==f||t[5]!==T?(k=()=>{O!==`review`||!f||T(f)},A=[O,f,T],t[3]=O,t[4]=f,t[5]=T,t[6]=k,t[7]=A):(k=t[6],A=t[7]),(0,Z.useEffect)(k,A);let j;t[8]!==v||t[9]!==b||t[10]!==y?(j=()=>{y(Ct),b(Ct),v({type:Y.SetFocusedPane,paneId:`primary`})},t[8]=v,t[9]=b,t[10]=y,t[11]=j):j=t[11];let M=j,N;t[12]!==x||t[13]!==v||t[14]!==S||t[15]!==a||t[16]!==y?(N=()=>{if(a){x();return}y(Ct),v({type:Y.SetFocusedPane,paneId:`primary`}),S(Ct)},t[12]=x,t[13]=v,t[14]=S,t[15]=a,t[16]=y,t[17]=N):N=t[17];let P=N,F;t[18]===C?F=t[19]:(F=()=>C(Ct),t[18]=C,t[19]=F);let I=F,L=!a&&c===`primary`,R;t[20]!==n||t[21]!==I||t[22]!==M||t[23]!==P||t[24]!==u||t[25]!==l||t[26]!==L?(R=(0,$.jsx)($k,{title:l,selected:L,isStreaming:u,onSelect:M,onTitleDoubleClick:P,onClose:I,children:n}),t[20]=n,t[21]=I,t[22]=M,t[23]=P,t[24]=u,t[25]=l,t[26]=L,t[27]=R):R=t[27];let z=R,B;t[28]!==n||t[29]!==g||t[30]!==o||t[31]!==h||t[32]!==i||t[33]!==a||t[34]!==s||t[35]!==z||t[36]!==w||t[37]!==m||t[38]!==r?(B=i?(0,$.jsx)(eA,{scrollRef:w,isLayoutExpanded:a,expandedWindowId:o,isPrimaryChatOpen:s,primaryTile:z,windows:r}):(0,$.jsx)(tA,{showSoloConversationSurface:m,fadeInSoloConversationSurface:h,showFooterComposer:cC(g),children:n}),t[28]=n,t[29]=g,t[30]=o,t[31]=h,t[32]=i,t[33]=a,t[34]=s,t[35]=z,t[36]=w,t[37]=m,t[38]=r,t[39]=B):B=t[39];let V=B,H;t[40]===V?H=t[41]:(H=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1`,children:V}),t[40]=V,t[41]=H);let ee;t[42]!==p||t[43]!==f||t[44]!==d?(ee=(0,$.jsx)(nA,{showGitOps:d,selectedThreadId:f,selectedProjectId:p}),t[42]=p,t[43]=f,t[44]=d,t[45]=ee):ee=t[45];let te;t[46]!==H||t[47]!==ee?(te=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[H,ee]}),t[46]=H,t[47]=ee,t[48]=te):te=t[48];let ne;return t[49]!==g||t[50]!==_||t[51]!==i||t[52]!==te?(ne=(0,$.jsx)(iC,{placement:`footer`,embedded:i,composerPhase:g,composerReveal:_,children:te}),t[49]=g,t[50]=_,t[51]=i,t[52]=te,t[53]=ne):ne=t[53],ne}var iA=Ut(`app.use-chat-history.hook`);function aA(){let e=Ks(),t=Vs(),n=X(e=>e.selectedThreadId);(0,Z.useEffect)(()=>{if(!n)return;let r=n,i=!1;async function a(){if(kc(t.getState().threadToolSessions[r]))return;let n=t.getState().chatHistoryEpoch;try{let[a,o]=await Promise.all([ci(r),Ur(r).catch(e=>(iA.error(`Failed to load thread metadata for conversation id:`,e),null))]);if(i||t.getState().chatHistoryEpoch!==n)return;let s=_s(r,{hasSession:()=>!1,streamingStates:t.getState().threadStreamingStates}),c=o?.currentConversationId?.trim()||void 0;if(c&&e({type:Y.SetPrimaryConversationId,conversationId:c}),s||e({type:Y.SetMessages,messages:a.messages,conversationId:c,historyEpoch:n}),s)return;Ma.invalidate(`processing-threads`);let l=await No();if(i||t.getState().chatHistoryEpoch!==n)return;e({type:Y.SetProcessingThreads,threadIds:l})}catch(a){iA.error(`Failed to load chat history:`,a),!i&&t.getState().chatHistoryEpoch===n&&(e({type:Y.SetMessages,messages:[],historyEpoch:n}),e({type:Y.ResetStream,threadId:r,paneId:`primary`}))}}return a(),()=>{i=!0}},[n,X(e=>e.selectedProjectId),e,t])}function oA(){let e=(0,Q.c)(8),t=Ks(),n=Vs(),r=X(sA),i=r?.messageId,a;e[0]===i?a=e[1]:(a=e=>i?e.messages.some(e=>e.messageId===i):!0,e[0]=i,e[1]=a);let o=X(a),s,c;e[2]!==t||e[3]!==o||e[4]!==r||e[5]!==n?(s=()=>{!r||o||t({type:Y.SetMessages,messages:[...n.getState().messages,bc(r)]})},c=[r,o,t,n],e[2]=t,e[3]=o,e[4]=r,e[5]=n,e[6]=s,e[7]=c):(s=e[6],c=e[7]),(0,Z.useEffect)(s,c)}function sA(e){if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];return t&&kc(t)?t:null}var cA=(0,Z.lazy)(()=>us(()=>import(`./diff-view-Cxf7v9t1.js`),__vite__mapDeps([18,1,19,20,4,5,21,22,23,24,25,14,26,27]))),lA=(0,Z.lazy)(()=>us(()=>import(`./create-project-dialog-DrXo61FQ.js`),__vite__mapDeps([35,1,33,4,5]))),uA=Ut(`chat.area`);function dA(e){let t=(0,Q.c)(40),{onCreateThread:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}=e,s=Ks(),c=Yn(),l=Gn(),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),m=X(gA),h;t[0]===s?h=t[1]:(h=()=>{s({type:Y.CloseSidebar})},t[0]=s,t[1]=h);let g=h,_;t[2]===g?_=t[3]:(_=()=>{g(),p(`clone`),d(!0)},t[2]=g,t[3]=_);let v=_,y;t[4]===g?y=t[5]:(y=()=>{g(),p(`webapp`),d(!0)},t[4]=g,t[5]=y);let b=y,x;t[6]===r?x=t[7]:(x=async(e,t)=>{d(!1),p(null),await r(e,t).catch(hA)},t[6]=r,t[7]=x);let S=x,C;t[8]===i?C=t[9]:(C=async(e,t,n)=>{d(!1),p(null),await i(e,t,n).catch(mA)},t[8]=i,t[9]=C);let w=C,T;t[10]!==g||t[11]!==o?(T=async()=>{g(),d(!1),p(null),await o().catch(pA)},t[10]=g,t[11]=o,t[12]=T):T=t[12];let E=T,D;t[13]===a?D=t[14]:(D=async e=>{d(!1),p(null),await a(e).catch(fA)},t[13]=a,t[14]=D);let O=D,k=l.pathname===`/review`,A;t[15]===c?A=t[16]:(A=()=>{c(`/`)},t[15]=c,t[16]=A);let j=A;aA(),oA();let M=!k,N;t[17]!==v||t[18]!==b||t[19]!==E||t[20]!==n?(N=(0,$.jsx)(oO,{paneId:`primary`,onCreateThread:n,showEmptyState:!0,hideInput:!0,onConnectRepo:v,onNewApp:b,onOpenFolder:E}),t[17]=v,t[18]=b,t[19]=E,t[20]=n,t[21]=N):N=t[21];let P=M?N:null,F;t[22]!==P||t[23]!==j||t[24]!==k||t[25]!==m||t[26]!==M?(F=k&&m?(0,$.jsx)(Pd,{threadId:m,children:(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(ga,{}),children:(0,$.jsx)(cA,{threadId:m,onExit:j})})}):M?(0,$.jsx)(rA,{children:P}):null,t[22]=P,t[23]=j,t[24]=k,t[25]=m,t[26]=M,t[27]=F):F=t[27];let I=f??void 0,L;t[28]!==u||t[29]!==O||t[30]!==S||t[31]!==w||t[32]!==I?(L=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(lA,{open:u,onOpenChange:d,initialMode:I,onSubmitClone:S,onSubmitWebApp:w,onSubmitFolder:O})}),t[28]=u,t[29]=O,t[30]=S,t[31]=w,t[32]=I,t[33]=L):L=t[33];let R;t[34]!==F||t[35]!==L?(R=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[F,L]}),t[34]=F,t[35]=L,t[36]=R):R=t[36];let z;return t[37]!==m||t[38]!==R?(z=(0,$.jsx)(Hm,{threadId:m,children:R}),t[37]=m,t[38]=R,t[39]=z):z=t[39],z}function fA(e){uA.error(`Failed to create folder`,{err:e})}function pA(e){uA.error(`Failed to open folder`,{err:e})}function mA(e){uA.error(`Failed to create project`,{err:e})}function hA(e){uA.error(`Failed to clone repository`,{err:e})}function gA(e){return e.selectedThreadId}var _A=1e3;function vA(e){return!Number.isFinite(e)||e<=0?`+$0.00`:`+$${(Math.round(e*100)/100).toFixed(2)}`}function yA(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))return 0;let n=e-t;return n<=0?0:Math.round(n*100)/100}function bA(e){return 300+(Math.max(e,1)-1)*30}function xA(e){let t=(0,Q.c)(8),{deltaLabel:n,phase:r}=e,i=(0,Z.useRef)(null),a;t[0]===r?a=t[1]:(a=()=>{if(r!==`fade`||!i.current)return;let e=i.current.animate([{opacity:1},{opacity:0}],{duration:280,easing:`ease-out`,fill:`forwards`});return()=>{e.cancel()}},t[0]=r,t[1]=a);let o;if(t[2]!==n||t[3]!==r?(o=[r,n],t[2]=n,t[3]=r,t[4]=o):o=t[4],(0,Z.useEffect)(a,o),r!==`hold`&&r!==`fade`)return null;let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=G(U.compact,`pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-full`,`bg-foreground text-background font-mono tabular-nums font-bold whitespace-nowrap`),t[5]=s):s=t[5];let c;return t[6]===n?c=t[7]:(c=(0,$.jsx)(`span`,{ref:i,className:s,"aria-hidden":`true`,children:n}),t[6]=n,t[7]=c),c}function SA(e){return $e(e).split(``)}function CA(e){let t=(0,Q.c)(19),{previousCharacter:n,nextCharacter:r,isFlipping:i,index:a,flipKey:o}=e,s=i&&n!==r,c=s?r:n;if(!s){let e;return t[0]===c?e=t[1]:(e=(0,$.jsx)(`span`,{className:`inline-block`,children:c}),t[0]=c,t[1]=e),e}let l=a*30,u=`${o}-${a}-${r}`,d=`${l}ms`,f;t[2]===d?f=t[3]:(f={animationDuration:`300ms`,animationDelay:d},t[2]=d,t[3]=f);let p;t[4]!==n||t[5]!==f?(p=(0,$.jsx)(`span`,{className:`absolute inset-x-0 top-0 animate-daily-spend-flip-out`,style:f,children:n}),t[4]=n,t[5]=f,t[6]=p):p=t[6];let m=`${l}ms`,h;t[7]===m?h=t[8]:(h={animationDuration:`300ms`,animationDelay:m},t[7]=m,t[8]=h);let g;t[9]!==r||t[10]!==h?(g=(0,$.jsx)(`span`,{className:`absolute inset-x-0 top-0 animate-daily-spend-flip-in`,style:h,children:r}),t[9]=r,t[10]=h,t[11]=g):g=t[11];let _;t[12]===c?_=t[13]:(_=(0,$.jsx)(`span`,{className:`invisible`,children:c}),t[12]=c,t[13]=_);let v;return t[14]!==u||t[15]!==p||t[16]!==g||t[17]!==_?(v=(0,$.jsxs)(`span`,{className:`relative inline-block h-[1em] overflow-hidden align-bottom`,"aria-hidden":`true`,children:[p,g,_]},u),t[14]=u,t[15]=p,t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function wA(e){let t=(0,Q.c)(12),{fromAmount:n,toAmount:r,isFlipping:i,flipKey:a,className:o}=e,s;if(t[0]!==n||t[1]!==r){let e=SA(n),i=SA(r),a=Math.max(e.length,i.length);s=Array.from({length:a},(t,n)=>({previousCharacter:e[n]??``,nextCharacter:i[n]??``})),t[0]=n,t[1]=r,t[2]=s}else s=t[2];let c=s,l;t[3]===o?l=t[4]:(l=G(`inline-flex items-center`,o),t[3]=o,t[4]=l);let u;t[5]!==c||t[6]!==a||t[7]!==i?(u=c.map((e,t)=>{let{previousCharacter:n,nextCharacter:r}=e;return(0,$.jsx)(CA,{previousCharacter:n,nextCharacter:r,isFlipping:i,index:t,flipKey:a},`${t}-${n}-${r}`)}),t[5]=c,t[6]=a,t[7]=i,t[8]=u):u=t[8];let d;return t[9]!==l||t[10]!==u?(d=(0,$.jsx)(`span`,{className:l,"aria-live":`polite`,children:u}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function TA(e){return!Number.isFinite(e)||e<=0?`0%`:`${(e*100).toFixed(1)}%`}function EA(e){return Me(e.cacheReadTokens,we(e.inputTokens,e.cacheReadTokens,e.cacheWriteTokens))}function DA(e){let t=(0,Q.c)(9),{models:n}=e;if(n.length===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:U.caption,children:`By model`}),t[0]=r):r=t[0];let i;if(t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=EA(e),n=T(t);return(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[e.model,` · `,TA(t),n?` · not caching`:``]},e.model)},t[3]=e):e=t[3],i=n.map(e),t[1]=n,t[2]=i}else i=t[2];let a;t[4]===n?a=t[5]:(a=n.some(function(e){return T(EA(e))})?(0,$.jsx)(`div`,{className:U.caption,children:`Models marked not caching re-bill the full context as input each turn.`}):null,t[4]=n,t[5]=a);let o;return t[6]!==i||t[7]!==a?(o=(0,$.jsxs)(`div`,{className:`space-y-1 pt-2`,children:[r,i,a]}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function OA(e){let t=(0,Q.c)(42),{inputTokens:n,cacheReadTokens:r,cacheWriteTokens:i,cacheReadCost:a,cacheWriteCost:o,byModel:s}=e,c,l,u,d,f,p,m,h,g,_;if(t[0]!==r||t[1]!==i||t[2]!==n||t[3]!==s){c=s===void 0?[]:s;let e=Me(r,we(n,r,i)),a=c[0];l=c.length>1||a!==void 0&&T(EA(a)),g=`space-y-1 pt-3`,t[14]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`div`,{className:U.label,children:`Prompt cache`}),t[14]=_):_=t[14],u=U.bodyMuted,t[15]===r?d=t[16]:(d=Vt(r),t[15]=r,t[16]=d),f=` cache read / `,t[17]===i?p=t[18]:(p=Vt(i),t[17]=i,t[18]=p),m=` cache write tokens · `,h=TA(e),t[0]=r,t[1]=i,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=_}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],_=t[13];let v;t[19]!==u||t[20]!==d||t[21]!==f||t[22]!==p||t[23]!==m||t[24]!==h?(v=(0,$.jsxs)(`div`,{className:u,children:[d,f,p,m,h,` hit rate`]}),t[19]=u,t[20]=d,t[21]=f,t[22]=p,t[23]=m,t[24]=h,t[25]=v):v=t[25];let y;t[26]===a?y=t[27]:(y=$e(a),t[26]=a,t[27]=y);let b;t[28]===o?b=t[29]:(b=$e(o),t[28]=o,t[29]=b);let x;t[30]!==y||t[31]!==b?(x=(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[y,` cache read cost /`,` `,b,` cache write cost`]}),t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]!==c||t[34]!==l?(S=l?(0,$.jsx)(DA,{models:c}):null,t[33]=c,t[34]=l,t[35]=S):S=t[35];let C;return t[36]!==v||t[37]!==x||t[38]!==S||t[39]!==g||t[40]!==_?(C=(0,$.jsxs)(`div`,{className:g,children:[_,v,x,S]}),t[36]=v,t[37]=x,t[38]=S,t[39]=g,t[40]=_,t[41]=C):C=t[41],C}var kA=pn,AA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(sr,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});AA.displayName=sr.displayName;var jA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-base font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:data-[state=active]:bg-foreground dark:data-[state=active]:text-background`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(ar,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});jA.displayName=ar.displayName;var MA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Fn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});MA.displayName=Fn.displayName;var NA=Ut(`app.use-current-conversation-spend.hook`);function PA(e,t=``){let n=X(e=>e.focusedPane),r=X(e=>n===Ms?void 0:gs(e,n)),[i,a]=(0,Z.useState)(),[o,s]=(0,Z.useState)(0),[c,l]=(0,Z.useState)(0),[u,d]=(0,Z.useState)(0),[f,p]=(0,Z.useState)(0),[m,h]=(0,Z.useState)(0),[g,_]=(0,Z.useState)(0),[v,y]=(0,Z.useState)(0),[b,x]=(0,Z.useState)([]),[S,C]=(0,Z.useState)(!1),w=n===Ms?i:r;(0,Z.useEffect)(()=>{let t=!1;async function r(){if(!e||n!==Ms){a(void 0);return}try{let n=await Ur(e);if(t)return;a(n.currentConversationId)}catch(e){NA.error(`Failed to resolve current conversation id`,e),t||a(void 0)}}return r(),()=>{t=!0}},[n,t,e]);let T=(0,Z.useCallback)(async function(){if(!e||!w){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([]),C(!1);return}C(!0);try{let t=await Xi(e,w);s(t.usage.cost.total),l(t.usage.input),d(t.usage.output),p(t.usage.cacheRead),h(t.usage.cacheWrite),_(t.usage.cost.cacheRead),y(t.usage.cost.cacheWrite),x(t.cacheByModel??[])}catch(e){if(e instanceof Error&&e.message===`Conversation not found`){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([]);return}NA.error(`Failed to load current conversation spend`,e),s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([])}finally{C(!1)}},[w,e]);return(0,Z.useEffect)(()=>{T()},[T,t]),{conversationId:w,totalCost:o,inputTokens:c,outputTokens:u,cacheReadTokens:f,cacheWriteTokens:m,cacheReadCost:g,cacheWriteCost:v,byModel:b,isLoading:S,refresh:T}}var FA=Ut(`app.use-daily-spend.hook`);function IA(e=``){let[t,n]=(0,Z.useState)(0),[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(0),[l,u]=(0,Z.useState)(0),[d,f]=(0,Z.useState)(0),[p,m]=(0,Z.useState)(0),[h,g]=(0,Z.useState)(0),[_,v]=(0,Z.useState)(0),[y,b]=(0,Z.useState)(0),[x,S]=(0,Z.useState)(0),[C,w]=(0,Z.useState)(0),[T,E]=(0,Z.useState)(0),[D,O]=(0,Z.useState)(0),[k,A]=(0,Z.useState)(0),[j,M]=(0,Z.useState)(0),[N,P]=(0,Z.useState)([]),[F,I]=(0,Z.useState)([]),[L,R]=(0,Z.useState)(!0),[z,B]=(0,Z.useState)(0),V=(0,Z.useRef)(0),H=(0,Z.useCallback)(async function(){let e=++V.current;try{let t=await Ri();if(e!==V.current)return;n(t.today),i(t.last30Days),o(t.todayInputTokens),c(t.todayOutputTokens),u(t.last30DaysInputTokens),f(t.last30DaysOutputTokens),m(t.todayCacheReadTokens),g(t.todayCacheWriteTokens),v(t.last30DaysCacheReadTokens),b(t.last30DaysCacheWriteTokens),S(t.todayCacheReadCost),w(t.todayCacheWriteCost),E(t.last30DaysCacheReadCost),O(t.last30DaysCacheWriteCost),A(t.todayCompressionBytesSaved),M(t.last30DaysCompressionBytesSaved),P(t.todayByModel??[]),I(t.last30DaysByModel??[]),B(e=>e+1)}catch(t){if(e!==V.current)return;FA.error(`Failed to load daily spend summary`,t)}finally{e===V.current&&R(!1)}},[]);return(0,Z.useEffect)(()=>{H()},[H,e]),{today:t,last30Days:r,todayInputTokens:a,todayOutputTokens:s,last30DaysInputTokens:l,last30DaysOutputTokens:d,todayCacheReadTokens:p,todayCacheWriteTokens:h,last30DaysCacheReadTokens:_,last30DaysCacheWriteTokens:y,todayCacheReadCost:x,todayCacheWriteCost:C,last30DaysCacheReadCost:T,last30DaysCacheWriteCost:D,todayCompressionBytesSaved:k,last30DaysCompressionBytesSaved:j,todayByModel:N,last30DaysByModel:F,isLoading:L,refreshGeneration:z,refresh:H}}function LA(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=function(){n(e.matches)};return t(),e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}function RA({todayFromApi:e,refreshSignal:t,refreshGeneration:n,isLoading:r}){let i=LA(),[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(`idle`),[l,u]=(0,Z.useState)(0),[d,f]=(0,Z.useState)(0),p=(0,Z.useRef)(0),m=(0,Z.useRef)(0),h=(0,Z.useRef)(0),g=(0,Z.useRef)(!0),_=(0,Z.useRef)(t),v=(0,Z.useRef)(n),y=(0,Z.useRef)(!1),b=(0,Z.useRef)(`idle`),x=(0,Z.useRef)([]);b.current=s;let S=(0,Z.useCallback)(function(){for(let e of x.current)window.clearTimeout(e);x.current=[]},[]),C=(0,Z.useCallback)(function(e,t){let n=window.setTimeout(e,t);x.current.push(n)},[]),w=(0,Z.useRef)(()=>{});return w.current=function(){if(h.current<=0||b.current!==`idle`)return;let e=h.current;h.current=0,u(e),c(`hold`),C(()=>{c(`fade`),C(()=>{let t=p.current+e,n=bA($e(t).length);f(e=>e+1),c(`flip`),C(()=>{p.current=t,o(t),u(0),c(`idle`),h.current>0&&w.current()},n)},280)},_A)},(0,Z.useEffect)(()=>{if(r)return;if(g.current){g.current=!1,_.current=t,v.current=n,p.current=e,m.current=e,o(e);return}if(t!==_.current){let e=new Set(_.current?_.current.split(`,`):[]),n=new Set(t?t.split(`,`):[]);_.current=t;let r=!1;for(let t of n)if(!e.has(t)){r=!0;break}r&&(y.current=!0)}let a=n!==v.current;if(a&&(v.current=n),y.current){if(!a)return;y.current=!1;let t=yA(e,m.current);if(t<=0){b.current===`idle`&&(p.current=e,m.current=e,o(e));return}if(m.current=e,i){S(),h.current=0,u(0),c(`idle`),p.current=e,o(e);return}h.current+=t,b.current===`idle`&&(S(),w.current());return}a&&b.current===`idle`&&(p.current=e,m.current=e,o(e))},[S,r,i,n,t,C,e]),(0,Z.useEffect)(()=>()=>{S()},[S]),{isAnimating:s!==`idle`,phase:s,deltaLabel:l>0?vA(l):null,flipFromAmount:a,flipToAmount:a+l,isFlipping:s===`flip`,flipKey:d}}function zA(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`showDailySpend`,defaultValue:!0,logScope:`app.use-show-daily-spend.hook`,settingLabel:`spend`},e[0]=t):t=e[0],aS(t)}var BA=`h-auto shrink-0 rounded-full border bg-muted/40`,VA=`rounded-full px-4 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:shadow-sm`;function HA(e){return{model:e.modelId,inputTokens:e.inputTokens,cacheReadTokens:e.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens,cacheReadCost:e.cacheReadCost,cacheWriteCost:e.cacheWriteCost}}function UA(e){let t=(0,Q.c)(22),{todayLabel:r,todayInputTokens:i,todayOutputTokens:a,todayCacheReadTokens:o,todayCacheWriteTokens:s,todayCacheReadCost:c,todayCacheWriteCost:l,todayCompressionBytesSaved:u,todayByModel:d}=e,f=i>0||a>0||o>0||s>0,p=o>0||s>0||c>0||l>0||d.length>0,m=u>0,h;t[0]===r?h=t[1]:(h=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[r,` spent`]})}),t[0]=r,t[1]=h);let g;t[2]!==f||t[3]!==i||t[4]!==a?(g=f?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(i),` input / `,Vt(a),` `,`output tokens`]})]}):null,t[2]=f,t[3]=i,t[4]=a,t[5]=g):g=t[5];let _;t[6]!==p||t[7]!==d||t[8]!==c||t[9]!==o||t[10]!==l||t[11]!==s||t[12]!==i?(_=p?(0,$.jsx)(OA,{inputTokens:i,cacheReadTokens:o,cacheWriteTokens:s,cacheReadCost:c,cacheWriteCost:l,byModel:d}):null,t[6]=p,t[7]=d,t[8]=c,t[9]=o,t[10]=l,t[11]=s,t[12]=i,t[13]=_):_=t[13];let v;t[14]!==m||t[15]!==u?(v=m?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[n(u),` saved`]})]}):null,t[14]=m,t[15]=u,t[16]=v):v=t[16];let y;return t[17]!==h||t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[h,g,_,v]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function WA(e){let t=(0,Q.c)(22),{totalCost:n,inputTokens:r,outputTokens:i,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,byModel:l,hasConversation:u,isLoading:d}=e;if(!u){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:U.bodyMuted,children:`Start a conversation to see spend for the current chat.`}),t[0]=e):e=t[0],e}if(d){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:U.bodyMuted,children:`Loading current chat spend…`}),t[1]=e):e=t[1],e}let f;t[2]===n?f=t[3]:(f=$e(n),t[2]=n,t[3]=f);let p=f,m=r>0||i>0||a>0||o>0,h=a>0||o>0||s>0||c>0||l.length>0,g=n>0?`${p} spent`:`No spend recorded yet`,_;t[4]===g?_=t[5]:(_=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`div`,{children:g})}),t[4]=g,t[5]=_);let v;t[6]!==m||t[7]!==r||t[8]!==i?(v=m?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(r),` input / `,Vt(i),` output tokens`]})]}):null,t[6]=m,t[7]=r,t[8]=i,t[9]=v):v=t[9];let y;t[10]!==l||t[11]!==s||t[12]!==a||t[13]!==c||t[14]!==o||t[15]!==h||t[16]!==r?(y=h?(0,$.jsx)(OA,{inputTokens:r,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,byModel:l}):null,t[10]=l,t[11]=s,t[12]=a,t[13]=c,t[14]=o,t[15]=h,t[16]=r,t[17]=y):y=t[17];let b;return t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[_,v,y]}),t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function GA(e){let t=(0,Q.c)(23),{last30DaysLabel:r,averagePerDayLabel:i,last30DaysInputTokens:a,last30DaysOutputTokens:o,last30DaysCacheReadTokens:s,last30DaysCacheWriteTokens:c,last30DaysCacheReadCost:l,last30DaysCacheWriteCost:u,last30DaysCompressionBytesSaved:d,last30DaysByModel:f}=e,p=a>0||o>0||s>0||c>0,m=s>0||c>0||l>0||u>0||f.length>0,h=d>0,g;t[0]!==i||t[1]!==r?(g=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[r,` spent · `,i,`/day average`]})}),t[0]=i,t[1]=r,t[2]=g):g=t[2];let _;t[3]!==p||t[4]!==a||t[5]!==o?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(a),` input /`,` `,Vt(o),` output tokens`]})]}):null,t[3]=p,t[4]=a,t[5]=o,t[6]=_):_=t[6];let v;t[7]!==m||t[8]!==f||t[9]!==l||t[10]!==s||t[11]!==u||t[12]!==c||t[13]!==a?(v=m?(0,$.jsx)(OA,{inputTokens:a,cacheReadTokens:s,cacheWriteTokens:c,cacheReadCost:l,cacheWriteCost:u,byModel:f}):null,t[7]=m,t[8]=f,t[9]=l,t[10]=s,t[11]=u,t[12]=c,t[13]=a,t[14]=v):v=t[14];let y;t[15]!==h||t[16]!==d?(y=h?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[n(d),` saved`]})]}):null,t[15]=h,t[16]=d,t[17]=y):y=t[17];let b;return t[18]!==g||t[19]!==_||t[20]!==v||t[21]!==y?(b=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v,y]}),t[18]=g,t[19]=_,t[20]=v,t[21]=y,t[22]=b):b=t[22],b}function KA(){let e=(0,Q.c)(101),t=X(JA),n=X(qA),r=gC(),i;e[0]===t?i=e[1]:(i=t.join(`,`),e[0]=t,e[1]=i);let a=i,{isEnabled:o,isLoading:s}=zA(),{today:c,last30Days:l,todayInputTokens:u,todayOutputTokens:d,last30DaysInputTokens:f,last30DaysOutputTokens:p,todayCacheReadTokens:m,todayCacheWriteTokens:h,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,todayCacheReadCost:v,todayCacheWriteCost:y,last30DaysCacheReadCost:b,last30DaysCacheWriteCost:x,todayCompressionBytesSaved:S,last30DaysCompressionBytesSaved:C,todayByModel:w,last30DaysByModel:T,isLoading:E,refreshGeneration:D}=IA(a),O;e[2]!==E||e[3]!==D||e[4]!==a||e[5]!==c?(O={todayFromApi:c,refreshSignal:a,refreshGeneration:D,isLoading:E},e[2]=E,e[3]=D,e[4]=a,e[5]=c,e[6]=O):O=e[6];let{isAnimating:k,phase:A,deltaLabel:j,flipFromAmount:M,flipToAmount:N,isFlipping:P,flipKey:F}=RA(O),{conversationId:I,totalCost:L,inputTokens:R,outputTokens:z,cacheReadTokens:B,cacheWriteTokens:V,cacheReadCost:H,cacheWriteCost:ee,byModel:te,isLoading:ne}=PA(n,a),[re,ie]=(0,Z.useState)(!1);if(!o||s||E||c===0&&!k)return null;let ae=l/30,oe;e[7]===c?oe=e[8]:(oe=$e(c),e[7]=c,e[8]=oe);let se=oe,ce;e[9]===l?ce=e[10]:(ce=$e(l),e[9]=l,e[10]=ce);let le=ce,ue;e[11]===ae?ue=e[12]:(ue=$e(ae),e[11]=ae,e[12]=ue);let W=ue,de;e[13]===L?de=e[14]:(de=$e(L),e[13]=L,e[14]=de);let fe=de,pe=r?nl:`text-foreground hover:text-foreground/80`,me;e[15]===pe?me=e[16]:(me=G(U.compact,`relative overflow-hidden inline-flex h-8 items-center rounded-full px-3 font-mono tabular-nums electrobun-webkit-app-region-no-drag cursor-pointer transition-colors`,pe),e[15]=pe,e[16]=me);let he;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(he=()=>ie(!0),e[17]=he):he=e[17];let ge;e[18]!==M||e[19]!==F||e[20]!==N||e[21]!==P?(ge=(0,$.jsx)(`span`,{className:`col-start-1 row-start-1`,children:(0,$.jsx)(wA,{fromAmount:M,toAmount:N,isFlipping:P,flipKey:F})}),e[18]=M,e[19]=F,e[20]=N,e[21]=P,e[22]=ge):ge=e[22];let _e;e[23]!==j||e[24]!==A?(_e=j&&(A===`hold`||A===`fade`)?(0,$.jsx)(`span`,{className:`col-start-1 row-start-1 invisible font-bold`,"aria-hidden":`true`,children:j}):null,e[23]=j,e[24]=A,e[25]=_e):_e=e[25];let ve;e[26]!==_e||e[27]!==ge?(ve=(0,$.jsxs)(`span`,{className:`inline-grid items-center justify-items-center`,children:[ge,_e]}),e[26]=_e,e[27]=ge,e[28]=ve):ve=e[28];let ye;e[29]!==j||e[30]!==A?(ye=j?(0,$.jsx)(xA,{deltaLabel:j,phase:A}):null,e[29]=j,e[30]=A,e[31]=ye):ye=e[31];let be;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`span`,{className:`sr-only`,children:`View spend details`}),e[32]=be):be=e[32];let xe;e[33]!==ve||e[34]!==ye||e[35]!==me?(xe=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:me,onClick:he,children:[ve,ye,be]})}),e[33]=ve,e[34]=ye,e[35]=me,e[36]=xe):xe=e[36];let Se;e[37]===se?Se=e[38]:(Se=(0,$.jsxs)(`div`,{children:[se,` spent today`]}),e[37]=se,e[38]=Se);let Ce;e[39]===fe?Ce=e[40]:(Ce=(0,$.jsxs)(`div`,{children:[fe,` · This Chat`]}),e[39]=fe,e[40]=Ce);let we;e[41]===le?we=e[42]:(we=(0,$.jsxs)(`div`,{children:[le,` spend last 30 days`]}),e[41]=le,e[42]=we);let Te;e[43]===W?Te=e[44]:(Te=(0,$.jsxs)(`div`,{children:[W,` average per day`]}),e[43]=W,e[44]=Te);let Ee;e[45]!==Se||e[46]!==Ce||e[47]!==we||e[48]!==Te?(Ee=(0,$.jsxs)(Fr,{className:`space-y-1`,children:[Se,Ce,we,Te]}),e[45]=Se,e[46]=Ce,e[47]=we,e[48]=Te,e[49]=Ee):Ee=e[49];let De;e[50]!==xe||e[51]!==Ee?(De=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[xe,Ee]})}),e[50]=xe,e[51]=Ee,e[52]=De):De=e[52];let Oe;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(Dr,{children:(0,$.jsx)(qa,{children:`Spend`})}),e[53]=Oe):Oe=e[53];let ke;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsxs)(AA,{className:BA,children:[(0,$.jsx)(jA,{value:`today`,className:VA,children:`Today`}),(0,$.jsx)(jA,{value:`currentChat`,className:VA,children:`This Chat`}),(0,$.jsx)(jA,{value:`last30Days`,className:VA,children:`Last 30 Days`})]}),e[54]=ke):ke=e[54];let Ae;e[55]===w?Ae=e[56]:(Ae=w.map(HA),e[55]=w,e[56]=Ae);let je;e[57]!==Ae||e[58]!==v||e[59]!==m||e[60]!==y||e[61]!==h||e[62]!==S||e[63]!==u||e[64]!==se||e[65]!==d?(je=(0,$.jsx)(MA,{value:`today`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(UA,{todayLabel:se,todayInputTokens:u,todayOutputTokens:d,todayCacheReadTokens:m,todayCacheWriteTokens:h,todayCacheReadCost:v,todayCacheWriteCost:y,todayCompressionBytesSaved:S,todayByModel:Ae})})}),e[57]=Ae,e[58]=v,e[59]=m,e[60]=y,e[61]=h,e[62]=S,e[63]=u,e[64]=se,e[65]=d,e[66]=je):je=e[66];let Me=!!(n&&I),Ne;e[67]!==te||e[68]!==H||e[69]!==B||e[70]!==ee||e[71]!==V||e[72]!==L||e[73]!==R||e[74]!==z||e[75]!==ne||e[76]!==Me?(Ne=(0,$.jsx)(MA,{value:`currentChat`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(WA,{totalCost:L,inputTokens:R,outputTokens:z,cacheReadTokens:B,cacheWriteTokens:V,cacheReadCost:H,cacheWriteCost:ee,byModel:te,hasConversation:Me,isLoading:ne})})}),e[67]=te,e[68]=H,e[69]=B,e[70]=ee,e[71]=V,e[72]=L,e[73]=R,e[74]=z,e[75]=ne,e[76]=Me,e[77]=Ne):Ne=e[77];let Pe;e[78]===T?Pe=e[79]:(Pe=T.map(HA),e[78]=T,e[79]=Pe);let Fe;e[80]!==W||e[81]!==b||e[82]!==g||e[83]!==x||e[84]!==_||e[85]!==C||e[86]!==f||e[87]!==le||e[88]!==p||e[89]!==Pe?(Fe=(0,$.jsx)(MA,{value:`last30Days`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(GA,{last30DaysLabel:le,averagePerDayLabel:W,last30DaysInputTokens:f,last30DaysOutputTokens:p,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,last30DaysCacheReadCost:b,last30DaysCacheWriteCost:x,last30DaysCompressionBytesSaved:C,last30DaysByModel:Pe})})}),e[80]=W,e[81]=b,e[82]=g,e[83]=x,e[84]=_,e[85]=C,e[86]=f,e[87]=le,e[88]=p,e[89]=Pe,e[90]=Fe):Fe=e[90];let Ie;e[91]!==je||e[92]!==Ne||e[93]!==Fe?(Ie=(0,$.jsxs)(Ir,{className:`flex h-[520px] max-w-xl flex-col overflow-hidden max-h-[calc(100dvh-2rem)]`,children:[Oe,(0,$.jsxs)(kA,{defaultValue:`today`,className:`flex min-h-0 flex-1 flex-col`,children:[ke,je,Ne,Fe]})]}),e[91]=je,e[92]=Ne,e[93]=Fe,e[94]=Ie):Ie=e[94];let Le;e[95]!==re||e[96]!==Ie?(Le=(0,$.jsx)(Ni,{open:re,onOpenChange:ie,children:Ie}),e[95]=re,e[96]=Ie,e[97]=Le):Le=e[97];let Re;return e[98]!==De||e[99]!==Le?(Re=(0,$.jsxs)($.Fragment,{children:[De,Le]}),e[98]=De,e[99]=Le,e[100]=Re):Re=e[100],Re}function qA(e){return e.selectedThreadId}function JA(e){return e.completedThreadIds}function YA(){let e=(0,Q.c)(15),{resolvedTheme:t,setTheme:n}=Ic(),r=t===`dark`,i;e[0]!==r||e[1]!==n?(i=function(){n(r?`light`:`dark`)},e[0]=r,e[1]=n,e[2]=i):i=e[2];let a=i,o;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,nl),e[3]=o):o=e[3];let s=r?`Switch to light mode`:`Switch to dark mode`,c;e[4]===r?c=e[5]:(c=r?(0,$.jsx)(fe,{className:`h-4 w-4`}):(0,$.jsx)(Je,{className:`h-4 w-4`}),e[4]=r,e[5]=c);let l;e[6]!==a||e[7]!==s||e[8]!==c?(l=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:o,onClick:a,"aria-label":s,children:c})}),e[6]=a,e[7]=s,e[8]=c,e[9]=l):l=e[9];let u=r?`Light mode`:`Dark mode`,d;e[10]===u?d=e[11]:(d=(0,$.jsx)(Fr,{children:u}),e[10]=u,e[11]=d);let f;return e[12]!==l||e[13]!==d?(f=(0,$.jsxs)(Mi,{children:[l,d]}),e[12]=l,e[13]=d,e[14]=f):f=e[14],f}function XA(e,t){let n=e.find(e=>e.projectId===t.projectId);return n?.threads.some(e=>e.threadId===t.threadId)?n:e.find(e=>e.threads.some(e=>e.threadId===t.threadId))}function ZA(){let e=(0,Q.c)(15),t=Ks(),n=Vs(),r=Yn(),i=Gn(),{toast:a}=ic(),{selectWindow:o,revealWindow:s,expandWindow:c,hasOpenWindows:l}=gc(),{setActiveMainTab:u}=mc(),{handleSelectThread:d,refreshProjects:f}=lw(),p;e[0]!==t||e[1]!==c||e[2]!==d||e[3]!==l||e[4]!==i.pathname||e[5]!==r||e[6]!==f||e[7]!==s||e[8]!==o||e[9]!==u||e[10]!==n||e[11]!==a?(p=async function(e){let p=XA(n.getState().projects,e);if(p||=(await f(),XA(n.getState().projects,e)),!p){a({title:`Conversation not found`,description:`Refresh and try again, or check that the project still exists.`,variant:`destructive`});return}if(!p.threads.some(t=>t.threadId===e.threadId)){a({title:`Conversation not found`,description:`This chat’s thread is no longer available.`,variant:`destructive`});return}(i.pathname.startsWith(`/settings`)||i.pathname!==`/`)&&(r(`/`),u(`chat`)),t({type:Y.OpenProjectPanel,projectId:p.projectId});let{selectedThreadId:m}=n.getState();e.threadId!==m&&d(p.projectId,e.threadId),l&&c(Ct);let h=function(e){t({type:Y.SetFocusedPane,paneId:e}),o(e),s(e)},g=n.getState().extraChatPanes,_=Object.entries(g).find(t=>{let[,n]=t;return n.conversationId===e.conversationId})?.[0];if(_){h(_);return}let v=je();t({type:Y.AddChatPane,paneId:v,conversationId:e.conversationId}),o(v),s(v)},e[0]=t,e[1]=c,e[2]=d,e[3]=l,e[4]=i.pathname,e[5]=r,e[6]=f,e[7]=s,e[8]=o,e[9]=u,e[10]=n,e[11]=a,e[12]=p):p=e[12];let m=p,h;return e[13]===m?h=e[14]:(h={openConversation:m},e[13]=m,e[14]=h),h}function QA(e){let t=(0,Q.c)(39),{open:n,onOpenChange:r,feedbackName:i,onFeedbackNameChange:a,feedbackEmail:o,onFeedbackEmailChange:s,feedbackText:c,onFeedbackTextChange:l,loadingFeedbackUser:u,submittingFeedback:d,onSubmit:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Send Feedback`}),(0,$.jsx)(_i,{children:`Share feedback about Tarsk.`})]}),t[0]=p):p=t[0];let m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(da,{htmlFor:`feedback-name`,children:`Name`}),t[1]=m):m=t[1];let h;t[2]===a?h=t[3]:(h=e=>a(e.target.value),t[2]=a,t[3]=h);let g=d||u,_;t[4]!==i||t[5]!==h||t[6]!==g?(_=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[m,(0,$.jsx)(Qo,{id:`feedback-name`,value:i,onChange:h,placeholder:`Your name`,disabled:g})]}),t[4]=i,t[5]=h,t[6]=g,t[7]=_):_=t[7];let v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(da,{htmlFor:`feedback-email`,children:`Email`}),t[8]=v):v=t[8];let y;t[9]===s?y=t[10]:(y=e=>s(e.target.value),t[9]=s,t[10]=y);let b=d||u,x;t[11]!==o||t[12]!==y||t[13]!==b?(x=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[v,(0,$.jsx)(Qo,{id:`feedback-email`,type:`email`,value:o,onChange:y,placeholder:`you@example.com`,disabled:b})]}),t[11]=o,t[12]=y,t[13]=b,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(da,{htmlFor:`feedback-text`,children:`Feedback`}),t[15]=S):S=t[15];let C;t[16]===l?C=t[17]:(C=e=>l(e.target.value),t[16]=l,t[17]=C);let w;t[18]!==c||t[19]!==d||t[20]!==C?(w=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[S,(0,$.jsx)(xw,{id:`feedback-text`,value:c,onChange:C,placeholder:`Tell us what you think...`,className:`min-h-32`,disabled:d})]}),t[18]=c,t[19]=d,t[20]=C,t[21]=w):w=t[21];let T;t[22]!==w||t[23]!==_||t[24]!==x?(T=(0,$.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[_,x,w]}),t[22]=w,t[23]=_,t[24]=x,t[25]=T):T=t[25];let E;t[26]===d?E=t[27]:(E=d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Sending...`]}):`Send`,t[26]=d,t[27]=E);let D;t[28]!==f||t[29]!==d||t[30]!==E?(D=(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{onClick:f,disabled:d,children:E})}),t[28]=f,t[29]=d,t[30]=E,t[31]=D):D=t[31];let O;t[32]!==T||t[33]!==D?(O=(0,$.jsxs)(Ir,{className:`max-w-xl max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100`,children:[p,T,D]}),t[32]=T,t[33]=D,t[34]=O):O=t[34];let k;return t[35]!==r||t[36]!==n||t[37]!==O?(k=(0,$.jsx)(Ni,{open:n,onOpenChange:r,children:O}),t[35]=r,t[36]=n,t[37]=O,t[38]=k):k=t[38],k}function $A({open:e,onOpenChange:t}){let[n,r]=(0,Z.useState)([]),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{if(!e){a(null);return}let t=!1;return s(!0),wo().then(e=>{t||r(e)}).catch(()=>{t||(r([]),ac({title:`Unable to load processes`,description:`The CLI process list could not be loaded.`,variant:`destructive`}))}).finally(()=>{t||s(!1)}),()=>{t=!0}},[e]);async function u(){if(i){l(!0);try{await ti(i),r(e=>e.filter(e=>e.id!==i)),a(null)}catch{ac({title:`Unable to kill process`,description:`The process may have already exited.`,variant:`destructive`}),r(await wo().catch(()=>[])),a(null)}finally{l(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Processes`}),(0,$.jsx)(_i,{children:`Select a process started by Tarsk to terminate it.`})]}),(0,$.jsx)(`div`,{className:`max-h-80 overflow-y-auto rounded-md border`,role:`listbox`,children:o?(0,$.jsxs)(`div`,{className:G(U.bodyMuted,`flex items-center justify-center gap-2 py-10`),children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Loading processes...`]}):n.length===0?(0,$.jsx)(`div`,{className:G(U.bodyMuted,`py-10 text-center`),children:`No processes started by Tarsk are running.`}):n.map(e=>{let t=e.id===i;return(0,$.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:G(`flex w-full flex-col gap-1 border-b px-4 py-3 text-left transition-colors last:border-b-0`,t?`bg-accent text-accent-foreground`:`can-hover:hover:bg-muted/50`),onClick:()=>a(e.id),children:[(0,$.jsx)(`span`,{className:G(U.label,`break-all font-mono select-text`),children:e.command}),(0,$.jsxs)(`span`,{className:G(U.caption,`break-all select-text`),children:[`PID `,e.pid,e.cwd?` · ${e.cwd}`:``]})]},e.id)})}),(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{variant:`destructive`,disabled:!i||o||c,onClick:()=>void u(),children:c?`Killing...`:`Kill`})})]})})}var ej=Ut(`auth`);async function tj(e){await is(`api/auth/request-code`,{email:e})}async function nj(e,t){return is(`api/auth/verify`,{email:e,code:t})}async function rj(e){try{await is(`api/auth/revoke`,{token:e})}catch(e){ej.error(`Failed to revoke auth token:`,e)}}async function ij(){try{return(await Va(`api/auth/session`)).session??null}catch(e){return ej.error(`Failed to load auth session:`,e),null}}async function aj(e){await is(`api/auth/session`,e)}async function oj(){await is(`api/auth/logout`,{})}var sj=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function cj({open:e,onOpenChange:t,onVerified:n}){let[r,a]=(0,Z.useState)(`email`),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1);function g(){a(`email`),l(``),d(null),p(!1),h(!1)}async function _(e){e.preventDefault();let t=o.trim().toLowerCase();if(!sj.test(t)){d(`Please enter a valid email address.`);return}d(null),p(!0);try{await tj(t),s(t),a(`code`)}catch(e){d(e instanceof Error?e.message:`Failed to send verification code.`)}finally{p(!1)}}async function v(e){if(!(e.length<6)){h(!0),d(null);try{let r=await nj(o,e);await n({token:r.token,expiresAt:r.expires_at,email:r.email,jti:r.jti}),t(!1),g()}catch(e){d(e instanceof Error?e.message:`That code didn't work. Try again.`),l(``)}finally{h(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:e=>{e||g(),t(e)},children:(0,$.jsxs)(Ir,{className:`max-w-md`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:r===`email`?`Log in`:`Check your email`}),(0,$.jsx)(_i,{children:r===`email`?`Enter your email and we'll send you a verification code.`:`We sent a 6-digit code to ${o}.`})]}),r===`email`?(0,$.jsxs)(`form`,{onSubmit:e=>void _(e),className:`grid gap-4 py-2`,children:[(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`login-email`,children:`Email`}),(0,$.jsx)(Qo,{id:`login-email`,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:o,onChange:e=>s(e.target.value),disabled:f})]}),u?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:u}):null,(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{type:`submit`,disabled:f||!o.trim(),children:f?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Sending...`]}):`Next`})})]}):(0,$.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[(0,$.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,$.jsx)(Bt,{maxLength:6,value:c,onChange:v,disabled:m,autoFocus:!0,children:(0,$.jsxs)(wt,{children:[(0,$.jsx)(Ft,{index:0}),(0,$.jsx)(Ft,{index:1}),(0,$.jsx)(Ft,{index:2}),(0,$.jsx)(Ft,{index:3}),(0,$.jsx)(Ft,{index:4}),(0,$.jsx)(Ft,{index:5})]})})}),u?(0,$.jsx)(`p`,{className:`text-center text-sm text-destructive`,role:`alert`,children:u}):null,(0,$.jsxs)(Xa,{className:`justify-between sm:justify-between`,children:[(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,onClick:()=>{a(`email`),l(``),d(null)},disabled:m,children:[(0,$.jsx)(i,{className:`h-4 w-4`}),`Back`]}),m?(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Verifying...`]}):null]})]})]})})}function lj(e){let t=(0,Q.c)(13),{stepNumber:n,currentStep:r,canGoToStep:i,onGoToStep:a}=e,o;t[0]!==i||t[1]!==a||t[2]!==n?(o=()=>i(n)&&a(n),t[0]=i,t[1]=a,t[2]=n,t[3]=o):o=t[3];let s=r===n?`scale-110 bg-primary text-primary-foreground`:r>n?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,c;t[4]!==i||t[5]!==n||t[6]!==s?(c=G(`flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-colors transition-transform duration-300 ease-out`,U.body,s,i(n)&&`cursor-pointer hover:opacity-90`),t[4]=i,t[5]=n,t[6]=s,t[7]=c):c=t[7];let l=`Go to step ${n}`,u;return t[8]!==n||t[9]!==o||t[10]!==c||t[11]!==l?(u=(0,$.jsx)(`button`,{type:`button`,onClick:o,className:c,"aria-label":l,children:n}),t[8]=n,t[9]=o,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function uj(e){let t=(0,Q.c)(2),{filled:n}=e,r=n?`100%`:`0%`,i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(`div`,{className:`relative h-0.5 min-w-0 flex-1 overflow-hidden rounded-full bg-muted`,children:(0,$.jsx)(`div`,{className:`absolute inset-y-0 left-0 rounded-full bg-brand transition-[width] duration-300 ease-out`,style:{width:r}})}),t[0]=r,t[1]=i),i}function dj(e){let t=(0,Q.c)(14),{currentStep:n,canGoToStep:r,onGoToStep:i}=e,a;t[0]!==r||t[1]!==n||t[2]!==i?(a=(0,$.jsx)(lj,{stepNumber:1,currentStep:n,canGoToStep:r,onGoToStep:i}),t[0]=r,t[1]=n,t[2]=i,t[3]=a):a=t[3];let o=n>=2,s;t[4]===o?s=t[5]:(s=(0,$.jsx)(uj,{filled:o}),t[4]=o,t[5]=s);let c;t[6]!==r||t[7]!==n||t[8]!==i?(c=(0,$.jsx)(lj,{stepNumber:2,currentStep:n,canGoToStep:r,onGoToStep:i}),t[6]=r,t[7]=n,t[8]=i,t[9]=c):c=t[9];let l;return t[10]!==a||t[11]!==s||t[12]!==c?(l=(0,$.jsxs)(`div`,{className:`mx-auto mb-6 flex w-2/3 items-center gap-1`,children:[a,s,c]}),t[10]=a,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}var fj={session:null,isLoading:!0},pj=new Set;function mj(){for(let e of pj)e()}function hj(){return fj}function gj(e){return pj.add(e),()=>pj.delete(e)}var _j=null;function vj(){return _j||=ij().then(e=>{fj={session:e,isLoading:!1}}).catch(()=>{fj={session:null,isLoading:!1}}).finally(()=>{mj()}),_j}function yj(){let e=(0,Q.c)(4),{session:t,isLoading:n}=(0,Z.useSyncExternalStore)(gj,hj),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0],(0,Z.useEffect)(Sj,r);let i=xj,a=bj,o;return e[1]!==n||e[2]!==t?(o={session:t,isLoading:n,login:i,logout:a},e[1]=n,e[2]=t,e[3]=o):o=e[3],o}async function bj(){let e=fj.session?.token;e&&await rj(e),await oj(),fj={session:null,isLoading:!1},mj()}async function xj(e){await aj(e),fj={session:e,isLoading:!1},mj()}function Sj(){vj()}function Cj(e){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),a=(0,Z.useCallback)(async()=>{if(!e){i(!1);return}i(!0);try{let t=await Aa(e);n(Object.entries(t.servers??{}).map(([e,t])=>({name:e,config:t})))}catch{n([])}finally{i(!1)}},[e]);return(0,Z.useLayoutEffect)(()=>{e&&i(!0)},[e]),(0,Z.useEffect)(()=>{a()},[a]),{installedServers:t,loadingConfig:r,loadInstalledServers:a}}function wj(){let e=(0,Q.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),[i,a]=(0,Z.useState)(!0),o,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{a(!0),ua().then(r).catch(()=>r([])).finally(()=>a(!1))},s=[],e[1]=o,e[2]=s):(o=e[1],s=e[2]),(0,Z.useEffect)(o,s);let c;return e[3]!==i||e[4]!==n?(c={popularServers:n,loadingPopular:i},e[3]=i,e[4]=n,e[5]=c):c=e[5],c}async function Tj(e,t,n){await fo(e,t,n)}async function Ej(e,t){await ma(e,t)}function Dj(e){let t=[];function n(e){for(let r of e){if(r.path===`.agents/skills`&&r.type===`folder`&&r.children)for(let e of r.children)e.type===`folder`&&t.push({id:`skill:${e.path}`,name:e.name});r.children&&n(r.children)}}return n(e),t.sort((e,t)=>e.name.localeCompare(t.name))}function Oj(e){return e.url?e.url:`${e.command??``} ${e.args?.join(` `)??``}`.trim()||void 0}function kj(e){return(e??``).trim().toLowerCase().replace(/[^a-z0-9.-]+/g,`-`).replace(/-{2,}/g,`-`).replace(/\.{2,}/g,`.`).replace(/^[^a-z0-9]+|[^a-z0-9]+$/g,``)}function Aj(e){return e.split(`-`).map(e=>e&&e[0].toUpperCase()+e.slice(1)).join(` `)}function jj(e,t){return t.length===1?`${Aj(t[0].name)} plugin`:e?`${Aj(e)} Plugins`:``}function Mj(e,t){let n=[];return e.length>0&&n.push(`skills: ${e.join(`, `)}`),t.length>0&&n.push(`MCP servers: ${t.join(`, `)}`),n.length===0?``:`Includes ${n.join(`; `)}.`}function Nj(e){return e.length?e.slice(0,3).map(e=>e.path?`${e.path}: ${e.message}`:e.message).join(`; `):`Check the validation details.`}function Pj(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=typeof r.result==`string`?r.result:``,n=e.indexOf(`,`);t(n>=0?e.slice(n+1):e)},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function Fj(e,t){if(Pr()){await is(`/api/file/save`,{name:t,data:await Pj(e)});return}let n=window.showSaveFilePicker;if(typeof n==`function`)try{let r=await(await n({suggestedName:t})).createWritable();await r.write(e),await r.close();return}catch(e){e instanceof Error&&e.name!==`AbortError`&&console.error(`Save file picker failed:`,e)}let r=URL.createObjectURL(e),i=document.createElement(`a`);i.href=r,i.download=t,i.rel=`noopener`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}function Ij(e){let t=(0,Q.c)(19),{item:n,checked:r,onCheckedChange:i}=e,a=`${r?`Include`:`Exclude`} ${n.name}`,o;t[0]!==r||t[1]!==i||t[2]!==a?(o=(0,$.jsx)(ix,{value:r,onChange:i,ariaLabel:a}),t[0]=r,t[1]=i,t[2]=a,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==i?(s=()=>i(!r),t[4]=r,t[5]=i,t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=G(U.body,`truncate`),t[7]=c):c=t[7];let l;t[8]===n.name?l=t[9]:(l=(0,$.jsx)(`div`,{className:c,children:n.name}),t[8]=n.name,t[9]=l);let u;t[10]===n.detail?u=t[11]:(u=n.detail?(0,$.jsx)(`div`,{className:G(U.compact,`truncate font-mono text-muted-foreground`),children:n.detail}):null,t[10]=n.detail,t[11]=u);let d;t[12]!==s||t[13]!==l||t[14]!==u?(d=(0,$.jsxs)(`button`,{type:`button`,onClick:s,className:`min-w-0 text-left`,children:[l,u]}),t[12]=s,t[13]=l,t[14]=u,t[15]=d):d=t[15];let f;return t[16]!==o||t[17]!==d?(f=(0,$.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[o,d]}),t[16]=o,t[17]=d,t[18]=f):f=t[18],f}function Lj(e){let t=(0,Q.c)(25),{title:n,count:r,allSelected:i,onToggleAll:a,open:o,onOpenChange:s,children:c}=e,l=`${i?`Include`:`Exclude`} ${n}`,u;t[0]!==i||t[1]!==a||t[2]!==l?(u=(0,$.jsx)(ix,{value:i,onChange:a,ariaLabel:l}),t[0]=i,t[1]=a,t[2]=l,t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=G(U.label,`flex-1 truncate text-left`),t[4]=d):d=t[4];let f;t[5]!==r||t[6]!==n?(f=(0,$.jsxs)(`span`,{className:d,children:[r,` `,n]}),t[5]=r,t[6]=n,t[7]=f):f=t[7];let p=o&&`rotate-180`,m;t[8]===p?m=t[9]:(m=G(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,p),t[8]=p,t[9]=m);let h;t[10]===m?h=t[11]:(h=(0,$.jsx)(tn,{className:m}),t[10]=m,t[11]=h);let g;t[12]!==f||t[13]!==h?(g=(0,$.jsxs)(Cb,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[f,h]}),t[12]=f,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==u||t[16]!==g?(_=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[u,g]}),t[15]=u,t[16]=g,t[17]=_):_=t[17];let v;t[18]===c?v=t[19]:(v=(0,$.jsx)(wb,{children:(0,$.jsx)(`div`,{className:`mt-2 divide-y divide-table-border`,children:c})}),t[18]=c,t[19]=v);let y;return t[20]!==s||t[21]!==o||t[22]!==v||t[23]!==_?(y=(0,$.jsx)(`section`,{className:`border-b border-border pb-3`,children:(0,$.jsxs)(Sb,{open:o,onOpenChange:s,children:[_,v]})}),t[20]=s,t[21]=o,t[22]=v,t[23]=_,t[24]=y):y=t[24],y}function Rj({open:e,onOpenChange:t}){let{session:n,login:r,logout:i}=yj(),a=X(e=>e.selectedProjectId),o=X(e=>e.projects).find(e=>e.projectId===a),s=o?Ke(o):void 0,{installedServers:c,loadingConfig:l}=Cj(o?.projectPath),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)([]),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(new Set),[O,k]=(0,Z.useState)(!1),[A,j]=(0,Z.useState)(``),[M,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(``),[I,L]=(0,Z.useState)(!1),[R,z]=(0,Z.useState)(`1.0.0`),[B,V]=(0,Z.useState)(1);(0,Z.useEffect)(()=>{let e=!1;return a?(x(!0),ro(a).then(t=>{e||y(Dj(t))}).catch(()=>{e||y([])}).finally(()=>{e||x(!1)}),()=>{e=!0}):(y([]),x(!1),()=>{e=!0})},[a]);let H=c.map(e=>({id:`mcp:${e.name}`,name:e.name,detail:Oj(e.config)})).sort((e,t)=>e.name.localeCompare(t.name)),ee=[...v,...H],te=ee.map(e=>e.id),ne=v.length>0&&v.every(e=>E.has(e.id)),re=H.length>0&&H.every(e=>E.has(e.id)),ie=v.filter(e=>E.has(e.id)).map(e=>e.name),ae=H.filter(e=>E.has(e.id)).map(e=>e.name),oe=kj(A),se=kj(s?O?`${s} source code`:`${s} Plugins`:``),ce=ee.length>0||O,le=!b&&!l&&ee.length>0,ue=!b&&!l&&ce&&!!se,de=oe.length>0&&!!a;function fe(e){return e===1?B===2:le&&!O}function pe(e){V(e)}function me(){B===2?V(1):t(!1)}(0,Z.useEffect)(()=>{e&&(D(new Set(te)),k(!1),V(1),j(jj(s,ee)),N(!1),L(!1),z(`1.0.0`))},[e,a,v,c]),(0,Z.useEffect)(()=>{!e||M||j(jj(s,[...v.filter(e=>E.has(e.id)),...H.filter(e=>E.has(e.id))]))},[e,M,s,v,H,E]),(0,Z.useEffect)(()=>{!e||I||F(Mj(ie,ae))},[e,ie,ae,I]);function he(e,t){D(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),t&&k(!1)}function ge(e){D(t=>{let n=new Set(t);for(let t of v)e?n.add(t.id):n.delete(t.id);return n}),e&&k(!1)}function _e(e){D(t=>{let n=new Set(t);for(let t of H)e?n.add(t.id):n.delete(t.id);return n}),e&&k(!1)}function ve(e){k(e),e&&(D(new Set),C(!1),T(!1))}async function ye(){if(!(!a||!se)){p(!0);try{await Fj(await pi(a,{skillNames:ie,mcpServerNames:ae,includeSourceCode:O,manifest:{name:se,description:Mj(ie,ae),version:`1.0.0`}}),`${se}.zip`),ac({title:`Saved ${se}.zip`,description:`The plugin package was saved.`})}catch(e){ac({title:`Failed to export plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function be(){if(!(!a||!de)){if(!n){d(!0);return}p(!0);try{let e=await kr(a,{skillNames:ie,mcpServerNames:ae,manifest:{name:oe,description:P.trim(),version:R.trim(),private:!0}});e.valid?(e.url&&(h(e.url),_(!1)),t(!1)):ac({title:`Plugin failed validation`,description:Nj(e.errors),variant:`destructive`})}catch(e){ac({title:`Failed to share plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function xe(){if(m)try{await navigator.clipboard.writeText(m),_(!0),ac({title:`Copied`,description:`Plugin link copied to clipboard.`}),window.setTimeout(()=>_(!1),1500)}catch(e){ac({title:`Copy failed`,description:e instanceof Error?e.message:`Could not copy the plugin link.`,variant:`destructive`})}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex h-[min(42rem,90dvh)] max-w-2xl flex-col overflow-hidden p-0`,children:[(0,$.jsxs)(`div`,{className:`px-6 pb-2 pt-6`,children:[(0,$.jsx)(dj,{currentStep:B,canGoToStep:fe,onGoToStep:pe}),(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:B===1?`Share`:`Share Plugin`}),(0,$.jsx)(_i,{children:B===1?`Select the project tools to include.`:`Add a name and description for your plugin.`})]})]}),B===1?(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:b||l?(0,$.jsxs)(`div`,{className:`flex items-center justify-center px-6 py-8 text-muted-foreground`,children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Loading project tools...`]}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:[ee.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Lj,{title:`Skills`,count:v.length,allSelected:ne,onToggleAll:ge,open:S,onOpenChange:C,children:v.length>0?v.map(e=>(0,$.jsx)(Ij,{item:e,checked:E.has(e.id),onCheckedChange:t=>he(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(U.bodyMuted,`py-2`),children:`No skills configured.`})}),(0,$.jsx)(Lj,{title:`MCP Servers`,count:H.length,allSelected:re,onToggleAll:_e,open:w,onOpenChange:T,children:H.length>0?H.map(e=>(0,$.jsx)(Ij,{item:e,checked:E.has(e.id),onCheckedChange:t=>he(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(U.bodyMuted,`py-2`),children:`No MCP servers configured.`})})]}),(0,$.jsx)(`section`,{className:`border-b border-border pb-3`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(ix,{value:O,onChange:ve,ariaLabel:O?`Exclude Source Code`:`Include Source Code`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>ve(!O),className:`min-w-0 flex-1 text-left`,children:(0,$.jsx)(`span`,{className:G(U.label,`truncate`),children:`Source Code`})})]})})]})}):(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 px-6 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginName`,children:`Plugin name`}),(0,$.jsx)(Qo,{id:`pluginName`,placeholder:`my-plugin`,value:A,onChange:e=>{N(!0),j(e.target.value)},onKeyDown:e=>e.key===`Enter`&&de&&!f&&void be(),autoFocus:!0,className:`w-full`}),(0,$.jsxs)(`p`,{className:G(U.bodyMuted,U.caption),children:[`Slug: `,oe||`my-plugin`]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginDescription`,children:`Description`}),(0,$.jsx)(Qo,{id:`pluginDescription`,placeholder:`What this plugin provides`,value:P,onChange:e=>{L(!0),F(e.target.value)},className:`w-full`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginVersion`,children:`Version`}),(0,$.jsx)(Qo,{id:`pluginVersion`,placeholder:`1.0.0`,value:R,onChange:e=>z(e.target.value),className:`w-full`})]})]})}),B===2?(0,$.jsx)(`div`,{className:`px-6 pb-3`,children:n?(0,$.jsxs)(`p`,{className:G(U.compact,`flex items-center gap-2 text-muted-foreground`),children:[`Sharing as `,(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:n.email}),(0,$.jsx)(Hr,{type:`button`,variant:`link`,size:`sm`,onClick:()=>void i(),children:`Log out`})]}):(0,$.jsx)(`p`,{className:G(U.compact,`text-primary`),children:`To share your plugin you will need to verify your email address next.`})}):null,(0,$.jsx)(`div`,{className:`flex min-h-[4.5rem] flex-col justify-end border-t border-border bg-muted/10 px-6 py-4`,children:(0,$.jsxs)(Xa,{className:`flex-col gap-3 sm:flex-row sm:justify-end sm:space-x-0`,children:[(0,$.jsx)(`div`,{className:`flex flex-1 items-center gap-2`,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,onClick:me,children:B===1?`Cancel`:`Back`})}),B===1?(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Hr,{type:`button`,variant:`outline`,onClick:()=>void ye(),disabled:!ue||f,children:`Download`}),(0,$.jsx)(Hr,{type:`button`,onClick:()=>V(2),disabled:!le||O,children:`Next >`})]}):(0,$.jsxs)(Hr,{type:`button`,onClick:()=>void be(),disabled:!de||f,children:[f?(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}):null,`Share`]})]})})]})}),(0,$.jsx)(Ni,{open:m!==null,onOpenChange:e=>!e&&h(null),children:(0,$.jsxs)(Ir,{className:`max-w-xl`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Plugin shared`}),(0,$.jsx)(_i,{children:`Your plugin is published at the URL below. Copy it to share with others.`})]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:G(U.label,`text-muted-foreground`),children:`Plugin URL`}),(0,$.jsxs)(`div`,{className:`relative min-w-0 rounded-md border bg-muted/40 px-3 py-2`,children:[(0,$.jsx)(`a`,{href:m??void 0,target:`_blank`,rel:`noreferrer`,className:G(`block min-w-0 truncate pr-8 text-primary underline underline-offset-2 hover:text-primary/80`),children:m}),(0,$.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2`,children:(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>void xe(),"aria-label":`Copy plugin URL`,className:`shrink-0`,children:g?(0,$.jsx)(W,{className:`h-4 w-4`}):(0,$.jsx)(Ze,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:g?`Copied`:`Copy`})]})})})]})]}),(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{type:`button`,onClick:()=>h(null),children:`Done`})})]})}),(0,$.jsx)(cj,{open:u,onOpenChange:d,onVerified:e=>r(e)})]})}function zj(){let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1);return(0,Z.useEffect)(()=>{if(!e)return;let t=!0;return l(!0),ea().then(e=>{t&&(r(t=>t||e.name),a(t=>t||e.email))}).catch(()=>{t&&ac({title:`Could not load git details`,description:`You can still submit feedback by entering your name and email manually.`,variant:`destructive`})}).finally(()=>{t&&l(!1)}),()=>{t=!1}},[e]),{showFeedback:e,feedbackName:n,setFeedbackName:r,feedbackEmail:i,setFeedbackEmail:a,feedbackText:o,setFeedbackText:s,loadingFeedbackUser:c,submittingFeedback:u,handleFeedbackDialogChange:e=>{t(e),e||s(``)},handleSubmitFeedback:async()=>{let e=o.trim();if(!e){ac({title:`Feedback required`,description:`Please enter your feedback before submitting.`,variant:`destructive`});return}d(!0);try{await is(`api/feedback`,{name:n.trim(),email:i.trim(),feedback:e}),ac({title:`Feedback sent`,description:`Thanks for sharing your feedback.`}),s(``),t(!1)}catch(e){ac({title:`Failed to send feedback`,description:e instanceof Error?e.message:`Please try again.`,variant:`destructive`})}finally{d(!1)}}}}function Bj(){let e=(0,Q.c)(93),t=Yn(),n=Ks(),r=gC(),{openConversation:i}=ZA(),a=X(Hj),o=X(Vj),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),m;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],e[0]=m):m=e[0];let[h,g]=(0,Z.useState)(m),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(!1),{showFeedback:S,feedbackName:C,setFeedbackName:w,feedbackEmail:T,setFeedbackEmail:E,feedbackText:D,setFeedbackText:O,loadingFeedbackUser:k,submittingFeedback:j,handleFeedbackDialogChange:M,handleSubmitFeedback:N}=zj(),P;if(e[1]!==o||e[2]!==a){let t;e[4]===a?t=e[5]:(t=e=>e.projectId===a,e[4]=a,e[5]=t),P=o.find(t),e[1]=o,e[2]=a,e[3]=P}else P=e[3];let F=P,I;e[6]===F?.commands?I=e[7]:(I=F?.commands??[],e[6]=F?.commands,e[7]=I);let L=I,R;if(e[8]!==_){let t=function(){_||Go(20).then(e=>{g(e.conversations??[]),v(!0)}).catch(()=>{v(!1)})};R=function(e){b(e),e&&t()},e[8]=_,e[9]=R}else R=e[9];let z=R,B=r?`ghost`:`outline`,V=r?nl:`border-transparent`,H;e[10]===V?H=e[11]:(H=G(`h-8 w-8 px-0`,V),e[10]=V,e[11]=H);let ee;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(Dt,{className:`h-4 w-4`}),e[12]=ee):ee=e[12];let ne;e[13]!==B||e[14]!==H?(ne=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:B,size:`sm`,className:H,"aria-label":`More options`,children:ee})})}),e[13]=B,e[14]=H,e[15]=ne):ne=e[15];let re;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Fr,{children:`More options`}),e[16]=re):re=e[16];let ie;e[17]===ne?ie=e[18]:(ie=(0,$.jsxs)(Mi,{children:[ne,re]}),e[17]=ne,e[18]=ie);let ae;e[19]!==z||e[20]!==_||e[21]!==y||e[22]!==t||e[23]!==i||e[24]!==h||e[25]!==a?(ae=a?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(wl,{className:U.body,children:`Project`}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>void t(`/settings/project/${a}`),children:[(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),`Settings`]}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>c(!0),children:[(0,$.jsx)(A,{className:`h-4 w-4 shrink-0`}),`Commands`]}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>f(!0),children:[(0,$.jsx)(p,{className:`h-4 w-4 shrink-0`}),`Share`]}),(0,$.jsxs)(_l,{open:y,onOpenChange:z,children:[(0,$.jsxs)(vl,{className:G(U.body,`gap-2`),children:[(0,$.jsx)(bt,{className:`h-4 w-4 shrink-0`}),`History`]}),(0,$.jsx)(yl,{className:`w-96 max-h-80 overflow-y-auto`,children:_?h.length===0?(0,$.jsx)(xl,{disabled:!0,className:U.bodyMuted,children:`No recent conversations`}):h.map(e=>(0,$.jsxs)(xl,{className:G(U.body,`gap-2 cursor-pointer`),onSelect:()=>i(e),children:[(0,$.jsx)(At,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.title}),(0,$.jsx)(`span`,{className:G(U.bodyMuted,`ml-auto shrink-0 tabular-nums`),children:K(e.lastMessageAt)})]},e.conversationId)):(0,$.jsx)(xl,{disabled:!0,className:U.bodyMuted,children:`Loading...`})})]})]}):null,e[19]=z,e[20]=_,e[21]=y,e[22]=t,e[23]=i,e[24]=h,e[25]=a,e[26]=ae):ae=e[26];let oe,se;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Tl,{}),se=(0,$.jsx)(wl,{className:U.body,children:`General`}),e[27]=oe,e[28]=se):(oe=e[27],se=e[28]);let ce;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(ce=G(U.body,`gap-2`),e[29]=ce):ce=e[29];let le;e[30]===t?le=e[31]:(le=()=>void t(`/settings/general`),e[30]=t,e[31]=le);let ue;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),e[32]=ue):ue=e[32];let W;e[33]===le?W=e[34]:(W=(0,$.jsxs)(xl,{className:ce,onSelect:le,children:[ue,`Settings`]}),e[33]=le,e[34]=W);let de;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(de=G(U.body,`gap-2`),e[35]=de):de=e[35];let fe;e[36]===t?fe=e[37]:(fe=()=>void t(`/settings/providers`),e[36]=t,e[37]=fe);let pe;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(Kt,{className:`h-4 w-4 shrink-0`}),e[38]=pe):pe=e[38];let me;e[39]===fe?me=e[40]:(me=(0,$.jsxs)(xl,{className:de,onSelect:fe,children:[pe,`Providers`]}),e[39]=fe,e[40]=me);let he;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(he=G(U.body,`gap-2`),e[41]=he):he=e[41];let ge;e[42]===t?ge=e[43]:(ge=()=>void t(`/settings/account`),e[42]=t,e[43]=ge);let _e;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(ot,{className:`h-4 w-4 shrink-0`}),e[44]=_e):_e=e[44];let ve;e[45]===ge?ve=e[46]:(ve=(0,$.jsxs)(xl,{className:he,onSelect:ge,children:[_e,`Account`]}),e[45]=ge,e[46]=ve);let ye;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(ye=G(U.body,`gap-2`),e[47]=ye):ye=e[47];let be;e[48]===M?be=e[49]:(be=()=>M(!0),e[48]=M,e[49]=be);let xe;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(At,{className:`h-4 w-4 shrink-0`}),e[50]=xe):xe=e[50];let Se;e[51]===be?Se=e[52]:(Se=(0,$.jsxs)(xl,{className:ye,onSelect:be,children:[xe,`Feedback`]}),e[51]=be,e[52]=Se);let Ce;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Tl,{}),e[53]=Ce):Ce=e[53];let we;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>u(!0),children:[(0,$.jsx)(te,{className:`h-4 w-4 shrink-0`}),`Processes`]}),e[54]=we):we=e[54];let Te;e[55]!==ae||e[56]!==W||e[57]!==me||e[58]!==ve||e[59]!==Se?(Te=(0,$.jsxs)(bl,{align:`end`,className:`w-52`,children:[ae,oe,se,W,me,ve,Se,Ce,we]}),e[55]=ae,e[56]=W,e[57]=me,e[58]=ve,e[59]=Se,e[60]=Te):Te=e[60];let Ee;e[61]!==ie||e[62]!==Te?(Ee=(0,$.jsxs)(hl,{children:[ie,Te]}),e[61]=ie,e[62]=Te,e[63]=Ee):Ee=e[63];let De;e[64]!==L||e[65]!==n||e[66]!==a||e[67]!==s?(De=a?(0,$.jsx)(ww,{open:s,onOpenChange:c,projectId:a,commands:L,onRefresh:()=>n({type:Y.ConfigUpdated})}):null,e[64]=L,e[65]=n,e[66]=a,e[67]=s,e[68]=De):De=e[68];let Oe;e[69]===l?Oe=e[70]:(Oe=(0,$.jsx)($A,{open:l,onOpenChange:u}),e[69]=l,e[70]=Oe);let ke;e[71]===d?ke=e[72]:(ke=(0,$.jsx)(Rj,{open:d,onOpenChange:f}),e[71]=d,e[72]=ke);let Ae;e[73]===N?Ae=e[74]:(Ae=()=>void N(),e[73]=N,e[74]=Ae);let je;e[75]!==T||e[76]!==C||e[77]!==D||e[78]!==M||e[79]!==k||e[80]!==E||e[81]!==w||e[82]!==O||e[83]!==S||e[84]!==j||e[85]!==Ae?(je=(0,$.jsx)(QA,{open:S,onOpenChange:M,feedbackName:C,onFeedbackNameChange:w,feedbackEmail:T,onFeedbackEmailChange:E,feedbackText:D,onFeedbackTextChange:O,loadingFeedbackUser:k,submittingFeedback:j,onSubmit:Ae}),e[75]=T,e[76]=C,e[77]=D,e[78]=M,e[79]=k,e[80]=E,e[81]=w,e[82]=O,e[83]=S,e[84]=j,e[85]=Ae,e[86]=je):je=e[86];let Me;return e[87]!==Ee||e[88]!==De||e[89]!==Oe||e[90]!==ke||e[91]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Ee,De,Oe,ke,je]}),e[87]=Ee,e[88]=De,e[89]=Oe,e[90]=ke,e[91]=je,e[92]=Me):Me=e[92],Me}function Vj(e){return e.projects}function Hj(e){return e.selectedProjectId}function Uj(e){let t=(0,Q.c)(3),{children:n,className:r}=e,i=`flex items-center gap-2 rounded-full shadow-md ${r===void 0?``:r}`,a;return t[0]!==n||t[1]!==i?(a=(0,$.jsx)(`div`,{className:i,children:n}),t[0]=n,t[1]=i,t[2]=a):a=t[2],a}function Wj(e){let t=(0,Q.c)(12),{className:n}=e,r=Yn(),i;t[0]===n?i=t[1]:(i=G(`h-8 w-8 text-muted-foreground shrink-0`,n),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=()=>void r(`/settings/general`),t[2]=r,t[3]=a);let o,s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(x,{className:`h-4 w-4`}),s=(0,$.jsx)(`span`,{className:`sr-only`,children:`Settings`}),t[4]=o,t[5]=s):(o=t[4],s=t[5]);let c;t[6]!==i||t[7]!==a?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:i,onClick:a,children:[o,s]})}),t[6]=i,t[7]=a,t[8]=c):c=t[8];let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Settings`}),t[9]=l):l=t[9];let u;return t[10]===c?u=t[11]:(u=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[10]=c,t[11]=u),u}function Gj(e){let t=(0,Q.c)(15),{className:n}=e,r=Yn(),i=X(Kj),a=gC(),o=a?`ghost`:`outline`,s=a?nl:`border-transparent text-muted-foreground`,c;t[0]!==n||t[1]!==s?(c=G(`h-8 w-8 shrink-0`,s,n),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l;t[3]!==r||t[4]!==i?(l=()=>void r(`/settings/project/${i}`),t[3]=r,t[4]=i,t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),d=(0,$.jsx)(`span`,{className:`sr-only`,children:`Project Settings`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f;t[8]!==o||t[9]!==c||t[10]!==l?(f=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:o,size:`icon`,className:c,onClick:l,children:[u,d]})}),t[8]=o,t[9]=c,t[10]=l,t[11]=f):f=t[11];let p;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Fr,{children:`Project Settings`}),t[12]=p):p=t[12];let m;return t[13]===f?m=t[14]:(m=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[13]=f,t[14]=m),m}function Kj(e){return e.selectedProjectId}function qj(e){let t=(0,Q.c)(10),{showingProjectDetails:n,onBackToProjects:r}=e,i=n?nl:`text-muted-foreground`,a;t[0]===i?a=t[1]:(a=G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,i),t[0]=i,t[1]=a);let o,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(H,{className:`h-4 w-4`}),s=(0,$.jsx)(`span`,{className:`sr-only`,children:`Back to projects`}),t[2]=o,t[3]=s):(o=t[2],s=t[3]);let c;t[4]!==r||t[5]!==a?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:a,onClick:r,children:[o,s]})}),t[4]=r,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Projects`}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[8]=c,t[9]=u),u}function Jj(e){let t=(0,Q.c)(14),{project:n,showingProjectDetails:r}=e,i;t[0]!==n||t[1]!==r?(i=r?null:(0,$.jsx)(Yc,{project:n,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=r?U.body:U.sectionTitle,o=!r&&`text-foreground`,s;t[3]!==a||t[4]!==o?(s=G(a,`truncate min-w-0`,o),t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;t[6]===n?c=t[7]:(c=Ke(n),t[6]=n,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,$.jsx)(`span`,{className:s,children:c}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;return t[11]!==i||t[12]!==l?(u=(0,$.jsxs)($.Fragment,{children:[i,l]}),t[11]=i,t[12]=l,t[13]=u):u=t[13],u}function Yj(e){let t=(0,Q.c)(27),{selectedProject:n,showingProjectDetails:r,sortedProjects:i,selectedProjectId:a,useDropdown:s,onSelectProject:c}=e;if(!s){let e;return t[0]!==n||t[1]!==r?(e=(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,children:(0,$.jsx)(Jj,{project:n,showingProjectDetails:r})}),t[0]=n,t[1]=r,t[2]=e):e=t[2],e}let l;t[3]!==n||t[4]!==r?(l=(0,$.jsx)(Jj,{project:n,showingProjectDetails:r}),t[3]=n,t[4]=r,t[5]=l):l=t[5];let u=r?`scenic-foreground-muted`:`text-muted-foreground`,d;t[6]===u?d=t[7]:(d=G(`h-4 w-4 shrink-0`,u),t[6]=u,t[7]=d);let f;t[8]===d?f=t[9]:(f=(0,$.jsx)(tn,{className:d}),t[8]=d,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`sr-only`,children:`Switch project`}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==f?(m=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 max-w-full items-center gap-1 rounded-md px-1.5 py-0.5 text-left outline-none transition-colors can-hover:hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring electrobun-webkit-app-region-no-drag`,children:[l,f,p]})}),t[11]=l,t[12]=f,t[13]=m):m=t[13];let h=r?`center`:`start`,g;if(t[14]!==c||t[15]!==a||t[16]!==i){let e;t[18]!==c||t[19]!==a?(e=e=>{let t=e.gitUrl?o:ce,n=e.projectId===a;return(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>c?.(e.projectId),children:[(0,$.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Ke(e)}),n?(0,$.jsx)(W,{className:`ml-auto h-4 w-4 shrink-0`}):null]},e.projectId)},t[18]=c,t[19]=a,t[20]=e):e=t[20],g=i.map(e),t[14]=c,t[15]=a,t[16]=i,t[17]=g}else g=t[17];let _;t[21]!==h||t[22]!==g?(_=(0,$.jsx)(bl,{align:h,collisionPadding:12,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-64 overflow-y-auto`,children:g}),t[21]=h,t[22]=g,t[23]=_):_=t[23];let v;return t[24]!==m||t[25]!==_?(v=(0,$.jsxs)(hl,{children:[m,_]}),t[24]=m,t[25]=_,t[26]=v):v=t[26],v}function Xj(e){let t=(0,Q.c)(1),{showingProjectDetails:n}=e;if(!n||!ji())return null;let r;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:`hidden shrink-0 md:flex`,children:(0,$.jsx)(YA,{})}),t[0]=r):r=t[0],r}function Zj(e){let t=(0,Q.c)(6),{showingProjectDetails:n,isStartingNewChat:r,handleNewChat:i,projectId:a}=e,o=n?`ghost`:`outline`,s=n?nl:`bg-background text-foreground hover:bg-accent hover:text-accent-foreground`,c;return t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,$.jsx)(hw,{projectId:a,onNewChat:i,isStartingNewChat:r,iconOnly:!0,variant:o,size:`icon-sm`,buttonClassName:s,ariaLabel:`New Chat`}),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5],c}function Qj(e){let t=(0,Q.c)(14),{showingProjectDetails:n,hasMessages:r,isStartingNewChat:i,handleNewChat:a,projectId:o,projectDetailsPillClassName:s}=e,c=n&&s,l;t[0]===c?l=t[1]:(l=G(`md:hidden electrobun-webkit-app-region-no-drag`,c),t[0]=c,t[1]=l);let u;t[2]!==a||t[3]!==r||t[4]!==i||t[5]!==o||t[6]!==n?(u=r?(0,$.jsx)(Zj,{showingProjectDetails:n,isStartingNewChat:i,handleNewChat:a,projectId:o}):null,t[2]=a,t[3]=r,t[4]=i,t[5]=o,t[6]=n,t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,$.jsx)(DE,{inPill:n}),t[8]=n,t[9]=d);let f;return t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,$.jsxs)(Uj,{className:l,children:[u,d]}),t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function $j(e){let t=(0,Q.c)(24),{showingProjectDetails:n,selectedThreadId:r,selectedProjectId:i,selectedProject:a,vscodeEmbed:o,projectDetailsActionsPillClassName:s}=e,c=n&&s,l;t[0]===c?l=t[1]:(l=G(`electrobun-webkit-app-region-no-drag`,c),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(KA,{}),t[2]=u):u=t[2];let d=a?.runCommand,f;t[3]!==i||t[4]!==d?(f=(0,$.jsx)(dE,{projectId:i,runCommand:d}),t[3]=i,t[4]=d,t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(kw,{threadId:r}),(0,$.jsx)(Aw,{})]}),t[6]=r,t[7]=p);let m;t[8]!==a?.openWith||t[9]!==i||t[10]!==r||t[11]!==o?(m=!o&&r?(0,$.jsx)(IT,{projectId:i,threadId:r,openWith:a?.openWith}):null,t[8]=a?.openWith,t[9]=i,t[10]=r,t[11]=o,t[12]=m):m=t[12];let h;t[13]===o?h=t[14]:(h=o?null:(0,$.jsx)(Gj,{}),t[13]=o,t[14]=h);let g;t[15]===o?g=t[16]:(g=o?null:(0,$.jsx)(Bj,{}),t[15]=o,t[16]=g);let _;return t[17]!==l||t[18]!==f||t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,$.jsx)(`div`,{className:`hidden md:flex flex-wrap items-center justify-end gap-2`,children:(0,$.jsxs)(Uj,{className:l,children:[u,f,p,m,h,g]})}),t[17]=l,t[18]=f,t[19]=p,t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function eM(e){let t=(0,Q.c)(24),{showingProjectDetails:n,selectedThreadId:r,hasMessages:i,selectedProjectId:a,selectedProject:o,isStartingNewChat:s,handleNewChat:c,vscodeEmbed:l,projectDetailsPillClassName:u,projectDetailsActionsPillClassName:d}=e,f=!!r&&(i||!!a),p;t[0]===n?p=t[1]:(p=(0,$.jsx)(Xj,{showingProjectDetails:n}),t[0]=n,t[1]=p);let m;t[2]!==c||t[3]!==i||t[4]!==s||t[5]!==u||t[6]!==a||t[7]!==f||t[8]!==n?(m=f?(0,$.jsx)(Qj,{showingProjectDetails:n,hasMessages:i,isStartingNewChat:s,handleNewChat:c,projectId:a,projectDetailsPillClassName:u}):null,t[2]=c,t[3]=i,t[4]=s,t[5]=u,t[6]=a,t[7]=f,t[8]=n,t[9]=m):m=t[9];let h;t[10]!==d||t[11]!==o||t[12]!==a||t[13]!==r||t[14]!==n||t[15]!==l?(h=a?(0,$.jsx)($j,{showingProjectDetails:n,selectedThreadId:r,selectedProjectId:a,selectedProject:o,vscodeEmbed:l,projectDetailsActionsPillClassName:d}):null,t[10]=d,t[11]=o,t[12]=a,t[13]=r,t[14]=n,t[15]=l,t[16]=h):h=t[16];let g;t[17]===l?g=t[18]:(g=l&&(0,$.jsx)(Wj,{}),t[17]=l,t[18]=g);let _;return t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,$.jsxs)($.Fragment,{children:[p,m,h,g]}),t[19]=p,t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function tM(e){let t=(0,Q.c)(57),{onBackToProjects:n,onSelectProject:r}=e,i=gC(),a=X(oM),o=X(aM),s=X(iM),c=X(rM),{handleNewChat:l,isStartingNewChat:u}=BC(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=AO(),t[0]=d):d=t[0];let f=d,p=c.length>0,m;if(t[1]!==s||t[2]!==o){let e;t[4]===o?e=t[5]:(e=e=>e.projectId===o,t[4]=o,t[5]=e),m=s.find(e),t[1]=s,t[2]=o,t[3]=m}else m=t[3];let h=m,g,_,v,y,b,x;if(t[6]!==l||t[7]!==p||t[8]!==u||t[9]!==n||t[10]!==r||t[11]!==s||t[12]!==h||t[13]!==o||t[14]!==a||t[15]!==i){let e=Pr(),c;t[22]===s?c=t[23]:(c=[...s].sort(nM),t[22]=s,t[23]=c);let d=c,m;t[24]!==n||t[25]!==i?(m=!f&&n?(0,$.jsx)(qj,{showingProjectDetails:i,onBackToProjects:n}):null,t[24]=n,t[25]=i,t[26]=m):m=t[26],v=m;let S=!!r&&!(f&&i),C;t[27]!==r||t[28]!==h||t[29]!==i||t[30]!==d||t[31]!==S?(C=h?(0,$.jsx)(Yj,{selectedProject:h,showingProjectDetails:i,sortedProjects:d,selectedProjectId:h.projectId,useDropdown:S,onSelectProject:r}):null,t[27]=r,t[28]=h,t[29]=i,t[30]=d,t[31]=S,t[32]=C):C=t[32],b=C;let w;t[33]!==b||t[34]!==i?(w=b?(0,$.jsxs)($.Fragment,{children:[i?null:(0,$.jsx)(sn,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),b]}):null,t[33]=b,t[34]=i,t[35]=w):w=t[35];let T;t[36]!==v||t[37]!==w?(T=(0,$.jsxs)($.Fragment,{children:[v,w]}),t[36]=v,t[37]=w,t[38]=T):T=t[38],y=T;let E;t[39]!==l||t[40]!==p||t[41]!==u||t[42]!==h||t[43]!==o||t[44]!==a||t[45]!==i?(E=(0,$.jsx)(eM,{showingProjectDetails:i,selectedThreadId:a,hasMessages:p,selectedProjectId:o,selectedProject:h,isStartingNewChat:u,handleNewChat:l,vscodeEmbed:f,projectDetailsPillClassName:`frosted-surface p-1 text-foreground backdrop-blur-sm electrobun-webkit-app-region-no-drag`,projectDetailsActionsPillClassName:`bg-transparent scenic-foreground shadow-none backdrop-blur-none electrobun-webkit-app-region-no-drag`}),t[39]=l,t[40]=p,t[41]=u,t[42]=h,t[43]=o,t[44]=a,t[45]=i,t[46]=E):E=t[46],_=E,g=el,x=G(!i&&`pt-1`,e&&!i&&`pt-4 md:min-h-[103px]`,i&&`scenic-foreground grid min-h-0 grid-cols-[1fr_auto_1fr] items-center gap-2 px-4 pt-2 pb-1`),t[6]=l,t[7]=p,t[8]=u,t[9]=n,t[10]=r,t[11]=s,t[12]=h,t[13]=o,t[14]=a,t[15]=i,t[16]=g,t[17]=_,t[18]=v,t[19]=y,t[20]=b,t[21]=x}else g=t[16],_=t[17],v=t[18],y=t[19],b=t[20],x=t[21];let S;t[47]!==_||t[48]!==v||t[49]!==y||t[50]!==b||t[51]!==i?(S=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"aria-hidden":!0,className:`min-w-0`}),(0,$.jsx)(`div`,{className:`flex min-w-0 items-center justify-center`,children:(0,$.jsxs)(`div`,{className:G(`flex min-w-0 max-w-full items-center gap-1 rounded-full`,`bg-transparent scenic-foreground electrobun-webkit-app-region-no-drag`),children:[v,v&&b?(0,$.jsx)(sn,{className:`h-4 w-4 shrink-0 scenic-foreground-muted`}):null,b]})}),(0,$.jsx)(`div`,{className:`flex min-w-0 items-center justify-end gap-2`,children:_})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:y}),(0,$.jsx)(`div`,{className:`ml-auto flex min-w-0 shrink-0 items-center gap-2`,children:_})]}),t[47]=_,t[48]=v,t[49]=y,t[50]=b,t[51]=i,t[52]=S):S=t[52];let C;return t[53]!==g||t[54]!==x||t[55]!==S?(C=(0,$.jsx)(g,{className:x,children:S}),t[53]=g,t[54]=x,t[55]=S,t[56]=C):C=t[56],C}function nM(e,t){return Ke(e).localeCompare(Ke(t))}function rM(e){return e.messages}function iM(e){return e.projects}function aM(e){return e.selectedProjectId}function oM(e){return e.selectedThreadId}var sM=`tarsk-browser-element-selected`,cM=`tarsk-browser-text-edit-commit`;function lM(e){let t=[`<browser-selection url="${e.url}" selector="${e.selector}" tag="${e.tagName}">`,e.html,`</browser-selection>`];return e.text.trim()&&t.push(`Text: ${e.text.trim()}`),t.join(`
3335
- `)}function uM(e,t,n){return[`Change the text from:`,t,`to:`,n,``,lM(e)].join(`
3336
- `)}function dM(e){return e===`select`||e===`edit`}function fM(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.html!=`string`||typeof t.text!=`string`||typeof t.tagName!=`string`||typeof t.selector!=`string`||typeof t.url!=`string`?!1:t.interaction===void 0||dM(t.interaction)}function pM(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.originalText==`string`&&typeof t.currentText==`string`&&fM(t.selection)}function mM(e,t){if(!e||typeof e!=`object`)return null;let n=e;return n.type!==t||!n.payload||typeof n.payload!=`object`?null:n.payload}function hM(e){let t=mM(e,sM);return!t||!fM(t)?null:t}function gM(e){let t=mM(e,cM);return!t||!pM(t)?null:t}function _M(e){window.dispatchEvent(new CustomEvent(sM,{detail:e}))}function vM(e){return hM(e)??(fM(e)?e:null)}function yM(e){return e?.interaction===`edit`}function bM(e,t){let n=t.trim();return n?`${e}\n\n${n}`:e}function xM(e){if(Pr()){(e?.querySelector(`electrobun-webview`))?.executeJavascript?.(`(function(){window.__tarskBrowserPreview?.setSelectMode?.(false,false);})();`);return}(e?.querySelector(`iframe`)?.contentWindow?.__tarskBrowserPreview)?.setSelectMode?.(!1,!1)}function SM(e){let t=(0,Q.c)(39),{container:n}=e,r=Ks(),i=X(TM),a=X(wM),{selectedBrowserElement:o,isSelectionPromptOpen:s,setIsSelectionPromptOpen:c,setSelectedBrowserElement:l,setBrowserAgentProcessingThreadId:u}=nk(),{paneId:d,conversationId:f}=wv(),{handleSend:p,handleStop:m,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:g}=bv(),{userTasks:_,setUserTasks:v,effectiveIsStreaming:y,handleRemoveUserTask:b}=BC(),[x,S]=Z.useState(0),C;t[0]===o?C=t[1]:(C=o?lM(o):``,t[0]=o,t[1]=C);let w=C,T;t[2]===s?T=t[3]:(T=()=>{s&&S(CM)},t[2]=s,t[3]=T);let E;t[4]!==s||t[5]!==o?(E=[s,o],t[4]=s,t[5]=o,t[6]=E):E=t[6],(0,Z.useEffect)(T,E);let D;t[7]!==n||t[8]!==c||t[9]!==l?(D=e=>{c(e),e||(xM(n),l(null))},t[7]=n,t[8]=c,t[9]=l,t[10]=D):D=t[10];let O=D,k;t[11]!==n||t[12]!==f||t[13]!==r||t[14]!==p||t[15]!==d||t[16]!==i||t[17]!==w||t[18]!==u||t[19]!==c||t[20]!==l?(k=(e,t,a,o,s,m,h)=>{!i||!w||(p(d,f,bM(w,e),t,a,o,s,m,h),r({type:Y.SetChatInputDraft,threadId:d===`primary`?i:`${i}:${d}`,draft:``}),u(i),c(!1),l(null),xM(n))},t[11]=n,t[12]=f,t[13]=r,t[14]=p,t[15]=d,t[16]=i,t[17]=w,t[18]=u,t[19]=c,t[20]=l,t[21]=k):k=t[21];let A=k,j=s&&!!(i&&a&&o&&n),M;t[22]!==n||t[23]!==y||t[24]!==h||t[25]!==g||t[26]!==b||t[27]!==m||t[28]!==A||t[29]!==d||t[30]!==x||t[31]!==i||t[32]!==v||t[33]!==_?(M=n?(0,$.jsxs)($r,{container:n,children:[(0,$.jsx)(Wr,{className:G(`absolute inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`)}),(0,$.jsxs)(gi,{className:G(`absolute inset-x-0 top-0 z-50 w-full border-b border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`),children:[(0,$.jsx)(qa,{className:`sr-only`,children:`Prompt with selected element`}),(0,$.jsxs)(di,{className:`absolute right-4 top-4 z-10 flex h-7 w-7 items-center justify-center rounded-full transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none`,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),(0,$.jsx)(`div`,{className:`px-4 pt-3 pb-2`,children:(0,$.jsx)(eC,{centered:!0,autoFocus:!0,onSend:A,onStop:()=>m(d),isStreaming:y,disabled:!i,initialValue:``,queuedMessages:h(d),onRemoveQueuedMessage:e=>{g(d,e)},placeholder:`How do you want to change the selected element?`,userTasks:_,onMatchedUserTaskSend:e=>{e.pinned||b(e.id)},onUserTaskCreated:e=>{v(t=>[...t,e])}},x)})]})]}):null,t[22]=n,t[23]=y,t[24]=h,t[25]=g,t[26]=b,t[27]=m,t[28]=A,t[29]=d,t[30]=x,t[31]=i,t[32]=v,t[33]=_,t[34]=M):M=t[34];let N;return t[35]!==O||t[36]!==j||t[37]!==M?(N=(0,$.jsx)(li,{open:j,onOpenChange:O,children:M}),t[35]=O,t[36]=j,t[37]=M,t[38]=N):N=t[38],N}function CM(e){return e+1}function wM(e){return e.selectedProjectId}function TM(e){return e.selectedThreadId}function EM(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-muted border-t-primary`})}),e[0]=t):t=e[0],t}var DM=(0,Z.lazy)(()=>us(()=>import(`./settings-view-D4-XZz2V.js`),__vite__mapDeps([36,1,19,20,4,5,37,14,24]))),OM=`animate-in fade-in duration-200`,kM=`animate-out fade-out duration-200 fill-mode-forwards pointer-events-none`;function AM(){let e=(0,Q.c)(22);Yr(!0);let t=Yn(),n=(0,Z.useRef)(!1),r=(0,Z.useRef)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===t?o=e[1]:(o=()=>{r.current||(r.current=!0,t(`/`))},e[0]=t,e[1]=o);let s=o,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n.current||(n.current=!0,a(!0))},e[2]=c):c=e[2];let l=c,u;e[3]===s?u=e[4]:(u=e=>{!n.current||e.animationName!==`exit`||s()},e[3]=s,e[4]=u);let d=u,f,p;e[5]!==i||e[6]!==s?(f=()=>{if(!i)return;let e=window.setTimeout(s,250);return()=>window.clearTimeout(e)},p=[i,s],e[5]=i,e[6]=s,e[7]=f,e[8]=p):(f=e[7],p=e[8]),(0,Z.useEffect)(f,p);let m=i?kM:OM,h;e[9]===m?h=e[10]:(h=G(`absolute inset-0 bg-black/50`,m),e[9]=m,e[10]=h);let g;e[11]===h?g=e[12]:(g=(0,$.jsx)(`div`,{className:h,"aria-hidden":!0}),e[11]=h,e[12]=g);let _;e[13]===m?_=e[14]:(_=G(`relative z-10 h-full w-full md:h-auto md:w-auto`,m),e[13]=m,e[14]=_);let v;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(EM,{}),children:(0,$.jsx)(DM,{onRequestClose:l})}),e[15]=v):v=e[15];let y;e[16]!==d||e[17]!==_?(y=(0,$.jsx)(`div`,{className:_,onAnimationEnd:d,children:v}),e[16]=d,e[17]=_,e[18]=y):y=e[18];let b;return e[19]!==g||e[20]!==y?(b=(0,$.jsxs)(`div`,{className:`absolute inset-0 z-50 flex items-center justify-center md:p-6`,children:[g,y]}),e[19]=g,e[20]=y,e[21]=b):b=e[21],b}function jM(e){let t=(0,Q.c)(35),{selectedProjectId:n,isReviewRoute:r,onCreateThread:i,onBackToProjects:a,onSelectProject:o,onSubmitClone:s,onSubmitWebApp:c,onSubmitFolder:l,onOpenFolder:u}=e,{isPanelOpen:d}=gc(),f=gC(),p=!r,m=p&&!f,[h,g]=(0,Z.useState)(null),_=X(MM),v;if(t[0]!==_||t[1]!==n){let e;t[3]===n?e=t[4]:(e=e=>e.projectId===n,t[3]=n,t[4]=e),v=_.find(e),t[0]=_,t[1]=n,t[2]=v}else v=t[2];let y=v?.useBuiltInBrowser!==!1,b;t[5]===d?b=t[6]:(b=d(`browser`),t[5]=d,t[6]=b);let x=b,S=m&&`bg-background`,C;t[7]===S?C=t[8]:(C=G(`relative flex h-full flex-col overflow-hidden`,S),t[7]=S,t[8]=C);let w;t[9]!==a||t[10]!==o||t[11]!==p?(w=p&&(0,$.jsx)(tM,{onBackToProjects:a,onSelectProject:o}),t[9]=a,t[10]=o,t[11]=p,t[12]=w):w=t[12];let T;t[13]!==i||t[14]!==u||t[15]!==s||t[16]!==l||t[17]!==c?(T=(0,$.jsx)(`main`,{className:`relative flex-1 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(dA,{onCreateThread:i,onSubmitClone:s,onSubmitWebApp:c,onSubmitFolder:l,onOpenFolder:u})})}),t[13]=i,t[14]=u,t[15]=s,t[16]=l,t[17]=c,t[18]=T):T=t[18];let E;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(qn,{path:`/settings/providers/:providerSlug`,element:(0,$.jsx)(AM,{})}),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(qn,{path:`/settings/project/:projectId/tools`,element:(0,$.jsx)(AM,{})}),t[20]=D):D=t[20];let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(qn,{path:`/settings/project/:projectId/model-aliases`,element:(0,$.jsx)(AM,{})}),t[21]=O):O=t[21];let k;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(qn,{path:`/settings/project/:projectId/env-vars`,element:(0,$.jsx)(AM,{})}),t[22]=k):k=t[22];let A;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(qn,{path:`/settings/project/:projectId`,element:(0,$.jsx)(AM,{})}),t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(Tn,{children:[E,D,O,k,A,(0,$.jsx)(qn,{path:`/settings/:tab?`,element:(0,$.jsx)(AM,{})})]}),t[24]=j):j=t[24];let M;t[25]!==x||t[26]!==h||t[27]!==y||t[28]!==p?(M=p&&y&&x?(0,$.jsx)(SM,{container:h}):null,t[25]=x,t[26]=h,t[27]=y,t[28]=p,t[29]=M):M=t[29];let N;return t[30]!==M||t[31]!==C||t[32]!==w||t[33]!==T?(N=(0,$.jsxs)(`div`,{ref:g,className:C,children:[w,T,j,M]}),t[30]=M,t[31]=C,t[32]=w,t[33]=T,t[34]=N):N=t[34],N}function MM(e){return e.projects}function NM(e){let t=(0,Q.c)(24),{open:n,projectName:r,onOpenChange:i,onConfirm:a,blocked:o,blockReason:s,deletesFolder:c}=e,l=o===void 0?!1:o,u=c===void 0?!0:c,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(sc,{children:`Delete Project`}),t[0]=d):d=t[0];let f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=G(U.body,`font-semibold text-foreground`),t[1]=f):f=t[1];let p;t[2]===r?p=t[3]:(p=(0,$.jsxs)(`span`,{className:f,children:[`"`,r,`"`]}),t[2]=r,t[3]=p);let m=u?` The project folder will also be deleted.`:` Your original folder and its files will not be deleted.`,h;t[4]!==p||t[5]!==m?(h=(0,$.jsxs)(oc,{children:[`Are you sure you want to delete`,` `,p,`? This will remove the project and all its data.`,m,` `,`This action cannot be undone.`]}),t[4]=p,t[5]=m,t[6]=h):h=t[6];let g;t[7]!==s||t[8]!==l?(g=l&&s&&(0,$.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:s}),t[7]=s,t[8]=l,t[9]=g):g=t[9];let _;t[10]!==h||t[11]!==g?(_=(0,$.jsxs)(fc,{children:[d,h,g]}),t[10]=h,t[11]=g,t[12]=_):_=t[12];let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(dc,{children:`Cancel`}),t[13]=v):v=t[13];let y;t[14]!==l||t[15]!==a?(y=(0,$.jsxs)(uc,{children:[v,(0,$.jsx)(lc,{onClick:a,disabled:l,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),t[14]=l,t[15]=a,t[16]=y):y=t[16];let b;t[17]!==y||t[18]!==_?(b=(0,$.jsxs)(cc,{children:[_,y]}),t[17]=y,t[18]=_,t[19]=b):b=t[19];let x;return t[20]!==i||t[21]!==n||t[22]!==b?(x=(0,$.jsx)(pc,{open:n,onOpenChange:i,children:b}),t[20]=i,t[21]=n,t[22]=b,t[23]=x):x=t[23],x}function PM(e){let t=(0,Q.c)(28),{open:n,setupScripts:r,onConfirm:i}=e;if(r.length===0)return null;let a;t[0]===i?a=t[1]:(a=e=>{e||i(!1)},t[0]=i,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(sc,{children:`Install dependencies?`}),t[2]=o):o=t[2];let s=r.length===1?``:`s`,c;t[3]!==r.length||t[4]!==s?(c=(0,$.jsxs)(fc,{children:[o,(0,$.jsxs)(oc,{children:[`Found `,r.length,` package`,s,` with dependencies to install:`]})]}),t[3]=r.length,t[4]=s,t[5]=c):c=t[5];let l;t[6]===r?l=t[7]:(l=r.map(FM),t[6]=r,t[7]=l);let u;t[8]===l?u=t[9]:(u=(0,$.jsx)(`div`,{className:`my-4 max-h-60 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:l})}),t[8]=l,t[9]=u);let d;t[10]===i?d=t[11]:(d=(0,$.jsx)(dc,{onClick:()=>i(!1),children:`No`}),t[10]=i,t[11]=d);let f;t[12]===i?f=t[13]:(f=()=>i(!0),t[12]=i,t[13]=f);let p;t[14]!==r.length||t[15]!==f?(p=(0,$.jsxs)(lc,{onClick:f,children:[`Install All (`,r.length,`)`]}),t[14]=r.length,t[15]=f,t[16]=p):p=t[16];let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(uc,{children:[d,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;t[20]!==m||t[21]!==c||t[22]!==u?(h=(0,$.jsxs)(cc,{className:`max-w-2xl`,children:[c,u,m]}),t[20]=m,t[21]=c,t[22]=u,t[23]=h):h=t[23];let g;return t[24]!==n||t[25]!==a||t[26]!==h?(g=(0,$.jsx)(pc,{open:n,onOpenChange:a,children:h}),t[24]=n,t[25]=a,t[26]=h,t[27]=g):g=t[27],g}function FM(e,t){let n=e.match(/^cd "([^"]+)" && (.+)$/),r=n?n[1]:`root`,i=n?n[2]:e;return(0,$.jsx)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border bg-muted/50`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-blue-500`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:U.label,children:r||`root`}),(0,$.jsx)(`div`,{className:U.bodyMuted,children:i})]})]})},t)}function IM(e){let t=(0,Q.c)(24),{open:n,existingProjectName:r,zipFilename:i,onConfirm:a}=e;if(!r||!i)return null;let o;t[0]===a?o=t[1]:(o=e=>{e||a(!1)},t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(sc,{children:`Replace existing project?`}),t[2]=s):s=t[2];let c;t[3]===r?c=t[4]:(c=(0,$.jsx)(`span`,{className:U.label,children:r}),t[3]=r,t[4]=c);let l;t[5]===i?l=t[6]:(l=(0,$.jsx)(`span`,{className:U.label,children:i}),t[5]=i,t[6]=l);let u;t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(fc,{children:[s,(0,$.jsxs)(oc,{children:[`A project named `,c,` already exists. Importing `,l,` will replace its source code, threads, and any in-progress work with the contents of the zip. This cannot be undone.`]})]}),t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===a?d=t[11]:(d=(0,$.jsx)(dc,{onClick:()=>a(!1),children:`Cancel`}),t[10]=a,t[11]=d);let f;t[12]===a?f=t[13]:(f=(0,$.jsx)(lc,{onClick:()=>a(!0),children:`Replace project`}),t[12]=a,t[13]=f);let p;t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(uc,{children:[d,f]}),t[14]=d,t[15]=f,t[16]=p):p=t[16];let m;t[17]!==u||t[18]!==p?(m=(0,$.jsxs)(cc,{className:`max-w-xl`,children:[u,p]}),t[17]=u,t[18]=p,t[19]=m):m=t[19];let h;return t[20]!==n||t[21]!==o||t[22]!==m?(h=(0,$.jsx)(pc,{open:n,onOpenChange:o,children:m}),t[20]=n,t[21]=o,t[22]=m,t[23]=h):h=t[23],h}var LM;(function(e){e[e.QR_CODE=0]=`QR_CODE`,e[e.AZTEC=1]=`AZTEC`,e[e.CODABAR=2]=`CODABAR`,e[e.CODE_39=3]=`CODE_39`,e[e.CODE_93=4]=`CODE_93`,e[e.CODE_128=5]=`CODE_128`,e[e.DATA_MATRIX=6]=`DATA_MATRIX`,e[e.MAXICODE=7]=`MAXICODE`,e[e.ITF=8]=`ITF`,e[e.EAN_13=9]=`EAN_13`,e[e.EAN_8=10]=`EAN_8`,e[e.PDF_417=11]=`PDF_417`,e[e.RSS_14=12]=`RSS_14`,e[e.RSS_EXPANDED=13]=`RSS_EXPANDED`,e[e.UPC_A=14]=`UPC_A`,e[e.UPC_E=15]=`UPC_E`,e[e.UPC_EAN_EXTENSION=16]=`UPC_EAN_EXTENSION`})(LM||={});var RM=new Map([[LM.QR_CODE,`QR_CODE`],[LM.AZTEC,`AZTEC`],[LM.CODABAR,`CODABAR`],[LM.CODE_39,`CODE_39`],[LM.CODE_93,`CODE_93`],[LM.CODE_128,`CODE_128`],[LM.DATA_MATRIX,`DATA_MATRIX`],[LM.MAXICODE,`MAXICODE`],[LM.ITF,`ITF`],[LM.EAN_13,`EAN_13`],[LM.EAN_8,`EAN_8`],[LM.PDF_417,`PDF_417`],[LM.RSS_14,`RSS_14`],[LM.RSS_EXPANDED,`RSS_EXPANDED`],[LM.UPC_A,`UPC_A`],[LM.UPC_E,`UPC_E`],[LM.UPC_EAN_EXTENSION,`UPC_EAN_EXTENSION`]]),zM;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.URL=1]=`URL`})(zM||={});function BM(e){return Object.values(LM).includes(e)}var VM;(function(e){e[e.SCAN_TYPE_CAMERA=0]=`SCAN_TYPE_CAMERA`,e[e.SCAN_TYPE_FILE=1]=`SCAN_TYPE_FILE`})(VM||={});var HM=function(){function e(){}return e.GITHUB_PROJECT_URL=`https://github.com/mebjas/html5-qrcode`,e.SCAN_DEFAULT_FPS=2,e.DEFAULT_DISABLE_FLIP=!1,e.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,e.DEFAULT_SUPPORTED_SCAN_TYPE=[VM.SCAN_TYPE_CAMERA,VM.SCAN_TYPE_FILE],e}(),UM=function(){function e(e,t){this.format=e,this.formatName=t}return e.prototype.toString=function(){return this.formatName},e.create=function(t){if(!RM.has(t))throw`${t} not in html5QrcodeSupportedFormatsTextMap`;return new e(t,RM.get(t))},e}(),WM=function(){function e(){}return e.createFromText=function(e){return{decodedText:e,result:{text:e}}},e.createFromQrcodeResult=function(e){return{decodedText:e.text,result:e}},e}(),GM;(function(e){e[e.UNKWOWN_ERROR=0]=`UNKWOWN_ERROR`,e[e.IMPLEMENTATION_ERROR=1]=`IMPLEMENTATION_ERROR`,e[e.NO_CODE_FOUND_ERROR=2]=`NO_CODE_FOUND_ERROR`})(GM||={});var KM=function(){function e(){}return e.createFrom=function(e){return{errorMessage:e,type:GM.UNKWOWN_ERROR}},e}(),qM=function(){function e(e){this.verbose=e}return e.prototype.log=function(e){this.verbose&&console.log(e)},e.prototype.warn=function(e){this.verbose&&console.warn(e)},e.prototype.logError=function(e,t){(this.verbose||t===!0)&&console.error(e)},e.prototype.logErrors=function(e){if(e.length===0)throw`Logger#logError called without arguments`;this.verbose&&console.error(e)},e}();function JM(e){return e==null}function YM(e,t,n){return e>n?n:e<t?t:e}var XM=function(){function e(){}return e.codeParseError=function(e){return`QR code parse error, error = ${e}`},e.errorGettingUserMedia=function(e){return`Error getting userMedia, error = ${e}`},e.onlyDeviceSupportedError=function(){return`The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string).`},e.cameraStreamingNotSupported=function(){return`Camera streaming not supported by the browser.`},e.unableToQuerySupportedDevices=function(){return`Unable to query supported devices, unknown error.`},e.insecureContextCameraQueryError=function(){return`Camera access is only supported in secure context like https or localhost.`},e.scannerPaused=function(){return`Scanner paused`},e}(),ZM=function(){function e(){}return e.scanningStatus=function(){return`Scanning`},e.idleStatus=function(){return`Idle`},e.errorStatus=function(){return`Error`},e.permissionStatus=function(){return`Permission`},e.noCameraFoundErrorStatus=function(){return`No Cameras`},e.lastMatch=function(e){return`Last Match: ${e}`},e.codeScannerTitle=function(){return`Code Scanner`},e.cameraPermissionTitle=function(){return`Request Camera Permissions`},e.cameraPermissionRequesting=function(){return`Requesting camera permissions...`},e.noCameraFound=function(){return`No camera found`},e.scanButtonStopScanningText=function(){return`Stop Scanning`},e.scanButtonStartScanningText=function(){return`Start Scanning`},e.torchOnButton=function(){return`Switch On Torch`},e.torchOffButton=function(){return`Switch Off Torch`},e.torchOnFailedMessage=function(){return`Failed to turn on torch`},e.torchOffFailedMessage=function(){return`Failed to turn off torch`},e.scanButtonScanningStarting=function(){return`Launching Camera...`},e.textIfCameraScanSelected=function(){return`Scan an Image File`},e.textIfFileScanSelected=function(){return`Scan using camera directly`},e.selectCamera=function(){return`Select Camera`},e.fileSelectionChooseImage=function(){return`Choose Image`},e.fileSelectionChooseAnother=function(){return`Choose Another`},e.fileSelectionNoImageSelected=function(){return`No image choosen`},e.anonymousCameraPrefix=function(){return`Anonymous Camera`},e.dragAndDropMessage=function(){return`Or drop an image to scan`},e.dragAndDropMessageOnlyImages=function(){return`Or drop an image to scan (other files not supported)`},e.zoom=function(){return`zoom`},e.loadingImage=function(){return`Loading image...`},e.cameraScanAltText=function(){return`Camera based scan`},e.fileScanAltText=function(){return`Fule based scan`},e}(),QM=function(){function e(){}return e.poweredBy=function(){return`Powered by `},e.reportIssues=function(){return`Report issues`},e}(),$M=function(){function e(){}return e.isMediaStreamConstraintsValid=function(e,t){if(typeof e!=`object`){var n=typeof e;return t.logError(`videoConstraints should be of type object, the object passed is of type ${n}.`,!0),!1}for(var r=new Set([`autoGainControl`,`channelCount`,`echoCancellation`,`latency`,`noiseSuppression`,`sampleRate`,`sampleSize`,`volume`]),i=Object.keys(e),a=0,o=i;a<o.length;a++){var s=o[a];if(r.has(s))return t.logError(`${s} is not supported videoConstaints.`,!0),!1}return!0},e}(),eN=e(t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.ZXing={}))})(e,(function(e){function t(e){return e==null}var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function r(e,t){n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function i(e,t){var n=Object.setPrototypeOf;n?n(e,t):e.__proto__=t}function a(e,t){t===void 0&&(t=e.constructor);var n=Error.captureStackTrace;n&&n(e,t)}var o=(function(e){r(t,e);function t(t){var n=this.constructor,r=e.call(this,t)||this;return Object.defineProperty(r,"name",{value:n.name,enumerable:!1}),i(r,n.prototype),a(r),r}return t})(Error);class s extends o{constructor(e=void 0){super(e),this.message=e}getKind(){return this.constructor.kind}}s.kind=`Exception`;class c extends s{}c.kind=`ArgumentException`;class l extends s{}l.kind=`IllegalArgumentException`;class u{constructor(e){if(this.binarizer=e,e===null)throw new l(`Binarizer must be non-null.`)}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(e,t){return this.binarizer.getBlackRow(e,t)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(e,t,n,r){let i=this.binarizer.getLuminanceSource().crop(e,t,n,r);return new u(this.binarizer.createBinarizer(i))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){let e=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new u(this.binarizer.createBinarizer(e))}rotateCounterClockwise45(){let e=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new u(this.binarizer.createBinarizer(e))}toString(){try{return this.getBlackMatrix().toString()}catch{return``}}}class d extends s{static getChecksumInstance(){return new d}}d.kind=`ChecksumException`;class f{constructor(e){this.source=e}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class p{static arraycopy(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}static currentTimeMillis(){return Date.now()}}class m extends s{}m.kind=`IndexOutOfBoundsException`;class h extends m{constructor(e=void 0,t=void 0){super(t),this.index=e,this.message=t}}h.kind=`ArrayIndexOutOfBoundsException`;class g{static fill(e,t){for(let n=0,r=e.length;n<r;n++)e[n]=t}static fillWithin(e,t,n,r){g.rangeCheck(e.length,t,n);for(let i=t;i<n;i++)e[i]=r}static rangeCheck(e,t,n){if(t>n)throw new l(`fromIndex(`+t+`) > toIndex(`+n+`)`);if(t<0)throw new h(t);if(n>e)throw new h(n)}static asList(...e){return e}static create(e,t,n){return Array.from({length:e}).map(e=>Array.from({length:t}).fill(n))}static createInt32Array(e,t,n){return Array.from({length:e}).map(e=>Int32Array.from({length:t}).fill(n))}static equals(e,t){if(!e||!t||!e.length||!t.length||e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}static hashCode(e){if(e===null)return 0;let t=1;for(let n of e)t=31*t+n;return t}static fillUint8Array(e,t){for(let n=0;n!==e.length;n++)e[n]=t}static copyOf(e,t){return e.slice(0,t)}static copyOfUint8Array(e,t){if(e.length<=t){let n=new Uint8Array(t);return n.set(e),n}return e.slice(0,t)}static copyOfRange(e,t,n){let r=n-t,i=new Int32Array(r);return p.arraycopy(e,t,i,0,r),i}static binarySearch(e,t,n){n===void 0&&(n=g.numberComparator);let r=0,i=e.length-1;for(;r<=i;){let a=i+r>>1,o=n(t,e[a]);if(o>0)r=a+1;else if(o<0)i=a-1;else return a}return-r-1}static numberComparator(e,t){return e-t}}class _{static numberOfTrailingZeros(e){let t;if(e===0)return 32;let n=31;return t=e<<16,t!==0&&(n-=16,e=t),t=e<<8,t!==0&&(n-=8,e=t),t=e<<4,t!==0&&(n-=4,e=t),t=e<<2,t!==0&&(n-=2,e=t),n-(e<<1>>>31)}static numberOfLeadingZeros(e){if(e===0)return 32;let t=1;return e>>>16||(t+=16,e<<=16),e>>>24||(t+=8,e<<=8),e>>>28||(t+=4,e<<=4),e>>>30||(t+=2,e<<=2),t-=e>>>31,t}static toHexString(e){return e.toString(16)}static toBinaryString(e){return String(parseInt(String(e),2))}static bitCount(e){return e-=e>>>1&1431655765,e=(e&858993459)+(e>>>2&858993459),e=e+(e>>>4)&252645135,e+=e>>>8,e+=e>>>16,e&63}static truncDivision(e,t){return Math.trunc(e/t)}static parseInt(e,t=void 0){return parseInt(e,t)}}_.MIN_VALUE_32_BITS=-2147483648,_.MAX_VALUE=2**53-1;class v{constructor(e,t){e===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,t==null?this.bits=v.makeArray(e):this.bits=t)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(e){if(e>this.bits.length*32){let t=v.makeArray(e);p.arraycopy(this.bits,0,t,0,this.bits.length),this.bits=t}}get(e){return(this.bits[Math.floor(e/32)]&1<<(e&31))!=0}set(e){this.bits[Math.floor(e/32)]|=1<<(e&31)}flip(e){this.bits[Math.floor(e/32)]^=1<<(e&31)}getNextSet(e){let t=this.size;if(e>=t)return t;let n=this.bits,r=Math.floor(e/32),i=n[r];i&=~((1<<(e&31))-1);let a=n.length;for(;i===0;){if(++r===a)return t;i=n[r]}let o=r*32+_.numberOfTrailingZeros(i);return o>t?t:o}getNextUnset(e){let t=this.size;if(e>=t)return t;let n=this.bits,r=Math.floor(e/32),i=~n[r];i&=~((1<<(e&31))-1);let a=n.length;for(;i===0;){if(++r===a)return t;i=~n[r]}let o=r*32+_.numberOfTrailingZeros(i);return o>t?t:o}setBulk(e,t){this.bits[Math.floor(e/32)]=t}setRange(e,t){if(t<e||e<0||t>this.size)throw new l;if(t===e)return;t--;let n=Math.floor(e/32),r=Math.floor(t/32),i=this.bits;for(let a=n;a<=r;a++){let o=a>n?0:e&31,s=(2<<(a<r?31:t&31))-(1<<o);i[a]|=s}}clear(){let e=this.bits.length,t=this.bits;for(let n=0;n<e;n++)t[n]=0}isRange(e,t,n){if(t<e||e<0||t>this.size)throw new l;if(t===e)return!0;t--;let r=Math.floor(e/32),i=Math.floor(t/32),a=this.bits;for(let o=r;o<=i;o++){let s=o>r?0:e&31,c=(2<<(o<i?31:t&31))-(1<<s)&4294967295;if((a[o]&c)!==(n?c:0))return!1}return!0}appendBit(e){this.ensureCapacity(this.size+1),e&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(e,t){if(t<0||t>32)throw new l(`Num bits must be between 0 and 32`);this.ensureCapacity(this.size+t);for(let n=t;n>0;n--)this.appendBit((e>>n-1&1)==1)}appendBitArray(e){let t=e.size;this.ensureCapacity(this.size+t);for(let n=0;n<t;n++)this.appendBit(e.get(n))}xor(e){if(this.size!==e.size)throw new l(`Sizes don't match`);let t=this.bits;for(let n=0,r=t.length;n<r;n++)t[n]^=e.bits[n]}toBytes(e,t,n,r){for(let i=0;i<r;i++){let r=0;for(let t=0;t<8;t++)this.get(e)&&(r|=1<<7-t),e++;t[n+i]=r}}getBitArray(){return this.bits}reverse(){let e=new Int32Array(this.bits.length),t=Math.floor((this.size-1)/32),n=t+1,r=this.bits;for(let i=0;i<n;i++){let n=r[i];n=n>>1&1431655765|(n&1431655765)<<1,n=n>>2&858993459|(n&858993459)<<2,n=n>>4&252645135|(n&252645135)<<4,n=n>>8&16711935|(n&16711935)<<8,n=n>>16&65535|(n&65535)<<16,e[t-i]=n}if(this.size!==n*32){let t=n*32-this.size,r=e[0]>>>t;for(let i=1;i<n;i++){let n=e[i];r|=n<<32-t,e[i-1]=r,r=n>>>t}e[n-1]=r}this.bits=e}static makeArray(e){return new Int32Array(Math.floor((e+31)/32))}equals(e){if(!(e instanceof v))return!1;let t=e;return this.size===t.size&&g.equals(this.bits,t.bits)}hashCode(){return 31*this.size+g.hashCode(this.bits)}toString(){let e=``;for(let t=0,n=this.size;t<n;t++)t&7||(e+=` `),e+=this.get(t)?`X`:`.`;return e}clone(){return new v(this.size,this.bits.slice())}}var y;(function(e){e[e.OTHER=0]=`OTHER`,e[e.PURE_BARCODE=1]=`PURE_BARCODE`,e[e.POSSIBLE_FORMATS=2]=`POSSIBLE_FORMATS`,e[e.TRY_HARDER=3]=`TRY_HARDER`,e[e.CHARACTER_SET=4]=`CHARACTER_SET`,e[e.ALLOWED_LENGTHS=5]=`ALLOWED_LENGTHS`,e[e.ASSUME_CODE_39_CHECK_DIGIT=6]=`ASSUME_CODE_39_CHECK_DIGIT`,e[e.ASSUME_GS1=7]=`ASSUME_GS1`,e[e.RETURN_CODABAR_START_END=8]=`RETURN_CODABAR_START_END`,e[e.NEED_RESULT_POINT_CALLBACK=9]=`NEED_RESULT_POINT_CALLBACK`,e[e.ALLOWED_EAN_EXTENSIONS=10]=`ALLOWED_EAN_EXTENSIONS`})(y||={});var b=y;class x extends s{static getFormatInstance(){return new x}}x.kind=`FormatException`;var S;(function(e){e[e.Cp437=0]=`Cp437`,e[e.ISO8859_1=1]=`ISO8859_1`,e[e.ISO8859_2=2]=`ISO8859_2`,e[e.ISO8859_3=3]=`ISO8859_3`,e[e.ISO8859_4=4]=`ISO8859_4`,e[e.ISO8859_5=5]=`ISO8859_5`,e[e.ISO8859_6=6]=`ISO8859_6`,e[e.ISO8859_7=7]=`ISO8859_7`,e[e.ISO8859_8=8]=`ISO8859_8`,e[e.ISO8859_9=9]=`ISO8859_9`,e[e.ISO8859_10=10]=`ISO8859_10`,e[e.ISO8859_11=11]=`ISO8859_11`,e[e.ISO8859_13=12]=`ISO8859_13`,e[e.ISO8859_14=13]=`ISO8859_14`,e[e.ISO8859_15=14]=`ISO8859_15`,e[e.ISO8859_16=15]=`ISO8859_16`,e[e.SJIS=16]=`SJIS`,e[e.Cp1250=17]=`Cp1250`,e[e.Cp1251=18]=`Cp1251`,e[e.Cp1252=19]=`Cp1252`,e[e.Cp1256=20]=`Cp1256`,e[e.UnicodeBigUnmarked=21]=`UnicodeBigUnmarked`,e[e.UTF8=22]=`UTF8`,e[e.ASCII=23]=`ASCII`,e[e.Big5=24]=`Big5`,e[e.GB18030=25]=`GB18030`,e[e.EUC_KR=26]=`EUC_KR`})(S||={});class C{constructor(e,t,n,...r){this.valueIdentifier=e,this.name=n,typeof t==`number`?this.values=Int32Array.from([t]):this.values=t,this.otherEncodingNames=r,C.VALUE_IDENTIFIER_TO_ECI.set(e,this),C.NAME_TO_ECI.set(n,this);let i=this.values;for(let e=0,t=i.length;e!==t;e++){let t=i[e];C.VALUES_TO_ECI.set(t,this)}for(let e of r)C.NAME_TO_ECI.set(e,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(e){if(e<0||e>=900)throw new x(`incorect value`);let t=C.VALUES_TO_ECI.get(e);if(t===void 0)throw new x(`incorect value`);return t}static getCharacterSetECIByName(e){let t=C.NAME_TO_ECI.get(e);if(t===void 0)throw new x(`incorect value`);return t}equals(e){if(!(e instanceof C))return!1;let t=e;return this.getName()===t.getName()}}C.VALUE_IDENTIFIER_TO_ECI=new Map,C.VALUES_TO_ECI=new Map,C.NAME_TO_ECI=new Map,C.Cp437=new C(S.Cp437,Int32Array.from([0,2]),`Cp437`),C.ISO8859_1=new C(S.ISO8859_1,Int32Array.from([1,3]),`ISO-8859-1`,`ISO88591`,`ISO8859_1`),C.ISO8859_2=new C(S.ISO8859_2,4,`ISO-8859-2`,`ISO88592`,`ISO8859_2`),C.ISO8859_3=new C(S.ISO8859_3,5,`ISO-8859-3`,`ISO88593`,`ISO8859_3`),C.ISO8859_4=new C(S.ISO8859_4,6,`ISO-8859-4`,`ISO88594`,`ISO8859_4`),C.ISO8859_5=new C(S.ISO8859_5,7,`ISO-8859-5`,`ISO88595`,`ISO8859_5`),C.ISO8859_6=new C(S.ISO8859_6,8,`ISO-8859-6`,`ISO88596`,`ISO8859_6`),C.ISO8859_7=new C(S.ISO8859_7,9,`ISO-8859-7`,`ISO88597`,`ISO8859_7`),C.ISO8859_8=new C(S.ISO8859_8,10,`ISO-8859-8`,`ISO88598`,`ISO8859_8`),C.ISO8859_9=new C(S.ISO8859_9,11,`ISO-8859-9`,`ISO88599`,`ISO8859_9`),C.ISO8859_10=new C(S.ISO8859_10,12,`ISO-8859-10`,`ISO885910`,`ISO8859_10`),C.ISO8859_11=new C(S.ISO8859_11,13,`ISO-8859-11`,`ISO885911`,`ISO8859_11`),C.ISO8859_13=new C(S.ISO8859_13,15,`ISO-8859-13`,`ISO885913`,`ISO8859_13`),C.ISO8859_14=new C(S.ISO8859_14,16,`ISO-8859-14`,`ISO885914`,`ISO8859_14`),C.ISO8859_15=new C(S.ISO8859_15,17,`ISO-8859-15`,`ISO885915`,`ISO8859_15`),C.ISO8859_16=new C(S.ISO8859_16,18,`ISO-8859-16`,`ISO885916`,`ISO8859_16`),C.SJIS=new C(S.SJIS,20,`SJIS`,`Shift_JIS`),C.Cp1250=new C(S.Cp1250,21,`Cp1250`,`windows-1250`),C.Cp1251=new C(S.Cp1251,22,`Cp1251`,`windows-1251`),C.Cp1252=new C(S.Cp1252,23,`Cp1252`,`windows-1252`),C.Cp1256=new C(S.Cp1256,24,`Cp1256`,`windows-1256`),C.UnicodeBigUnmarked=new C(S.UnicodeBigUnmarked,25,`UnicodeBigUnmarked`,`UTF-16BE`,`UnicodeBig`),C.UTF8=new C(S.UTF8,26,`UTF8`,`UTF-8`),C.ASCII=new C(S.ASCII,Int32Array.from([27,170]),`ASCII`,`US-ASCII`),C.Big5=new C(S.Big5,28,`Big5`),C.GB18030=new C(S.GB18030,29,`GB18030`,`GB2312`,`EUC_CN`,`GBK`),C.EUC_KR=new C(S.EUC_KR,30,`EUC_KR`,`EUC-KR`);class w extends s{}w.kind=`UnsupportedOperationException`;class T{static decode(e,t){let n=this.encodingName(t);return this.customDecoder?this.customDecoder(e,n):typeof TextDecoder>`u`||this.shouldDecodeOnFallback(n)?this.decodeFallback(e,n):new TextDecoder(n).decode(e)}static shouldDecodeOnFallback(e){return!T.isBrowser()&&e===`ISO-8859-1`}static encode(e,t){let n=this.encodingName(t);return this.customEncoder?this.customEncoder(e,n):typeof TextEncoder>`u`?this.encodeFallback(e):new TextEncoder().encode(e)}static isBrowser(){return typeof window<`u`&&{}.toString.call(window)===`[object Window]`}static encodingName(e){return typeof e==`string`?e:e.getName()}static encodingCharacterSet(e){return e instanceof C?e:C.getCharacterSetECIByName(e)}static decodeFallback(e,t){let n=this.encodingCharacterSet(t);if(T.isDecodeFallbackSupported(n)){let t=``;for(let n=0,r=e.length;n<r;n++){let r=e[n].toString(16);r.length<2&&(r=`0`+r),t+=`%`+r}return decodeURIComponent(t)}if(n.equals(C.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(e.buffer));throw new w(`Encoding ${this.encodingName(t)} not supported by fallback.`)}static isDecodeFallbackSupported(e){return e.equals(C.UTF8)||e.equals(C.ISO8859_1)||e.equals(C.ASCII)}static encodeFallback(e){let t=btoa(unescape(encodeURIComponent(e))).split(``),n=[];for(let e=0;e<t.length;e++)n.push(t[e].charCodeAt(0));return new Uint8Array(n)}}class E{static castAsNonUtf8Char(e,t=null){let n=t?t.getName():this.ISO88591;return T.decode(new Uint8Array([e]),n)}static guessEncoding(e,t){if(t!=null&&t.get(b.CHARACTER_SET)!==void 0)return t.get(b.CHARACTER_SET).toString();let n=e.length,r=!0,i=!0,a=!0,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=e.length>3&&e[0]===239&&e[1]===187&&e[2]===191;for(let t=0;t<n&&(r||i||a);t++){let n=e[t]&255;a&&(o>0?n&128?o--:a=!1:n&128&&(n&64?(o++,n&32?(o++,n&16?(o++,n&8?a=!1:l++):c++):s++):a=!1)),r&&(n>127&&n<160?r=!1:n>159&&(n<192||n===215||n===247)&&g++),i&&(u>0?n<64||n===127||n>252?i=!1:u--:n===128||n===160||n>239?i=!1:n>160&&n<224?(d++,p=0,f++,f>m&&(m=f)):n>127?(u++,f=0,p++,p>h&&(h=p)):(f=0,p=0))}return a&&o>0&&(a=!1),i&&u>0&&(i=!1),a&&(_||s+c+l>0)?E.UTF8:i&&(E.ASSUME_SHIFT_JIS||m>=3||h>=3)?E.SHIFT_JIS:r&&i?m===2&&d===2||g*10>=n?E.SHIFT_JIS:E.ISO88591:r?E.ISO88591:i?E.SHIFT_JIS:a?E.UTF8:E.PLATFORM_DEFAULT_ENCODING}static format(e,...t){let n=-1;function r(e,r,i,a,o,s){if(e===`%%`)return`%`;if(t[++n]===void 0)return;e=a?parseInt(a.substr(1)):void 0;let c=o?parseInt(o.substr(1)):void 0,l;switch(s){case`s`:l=t[n];break;case`c`:l=t[n][0];break;case`f`:l=parseFloat(t[n]).toFixed(e);break;case`p`:l=parseFloat(t[n]).toPrecision(e);break;case`e`:l=parseFloat(t[n]).toExponential(e);break;case`x`:l=parseInt(t[n]).toString(c||16);break;case`d`:l=parseFloat(parseInt(t[n],c||10).toPrecision(e)).toFixed(0);break}l=typeof l==`object`?JSON.stringify(l):(+l).toString(c);let u=parseInt(i),d=i&&i[0]+``==`0`?`0`:` `;for(;l.length<u;)l=r===void 0?d+l:l+d;return l}return e.replace(/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g,r)}static getBytes(e,t){return T.encode(e,t)}static getCharCode(e,t=0){return e.charCodeAt(t)}static getCharAt(e){return String.fromCharCode(e)}}E.SHIFT_JIS=C.SJIS.getName(),E.GB2312=`GB2312`,E.ISO88591=C.ISO8859_1.getName(),E.EUC_JP=`EUC_JP`,E.UTF8=C.UTF8.getName(),E.PLATFORM_DEFAULT_ENCODING=E.UTF8,E.ASSUME_SHIFT_JIS=!1;class D{constructor(e=``){this.value=e}enableDecoding(e){return this.encoding=e,this}append(e){return typeof e==`string`?this.value+=e.toString():this.encoding?this.value+=E.castAsNonUtf8Char(e,this.encoding):this.value+=String.fromCharCode(e),this}appendChars(e,t,n){for(let r=t;t<t+n;r++)this.append(e[r]);return this}length(){return this.value.length}charAt(e){return this.value.charAt(e)}deleteCharAt(e){this.value=this.value.substr(0,e)+this.value.substring(e+1)}setCharAt(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+1)}substring(e,t){return this.value.substring(e,t)}setLengthToZero(){this.value=``}toString(){return this.value}insert(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+t.length)}}class O{constructor(e,t,n,r){if(this.width=e,this.height=t,this.rowSize=n,this.bits=r,t??=e,this.height=t,e<1||t<1)throw new l(`Both dimensions must be greater than 0`);n??=Math.floor((e+31)/32),this.rowSize=n,r??(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(e){let t=e.length,n=e[0].length,r=new O(n,t);for(let i=0;i<t;i++){let t=e[i];for(let e=0;e<n;e++)t[e]&&r.set(e,i)}return r}static parseFromString(e,t,n){if(e===null)throw new l(`stringRepresentation cannot be null`);let r=Array(e.length),i=0,a=0,o=-1,s=0,c=0;for(;c<e.length;)if(e.charAt(c)===`
3331
+ `}function x(e,t=!1){a(`failed`),o(e),s(t),ac({title:`Dev server failed to start`,description:e,variant:`destructive`})}function C(e){if(p.current)return;p.current=!0;let n=y(e);HT(t,e,n.trim()?n:`Dev server started.
3332
+ `),f.current?.abort(),f.current=null,a(`running`),s(!0),o(null)}function w(e,n){if(p.current)return;p.current=!0;let r=n!==void 0&&n!==0;HT(t,e,b(e),r),s(!1),r?x(y(e).trim()||`Dev server failed to start.`,!1):(a(`idle`),o(null)),c(null)}async function T(e,n,r){if(_.current||(_.current=!0,!await d({projectId:e.projectId,port:n.port,pid:n.pid,command:n.command})))return!1;if(n.port==null)return ac({title:`Couldn't free port`,description:`Port in use but the port number couldn't be determined. Check the output.`,variant:`destructive`}),!1;let i=await Oi(e.projectId,n.port);if(!i.success){let e=i.killCommand??se(n.port);return ac({title:`Couldn't free port`,description:i.error??`Port ${n.port} is still in use.`,variant:`destructive`}),t({type:Y.AppendToolExecutionOutput,toolCallId:`dev-server-port-${Date.now()}`,threadId:r.threadId,toolName:`bash`,delta:`Manual fix: ${e}\n`}),!1}return!0}function E(){h.current=!0}function D(e,n,a){return E(),bw({url:e,useBuiltInBrowser:n.useBuiltInBrowser!==!1,setDevServerUrl:i,openBrowserPanel:()=>{r(`browser`,{navigateToChat:!1})},openExternalUrl:ui,onTerminalMessage:e=>{t({type:Y.AppendToolExecutionOutput,toolCallId:a.toolCallId,threadId:a.threadId,toolName:`bash`,delta:`${e}\n`})}}).then(()=>{C(a)})}async function O(n,r,i){_.current=!1,h.current=!1,g.current=!1,p.current=!1;let o,s=null;v.current=null;let l=setTimeout(()=>{if(h.current||i.aborted||p.current||g.current)return;let e=m(y(r));if(e){D(e,n,r);return}g.current=!0,ac({title:`No dev URL detected yet`,description:`Check the output or enter the URL manually in the Browser panel.`})},j);try{let l=await Ca(n.projectId,e??void 0,i);if(!l)return HT(t,r,`Failed to start dev server.
3333
+ `,!0),x(`Failed to start dev server.`),p.current=!0,`failed`;a(`starting`),await XT(l,JT({dispatch:t,toolCallId:r.toolCallId,threadId:r.threadId,isUrlDetected:()=>h.current,markUrlDetected:E,onUrl:async e=>{await D(e,n,r)},onPortInUse:e=>{v.current=e,t({type:Y.AppendToolExecutionOutput,toolCallId:r.toolCallId,threadId:r.threadId,toolName:`bash`,delta:e.port?`Port ${e.port} is already in use.\n`:`Dev server port is already in use.
3334
+ `}),s||=T(n,e,r)},onExitCode:e=>{o=e}}),i);let u=v.current;if(u!=null&&!p.current){if(await s??!1)return`retry`;let e=$T(u.port);return HT(t,r,`${y(r)}${e}\n`.trimStart(),!0),p.current=!0,x(e,!1),c(null),`failed`}return p.current||w(r,o),p.current&&o===0?`success`:`failed`}catch(e){return i.aborted&&p.current?`failed`:(ZT.error(`Failed to start dev server:`,e),p.current||=(HT(t,r,`${y(r)}Failed to start dev server.\n`.trimStart(),!0),!0),x(`Failed to start dev server.`),c(null),`failed`)}finally{clearTimeout(l)}}let k=async n=>{if(!n?.runCommand||!n?.projectId||!e)return;u.current=!1,f.current?.abort(),f.current=new AbortController;try{(await Kr(n.projectId)).isRunning&&await bo(n.projectId)}catch{}c(n.projectId),a(`starting`),o(null),s(!0);let r=RT(),i={threadId:e,toolCallId:r,messageId:`msg-dev-server-${r}`,command:n.runCommand};BT(t,i);let l=0;for(;l<2;){l+=1;let e=new AbortController;if(f.current=e,await O(n,i,e.signal)!==`retry`)break}};async function A(e){u.current=!0,a(`stopping`);try{await bo(e);let t=Date.now();for(;Date.now()-t<S&&(await Kr(e)).isRunning;)await QT(200);i(null),l(!0),a(`idle`),o(null),s(!1),c(null)}catch(e){ac({title:`Error`,description:e instanceof Error?e.message:`Failed to stop dev server`,variant:`destructive`}),a(`running`)}}function M(){a(`idle`),o(null),s(!1),c(null)}return{startServer:k,stopServer:A,dismissFailed:M,setServerUrl:i}}var tE=3e4,nE=2e3,rE=5e3;function iE(e,t,n){return!e||t!==e?!1:n!==`idle`}function aE(e){let{devServerState:t,setDevServerState:n,devServerProjectId:r,setDevServerProjectId:i,setDevServerProcessAlive:a,setDevServerFailureReason:o}=yw(),s=t===`running`&&r===e,c=t===`starting`||t===`stopping`,l=t===`failed`&&r===e,u=(0,Z.useRef)(!1),d=(0,Z.useRef)(t),f=(0,Z.useRef)(r);d.current=t,f.current=r;let p=(0,Z.useCallback)(t=>{if(e){if(t){i(e),n(`running`),a(!0),o(null);return}r===e&&d.current!==`failed`&&(n(`idle`),i(null),a(!1))}},[e,r,i,n,a,o]);return(0,Z.useEffect)(()=>{e&&(u.current=!1,(async()=>{try{let t=await Kr(e),n=iE(e,f.current,d.current);if(!t.isRunning&&n&&d.current===`starting`||!t.isRunning&&d.current===`failed`)return;p(t.isRunning)}catch{iE(e,f.current,d.current)||p(!1)}finally{u.current=!0}})())},[e,p]),(0,Z.useEffect)(()=>{if(!e||t!==`starting`)return;let n=Date.now(),r=setInterval(()=>{if(Date.now()-n>tE){clearInterval(r);return}Kr(e).then(e=>{e.isRunning&&(p(!0),clearInterval(r))}).catch(()=>{})},nE);return()=>clearInterval(r)},[e,t,p]),(0,Z.useEffect)(()=>{if(!e||!s)return;let t=setInterval(()=>{Kr(e).then(e=>{e.isRunning||p(!1)}).catch(()=>{})},rE);return()=>clearInterval(t)},[e,s,p]),{isRunning:s,isLoading:c,isFailed:l,recheck:(0,Z.useCallback)(async()=>{if(e)try{p((await Kr(e)).isRunning)}catch{p(!1)}},[e,p])}}function oE(e,t,n,r){return e?`Stopping...`:t?`Starting...`:n?`Retry dev server`:r?`Stop dev server`:`Start dev server`}function sE(e){let t=(0,Q.c)(15),{isLoading:n,isFailed:r,isRunning:i,className:a,playClassName:o}=e,s=o===void 0?``:o;if(n){let e;t[0]===a?e=t[1]:(e=G(a,`animate-spin`),t[0]=a,t[1]=e);let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(ln,{className:e}),t[2]=e,t[3]=n),n}if(r){let e;return t[4]===a?e=t[5]:(e=(0,$.jsx)(Fe,{className:a}),t[4]=a,t[5]=e),e}if(i){let e;t[6]===a?e=t[7]:(e=G(a,`fill-current`),t[6]=a,t[7]=e);let n;return t[8]===e?n=t[9]:(n=(0,$.jsx)(z,{className:e}),t[8]=e,t[9]=n),n}let c;t[10]!==a||t[11]!==s?(c=G(a,s),t[10]=a,t[11]=s,t[12]=c):c=t[12];let l;return t[13]===c?l=t[14]:(l=(0,$.jsx)(Ae,{className:c}),t[13]=c,t[14]=l),l}function cE(e,t,n,r){return e||!n&&!t&&!r}function lE(e){let t=(0,Q.c)(13),{isLoading:n,isFailed:r,isRunning:i,label:a,handleClick:o,disabled:s}=e,c=`flex flex-col items-center gap-3 group disabled:opacity-40 disabled:cursor-not-allowed ${i?`text-orange-500`:r?`text-destructive`:`text-muted-foreground`}`,l;t[0]!==r||t[1]!==n||t[2]!==i?(l=(0,$.jsx)(sE,{isLoading:n,isFailed:r,isRunning:i,className:`h-10 w-10`,playClassName:`fill-current group-hover:text-foreground transition-colors`}),t[0]=r,t[1]=n,t[2]=i,t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(U.body,`group-hover:text-foreground transition-colors`),t[4]=u):u=t[4];let d;t[5]===a?d=t[6]:(d=(0,$.jsx)(`span`,{className:u,children:a}),t[5]=a,t[6]=d);let f;return t[7]!==s||t[8]!==o||t[9]!==c||t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`button`,{onClick:o,disabled:s,className:c,children:[l,d]}),t[7]=s,t[8]=o,t[9]=c,t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function uE(e){let t=(0,Q.c)(9),{isRunning:n,isFailed:r,icon:i,label:a,handleClick:o,disabled:s}=e,c=n&&`text-orange-500`,l=r&&`text-destructive`,u;t[0]!==c||t[1]!==l?(u=G(`w-full justify-start gap-2`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==o||t[5]!==i||t[6]!==a||t[7]!==u?(d=(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:u,onClick:o,disabled:s,children:[i,a]}),t[3]=s,t[4]=o,t[5]=i,t[6]=a,t[7]=u,t[8]=d):d=t[8],d}function dE(e){let t=(0,Q.c)(15),{buttonClassName:n,icon:r,label:i,tooltip:a,handleClick:o,disabled:s}=e,c;t[0]===n?c=t[1]:(c=G(`relative h-8 w-8`,n),t[0]=n,t[1]=c);let l;t[2]===i?l=t[3]:(l=(0,$.jsx)(`span`,{className:`sr-only`,children:i}),t[2]=i,t[3]=l);let u;t[4]!==s||t[5]!==o||t[6]!==r||t[7]!==c||t[8]!==l?(u=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:c,onClick:o,disabled:s,children:[r,l]})}),t[4]=s,t[5]=o,t[6]=r,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===a?d=t[11]:(d=(0,$.jsx)(Fr,{children:a}),t[10]=a,t[11]=d);let f;return t[12]!==u||t[13]!==d?(f=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[u,d]})}),t[12]=u,t[13]=d,t[14]=f):f=t[14],f}function fE(e){let t=(0,Q.c)(65),{projectId:n,runCommand:r,large:i,layout:a}=e,o=a===void 0?`bar`:a,s=X(pE),c;if(t[0]!==n||t[1]!==s){let e;t[3]===n?e=t[4]:(e=e=>e.projectId===n,t[3]=n,t[4]=e),c=s.find(e),t[0]=n,t[1]=s,t[2]=c}else c=t[2];let l=c,{devServerState:u,devServerFailureReason:d,devServerProcessAlive:f,setDevServerProjectId:p}=yw(),{startServer:m,stopServer:h,dismissFailed:g}=eE();aE(n);let _=gC(),v=u===`starting`,y=u===`stopping`,b=u===`running`,x=u===`failed`,S=v||y,C;t[5]!==n||t[6]!==r||t[7]!==l?.useBuiltInBrowser||t[8]!==m?(C=function(){m({projectId:n,runCommand:r||``,useBuiltInBrowser:l?.useBuiltInBrowser!==!1})},t[5]=n,t[6]=r,t[7]=l?.useBuiltInBrowser,t[8]=m,t[9]=C):C=t[9];let w=C,T;t[10]!==f||t[11]!==g||t[12]!==x||t[13]!==n||t[14]!==p||t[15]!==h?(T=async function(){if(x&&!f){g();return}p(n);try{await h(n)}catch(e){let t=e;ac({title:`Error`,description:t instanceof Error?t.message:`Failed to stop dev server`,variant:`destructive`})}},t[10]=f,t[11]=g,t[12]=x,t[13]=n,t[14]=p,t[15]=h,t[16]=T):T=t[16];let E=T,D;t[17]!==w||t[18]!==E||t[19]!==x||t[20]!==b||t[21]!==v?(D=function(){if(x){w();return}if(b||v){E();return}w()},t[17]=w,t[18]=E,t[19]=x,t[20]=b,t[21]=v,t[22]=D):D=t[22];let O=D,k;t[23]===r?k=t[24]:(k=r?.trim(),t[23]=r,t[24]=k);let A=!!k,j;t[25]!==x||t[26]!==b||t[27]!==v||t[28]!==y?(j=oE(y,v,x,b),t[25]=x,t[26]=b,t[27]=v,t[28]=y,t[29]=j):j=t[29];let M=j,N;t[30]!==A||t[31]!==x||t[32]!==S||t[33]!==b?(N=cE(S,x,b,A),t[30]=A,t[31]=x,t[32]=S,t[33]=b,t[34]=N):N=t[34];let P=N;if(_&&!A&&!b&&!S&&!x)return null;let F=b&&`text-orange-500 bg-orange-500/10`,I=x&&`text-destructive bg-destructive/10`,L=!b&&!x&&(_?`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`:`text-muted-foreground`),R=b&&`before:absolute before:inset-[-1px] before:rounded-full before:border before:border-orange-500/60 before:animate-ping-subtle before:content-['']`,z;t[35]!==I||t[36]!==L||t[37]!==R||t[38]!==F?(z=G(F,I,L,R),t[35]=I,t[36]=L,t[37]=R,t[38]=F,t[39]=z):z=t[39];let B=z,V;t[40]!==x||t[41]!==S||t[42]!==b?(V=(0,$.jsx)(sE,{isLoading:S,isFailed:x,isRunning:b,className:`h-4 w-4`}),t[40]=x,t[41]=S,t[42]=b,t[43]=V):V=t[43];let H=V,ee=x?d??`Dev server failed to start`:b?`Stop dev server`:A?`Start dev server: ${r}`:`Set run command in project settings`;if(i){let e;return t[44]!==P||t[45]!==O||t[46]!==x||t[47]!==S||t[48]!==b||t[49]!==M?(e=(0,$.jsx)(lE,{isLoading:S,isFailed:x,isRunning:b,label:M,handleClick:O,disabled:P}),t[44]=P,t[45]=O,t[46]=x,t[47]=S,t[48]=b,t[49]=M,t[50]=e):e=t[50],e}if(o===`menu`){let e;return t[51]!==P||t[52]!==O||t[53]!==H||t[54]!==x||t[55]!==b||t[56]!==M?(e=(0,$.jsx)(uE,{isRunning:b,isFailed:x,icon:H,label:M,handleClick:O,disabled:P}),t[51]=P,t[52]=O,t[53]=H,t[54]=x,t[55]=b,t[56]=M,t[57]=e):e=t[57],e}let te;return t[58]!==B||t[59]!==P||t[60]!==O||t[61]!==H||t[62]!==M||t[63]!==ee?(te=(0,$.jsx)(dE,{buttonClassName:B,icon:H,label:M,tooltip:ee,handleClick:O,disabled:P}),t[58]=B,t[59]=P,t[60]=O,t[61]=H,t[62]=M,t[63]=ee,t[64]=te):te=t[64],te}function pE(e){return e.projects}function mE(e){return e===`menu`?`w-full justify-start gap-2`:`gap-2`}function hE(e){let t=(0,Q.c)(4),{threadId:n,projectId:r,messages:i,userTasks:a}=e,{hasChanges:o}=Fd(),s=i.length>0,c=!!n&&(s||o||a.length>0||!!(n&&r)),l;return t[0]!==o||t[1]!==s||t[2]!==c?(l={isVisible:c,hasMessages:s,hasChanges:o},t[0]=o,t[1]=s,t[2]=c,t[3]=l):l=t[3],l}function gE(e){let t=(0,Q.c)(13),{hasMessages:n,layout:r,toolbarButtonClass:i,isStartingNewChat:a,onNewChat:o,projectId:s}=e;if(!n)return null;if(r===`menu`){let e;t[0]!==a||t[1]!==o||t[2]!==i?(e=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`sm`,className:i,disabled:a,onClick:o,children:`New Chat`})}),t[0]=a,t[1]=o,t[2]=i,t[3]=e):e=t[3];let n=a?`Starting Chat`:`New Chat`,r;t[4]===n?r=t[5]:(r=(0,$.jsx)(Fr,{children:n}),t[4]=n,t[5]=r);let s;return t[6]!==e||t[7]!==r?(s=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[e,r]})}),t[6]=e,t[7]=r,t[8]=s):s=t[8],s}let c;return t[9]!==a||t[10]!==o||t[11]!==s?(c=(0,$.jsx)(gw,{projectId:s,onNewChat:o,isStartingNewChat:a}),t[9]=a,t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function _E(e){let t=(0,Q.c)(5),{hasChanges:n,layout:r,toolbarButtonClass:i,changedFilesCount:a,onReviewChanges:o}=e;if(!n||r!==`menu`)return null;let s=a===1?`Change`:`Changes`,c;return t[0]!==a||t[1]!==o||t[2]!==s||t[3]!==i?(c=(0,$.jsxs)(Hr,{variant:`ghost`,size:`sm`,className:i,onClick:o,children:[a,` `,s]}),t[0]=a,t[1]=o,t[2]=s,t[3]=i,t[4]=c):c=t[4],c}function vE(e){let t=(0,Q.c)(17),{showProjectToolbar:n,hasChatActions:r,projectId:i,threadId:a,runCommand:o,openWith:s}=e;if(!n)return null;let c;t[0]===r?c=t[1]:(c=r&&(0,$.jsx)(Tl,{className:`my-1`}),t[0]=r,t[1]=c);let l;t[2]!==i||t[3]!==o?(l=(0,$.jsx)(fE,{projectId:i,runCommand:o,layout:`menu`}),t[2]=i,t[3]=o,t[4]=l):l=t[4];let u;t[5]===a?u=t[6]:(u=(0,$.jsx)(Aw,{threadId:a,layout:`menu`}),t[5]=a,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(jw,{layout:`menu`}),t[7]=d):d=t[7];let f;t[8]!==s||t[9]!==i||t[10]!==a?(f=(0,$.jsx)(LT,{projectId:i,threadId:a,openWith:s,layout:`menu`}),t[8]=s,t[9]=i,t[10]=a,t[11]=f):f=t[11];let p;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==f?(p=(0,$.jsxs)($.Fragment,{children:[c,l,u,d,f]}),t[12]=c,t[13]=l,t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function yE(e){let t=(0,Q.c)(4),{hasMessages:n,onNewChat:r,projectId:i}=e,{isStartingNewChat:a}=BC();if(!n)return null;let o;return t[0]!==a||t[1]!==r||t[2]!==i?(o=(0,$.jsx)(`div`,{className:`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`,"data-chat-toolbar":!0,children:(0,$.jsx)(gw,{projectId:i,onNewChat:r,isStartingNewChat:a})}),t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3],o}function bE(e){let t=(0,Q.c)(7),{userTasks:n,effectiveIsStreaming:r,threadId:i,isCreatingProject:a,onSelectUserTask:o,onToggleUserTaskPinned:s,onRemoveUserTask:c,layout:l}=e;if(n.length===0)return null;let u=r||!i&&!a,d;return t[0]!==l||t[1]!==c||t[2]!==o||t[3]!==s||t[4]!==u||t[5]!==n?(d=(0,$.jsx)(PC,{tasks:n,disabled:u,onSelectTask:o,onTogglePinned:s,onRemoveTask:c,layout:l}),t[0]=l,t[1]=c,t[2]=o,t[3]=s,t[4]=u,t[5]=n,t[6]=d):d=t[6],d}function xE(e){let t=(0,Q.c)(4),{layout:n,threadId:r,projectId:i}=e;if(n!==`menu`||!r||!i)return null;let a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=(0,$.jsx)(AT,{projectId:i,threadId:r,layout:n},r),t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}function SE(e){let t=(0,Q.c)(2),{hasMessages:n,layout:r}=e;if(!n)return null;let i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(MC,{layout:r}),t[0]=r,t[1]=i),i}function CE(e){return e===`bar`?`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`:`flex flex-col items-stretch gap-1 p-1 min-w-[220px]`}function wE(e){let t=(0,Q.c)(61),{threadId:n,projectId:r,messages:i,userTasks:a,effectiveIsStreaming:o,isCreatingProject:s,onNewChat:c,onSelectUserTask:l,onToggleUserTaskPinned:u,onRemoveUserTask:d,layout:f}=e,p=f===void 0?`bar`:f,{openChatDockPanel:m}=Wd(),{isStartingNewChat:h}=BC(),g;t[0]!==i||t[1]!==r||t[2]!==n||t[3]!==a?(g={threadId:n,projectId:r,messages:i,userTasks:a},t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=g):g=t[4];let{hasMessages:_,hasChanges:v,isVisible:y}=hE(g),{changedFilesCount:b}=Fd(),x;t[5]===p?x=t[6]:(x=mE(p),t[5]=p,t[6]=x);let S=x,C=X(TE),w;if(t[7]!==r||t[8]!==C){let e;t[10]===r?e=t[11]:(e=e=>e.projectId===r,t[10]=r,t[11]=e),w=C.find(e),t[7]=r,t[8]=C,t[9]=w}else w=t[9];let T=w,E=p===`menu`&&!!n&&!!r,D=_||v||a.length>0||E;if(!y)return null;let O;t[12]===p?O=t[13]:(O=CE(p),t[12]=p,t[13]=O);let k=p===`bar`?!0:void 0,A=r||null,j;t[14]!==_||t[15]!==h||t[16]!==p||t[17]!==c||t[18]!==A||t[19]!==S?(j=(0,$.jsx)(gE,{hasMessages:_,layout:p,toolbarButtonClass:S,isStartingNewChat:h,onNewChat:c,projectId:A}),t[14]=_,t[15]=h,t[16]=p,t[17]=c,t[18]=A,t[19]=S,t[20]=j):j=t[20];let M;t[21]===m?M=t[22]:(M=()=>{m(`review`)},t[21]=m,t[22]=M);let N;t[23]!==b||t[24]!==v||t[25]!==p||t[26]!==M||t[27]!==S?(N=(0,$.jsx)(_E,{hasChanges:v,layout:p,toolbarButtonClass:S,changedFilesCount:b,onReviewChanges:M}),t[23]=b,t[24]=v,t[25]=p,t[26]=M,t[27]=S,t[28]=N):N=t[28];let P;t[29]!==o||t[30]!==s||t[31]!==p||t[32]!==d||t[33]!==l||t[34]!==u||t[35]!==n||t[36]!==a?(P=(0,$.jsx)(bE,{userTasks:a,effectiveIsStreaming:o,threadId:n,isCreatingProject:s,onSelectUserTask:l,onToggleUserTaskPinned:u,onRemoveUserTask:d,layout:p}),t[29]=o,t[30]=s,t[31]=p,t[32]=d,t[33]=l,t[34]=u,t[35]=n,t[36]=a,t[37]=P):P=t[37];let F;t[38]!==p||t[39]!==r||t[40]!==n?(F=(0,$.jsx)(xE,{layout:p,threadId:n,projectId:r}),t[38]=p,t[39]=r,t[40]=n,t[41]=F):F=t[41];let I;t[42]!==_||t[43]!==p?(I=(0,$.jsx)(SE,{hasMessages:_,layout:p}),t[42]=_,t[43]=p,t[44]=I):I=t[44];let L=T?.runCommand,R=T?.openWith,z;t[45]!==D||t[46]!==r||t[47]!==E||t[48]!==L||t[49]!==R||t[50]!==n?(z=(0,$.jsx)(vE,{showProjectToolbar:E,hasChatActions:D,projectId:r,threadId:n,runCommand:L,openWith:R}),t[45]=D,t[46]=r,t[47]=E,t[48]=L,t[49]=R,t[50]=n,t[51]=z):z=t[51];let B;return t[52]!==N||t[53]!==P||t[54]!==F||t[55]!==I||t[56]!==z||t[57]!==O||t[58]!==k||t[59]!==j?(B=(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:O,"data-chat-toolbar":k,children:[j,N,P,F,I,z]})}),t[52]=N,t[53]=P,t[54]=F,t[55]=I,t[56]=z,t[57]=O,t[58]=k,t[59]=j,t[60]=B):B=t[60],B}function TE(e){return e.projects}function EE(e){let t=(0,Q.c)(11),{mode:n,messages:r,onNewChat:i}=e,a=n===void 0?`full`:n,o;t[0]!==r||t[1]!==e.projectId||t[2]!==e.threadId||t[3]!==e.userTasks?(o={threadId:e.threadId,projectId:e.projectId,messages:r,userTasks:e.userTasks},t[0]=r,t[1]=e.projectId,t[2]=e.threadId,t[3]=e.userTasks,t[4]=o):o=t[4];let{hasMessages:s}=hE(o);if(a===`newChatOnly`){let n=e.projectId||null,r;return t[5]!==s||t[6]!==i||t[7]!==n?(r=(0,$.jsx)(yE,{hasMessages:s,onNewChat:i,projectId:n}),t[5]=s,t[6]=i,t[7]=n,t[8]=r):r=t[8],r}let c;return t[9]===e?c=t[10]:(c=(0,$.jsx)(wE,{...e}),t[9]=e,t[10]=c),c}function DE(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(EE,{...e}),t[0]=e,t[1]=n),n}function OE(e){let t=(0,Q.c)(29),{inPill:n}=e,r=n===void 0?!1:n,i=gC(),a=X(jE),o=X(AE),s=X(kE),{userTasks:c,handleNewChat:l,handleSelectUserTask:u,handleRemoveUserTask:d,toggleUserTaskPinned:f,effectiveIsStreaming:p,isCreatingProject:m}=BC(),h;t[0]!==s||t[1]!==o||t[2]!==a||t[3]!==c?(h={threadId:a,projectId:o,messages:s,userTasks:c},t[0]=s,t[1]=o,t[2]=a,t[3]=c,t[4]=h):h=t[4];let{isVisible:g}=hE(h);if(!a||!g)return null;let _=r||!i?`text-muted-foreground`:nl,v;t[5]===_?v=t[6]:(v=G(`h-8 w-8 shrink-0 md:hidden electrobun-webkit-app-region-no-drag`,_),t[5]=_,t[6]=v);let y,b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(lt,{className:`h-4 w-4`}),b=(0,$.jsx)(`span`,{className:`sr-only`,children:`Chat actions`}),t[7]=y,t[8]=b):(y=t[7],b=t[8]);let x;t[9]===v?x=t[10]:(x=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:v,children:[y,b]})}),t[9]=v,t[10]=x);let S=o??``,C;t[11]===l?C=t[12]:(C=()=>{l()},t[11]=l,t[12]=C);let w;t[13]===d?w=t[14]:(w=e=>{d(e)},t[13]=d,t[14]=w);let T;t[15]!==p||t[16]!==u||t[17]!==m||t[18]!==s||t[19]!==a||t[20]!==w||t[21]!==S||t[22]!==C||t[23]!==f||t[24]!==c?(T=(0,$.jsx)(bl,{align:`end`,className:`electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(wE,{threadId:a,projectId:S,messages:s,userTasks:c,effectiveIsStreaming:p,isCreatingProject:m,onNewChat:C,onSelectUserTask:u,onToggleUserTaskPinned:f,onRemoveUserTask:w,layout:`menu`})}),t[15]=p,t[16]=u,t[17]=m,t[18]=s,t[19]=a,t[20]=w,t[21]=S,t[22]=C,t[23]=f,t[24]=c,t[25]=T):T=t[25];let E;return t[26]!==T||t[27]!==x?(E=(0,$.jsxs)(hl,{children:[x,T]}),t[26]=T,t[27]=x,t[28]=E):E=t[28],E}function kE(e){return e.messages}function AE(e){return e.selectedProjectId}function jE(e){return e.selectedThreadId}function ME(e){let t=(0,Q.c)(3),{threadId:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Pd,{threadId:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function NE(e,t){let n=t[0],r={toolCallId:e,questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header};return Object.defineProperties(r,{question:{value:r.question,enumerable:!1,writable:!0},options:{value:r.options,enumerable:!1,writable:!0},context:{value:r.context,enumerable:!1,writable:!0}}),r}var PE=1500;function FE(e){let t=[];for(let n of e){let e=Hs(n.content);e&&t.push(...e)}return t}function IE(e,t){let n=[];for(let[r,i]of Object.entries(e))!i||i.length===0||v_(r)===t&&n.push(...am(i));return n}function LE(e){let t=new Set;for(let n of e)ws(n)&&t.add(n.toolCallId);let n=null;for(let r of e){if(!Us(r)||r.name!==`ask_user`||t.has(r.id))continue;let e=Mv(r.input);e.questions.length!==0&&(n=NE(r.id,e.questions))}return n}function RE(e){return e.isThreadActive?LE([...e.messageBlocks,...Bs(e.streamingSegments),...IE(e.subagentTranscripts,e.paneId)]):null}function zE(e,t,n,r){if(t){let n=e.find(e=>e.toolCallId===t);if(n)return NE(n.toolCallId,n.questions)}if(!n)return null;let i=e.find(e=>w_(e.toolCallId)===r&&C_(e.toolCallId)===n);return i?NE(i.toolCallId,i.questions):null}function BE(e){let t=(0,Q.c)(24),{paneId:n}=wv(),r=X(HE),i;t[0]!==n||t[1]!==r?(i=e=>As(e.threadStreamingStates,r,n).streamingSegments,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=X(i),o=X(VE),s;t[3]!==n||t[4]!==r?(s=e=>ks(e,r,n),t[3]=n,t[4]=r,t[5]=s):s=t[5];let c=X(s),l;t[6]===e?l=t[7]:(l=FE(e),t[6]=e,t[7]=l);let u=l,d;t[8]!==c||t[9]!==u||t[10]!==n||t[11]!==a||t[12]!==o?(d=RE({messageBlocks:u,streamingSegments:a,subagentTranscripts:o,isThreadActive:c,paneId:n}),t[8]=c,t[9]=u,t[10]=n,t[11]=a,t[12]=o,t[13]=d):d=t[13];let f=d,[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=(0,Z.useRef)(null),v=f?.toolCallId??null,y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{g(null)},t[14]=y):y=t[14];let b=p?.toolCallId,x;t[15]!==v||t[16]!==b?(x=[v,b],t[15]=v,t[16]=b,t[17]=x):x=t[17],(0,Z.useEffect)(y,x);let S,C;t[18]!==v||t[19]!==c||t[20]!==n||t[21]!==r?(S=()=>{if(!c){m(null),_.current=null;return}let e=!1,t=async function(){try{let t=await ei();if(e)return;if(t.length===0){_.current&&=(g(_.current),null),m(null);return}let i=zE(t,v,r,n);if(!i){_.current=null,m(null);return}_.current=i.toolCallId,m(NE(i.toolCallId,i.questions))}catch{}};t();let i=setInterval(()=>{t()},PE);return()=>{e=!0,clearInterval(i)}},C=[c,v,r,n],t[18]=v,t[19]=c,t[20]=n,t[21]=r,t[22]=S,t[23]=C):(S=t[22],C=t[23]),(0,Z.useEffect)(S,C);let w=f??p;return!w||h===w.toolCallId?null:w}function VE(e){return e.subagentTranscripts}function HE(e){return e.selectedThreadId}function UE(e){let t=(0,Q.c)(10),{open:n,onClose:r}=e,i=Yn(),a;t[0]===r?a=t[1]:(a=e=>{e||r()},t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsxs)(fc,{children:[(0,$.jsx)(sc,{children:`Balance empty`}),(0,$.jsx)(oc,{children:`You have no prompts remaining. Purchase additional prompts to continue.`})]}),t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r?(s=(0,$.jsxs)(cc,{children:[o,(0,$.jsx)(uc,{children:(0,$.jsx)(Hr,{onClick:()=>{r(),i(`/settings/account`)},children:`Go to Account`})})]}),t[3]=i,t[4]=r,t[5]=s):s=t[5];let c;return t[6]!==n||t[7]!==a||t[8]!==s?(c=(0,$.jsx)(pc,{open:n,onOpenChange:a,children:s}),t[6]=n,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function WE(e){let t=(0,Q.c)(4),{messages:n}=e,r;t[0]===n?r=t[1]:(r=n===void 0?[]:n,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,$.jsx)(qE,{messages:i}),t[2]=i,t[3]=a),a}function GE(e){let t=(0,Q.c)(19),{visible:n,paneId:r,threadId:i,projectId:a,messages:o,userTasks:s,effectiveIsStreaming:c,isCreatingProject:l,onNewChat:u,onSelectUserTask:d,onToggleUserTaskPinned:f,onRemoveUserTask:p}=e;if(!n)return null;let m=r===`primary`?`full`:`newChatOnly`,h;t[0]!==r||t[1]!==s?(h=r===`primary`?s:[],t[0]=r,t[1]=s,t[2]=h):h=t[2];let g=h,_;t[3]===u?_=t[4]:(_=()=>{u()},t[3]=u,t[4]=_);let v;t[5]===p?v=t[6]:(v=e=>{p(e)},t[5]=p,t[6]=v);let y;return t[7]!==c||t[8]!==l||t[9]!==o||t[10]!==m||t[11]!==d||t[12]!==f||t[13]!==a||t[14]!==_||t[15]!==v||t[16]!==i||t[17]!==g?(y=(0,$.jsx)(`div`,{className:`max-md:hidden`,children:(0,$.jsx)(DE,{threadId:i,projectId:a,messages:o,userTasks:g,effectiveIsStreaming:c,isCreatingProject:l,mode:m,onNewChat:_,onSelectUserTask:d,onToggleUserTaskPinned:f,onRemoveUserTask:v})}),t[7]=c,t[8]=l,t[9]=o,t[10]=m,t[11]=d,t[12]=f,t[13]=a,t[14]=_,t[15]=v,t[16]=i,t[17]=g,t[18]=y):y=t[18],y}function KE(e){let t=(0,Q.c)(25),{activeAskUserPrompt:n,handleAskUserAnswered:r,handleAskUserStop:i,elevated:a,centered:o,embedded:s,planMode:c,setPlanMode:l,onSend:u,onStop:d,isStreaming:f,disabled:p,queuedMessages:m,onRemoveQueuedMessage:h,userTasks:g,handleRemoveUserTask:_,setUserTasks:v}=e;if(n){let e;return t[0]!==n.questions||t[1]!==n.toolCallId||t[2]!==a||t[3]!==r||t[4]!==i?(e=(0,$.jsx)(pC,{toolCallId:n.toolCallId,questions:n.questions,onAnswered:r,onStop:i,elevated:a}),t[0]=n.questions,t[1]=n.toolCallId,t[2]=a,t[3]=r,t[4]=i,t[5]=e):e=t[5],e}let y;t[6]===_?y=t[7]:(y=e=>{e.pinned||_(e.id)},t[6]=_,t[7]=y);let b;t[8]===v?b=t[9]:(b=e=>{v(t=>[...t,e])},t[8]=v,t[9]=b);let x;return t[10]!==o||t[11]!==p||t[12]!==a||t[13]!==s||t[14]!==f||t[15]!==h||t[16]!==u||t[17]!==d||t[18]!==c||t[19]!==m||t[20]!==l||t[21]!==y||t[22]!==b||t[23]!==g?(x=(0,$.jsx)(eC,{planMode:c,setPlanMode:l,onSend:u,onStop:d,isStreaming:f,disabled:p,initialValue:``,queuedMessages:m,onRemoveQueuedMessage:h,isOverlay:!1,centered:o,embedded:s,elevated:a,userTasks:g,onMatchedUserTaskSend:y,onUserTaskCreated:b}),t[10]=o,t[11]=p,t[12]=a,t[13]=s,t[14]=f,t[15]=h,t[16]=u,t[17]=d,t[18]=c,t[19]=m,t[20]=l,t[21]=y,t[22]=b,t[23]=g,t[24]=x):x=t[24],x}function qE(e){let t=(0,Q.c)(67),{messages:n}=e,{paneId:r,conversationId:i,fillPane:a}=wv(),o=aC(),s=oC(),c=o?.placement===`footer`&&!o.embedded,l=o?.embedded??!1,u=!(c&&s!==`centered`),d=X(QE),f=X(ZE),p=X(XE),m=X(YE),[h,g]=Z.useState(!1),{handleSend:_,handleStop:v,getQueuedMessagesForPane:y,handleRemoveQueuedMessage:b,showEmptyBalanceDialog:x,setShowEmptyBalanceDialog:S}=bv(),{userTasks:C,setUserTasks:w,handleNewChat:T,handleSelectUserTask:E,handleRemoveUserTask:D,toggleUserTaskPinned:O,effectiveIsStreaming:k,isStartingNewChat:A}=BC(),[j,M]=(0,Z.useState)(JE),N=BE(n),P;t[0]!==j||t[1]!==N?(P=N&&!j.has(N.toolCallId)?N:null,t[0]=j,t[1]=N,t[2]=P):P=t[2];let F=P,I;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{M(t=>{let n=new Set(t);return n.add(e),n})},t[3]=I):I=t[3];let L=I,R;t[4]!==i||t[5]!==_||t[6]!==r?(R=(e,t,n,a,o,s,c,l)=>_(r,i,e,t,n,a,o,s,c,l),t[4]=i,t[5]=_,t[6]=r,t[7]=R):R=t[7];let z=R,B;t[8]!==v||t[9]!==r?(B=()=>{v(r)},t[8]=v,t[9]=r,t[10]=B):B=t[10];let V=B,H;t[11]!==F||t[12]!==V?(H=()=>{V(),F&&L(F.toolCallId)},t[11]=F,t[12]=V,t[13]=H):H=t[13];let ee=H,te;t[14]!==b||t[15]!==r?(te=e=>{b(r,e)},t[14]=b,t[15]=r,t[16]=te):te=t[16];let ne=te,re=r===`primary`&&f&&(p||n.length>0||C.length>0),ie=r!==`primary`&&f&&n.length>0,ae;t[17]===S?ae=t[18]:(ae=()=>S(!1),t[17]=S,t[18]=ae);let oe;t[19]!==x||t[20]!==ae?(oe=(0,$.jsx)(UE,{open:x,onClose:ae}),t[19]=x,t[20]=ae,t[21]=oe):oe=t[21];let se;t[22]===a?se=t[23]:(se=my(a),t[22]=a,t[23]=se);let U=!!(re||ie),ce=p??``,le;t[24]===T?le=t[25]:(le=()=>{T()},t[24]=T,t[25]=le);let ue;t[26]!==k||t[27]!==D||t[28]!==E||t[29]!==d||t[30]!==n||t[31]!==r||t[32]!==f||t[33]!==U||t[34]!==ce||t[35]!==le||t[36]!==O||t[37]!==C?(ue=(0,$.jsx)(GE,{visible:U,paneId:r,threadId:f,projectId:ce,messages:n,userTasks:C,effectiveIsStreaming:k,isCreatingProject:d,onNewChat:le,onSelectUserTask:E,onToggleUserTaskPinned:O,onRemoveUserTask:D}),t[26]=k,t[27]=D,t[28]=E,t[29]=d,t[30]=n,t[31]=r,t[32]=f,t[33]=U,t[34]=ce,t[35]=le,t[36]=O,t[37]=C,t[38]=ue):ue=t[38];let W=!f&&!d||m||A,de;t[39]!==y||t[40]!==r?(de=y(r),t[39]=y,t[40]=r,t[41]=de):de=t[41];let fe;t[42]!==F||t[43]!==c||t[44]!==k||t[45]!==u||t[46]!==l||t[47]!==ee||t[48]!==D||t[49]!==ne||t[50]!==z||t[51]!==V||t[52]!==h||t[53]!==w||t[54]!==W||t[55]!==de||t[56]!==C?(fe=(0,$.jsx)(KE,{activeAskUserPrompt:F,handleAskUserAnswered:L,handleAskUserStop:ee,elevated:u,centered:c,embedded:l,planMode:h,setPlanMode:g,onSend:z,onStop:V,isStreaming:k,disabled:W,queuedMessages:de,onRemoveQueuedMessage:ne,userTasks:C,handleRemoveUserTask:D,setUserTasks:w}),t[42]=F,t[43]=c,t[44]=k,t[45]=u,t[46]=l,t[47]=ee,t[48]=D,t[49]=ne,t[50]=z,t[51]=V,t[52]=h,t[53]=w,t[54]=W,t[55]=de,t[56]=C,t[57]=fe):fe=t[57];let pe;t[58]!==ue||t[59]!==fe?(pe=(0,$.jsxs)(`div`,{className:`relative`,children:[ue,fe]}),t[58]=ue,t[59]=fe,t[60]=pe):pe=t[60];let me;t[61]!==pe||t[62]!==se?(me=(0,$.jsx)(`div`,{className:se,children:pe}),t[61]=pe,t[62]=se,t[63]=me):me=t[63];let he;return t[64]!==me||t[65]!==oe?(he=(0,$.jsxs)($.Fragment,{children:[oe,me]}),t[64]=me,t[65]=oe,t[66]=he):he=t[66],he}function JE(){return new Set}function YE(e){return e.selectedThreadId?e.threadToolSessions[e.selectedThreadId]?.kind===`create-project`:!1}function XE(e){return e.selectedProjectId}function ZE(e){return e.selectedThreadId}function QE(e){return e.isCreatingProject}function $E(e){let t=e?.querySelector(uy);return t?t.getBoundingClientRect().top:null}function eD(e,t,n){let r=(0,Q.c)(5),i,a;r[0]!==n||r[1]!==t||r[2]!==e?(i=()=>{let r=e.current;if(!n||!r)return;let i=function(){t.current=$E(r)};i();let a=new ResizeObserver(i);return a.observe(r),window.addEventListener(`resize`,i),()=>{a.disconnect(),window.removeEventListener(`resize`,i)}},a=[n,t,e],r[0]=n,r[1]=t,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,Z.useEffect)(i,a)}function tD(e,t,n){let r=(0,Q.c)(5),i,a;r[0]!==n||r[1]!==t||r[2]!==e?(i=()=>{let r=e.current,i=t.current;if(!n||!r||i===null)return;t.current=null;let a=$E(r);if(a===null||Math.abs(i-a)<1||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let o=r.animate([{transform:`translateY(${i-a}px)`},{transform:`translateY(0px)`}],{duration:300,easing:cy});return()=>o.cancel()},a=[n,t,e],r[0]=n,r[1]=t,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,Z.useLayoutEffect)(i,a)}var nD;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(nD||={});var rD;(function(e){e.Body=`body`,e.Ionic=`ionic`,e.Native=`native`,e.None=`none`})(rD||={});var iD=Ag(`Keyboard`);function aD(e){let t=window.visualViewport;if(!e||!t)return 0;let n=t.height+t.offsetTop,r=e.getBoundingClientRect().bottom;return Math.max(0,Math.round(r-n))}function oD(e,t){return vi()?t:e>0?e:t}function sD(e,t){let n=(0,Q.c)(6),[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(0),s=t?.onlyWhenOverlapping??!1,c,l;if(n[0]===e?(c=n[1],l=n[2]):(c=()=>{let t=function(){i(aD(e.current))},n=function(){t(),requestAnimationFrame(t)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n);let a=[];return Za()&&a.push(iD.addListener(`keyboardWillShow`,e=>{o(e.keyboardHeight)}),iD.addListener(`keyboardDidShow`,e=>{o(e.keyboardHeight)}),iD.addListener(`keyboardWillHide`,()=>{o(0)}),iD.addListener(`keyboardDidHide`,()=>{o(0)})),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n);for(let e of a)e.then(cD)}},l=[e],n[0]=e,n[1]=c,n[2]=l),(0,Z.useEffect)(c,l),s&&r<=0)return 0;let u;return n[3]!==r||n[4]!==a?(u=oD(r,a),n[3]=r,n[4]=a,n[5]=u):u=n[5],u}function cD(e){e.remove()}function lD(e){let t=(0,Q.c)(53),{paneId:n,inline:r}=e,i=r===void 0?!1:r,a=X(dD),o=X(uD),s=n??o,c;t[0]===s?c=t[1]:(c=e=>gs(e,s),t[0]=s,t[1]=c);let l=X(c),u;t[2]===s?u=t[3]:(u=e=>ys(e,s),t[2]=s,t[3]=u);let d=X(u),f=aC(),p=oC(),m=sC()?ly:void 0,h=f?.overlayRef,g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=f?.placement??`overlay`,y=f?.embedded??!1,b=y?g:h,x=b??g,S=f?.centeredComposerTopRef??_,C;t[4]===b?C=t[5]:(C=b??{current:null},t[4]=b,t[5]=C);let w=sD(C);if(eD(x,S,i&&p===`centered`),tD(x,S,!i&&p===`moving-to-footer`),!a||!b)return null;let T;t[6]===d?T=t[7]:(T=(0,$.jsx)(zC,{children:(0,$.jsx)(WE,{messages:d})}),t[6]=d,t[7]=T);let E;t[8]!==l||t[9]!==y||t[10]!==s||t[11]!==T?(E=(0,$.jsx)(Sv,{paneId:s,conversationId:l,fillPane:y,children:T},s),t[8]=l,t[9]=y,t[10]=s,t[11]=T,t[12]=E):E=t[12];let D=E;if(v===`footer`){if(y){let e;t[13]===w?e=t[14]:(e={paddingBottom:w},t[13]=w,t[14]=e);let n;t[15]===D?n=t[16]:(n=(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:D}),t[15]=D,t[16]=n);let r;return t[17]!==b||t[18]!==e||t[19]!==n?(r=(0,$.jsx)(`div`,{ref:b,className:`mx-0.5 mb-2 shrink-0 border-t border-border bg-background`,style:e,children:n}),t[17]=b,t[18]=e,t[19]=n,t[20]=r):r=t[20],r}if(i){let e;t[21]===m?e=t[22]:(e=G(`w-full min-w-0 shrink-0`,m),t[21]=m,t[22]=e);let n;t[23]===w?n=t[24]:(n={paddingBottom:w},t[23]=w,t[24]=n);let r;t[25]===D?r=t[26]:(r=(0,$.jsx)(`div`,{className:`pointer-events-auto w-full`,children:D}),t[25]=D,t[26]=r);let i;return t[27]!==b||t[28]!==e||t[29]!==n||t[30]!==r?(i=(0,$.jsx)(`div`,{ref:b,className:e,style:n,children:r}),t[27]=b,t[28]=e,t[29]=n,t[30]=r,t[31]=i):i=t[31],i}let e;t[32]===m?e=t[33]:(e=G(`shrink-0 bg-transparent max-md:px-2`,m),t[32]=m,t[33]=e);let n;t[34]===w?n=t[35]:(n={paddingBottom:w},t[34]=w,t[35]=n);let r;t[36]===D?r=t[37]:(r=(0,$.jsx)(`div`,{className:`relative mx-auto w-full max-w-3xl min-w-0 px-6`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto pt-2 pb-6`,children:D})}),t[36]=D,t[37]=r);let a;return t[38]!==b||t[39]!==e||t[40]!==n||t[41]!==r?(a=(0,$.jsx)(`div`,{ref:b,className:e,style:n,children:r}),t[38]=b,t[39]=e,t[40]=n,t[41]=r,t[42]=a):a=t[42],a}let O;t[43]===w?O=t[44]:(O={bottom:w},t[43]=w,t[44]=O);let k,A;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(k=py(!1),A=(0,$.jsx)(`div`,{className:`h-0 bg-gradient-to-t from-background to-transparent md:h-16`}),t[45]=k,t[46]=A):(k=t[45],A=t[46]);let j;t[47]===D?j=t[48]:(j=(0,$.jsxs)(`div`,{className:k,children:[A,(0,$.jsx)(`div`,{className:`pointer-events-auto bg-background pb-2 md:pb-4`,children:D})]}),t[47]=D,t[48]=j);let M;return t[49]!==b||t[50]!==j||t[51]!==O?(M=(0,$.jsx)(`div`,{ref:b,className:`pointer-events-none absolute inset-x-0 z-30 max-md:px-2`,style:O,children:j}),t[49]=b,t[50]=j,t[51]=O,t[52]=M):M=t[52],M}function uD(e){return e.focusedPane}function dD(e){return e.selectedThreadId}function fD(e){let t=[`What would you like to add to ${e}?`,`What should we build in ${e}?`,`What changes do you want to make to ${e}?`,`What feature should we add to ${e}?`,`What would you like to fix in ${e}?`,`What are we working on in ${e}?`,`What's next for ${e}?`,`What should we improve in ${e}?`,`How can we make ${e} better?`,`What would you like to change in ${e}?`,`What should we ship in ${e} next?`];return t[Math.floor(Math.random()*t.length)]}function pD(e){let t=(0,Q.c)(47),{project:n}=e,r=gC(),{isRunning:i}=aE(n?.projectId),{startServer:a}=eE(),o=aC(),s=o!=null&&!o.embedded;n?.name;let c=n?.name??`your project`,l;t[0]===c?l=t[1]:(l=fD(c),t[0]=c,t[1]=l);let u=l,d=!i&&n?.runCommand,f;t[2]!==n||t[3]!==a?(f=function(){n&&a(n)},t[2]=n,t[3]=a,t[4]=f):f=t[4];let p=f;if(r&&n){let e;t[5]===n?e=t[6]:(e=(0,$.jsx)(Yc,{project:n,className:`h-20 w-20`,iconClassName:`h-8 w-8`}),t[5]=n,t[6]=e);let r;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(r=G(U.pageTitle,`tracking-tight text-balance text-foreground`),t[7]=r):r=t[7];let i;t[8]===n.name?i=t[9]:(i=(0,$.jsx)(`h1`,{className:r,children:n.name}),t[8]=n.name,t[9]=i);let a;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(a=G(U.pageSubtitle,`mt-2`),t[10]=a):a=t[10];let o;t[11]===u?o=t[12]:(o=(0,$.jsx)(`p`,{className:a,children:u}),t[11]=u,t[12]=o);let c;t[13]!==i||t[14]!==o?(c=(0,$.jsxs)(`div`,{children:[i,o]}),t[13]=i,t[14]=o,t[15]=c):c=t[15];let l;t[16]!==p||t[17]!==d?(l=d?(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(U.label,`inline-flex items-center gap-2 rounded-full bg-primary px-4 py-2 text-primary-foreground transition-colors hover:bg-primary/90`),children:`Start App`}):null,t[16]=p,t[17]=d,t[18]=l):l=t[18];let f;t[19]!==l||t[20]!==e||t[21]!==c?(f=(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-6`,children:[e,c,l]}),t[19]=l,t[20]=e,t[21]=c,t[22]=f):f=t[22];let m;t[23]===s?m=t[24]:(m=s?(0,$.jsx)(`div`,{className:`mt-16 w-full`,children:(0,$.jsx)(lD,{inline:!0})}):null,t[23]=s,t[24]=m);let h;return t[25]!==f||t[26]!==m?(h=(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col items-center justify-center overflow-y-auto animate-in fade-in duration-500`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-4xl flex-col items-center px-6 py-10 text-center`,children:[f,m]})}),t[25]=f,t[26]=m,t[27]=h):h=t[27],h}let m;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`h-16 w-16 rounded-lg`}),t[28]=m):m=t[28];let h;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(h=G(U.pageTitle,`tracking-tight text-balance text-foreground`),t[29]=h):h=t[29];let g=n?.name??`Project`,_;t[30]===g?_=t[31]:(_=(0,$.jsx)(`h1`,{className:h,children:g}),t[30]=g,t[31]=_);let v;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(v=G(U.pageSubtitle,`mt-2`),t[32]=v):v=t[32];let y;t[33]===u?y=t[34]:(y=(0,$.jsx)(`p`,{className:v,children:u}),t[33]=u,t[34]=y);let b;t[35]!==_||t[36]!==y?(b=(0,$.jsxs)(`div`,{className:`text-center`,children:[_,y]}),t[35]=_,t[36]=y,t[37]=b):b=t[37];let x;t[38]!==p||t[39]!==d?(x=d&&(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(U.label,`inline-flex items-center gap-2 rounded-full bg-primary px-4 py-2 text-primary-foreground transition-colors hover:bg-primary/90`),children:`Start App`}),t[38]=p,t[39]=d,t[40]=x):x=t[40];let S;t[41]===s?S=t[42]:(S=s?(0,$.jsx)(lD,{inline:!0}):null,t[41]=s,t[42]=S);let C;return t[43]!==b||t[44]!==x||t[45]!==S?(C=(0,$.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`flex w-full max-w-3xl flex-col items-center gap-6 px-4`,children:[m,b,x,S]})}),t[43]=b,t[44]=x,t[45]=S,t[46]=C):C=t[46],C}function mD(e,t,n){return e.length+t.length+n}function hD({virtuosoRef:e,selectedThreadId:t,paneId:n,messagesLoaded:r,messageCount:i,isStreaming:a,hasPendingMessage:o}){let s=Vs(),c=(0,Z.useRef)(0),l=(0,Z.useRef)(!1),u=(0,Z.useRef)(!1),d=(0,Z.useRef)(!1),f=(0,Z.useRef)(0),p=(0,Z.useRef)(null),m=(0,Z.useCallback)(()=>{t&&e.current?.getState(e=>{Wo(t,e.scrollTop)})},[t,e]),h=(0,Z.useRef)(m);h.current=m;function g(){d.current&&h.current()}let _=(0,Z.useCallback)(t=>{f.current&&cancelAnimationFrame(f.current),f.current=requestAnimationFrame(()=>{e.current?.scrollTo({top:2**53-1,behavior:t}),f.current=0})},[e]);(0,Z.useEffect)(()=>{function e(){g()}return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[t]),(0,Z.useEffect)(()=>{let e=setInterval(()=>{g()},5e3);return()=>clearInterval(e)},[t]),(0,Z.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]),(0,Z.useEffect)(()=>{u.current=!1,d.current=!1,c.current=0},[t]),(0,Z.useEffect)(()=>{if(!t||!r||i===0||u.current)return;u.current=!0,c.current=i;let n=Ci(t);if(n!==null&&n>0){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.current?.scrollTo({top:n,behavior:`auto`}),d.current=!0})});return}d.current=!0},[t,r,i,e]),(0,Z.useEffect)(()=>{if(!u.current)return;let e=i>c.current,t=l.current&&!a;return(a||o||e||t)&&_(t?`smooth`:`auto`),c.current=i,l.current=a,()=>{f.current&&=(cancelAnimationFrame(f.current),0)}},[a,o,i,_]),(0,Z.useEffect)(()=>{if(!t||!(a||o))return;let e=As(s.getState().threadStreamingStates,t,n),r=mD(e.streamingContent,e.streamingThinking,e.streamingSegments.length);return s.subscribe(()=>{if(!u.current)return;let e=As(s.getState().threadStreamingStates,t,n),i=mD(e.streamingContent,e.streamingThinking,e.streamingSegments.length);i!==r&&(r=i,_(`auto`))})},[s,t,n,a,o,_]);function v(){p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(),p.current=null},150)}function y(e){e||g()}return{onRangeChanged:v,onScrollingStateChange:y}}function gD(e){return e.isCreatingProject||e.streamingSegmentCount>0?!0:e.lastMessageSender===`user`}function _D(e){if(e.isUser)return e.hasCheckpointRef?e.isStreaming||e.hasPendingMessage||e.isCreatingProject||e.isProcessingThread?`Restore unavailable while this thread is still processing.`:`Restore checkpoint`:`Restore unavailable: no checkpoint was created for this prompt.`}function vD(e){return{bottomInset:e.bottomInset,columnClassName:e.columnClassName,isStreaming:e.isStreaming,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread,hasPendingMessage:e.hasPendingMessage,isAutoRouting:e.isAutoRouting,hasActiveToolSession:e.hasActiveToolSession,selectedProjectId:e.selectedProjectId,selectedThreadId:e.selectedThreadId,totalMessages:e.totalMessages,lastMessageSender:e.lastMessageSender,error:e.error,onClearError:e.onClearError,showCheckpointRestore:e.showCheckpointRestore,getCheckpointTooltip:e.getCheckpointTooltip}}function yD(e){let t=(0,Z.forwardRef)((t,n)=>{let r=(0,Q.c)(9),i,a,o;r[0]===t?(i=r[1],a=r[2],o=r[3]):({style:o,children:i,...a}=t,r[0]=t,r[1]=i,r[2]=a,r[3]=o);let s;return r[4]!==i||r[5]!==a||r[6]!==n||r[7]!==o?(s=(0,$.jsx)(`div`,{ref:n,style:o,...a,className:e,children:i}),r[4]=i,r[5]=a,r[6]=n,r[7]=o,r[8]=s):s=r[8],s});return t.displayName=`MessageList`,t}function bD(e,t){return t.length>0||e.isCreatingProject&&!e.hasActiveToolSession||e.isProcessingThread&&(e.isStreaming||e.hasPendingMessage)}function xD(e,t){return e.isAutoRouting?!0:!bD(e,t)||!(e.isStreaming||e.isCreatingProject||e.isProcessingThread)?!1:gD({isCreatingProject:e.isCreatingProject,streamingSegmentCount:t.length,lastMessageSender:e.lastMessageSender})}function SD(e,t){return e.isAutoRouting?!0:!(e.isStreaming||e.hasPendingMessage)||Os(t)?!1:gD({isCreatingProject:e.isCreatingProject,streamingSegmentCount:t.length,lastMessageSender:e.lastMessageSender})}var CD=[];function wD(e){let t=(0,Q.c)(38),{context:n}=e,{paneId:r}=wv(),i;t[0]!==n?.selectedThreadId||t[1]!==r?(i=e=>As(e.threadStreamingStates,n?.selectedThreadId,r),t[0]=n?.selectedThreadId,t[1]=r,t[2]=i):i=t[2];let a=X(i);if(!n)return null;let{bottomInset:o,isCreatingProject:s,isProcessingThread:c,isAutoRouting:l,selectedProjectId:u,selectedThreadId:d,totalMessages:f,error:p,onClearError:m}=n,h=n.isStreaming||s||c?a.streamingSegments:CD,g;t[3]!==n||t[4]!==h?(g=xD(n,h),t[3]=n,t[4]=h,t[5]=g):g=t[5];let _=g,v;t[6]!==n||t[7]!==h?(v=SD(n,h),t[6]=n,t[7]=h,t[8]=v):v=t[8];let y=v,b;t[9]!==l||t[10]!==h?(b=l?null:Ls(Bs(h)),t[9]=l,t[10]=h,t[11]=b):b=t[11];let x=l?ze:b??void 0,S;t[12]===o?S=t[13]:(S={paddingBottom:o},t[12]=o,t[13]=S);let C;t[14]!==l||t[15]!==s||t[16]!==c||t[17]!==h||t[18]!==u||t[19]!==d||t[20]!==_||t[21]!==y||t[22]!==a||t[23]!==f?(C=_&&(0,$.jsx)(ty,{segments:h,model:a.streamingModel,mode:a.streamingAgentMode,threadId:d,projectId:u,isCreatingProject:s,isProcessingThread:c&&!l,totalMessages:f,showProcessingLine:y}),t[14]=l,t[15]=s,t[16]=c,t[17]=h,t[18]=u,t[19]=d,t[20]=_,t[21]=y,t[22]=a,t[23]=f,t[24]=C):C=t[24];let w;t[25]!==x||t[26]!==_||t[27]!==y?(w=y&&(0,$.jsx)(`div`,{className:G(`px-4 pb-4`,_?`pt-0`:`pt-2`),children:(0,$.jsx)(ay,{active:y,label:x})}),t[25]=x,t[26]=_,t[27]=y,t[28]=w):w=t[28];let T;t[29]!==p||t[30]!==m?(T=p&&(0,$.jsxs)(`div`,{className:`mx-4 my-2`,children:[(0,$.jsx)(mo,{variant:`error`,className:`mb-0`,children:p}),(0,$.jsx)(`button`,{type:`button`,className:G(U.compact,`mt-1 text-destructive underline underline-offset-2 hover:text-destructive/80`),onClick:m,children:`Dismiss`})]}),t[29]=p,t[30]=m,t[31]=T):T=t[31];let E;return t[32]!==n.columnClassName||t[33]!==S||t[34]!==C||t[35]!==w||t[36]!==T?(E=(0,$.jsxs)(`div`,{className:n.columnClassName,style:S,children:[C,w,T]}),t[32]=n.columnClassName,t[33]=S,t[34]=C,t[35]=w,t[36]=T,t[37]=E):E=t[37],E}function TD(e,t,n){let r=e===n.totalMessages-1,i=!n.isStreaming&&!n.isProcessingThread&&!n.hasPendingMessage&&!n.isCreatingProject,a=r&&t.sender===`agent`&&!t.isThinking&&i;return(0,$.jsx)(Qv,{message:t,threadId:n.selectedThreadId,messageIndex:e,showCheckpointRestore:n.showCheckpointRestore(t),checkpointRestoreTooltip:n.getCheckpointTooltip(t),showFinalProseCopy:a})}function ED(e){let t=(0,Q.c)(10),{projects:n,projectsLoading:r,onSelectThread:i,onCreateThread:a,onConnectRepo:o,onNewApp:s,onOpenFolder:c}=e,l=`flex min-h-0 flex-1 self-stretch transition-opacity duration-500 ease-in-out ${r?`opacity-0`:`opacity-100`}`,u;t[0]!==o||t[1]!==a||t[2]!==s||t[3]!==c||t[4]!==i||t[5]!==n?(u=(0,$.jsx)(oy,{projects:n,onSelectProject:i,onCreateThread:a,onConnectRepo:o,onNewApp:s,onOpenFolder:c}),t[0]=o,t[1]=a,t[2]=s,t[3]=c,t[4]=i,t[5]=n,t[6]=u):u=t[6];let d;return t[7]!==l||t[8]!==u?(d=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col items-center overflow-hidden`,children:(0,$.jsx)(`div`,{className:l,children:u})}),t[7]=l,t[8]=u,t[9]=d):d=t[9],d}function DD(e){let t=(0,Q.c)(2),{project:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(pD,{project:n}),t[0]=n,t[1]=r),r}function OD(e){let t=(0,Q.c)(19),{composerPhase:n,selectedThreadId:r,virtuosoRef:i,scrollParent:a,onScrollParentChange:o,messages:s,virtuosoContext:c,virtuosoComponents:l,onAtBottomChange:u,onAtTopChange:d,onRangeChanged:f,onScrollingStateChange:p}=e,m=n===`moving-to-footer`&&`animate-in fade-in duration-300 ease-out`,h;t[0]===m?h=t[1]:(h=G(`h-full overflow-hidden`,m),t[0]=m,t[1]=h);let g=r??void 0,_=a??void 0,v;t[2]!==s||t[3]!==u||t[4]!==d||t[5]!==f||t[6]!==p||t[7]!==g||t[8]!==_||t[9]!==l||t[10]!==c||t[11]!==i?(v=(0,$.jsx)(hr,{ref:i,customScrollParent:_,data:s,computeItemKey:kD,context:c,itemContent:TD,overscan:500,components:l,atBottomStateChange:u,atTopStateChange:d,rangeChanged:f,isScrolling:p},g),t[2]=s,t[3]=u,t[4]=d,t[5]=f,t[6]=p,t[7]=g,t[8]=_,t[9]=l,t[10]=c,t[11]=i,t[12]=v):v=t[12];let y;t[13]!==o||t[14]!==v?(y=(0,$.jsx)(za,{className:`h-full`,viewportRef:o,children:v}),t[13]=o,t[14]=v,t[15]=y):y=t[15];let b;return t[16]!==h||t[17]!==y?(b=(0,$.jsx)(`div`,{className:h,children:y}),t[16]=h,t[17]=y,t[18]=b):b=t[18],b}function kD(e,t){return t.messageId}function AD(e){return!e.hideEmptyState&&e.messageCount===0&&!e.isStreaming&&!e.isCreatingProject&&!e.selectedThreadId}function jD(e){return!e.hideEmptyState&&e.messagesLoaded&&e.messageCount===0&&!e.isStreaming&&!e.isCreatingProject&&!e.isProcessingThread&&!e.hasPendingMessage&&!!e.selectedThreadId}function MD(e){let t=e.projects.find(t=>t.projectId===e.selectedProjectId);return{showWelcome:AD(e),showEmptyThreadPlaceholder:jD(e),selectedProject:t}}var ND=(0,Z.forwardRef)(function(e,t){let n=(0,Q.c)(75),{bottomInset:r,messages:i,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,isAutoRouting:l,selectedThreadId:u,selectedProjectId:d,projects:f,projectsLoading:p,messagesLoaded:m,onSelectThread:h,onCreateThread:g,onConnectRepo:_,onNewApp:v,onOpenFolder:y,error:b,onClearError:x,onAtBottomChange:S,onAtTopChange:C,hideEmptyState:w}=e,T=r===void 0?0:r,E=w===void 0?!1:w,{fillPane:D,paneId:O}=wv(),k=oC(),A;n[0]===D?A=n[1]:(A=fy(D),n[0]=D,n[1]=A);let j=A,M;n[2]===u?M=n[3]:(M=e=>u?!!e.threadToolSessions[u]:!1,n[2]=u,n[3]=M);let N=X(M),[P,F]=(0,Z.useState)(null),I=(0,Z.useRef)(null),L;n[4]===j?L=n[5]:(L=yD(j),n[4]=j,n[5]=L);let R;n[6]===L?R=n[7]:(R={List:L,Footer:wD},n[6]=L,n[7]=R);let z=R,B;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(B=()=>({scrollToBottom:()=>{I.current?.scrollTo({top:2**53-1,behavior:`smooth`})},scrollToTop:()=>{I.current?.scrollTo({top:0,behavior:`smooth`})}}),n[8]=B):B=n[8],(0,Z.useImperativeHandle)(t,B);let V;n[9]!==c||n[10]!==a||n[11]!==i.length||n[12]!==m||n[13]!==O||n[14]!==u?(V={virtuosoRef:I,selectedThreadId:u,paneId:O,messagesLoaded:m,messageCount:i.length,isStreaming:a,hasPendingMessage:c},n[9]=c,n[10]=a,n[11]=i.length,n[12]=m,n[13]=O,n[14]=u,n[15]=V):V=n[15];let{onRangeChanged:H,onScrollingStateChange:ee}=hD(V),te;n[16]!==c||n[17]!==E||n[18]!==o||n[19]!==s||n[20]!==a||n[21]!==i.length||n[22]!==m||n[23]!==f||n[24]!==d||n[25]!==u?(te=MD({hideEmptyState:E,messagesLoaded:m,messageCount:i.length,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,selectedThreadId:u,selectedProjectId:d,projects:f}),n[16]=c,n[17]=E,n[18]=o,n[19]=s,n[20]=a,n[21]=i.length,n[22]=m,n[23]=f,n[24]=d,n[25]=u,n[26]=te):te=n[26];let{showWelcome:ne,showEmptyThreadPlaceholder:re,selectedProject:ie}=te,ae=i.length>0?i[i.length-1].sender:null,oe;n[27]!==c||n[28]!==o||n[29]!==s||n[30]!==a?(oe=function(e){return e.sender===`user`&&!!e.checkpointRef&&!a&&!c&&!o&&!s},n[27]=c,n[28]=o,n[29]=s,n[30]=a,n[31]=oe):oe=n[31];let se=oe,U;n[32]!==c||n[33]!==o||n[34]!==s||n[35]!==a?(U=function(e){return _D({isUser:e.sender===`user`,hasCheckpointRef:!!e.checkpointRef,isStreaming:a,hasPendingMessage:c,isCreatingProject:o,isProcessingThread:s})},n[32]=c,n[33]=o,n[34]=s,n[35]=a,n[36]=U):U=n[36];let ce=U,le;n[37]!==T||n[38]!==j||n[39]!==b||n[40]!==ce||n[41]!==N||n[42]!==c||n[43]!==l||n[44]!==o||n[45]!==s||n[46]!==a||n[47]!==ae||n[48]!==i.length||n[49]!==x||n[50]!==d||n[51]!==u||n[52]!==se?(le=vD({bottomInset:T,columnClassName:j,isStreaming:a,isCreatingProject:o,isProcessingThread:s,hasPendingMessage:c,isAutoRouting:l,selectedProjectId:d,selectedThreadId:u,totalMessages:i.length,lastMessageSender:ae,error:b,onClearError:x,hasActiveToolSession:N,showCheckpointRestore:se,getCheckpointTooltip:ce}),n[37]=T,n[38]=j,n[39]=b,n[40]=ce,n[41]=N,n[42]=c,n[43]=l,n[44]=o,n[45]=s,n[46]=a,n[47]=ae,n[48]=i.length,n[49]=x,n[50]=d,n[51]=u,n[52]=se,n[53]=le):le=n[53];let ue=le;if(ne){let e;return n[54]!==_||n[55]!==g||n[56]!==v||n[57]!==y||n[58]!==h||n[59]!==f||n[60]!==p?(e=(0,$.jsx)(ED,{projects:f,projectsLoading:p,onSelectThread:h,onCreateThread:g,onConnectRepo:_,onNewApp:v,onOpenFolder:y}),n[54]=_,n[55]=g,n[56]=v,n[57]=y,n[58]=h,n[59]=f,n[60]=p,n[61]=e):e=n[61],e}if(re){let e;return n[62]===ie?e=n[63]:(e=(0,$.jsx)(DD,{project:ie}),n[62]=ie,n[63]=e),e}let W;return n[64]!==k||n[65]!==i||n[66]!==S||n[67]!==C||n[68]!==H||n[69]!==ee||n[70]!==P||n[71]!==u||n[72]!==z||n[73]!==ue?(W=(0,$.jsx)(OD,{composerPhase:k,selectedThreadId:u,virtuosoRef:I,scrollParent:P,onScrollParentChange:F,messages:i,virtuosoContext:ue,virtuosoComponents:z,onAtBottomChange:S,onAtTopChange:C,onRangeChanged:H,onScrollingStateChange:ee}),n[64]=k,n[65]=i,n[66]=S,n[67]=C,n[68]=H,n[69]=ee,n[70]=P,n[71]=u,n[72]=z,n[73]=ue,n[74]=W):W=n[74],W}),PD=Ut(`app.use-pane-chat-history.hook`);function FD(e){let t=(0,Q.c)(9),{paneId:n,conversationId:r}=e,i=Ks(),a=X(ID),o;t[0]===n?o=t[1]:(o=e=>n===Ms||!!e.extraChatPanes[n],t[0]=n,t[1]=o);let s=X(o),c,l;t[2]!==r||t[3]!==i||t[4]!==s||t[5]!==n||t[6]!==a?(c=()=>{if(n===Ms||!s||!a||!r)return;let e=a,t=r,o=n,c=!1;return(async function(){try{let n=await ci(e,t);if(c)return;i({type:Y.SetPaneMessages,paneId:o,messages:n.messages})}catch(e){let t=e;PD.error(`Failed to load pane chat history:`,t),c||i({type:Y.SetPaneMessages,paneId:o,messages:[]})}})(),()=>{c=!0}},l=[r,i,s,n,a],t[2]=r,t[3]=i,t[4]=s,t[5]=n,t[6]=a,t[7]=c,t[8]=l):(c=t[7],l=t[8]),(0,Z.useEffect)(c,l)}function ID(e){return e.selectedThreadId}var LD=4,RD=8,zD=64,BD=`(max-width: 767px)`;function VD(){return window.matchMedia(BD).matches?LD:zD}function HD(e,t){let n=e.getBoundingClientRect().bottom,r=t.getBoundingClientRect().top,i=t.querySelector(`[data-chat-toolbar]`);i&&i.getBoundingClientRect().height>0&&(r=Math.min(r,i.getBoundingClientRect().top));let a=Math.max(0,Math.ceil(n-r)),o=window.matchMedia(BD).matches?LD:0,s=window.matchMedia(BD).matches?0:RD;return Math.max(a+o+s,VD())}function UD(e,t,n){let r=(0,Q.c)(5),[i,a]=(0,Z.useState)(0),o,s;return r[0]!==t||r[1]!==e||r[2]!==n?(o=()=>{if(!n){a(0);return}let r=e.current,i=t.current;if(!r||!i){a(VD());return}let o=function(){let n=e.current,r=t.current;!n||!r||a(HD(n,r))};o();let s=new ResizeObserver(o);s.observe(r),s.observe(i);let c=i.querySelector(`[data-chat-toolbar]`);c&&s.observe(c);let l=new MutationObserver(o);l.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`]}),window.addEventListener(`resize`,o);let u=window.visualViewport;return u?.addEventListener(`resize`,o),u?.addEventListener(`scroll`,o),()=>{s.disconnect(),l.disconnect(),window.removeEventListener(`resize`,o),u?.removeEventListener(`resize`,o),u?.removeEventListener(`scroll`,o)}},s=[e,t,n],r[0]=t,r[1]=e,r[2]=n,r[3]=o,r[4]=s):(o=r[3],s=r[4]),(0,Z.useEffect)(o,s),i}var WD=Ut(`app.chat-pane.ui`);function GD(e,t){let n=(0,Q.c)(42),r=Ks(),{paneErrors:i,setPaneError:a}=bv(),o=X(iO),s=X(rO),c=X(nO),l=X(tO),u=X(eO),d=X($D),f=X(QD),p=X(ZD),m=X(XD),h=X(YD),g;n[0]!==e||n[1]!==o?(g=t=>o?As(t.threadStreamingStates,o,e).isStreaming:!1,n[0]=e,n[1]=o,n[2]=g):g=n[2];let _=X(g),v;n[3]!==e||n[4]!==o?(v=t=>Ys(t.pendingAutoRoutes,o,e),n[3]=e,n[4]=o,n[5]=v):v=n[5];let y=X(v),b=X(JD),x=X(qD),S=X(KD),C;n[6]!==t||n[7]!==e?(C={paneId:e,conversationId:t},n[6]=t,n[7]=e,n[8]=C):C=n[8],FD(C);let w;n[9]!==x||n[10]!==e||n[11]!==b?(w=e===`primary`?b:x[e]?.messages??[],n[9]=x,n[10]=e,n[11]=b,n[12]=w):w=n[12];let T=w,E;n[13]!==y||n[14]!==T?(E=y?[...T,Zy(y)]:T,n[13]=y,n[14]=T,n[15]=E):E=n[15];let D=E,O=e===`primary`?S:x[e]?.messagesLoaded??!1,k;n[16]!==f||n[17]!==e||n[18]!==d||n[19]!==o?(k=vs(f,d,o,e),n[16]=f,n[17]=e,n[18]=d,n[19]=o,n[20]=k):k=n[20];let A=k,j;n[21]!==i||n[22]!==e||n[23]!==o?(j=o?i[Es(o,e)]??null:null,n[21]=i,n[22]=e,n[23]=o,n[24]=j):j=n[24];let M=j,N=e===`primary`&&h?.threadId===o,P;return n[25]!==m||n[26]!==r||n[27]!==p||n[28]!==N||n[29]!==A||n[30]!==u||n[31]!==D||n[32]!==O||n[33]!==M||n[34]!==_||n[35]!==y||n[36]!==c||n[37]!==l||n[38]!==s||n[39]!==o||n[40]!==a?(P={dispatch:r,setPaneError:a,selectedThreadId:o,selectedProjectId:s,projects:c,projectsLoading:l,isCreatingProject:u,pendingAutoRoute:y,messages:D,messagesLoaded:O,hasProcessingThread:A,paneError:M,hasPendingMessage:N,paneIsStreaming:_,focusedPaneId:p,completedPaneIds:m},n[25]=m,n[26]=r,n[27]=p,n[28]=N,n[29]=A,n[30]=u,n[31]=D,n[32]=O,n[33]=M,n[34]=_,n[35]=y,n[36]=c,n[37]=l,n[38]=s,n[39]=o,n[40]=a,n[41]=P):P=n[41],P}function KD(e){return e.messagesLoaded}function qD(e){return e.extraChatPanes}function JD(e){return e.messages}function YD(e){return e.pendingChatMessage}function XD(e){return e.completedPaneIds}function ZD(e){return e.focusedPane}function QD(e){return e.activeStreamPane}function $D(e){return e.processingThreadIds}function eO(e){return e.isCreatingProject}function tO(e){return e.projectsLoading}function nO(e){return e.projects}function rO(e){return e.selectedProjectId}function iO(e){return e.selectedThreadId}function aO(e){let t=(0,Q.c)(5),{messagesRef:n,isVisible:r}=e;if(!r)return null;let i;t[0]===n?i=t[1]:(i=()=>n.current?.scrollToTop(),t[0]=n,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Yt,{className:`h-4 w-4`}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-3 z-20 flex justify-center`,children:(0,$.jsx)(Hr,{variant:`outline`,size:`icon-md`,onClick:i,className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to top`,children:a})}),t[3]=i,t[4]=o),o}function oO(e){let t=(0,Q.c)(8),{messagesRef:n,isVisible:r,usesOverlayInput:i}=e;if(!r)return null;let a=`pointer-events-none absolute inset-x-0 z-20 flex justify-center ${i?`bottom-24`:`bottom-2`}`,o;t[0]===n?o=t[1]:(o=()=>n.current?.scrollToBottom(),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(tn,{className:`h-4 w-4`}),t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=(0,$.jsx)(Hr,{variant:`outline`,size:`icon-md`,onClick:o,className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to bottom`,children:s}),t[3]=o,t[4]=c);let l;return t[5]!==a||t[6]!==c?(l=(0,$.jsx)(`div`,{className:a,children:c}),t[5]=a,t[6]=c,t[7]=l):l=t[7],l}function sO({paneId:e,conversationId:t,onCreateThread:n,showEmptyState:r=e===`primary`,fillPane:i=!1,hideInput:a=!0,onConnectRepo:o=()=>{},onNewApp:s=()=>{},onOpenFolder:c=()=>{}}){let{dispatch:l,setPaneError:u,selectedThreadId:d,selectedProjectId:f,projects:p,projectsLoading:m,isCreatingProject:h,pendingAutoRoute:g,messages:_,messagesLoaded:v,hasProcessingThread:y,paneError:b,hasPendingMessage:x,paneIsStreaming:S,focusedPaneId:C,completedPaneIds:w}=GD(e,t),T=(0,Z.useRef)(null),E=(0,Z.useRef)(null),D=aC(),O=D?.overlayRef??{current:null},[k,A]=(0,Z.useState)(!0),[j,M]=(0,Z.useState)(!0),N=a&&!!d&&!!D,P=N&&D.placement===`overlay`,F=UD(T,O,N),I=N&&!k;function L(){l({type:Y.CloseSidebar})}function R(){C!==e&&w.includes(e)&&l({type:Y.ClearPaneCompleted,paneId:e}),l({type:Y.SetFocusedPane,paneId:e})}function z(e,t){L(),l({type:Y.SelectThread,projectId:e,threadId:t}),No().then(e=>{l({type:Y.SetProcessingThreads,threadIds:e})}).catch(e=>{WD.error(`Failed to refresh processing threads after thread selection:`,e)})}return(0,$.jsx)(Sv,{paneId:e,conversationId:t,fillPane:i,children:(0,$.jsxs)(`div`,{ref:T,className:`relative flex h-full min-w-0 flex-col`,onPointerDown:R,children:[(0,$.jsx)(ND,{ref:E,bottomInset:F,messages:_,isStreaming:S,isCreatingProject:r?h:!1,isProcessingThread:y,hasPendingMessage:x,isAutoRouting:!!g,selectedThreadId:d,selectedProjectId:f,projects:p,projectsLoading:m,messagesLoaded:v,onSelectThread:z,onCreateThread:n,onConnectRepo:o,onNewApp:s,onOpenFolder:c,error:b,onClearError:()=>{d&&u(d,e,null)},onAtBottomChange:A,onAtTopChange:M,hideEmptyState:!r}),(0,$.jsx)(aO,{messagesRef:E,isVisible:!j&&_.length>0}),(0,$.jsx)(oO,{messagesRef:E,isVisible:I,usesOverlayInput:P})]})})}var cO=/^#([0-9a-f]{6})$/i;function lO(e){return cO.test(e)}function uO(e){return lO(e)?e.toLowerCase():null}function dO(e){let t=cO.exec(e);if(!t)return null;let n=Number.parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function fO(e){let t=dO(e);return t?.2126*t.r+.7152*t.g+.0722*t.b:null}function pO(e){let t=dO(e);if(!t)return null;let n=t.r/255,r=t.g/255,i=t.b/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=(a+o)/2,l=0,u=0;if(s!==0){switch(u=s/(1-Math.abs(2*c-1)),a){case n:l=(r-i)/s%6;break;case r:l=(i-n)/s+2;break;default:l=(n-r)/s+4;break}l*=60,l<0&&(l+=360)}return`${Math.round(l)} ${Math.round(u*100)}% ${Math.round(c*100)}%`}var mO=`--wallpaper-color`,hO={mode:la(),color:Wa()},gO=new Set;function _O(){for(let e of gO)e()}function vO(e){let t=fO(e);return al(t===null?0:t)}function yO(e){if(document.documentElement.dataset.wallpaper=e.mode,document.documentElement.style.setProperty(mO,e.color),e.mode===`color`){let{foreground:t,inverse:n}=vO(e.color);ol(t,n)}}function bO(){return hO}function xO(e){return gO.add(e),function(){gO.delete(e)}}function SO(e){hO.mode!==e&&(hO={...hO,mode:e},Li(e),yO(hO),_O())}function CO(e){let t=uO(e);t===null||hO.color===t||(hO={...hO,color:t},Yo(t),yO(hO),_O())}function wO(){let e=(0,Q.c)(3),t=(0,Z.useSyncExternalStore)(xO,bO,bO),n=DO,r=EO,i=TO,a;return e[0]!==t.color||e[1]!==t.mode?(a={mode:t.mode,color:t.color,updateMode:n,updateColor:r,reset:i,defaultMode:`background`,defaultColor:fi},e[0]=t.color,e[1]=t.mode,e[2]=a):a=e[2],a}function TO(){hO={mode:`background`,color:fi},Li(`background`),Yo(fi),yO(hO),_O()}function EO(e){CO(e)}function DO(e){SO(e)}function OO(){hO={mode:la(),color:Wa()},yO(hO)}function kO(){return typeof window>`u`?null:De(window.location.search)}function AO(){return typeof window>`u`?null:Ce(window.location.search)}function jO(){return kO()===w}var MO=(0,Z.lazy)(()=>us(()=>import(`./terminal-panel-ozKXkKxm.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([12,1,4,5,13,14,15,16,17]))),NO=(0,Z.lazy)(()=>us(()=>import(`./diff-view-BJga_mCE.js`),__vite__mapDeps([18,1,19,20,4,5,21,22,23,24,25,14,26,27]))),PO=(0,Z.lazy)(()=>us(()=>import(`./explorer-tab-view-D9bH6cb1.js`),__vite__mapDeps([28,1,19,20,4,5,21,22,29,30,14]))),FO=(0,Z.lazy)(()=>us(()=>import(`./browser-tab-C6INAmPZ.js`).then(e=>({default:e.BrowserTab})),__vite__mapDeps([31,1,4,5,29,16,13,14]))),IO=(0,Z.lazy)(()=>us(()=>import(`./tasks-view-KcH0lX_t.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([32,1,19,20,33,4,5,21,22,13,14,25,34])));function LO(e){let t=(0,Q.c)(24),{panelId:n,instanceId:r,onClose:i}=e,a=X(BO),o=X(zO),s;t[0]===r?s=t[1]:(s=e=>gs(e,r),t[0]=r,t[1]=s);let c=X(s),{reviewRefreshTickByThread:l,tasksRefreshTick:u}=mc();if(n===`chat`){let e;return t[2]!==c||t[3]!==r?(e=(0,$.jsx)(sO,{paneId:r,fillPane:!0,conversationId:c,onCreateThread:RO,showEmptyState:!1,hideInput:!0}),t[2]=c,t[3]=r,t[4]=e):e=t[4],e}if(n===`terminal`){let e;return t[5]===r?e=t[6]:(e=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(MO,{instanceId:r})}),t[5]=r,t[6]=e),e}if(n===`browser`){let e;return t[7]===r?e=t[8]:(e=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(FO,{instanceId:r})}),t[7]=r,t[8]=e),e}if(n===`explorer`){if(!a){let e;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(VO,{message:`Select a conversation to browse files.`}),t[9]=e):e=t[9],e}let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(rs,{}),children:(0,$.jsx)(PO,{})}),t[10]=e):e=t[10],e}if(n===`tasks`){if(!o){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(VO,{message:`Select a project to view tasks.`}),t[11]=e):e=t[11],e}let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(rs,{}),t[12]=e):e=t[12];let n;return t[13]!==o||t[14]!==u?(n=(0,$.jsx)(Z.Suspense,{fallback:e,children:(0,$.jsx)(IO,{projectId:o,refreshTrigger:u})}),t[13]=o,t[14]=u,t[15]=n):n=t[15],n}if(!a){let e;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(VO,{message:`Select a conversation to review changes.`}),t[16]=e):e=t[16],e}let d=l[a]??0,f;t[17]!==i||t[18]!==a||t[19]!==d?(f=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(NO,{threadId:a,onExit:i,refreshTrigger:d})}),t[17]=i,t[18]=a,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==a||t[22]!==f?(p=(0,$.jsx)(Pd,{threadId:a,children:f}),t[21]=a,t[22]=f,t[23]=p):p=t[23],p}function RO(){}function zO(e){return e.selectedProjectId}function BO(e){return e.selectedThreadId}function VO(e){let t=(0,Q.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center p-4 text-center text-muted-foreground`,children:n}),t[0]=n,t[1]=r),r}function HO(e){let t=(0,Q.c)(21),{title:n,titleSuffix:r,titleActions:i,showTitle:a,selected:o,onSelect:s,onTitleDoubleClick:c,onClose:l,disableClose:u,footer:d,children:f,className:p}=e,m=o===void 0?!1:o,h=u===void 0?!1:u,g=m&&`outline outline-2 outline-offset-1 outline-brand`,_;t[0]!==p||t[1]!==g?(_=G(`flex h-full min-h-0 flex-col bg-background`,p,g),t[0]=p,t[1]=g,t[2]=_):_=t[2];let v;t[3]!==h||t[4]!==l||t[5]!==c||t[6]!==a||t[7]!==n||t[8]!==i||t[9]!==r?(v=a?(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-border px-2 py-2.5`,onDoubleClick:c,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 px-1`,children:[(0,$.jsx)(`span`,{className:G(U.label,`min-w-0 truncate leading-normal`),children:n}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:G(U.label,`shrink-0 text-muted-foreground leading-normal`),children:`–`}),r]})]}),(i||l)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[i,l?(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:l,onDoubleClick:UO,disabled:h,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsxs)(`span`,{className:`sr-only`,children:[`Close `,n]})]}):null]})]}):null,t[3]=h,t[4]=l,t[5]=c,t[6]=a,t[7]=n,t[8]=i,t[9]=r,t[10]=v):v=t[10];let y;t[11]===f?y=t[12]:(y=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:f}),t[11]=f,t[12]=y);let b;t[13]===d?b=t[14]:(b=d?(0,$.jsx)(`div`,{className:`shrink-0`,children:d}):null,t[13]=d,t[14]=b);let x;return t[15]!==s||t[16]!==_||t[17]!==v||t[18]!==y||t[19]!==b?(x=(0,$.jsxs)(`div`,{className:_,onPointerDown:s,children:[v,y,b]}),t[15]=s,t[16]=_,t[17]=v,t[18]=y,t[19]=b,t[20]=x):x=t[20],x}function UO(e){return e.stopPropagation()}var WO=[{id:`chat`,label:`Chat`,icon:At},{id:`explorer`,label:`Files`,icon:fn},{id:`browser`,label:`Browser`,icon:R},{id:`terminal`,label:`Terminal`,icon:le},{id:`tasks`,label:`Tasks`,icon:Ge},{id:`review`,label:`Review`,icon:g}];function GO(e){return WO.find(t=>t.id===e)?.label??e}function KO(e){return e?.trim()||GO(`browser`)}function qO(e){return WO.find(t=>t.id===e)?.icon??At}var JO=(0,Z.createContext)(void 0);function YO(e){let t=(0,Q.c)(5),{children:n}=e,[r,i]=(0,Z.useState)(null),a;t[0]===r?a=t[1]:(a={stats:r,setStats:i},t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,$.jsx)(JO.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function XO(){let e=(0,Z.useContext)(JO);if(e===void 0)throw Error(`useReviewStats must be used within a ReviewStatsProvider`);return e}var ZO=(0,Z.createContext)(void 0);function QO(e){let t=(0,Q.c)(5),{children:n}=e,[r,i]=(0,Z.useState)(null),a;t[0]===r?a=t[1]:(a={actions:r,setActions:i},t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,$.jsx)(ZO.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function $O(){let e=(0,Z.useContext)(ZO);if(e===void 0)throw Error(`useChatDockTitleActions must be used within a ChatDockTitleActionsProvider`);return e}var ek=(0,Z.createContext)(null);function tk(e){let t=(0,Q.c)(13),{children:n}=e,[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(`desktop`),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(null),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{i(nk)},t[0]=y):y=t[0];let b=y,x;t[1]!==_||t[2]!==s||t[3]!==a||t[4]!==r||t[5]!==d||t[6]!==l||t[7]!==h||t[8]!==p?(x={browserResetTrigger:r,triggerBrowserReset:b,browserPageTitle:a,setBrowserPageTitle:o,browserDeviceMode:s,setBrowserDeviceMode:c,isSelectModeEnabled:l,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,isSelectionPromptOpen:h,setIsSelectionPromptOpen:g,browserAgentProcessingThreadId:_,setBrowserAgentProcessingThreadId:v},t[1]=_,t[2]=s,t[3]=a,t[4]=r,t[5]=d,t[6]=l,t[7]=h,t[8]=p,t[9]=x):x=t[9];let S=x,C;return t[10]!==n||t[11]!==S?(C=(0,$.jsx)(ek.Provider,{value:S,children:n}),t[10]=n,t[11]=S,t[12]=C):C=t[12],C}function nk(e){return e+1}function rk(){let e=(0,Z.useContext)(ek);if(!e)throw Error(`useBrowserTab must be used within a BrowserTabProvider`);return e}function ik(){let e=(0,Q.c)(12),{stats:t}=XO();if(!t||t.fileCount===0)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=G(U.label,`flex items-center gap-1 truncate leading-normal`),e[0]=n):n=e[0];let r=t.fileCount===1?``:`s`,i;e[1]!==t.fileCount||e[2]!==r?(i=(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[t.fileCount,` file`,r]}),e[1]=t.fileCount,e[2]=r,e[3]=i):i=e[3];let a;e[4]===t.additions?a=e[5]:(a=(0,$.jsxs)(`span`,{className:`text-green-500`,children:[`+`,t.additions]}),e[4]=t.additions,e[5]=a);let o;e[6]===t.deletions?o=e[7]:(o=(0,$.jsxs)(`span`,{className:`text-red-500`,children:[`-`,t.deletions]}),e[6]=t.deletions,e[7]=o);let s;return e[8]!==i||e[9]!==a||e[10]!==o?(s=(0,$.jsxs)(`span`,{className:n,children:[i,a,o]}),e[8]=i,e[9]=a,e[10]=o,e[11]=s):s=e[11],s}function ak({panelId:e,instanceId:t,projects:n,selectedThreadId:r,browserPageTitle:i,tasksModifiedCount:a}){return e===`chat`?Lt(n,r,t):e===`browser`?KO(i):e===`tasks`?a>0?`Tasks (${a} modified recently)`:`Tasks`:GO(e)}function ok({panelId:e,selectedThreadId:t,triggerReviewRefresh:n,triggerExplorerRefresh:r}){if(e===`review`&&t)return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>n(t),children:[(0,$.jsx)(ye,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Fr,{children:`Refresh changes`})]});if(e===`explorer`)return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:r,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Fr,{children:`Refresh`})]})}function sk(e){let t=(0,Q.c)(48),{instanceId:n,panelId:r}=e,i=Ks(),{closeWindow:a,expandWindow:o,collapseLayout:s,isLayoutExpanded:c,selectedWindowId:l,selectWindow:u,revealWindow:d}=gc(),f=X(uk),p=X(lk),m=X(ck),h;t[0]!==n||t[1]!==r?(h=e=>r===`chat`&&As(e.threadStreamingStates,e.selectedThreadId,n).isStreaming,t[0]=n,t[1]=r,t[2]=h):h=t[2];let g=X(h),{triggerReviewRefresh:_}=mc(),{triggerExplorerRefresh:v}=vc(),{browserPageTitle:y}=rk(),b=r===`chat`,x=r===`tasks`,S,C;if(t[3]!==y||t[4]!==n||t[5]!==r||t[6]!==f||t[7]!==m||t[8]!==p){let e;t[11]===m?e=t[12]:(e=e=>e.projectId===m,t[11]=m,t[12]=e),C=f.find(e)?.tasksModifiedCount??0,S=ak({panelId:r,instanceId:n,projects:f,selectedThreadId:p,browserPageTitle:y,tasksModifiedCount:C}),t[3]=y,t[4]=n,t[5]=r,t[6]=f,t[7]=m,t[8]=p,t[9]=S,t[10]=C}else S=t[9],C=t[10];let w=S,T=!c&&l===n,{actions:E}=$O(),D;t[13]===r?D=t[14]:(D=r===`review`?(0,$.jsx)(ik,{}):void 0,t[13]=r,t[14]=D);let O=D,k;t[15]!==r||t[16]!==p||t[17]!==v||t[18]!==_?(k=ok({panelId:r,selectedThreadId:p,triggerReviewRefresh:_,triggerExplorerRefresh:v}),t[15]=r,t[16]=p,t[17]=v,t[18]=_,t[19]=k):k=t[19];let A=k??E,j;if(t[20]!==a||t[21]!==i||t[22]!==n||t[23]!==x||t[24]!==m||t[25]!==C){j=function(){x&&m&&C>0&&e(m),a(n)};async function e(e){try{await Ua(e),Si();let t=await lo();i({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch{try{Si();let e=await lo();i({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch{}}}t[20]=a,t[21]=i,t[22]=n,t[23]=x,t[24]=m,t[25]=C,t[26]=j}else j=t[26];let M;t[27]!==i||t[28]!==n||t[29]!==b||t[30]!==d||t[31]!==u?(M=function(){u(n),d(n),b&&i({type:Y.SetFocusedPane,paneId:n})},t[27]=i,t[28]=n,t[29]=b,t[30]=d,t[31]=u,t[32]=M):M=t[32];let N=M,P;t[33]!==s||t[34]!==o||t[35]!==N||t[36]!==n||t[37]!==c?(P=function(){if(c){s();return}N(),o(n)},t[33]=s,t[34]=o,t[35]=N,t[36]=n,t[37]=c,t[38]=P):P=t[38];let F=P,I;return t[39]!==j||t[40]!==N||t[41]!==F||t[42]!==g||t[43]!==w||t[44]!==T||t[45]!==A||t[46]!==O?(I={label:w,selected:T,isPaneStreaming:g,titleSuffix:O,titleActions:A,handleClose:j,handleSelect:N,handleTitleDoubleClick:F},t[39]=j,t[40]=N,t[41]=F,t[42]=g,t[43]=w,t[44]=T,t[45]=A,t[46]=O,t[47]=I):I=t[47],I}function ck(e){return e.selectedProjectId}function lk(e){return e.selectedThreadId}function uk(e){return e.projects}function dk(e){let t=(0,Q.c)(18),{instanceId:n,panelId:r,footer:i}=e,a;t[0]!==n||t[1]!==r?(a={instanceId:n,panelId:r},t[0]=n,t[1]=r,t[2]=a):a=t[2];let{label:o,selected:s,isPaneStreaming:c,titleSuffix:l,titleActions:u,handleClose:d,handleSelect:f,handleTitleDoubleClick:p}=sk(a),m;t[3]!==d||t[4]!==n||t[5]!==r?(m=(0,$.jsx)(LO,{panelId:r,instanceId:n,onClose:d}),t[3]=d,t[4]=n,t[5]=r,t[6]=m):m=t[6];let h;return t[7]!==i||t[8]!==d||t[9]!==f||t[10]!==p||t[11]!==c||t[12]!==o||t[13]!==s||t[14]!==m||t[15]!==u||t[16]!==l?(h=(0,$.jsx)(HO,{title:o,titleSuffix:l,titleActions:u,showTitle:!0,selected:s,onSelect:f,onTitleDoubleClick:p,onClose:d,disableClose:c,footer:i,className:`h-full overflow-hidden rounded-lg border border-border bg-background`,children:m}),t[7]=i,t[8]=d,t[9]=f,t[10]=p,t[11]=c,t[12]=o,t[13]=s,t[14]=m,t[15]=u,t[16]=l,t[17]=h):h=t[17],h}function fk(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(YO,{children:(0,$.jsx)(QO,{children:(0,$.jsx)(dk,{...e})})}),t[0]=e,t[1]=n),n}function pk(e){let t=(0,Q.c)(10),{active:n,className:r}=e,i=n===void 0?!1:n,a=i?`animate-thread-dot-pulse text-brand opacity-100`:`text-muted-foreground/40 opacity-100`,o;t[0]!==r||t[1]!==a?(o=G(`h-3 w-3 shrink-0 origin-center transition-opacity`,a,r),t[0]=r,t[1]=a,t[2]=o):o=t[2];let s=i?`currentColor`:`none`,c=i?`none`:`currentColor`,l=i?`5`:`4.5`,u;t[3]===l?u=t[4]:(u=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:l}),t[3]=l,t[4]=u);let d;return t[5]!==o||t[6]!==s||t[7]!==c||t[8]!==u?(d=(0,$.jsx)(`svg`,{"aria-hidden":`true`,className:o,viewBox:`0 0 12 12`,fill:s,stroke:c,strokeWidth:`2`,xmlns:`http://www.w3.org/2000/svg`,children:u}),t[5]=o,t[6]=s,t[7]=c,t[8]=u,t[9]=d):d=t[9],d}function mk(){let e=(0,Q.c)(84),t=Ks(),n=gC(),r=X(Ck),i=X(Sk),a=X(xk),o=X(bk),s=X(yk),c=X(vk),l=X(_k),u=X(gk),d=X(hk),{handleSelectThread:f,handleCreateThread:p,handleDeleteThread:m,refreshWorkspaces:h}=uw(),g=Od(a??void 0),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C,w,T,E,D,O,k,A,j,N,P,F;if(e[0]!==o||e[1]!==c||e[2]!==l||e[3]!==t||e[4]!==p||e[5]!==m||e[6]!==f||e[7]!==_||e[8]!==d||e[9]!==x||e[10]!==s||e[11]!==r||e[12]!==h||e[13]!==g||e[14]!==i||e[15]!==a||e[16]!==n||e[17]!==u||e[18]!==y){F=Symbol.for(`react.early_return_sentinel`);bb0:{let I;e[31]===i?I=e[32]:(I=e=>e.projectId===i,e[31]=i,e[32]=I);let L=r.find(I);if(!L){F=null;break bb0}let R=L.projectId,z=L.projectPath&&o&&!L.projectPath.startsWith(o.replace(/\/+$/,``)+`/`)?L.projectPath:void 0,B;e[33]===a?B=e[34]:(B=e=>e.threadId===a,e[33]=a,e[34]=B);let V=L.threads.find(B),H=(a?g.currentBranch||V?.currentBranch:void 0)||V?.title||`Branches`,ee;e[35]===l?ee=e[36]:(ee=e=>l.includes(e.threadId),e[35]=l,e[36]=ee);let te=L.threads.some(ee),ne=n?Gw:Ww,re;e[37]!==t||e[38]!==f?(re=function(e,n){t({type:Y.ClearThreadCompleted,threadId:n}),f(e,n),v(!1)},e[37]=t,e[38]=f,e[39]=re):re=e[39];let ie=re,ae=function(){p(R,void 0),v(!1)},oe=function(e,t){let n=se(e)?e.path:void 0;if(e.gitStatusDot||n){v(!1),S({threadId:e.threadId,displayName:t,openFolderPath:n});return}m(R,e.threadId).then(()=>h())};function se(e){return!z||!e.path?!1:e.path===z}let ce=x!==null,le;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>{e||S(null)},e[40]=le):le=e[40];let ue;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(sc,{children:`Delete Branch`}),e[41]=ue):ue=e[41];let W;e[42]===x?W=e[43]:(W=(0,$.jsx)(oc,{children:x?.openFolderPath?(0,$.jsxs)($.Fragment,{children:[`The path "`,(0,$.jsx)(`span`,{className:G(U.body,`font-semibold text-foreground`),children:x.openFolderPath}),`" was not created by Tarsk. Are you sure you want to delete it?`]}):(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to delete "`,x?.displayName,`" and all its files? This action cannot be undone.`]})}),e[42]=x,e[43]=W);let de;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(dc,{children:`Cancel`}),e[44]=de):de=e[44];let fe=(0,$.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[de,(0,$.jsx)(lc,{onClick:()=>{x&&m(R,x.threadId).then(()=>h()),S(null)},className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),pe;e[45]!==W||e[46]!==fe?(pe=(0,$.jsxs)(cc,{children:[ue,W,fe]}),e[45]=W,e[46]=fe,e[47]=pe):pe=e[47],e[48]!==ce||e[49]!==pe?(P=(0,$.jsx)(pc,{open:ce,onOpenChange:le,children:pe}),e[48]=ce,e[49]=pe,e[50]=P):P=e[50],w=Np,A=_,e[51]===h?j=e[52]:(j=e=>{v(e),e&&(b(!1),h())},e[51]=h,e[52]=j);let me=!_&&y,he=G(ne,Kw,`w-10 justify-center md:w-auto`,qw,te&&`disabled:opacity-50`),ge;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(ge=G(U.compact,`hidden truncate md:inline`),e[53]=ge):ge=e[53];let _e;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(Yt,{className:G(Jw,`hidden md:block`)}),e[54]=_e):_e=e[54];let ve=(0,$.jsx)(Pp,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Branches`,disabled:te,className:he,children:[te?(0,$.jsx)(ln,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(M,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:ge,children:H}),_e]})}),ye;e[55]===ve?ye=e[56]:(ye=(0,$.jsx)(zi,{asChild:!0,children:ve}),e[55]=ve,e[56]=ye);let be=te?`Deleting branch...`:`Workspaces`,xe;e[57]===be?xe=e[58]:(xe=(0,$.jsx)(Fr,{side:`top`,children:be}),e[57]=be,e[58]=xe),e[59]!==me||e[60]!==ye||e[61]!==xe?(N=(0,$.jsxs)(Mi,{open:me,onOpenChange:b,children:[ye,xe]}),e[59]=me,e[60]=ye,e[61]=xe,e[62]=N):N=e[62],C=Fp,T=`end`,E=`top`,D=`w-72 p-1`;let Ce;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(`span`,{className:G(U.label,`text-muted-foreground font-medium`),children:`Workspaces`}),e[63]=Ce):Ce=e[63];let we;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(Se,{}),e[64]=we):we=e[64];let Te=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`action`,size:`icon-sm`,className:`shrink-0`,"aria-label":`Create a new workspace & branch (⌘⇧T)`,onClick:ae,children:we})}),Ee;e[65]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(Fr,{side:`top`,children:`Create a new workspace & branch`}),e[65]=Ee):Ee=e[65],e[66]===Te?O=e[67]:(O=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-2 py-1.5`,children:[Ce,(0,$.jsxs)(Mi,{children:[Te,Ee]})]}),e[66]=Te,e[67]=O),k=L.threads.length===0?(0,$.jsx)(`p`,{className:G(U.compact,`px-2 py-4 text-center text-muted-foreground`),children:`No branches yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`max-h-[min(320px,50vh)] overflow-y-auto`,children:L.threads.map(e=>(0,$.jsx)(Tk,{thread:e,projectId:R,selectedThreadId:a,isProcessing:js(e.threadId,s,u,d),isDeleting:l.includes(e.threadId),isCompleted:c.includes(e.threadId),branchName:e.threadId===a&&g.currentBranch||e.currentBranch,onSelectThread:ie,onRequestDelete:oe},e.threadId))})}e[0]=o,e[1]=c,e[2]=l,e[3]=t,e[4]=p,e[5]=m,e[6]=f,e[7]=_,e[8]=d,e[9]=x,e[10]=s,e[11]=r,e[12]=h,e[13]=g,e[14]=i,e[15]=a,e[16]=n,e[17]=u,e[18]=y,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D,e[24]=O,e[25]=k,e[26]=A,e[27]=j,e[28]=N,e[29]=P,e[30]=F}else C=e[19],w=e[20],T=e[21],E=e[22],D=e[23],O=e[24],k=e[25],A=e[26],j=e[27],N=e[28],P=e[29],F=e[30];if(F!==Symbol.for(`react.early_return_sentinel`))return F;let I;e[68]!==C||e[69]!==T||e[70]!==E||e[71]!==D||e[72]!==O||e[73]!==k?(I=(0,$.jsxs)(C,{align:T,side:E,className:D,children:[O,k]}),e[68]=C,e[69]=T,e[70]=E,e[71]=D,e[72]=O,e[73]=k,e[74]=I):I=e[74];let L;e[75]!==w||e[76]!==I||e[77]!==A||e[78]!==j||e[79]!==N?(L=(0,$.jsxs)(w,{open:A,onOpenChange:j,children:[N,I]}),e[75]=w,e[76]=I,e[77]=A,e[78]=j,e[79]=N,e[80]=L):L=e[80];let R;return e[81]!==L||e[82]!==P?(R=(0,$.jsxs)($.Fragment,{children:[P,L]}),e[81]=L,e[82]=P,e[83]=R):R=e[83],R}function hk(e){return e.pendingChatMessage}function gk(e){return rc(e.threadStreamingStates)}function _k(e){return e.deletingThreadIds}function vk(e){return e.completedThreadIds}function yk(e){return e.processingThreadIds}function bk(e){return e.cloneRootPath}function xk(e){return e.selectedThreadId}function Sk(e){return e.selectedProjectId}function Ck(e){return e.projects}function wk(e){let t=(0,Q.c)(22),{gitStatusDot:n,isProcessing:r,isDeleting:i}=e,a=!!n||r,o;t[0]!==n||t[1]!==r?(o=r?`Agent is working on this branch`:mt(n),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;if(r){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(pk,{active:!0}),t[3]=e):e=t[3],c=e}else{let e=i&&`animate-thread-dot-pulse`,r=n===`changes`&&`text-brand`,o;t[4]!==a||t[5]!==n||t[6]!==e||t[7]!==r?(o=G(`h-3 w-3 shrink-0 origin-center`,e,r,Ve(n)&&`text-orange-500`,!a&&`text-muted-foreground`),t[4]=a,t[5]=n,t[6]=e,t[7]=r,t[8]=o):o=t[8];let s=o;if(a){let e;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:`5`}),t[9]=e):e=t[9];let n;t[10]===s?n=t[11]:(n=(0,$.jsx)(`svg`,{className:s,viewBox:`0 0 12 12`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:e}),t[10]=s,t[11]=n),c=n}else{let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`circle`,{cx:`6`,cy:`6`,r:`4.5`}),t[12]=e):e=t[12];let n;t[13]===s?n=t[14]:(n=(0,$.jsx)(`svg`,{className:s,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.0`,xmlns:`http://www.w3.org/2000/svg`,children:e}),t[13]=s,t[14]=n),c=n}}if(!s)return c;let l;t[15]===c?l=t[16]:(l=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0`,children:c})}),t[15]=c,t[16]=l);let u;t[17]===s?u=t[18]:(u=(0,$.jsx)(Fr,{side:`left`,children:s}),t[17]=s,t[18]=u);let d;return t[19]!==l||t[20]!==u?(d=(0,$.jsxs)(Mi,{children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}function Tk(e){let t=(0,Q.c)(34),{thread:n,projectId:r,selectedThreadId:i,isProcessing:a,isDeleting:o,isCompleted:s,branchName:c,onSelectThread:l,onRequestDelete:u}=e,d=(0,Z.useRef)(null),f=n.threadId===i,p=c||n.title||n.threadId,m,h;t[0]===a?(m=t[1],h=t[2]):(m=()=>{a&&d.current&&d.current.scrollIntoView({behavior:`smooth`,block:`nearest`})},h=[a],t[0]=a,t[1]=m,t[2]=h),(0,Z.useEffect)(m,h);let g;t[3]!==p||t[4]!==u||t[5]!==n?(g=function(e){e.stopPropagation(),u(n,p)},t[3]=p,t[4]=u,t[5]=n,t[6]=g):g=t[6];let _=g,v;t[7]!==l||t[8]!==r||t[9]!==n.threadId?(v=()=>l(r,n.threadId),t[7]=l,t[8]=r,t[9]=n.threadId,t[10]=v):v=t[10];let y;t[11]!==o||t[12]!==a||t[13]!==n.gitStatusDot?(y=(0,$.jsx)(wk,{gitStatusDot:n.gitStatusDot,isProcessing:a,isDeleting:o}),t[11]=o,t[12]=a,t[13]=n.gitStatusDot,t[14]=y):y=t[14];let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=G(U.body,`min-w-0 flex-1 truncate text-left`),t[15]=b):b=t[15];let x;t[16]===p?x=t[17]:(x=(0,$.jsx)(`span`,{className:b,children:p}),t[16]=p,t[17]=x);let S;t[18]===s?S=t[19]:(S=s?(0,$.jsx)(W,{className:`ml-auto h-3 w-3 shrink-0 text-green-500`}):null,t[18]=s,t[19]=S);let C;t[20]!==f||t[21]!==v||t[22]!==y||t[23]!==x||t[24]!==S?(C=(0,$.jsxs)(ja,{selected:f,className:`min-w-0 flex-1 items-center rounded-md`,onClick:v,children:[y,x,S]}),t[20]=f,t[21]=v,t[22]=y,t[23]=x,t[24]=S,t[25]=C):C=t[25];let w;t[26]!==_||t[27]!==s||t[28]!==o||t[29]!==a?(w=!a&&!o&&!s&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon-sm`,className:`hidden can-hover:group-hover:flex shrink-0 items-center justify-center text-muted-foreground can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground transition-colors`,onClick:_,children:[(0,$.jsx)(He,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete branch`})]})}),(0,$.jsx)(Fr,{side:`left`,children:`Delete branch and files from the repo`})]}),t[26]=_,t[27]=s,t[28]=o,t[29]=a,t[30]=w):w=t[30];let T;return t[31]!==w||t[32]!==C?(T=(0,$.jsxs)(`div`,{ref:d,className:`group flex min-w-0 items-center`,children:[C,w]}),t[31]=w,t[32]=C,t[33]=T):T=t[33],T}function Ek(){let e=(0,Q.c)(108),t=Ks(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,isPanelOpen:c,isPrimaryChatOpen:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=gc(),{openChatDockPanel:p}=Wd(),m=X(Ik),h=X(Fk),g=X(Pk),_=X(Nk),v=X(Mk),y=X(jk),b=X(Ak),x=X(kk),S=X(Ok),C=X(Dk),w;if(e[0]!==m||e[1]!==h){let t;e[3]===h?t=e[4]:(t=e=>e.projectId===h,e[3]=h,e[4]=t),w=m.find(t),e[0]=m,e[1]=h,e[2]=w}else w=e[2];let T=w,E=T?.useBuiltInBrowser!==!1,{browserPageTitle:D}=rk(),{hasChanges:O,changedFilesCount:k}=Od(g??void 0),A=T?.tasksModifiedCount??0,j;e[5]!==S||e[6]!==x||e[7]!==b?.threadId||e[8]!==v||e[9]!==g||e[10]!==_?(j=function(e,t){return t===`chat`?e===`primary`?g?b?.threadId===g||S===Ms&&v.includes(g)?!0:bs(_,g):!1:!x[e]||!g?!1:S===e&&v.includes(g)?!0:bs(_,g,e):!1},e[5]=S,e[6]=x,e[7]=b?.threadId,e[8]=v,e[9]=g,e[10]=_,e[11]=j):j=e[11];let M=j,N,P,F,I,L,R,z,B,V,H,ee,te,ne,re;if(e[12]!==D||e[13]!==k||e[14]!==s||e[15]!==y||e[16]!==t||e[17]!==o||e[18]!==a||e[19]!==C||e[20]!==O||e[21]!==r||e[22]!==i||e[23]!==c||e[24]!==l||e[25]!==M||e[26]!==p||e[27]!==m||e[28]!==f||e[29]!==d||e[30]!==g||e[31]!==u||e[32]!==E||e[33]!==A||e[34]!==n){let h;e[49]!==g||e[50]!==E?(h=e=>!(e.id===`browser`&&!E||e.id===`chat`&&!g),e[49]=g,e[50]=E,e[51]=h):h=e[51];let _=WO.filter(h),v=[...l?[{id:Ct,panelId:`chat`,title:Lt(m,g,Ct)}]:[],...n.map(e=>({id:e.id,panelId:e.panelId,title:e.panelId===`chat`?Lt(m,g,e.id):e.panelId===`browser`?KO(D):GO(e.panelId)}))],b;e[52]===c?b=e[53]:(b=function(e){return c(e)},e[52]=c,e[53]=b);let x=b,S;e[54]===x?S=e[55]:(S=e=>!x(e.id),e[54]=x,e[55]=S);let w=_.filter(S),T=function(e){return i?a===e:u===e},j=function(e){d(e.id),f(e.id),e.panelId===`chat`&&(C!==e.id&&y.includes(e.id)&&t({type:Y.ClearPaneCompleted,paneId:e.id}),t({type:Y.SetFocusedPane,paneId:e.id}))},ie;e[56]===p?ie=e[57]:(ie=function(e){p(e,{reuseExisting:!1})},e[56]=p,e[57]=ie);let ae=ie,oe;e[58]===p?oe=e[59]:(oe=function(e){p(e,{reuseExisting:!1})},e[58]=p,e[59]=oe);let se=oe,ce;e[60]!==s||e[61]!==o||e[62]!==a||e[63]!==r||e[64]!==i||e[65]!==l||e[66]!==u||e[67]!==n?(ce=function(){if(r){if(i){s();return}if(l&&u===`primary`||n.some(e=>e.id===u)){o(u);return}o(a??(l?`primary`:n[0]?.id??`primary`))}},e[60]=s,e[61]=o,e[62]=a,e[63]=r,e[64]=i,e[65]=l,e[66]=u,e[67]=n,e[68]=ce):ce=e[68];let le=ce,ue=i?`Grid layout`:`Expanded layout`;te=`toolbar`,ne=`Window taskbar`,re=`flex items-center gap-0.5 rounded-full frosted-surface p-1 text-foreground shadow-md backdrop-blur-sm`;let W=v.map(e=>{let t=qO(e.panelId),n=T(e.id),r=e.panelId===`review`,i=e.panelId===`tasks`,a=r&&O,o=e.panelId===`chat`&&y.includes(e.id),s=i&&A>0,c=M(e.id,e.panelId),l=o?`Chat completed — needs attention`:r&&a?`${k} changed file${k===1?``:`s`}`:i&&s?`${A} task${A===1?``:`s`} modified recently`:e.title;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,role:`tab`,"aria-selected":n,"aria-label":e.title,variant:`ghost`,size:`icon-sm`,className:G(`relative rounded-full`,n&&`bg-foreground text-background hover:bg-foreground hover:text-background dark:bg-foreground/30 dark:text-foreground dark:hover:bg-foreground/30 dark:hover:text-foreground`),onClick:()=>j(e),children:[(0,$.jsx)(`span`,{className:`relative inline-flex items-center justify-center`,children:c&&e.panelId===`chat`?(0,$.jsx)(dp,{size:`sm`,state:`solving`,className:`shrink-0`}):(0,$.jsx)(t,{className:`h-4 w-4`})}),(a||o)&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full bg-brand`}),s&&(0,$.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-brand px-1 text-[10px] font-semibold leading-none text-background`,children:A})]})}),(0,$.jsx)(Fr,{side:`top`,children:l})]},e.id)});e[69]===W?F=e[70]:(F=(0,$.jsx)(`div`,{role:`tablist`,"aria-label":`Open windows`,className:`flex items-center gap-0.5`,children:W}),e[69]=W,e[70]=F),I=w.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),(0,$.jsx)(`div`,{"aria-label":`Closed window types`,className:`flex items-center gap-0.5`,children:w.map(e=>{let t=e.icon,n=e.id===`review`,r=e.id===`tasks`,i=n&&O,a=r&&A>0,o=n&&i?`${k} changed file${k===1?``:`s`}`:r&&a?`${A} task${A===1?``:`s`} modified recently`:e.label;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{type:`button`,"aria-label":e.label,variant:`ghost`,size:`icon-sm`,className:`relative rounded-full opacity-50`,onClick:()=>ae(e.id),children:[(0,$.jsx)(t,{className:`h-4 w-4`}),i&&(0,$.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full bg-brand`}),a&&(0,$.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-brand px-1 text-[10px] font-semibold leading-none text-background`,children:A})]})}),(0,$.jsx)(Fr,{side:`top`,children:o})]},e.id)})})]}):null,e[71]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),e[71]=L):L=e[71];let de=r&&!i,fe=!r,pe=r&&!i&&`bg-foreground text-background hover:bg-foreground hover:text-background dark:bg-foreground/30 dark:text-foreground dark:hover:bg-foreground/30 dark:hover:text-foreground`,me;e[72]===pe?me=e[73]:(me=G(`rounded-full`,pe),e[72]=pe,e[73]=me);let he;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(Qt,{className:`h-4 w-4`}),e[74]=he):he=e[74];let ge;e[75]!==le||e[76]!==ue||e[77]!==de||e[78]!==fe||e[79]!==me?(ge=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":ue,"aria-pressed":de,disabled:fe,className:me,onClick:le,children:he})}),e[75]=le,e[76]=ue,e[77]=de,e[78]=fe,e[79]=me,e[80]=ge):ge=e[80];let _e;e[81]===ue?_e=e[82]:(_e=(0,$.jsx)(Fr,{side:`top`,children:ue}),e[81]=ue,e[82]=_e),e[83]!==ge||e[84]!==_e?(R=(0,$.jsxs)(Mi,{children:[ge,_e]}),e[83]=ge,e[84]=_e,e[85]=R):R=e[85],P=hl,e[86]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Add window`,className:`rounded-full`,children:(0,$.jsx)(Se,{className:`h-4 w-4`})})})}),(0,$.jsx)(Fr,{side:`top`,children:`Add window`})]}),e[86]=ee):ee=e[86],N=bl,z=`top`,B=`center`,V=`w-44 p-1`;let ve;e[87]===se?ve=e[88]:(ve=e=>{let t=e.icon;return(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>se(e.id),children:[(0,$.jsx)(t,{className:`h-4 w-4 shrink-0`}),e.label]},e.id)},e[87]=se,e[88]=ve),H=_.map(ve),e[12]=D,e[13]=k,e[14]=s,e[15]=y,e[16]=t,e[17]=o,e[18]=a,e[19]=C,e[20]=O,e[21]=r,e[22]=i,e[23]=c,e[24]=l,e[25]=M,e[26]=p,e[27]=m,e[28]=f,e[29]=d,e[30]=g,e[31]=u,e[32]=E,e[33]=A,e[34]=n,e[35]=N,e[36]=P,e[37]=F,e[38]=I,e[39]=L,e[40]=R,e[41]=z,e[42]=B,e[43]=V,e[44]=H,e[45]=ee,e[46]=te,e[47]=ne,e[48]=re}else N=e[35],P=e[36],F=e[37],I=e[38],L=e[39],R=e[40],z=e[41],B=e[42],V=e[43],H=e[44],ee=e[45],te=e[46],ne=e[47],re=e[48];let ie;e[89]!==N||e[90]!==z||e[91]!==B||e[92]!==V||e[93]!==H?(ie=(0,$.jsx)(N,{side:z,align:B,className:V,children:H}),e[89]=N,e[90]=z,e[91]=B,e[92]=V,e[93]=H,e[94]=ie):ie=e[94];let ae;e[95]!==P||e[96]!==ie||e[97]!==ee?(ae=(0,$.jsxs)(P,{children:[ee,ie]}),e[95]=P,e[96]=ie,e[97]=ee,e[98]=ae):ae=e[98];let oe;return e[99]!==F||e[100]!==I||e[101]!==L||e[102]!==R||e[103]!==ae||e[104]!==te||e[105]!==ne||e[106]!==re?(oe=(0,$.jsxs)(`div`,{role:te,"aria-label":ne,className:re,children:[F,I,L,R,ae]}),e[99]=F,e[100]=I,e[101]=L,e[102]=R,e[103]=ae,e[104]=te,e[105]=ne,e[106]=re,e[107]=oe):oe=e[107],oe}function Dk(e){return e.focusedPane}function Ok(e){return e.activeStreamPane}function kk(e){return e.extraChatPanes}function Ak(e){return e.pendingChatMessage}function jk(e){return e.completedPaneIds}function Mk(e){return e.processingThreadIds}function Nk(e){return rc(e.threadStreamingStates,e.selectedThreadId)}function Pk(e){return e.selectedThreadId}function Fk(e){return e.selectedProjectId}function Ik(e){return e.projects}var Lk=`pointer-events-none absolute inset-0 rounded-2xl border border-border frosted-surface shadow-lg backdrop-blur-sm`,Rk=`h-full overflow-hidden rounded-lg border border-border bg-background`;function zk(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=getComputedStyle(e),a=Number.parseFloat(i.paddingTop)||0,o=Number.parseFloat(i.paddingBottom)||0,s=Number.parseFloat(i.paddingLeft)||0,c=Number.parseFloat(i.paddingRight)||0,l=n.top+a,u=n.bottom-o,d=n.left+s,f=n.right-c,p=u-l,m=f-d,h=0,g=0;r.height<=p?r.bottom>u?h=r.bottom-u:r.top<l&&(h=r.top-l):r.top>u?h=r.top-l:r.bottom<l&&(h=r.bottom-u),r.width<=m?r.right>f?g=r.right-f:r.left<d&&(g=r.left-d):r.left>f?g=r.left-d:r.right<d&&(g=r.right-f),!(g===0&&h===0)&&e.scrollBy({left:g,top:h,behavior:`smooth`})}function Bk(e,t,n,r,i){return!!(e&&(t?.threadId===e||(n===null||n===Ms)&&r.includes(e)||i))}function Vk(e,t,n,r,i,a,o){return!e&&!!t&&n===0&&!r&&!i&&!(t&&a.includes(t))&&o?.threadId!==t}function Hk(e){let t=(0,Q.c)(26),{dispatch:n,composerPhase:r,isLayoutExpanded:i,pendingScrollWindowId:a,clearPendingScrollWindow:o,windows:s,hasOpenWindows:c,selectedWindowId:l,showingProjectDetails:u,scrollContainerRef:d}=e,f=(0,Z.useRef)(!1),p,m;t[0]!==r||t[1]!==n?(p=()=>{if(r===`moving-to-footer`&&!f.current){f.current=!0,n({type:Y.FocusChatInput});return}r===`centered`&&(f.current=!1)},m=[r,n],t[0]=r,t[1]=n,t[2]=p,t[3]=m):(p=t[2],m=t[3]),(0,Z.useEffect)(p,m);let h;t[4]!==o||t[5]!==i||t[6]!==a||t[7]!==d?(h=()=>{if(!a||!d.current||i){a&&i&&o();return}let e=d.current,t=e.querySelector(`[data-window-id="${a}"]`);t&&(zk(e,t),o())},t[4]=o,t[5]=i,t[6]=a,t[7]=d,t[8]=h):h=t[8];let g;t[9]!==o||t[10]!==i||t[11]!==a||t[12]!==s?(g=[o,i,a,s],t[9]=o,t[10]=i,t[11]=a,t[12]=s,t[13]=g):g=t[13],(0,Z.useEffect)(h,g);let _=(0,Z.useRef)(u),v;t[14]!==c||t[15]!==i||t[16]!==d||t[17]!==l||t[18]!==u?(v=()=>{let e=_.current;if(_.current=u,e||!u||!c||i)return;let t=d.current;if(!t)return;let n=t,r=function(){if(n.clientWidth===0||n.clientHeight===0)return!1;let e=n.querySelector(`[data-window-id="${l}"]`);return e?(zk(n,e),!0):!1};if(r())return;let a=new ResizeObserver(()=>{r()&&a.disconnect()});return a.observe(n),()=>a.disconnect()},t[14]=c,t[15]=i,t[16]=d,t[17]=l,t[18]=u,t[19]=v):v=t[19];let y;t[20]!==c||t[21]!==i||t[22]!==l||t[23]!==u||t[24]!==s?(y=[c,i,l,u,s],t[20]=c,t[21]=i,t[22]=l,t[23]=u,t[24]=s,t[25]=y):y=t[25],(0,Z.useEffect)(v,y)}function Uk(){let e=(0,Q.c)(61),t=Ks(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,pendingScrollWindowId:c,clearPendingScrollWindow:l,selectedWindowId:u,selectWindow:d,revealWindow:f,closeWindow:p,isPrimaryChatOpen:m}=gc(),h=X($k),g=X(Qk),_=X(Zk),v=X(Xk),y=X(Yk),b=X(Jk),x=X(qk),S=X(Kk),C=X(Gk),w;e[0]===g?w=e[1]:(w=e=>g?As(e.threadStreamingStates,g,Ct).isStreaming:!1,e[0]=g,e[1]=w);let T=X(w),E;e[2]===g?E=e[3]:(E=e=>g?_s(g,{hasSession:Wk,streamingStates:e.threadStreamingStates}):!1,e[2]=g,e[3]=E);let D=X(E),O;e[4]!==h||e[5]!==g?(O=Lt(h,g,`primary`),e[4]=h,e[5]=g,e[6]=O):O=e[6];let k=O,A;e[7]!==C||e[8]!==T||e[9]!==S||e[10]!==x||e[11]!==g?(A=Bk(g,S,C,x,T),e[7]=C,e[8]=T,e[9]=S,e[10]=x,e[11]=g,e[12]=A):A=e[12];let j=A,M=(0,Z.useRef)(null),N=!!(g&&_),P;e[13]!==r||e[14]!==b||e[15]!==T||e[16]!==v.length||e[17]!==S||e[18]!==x||e[19]!==g?(P=Vk(r,g,v.length,T,b,x,S),e[13]=r,e[14]=b,e[15]=T,e[16]=v.length,e[17]=S,e[18]=x,e[19]=g,e[20]=P):P=e[20];let F=P,I=F&&y,L=F&&!y&&!D,R;e[21]!==L||e[22]!==g||e[23]!==I?(R={centered:I,loading:L,threadId:g},e[21]=L,e[22]=g,e[23]=I,e[24]=R):R=e[24];let{phase:z,reveal:B}=uC(R),V=gC(),{mode:H}=wO(),ee;e[25]!==z||e[26]!==V||e[27]!==H?(ee=V&&(H!==`background`||cC(z)),e[25]=z,e[26]=V,e[27]=H,e[28]=ee):ee=e[28];let te=ee,ne=H===`background`&&z===`moving-to-footer`,re;e[29]!==l||e[30]!==z||e[31]!==t||e[32]!==r||e[33]!==i||e[34]!==c||e[35]!==u||e[36]!==V||e[37]!==n?(re={dispatch:t,composerPhase:z,isLayoutExpanded:i,pendingScrollWindowId:c,clearPendingScrollWindow:l,windows:n,hasOpenWindows:r,selectedWindowId:u,showingProjectDetails:V,scrollContainerRef:M},e[29]=l,e[30]=z,e[31]=t,e[32]=r,e[33]=i,e[34]=c,e[35]=u,e[36]=V,e[37]=n,e[38]=re):re=e[38],Hk(re);let ie;return e[39]!==p||e[40]!==s||e[41]!==z||e[42]!==B||e[43]!==t||e[44]!==o||e[45]!==a||e[46]!==ne||e[47]!==r||e[48]!==i||e[49]!==m||e[50]!==j||e[51]!==k||e[52]!==f||e[53]!==d||e[54]!==_||e[55]!==g||e[56]!==u||e[57]!==N||e[58]!==te||e[59]!==n?(ie={windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,isPrimaryChatOpen:m,selectedWindowId:u,primaryChatTitle:k,isPrimaryStreaming:j,showGitOps:N,selectedThreadId:g,selectedProjectId:_,showSoloConversationSurface:te,fadeInSoloConversationSurface:ne,composerPhase:z,composerReveal:B,dispatch:t,selectWindow:d,revealWindow:f,collapseLayout:s,expandWindow:o,closeWindow:p,scrollContainerRef:M},e[39]=p,e[40]=s,e[41]=z,e[42]=B,e[43]=t,e[44]=o,e[45]=a,e[46]=ne,e[47]=r,e[48]=i,e[49]=m,e[50]=j,e[51]=k,e[52]=f,e[53]=d,e[54]=_,e[55]=g,e[56]=u,e[57]=N,e[58]=te,e[59]=n,e[60]=ie):ie=e[60],ie}function Wk(){return!1}function Gk(e){return e.activeStreamPane}function Kk(e){return e.pendingChatMessage}function qk(e){return e.processingThreadIds}function Jk(e){return e.isCreatingProject}function Yk(e){return xs(e,Ct)}function Xk(e){return ys(e,Ct)}function Zk(e){return e.selectedProjectId}function Qk(e){return e.selectedThreadId}function $k(e){return e.projects}function eA(e){let t=(0,Q.c)(9),{title:n,selected:r,isStreaming:i,onSelect:a,onTitleDoubleClick:o,onClose:s,children:c}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(lD,{paneId:Ct}),t[0]=l):l=t[0];let u;return t[1]!==c||t[2]!==i||t[3]!==s||t[4]!==a||t[5]!==o||t[6]!==r||t[7]!==n?(u=(0,$.jsx)(HO,{title:n,showTitle:!0,selected:r,onSelect:a,onTitleDoubleClick:o,onClose:s,disableClose:i,footer:l,className:Rk,children:c}),t[1]=c,t[2]=i,t[3]=s,t[4]=a,t[5]=o,t[6]=r,t[7]=n,t[8]=u):u=t[8],u}function tA(e){let t=(0,Q.c)(22),{scrollRef:n,isLayoutExpanded:r,expandedWindowId:i,isPrimaryChatOpen:a,primaryTile:o,windows:s}=e,c=r?`overflow-hidden`:`grid gap-3 overflow-auto p-3`,l;t[0]===c?l=t[1]:(l=G(`h-full min-h-0`,c),t[0]=c,t[1]=l);let u;t[2]===r?u=t[3]:(u=r?void 0:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 24rem), 1fr))`,gridAutoRows:`minmax(min(100%, 20rem), 1fr)`},t[2]=r,t[3]=u);let d;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==o?(d=a?(0,$.jsx)(`div`,{"data-window-id":Ct,className:G(`min-h-0 min-w-0`,r&&`box-border h-full w-full p-3`,r&&i!==`primary`&&`hidden`),children:o}):null,t[4]=i,t[5]=r,t[6]=a,t[7]=o,t[8]=d):d=t[8];let f;if(t[9]!==i||t[10]!==r||t[11]!==s){let e;t[13]!==i||t[14]!==r?(e=e=>{let t=e.panelId===`chat`?(0,$.jsx)(lD,{paneId:e.id}):void 0;return(0,$.jsx)(`div`,{"data-window-id":e.id,className:G(`min-h-0 min-w-0`,r&&`box-border h-full w-full p-3`,r&&i!==e.id&&`hidden`),children:(0,$.jsx)(fk,{instanceId:e.id,panelId:e.panelId,footer:t})},e.id)},t[13]=i,t[14]=r,t[15]=e):e=t[15],f=s.map(e),t[9]=i,t[10]=r,t[11]=s,t[12]=f}else f=t[12];let p;return t[16]!==n||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,$.jsxs)(`div`,{ref:n,className:l,style:u,children:[d,f]}),t[16]=n,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function nA(e){let t=(0,Q.c)(12),{showSoloConversationSurface:n,fadeInSoloConversationSurface:r,showFooterComposer:i,children:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(`relative flex h-full min-h-0 flex-col`,fy(!1)),t[0]=o):o=t[0];let s;t[1]!==r||t[2]!==n?(s=n?(0,$.jsx)(`div`,{"aria-hidden":!0,className:G(Lk,r&&`animate-in fade-in duration-300 ease-out`)}):null,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;t[4]===a?c=t[5]:(c=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1 overflow-hidden`,children:a}),t[4]=a,t[5]=c);let l;t[6]===i?l=t[7]:(l=i?(0,$.jsx)(`div`,{className:`relative z-10`,children:(0,$.jsx)(lD,{})}):null,t[6]=i,t[7]=l);let u;return t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:o,children:[s,c,l]})}),t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function rA(e){let t=(0,Q.c)(10),{showGitOps:n,selectedThreadId:r,selectedProjectId:i}=e,a;t[0]!==i||t[1]!==r||t[2]!==n?(a=n&&r&&i?(0,$.jsx)(Pd,{threadId:r,children:(0,$.jsx)(AT,{projectId:i,threadId:r,layout:`bar`},r)}):null,t[0]=i,t[1]=r,t[2]=n,t[3]=a):a=t[3];let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(`div`,{className:`hidden justify-self-start md:block`,children:a}),t[4]=a,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`div`,{className:`justify-self-center md:col-start-2`,children:(0,$.jsx)(Ek,{})}),t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`flex items-center justify-end gap-2 justify-self-end`,children:jO()?null:(0,$.jsx)(mk,{})}),t[7]=c):c=t[7];let l;return t[8]===o?l=t[9]:(l=(0,$.jsxs)(`div`,{className:`relative z-0 grid shrink-0 grid-cols-[1fr_auto] items-center bg-transparent px-4 pb-4 pt-2 md:grid-cols-[1fr_auto_1fr]`,children:[o,s,c]}),t[8]=o,t[9]=l),l}function iA(e){let t=(0,Q.c)(54),{children:n}=e,{windows:r,hasOpenWindows:i,isLayoutExpanded:a,expandedWindowId:o,isPrimaryChatOpen:s,selectedWindowId:c,primaryChatTitle:l,isPrimaryStreaming:u,showGitOps:d,selectedThreadId:f,selectedProjectId:p,showSoloConversationSurface:m,fadeInSoloConversationSurface:h,composerPhase:g,composerReveal:_,dispatch:v,selectWindow:y,revealWindow:b,collapseLayout:x,expandWindow:S,closeWindow:C,scrollContainerRef:w}=Uk(),{triggerReviewRefresh:T}=mc(),E=a?o:c,D;t[0]!==E||t[1]!==r?(D=r.find(e=>e.id===E)?.panelId,t[0]=E,t[1]=r,t[2]=D):D=t[2];let O=D,k,A;t[3]!==O||t[4]!==f||t[5]!==T?(k=()=>{O!==`review`||!f||T(f)},A=[O,f,T],t[3]=O,t[4]=f,t[5]=T,t[6]=k,t[7]=A):(k=t[6],A=t[7]),(0,Z.useEffect)(k,A);let j;t[8]!==v||t[9]!==b||t[10]!==y?(j=()=>{y(Ct),b(Ct),v({type:Y.SetFocusedPane,paneId:`primary`})},t[8]=v,t[9]=b,t[10]=y,t[11]=j):j=t[11];let M=j,N;t[12]!==x||t[13]!==v||t[14]!==S||t[15]!==a||t[16]!==y?(N=()=>{if(a){x();return}y(Ct),v({type:Y.SetFocusedPane,paneId:`primary`}),S(Ct)},t[12]=x,t[13]=v,t[14]=S,t[15]=a,t[16]=y,t[17]=N):N=t[17];let P=N,F;t[18]===C?F=t[19]:(F=()=>C(Ct),t[18]=C,t[19]=F);let I=F,L=!a&&c===`primary`,R;t[20]!==n||t[21]!==I||t[22]!==M||t[23]!==P||t[24]!==u||t[25]!==l||t[26]!==L?(R=(0,$.jsx)(eA,{title:l,selected:L,isStreaming:u,onSelect:M,onTitleDoubleClick:P,onClose:I,children:n}),t[20]=n,t[21]=I,t[22]=M,t[23]=P,t[24]=u,t[25]=l,t[26]=L,t[27]=R):R=t[27];let z=R,B;t[28]!==n||t[29]!==g||t[30]!==o||t[31]!==h||t[32]!==i||t[33]!==a||t[34]!==s||t[35]!==z||t[36]!==w||t[37]!==m||t[38]!==r?(B=i?(0,$.jsx)(tA,{scrollRef:w,isLayoutExpanded:a,expandedWindowId:o,isPrimaryChatOpen:s,primaryTile:z,windows:r}):(0,$.jsx)(nA,{showSoloConversationSurface:m,fadeInSoloConversationSurface:h,showFooterComposer:cC(g),children:n}),t[28]=n,t[29]=g,t[30]=o,t[31]=h,t[32]=i,t[33]=a,t[34]=s,t[35]=z,t[36]=w,t[37]=m,t[38]=r,t[39]=B):B=t[39];let V=B,H;t[40]===V?H=t[41]:(H=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1`,children:V}),t[40]=V,t[41]=H);let ee;t[42]!==p||t[43]!==f||t[44]!==d?(ee=(0,$.jsx)(rA,{showGitOps:d,selectedThreadId:f,selectedProjectId:p}),t[42]=p,t[43]=f,t[44]=d,t[45]=ee):ee=t[45];let te;t[46]!==H||t[47]!==ee?(te=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[H,ee]}),t[46]=H,t[47]=ee,t[48]=te):te=t[48];let ne;return t[49]!==g||t[50]!==_||t[51]!==i||t[52]!==te?(ne=(0,$.jsx)(iC,{placement:`footer`,embedded:i,composerPhase:g,composerReveal:_,children:te}),t[49]=g,t[50]=_,t[51]=i,t[52]=te,t[53]=ne):ne=t[53],ne}var aA=Ut(`app.use-chat-history.hook`);function oA(){let e=Ks(),t=Vs(),n=X(e=>e.selectedThreadId);(0,Z.useEffect)(()=>{if(!n)return;let r=n,i=!1;async function a(){if(kc(t.getState().threadToolSessions[r]))return;let n=t.getState().chatHistoryEpoch;try{let[a,o]=await Promise.all([ci(r),Ur(r).catch(e=>(aA.error(`Failed to load thread metadata for conversation id:`,e),null))]);if(i||t.getState().chatHistoryEpoch!==n)return;let s=_s(r,{hasSession:()=>!1,streamingStates:t.getState().threadStreamingStates}),c=o?.currentConversationId?.trim()||void 0;if(c&&e({type:Y.SetPrimaryConversationId,conversationId:c}),s||e({type:Y.SetMessages,messages:a.messages,conversationId:c,historyEpoch:n}),s)return;Ma.invalidate(`processing-threads`);let l=await No();if(i||t.getState().chatHistoryEpoch!==n)return;e({type:Y.SetProcessingThreads,threadIds:l})}catch(a){aA.error(`Failed to load chat history:`,a),!i&&t.getState().chatHistoryEpoch===n&&(e({type:Y.SetMessages,messages:[],historyEpoch:n}),e({type:Y.ResetStream,threadId:r,paneId:`primary`}))}}return a(),()=>{i=!0}},[n,X(e=>e.selectedProjectId),e,t])}function sA(){let e=(0,Q.c)(8),t=Ks(),n=Vs(),r=X(cA),i=r?.messageId,a;e[0]===i?a=e[1]:(a=e=>i?e.messages.some(e=>e.messageId===i):!0,e[0]=i,e[1]=a);let o=X(a),s,c;e[2]!==t||e[3]!==o||e[4]!==r||e[5]!==n?(s=()=>{!r||o||t({type:Y.SetMessages,messages:[...n.getState().messages,bc(r)]})},c=[r,o,t,n],e[2]=t,e[3]=o,e[4]=r,e[5]=n,e[6]=s,e[7]=c):(s=e[6],c=e[7]),(0,Z.useEffect)(s,c)}function cA(e){if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];return t&&kc(t)?t:null}var lA=(0,Z.lazy)(()=>us(()=>import(`./diff-view-BJga_mCE.js`),__vite__mapDeps([18,1,19,20,4,5,21,22,23,24,25,14,26,27]))),uA=(0,Z.lazy)(()=>us(()=>import(`./create-project-dialog-CPz95RZY.js`),__vite__mapDeps([35,1,33,4,5]))),dA=Ut(`chat.area`);function fA(e){let t=(0,Q.c)(40),{onCreateThread:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}=e,s=Ks(),c=Yn(),l=Gn(),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),m=X(_A),h;t[0]===s?h=t[1]:(h=()=>{s({type:Y.CloseSidebar})},t[0]=s,t[1]=h);let g=h,_;t[2]===g?_=t[3]:(_=()=>{g(),p(`clone`),d(!0)},t[2]=g,t[3]=_);let v=_,y;t[4]===g?y=t[5]:(y=()=>{g(),p(`webapp`),d(!0)},t[4]=g,t[5]=y);let b=y,x;t[6]===r?x=t[7]:(x=async(e,t)=>{d(!1),p(null),await r(e,t).catch(gA)},t[6]=r,t[7]=x);let S=x,C;t[8]===i?C=t[9]:(C=async(e,t,n)=>{d(!1),p(null),await i(e,t,n).catch(hA)},t[8]=i,t[9]=C);let w=C,T;t[10]!==g||t[11]!==o?(T=async()=>{g(),d(!1),p(null),await o().catch(mA)},t[10]=g,t[11]=o,t[12]=T):T=t[12];let E=T,D;t[13]===a?D=t[14]:(D=async e=>{d(!1),p(null),await a(e).catch(pA)},t[13]=a,t[14]=D);let O=D,k=l.pathname===`/review`,A;t[15]===c?A=t[16]:(A=()=>{c(`/`)},t[15]=c,t[16]=A);let j=A;oA(),sA();let M=!k,N;t[17]!==v||t[18]!==b||t[19]!==E||t[20]!==n?(N=(0,$.jsx)(sO,{paneId:`primary`,onCreateThread:n,showEmptyState:!0,hideInput:!0,onConnectRepo:v,onNewApp:b,onOpenFolder:E}),t[17]=v,t[18]=b,t[19]=E,t[20]=n,t[21]=N):N=t[21];let P=M?N:null,F;t[22]!==P||t[23]!==j||t[24]!==k||t[25]!==m||t[26]!==M?(F=k&&m?(0,$.jsx)(Pd,{threadId:m,children:(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(ga,{}),children:(0,$.jsx)(lA,{threadId:m,onExit:j})})}):M?(0,$.jsx)(iA,{children:P}):null,t[22]=P,t[23]=j,t[24]=k,t[25]=m,t[26]=M,t[27]=F):F=t[27];let I=f??void 0,L;t[28]!==u||t[29]!==O||t[30]!==S||t[31]!==w||t[32]!==I?(L=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(uA,{open:u,onOpenChange:d,initialMode:I,onSubmitClone:S,onSubmitWebApp:w,onSubmitFolder:O})}),t[28]=u,t[29]=O,t[30]=S,t[31]=w,t[32]=I,t[33]=L):L=t[33];let R;t[34]!==F||t[35]!==L?(R=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[F,L]}),t[34]=F,t[35]=L,t[36]=R):R=t[36];let z;return t[37]!==m||t[38]!==R?(z=(0,$.jsx)(Hm,{threadId:m,children:R}),t[37]=m,t[38]=R,t[39]=z):z=t[39],z}function pA(e){dA.error(`Failed to create folder`,{err:e})}function mA(e){dA.error(`Failed to open folder`,{err:e})}function hA(e){dA.error(`Failed to create project`,{err:e})}function gA(e){dA.error(`Failed to clone repository`,{err:e})}function _A(e){return e.selectedThreadId}var vA=1e3;function yA(e){return!Number.isFinite(e)||e<=0?`+$0.00`:`+$${(Math.round(e*100)/100).toFixed(2)}`}function bA(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))return 0;let n=e-t;return n<=0?0:Math.round(n*100)/100}function xA(e){return 300+(Math.max(e,1)-1)*30}function SA(e){let t=(0,Q.c)(8),{deltaLabel:n,phase:r}=e,i=(0,Z.useRef)(null),a;t[0]===r?a=t[1]:(a=()=>{if(r!==`fade`||!i.current)return;let e=i.current.animate([{opacity:1},{opacity:0}],{duration:280,easing:`ease-out`,fill:`forwards`});return()=>{e.cancel()}},t[0]=r,t[1]=a);let o;if(t[2]!==n||t[3]!==r?(o=[r,n],t[2]=n,t[3]=r,t[4]=o):o=t[4],(0,Z.useEffect)(a,o),r!==`hold`&&r!==`fade`)return null;let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=G(U.compact,`pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-full`,`bg-foreground text-background font-mono tabular-nums font-bold whitespace-nowrap`),t[5]=s):s=t[5];let c;return t[6]===n?c=t[7]:(c=(0,$.jsx)(`span`,{ref:i,className:s,"aria-hidden":`true`,children:n}),t[6]=n,t[7]=c),c}function CA(e){return $e(e).split(``)}function wA(e){let t=(0,Q.c)(19),{previousCharacter:n,nextCharacter:r,isFlipping:i,index:a,flipKey:o}=e,s=i&&n!==r,c=s?r:n;if(!s){let e;return t[0]===c?e=t[1]:(e=(0,$.jsx)(`span`,{className:`inline-block`,children:c}),t[0]=c,t[1]=e),e}let l=a*30,u=`${o}-${a}-${r}`,d=`${l}ms`,f;t[2]===d?f=t[3]:(f={animationDuration:`300ms`,animationDelay:d},t[2]=d,t[3]=f);let p;t[4]!==n||t[5]!==f?(p=(0,$.jsx)(`span`,{className:`absolute inset-x-0 top-0 animate-daily-spend-flip-out`,style:f,children:n}),t[4]=n,t[5]=f,t[6]=p):p=t[6];let m=`${l}ms`,h;t[7]===m?h=t[8]:(h={animationDuration:`300ms`,animationDelay:m},t[7]=m,t[8]=h);let g;t[9]!==r||t[10]!==h?(g=(0,$.jsx)(`span`,{className:`absolute inset-x-0 top-0 animate-daily-spend-flip-in`,style:h,children:r}),t[9]=r,t[10]=h,t[11]=g):g=t[11];let _;t[12]===c?_=t[13]:(_=(0,$.jsx)(`span`,{className:`invisible`,children:c}),t[12]=c,t[13]=_);let v;return t[14]!==u||t[15]!==p||t[16]!==g||t[17]!==_?(v=(0,$.jsxs)(`span`,{className:`relative inline-block h-[1em] overflow-hidden align-bottom`,"aria-hidden":`true`,children:[p,g,_]},u),t[14]=u,t[15]=p,t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function TA(e){let t=(0,Q.c)(12),{fromAmount:n,toAmount:r,isFlipping:i,flipKey:a,className:o}=e,s;if(t[0]!==n||t[1]!==r){let e=CA(n),i=CA(r),a=Math.max(e.length,i.length);s=Array.from({length:a},(t,n)=>({previousCharacter:e[n]??``,nextCharacter:i[n]??``})),t[0]=n,t[1]=r,t[2]=s}else s=t[2];let c=s,l;t[3]===o?l=t[4]:(l=G(`inline-flex items-center`,o),t[3]=o,t[4]=l);let u;t[5]!==c||t[6]!==a||t[7]!==i?(u=c.map((e,t)=>{let{previousCharacter:n,nextCharacter:r}=e;return(0,$.jsx)(wA,{previousCharacter:n,nextCharacter:r,isFlipping:i,index:t,flipKey:a},`${t}-${n}-${r}`)}),t[5]=c,t[6]=a,t[7]=i,t[8]=u):u=t[8];let d;return t[9]!==l||t[10]!==u?(d=(0,$.jsx)(`span`,{className:l,"aria-live":`polite`,children:u}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function EA(e){return!Number.isFinite(e)||e<=0?`0%`:`${(e*100).toFixed(1)}%`}function DA(e){return Me(e.cacheReadTokens,we(e.inputTokens,e.cacheReadTokens,e.cacheWriteTokens))}function OA(e){let t=(0,Q.c)(9),{models:n}=e;if(n.length===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:U.caption,children:`By model`}),t[0]=r):r=t[0];let i;if(t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=DA(e),n=T(t);return(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[e.model,` · `,EA(t),n?` · not caching`:``]},e.model)},t[3]=e):e=t[3],i=n.map(e),t[1]=n,t[2]=i}else i=t[2];let a;t[4]===n?a=t[5]:(a=n.some(function(e){return T(DA(e))})?(0,$.jsx)(`div`,{className:U.caption,children:`Models marked not caching re-bill the full context as input each turn.`}):null,t[4]=n,t[5]=a);let o;return t[6]!==i||t[7]!==a?(o=(0,$.jsxs)(`div`,{className:`space-y-1 pt-2`,children:[r,i,a]}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function kA(e){let t=(0,Q.c)(42),{inputTokens:n,cacheReadTokens:r,cacheWriteTokens:i,cacheReadCost:a,cacheWriteCost:o,byModel:s}=e,c,l,u,d,f,p,m,h,g,_;if(t[0]!==r||t[1]!==i||t[2]!==n||t[3]!==s){c=s===void 0?[]:s;let e=Me(r,we(n,r,i)),a=c[0];l=c.length>1||a!==void 0&&T(DA(a)),g=`space-y-1 pt-3`,t[14]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`div`,{className:U.label,children:`Prompt cache`}),t[14]=_):_=t[14],u=U.bodyMuted,t[15]===r?d=t[16]:(d=Vt(r),t[15]=r,t[16]=d),f=` cache read / `,t[17]===i?p=t[18]:(p=Vt(i),t[17]=i,t[18]=p),m=` cache write tokens · `,h=EA(e),t[0]=r,t[1]=i,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=_}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],_=t[13];let v;t[19]!==u||t[20]!==d||t[21]!==f||t[22]!==p||t[23]!==m||t[24]!==h?(v=(0,$.jsxs)(`div`,{className:u,children:[d,f,p,m,h,` hit rate`]}),t[19]=u,t[20]=d,t[21]=f,t[22]=p,t[23]=m,t[24]=h,t[25]=v):v=t[25];let y;t[26]===a?y=t[27]:(y=$e(a),t[26]=a,t[27]=y);let b;t[28]===o?b=t[29]:(b=$e(o),t[28]=o,t[29]=b);let x;t[30]!==y||t[31]!==b?(x=(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[y,` cache read cost /`,` `,b,` cache write cost`]}),t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]!==c||t[34]!==l?(S=l?(0,$.jsx)(OA,{models:c}):null,t[33]=c,t[34]=l,t[35]=S):S=t[35];let C;return t[36]!==v||t[37]!==x||t[38]!==S||t[39]!==g||t[40]!==_?(C=(0,$.jsxs)(`div`,{className:g,children:[_,v,x,S]}),t[36]=v,t[37]=x,t[38]=S,t[39]=g,t[40]=_,t[41]=C):C=t[41],C}var AA=pn,jA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(sr,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});jA.displayName=sr.displayName;var MA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-base font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:data-[state=active]:bg-foreground dark:data-[state=active]:text-background`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(ar,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});MA.displayName=ar.displayName;var NA=Z.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=G(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Fn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});NA.displayName=Fn.displayName;var PA=Ut(`app.use-current-conversation-spend.hook`);function FA(e,t=``){let n=X(e=>e.focusedPane),r=X(e=>n===Ms?void 0:gs(e,n)),[i,a]=(0,Z.useState)(),[o,s]=(0,Z.useState)(0),[c,l]=(0,Z.useState)(0),[u,d]=(0,Z.useState)(0),[f,p]=(0,Z.useState)(0),[m,h]=(0,Z.useState)(0),[g,_]=(0,Z.useState)(0),[v,y]=(0,Z.useState)(0),[b,x]=(0,Z.useState)([]),[S,C]=(0,Z.useState)(!1),w=n===Ms?i:r;(0,Z.useEffect)(()=>{let t=!1;async function r(){if(!e||n!==Ms){a(void 0);return}try{let n=await Ur(e);if(t)return;a(n.currentConversationId)}catch(e){PA.error(`Failed to resolve current conversation id`,e),t||a(void 0)}}return r(),()=>{t=!0}},[n,t,e]);let T=(0,Z.useCallback)(async function(){if(!e||!w){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([]),C(!1);return}C(!0);try{let t=await Xi(e,w);s(t.usage.cost.total),l(t.usage.input),d(t.usage.output),p(t.usage.cacheRead),h(t.usage.cacheWrite),_(t.usage.cost.cacheRead),y(t.usage.cost.cacheWrite),x(t.cacheByModel??[])}catch(e){if(e instanceof Error&&e.message===`Conversation not found`){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([]);return}PA.error(`Failed to load current conversation spend`,e),s(0),l(0),d(0),p(0),h(0),_(0),y(0),x([])}finally{C(!1)}},[w,e]);return(0,Z.useEffect)(()=>{T()},[T,t]),{conversationId:w,totalCost:o,inputTokens:c,outputTokens:u,cacheReadTokens:f,cacheWriteTokens:m,cacheReadCost:g,cacheWriteCost:v,byModel:b,isLoading:S,refresh:T}}var IA=Ut(`app.use-daily-spend.hook`);function LA(e=``){let[t,n]=(0,Z.useState)(0),[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(0),[l,u]=(0,Z.useState)(0),[d,f]=(0,Z.useState)(0),[p,m]=(0,Z.useState)(0),[h,g]=(0,Z.useState)(0),[_,v]=(0,Z.useState)(0),[y,b]=(0,Z.useState)(0),[x,S]=(0,Z.useState)(0),[C,w]=(0,Z.useState)(0),[T,E]=(0,Z.useState)(0),[D,O]=(0,Z.useState)(0),[k,A]=(0,Z.useState)(0),[j,M]=(0,Z.useState)(0),[N,P]=(0,Z.useState)([]),[F,I]=(0,Z.useState)([]),[L,R]=(0,Z.useState)(!0),[z,B]=(0,Z.useState)(0),V=(0,Z.useRef)(0),H=(0,Z.useCallback)(async function(){let e=++V.current;try{let t=await Ri();if(e!==V.current)return;n(t.today),i(t.last30Days),o(t.todayInputTokens),c(t.todayOutputTokens),u(t.last30DaysInputTokens),f(t.last30DaysOutputTokens),m(t.todayCacheReadTokens),g(t.todayCacheWriteTokens),v(t.last30DaysCacheReadTokens),b(t.last30DaysCacheWriteTokens),S(t.todayCacheReadCost),w(t.todayCacheWriteCost),E(t.last30DaysCacheReadCost),O(t.last30DaysCacheWriteCost),A(t.todayCompressionBytesSaved),M(t.last30DaysCompressionBytesSaved),P(t.todayByModel??[]),I(t.last30DaysByModel??[]),B(e=>e+1)}catch(t){if(e!==V.current)return;IA.error(`Failed to load daily spend summary`,t)}finally{e===V.current&&R(!1)}},[]);return(0,Z.useEffect)(()=>{H()},[H,e]),{today:t,last30Days:r,todayInputTokens:a,todayOutputTokens:s,last30DaysInputTokens:l,last30DaysOutputTokens:d,todayCacheReadTokens:p,todayCacheWriteTokens:h,last30DaysCacheReadTokens:_,last30DaysCacheWriteTokens:y,todayCacheReadCost:x,todayCacheWriteCost:C,last30DaysCacheReadCost:T,last30DaysCacheWriteCost:D,todayCompressionBytesSaved:k,last30DaysCompressionBytesSaved:j,todayByModel:N,last30DaysByModel:F,isLoading:L,refreshGeneration:z,refresh:H}}function RA(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=function(){n(e.matches)};return t(),e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}function zA({todayFromApi:e,refreshSignal:t,refreshGeneration:n,isLoading:r}){let i=RA(),[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(`idle`),[l,u]=(0,Z.useState)(0),[d,f]=(0,Z.useState)(0),p=(0,Z.useRef)(0),m=(0,Z.useRef)(0),h=(0,Z.useRef)(0),g=(0,Z.useRef)(!0),_=(0,Z.useRef)(t),v=(0,Z.useRef)(n),y=(0,Z.useRef)(!1),b=(0,Z.useRef)(`idle`),x=(0,Z.useRef)([]);b.current=s;let S=(0,Z.useCallback)(function(){for(let e of x.current)window.clearTimeout(e);x.current=[]},[]),C=(0,Z.useCallback)(function(e,t){let n=window.setTimeout(e,t);x.current.push(n)},[]),w=(0,Z.useRef)(()=>{});return w.current=function(){if(h.current<=0||b.current!==`idle`)return;let e=h.current;h.current=0,u(e),c(`hold`),C(()=>{c(`fade`),C(()=>{let t=p.current+e,n=xA($e(t).length);f(e=>e+1),c(`flip`),C(()=>{p.current=t,o(t),u(0),c(`idle`),h.current>0&&w.current()},n)},280)},vA)},(0,Z.useEffect)(()=>{if(r)return;if(g.current){g.current=!1,_.current=t,v.current=n,p.current=e,m.current=e,o(e);return}if(t!==_.current){let e=new Set(_.current?_.current.split(`,`):[]),n=new Set(t?t.split(`,`):[]);_.current=t;let r=!1;for(let t of n)if(!e.has(t)){r=!0;break}r&&(y.current=!0)}let a=n!==v.current;if(a&&(v.current=n),y.current){if(!a)return;y.current=!1;let t=bA(e,m.current);if(t<=0){b.current===`idle`&&(p.current=e,m.current=e,o(e));return}if(m.current=e,i){S(),h.current=0,u(0),c(`idle`),p.current=e,o(e);return}h.current+=t,b.current===`idle`&&(S(),w.current());return}a&&b.current===`idle`&&(p.current=e,m.current=e,o(e))},[S,r,i,n,t,C,e]),(0,Z.useEffect)(()=>()=>{S()},[S]),{isAnimating:s!==`idle`,phase:s,deltaLabel:l>0?yA(l):null,flipFromAmount:a,flipToAmount:a+l,isFlipping:s===`flip`,flipKey:d}}function BA(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`showDailySpend`,defaultValue:!0,logScope:`app.use-show-daily-spend.hook`,settingLabel:`spend`},e[0]=t):t=e[0],aS(t)}var VA=`h-auto shrink-0 rounded-full border bg-muted/40`,HA=`rounded-full px-4 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:shadow-sm`;function UA(e){return{model:e.modelId,inputTokens:e.inputTokens,cacheReadTokens:e.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens,cacheReadCost:e.cacheReadCost,cacheWriteCost:e.cacheWriteCost}}function WA(e){let t=(0,Q.c)(22),{todayLabel:r,todayInputTokens:i,todayOutputTokens:a,todayCacheReadTokens:o,todayCacheWriteTokens:s,todayCacheReadCost:c,todayCacheWriteCost:l,todayCompressionBytesSaved:u,todayByModel:d}=e,f=i>0||a>0||o>0||s>0,p=o>0||s>0||c>0||l>0||d.length>0,m=u>0,h;t[0]===r?h=t[1]:(h=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[r,` spent`]})}),t[0]=r,t[1]=h);let g;t[2]!==f||t[3]!==i||t[4]!==a?(g=f?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(i),` input / `,Vt(a),` `,`output tokens`]})]}):null,t[2]=f,t[3]=i,t[4]=a,t[5]=g):g=t[5];let _;t[6]!==p||t[7]!==d||t[8]!==c||t[9]!==o||t[10]!==l||t[11]!==s||t[12]!==i?(_=p?(0,$.jsx)(kA,{inputTokens:i,cacheReadTokens:o,cacheWriteTokens:s,cacheReadCost:c,cacheWriteCost:l,byModel:d}):null,t[6]=p,t[7]=d,t[8]=c,t[9]=o,t[10]=l,t[11]=s,t[12]=i,t[13]=_):_=t[13];let v;t[14]!==m||t[15]!==u?(v=m?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[n(u),` saved`]})]}):null,t[14]=m,t[15]=u,t[16]=v):v=t[16];let y;return t[17]!==h||t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[h,g,_,v]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function GA(e){let t=(0,Q.c)(22),{totalCost:n,inputTokens:r,outputTokens:i,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,byModel:l,hasConversation:u,isLoading:d}=e;if(!u){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:U.bodyMuted,children:`Start a conversation to see spend for the current chat.`}),t[0]=e):e=t[0],e}if(d){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:U.bodyMuted,children:`Loading current chat spend…`}),t[1]=e):e=t[1],e}let f;t[2]===n?f=t[3]:(f=$e(n),t[2]=n,t[3]=f);let p=f,m=r>0||i>0||a>0||o>0,h=a>0||o>0||s>0||c>0||l.length>0,g=n>0?`${p} spent`:`No spend recorded yet`,_;t[4]===g?_=t[5]:(_=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`div`,{children:g})}),t[4]=g,t[5]=_);let v;t[6]!==m||t[7]!==r||t[8]!==i?(v=m?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(r),` input / `,Vt(i),` output tokens`]})]}):null,t[6]=m,t[7]=r,t[8]=i,t[9]=v):v=t[9];let y;t[10]!==l||t[11]!==s||t[12]!==a||t[13]!==c||t[14]!==o||t[15]!==h||t[16]!==r?(y=h?(0,$.jsx)(kA,{inputTokens:r,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,byModel:l}):null,t[10]=l,t[11]=s,t[12]=a,t[13]=c,t[14]=o,t[15]=h,t[16]=r,t[17]=y):y=t[17];let b;return t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[_,v,y]}),t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function KA(e){let t=(0,Q.c)(23),{last30DaysLabel:r,averagePerDayLabel:i,last30DaysInputTokens:a,last30DaysOutputTokens:o,last30DaysCacheReadTokens:s,last30DaysCacheWriteTokens:c,last30DaysCacheReadCost:l,last30DaysCacheWriteCost:u,last30DaysCompressionBytesSaved:d,last30DaysByModel:f}=e,p=a>0||o>0||s>0||c>0,m=s>0||c>0||l>0||u>0||f.length>0,h=d>0,g;t[0]!==i||t[1]!==r?(g=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[r,` spent · `,i,`/day average`]})}),t[0]=i,t[1]=r,t[2]=g):g=t[2];let _;t[3]!==p||t[4]!==a||t[5]!==o?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[Vt(a),` input /`,` `,Vt(o),` output tokens`]})]}):null,t[3]=p,t[4]=a,t[5]=o,t[6]=_):_=t[6];let v;t[7]!==m||t[8]!==f||t[9]!==l||t[10]!==s||t[11]!==u||t[12]!==c||t[13]!==a?(v=m?(0,$.jsx)(kA,{inputTokens:a,cacheReadTokens:s,cacheWriteTokens:c,cacheReadCost:l,cacheWriteCost:u,byModel:f}):null,t[7]=m,t[8]=f,t[9]=l,t[10]=s,t[11]=u,t[12]=c,t[13]=a,t[14]=v):v=t[14];let y;t[15]!==h||t[16]!==d?(y=h?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:U.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:U.bodyMuted,children:[n(d),` saved`]})]}):null,t[15]=h,t[16]=d,t[17]=y):y=t[17];let b;return t[18]!==g||t[19]!==_||t[20]!==v||t[21]!==y?(b=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v,y]}),t[18]=g,t[19]=_,t[20]=v,t[21]=y,t[22]=b):b=t[22],b}function qA(){let e=(0,Q.c)(101),t=X(YA),n=X(JA),r=gC(),i;e[0]===t?i=e[1]:(i=t.join(`,`),e[0]=t,e[1]=i);let a=i,{isEnabled:o,isLoading:s}=BA(),{today:c,last30Days:l,todayInputTokens:u,todayOutputTokens:d,last30DaysInputTokens:f,last30DaysOutputTokens:p,todayCacheReadTokens:m,todayCacheWriteTokens:h,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,todayCacheReadCost:v,todayCacheWriteCost:y,last30DaysCacheReadCost:b,last30DaysCacheWriteCost:x,todayCompressionBytesSaved:S,last30DaysCompressionBytesSaved:C,todayByModel:w,last30DaysByModel:T,isLoading:E,refreshGeneration:D}=LA(a),O;e[2]!==E||e[3]!==D||e[4]!==a||e[5]!==c?(O={todayFromApi:c,refreshSignal:a,refreshGeneration:D,isLoading:E},e[2]=E,e[3]=D,e[4]=a,e[5]=c,e[6]=O):O=e[6];let{isAnimating:k,phase:A,deltaLabel:j,flipFromAmount:M,flipToAmount:N,isFlipping:P,flipKey:F}=zA(O),{conversationId:I,totalCost:L,inputTokens:R,outputTokens:z,cacheReadTokens:B,cacheWriteTokens:V,cacheReadCost:H,cacheWriteCost:ee,byModel:te,isLoading:ne}=FA(n,a),[re,ie]=(0,Z.useState)(!1);if(!o||s||E||c===0&&!k)return null;let ae=l/30,oe;e[7]===c?oe=e[8]:(oe=$e(c),e[7]=c,e[8]=oe);let se=oe,ce;e[9]===l?ce=e[10]:(ce=$e(l),e[9]=l,e[10]=ce);let le=ce,ue;e[11]===ae?ue=e[12]:(ue=$e(ae),e[11]=ae,e[12]=ue);let W=ue,de;e[13]===L?de=e[14]:(de=$e(L),e[13]=L,e[14]=de);let fe=de,pe=r?nl:`text-foreground hover:text-foreground/80`,me;e[15]===pe?me=e[16]:(me=G(U.compact,`relative overflow-hidden inline-flex h-8 items-center rounded-full px-3 font-mono tabular-nums electrobun-webkit-app-region-no-drag cursor-pointer transition-colors`,pe),e[15]=pe,e[16]=me);let he;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(he=()=>ie(!0),e[17]=he):he=e[17];let ge;e[18]!==M||e[19]!==F||e[20]!==N||e[21]!==P?(ge=(0,$.jsx)(`span`,{className:`col-start-1 row-start-1`,children:(0,$.jsx)(TA,{fromAmount:M,toAmount:N,isFlipping:P,flipKey:F})}),e[18]=M,e[19]=F,e[20]=N,e[21]=P,e[22]=ge):ge=e[22];let _e;e[23]!==j||e[24]!==A?(_e=j&&(A===`hold`||A===`fade`)?(0,$.jsx)(`span`,{className:`col-start-1 row-start-1 invisible font-bold`,"aria-hidden":`true`,children:j}):null,e[23]=j,e[24]=A,e[25]=_e):_e=e[25];let ve;e[26]!==_e||e[27]!==ge?(ve=(0,$.jsxs)(`span`,{className:`inline-grid items-center justify-items-center`,children:[ge,_e]}),e[26]=_e,e[27]=ge,e[28]=ve):ve=e[28];let ye;e[29]!==j||e[30]!==A?(ye=j?(0,$.jsx)(SA,{deltaLabel:j,phase:A}):null,e[29]=j,e[30]=A,e[31]=ye):ye=e[31];let be;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`span`,{className:`sr-only`,children:`View spend details`}),e[32]=be):be=e[32];let xe;e[33]!==ve||e[34]!==ye||e[35]!==me?(xe=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:me,onClick:he,children:[ve,ye,be]})}),e[33]=ve,e[34]=ye,e[35]=me,e[36]=xe):xe=e[36];let Se;e[37]===se?Se=e[38]:(Se=(0,$.jsxs)(`div`,{children:[se,` spent today`]}),e[37]=se,e[38]=Se);let Ce;e[39]===fe?Ce=e[40]:(Ce=(0,$.jsxs)(`div`,{children:[fe,` · This Chat`]}),e[39]=fe,e[40]=Ce);let we;e[41]===le?we=e[42]:(we=(0,$.jsxs)(`div`,{children:[le,` spend last 30 days`]}),e[41]=le,e[42]=we);let Te;e[43]===W?Te=e[44]:(Te=(0,$.jsxs)(`div`,{children:[W,` average per day`]}),e[43]=W,e[44]=Te);let Ee;e[45]!==Se||e[46]!==Ce||e[47]!==we||e[48]!==Te?(Ee=(0,$.jsxs)(Fr,{className:`space-y-1`,children:[Se,Ce,we,Te]}),e[45]=Se,e[46]=Ce,e[47]=we,e[48]=Te,e[49]=Ee):Ee=e[49];let De;e[50]!==xe||e[51]!==Ee?(De=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[xe,Ee]})}),e[50]=xe,e[51]=Ee,e[52]=De):De=e[52];let Oe;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(Dr,{children:(0,$.jsx)(qa,{children:`Spend`})}),e[53]=Oe):Oe=e[53];let ke;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsxs)(jA,{className:VA,children:[(0,$.jsx)(MA,{value:`today`,className:HA,children:`Today`}),(0,$.jsx)(MA,{value:`currentChat`,className:HA,children:`This Chat`}),(0,$.jsx)(MA,{value:`last30Days`,className:HA,children:`Last 30 Days`})]}),e[54]=ke):ke=e[54];let Ae;e[55]===w?Ae=e[56]:(Ae=w.map(UA),e[55]=w,e[56]=Ae);let je;e[57]!==Ae||e[58]!==v||e[59]!==m||e[60]!==y||e[61]!==h||e[62]!==S||e[63]!==u||e[64]!==se||e[65]!==d?(je=(0,$.jsx)(NA,{value:`today`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(WA,{todayLabel:se,todayInputTokens:u,todayOutputTokens:d,todayCacheReadTokens:m,todayCacheWriteTokens:h,todayCacheReadCost:v,todayCacheWriteCost:y,todayCompressionBytesSaved:S,todayByModel:Ae})})}),e[57]=Ae,e[58]=v,e[59]=m,e[60]=y,e[61]=h,e[62]=S,e[63]=u,e[64]=se,e[65]=d,e[66]=je):je=e[66];let Me=!!(n&&I),Ne;e[67]!==te||e[68]!==H||e[69]!==B||e[70]!==ee||e[71]!==V||e[72]!==L||e[73]!==R||e[74]!==z||e[75]!==ne||e[76]!==Me?(Ne=(0,$.jsx)(NA,{value:`currentChat`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(GA,{totalCost:L,inputTokens:R,outputTokens:z,cacheReadTokens:B,cacheWriteTokens:V,cacheReadCost:H,cacheWriteCost:ee,byModel:te,hasConversation:Me,isLoading:ne})})}),e[67]=te,e[68]=H,e[69]=B,e[70]=ee,e[71]=V,e[72]=L,e[73]=R,e[74]=z,e[75]=ne,e[76]=Me,e[77]=Ne):Ne=e[77];let Pe;e[78]===T?Pe=e[79]:(Pe=T.map(UA),e[78]=T,e[79]=Pe);let Fe;e[80]!==W||e[81]!==b||e[82]!==g||e[83]!==x||e[84]!==_||e[85]!==C||e[86]!==f||e[87]!==le||e[88]!==p||e[89]!==Pe?(Fe=(0,$.jsx)(NA,{value:`last30Days`,className:`min-h-0 flex-1`,children:(0,$.jsx)(za,{className:`h-full`,children:(0,$.jsx)(KA,{last30DaysLabel:le,averagePerDayLabel:W,last30DaysInputTokens:f,last30DaysOutputTokens:p,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,last30DaysCacheReadCost:b,last30DaysCacheWriteCost:x,last30DaysCompressionBytesSaved:C,last30DaysByModel:Pe})})}),e[80]=W,e[81]=b,e[82]=g,e[83]=x,e[84]=_,e[85]=C,e[86]=f,e[87]=le,e[88]=p,e[89]=Pe,e[90]=Fe):Fe=e[90];let Ie;e[91]!==je||e[92]!==Ne||e[93]!==Fe?(Ie=(0,$.jsxs)(Ir,{className:`flex h-[520px] max-w-xl flex-col overflow-hidden max-h-[calc(100dvh-2rem)]`,children:[Oe,(0,$.jsxs)(AA,{defaultValue:`today`,className:`flex min-h-0 flex-1 flex-col`,children:[ke,je,Ne,Fe]})]}),e[91]=je,e[92]=Ne,e[93]=Fe,e[94]=Ie):Ie=e[94];let Le;e[95]!==re||e[96]!==Ie?(Le=(0,$.jsx)(Ni,{open:re,onOpenChange:ie,children:Ie}),e[95]=re,e[96]=Ie,e[97]=Le):Le=e[97];let Re;return e[98]!==De||e[99]!==Le?(Re=(0,$.jsxs)($.Fragment,{children:[De,Le]}),e[98]=De,e[99]=Le,e[100]=Re):Re=e[100],Re}function JA(e){return e.selectedThreadId}function YA(e){return e.completedThreadIds}function XA(){let e=(0,Q.c)(15),{resolvedTheme:t,setTheme:n}=Ic(),r=t===`dark`,i;e[0]!==r||e[1]!==n?(i=function(){n(r?`light`:`dark`)},e[0]=r,e[1]=n,e[2]=i):i=e[2];let a=i,o;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,nl),e[3]=o):o=e[3];let s=r?`Switch to light mode`:`Switch to dark mode`,c;e[4]===r?c=e[5]:(c=r?(0,$.jsx)(fe,{className:`h-4 w-4`}):(0,$.jsx)(Je,{className:`h-4 w-4`}),e[4]=r,e[5]=c);let l;e[6]!==a||e[7]!==s||e[8]!==c?(l=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{variant:`ghost`,size:`icon`,className:o,onClick:a,"aria-label":s,children:c})}),e[6]=a,e[7]=s,e[8]=c,e[9]=l):l=e[9];let u=r?`Light mode`:`Dark mode`,d;e[10]===u?d=e[11]:(d=(0,$.jsx)(Fr,{children:u}),e[10]=u,e[11]=d);let f;return e[12]!==l||e[13]!==d?(f=(0,$.jsxs)(Mi,{children:[l,d]}),e[12]=l,e[13]=d,e[14]=f):f=e[14],f}function ZA(e,t){let n=e.find(e=>e.projectId===t.projectId);return n?.threads.some(e=>e.threadId===t.threadId)?n:e.find(e=>e.threads.some(e=>e.threadId===t.threadId))}function QA(){let e=(0,Q.c)(15),t=Ks(),n=Vs(),r=Yn(),i=Gn(),{toast:a}=ic(),{selectWindow:o,revealWindow:s,expandWindow:c,hasOpenWindows:l}=gc(),{setActiveMainTab:u}=mc(),{handleSelectThread:d,refreshProjects:f}=uw(),p;e[0]!==t||e[1]!==c||e[2]!==d||e[3]!==l||e[4]!==i.pathname||e[5]!==r||e[6]!==f||e[7]!==s||e[8]!==o||e[9]!==u||e[10]!==n||e[11]!==a?(p=async function(e){let p=ZA(n.getState().projects,e);if(p||=(await f(),ZA(n.getState().projects,e)),!p){a({title:`Conversation not found`,description:`Refresh and try again, or check that the project still exists.`,variant:`destructive`});return}if(!p.threads.some(t=>t.threadId===e.threadId)){a({title:`Conversation not found`,description:`This chat’s thread is no longer available.`,variant:`destructive`});return}(i.pathname.startsWith(`/settings`)||i.pathname!==`/`)&&(r(`/`),u(`chat`)),t({type:Y.OpenProjectPanel,projectId:p.projectId});let{selectedThreadId:m}=n.getState();e.threadId!==m&&d(p.projectId,e.threadId),l&&c(Ct);let h=function(e){t({type:Y.SetFocusedPane,paneId:e}),o(e),s(e)},g=n.getState().extraChatPanes,_=Object.entries(g).find(t=>{let[,n]=t;return n.conversationId===e.conversationId})?.[0];if(_){h(_);return}let v=je();t({type:Y.AddChatPane,paneId:v,conversationId:e.conversationId}),o(v),s(v)},e[0]=t,e[1]=c,e[2]=d,e[3]=l,e[4]=i.pathname,e[5]=r,e[6]=f,e[7]=s,e[8]=o,e[9]=u,e[10]=n,e[11]=a,e[12]=p):p=e[12];let m=p,h;return e[13]===m?h=e[14]:(h={openConversation:m},e[13]=m,e[14]=h),h}function $A(e){let t=(0,Q.c)(39),{open:n,onOpenChange:r,feedbackName:i,onFeedbackNameChange:a,feedbackEmail:o,onFeedbackEmailChange:s,feedbackText:c,onFeedbackTextChange:l,loadingFeedbackUser:u,submittingFeedback:d,onSubmit:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Send Feedback`}),(0,$.jsx)(_i,{children:`Share feedback about Tarsk.`})]}),t[0]=p):p=t[0];let m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(da,{htmlFor:`feedback-name`,children:`Name`}),t[1]=m):m=t[1];let h;t[2]===a?h=t[3]:(h=e=>a(e.target.value),t[2]=a,t[3]=h);let g=d||u,_;t[4]!==i||t[5]!==h||t[6]!==g?(_=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[m,(0,$.jsx)(Qo,{id:`feedback-name`,value:i,onChange:h,placeholder:`Your name`,disabled:g})]}),t[4]=i,t[5]=h,t[6]=g,t[7]=_):_=t[7];let v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(da,{htmlFor:`feedback-email`,children:`Email`}),t[8]=v):v=t[8];let y;t[9]===s?y=t[10]:(y=e=>s(e.target.value),t[9]=s,t[10]=y);let b=d||u,x;t[11]!==o||t[12]!==y||t[13]!==b?(x=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[v,(0,$.jsx)(Qo,{id:`feedback-email`,type:`email`,value:o,onChange:y,placeholder:`you@example.com`,disabled:b})]}),t[11]=o,t[12]=y,t[13]=b,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(da,{htmlFor:`feedback-text`,children:`Feedback`}),t[15]=S):S=t[15];let C;t[16]===l?C=t[17]:(C=e=>l(e.target.value),t[16]=l,t[17]=C);let w;t[18]!==c||t[19]!==d||t[20]!==C?(w=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[S,(0,$.jsx)(Sw,{id:`feedback-text`,value:c,onChange:C,placeholder:`Tell us what you think...`,className:`min-h-32`,disabled:d})]}),t[18]=c,t[19]=d,t[20]=C,t[21]=w):w=t[21];let T;t[22]!==w||t[23]!==_||t[24]!==x?(T=(0,$.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[_,x,w]}),t[22]=w,t[23]=_,t[24]=x,t[25]=T):T=t[25];let E;t[26]===d?E=t[27]:(E=d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Sending...`]}):`Send`,t[26]=d,t[27]=E);let D;t[28]!==f||t[29]!==d||t[30]!==E?(D=(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{onClick:f,disabled:d,children:E})}),t[28]=f,t[29]=d,t[30]=E,t[31]=D):D=t[31];let O;t[32]!==T||t[33]!==D?(O=(0,$.jsxs)(Ir,{className:`max-w-xl max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100`,children:[p,T,D]}),t[32]=T,t[33]=D,t[34]=O):O=t[34];let k;return t[35]!==r||t[36]!==n||t[37]!==O?(k=(0,$.jsx)(Ni,{open:n,onOpenChange:r,children:O}),t[35]=r,t[36]=n,t[37]=O,t[38]=k):k=t[38],k}function ej({open:e,onOpenChange:t}){let[n,r]=(0,Z.useState)([]),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{if(!e){a(null);return}let t=!1;return s(!0),wo().then(e=>{t||r(e)}).catch(()=>{t||(r([]),ac({title:`Unable to load processes`,description:`The CLI process list could not be loaded.`,variant:`destructive`}))}).finally(()=>{t||s(!1)}),()=>{t=!0}},[e]);async function u(){if(i){l(!0);try{await ti(i),r(e=>e.filter(e=>e.id!==i)),a(null)}catch{ac({title:`Unable to kill process`,description:`The process may have already exited.`,variant:`destructive`}),r(await wo().catch(()=>[])),a(null)}finally{l(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Processes`}),(0,$.jsx)(_i,{children:`Select a process started by Tarsk to terminate it.`})]}),(0,$.jsx)(`div`,{className:`max-h-80 overflow-y-auto rounded-md border`,role:`listbox`,children:o?(0,$.jsxs)(`div`,{className:G(U.bodyMuted,`flex items-center justify-center gap-2 py-10`),children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Loading processes...`]}):n.length===0?(0,$.jsx)(`div`,{className:G(U.bodyMuted,`py-10 text-center`),children:`No processes started by Tarsk are running.`}):n.map(e=>{let t=e.id===i;return(0,$.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:G(`flex w-full flex-col gap-1 border-b px-4 py-3 text-left transition-colors last:border-b-0`,t?`bg-accent text-accent-foreground`:`can-hover:hover:bg-muted/50`),onClick:()=>a(e.id),children:[(0,$.jsx)(`span`,{className:G(U.label,`break-all font-mono select-text`),children:e.command}),(0,$.jsxs)(`span`,{className:G(U.caption,`break-all select-text`),children:[`PID `,e.pid,e.cwd?` · ${e.cwd}`:``]})]},e.id)})}),(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{variant:`destructive`,disabled:!i||o||c,onClick:()=>void u(),children:c?`Killing...`:`Kill`})})]})})}var tj=Ut(`auth`);async function nj(e){await is(`api/auth/request-code`,{email:e})}async function rj(e,t){return is(`api/auth/verify`,{email:e,code:t})}async function ij(e){try{await is(`api/auth/revoke`,{token:e})}catch(e){tj.error(`Failed to revoke auth token:`,e)}}async function aj(){try{return(await Va(`api/auth/session`)).session??null}catch(e){return tj.error(`Failed to load auth session:`,e),null}}async function oj(e){await is(`api/auth/session`,e)}async function sj(){await is(`api/auth/logout`,{})}var cj=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function lj({open:e,onOpenChange:t,onVerified:n}){let[r,a]=(0,Z.useState)(`email`),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1);function g(){a(`email`),l(``),d(null),p(!1),h(!1)}async function _(e){e.preventDefault();let t=o.trim().toLowerCase();if(!cj.test(t)){d(`Please enter a valid email address.`);return}d(null),p(!0);try{await nj(t),s(t),a(`code`)}catch(e){d(e instanceof Error?e.message:`Failed to send verification code.`)}finally{p(!1)}}async function v(e){if(!(e.length<6)){h(!0),d(null);try{let r=await rj(o,e);await n({token:r.token,expiresAt:r.expires_at,email:r.email,jti:r.jti}),t(!1),g()}catch(e){d(e instanceof Error?e.message:`That code didn't work. Try again.`),l(``)}finally{h(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:e=>{e||g(),t(e)},children:(0,$.jsxs)(Ir,{className:`max-w-md`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:r===`email`?`Log in`:`Check your email`}),(0,$.jsx)(_i,{children:r===`email`?`Enter your email and we'll send you a verification code.`:`We sent a 6-digit code to ${o}.`})]}),r===`email`?(0,$.jsxs)(`form`,{onSubmit:e=>void _(e),className:`grid gap-4 py-2`,children:[(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(da,{htmlFor:`login-email`,children:`Email`}),(0,$.jsx)(Qo,{id:`login-email`,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:o,onChange:e=>s(e.target.value),disabled:f})]}),u?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:u}):null,(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{type:`submit`,disabled:f||!o.trim(),children:f?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Sending...`]}):`Next`})})]}):(0,$.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[(0,$.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,$.jsx)(Bt,{maxLength:6,value:c,onChange:v,disabled:m,autoFocus:!0,children:(0,$.jsxs)(wt,{children:[(0,$.jsx)(Ft,{index:0}),(0,$.jsx)(Ft,{index:1}),(0,$.jsx)(Ft,{index:2}),(0,$.jsx)(Ft,{index:3}),(0,$.jsx)(Ft,{index:4}),(0,$.jsx)(Ft,{index:5})]})})}),u?(0,$.jsx)(`p`,{className:`text-center text-sm text-destructive`,role:`alert`,children:u}):null,(0,$.jsxs)(Xa,{className:`justify-between sm:justify-between`,children:[(0,$.jsxs)(Hr,{type:`button`,variant:`ghost`,onClick:()=>{a(`email`),l(``),d(null)},disabled:m,children:[(0,$.jsx)(i,{className:`h-4 w-4`}),`Back`]}),m?(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}),`Verifying...`]}):null]})]})]})})}function uj(e){let t=(0,Q.c)(13),{stepNumber:n,currentStep:r,canGoToStep:i,onGoToStep:a}=e,o;t[0]!==i||t[1]!==a||t[2]!==n?(o=()=>i(n)&&a(n),t[0]=i,t[1]=a,t[2]=n,t[3]=o):o=t[3];let s=r===n?`scale-110 bg-primary text-primary-foreground`:r>n?`bg-brand text-brand-foreground`:`bg-muted text-muted-foreground`,c;t[4]!==i||t[5]!==n||t[6]!==s?(c=G(`flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition-colors transition-transform duration-300 ease-out`,U.body,s,i(n)&&`cursor-pointer hover:opacity-90`),t[4]=i,t[5]=n,t[6]=s,t[7]=c):c=t[7];let l=`Go to step ${n}`,u;return t[8]!==n||t[9]!==o||t[10]!==c||t[11]!==l?(u=(0,$.jsx)(`button`,{type:`button`,onClick:o,className:c,"aria-label":l,children:n}),t[8]=n,t[9]=o,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function dj(e){let t=(0,Q.c)(2),{filled:n}=e,r=n?`100%`:`0%`,i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(`div`,{className:`relative h-0.5 min-w-0 flex-1 overflow-hidden rounded-full bg-muted`,children:(0,$.jsx)(`div`,{className:`absolute inset-y-0 left-0 rounded-full bg-brand transition-[width] duration-300 ease-out`,style:{width:r}})}),t[0]=r,t[1]=i),i}function fj(e){let t=(0,Q.c)(14),{currentStep:n,canGoToStep:r,onGoToStep:i}=e,a;t[0]!==r||t[1]!==n||t[2]!==i?(a=(0,$.jsx)(uj,{stepNumber:1,currentStep:n,canGoToStep:r,onGoToStep:i}),t[0]=r,t[1]=n,t[2]=i,t[3]=a):a=t[3];let o=n>=2,s;t[4]===o?s=t[5]:(s=(0,$.jsx)(dj,{filled:o}),t[4]=o,t[5]=s);let c;t[6]!==r||t[7]!==n||t[8]!==i?(c=(0,$.jsx)(uj,{stepNumber:2,currentStep:n,canGoToStep:r,onGoToStep:i}),t[6]=r,t[7]=n,t[8]=i,t[9]=c):c=t[9];let l;return t[10]!==a||t[11]!==s||t[12]!==c?(l=(0,$.jsxs)(`div`,{className:`mx-auto mb-6 flex w-2/3 items-center gap-1`,children:[a,s,c]}),t[10]=a,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}var pj={session:null,isLoading:!0},mj=new Set;function hj(){for(let e of mj)e()}function gj(){return pj}function _j(e){return mj.add(e),()=>mj.delete(e)}var vj=null;function yj(){return vj||=aj().then(e=>{pj={session:e,isLoading:!1}}).catch(()=>{pj={session:null,isLoading:!1}}).finally(()=>{hj()}),vj}function bj(){let e=(0,Q.c)(4),{session:t,isLoading:n}=(0,Z.useSyncExternalStore)(_j,gj),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0],(0,Z.useEffect)(Cj,r);let i=Sj,a=xj,o;return e[1]!==n||e[2]!==t?(o={session:t,isLoading:n,login:i,logout:a},e[1]=n,e[2]=t,e[3]=o):o=e[3],o}async function xj(){let e=pj.session?.token;e&&await ij(e),await sj(),pj={session:null,isLoading:!1},hj()}async function Sj(e){await oj(e),pj={session:e,isLoading:!1},hj()}function Cj(){yj()}function wj(e){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!0),a=(0,Z.useCallback)(async()=>{if(!e){i(!1);return}i(!0);try{let t=await Aa(e);n(Object.entries(t.servers??{}).map(([e,t])=>({name:e,config:t})))}catch{n([])}finally{i(!1)}},[e]);return(0,Z.useLayoutEffect)(()=>{e&&i(!0)},[e]),(0,Z.useEffect)(()=>{a()},[a]),{installedServers:t,loadingConfig:r,loadInstalledServers:a}}function Tj(){let e=(0,Q.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),[i,a]=(0,Z.useState)(!0),o,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{a(!0),ua().then(r).catch(()=>r([])).finally(()=>a(!1))},s=[],e[1]=o,e[2]=s):(o=e[1],s=e[2]),(0,Z.useEffect)(o,s);let c;return e[3]!==i||e[4]!==n?(c={popularServers:n,loadingPopular:i},e[3]=i,e[4]=n,e[5]=c):c=e[5],c}async function Ej(e,t,n){await fo(e,t,n)}async function Dj(e,t){await ma(e,t)}function Oj(e){let t=[];function n(e){for(let r of e){if(r.path===`.agents/skills`&&r.type===`folder`&&r.children)for(let e of r.children)e.type===`folder`&&t.push({id:`skill:${e.path}`,name:e.name});r.children&&n(r.children)}}return n(e),t.sort((e,t)=>e.name.localeCompare(t.name))}function kj(e){return e.url?e.url:`${e.command??``} ${e.args?.join(` `)??``}`.trim()||void 0}function Aj(e){return(e??``).trim().toLowerCase().replace(/[^a-z0-9.-]+/g,`-`).replace(/-{2,}/g,`-`).replace(/\.{2,}/g,`.`).replace(/^[^a-z0-9]+|[^a-z0-9]+$/g,``)}function jj(e){return e.split(`-`).map(e=>e&&e[0].toUpperCase()+e.slice(1)).join(` `)}function Mj(e,t){return t.length===1?`${jj(t[0].name)} plugin`:e?`${jj(e)} Plugins`:``}function Nj(e,t){let n=[];return e.length>0&&n.push(`skills: ${e.join(`, `)}`),t.length>0&&n.push(`MCP servers: ${t.join(`, `)}`),n.length===0?``:`Includes ${n.join(`; `)}.`}function Pj(e){return e.length?e.slice(0,3).map(e=>e.path?`${e.path}: ${e.message}`:e.message).join(`; `):`Check the validation details.`}function Fj(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=typeof r.result==`string`?r.result:``,n=e.indexOf(`,`);t(n>=0?e.slice(n+1):e)},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function Ij(e,t){if(Pr()){await is(`/api/file/save`,{name:t,data:await Fj(e)});return}let n=window.showSaveFilePicker;if(typeof n==`function`)try{let r=await(await n({suggestedName:t})).createWritable();await r.write(e),await r.close();return}catch(e){e instanceof Error&&e.name!==`AbortError`&&console.error(`Save file picker failed:`,e)}let r=URL.createObjectURL(e),i=document.createElement(`a`);i.href=r,i.download=t,i.rel=`noopener`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}function Lj(e){let t=(0,Q.c)(19),{item:n,checked:r,onCheckedChange:i}=e,a=`${r?`Include`:`Exclude`} ${n.name}`,o;t[0]!==r||t[1]!==i||t[2]!==a?(o=(0,$.jsx)(ix,{value:r,onChange:i,ariaLabel:a}),t[0]=r,t[1]=i,t[2]=a,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==i?(s=()=>i(!r),t[4]=r,t[5]=i,t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=G(U.body,`truncate`),t[7]=c):c=t[7];let l;t[8]===n.name?l=t[9]:(l=(0,$.jsx)(`div`,{className:c,children:n.name}),t[8]=n.name,t[9]=l);let u;t[10]===n.detail?u=t[11]:(u=n.detail?(0,$.jsx)(`div`,{className:G(U.compact,`truncate font-mono text-muted-foreground`),children:n.detail}):null,t[10]=n.detail,t[11]=u);let d;t[12]!==s||t[13]!==l||t[14]!==u?(d=(0,$.jsxs)(`button`,{type:`button`,onClick:s,className:`min-w-0 text-left`,children:[l,u]}),t[12]=s,t[13]=l,t[14]=u,t[15]=d):d=t[15];let f;return t[16]!==o||t[17]!==d?(f=(0,$.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[o,d]}),t[16]=o,t[17]=d,t[18]=f):f=t[18],f}function Rj(e){let t=(0,Q.c)(25),{title:n,count:r,allSelected:i,onToggleAll:a,open:o,onOpenChange:s,children:c}=e,l=`${i?`Include`:`Exclude`} ${n}`,u;t[0]!==i||t[1]!==a||t[2]!==l?(u=(0,$.jsx)(ix,{value:i,onChange:a,ariaLabel:l}),t[0]=i,t[1]=a,t[2]=l,t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=G(U.label,`flex-1 truncate text-left`),t[4]=d):d=t[4];let f;t[5]!==r||t[6]!==n?(f=(0,$.jsxs)(`span`,{className:d,children:[r,` `,n]}),t[5]=r,t[6]=n,t[7]=f):f=t[7];let p=o&&`rotate-180`,m;t[8]===p?m=t[9]:(m=G(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,p),t[8]=p,t[9]=m);let h;t[10]===m?h=t[11]:(h=(0,$.jsx)(tn,{className:m}),t[10]=m,t[11]=h);let g;t[12]!==f||t[13]!==h?(g=(0,$.jsxs)(Cb,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[f,h]}),t[12]=f,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==u||t[16]!==g?(_=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[u,g]}),t[15]=u,t[16]=g,t[17]=_):_=t[17];let v;t[18]===c?v=t[19]:(v=(0,$.jsx)(wb,{children:(0,$.jsx)(`div`,{className:`mt-2 divide-y divide-table-border`,children:c})}),t[18]=c,t[19]=v);let y;return t[20]!==s||t[21]!==o||t[22]!==v||t[23]!==_?(y=(0,$.jsx)(`section`,{className:`border-b border-border pb-3`,children:(0,$.jsxs)(Sb,{open:o,onOpenChange:s,children:[_,v]})}),t[20]=s,t[21]=o,t[22]=v,t[23]=_,t[24]=y):y=t[24],y}function zj({open:e,onOpenChange:t}){let{session:n,login:r,logout:i}=bj(),a=X(e=>e.selectedProjectId),o=X(e=>e.projects).find(e=>e.projectId===a),s=o?Ke(o):void 0,{installedServers:c,loadingConfig:l}=wj(o?.projectPath),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)([]),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(new Set),[O,k]=(0,Z.useState)(!1),[A,j]=(0,Z.useState)(``),[M,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(``),[I,L]=(0,Z.useState)(!1),[R,z]=(0,Z.useState)(`1.0.0`),[B,V]=(0,Z.useState)(1);(0,Z.useEffect)(()=>{let e=!1;return a?(x(!0),ro(a).then(t=>{e||y(Oj(t))}).catch(()=>{e||y([])}).finally(()=>{e||x(!1)}),()=>{e=!0}):(y([]),x(!1),()=>{e=!0})},[a]);let H=c.map(e=>({id:`mcp:${e.name}`,name:e.name,detail:kj(e.config)})).sort((e,t)=>e.name.localeCompare(t.name)),ee=[...v,...H],te=ee.map(e=>e.id),ne=v.length>0&&v.every(e=>E.has(e.id)),re=H.length>0&&H.every(e=>E.has(e.id)),ie=v.filter(e=>E.has(e.id)).map(e=>e.name),ae=H.filter(e=>E.has(e.id)).map(e=>e.name),oe=Aj(A),se=Aj(s?O?`${s} source code`:`${s} Plugins`:``),ce=ee.length>0||O,le=!b&&!l&&ee.length>0,ue=!b&&!l&&ce&&!!se,de=oe.length>0&&!!a;function fe(e){return e===1?B===2:le&&!O}function pe(e){V(e)}function me(){B===2?V(1):t(!1)}(0,Z.useEffect)(()=>{e&&(D(new Set(te)),k(!1),V(1),j(Mj(s,ee)),N(!1),L(!1),z(`1.0.0`))},[e,a,v,c]),(0,Z.useEffect)(()=>{!e||M||j(Mj(s,[...v.filter(e=>E.has(e.id)),...H.filter(e=>E.has(e.id))]))},[e,M,s,v,H,E]),(0,Z.useEffect)(()=>{!e||I||F(Nj(ie,ae))},[e,ie,ae,I]);function he(e,t){D(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),t&&k(!1)}function ge(e){D(t=>{let n=new Set(t);for(let t of v)e?n.add(t.id):n.delete(t.id);return n}),e&&k(!1)}function _e(e){D(t=>{let n=new Set(t);for(let t of H)e?n.add(t.id):n.delete(t.id);return n}),e&&k(!1)}function ve(e){k(e),e&&(D(new Set),C(!1),T(!1))}async function ye(){if(!(!a||!se)){p(!0);try{await Ij(await pi(a,{skillNames:ie,mcpServerNames:ae,includeSourceCode:O,manifest:{name:se,description:Nj(ie,ae),version:`1.0.0`}}),`${se}.zip`),ac({title:`Saved ${se}.zip`,description:`The plugin package was saved.`})}catch(e){ac({title:`Failed to export plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function be(){if(!(!a||!de)){if(!n){d(!0);return}p(!0);try{let e=await kr(a,{skillNames:ie,mcpServerNames:ae,manifest:{name:oe,description:P.trim(),version:R.trim(),private:!0}});e.valid?(e.url&&(h(e.url),_(!1)),t(!1)):ac({title:`Plugin failed validation`,description:Pj(e.errors),variant:`destructive`})}catch(e){ac({title:`Failed to share plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function xe(){if(m)try{await navigator.clipboard.writeText(m),_(!0),ac({title:`Copied`,description:`Plugin link copied to clipboard.`}),window.setTimeout(()=>_(!1),1500)}catch(e){ac({title:`Copy failed`,description:e instanceof Error?e.message:`Could not copy the plugin link.`,variant:`destructive`})}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Ir,{className:`flex h-[min(42rem,90dvh)] max-w-2xl flex-col overflow-hidden p-0`,children:[(0,$.jsxs)(`div`,{className:`px-6 pb-2 pt-6`,children:[(0,$.jsx)(fj,{currentStep:B,canGoToStep:fe,onGoToStep:pe}),(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:B===1?`Share`:`Share Plugin`}),(0,$.jsx)(_i,{children:B===1?`Select the project tools to include.`:`Add a name and description for your plugin.`})]})]}),B===1?(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:b||l?(0,$.jsxs)(`div`,{className:`flex items-center justify-center px-6 py-8 text-muted-foreground`,children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Loading project tools...`]}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:[ee.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Rj,{title:`Skills`,count:v.length,allSelected:ne,onToggleAll:ge,open:S,onOpenChange:C,children:v.length>0?v.map(e=>(0,$.jsx)(Lj,{item:e,checked:E.has(e.id),onCheckedChange:t=>he(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(U.bodyMuted,`py-2`),children:`No skills configured.`})}),(0,$.jsx)(Rj,{title:`MCP Servers`,count:H.length,allSelected:re,onToggleAll:_e,open:w,onOpenChange:T,children:H.length>0?H.map(e=>(0,$.jsx)(Lj,{item:e,checked:E.has(e.id),onCheckedChange:t=>he(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(U.bodyMuted,`py-2`),children:`No MCP servers configured.`})})]}),(0,$.jsx)(`section`,{className:`border-b border-border pb-3`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(ix,{value:O,onChange:ve,ariaLabel:O?`Exclude Source Code`:`Include Source Code`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>ve(!O),className:`min-w-0 flex-1 text-left`,children:(0,$.jsx)(`span`,{className:G(U.label,`truncate`),children:`Source Code`})})]})})]})}):(0,$.jsx)(za,{className:`min-h-0 flex-1`,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 px-6 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginName`,children:`Plugin name`}),(0,$.jsx)(Qo,{id:`pluginName`,placeholder:`my-plugin`,value:A,onChange:e=>{N(!0),j(e.target.value)},onKeyDown:e=>e.key===`Enter`&&de&&!f&&void be(),autoFocus:!0,className:`w-full`}),(0,$.jsxs)(`p`,{className:G(U.bodyMuted,U.caption),children:[`Slug: `,oe||`my-plugin`]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginDescription`,children:`Description`}),(0,$.jsx)(Qo,{id:`pluginDescription`,placeholder:`What this plugin provides`,value:P,onChange:e=>{L(!0),F(e.target.value)},className:`w-full`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(da,{htmlFor:`pluginVersion`,children:`Version`}),(0,$.jsx)(Qo,{id:`pluginVersion`,placeholder:`1.0.0`,value:R,onChange:e=>z(e.target.value),className:`w-full`})]})]})}),B===2?(0,$.jsx)(`div`,{className:`px-6 pb-3`,children:n?(0,$.jsxs)(`p`,{className:G(U.compact,`flex items-center gap-2 text-muted-foreground`),children:[`Sharing as `,(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:n.email}),(0,$.jsx)(Hr,{type:`button`,variant:`link`,size:`sm`,onClick:()=>void i(),children:`Log out`})]}):(0,$.jsx)(`p`,{className:G(U.compact,`text-primary`),children:`To share your plugin you will need to verify your email address next.`})}):null,(0,$.jsx)(`div`,{className:`flex min-h-[4.5rem] flex-col justify-end border-t border-border bg-muted/10 px-6 py-4`,children:(0,$.jsxs)(Xa,{className:`flex-col gap-3 sm:flex-row sm:justify-end sm:space-x-0`,children:[(0,$.jsx)(`div`,{className:`flex flex-1 items-center gap-2`,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,onClick:me,children:B===1?`Cancel`:`Back`})}),B===1?(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Hr,{type:`button`,variant:`outline`,onClick:()=>void ye(),disabled:!ue||f,children:`Download`}),(0,$.jsx)(Hr,{type:`button`,onClick:()=>V(2),disabled:!le||O,children:`Next >`})]}):(0,$.jsxs)(Hr,{type:`button`,onClick:()=>void be(),disabled:!de||f,children:[f?(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}):null,`Share`]})]})})]})}),(0,$.jsx)(Ni,{open:m!==null,onOpenChange:e=>!e&&h(null),children:(0,$.jsxs)(Ir,{className:`max-w-xl`,children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:`Plugin shared`}),(0,$.jsx)(_i,{children:`Your plugin is published at the URL below. Copy it to share with others.`})]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:G(U.label,`text-muted-foreground`),children:`Plugin URL`}),(0,$.jsxs)(`div`,{className:`relative min-w-0 rounded-md border bg-muted/40 px-3 py-2`,children:[(0,$.jsx)(`a`,{href:m??void 0,target:`_blank`,rel:`noreferrer`,className:G(`block min-w-0 truncate pr-8 text-primary underline underline-offset-2 hover:text-primary/80`),children:m}),(0,$.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2`,children:(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>void xe(),"aria-label":`Copy plugin URL`,className:`shrink-0`,children:g?(0,$.jsx)(W,{className:`h-4 w-4`}):(0,$.jsx)(Ze,{className:`h-4 w-4`})})}),(0,$.jsx)(Fr,{children:g?`Copied`:`Copy`})]})})})]})]}),(0,$.jsx)(Xa,{children:(0,$.jsx)(Hr,{type:`button`,onClick:()=>h(null),children:`Done`})})]})}),(0,$.jsx)(lj,{open:u,onOpenChange:d,onVerified:e=>r(e)})]})}function Bj(){let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1);return(0,Z.useEffect)(()=>{if(!e)return;let t=!0;return l(!0),ea().then(e=>{t&&(r(t=>t||e.name),a(t=>t||e.email))}).catch(()=>{t&&ac({title:`Could not load git details`,description:`You can still submit feedback by entering your name and email manually.`,variant:`destructive`})}).finally(()=>{t&&l(!1)}),()=>{t=!1}},[e]),{showFeedback:e,feedbackName:n,setFeedbackName:r,feedbackEmail:i,setFeedbackEmail:a,feedbackText:o,setFeedbackText:s,loadingFeedbackUser:c,submittingFeedback:u,handleFeedbackDialogChange:e=>{t(e),e||s(``)},handleSubmitFeedback:async()=>{let e=o.trim();if(!e){ac({title:`Feedback required`,description:`Please enter your feedback before submitting.`,variant:`destructive`});return}d(!0);try{await is(`api/feedback`,{name:n.trim(),email:i.trim(),feedback:e}),ac({title:`Feedback sent`,description:`Thanks for sharing your feedback.`}),s(``),t(!1)}catch(e){ac({title:`Failed to send feedback`,description:e instanceof Error?e.message:`Please try again.`,variant:`destructive`})}finally{d(!1)}}}}function Vj(){let e=(0,Q.c)(93),t=Yn(),n=Ks(),r=gC(),{openConversation:i}=QA(),a=X(Uj),o=X(Hj),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),m;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],e[0]=m):m=e[0];let[h,g]=(0,Z.useState)(m),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(!1),{showFeedback:S,feedbackName:C,setFeedbackName:w,feedbackEmail:T,setFeedbackEmail:E,feedbackText:D,setFeedbackText:O,loadingFeedbackUser:k,submittingFeedback:j,handleFeedbackDialogChange:M,handleSubmitFeedback:N}=Bj(),P;if(e[1]!==o||e[2]!==a){let t;e[4]===a?t=e[5]:(t=e=>e.projectId===a,e[4]=a,e[5]=t),P=o.find(t),e[1]=o,e[2]=a,e[3]=P}else P=e[3];let F=P,I;e[6]===F?.commands?I=e[7]:(I=F?.commands??[],e[6]=F?.commands,e[7]=I);let L=I,R;if(e[8]!==_){let t=function(){_||Go(20).then(e=>{g(e.conversations??[]),v(!0)}).catch(()=>{v(!1)})};R=function(e){b(e),e&&t()},e[8]=_,e[9]=R}else R=e[9];let z=R,B=r?`ghost`:`outline`,V=r?nl:`border-transparent`,H;e[10]===V?H=e[11]:(H=G(`h-8 w-8 px-0`,V),e[10]=V,e[11]=H);let ee;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(Dt,{className:`h-4 w-4`}),e[12]=ee):ee=e[12];let ne;e[13]!==B||e[14]!==H?(ne=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsx)(Hr,{variant:B,size:`sm`,className:H,"aria-label":`More options`,children:ee})})}),e[13]=B,e[14]=H,e[15]=ne):ne=e[15];let re;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Fr,{children:`More options`}),e[16]=re):re=e[16];let ie;e[17]===ne?ie=e[18]:(ie=(0,$.jsxs)(Mi,{children:[ne,re]}),e[17]=ne,e[18]=ie);let ae;e[19]!==z||e[20]!==_||e[21]!==y||e[22]!==t||e[23]!==i||e[24]!==h||e[25]!==a?(ae=a?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(wl,{className:U.body,children:`Project`}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>void t(`/settings/project/${a}`),children:[(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),`Settings`]}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>c(!0),children:[(0,$.jsx)(A,{className:`h-4 w-4 shrink-0`}),`Commands`]}),(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>f(!0),children:[(0,$.jsx)(p,{className:`h-4 w-4 shrink-0`}),`Share`]}),(0,$.jsxs)(_l,{open:y,onOpenChange:z,children:[(0,$.jsxs)(vl,{className:G(U.body,`gap-2`),children:[(0,$.jsx)(bt,{className:`h-4 w-4 shrink-0`}),`History`]}),(0,$.jsx)(yl,{className:`w-96 max-h-80 overflow-y-auto`,children:_?h.length===0?(0,$.jsx)(xl,{disabled:!0,className:U.bodyMuted,children:`No recent conversations`}):h.map(e=>(0,$.jsxs)(xl,{className:G(U.body,`gap-2 cursor-pointer`),onSelect:()=>i(e),children:[(0,$.jsx)(At,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.title}),(0,$.jsx)(`span`,{className:G(U.bodyMuted,`ml-auto shrink-0 tabular-nums`),children:K(e.lastMessageAt)})]},e.conversationId)):(0,$.jsx)(xl,{disabled:!0,className:U.bodyMuted,children:`Loading...`})})]})]}):null,e[19]=z,e[20]=_,e[21]=y,e[22]=t,e[23]=i,e[24]=h,e[25]=a,e[26]=ae):ae=e[26];let oe,se;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Tl,{}),se=(0,$.jsx)(wl,{className:U.body,children:`General`}),e[27]=oe,e[28]=se):(oe=e[27],se=e[28]);let ce;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(ce=G(U.body,`gap-2`),e[29]=ce):ce=e[29];let le;e[30]===t?le=e[31]:(le=()=>void t(`/settings/general`),e[30]=t,e[31]=le);let ue;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),e[32]=ue):ue=e[32];let W;e[33]===le?W=e[34]:(W=(0,$.jsxs)(xl,{className:ce,onSelect:le,children:[ue,`Settings`]}),e[33]=le,e[34]=W);let de;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(de=G(U.body,`gap-2`),e[35]=de):de=e[35];let fe;e[36]===t?fe=e[37]:(fe=()=>void t(`/settings/providers`),e[36]=t,e[37]=fe);let pe;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(Kt,{className:`h-4 w-4 shrink-0`}),e[38]=pe):pe=e[38];let me;e[39]===fe?me=e[40]:(me=(0,$.jsxs)(xl,{className:de,onSelect:fe,children:[pe,`Providers`]}),e[39]=fe,e[40]=me);let he;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(he=G(U.body,`gap-2`),e[41]=he):he=e[41];let ge;e[42]===t?ge=e[43]:(ge=()=>void t(`/settings/account`),e[42]=t,e[43]=ge);let _e;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(ot,{className:`h-4 w-4 shrink-0`}),e[44]=_e):_e=e[44];let ve;e[45]===ge?ve=e[46]:(ve=(0,$.jsxs)(xl,{className:he,onSelect:ge,children:[_e,`Account`]}),e[45]=ge,e[46]=ve);let ye;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(ye=G(U.body,`gap-2`),e[47]=ye):ye=e[47];let be;e[48]===M?be=e[49]:(be=()=>M(!0),e[48]=M,e[49]=be);let xe;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(At,{className:`h-4 w-4 shrink-0`}),e[50]=xe):xe=e[50];let Se;e[51]===be?Se=e[52]:(Se=(0,$.jsxs)(xl,{className:ye,onSelect:be,children:[xe,`Feedback`]}),e[51]=be,e[52]=Se);let Ce;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Tl,{}),e[53]=Ce):Ce=e[53];let we;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>u(!0),children:[(0,$.jsx)(te,{className:`h-4 w-4 shrink-0`}),`Processes`]}),e[54]=we):we=e[54];let Te;e[55]!==ae||e[56]!==W||e[57]!==me||e[58]!==ve||e[59]!==Se?(Te=(0,$.jsxs)(bl,{align:`end`,className:`w-52`,children:[ae,oe,se,W,me,ve,Se,Ce,we]}),e[55]=ae,e[56]=W,e[57]=me,e[58]=ve,e[59]=Se,e[60]=Te):Te=e[60];let Ee;e[61]!==ie||e[62]!==Te?(Ee=(0,$.jsxs)(hl,{children:[ie,Te]}),e[61]=ie,e[62]=Te,e[63]=Ee):Ee=e[63];let De;e[64]!==L||e[65]!==n||e[66]!==a||e[67]!==s?(De=a?(0,$.jsx)(Tw,{open:s,onOpenChange:c,projectId:a,commands:L,onRefresh:()=>n({type:Y.ConfigUpdated})}):null,e[64]=L,e[65]=n,e[66]=a,e[67]=s,e[68]=De):De=e[68];let Oe;e[69]===l?Oe=e[70]:(Oe=(0,$.jsx)(ej,{open:l,onOpenChange:u}),e[69]=l,e[70]=Oe);let ke;e[71]===d?ke=e[72]:(ke=(0,$.jsx)(zj,{open:d,onOpenChange:f}),e[71]=d,e[72]=ke);let Ae;e[73]===N?Ae=e[74]:(Ae=()=>void N(),e[73]=N,e[74]=Ae);let je;e[75]!==T||e[76]!==C||e[77]!==D||e[78]!==M||e[79]!==k||e[80]!==E||e[81]!==w||e[82]!==O||e[83]!==S||e[84]!==j||e[85]!==Ae?(je=(0,$.jsx)($A,{open:S,onOpenChange:M,feedbackName:C,onFeedbackNameChange:w,feedbackEmail:T,onFeedbackEmailChange:E,feedbackText:D,onFeedbackTextChange:O,loadingFeedbackUser:k,submittingFeedback:j,onSubmit:Ae}),e[75]=T,e[76]=C,e[77]=D,e[78]=M,e[79]=k,e[80]=E,e[81]=w,e[82]=O,e[83]=S,e[84]=j,e[85]=Ae,e[86]=je):je=e[86];let Me;return e[87]!==Ee||e[88]!==De||e[89]!==Oe||e[90]!==ke||e[91]!==je?(Me=(0,$.jsxs)($.Fragment,{children:[Ee,De,Oe,ke,je]}),e[87]=Ee,e[88]=De,e[89]=Oe,e[90]=ke,e[91]=je,e[92]=Me):Me=e[92],Me}function Hj(e){return e.projects}function Uj(e){return e.selectedProjectId}function Wj(e){let t=(0,Q.c)(3),{children:n,className:r}=e,i=`flex items-center gap-2 rounded-full shadow-md ${r===void 0?``:r}`,a;return t[0]!==n||t[1]!==i?(a=(0,$.jsx)(`div`,{className:i,children:n}),t[0]=n,t[1]=i,t[2]=a):a=t[2],a}function Gj(e){let t=(0,Q.c)(12),{className:n}=e,r=Yn(),i;t[0]===n?i=t[1]:(i=G(`h-8 w-8 text-muted-foreground shrink-0`,n),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=()=>void r(`/settings/general`),t[2]=r,t[3]=a);let o,s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(x,{className:`h-4 w-4`}),s=(0,$.jsx)(`span`,{className:`sr-only`,children:`Settings`}),t[4]=o,t[5]=s):(o=t[4],s=t[5]);let c;t[6]!==i||t[7]!==a?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:i,onClick:a,children:[o,s]})}),t[6]=i,t[7]=a,t[8]=c):c=t[8];let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Settings`}),t[9]=l):l=t[9];let u;return t[10]===c?u=t[11]:(u=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[10]=c,t[11]=u),u}function Kj(e){let t=(0,Q.c)(15),{className:n}=e,r=Yn(),i=X(qj),a=gC(),o=a?`ghost`:`outline`,s=a?nl:`border-transparent text-muted-foreground`,c;t[0]!==n||t[1]!==s?(c=G(`h-8 w-8 shrink-0`,s,n),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l;t[3]!==r||t[4]!==i?(l=()=>void r(`/settings/project/${i}`),t[3]=r,t[4]=i,t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(x,{className:`h-4 w-4 shrink-0`}),d=(0,$.jsx)(`span`,{className:`sr-only`,children:`Project Settings`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f;t[8]!==o||t[9]!==c||t[10]!==l?(f=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:o,size:`icon`,className:c,onClick:l,children:[u,d]})}),t[8]=o,t[9]=c,t[10]=l,t[11]=f):f=t[11];let p;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Fr,{children:`Project Settings`}),t[12]=p):p=t[12];let m;return t[13]===f?m=t[14]:(m=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[13]=f,t[14]=m),m}function qj(e){return e.selectedProjectId}function Jj(e){let t=(0,Q.c)(10),{showingProjectDetails:n,onBackToProjects:r}=e,i=n?nl:`text-muted-foreground`,a;t[0]===i?a=t[1]:(a=G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,i),t[0]=i,t[1]=a);let o,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(H,{className:`h-4 w-4`}),s=(0,$.jsx)(`span`,{className:`sr-only`,children:`Back to projects`}),t[2]=o,t[3]=s):(o=t[2],s=t[3]);let c;t[4]!==r||t[5]!==a?(c=(0,$.jsx)(zi,{asChild:!0,children:(0,$.jsxs)(Hr,{variant:`ghost`,size:`icon`,className:a,onClick:r,children:[o,s]})}),t[4]=r,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fr,{children:`Projects`}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,$.jsx)(Zo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[8]=c,t[9]=u),u}function Yj(e){let t=(0,Q.c)(14),{project:n,showingProjectDetails:r}=e,i;t[0]!==n||t[1]!==r?(i=r?null:(0,$.jsx)(Yc,{project:n,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=r?U.body:U.sectionTitle,o=!r&&`text-foreground`,s;t[3]!==a||t[4]!==o?(s=G(a,`truncate min-w-0`,o),t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;t[6]===n?c=t[7]:(c=Ke(n),t[6]=n,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,$.jsx)(`span`,{className:s,children:c}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;return t[11]!==i||t[12]!==l?(u=(0,$.jsxs)($.Fragment,{children:[i,l]}),t[11]=i,t[12]=l,t[13]=u):u=t[13],u}function Xj(e){let t=(0,Q.c)(27),{selectedProject:n,showingProjectDetails:r,sortedProjects:i,selectedProjectId:a,useDropdown:s,onSelectProject:c}=e;if(!s){let e;return t[0]!==n||t[1]!==r?(e=(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,children:(0,$.jsx)(Yj,{project:n,showingProjectDetails:r})}),t[0]=n,t[1]=r,t[2]=e):e=t[2],e}let l;t[3]!==n||t[4]!==r?(l=(0,$.jsx)(Yj,{project:n,showingProjectDetails:r}),t[3]=n,t[4]=r,t[5]=l):l=t[5];let u=r?`scenic-foreground-muted`:`text-muted-foreground`,d;t[6]===u?d=t[7]:(d=G(`h-4 w-4 shrink-0`,u),t[6]=u,t[7]=d);let f;t[8]===d?f=t[9]:(f=(0,$.jsx)(tn,{className:d}),t[8]=d,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`sr-only`,children:`Switch project`}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==f?(m=(0,$.jsx)(gl,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex min-w-0 max-w-full items-center gap-1 rounded-md px-1.5 py-0.5 text-left outline-none transition-colors can-hover:hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring electrobun-webkit-app-region-no-drag`,children:[l,f,p]})}),t[11]=l,t[12]=f,t[13]=m):m=t[13];let h=r?`center`:`start`,g;if(t[14]!==c||t[15]!==a||t[16]!==i){let e;t[18]!==c||t[19]!==a?(e=e=>{let t=e.gitUrl?o:ce,n=e.projectId===a;return(0,$.jsxs)(xl,{className:G(U.body,`gap-2`),onSelect:()=>c?.(e.projectId),children:[(0,$.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Ke(e)}),n?(0,$.jsx)(W,{className:`ml-auto h-4 w-4 shrink-0`}):null]},e.projectId)},t[18]=c,t[19]=a,t[20]=e):e=t[20],g=i.map(e),t[14]=c,t[15]=a,t[16]=i,t[17]=g}else g=t[17];let _;t[21]!==h||t[22]!==g?(_=(0,$.jsx)(bl,{align:h,collisionPadding:12,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-64 overflow-y-auto`,children:g}),t[21]=h,t[22]=g,t[23]=_):_=t[23];let v;return t[24]!==m||t[25]!==_?(v=(0,$.jsxs)(hl,{children:[m,_]}),t[24]=m,t[25]=_,t[26]=v):v=t[26],v}function Zj(e){let t=(0,Q.c)(1),{showingProjectDetails:n}=e;if(!n||!ji())return null;let r;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:`hidden shrink-0 md:flex`,children:(0,$.jsx)(XA,{})}),t[0]=r):r=t[0],r}function Qj(e){let t=(0,Q.c)(6),{showingProjectDetails:n,isStartingNewChat:r,handleNewChat:i,projectId:a}=e,o=n?`ghost`:`outline`,s=n?nl:`bg-background text-foreground hover:bg-accent hover:text-accent-foreground`,c;return t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,$.jsx)(gw,{projectId:a,onNewChat:i,isStartingNewChat:r,iconOnly:!0,variant:o,size:`icon-sm`,buttonClassName:s,ariaLabel:`New Chat`}),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5],c}function $j(e){let t=(0,Q.c)(14),{showingProjectDetails:n,hasMessages:r,isStartingNewChat:i,handleNewChat:a,projectId:o,projectDetailsPillClassName:s}=e,c=n&&s,l;t[0]===c?l=t[1]:(l=G(`md:hidden electrobun-webkit-app-region-no-drag`,c),t[0]=c,t[1]=l);let u;t[2]!==a||t[3]!==r||t[4]!==i||t[5]!==o||t[6]!==n?(u=r?(0,$.jsx)(Qj,{showingProjectDetails:n,isStartingNewChat:i,handleNewChat:a,projectId:o}):null,t[2]=a,t[3]=r,t[4]=i,t[5]=o,t[6]=n,t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,$.jsx)(OE,{inPill:n}),t[8]=n,t[9]=d);let f;return t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,$.jsxs)(Wj,{className:l,children:[u,d]}),t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function eM(e){let t=(0,Q.c)(24),{showingProjectDetails:n,selectedThreadId:r,selectedProjectId:i,selectedProject:a,vscodeEmbed:o,projectDetailsActionsPillClassName:s}=e,c=n&&s,l;t[0]===c?l=t[1]:(l=G(`electrobun-webkit-app-region-no-drag`,c),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(qA,{}),t[2]=u):u=t[2];let d=a?.runCommand,f;t[3]!==i||t[4]!==d?(f=(0,$.jsx)(fE,{projectId:i,runCommand:d}),t[3]=i,t[4]=d,t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Aw,{threadId:r}),(0,$.jsx)(jw,{})]}),t[6]=r,t[7]=p);let m;t[8]!==a?.openWith||t[9]!==i||t[10]!==r||t[11]!==o?(m=!o&&r?(0,$.jsx)(LT,{projectId:i,threadId:r,openWith:a?.openWith}):null,t[8]=a?.openWith,t[9]=i,t[10]=r,t[11]=o,t[12]=m):m=t[12];let h;t[13]===o?h=t[14]:(h=o?null:(0,$.jsx)(Kj,{}),t[13]=o,t[14]=h);let g;t[15]===o?g=t[16]:(g=o?null:(0,$.jsx)(Vj,{}),t[15]=o,t[16]=g);let _;return t[17]!==l||t[18]!==f||t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,$.jsx)(`div`,{className:`hidden md:flex flex-wrap items-center justify-end gap-2`,children:(0,$.jsxs)(Wj,{className:l,children:[u,f,p,m,h,g]})}),t[17]=l,t[18]=f,t[19]=p,t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function tM(e){let t=(0,Q.c)(24),{showingProjectDetails:n,selectedThreadId:r,hasMessages:i,selectedProjectId:a,selectedProject:o,isStartingNewChat:s,handleNewChat:c,vscodeEmbed:l,projectDetailsPillClassName:u,projectDetailsActionsPillClassName:d}=e,f=!!r&&(i||!!a),p;t[0]===n?p=t[1]:(p=(0,$.jsx)(Zj,{showingProjectDetails:n}),t[0]=n,t[1]=p);let m;t[2]!==c||t[3]!==i||t[4]!==s||t[5]!==u||t[6]!==a||t[7]!==f||t[8]!==n?(m=f?(0,$.jsx)($j,{showingProjectDetails:n,hasMessages:i,isStartingNewChat:s,handleNewChat:c,projectId:a,projectDetailsPillClassName:u}):null,t[2]=c,t[3]=i,t[4]=s,t[5]=u,t[6]=a,t[7]=f,t[8]=n,t[9]=m):m=t[9];let h;t[10]!==d||t[11]!==o||t[12]!==a||t[13]!==r||t[14]!==n||t[15]!==l?(h=a?(0,$.jsx)(eM,{showingProjectDetails:n,selectedThreadId:r,selectedProjectId:a,selectedProject:o,vscodeEmbed:l,projectDetailsActionsPillClassName:d}):null,t[10]=d,t[11]=o,t[12]=a,t[13]=r,t[14]=n,t[15]=l,t[16]=h):h=t[16];let g;t[17]===l?g=t[18]:(g=l&&(0,$.jsx)(Gj,{}),t[17]=l,t[18]=g);let _;return t[19]!==p||t[20]!==m||t[21]!==h||t[22]!==g?(_=(0,$.jsxs)($.Fragment,{children:[p,m,h,g]}),t[19]=p,t[20]=m,t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function nM(e){let t=(0,Q.c)(57),{onBackToProjects:n,onSelectProject:r}=e,i=gC(),a=X(sM),o=X(oM),s=X(aM),c=X(iM),{handleNewChat:l,isStartingNewChat:u}=BC(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=jO(),t[0]=d):d=t[0];let f=d,p=c.length>0,m;if(t[1]!==s||t[2]!==o){let e;t[4]===o?e=t[5]:(e=e=>e.projectId===o,t[4]=o,t[5]=e),m=s.find(e),t[1]=s,t[2]=o,t[3]=m}else m=t[3];let h=m,g,_,v,y,b,x;if(t[6]!==l||t[7]!==p||t[8]!==u||t[9]!==n||t[10]!==r||t[11]!==s||t[12]!==h||t[13]!==o||t[14]!==a||t[15]!==i){let e=Pr(),c;t[22]===s?c=t[23]:(c=[...s].sort(rM),t[22]=s,t[23]=c);let d=c,m;t[24]!==n||t[25]!==i?(m=!f&&n?(0,$.jsx)(Jj,{showingProjectDetails:i,onBackToProjects:n}):null,t[24]=n,t[25]=i,t[26]=m):m=t[26],v=m;let S=!!r&&!(f&&i),C;t[27]!==r||t[28]!==h||t[29]!==i||t[30]!==d||t[31]!==S?(C=h?(0,$.jsx)(Xj,{selectedProject:h,showingProjectDetails:i,sortedProjects:d,selectedProjectId:h.projectId,useDropdown:S,onSelectProject:r}):null,t[27]=r,t[28]=h,t[29]=i,t[30]=d,t[31]=S,t[32]=C):C=t[32],b=C;let w;t[33]!==b||t[34]!==i?(w=b?(0,$.jsxs)($.Fragment,{children:[i?null:(0,$.jsx)(sn,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),b]}):null,t[33]=b,t[34]=i,t[35]=w):w=t[35];let T;t[36]!==v||t[37]!==w?(T=(0,$.jsxs)($.Fragment,{children:[v,w]}),t[36]=v,t[37]=w,t[38]=T):T=t[38],y=T;let E;t[39]!==l||t[40]!==p||t[41]!==u||t[42]!==h||t[43]!==o||t[44]!==a||t[45]!==i?(E=(0,$.jsx)(tM,{showingProjectDetails:i,selectedThreadId:a,hasMessages:p,selectedProjectId:o,selectedProject:h,isStartingNewChat:u,handleNewChat:l,vscodeEmbed:f,projectDetailsPillClassName:`frosted-surface p-1 text-foreground backdrop-blur-sm electrobun-webkit-app-region-no-drag`,projectDetailsActionsPillClassName:`bg-transparent scenic-foreground shadow-none backdrop-blur-none electrobun-webkit-app-region-no-drag`}),t[39]=l,t[40]=p,t[41]=u,t[42]=h,t[43]=o,t[44]=a,t[45]=i,t[46]=E):E=t[46],_=E,g=el,x=G(!i&&`pt-1`,e&&!i&&`pt-4 md:min-h-[103px]`,i&&`scenic-foreground grid min-h-0 grid-cols-[1fr_auto_1fr] items-center gap-2 px-4 pt-2 pb-1`),t[6]=l,t[7]=p,t[8]=u,t[9]=n,t[10]=r,t[11]=s,t[12]=h,t[13]=o,t[14]=a,t[15]=i,t[16]=g,t[17]=_,t[18]=v,t[19]=y,t[20]=b,t[21]=x}else g=t[16],_=t[17],v=t[18],y=t[19],b=t[20],x=t[21];let S;t[47]!==_||t[48]!==v||t[49]!==y||t[50]!==b||t[51]!==i?(S=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"aria-hidden":!0,className:`min-w-0`}),(0,$.jsx)(`div`,{className:`flex min-w-0 items-center justify-center`,children:(0,$.jsxs)(`div`,{className:G(`flex min-w-0 max-w-full items-center gap-1 rounded-full`,`bg-transparent scenic-foreground electrobun-webkit-app-region-no-drag`),children:[v,v&&b?(0,$.jsx)(sn,{className:`h-4 w-4 shrink-0 scenic-foreground-muted`}):null,b]})}),(0,$.jsx)(`div`,{className:`flex min-w-0 items-center justify-end gap-2`,children:_})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:y}),(0,$.jsx)(`div`,{className:`ml-auto flex min-w-0 shrink-0 items-center gap-2`,children:_})]}),t[47]=_,t[48]=v,t[49]=y,t[50]=b,t[51]=i,t[52]=S):S=t[52];let C;return t[53]!==g||t[54]!==x||t[55]!==S?(C=(0,$.jsx)(g,{className:x,children:S}),t[53]=g,t[54]=x,t[55]=S,t[56]=C):C=t[56],C}function rM(e,t){return Ke(e).localeCompare(Ke(t))}function iM(e){return e.messages}function aM(e){return e.projects}function oM(e){return e.selectedProjectId}function sM(e){return e.selectedThreadId}var cM=`tarsk-browser-element-selected`,lM=`tarsk-browser-text-edit-commit`;function uM(e){let t=[`<browser-selection url="${e.url}" selector="${e.selector}" tag="${e.tagName}">`,e.html,`</browser-selection>`];return e.text.trim()&&t.push(`Text: ${e.text.trim()}`),t.join(`
3335
+ `)}function dM(e,t,n){return[`Change the text from:`,t,`to:`,n,``,uM(e)].join(`
3336
+ `)}function fM(e){return e===`select`||e===`edit`}function pM(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.html!=`string`||typeof t.text!=`string`||typeof t.tagName!=`string`||typeof t.selector!=`string`||typeof t.url!=`string`?!1:t.interaction===void 0||fM(t.interaction)}function mM(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.originalText==`string`&&typeof t.currentText==`string`&&pM(t.selection)}function hM(e,t){if(!e||typeof e!=`object`)return null;let n=e;return n.type!==t||!n.payload||typeof n.payload!=`object`?null:n.payload}function gM(e){let t=hM(e,cM);return!t||!pM(t)?null:t}function _M(e){let t=hM(e,lM);return!t||!mM(t)?null:t}function vM(e){window.dispatchEvent(new CustomEvent(cM,{detail:e}))}function yM(e){return gM(e)??(pM(e)?e:null)}function bM(e){return e?.interaction===`edit`}function xM(e,t){let n=t.trim();return n?`${e}\n\n${n}`:e}function SM(e){if(Pr()){(e?.querySelector(`electrobun-webview`))?.executeJavascript?.(`(function(){window.__tarskBrowserPreview?.setSelectMode?.(false,false);})();`);return}(e?.querySelector(`iframe`)?.contentWindow?.__tarskBrowserPreview)?.setSelectMode?.(!1,!1)}function CM(e){let t=(0,Q.c)(39),{container:n}=e,r=Ks(),i=X(EM),a=X(TM),{selectedBrowserElement:o,isSelectionPromptOpen:s,setIsSelectionPromptOpen:c,setSelectedBrowserElement:l,setBrowserAgentProcessingThreadId:u}=rk(),{paneId:d,conversationId:f}=wv(),{handleSend:p,handleStop:m,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:g}=bv(),{userTasks:_,setUserTasks:v,effectiveIsStreaming:y,handleRemoveUserTask:b}=BC(),[x,S]=Z.useState(0),C;t[0]===o?C=t[1]:(C=o?uM(o):``,t[0]=o,t[1]=C);let w=C,T;t[2]===s?T=t[3]:(T=()=>{s&&S(wM)},t[2]=s,t[3]=T);let E;t[4]!==s||t[5]!==o?(E=[s,o],t[4]=s,t[5]=o,t[6]=E):E=t[6],(0,Z.useEffect)(T,E);let D;t[7]!==n||t[8]!==c||t[9]!==l?(D=e=>{c(e),e||(SM(n),l(null))},t[7]=n,t[8]=c,t[9]=l,t[10]=D):D=t[10];let O=D,k;t[11]!==n||t[12]!==f||t[13]!==r||t[14]!==p||t[15]!==d||t[16]!==i||t[17]!==w||t[18]!==u||t[19]!==c||t[20]!==l?(k=(e,t,a,o,s,m,h)=>{!i||!w||(p(d,f,xM(w,e),t,a,o,s,m,h),r({type:Y.SetChatInputDraft,threadId:d===`primary`?i:`${i}:${d}`,draft:``}),u(i),c(!1),l(null),SM(n))},t[11]=n,t[12]=f,t[13]=r,t[14]=p,t[15]=d,t[16]=i,t[17]=w,t[18]=u,t[19]=c,t[20]=l,t[21]=k):k=t[21];let A=k,j=s&&!!(i&&a&&o&&n),M;t[22]!==n||t[23]!==y||t[24]!==h||t[25]!==g||t[26]!==b||t[27]!==m||t[28]!==A||t[29]!==d||t[30]!==x||t[31]!==i||t[32]!==v||t[33]!==_?(M=n?(0,$.jsxs)($r,{container:n,children:[(0,$.jsx)(Wr,{className:G(`absolute inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`)}),(0,$.jsxs)(gi,{className:G(`absolute inset-x-0 top-0 z-50 w-full border-b border-border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`),children:[(0,$.jsx)(qa,{className:`sr-only`,children:`Prompt with selected element`}),(0,$.jsxs)(di,{className:`absolute right-4 top-4 z-10 flex h-7 w-7 items-center justify-center rounded-full transition-colors hover:bg-foreground hover:text-background disabled:pointer-events-none`,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),(0,$.jsx)(`div`,{className:`px-4 pt-3 pb-2`,children:(0,$.jsx)(eC,{centered:!0,autoFocus:!0,onSend:A,onStop:()=>m(d),isStreaming:y,disabled:!i,initialValue:``,queuedMessages:h(d),onRemoveQueuedMessage:e=>{g(d,e)},placeholder:`How do you want to change the selected element?`,userTasks:_,onMatchedUserTaskSend:e=>{e.pinned||b(e.id)},onUserTaskCreated:e=>{v(t=>[...t,e])}},x)})]})]}):null,t[22]=n,t[23]=y,t[24]=h,t[25]=g,t[26]=b,t[27]=m,t[28]=A,t[29]=d,t[30]=x,t[31]=i,t[32]=v,t[33]=_,t[34]=M):M=t[34];let N;return t[35]!==O||t[36]!==j||t[37]!==M?(N=(0,$.jsx)(li,{open:j,onOpenChange:O,children:M}),t[35]=O,t[36]=j,t[37]=M,t[38]=N):N=t[38],N}function wM(e){return e+1}function TM(e){return e.selectedProjectId}function EM(e){return e.selectedThreadId}function DM(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-muted border-t-primary`})}),e[0]=t):t=e[0],t}var OM=(0,Z.lazy)(()=>us(()=>import(`./settings-view-DOMStvOg.js`),__vite__mapDeps([36,1,19,20,4,5,37,14,24]))),kM=`animate-in fade-in duration-200`,AM=`animate-out fade-out duration-200 fill-mode-forwards pointer-events-none`;function jM(){let e=(0,Q.c)(22);Yr(!0);let t=Yn(),n=(0,Z.useRef)(!1),r=(0,Z.useRef)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===t?o=e[1]:(o=()=>{r.current||(r.current=!0,t(`/`))},e[0]=t,e[1]=o);let s=o,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n.current||(n.current=!0,a(!0))},e[2]=c):c=e[2];let l=c,u;e[3]===s?u=e[4]:(u=e=>{!n.current||e.animationName!==`exit`||s()},e[3]=s,e[4]=u);let d=u,f,p;e[5]!==i||e[6]!==s?(f=()=>{if(!i)return;let e=window.setTimeout(s,250);return()=>window.clearTimeout(e)},p=[i,s],e[5]=i,e[6]=s,e[7]=f,e[8]=p):(f=e[7],p=e[8]),(0,Z.useEffect)(f,p);let m=i?AM:kM,h;e[9]===m?h=e[10]:(h=G(`absolute inset-0 bg-black/50`,m),e[9]=m,e[10]=h);let g;e[11]===h?g=e[12]:(g=(0,$.jsx)(`div`,{className:h,"aria-hidden":!0}),e[11]=h,e[12]=g);let _;e[13]===m?_=e[14]:(_=G(`relative z-10 h-full w-full md:h-auto md:w-auto`,m),e[13]=m,e[14]=_);let v;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(DM,{}),children:(0,$.jsx)(OM,{onRequestClose:l})}),e[15]=v):v=e[15];let y;e[16]!==d||e[17]!==_?(y=(0,$.jsx)(`div`,{className:_,onAnimationEnd:d,children:v}),e[16]=d,e[17]=_,e[18]=y):y=e[18];let b;return e[19]!==g||e[20]!==y?(b=(0,$.jsxs)(`div`,{className:`absolute inset-0 z-50 flex items-center justify-center md:p-6`,children:[g,y]}),e[19]=g,e[20]=y,e[21]=b):b=e[21],b}function MM(e){let t=(0,Q.c)(35),{selectedProjectId:n,isReviewRoute:r,onCreateThread:i,onBackToProjects:a,onSelectProject:o,onSubmitClone:s,onSubmitWebApp:c,onSubmitFolder:l,onOpenFolder:u}=e,{isPanelOpen:d}=gc(),f=gC(),p=!r,m=p&&!f,[h,g]=(0,Z.useState)(null),_=X(NM),v;if(t[0]!==_||t[1]!==n){let e;t[3]===n?e=t[4]:(e=e=>e.projectId===n,t[3]=n,t[4]=e),v=_.find(e),t[0]=_,t[1]=n,t[2]=v}else v=t[2];let y=v?.useBuiltInBrowser!==!1,b;t[5]===d?b=t[6]:(b=d(`browser`),t[5]=d,t[6]=b);let x=b,S=m&&`bg-background`,C;t[7]===S?C=t[8]:(C=G(`relative flex h-full flex-col overflow-hidden`,S),t[7]=S,t[8]=C);let w;t[9]!==a||t[10]!==o||t[11]!==p?(w=p&&(0,$.jsx)(nM,{onBackToProjects:a,onSelectProject:o}),t[9]=a,t[10]=o,t[11]=p,t[12]=w):w=t[12];let T;t[13]!==i||t[14]!==u||t[15]!==s||t[16]!==l||t[17]!==c?(T=(0,$.jsx)(`main`,{className:`relative flex-1 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`absolute inset-0`,children:(0,$.jsx)(fA,{onCreateThread:i,onSubmitClone:s,onSubmitWebApp:c,onSubmitFolder:l,onOpenFolder:u})})}),t[13]=i,t[14]=u,t[15]=s,t[16]=l,t[17]=c,t[18]=T):T=t[18];let E;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(qn,{path:`/settings/providers/:providerSlug`,element:(0,$.jsx)(jM,{})}),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(qn,{path:`/settings/project/:projectId/tools`,element:(0,$.jsx)(jM,{})}),t[20]=D):D=t[20];let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(qn,{path:`/settings/project/:projectId/model-aliases`,element:(0,$.jsx)(jM,{})}),t[21]=O):O=t[21];let k;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(qn,{path:`/settings/project/:projectId/env-vars`,element:(0,$.jsx)(jM,{})}),t[22]=k):k=t[22];let A;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(qn,{path:`/settings/project/:projectId`,element:(0,$.jsx)(jM,{})}),t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(Tn,{children:[E,D,O,k,A,(0,$.jsx)(qn,{path:`/settings/:tab?`,element:(0,$.jsx)(jM,{})})]}),t[24]=j):j=t[24];let M;t[25]!==x||t[26]!==h||t[27]!==y||t[28]!==p?(M=p&&y&&x?(0,$.jsx)(CM,{container:h}):null,t[25]=x,t[26]=h,t[27]=y,t[28]=p,t[29]=M):M=t[29];let N;return t[30]!==M||t[31]!==C||t[32]!==w||t[33]!==T?(N=(0,$.jsxs)(`div`,{ref:g,className:C,children:[w,T,j,M]}),t[30]=M,t[31]=C,t[32]=w,t[33]=T,t[34]=N):N=t[34],N}function NM(e){return e.projects}function PM(e){let t=(0,Q.c)(24),{open:n,projectName:r,onOpenChange:i,onConfirm:a,blocked:o,blockReason:s,deletesFolder:c}=e,l=o===void 0?!1:o,u=c===void 0?!0:c,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(sc,{children:`Delete Project`}),t[0]=d):d=t[0];let f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=G(U.body,`font-semibold text-foreground`),t[1]=f):f=t[1];let p;t[2]===r?p=t[3]:(p=(0,$.jsxs)(`span`,{className:f,children:[`"`,r,`"`]}),t[2]=r,t[3]=p);let m=u?` The project folder will also be deleted.`:` Your original folder and its files will not be deleted.`,h;t[4]!==p||t[5]!==m?(h=(0,$.jsxs)(oc,{children:[`Are you sure you want to delete`,` `,p,`? This will remove the project and all its data.`,m,` `,`This action cannot be undone.`]}),t[4]=p,t[5]=m,t[6]=h):h=t[6];let g;t[7]!==s||t[8]!==l?(g=l&&s&&(0,$.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:s}),t[7]=s,t[8]=l,t[9]=g):g=t[9];let _;t[10]!==h||t[11]!==g?(_=(0,$.jsxs)(fc,{children:[d,h,g]}),t[10]=h,t[11]=g,t[12]=_):_=t[12];let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(dc,{children:`Cancel`}),t[13]=v):v=t[13];let y;t[14]!==l||t[15]!==a?(y=(0,$.jsxs)(uc,{children:[v,(0,$.jsx)(lc,{onClick:a,disabled:l,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),t[14]=l,t[15]=a,t[16]=y):y=t[16];let b;t[17]!==y||t[18]!==_?(b=(0,$.jsxs)(cc,{children:[_,y]}),t[17]=y,t[18]=_,t[19]=b):b=t[19];let x;return t[20]!==i||t[21]!==n||t[22]!==b?(x=(0,$.jsx)(pc,{open:n,onOpenChange:i,children:b}),t[20]=i,t[21]=n,t[22]=b,t[23]=x):x=t[23],x}function FM(e){let t=(0,Q.c)(28),{open:n,setupScripts:r,onConfirm:i}=e;if(r.length===0)return null;let a;t[0]===i?a=t[1]:(a=e=>{e||i(!1)},t[0]=i,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(sc,{children:`Install dependencies?`}),t[2]=o):o=t[2];let s=r.length===1?``:`s`,c;t[3]!==r.length||t[4]!==s?(c=(0,$.jsxs)(fc,{children:[o,(0,$.jsxs)(oc,{children:[`Found `,r.length,` package`,s,` with dependencies to install:`]})]}),t[3]=r.length,t[4]=s,t[5]=c):c=t[5];let l;t[6]===r?l=t[7]:(l=r.map(IM),t[6]=r,t[7]=l);let u;t[8]===l?u=t[9]:(u=(0,$.jsx)(`div`,{className:`my-4 max-h-60 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:l})}),t[8]=l,t[9]=u);let d;t[10]===i?d=t[11]:(d=(0,$.jsx)(dc,{onClick:()=>i(!1),children:`No`}),t[10]=i,t[11]=d);let f;t[12]===i?f=t[13]:(f=()=>i(!0),t[12]=i,t[13]=f);let p;t[14]!==r.length||t[15]!==f?(p=(0,$.jsxs)(lc,{onClick:f,children:[`Install All (`,r.length,`)`]}),t[14]=r.length,t[15]=f,t[16]=p):p=t[16];let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(uc,{children:[d,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;t[20]!==m||t[21]!==c||t[22]!==u?(h=(0,$.jsxs)(cc,{className:`max-w-2xl`,children:[c,u,m]}),t[20]=m,t[21]=c,t[22]=u,t[23]=h):h=t[23];let g;return t[24]!==n||t[25]!==a||t[26]!==h?(g=(0,$.jsx)(pc,{open:n,onOpenChange:a,children:h}),t[24]=n,t[25]=a,t[26]=h,t[27]=g):g=t[27],g}function IM(e,t){let n=e.match(/^cd "([^"]+)" && (.+)$/),r=n?n[1]:`root`,i=n?n[2]:e;return(0,$.jsx)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border bg-muted/50`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-blue-500`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:U.label,children:r||`root`}),(0,$.jsx)(`div`,{className:U.bodyMuted,children:i})]})]})},t)}function LM(e){let t=(0,Q.c)(24),{open:n,existingProjectName:r,zipFilename:i,onConfirm:a}=e;if(!r||!i)return null;let o;t[0]===a?o=t[1]:(o=e=>{e||a(!1)},t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(sc,{children:`Replace existing project?`}),t[2]=s):s=t[2];let c;t[3]===r?c=t[4]:(c=(0,$.jsx)(`span`,{className:U.label,children:r}),t[3]=r,t[4]=c);let l;t[5]===i?l=t[6]:(l=(0,$.jsx)(`span`,{className:U.label,children:i}),t[5]=i,t[6]=l);let u;t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(fc,{children:[s,(0,$.jsxs)(oc,{children:[`A project named `,c,` already exists. Importing `,l,` will replace its source code, threads, and any in-progress work with the contents of the zip. This cannot be undone.`]})]}),t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===a?d=t[11]:(d=(0,$.jsx)(dc,{onClick:()=>a(!1),children:`Cancel`}),t[10]=a,t[11]=d);let f;t[12]===a?f=t[13]:(f=(0,$.jsx)(lc,{onClick:()=>a(!0),children:`Replace project`}),t[12]=a,t[13]=f);let p;t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(uc,{children:[d,f]}),t[14]=d,t[15]=f,t[16]=p):p=t[16];let m;t[17]!==u||t[18]!==p?(m=(0,$.jsxs)(cc,{className:`max-w-xl`,children:[u,p]}),t[17]=u,t[18]=p,t[19]=m):m=t[19];let h;return t[20]!==n||t[21]!==o||t[22]!==m?(h=(0,$.jsx)(pc,{open:n,onOpenChange:o,children:m}),t[20]=n,t[21]=o,t[22]=m,t[23]=h):h=t[23],h}var RM;(function(e){e[e.QR_CODE=0]=`QR_CODE`,e[e.AZTEC=1]=`AZTEC`,e[e.CODABAR=2]=`CODABAR`,e[e.CODE_39=3]=`CODE_39`,e[e.CODE_93=4]=`CODE_93`,e[e.CODE_128=5]=`CODE_128`,e[e.DATA_MATRIX=6]=`DATA_MATRIX`,e[e.MAXICODE=7]=`MAXICODE`,e[e.ITF=8]=`ITF`,e[e.EAN_13=9]=`EAN_13`,e[e.EAN_8=10]=`EAN_8`,e[e.PDF_417=11]=`PDF_417`,e[e.RSS_14=12]=`RSS_14`,e[e.RSS_EXPANDED=13]=`RSS_EXPANDED`,e[e.UPC_A=14]=`UPC_A`,e[e.UPC_E=15]=`UPC_E`,e[e.UPC_EAN_EXTENSION=16]=`UPC_EAN_EXTENSION`})(RM||={});var zM=new Map([[RM.QR_CODE,`QR_CODE`],[RM.AZTEC,`AZTEC`],[RM.CODABAR,`CODABAR`],[RM.CODE_39,`CODE_39`],[RM.CODE_93,`CODE_93`],[RM.CODE_128,`CODE_128`],[RM.DATA_MATRIX,`DATA_MATRIX`],[RM.MAXICODE,`MAXICODE`],[RM.ITF,`ITF`],[RM.EAN_13,`EAN_13`],[RM.EAN_8,`EAN_8`],[RM.PDF_417,`PDF_417`],[RM.RSS_14,`RSS_14`],[RM.RSS_EXPANDED,`RSS_EXPANDED`],[RM.UPC_A,`UPC_A`],[RM.UPC_E,`UPC_E`],[RM.UPC_EAN_EXTENSION,`UPC_EAN_EXTENSION`]]),BM;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.URL=1]=`URL`})(BM||={});function VM(e){return Object.values(RM).includes(e)}var HM;(function(e){e[e.SCAN_TYPE_CAMERA=0]=`SCAN_TYPE_CAMERA`,e[e.SCAN_TYPE_FILE=1]=`SCAN_TYPE_FILE`})(HM||={});var UM=function(){function e(){}return e.GITHUB_PROJECT_URL=`https://github.com/mebjas/html5-qrcode`,e.SCAN_DEFAULT_FPS=2,e.DEFAULT_DISABLE_FLIP=!1,e.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,e.DEFAULT_SUPPORTED_SCAN_TYPE=[HM.SCAN_TYPE_CAMERA,HM.SCAN_TYPE_FILE],e}(),WM=function(){function e(e,t){this.format=e,this.formatName=t}return e.prototype.toString=function(){return this.formatName},e.create=function(t){if(!zM.has(t))throw`${t} not in html5QrcodeSupportedFormatsTextMap`;return new e(t,zM.get(t))},e}(),GM=function(){function e(){}return e.createFromText=function(e){return{decodedText:e,result:{text:e}}},e.createFromQrcodeResult=function(e){return{decodedText:e.text,result:e}},e}(),KM;(function(e){e[e.UNKWOWN_ERROR=0]=`UNKWOWN_ERROR`,e[e.IMPLEMENTATION_ERROR=1]=`IMPLEMENTATION_ERROR`,e[e.NO_CODE_FOUND_ERROR=2]=`NO_CODE_FOUND_ERROR`})(KM||={});var qM=function(){function e(){}return e.createFrom=function(e){return{errorMessage:e,type:KM.UNKWOWN_ERROR}},e}(),JM=function(){function e(e){this.verbose=e}return e.prototype.log=function(e){this.verbose&&console.log(e)},e.prototype.warn=function(e){this.verbose&&console.warn(e)},e.prototype.logError=function(e,t){(this.verbose||t===!0)&&console.error(e)},e.prototype.logErrors=function(e){if(e.length===0)throw`Logger#logError called without arguments`;this.verbose&&console.error(e)},e}();function YM(e){return e==null}function XM(e,t,n){return e>n?n:e<t?t:e}var ZM=function(){function e(){}return e.codeParseError=function(e){return`QR code parse error, error = ${e}`},e.errorGettingUserMedia=function(e){return`Error getting userMedia, error = ${e}`},e.onlyDeviceSupportedError=function(){return`The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string).`},e.cameraStreamingNotSupported=function(){return`Camera streaming not supported by the browser.`},e.unableToQuerySupportedDevices=function(){return`Unable to query supported devices, unknown error.`},e.insecureContextCameraQueryError=function(){return`Camera access is only supported in secure context like https or localhost.`},e.scannerPaused=function(){return`Scanner paused`},e}(),QM=function(){function e(){}return e.scanningStatus=function(){return`Scanning`},e.idleStatus=function(){return`Idle`},e.errorStatus=function(){return`Error`},e.permissionStatus=function(){return`Permission`},e.noCameraFoundErrorStatus=function(){return`No Cameras`},e.lastMatch=function(e){return`Last Match: ${e}`},e.codeScannerTitle=function(){return`Code Scanner`},e.cameraPermissionTitle=function(){return`Request Camera Permissions`},e.cameraPermissionRequesting=function(){return`Requesting camera permissions...`},e.noCameraFound=function(){return`No camera found`},e.scanButtonStopScanningText=function(){return`Stop Scanning`},e.scanButtonStartScanningText=function(){return`Start Scanning`},e.torchOnButton=function(){return`Switch On Torch`},e.torchOffButton=function(){return`Switch Off Torch`},e.torchOnFailedMessage=function(){return`Failed to turn on torch`},e.torchOffFailedMessage=function(){return`Failed to turn off torch`},e.scanButtonScanningStarting=function(){return`Launching Camera...`},e.textIfCameraScanSelected=function(){return`Scan an Image File`},e.textIfFileScanSelected=function(){return`Scan using camera directly`},e.selectCamera=function(){return`Select Camera`},e.fileSelectionChooseImage=function(){return`Choose Image`},e.fileSelectionChooseAnother=function(){return`Choose Another`},e.fileSelectionNoImageSelected=function(){return`No image choosen`},e.anonymousCameraPrefix=function(){return`Anonymous Camera`},e.dragAndDropMessage=function(){return`Or drop an image to scan`},e.dragAndDropMessageOnlyImages=function(){return`Or drop an image to scan (other files not supported)`},e.zoom=function(){return`zoom`},e.loadingImage=function(){return`Loading image...`},e.cameraScanAltText=function(){return`Camera based scan`},e.fileScanAltText=function(){return`Fule based scan`},e}(),$M=function(){function e(){}return e.poweredBy=function(){return`Powered by `},e.reportIssues=function(){return`Report issues`},e}(),eN=function(){function e(){}return e.isMediaStreamConstraintsValid=function(e,t){if(typeof e!=`object`){var n=typeof e;return t.logError(`videoConstraints should be of type object, the object passed is of type ${n}.`,!0),!1}for(var r=new Set([`autoGainControl`,`channelCount`,`echoCancellation`,`latency`,`noiseSuppression`,`sampleRate`,`sampleSize`,`volume`]),i=Object.keys(e),a=0,o=i;a<o.length;a++){var s=o[a];if(r.has(s))return t.logError(`${s} is not supported videoConstaints.`,!0),!1}return!0},e}(),tN=e(t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.ZXing={}))})(e,(function(e){function t(e){return e==null}var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function r(e,t){n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function i(e,t){var n=Object.setPrototypeOf;n?n(e,t):e.__proto__=t}function a(e,t){t===void 0&&(t=e.constructor);var n=Error.captureStackTrace;n&&n(e,t)}var o=(function(e){r(t,e);function t(t){var n=this.constructor,r=e.call(this,t)||this;return Object.defineProperty(r,"name",{value:n.name,enumerable:!1}),i(r,n.prototype),a(r),r}return t})(Error);class s extends o{constructor(e=void 0){super(e),this.message=e}getKind(){return this.constructor.kind}}s.kind=`Exception`;class c extends s{}c.kind=`ArgumentException`;class l extends s{}l.kind=`IllegalArgumentException`;class u{constructor(e){if(this.binarizer=e,e===null)throw new l(`Binarizer must be non-null.`)}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(e,t){return this.binarizer.getBlackRow(e,t)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(e,t,n,r){let i=this.binarizer.getLuminanceSource().crop(e,t,n,r);return new u(this.binarizer.createBinarizer(i))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){let e=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new u(this.binarizer.createBinarizer(e))}rotateCounterClockwise45(){let e=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new u(this.binarizer.createBinarizer(e))}toString(){try{return this.getBlackMatrix().toString()}catch{return``}}}class d extends s{static getChecksumInstance(){return new d}}d.kind=`ChecksumException`;class f{constructor(e){this.source=e}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class p{static arraycopy(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}static currentTimeMillis(){return Date.now()}}class m extends s{}m.kind=`IndexOutOfBoundsException`;class h extends m{constructor(e=void 0,t=void 0){super(t),this.index=e,this.message=t}}h.kind=`ArrayIndexOutOfBoundsException`;class g{static fill(e,t){for(let n=0,r=e.length;n<r;n++)e[n]=t}static fillWithin(e,t,n,r){g.rangeCheck(e.length,t,n);for(let i=t;i<n;i++)e[i]=r}static rangeCheck(e,t,n){if(t>n)throw new l(`fromIndex(`+t+`) > toIndex(`+n+`)`);if(t<0)throw new h(t);if(n>e)throw new h(n)}static asList(...e){return e}static create(e,t,n){return Array.from({length:e}).map(e=>Array.from({length:t}).fill(n))}static createInt32Array(e,t,n){return Array.from({length:e}).map(e=>Int32Array.from({length:t}).fill(n))}static equals(e,t){if(!e||!t||!e.length||!t.length||e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}static hashCode(e){if(e===null)return 0;let t=1;for(let n of e)t=31*t+n;return t}static fillUint8Array(e,t){for(let n=0;n!==e.length;n++)e[n]=t}static copyOf(e,t){return e.slice(0,t)}static copyOfUint8Array(e,t){if(e.length<=t){let n=new Uint8Array(t);return n.set(e),n}return e.slice(0,t)}static copyOfRange(e,t,n){let r=n-t,i=new Int32Array(r);return p.arraycopy(e,t,i,0,r),i}static binarySearch(e,t,n){n===void 0&&(n=g.numberComparator);let r=0,i=e.length-1;for(;r<=i;){let a=i+r>>1,o=n(t,e[a]);if(o>0)r=a+1;else if(o<0)i=a-1;else return a}return-r-1}static numberComparator(e,t){return e-t}}class _{static numberOfTrailingZeros(e){let t;if(e===0)return 32;let n=31;return t=e<<16,t!==0&&(n-=16,e=t),t=e<<8,t!==0&&(n-=8,e=t),t=e<<4,t!==0&&(n-=4,e=t),t=e<<2,t!==0&&(n-=2,e=t),n-(e<<1>>>31)}static numberOfLeadingZeros(e){if(e===0)return 32;let t=1;return e>>>16||(t+=16,e<<=16),e>>>24||(t+=8,e<<=8),e>>>28||(t+=4,e<<=4),e>>>30||(t+=2,e<<=2),t-=e>>>31,t}static toHexString(e){return e.toString(16)}static toBinaryString(e){return String(parseInt(String(e),2))}static bitCount(e){return e-=e>>>1&1431655765,e=(e&858993459)+(e>>>2&858993459),e=e+(e>>>4)&252645135,e+=e>>>8,e+=e>>>16,e&63}static truncDivision(e,t){return Math.trunc(e/t)}static parseInt(e,t=void 0){return parseInt(e,t)}}_.MIN_VALUE_32_BITS=-2147483648,_.MAX_VALUE=2**53-1;class v{constructor(e,t){e===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,t==null?this.bits=v.makeArray(e):this.bits=t)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(e){if(e>this.bits.length*32){let t=v.makeArray(e);p.arraycopy(this.bits,0,t,0,this.bits.length),this.bits=t}}get(e){return(this.bits[Math.floor(e/32)]&1<<(e&31))!=0}set(e){this.bits[Math.floor(e/32)]|=1<<(e&31)}flip(e){this.bits[Math.floor(e/32)]^=1<<(e&31)}getNextSet(e){let t=this.size;if(e>=t)return t;let n=this.bits,r=Math.floor(e/32),i=n[r];i&=~((1<<(e&31))-1);let a=n.length;for(;i===0;){if(++r===a)return t;i=n[r]}let o=r*32+_.numberOfTrailingZeros(i);return o>t?t:o}getNextUnset(e){let t=this.size;if(e>=t)return t;let n=this.bits,r=Math.floor(e/32),i=~n[r];i&=~((1<<(e&31))-1);let a=n.length;for(;i===0;){if(++r===a)return t;i=~n[r]}let o=r*32+_.numberOfTrailingZeros(i);return o>t?t:o}setBulk(e,t){this.bits[Math.floor(e/32)]=t}setRange(e,t){if(t<e||e<0||t>this.size)throw new l;if(t===e)return;t--;let n=Math.floor(e/32),r=Math.floor(t/32),i=this.bits;for(let a=n;a<=r;a++){let o=a>n?0:e&31,s=(2<<(a<r?31:t&31))-(1<<o);i[a]|=s}}clear(){let e=this.bits.length,t=this.bits;for(let n=0;n<e;n++)t[n]=0}isRange(e,t,n){if(t<e||e<0||t>this.size)throw new l;if(t===e)return!0;t--;let r=Math.floor(e/32),i=Math.floor(t/32),a=this.bits;for(let o=r;o<=i;o++){let s=o>r?0:e&31,c=(2<<(o<i?31:t&31))-(1<<s)&4294967295;if((a[o]&c)!==(n?c:0))return!1}return!0}appendBit(e){this.ensureCapacity(this.size+1),e&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(e,t){if(t<0||t>32)throw new l(`Num bits must be between 0 and 32`);this.ensureCapacity(this.size+t);for(let n=t;n>0;n--)this.appendBit((e>>n-1&1)==1)}appendBitArray(e){let t=e.size;this.ensureCapacity(this.size+t);for(let n=0;n<t;n++)this.appendBit(e.get(n))}xor(e){if(this.size!==e.size)throw new l(`Sizes don't match`);let t=this.bits;for(let n=0,r=t.length;n<r;n++)t[n]^=e.bits[n]}toBytes(e,t,n,r){for(let i=0;i<r;i++){let r=0;for(let t=0;t<8;t++)this.get(e)&&(r|=1<<7-t),e++;t[n+i]=r}}getBitArray(){return this.bits}reverse(){let e=new Int32Array(this.bits.length),t=Math.floor((this.size-1)/32),n=t+1,r=this.bits;for(let i=0;i<n;i++){let n=r[i];n=n>>1&1431655765|(n&1431655765)<<1,n=n>>2&858993459|(n&858993459)<<2,n=n>>4&252645135|(n&252645135)<<4,n=n>>8&16711935|(n&16711935)<<8,n=n>>16&65535|(n&65535)<<16,e[t-i]=n}if(this.size!==n*32){let t=n*32-this.size,r=e[0]>>>t;for(let i=1;i<n;i++){let n=e[i];r|=n<<32-t,e[i-1]=r,r=n>>>t}e[n-1]=r}this.bits=e}static makeArray(e){return new Int32Array(Math.floor((e+31)/32))}equals(e){if(!(e instanceof v))return!1;let t=e;return this.size===t.size&&g.equals(this.bits,t.bits)}hashCode(){return 31*this.size+g.hashCode(this.bits)}toString(){let e=``;for(let t=0,n=this.size;t<n;t++)t&7||(e+=` `),e+=this.get(t)?`X`:`.`;return e}clone(){return new v(this.size,this.bits.slice())}}var y;(function(e){e[e.OTHER=0]=`OTHER`,e[e.PURE_BARCODE=1]=`PURE_BARCODE`,e[e.POSSIBLE_FORMATS=2]=`POSSIBLE_FORMATS`,e[e.TRY_HARDER=3]=`TRY_HARDER`,e[e.CHARACTER_SET=4]=`CHARACTER_SET`,e[e.ALLOWED_LENGTHS=5]=`ALLOWED_LENGTHS`,e[e.ASSUME_CODE_39_CHECK_DIGIT=6]=`ASSUME_CODE_39_CHECK_DIGIT`,e[e.ASSUME_GS1=7]=`ASSUME_GS1`,e[e.RETURN_CODABAR_START_END=8]=`RETURN_CODABAR_START_END`,e[e.NEED_RESULT_POINT_CALLBACK=9]=`NEED_RESULT_POINT_CALLBACK`,e[e.ALLOWED_EAN_EXTENSIONS=10]=`ALLOWED_EAN_EXTENSIONS`})(y||={});var b=y;class x extends s{static getFormatInstance(){return new x}}x.kind=`FormatException`;var S;(function(e){e[e.Cp437=0]=`Cp437`,e[e.ISO8859_1=1]=`ISO8859_1`,e[e.ISO8859_2=2]=`ISO8859_2`,e[e.ISO8859_3=3]=`ISO8859_3`,e[e.ISO8859_4=4]=`ISO8859_4`,e[e.ISO8859_5=5]=`ISO8859_5`,e[e.ISO8859_6=6]=`ISO8859_6`,e[e.ISO8859_7=7]=`ISO8859_7`,e[e.ISO8859_8=8]=`ISO8859_8`,e[e.ISO8859_9=9]=`ISO8859_9`,e[e.ISO8859_10=10]=`ISO8859_10`,e[e.ISO8859_11=11]=`ISO8859_11`,e[e.ISO8859_13=12]=`ISO8859_13`,e[e.ISO8859_14=13]=`ISO8859_14`,e[e.ISO8859_15=14]=`ISO8859_15`,e[e.ISO8859_16=15]=`ISO8859_16`,e[e.SJIS=16]=`SJIS`,e[e.Cp1250=17]=`Cp1250`,e[e.Cp1251=18]=`Cp1251`,e[e.Cp1252=19]=`Cp1252`,e[e.Cp1256=20]=`Cp1256`,e[e.UnicodeBigUnmarked=21]=`UnicodeBigUnmarked`,e[e.UTF8=22]=`UTF8`,e[e.ASCII=23]=`ASCII`,e[e.Big5=24]=`Big5`,e[e.GB18030=25]=`GB18030`,e[e.EUC_KR=26]=`EUC_KR`})(S||={});class C{constructor(e,t,n,...r){this.valueIdentifier=e,this.name=n,typeof t==`number`?this.values=Int32Array.from([t]):this.values=t,this.otherEncodingNames=r,C.VALUE_IDENTIFIER_TO_ECI.set(e,this),C.NAME_TO_ECI.set(n,this);let i=this.values;for(let e=0,t=i.length;e!==t;e++){let t=i[e];C.VALUES_TO_ECI.set(t,this)}for(let e of r)C.NAME_TO_ECI.set(e,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(e){if(e<0||e>=900)throw new x(`incorect value`);let t=C.VALUES_TO_ECI.get(e);if(t===void 0)throw new x(`incorect value`);return t}static getCharacterSetECIByName(e){let t=C.NAME_TO_ECI.get(e);if(t===void 0)throw new x(`incorect value`);return t}equals(e){if(!(e instanceof C))return!1;let t=e;return this.getName()===t.getName()}}C.VALUE_IDENTIFIER_TO_ECI=new Map,C.VALUES_TO_ECI=new Map,C.NAME_TO_ECI=new Map,C.Cp437=new C(S.Cp437,Int32Array.from([0,2]),`Cp437`),C.ISO8859_1=new C(S.ISO8859_1,Int32Array.from([1,3]),`ISO-8859-1`,`ISO88591`,`ISO8859_1`),C.ISO8859_2=new C(S.ISO8859_2,4,`ISO-8859-2`,`ISO88592`,`ISO8859_2`),C.ISO8859_3=new C(S.ISO8859_3,5,`ISO-8859-3`,`ISO88593`,`ISO8859_3`),C.ISO8859_4=new C(S.ISO8859_4,6,`ISO-8859-4`,`ISO88594`,`ISO8859_4`),C.ISO8859_5=new C(S.ISO8859_5,7,`ISO-8859-5`,`ISO88595`,`ISO8859_5`),C.ISO8859_6=new C(S.ISO8859_6,8,`ISO-8859-6`,`ISO88596`,`ISO8859_6`),C.ISO8859_7=new C(S.ISO8859_7,9,`ISO-8859-7`,`ISO88597`,`ISO8859_7`),C.ISO8859_8=new C(S.ISO8859_8,10,`ISO-8859-8`,`ISO88598`,`ISO8859_8`),C.ISO8859_9=new C(S.ISO8859_9,11,`ISO-8859-9`,`ISO88599`,`ISO8859_9`),C.ISO8859_10=new C(S.ISO8859_10,12,`ISO-8859-10`,`ISO885910`,`ISO8859_10`),C.ISO8859_11=new C(S.ISO8859_11,13,`ISO-8859-11`,`ISO885911`,`ISO8859_11`),C.ISO8859_13=new C(S.ISO8859_13,15,`ISO-8859-13`,`ISO885913`,`ISO8859_13`),C.ISO8859_14=new C(S.ISO8859_14,16,`ISO-8859-14`,`ISO885914`,`ISO8859_14`),C.ISO8859_15=new C(S.ISO8859_15,17,`ISO-8859-15`,`ISO885915`,`ISO8859_15`),C.ISO8859_16=new C(S.ISO8859_16,18,`ISO-8859-16`,`ISO885916`,`ISO8859_16`),C.SJIS=new C(S.SJIS,20,`SJIS`,`Shift_JIS`),C.Cp1250=new C(S.Cp1250,21,`Cp1250`,`windows-1250`),C.Cp1251=new C(S.Cp1251,22,`Cp1251`,`windows-1251`),C.Cp1252=new C(S.Cp1252,23,`Cp1252`,`windows-1252`),C.Cp1256=new C(S.Cp1256,24,`Cp1256`,`windows-1256`),C.UnicodeBigUnmarked=new C(S.UnicodeBigUnmarked,25,`UnicodeBigUnmarked`,`UTF-16BE`,`UnicodeBig`),C.UTF8=new C(S.UTF8,26,`UTF8`,`UTF-8`),C.ASCII=new C(S.ASCII,Int32Array.from([27,170]),`ASCII`,`US-ASCII`),C.Big5=new C(S.Big5,28,`Big5`),C.GB18030=new C(S.GB18030,29,`GB18030`,`GB2312`,`EUC_CN`,`GBK`),C.EUC_KR=new C(S.EUC_KR,30,`EUC_KR`,`EUC-KR`);class w extends s{}w.kind=`UnsupportedOperationException`;class T{static decode(e,t){let n=this.encodingName(t);return this.customDecoder?this.customDecoder(e,n):typeof TextDecoder>`u`||this.shouldDecodeOnFallback(n)?this.decodeFallback(e,n):new TextDecoder(n).decode(e)}static shouldDecodeOnFallback(e){return!T.isBrowser()&&e===`ISO-8859-1`}static encode(e,t){let n=this.encodingName(t);return this.customEncoder?this.customEncoder(e,n):typeof TextEncoder>`u`?this.encodeFallback(e):new TextEncoder().encode(e)}static isBrowser(){return typeof window<`u`&&{}.toString.call(window)===`[object Window]`}static encodingName(e){return typeof e==`string`?e:e.getName()}static encodingCharacterSet(e){return e instanceof C?e:C.getCharacterSetECIByName(e)}static decodeFallback(e,t){let n=this.encodingCharacterSet(t);if(T.isDecodeFallbackSupported(n)){let t=``;for(let n=0,r=e.length;n<r;n++){let r=e[n].toString(16);r.length<2&&(r=`0`+r),t+=`%`+r}return decodeURIComponent(t)}if(n.equals(C.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(e.buffer));throw new w(`Encoding ${this.encodingName(t)} not supported by fallback.`)}static isDecodeFallbackSupported(e){return e.equals(C.UTF8)||e.equals(C.ISO8859_1)||e.equals(C.ASCII)}static encodeFallback(e){let t=btoa(unescape(encodeURIComponent(e))).split(``),n=[];for(let e=0;e<t.length;e++)n.push(t[e].charCodeAt(0));return new Uint8Array(n)}}class E{static castAsNonUtf8Char(e,t=null){let n=t?t.getName():this.ISO88591;return T.decode(new Uint8Array([e]),n)}static guessEncoding(e,t){if(t!=null&&t.get(b.CHARACTER_SET)!==void 0)return t.get(b.CHARACTER_SET).toString();let n=e.length,r=!0,i=!0,a=!0,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=e.length>3&&e[0]===239&&e[1]===187&&e[2]===191;for(let t=0;t<n&&(r||i||a);t++){let n=e[t]&255;a&&(o>0?n&128?o--:a=!1:n&128&&(n&64?(o++,n&32?(o++,n&16?(o++,n&8?a=!1:l++):c++):s++):a=!1)),r&&(n>127&&n<160?r=!1:n>159&&(n<192||n===215||n===247)&&g++),i&&(u>0?n<64||n===127||n>252?i=!1:u--:n===128||n===160||n>239?i=!1:n>160&&n<224?(d++,p=0,f++,f>m&&(m=f)):n>127?(u++,f=0,p++,p>h&&(h=p)):(f=0,p=0))}return a&&o>0&&(a=!1),i&&u>0&&(i=!1),a&&(_||s+c+l>0)?E.UTF8:i&&(E.ASSUME_SHIFT_JIS||m>=3||h>=3)?E.SHIFT_JIS:r&&i?m===2&&d===2||g*10>=n?E.SHIFT_JIS:E.ISO88591:r?E.ISO88591:i?E.SHIFT_JIS:a?E.UTF8:E.PLATFORM_DEFAULT_ENCODING}static format(e,...t){let n=-1;function r(e,r,i,a,o,s){if(e===`%%`)return`%`;if(t[++n]===void 0)return;e=a?parseInt(a.substr(1)):void 0;let c=o?parseInt(o.substr(1)):void 0,l;switch(s){case`s`:l=t[n];break;case`c`:l=t[n][0];break;case`f`:l=parseFloat(t[n]).toFixed(e);break;case`p`:l=parseFloat(t[n]).toPrecision(e);break;case`e`:l=parseFloat(t[n]).toExponential(e);break;case`x`:l=parseInt(t[n]).toString(c||16);break;case`d`:l=parseFloat(parseInt(t[n],c||10).toPrecision(e)).toFixed(0);break}l=typeof l==`object`?JSON.stringify(l):(+l).toString(c);let u=parseInt(i),d=i&&i[0]+``==`0`?`0`:` `;for(;l.length<u;)l=r===void 0?d+l:l+d;return l}return e.replace(/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g,r)}static getBytes(e,t){return T.encode(e,t)}static getCharCode(e,t=0){return e.charCodeAt(t)}static getCharAt(e){return String.fromCharCode(e)}}E.SHIFT_JIS=C.SJIS.getName(),E.GB2312=`GB2312`,E.ISO88591=C.ISO8859_1.getName(),E.EUC_JP=`EUC_JP`,E.UTF8=C.UTF8.getName(),E.PLATFORM_DEFAULT_ENCODING=E.UTF8,E.ASSUME_SHIFT_JIS=!1;class D{constructor(e=``){this.value=e}enableDecoding(e){return this.encoding=e,this}append(e){return typeof e==`string`?this.value+=e.toString():this.encoding?this.value+=E.castAsNonUtf8Char(e,this.encoding):this.value+=String.fromCharCode(e),this}appendChars(e,t,n){for(let r=t;t<t+n;r++)this.append(e[r]);return this}length(){return this.value.length}charAt(e){return this.value.charAt(e)}deleteCharAt(e){this.value=this.value.substr(0,e)+this.value.substring(e+1)}setCharAt(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+1)}substring(e,t){return this.value.substring(e,t)}setLengthToZero(){this.value=``}toString(){return this.value}insert(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+t.length)}}class O{constructor(e,t,n,r){if(this.width=e,this.height=t,this.rowSize=n,this.bits=r,t??=e,this.height=t,e<1||t<1)throw new l(`Both dimensions must be greater than 0`);n??=Math.floor((e+31)/32),this.rowSize=n,r??(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(e){let t=e.length,n=e[0].length,r=new O(n,t);for(let i=0;i<t;i++){let t=e[i];for(let e=0;e<n;e++)t[e]&&r.set(e,i)}return r}static parseFromString(e,t,n){if(e===null)throw new l(`stringRepresentation cannot be null`);let r=Array(e.length),i=0,a=0,o=-1,s=0,c=0;for(;c<e.length;)if(e.charAt(c)===`
3337
3337
  `||e.charAt(c)===`\r`){if(i>a){if(o===-1)o=i-a;else if(i-a!==o)throw new l(`row lengths do not match`);a=i,s++}c++}else if(e.substring(c,c+t.length)===t)c+=t.length,r[i]=!0,i++;else if(e.substring(c,c+n.length)===n)c+=n.length,r[i]=!1,i++;else throw new l(`illegal character encountered: `+e.substring(c));if(i>a){if(o===-1)o=i-a;else if(i-a!==o)throw new l(`row lengths do not match`);s++}let u=new O(o,s);for(let e=0;e<i;e++)r[e]&&u.set(Math.floor(e%o),Math.floor(e/o));return u}get(e,t){let n=t*this.rowSize+Math.floor(e/32);return(this.bits[n]>>>(e&31)&1)!=0}set(e,t){let n=t*this.rowSize+Math.floor(e/32);this.bits[n]|=1<<(e&31)&4294967295}unset(e,t){let n=t*this.rowSize+Math.floor(e/32);this.bits[n]&=~(1<<(e&31)&4294967295)}flip(e,t){let n=t*this.rowSize+Math.floor(e/32);this.bits[n]^=1<<(e&31)&4294967295}xor(e){if(this.width!==e.getWidth()||this.height!==e.getHeight()||this.rowSize!==e.getRowSize())throw new l(`input matrix dimensions do not match`);let t=new v(Math.floor(this.width/32)+1),n=this.rowSize,r=this.bits;for(let i=0,a=this.height;i<a;i++){let a=i*n,o=e.getRow(i,t).getBitArray();for(let e=0;e<n;e++)r[a+e]^=o[e]}}clear(){let e=this.bits,t=e.length;for(let n=0;n<t;n++)e[n]=0}setRegion(e,t,n,r){if(t<0||e<0)throw new l(`Left and top must be nonnegative`);if(r<1||n<1)throw new l(`Height and width must be at least 1`);let i=e+n,a=t+r;if(a>this.height||i>this.width)throw new l(`The region must fit inside the matrix`);let o=this.rowSize,s=this.bits;for(let n=t;n<a;n++){let t=n*o;for(let n=e;n<i;n++)s[t+Math.floor(n/32)]|=1<<(n&31)&4294967295}}getRow(e,t){t==null||t.getSize()<this.width?t=new v(this.width):t.clear();let n=this.rowSize,r=this.bits,i=e*n;for(let e=0;e<n;e++)t.setBulk(e*32,r[i+e]);return t}setRow(e,t){p.arraycopy(t.getBitArray(),0,this.bits,e*this.rowSize,this.rowSize)}rotate180(){let e=this.getWidth(),t=this.getHeight(),n=new v(e),r=new v(e);for(let e=0,i=Math.floor((t+1)/2);e<i;e++)n=this.getRow(e,n),r=this.getRow(t-1-e,r),n.reverse(),r.reverse(),this.setRow(e,r),this.setRow(t-1-e,n)}getEnclosingRectangle(){let e=this.width,t=this.height,n=this.rowSize,r=this.bits,i=e,a=t,o=-1,s=-1;for(let e=0;e<t;e++)for(let t=0;t<n;t++){let c=r[e*n+t];if(c!==0){if(e<a&&(a=e),e>s&&(s=e),t*32<i){let e=0;for(;!(c<<31-e&4294967295);)e++;t*32+e<i&&(i=t*32+e)}if(t*32+31>o){let e=31;for(;!(c>>>e);)e--;t*32+e>o&&(o=t*32+e)}}}return o<i||s<a?null:Int32Array.from([i,a,o-i+1,s-a+1])}getTopLeftOnBit(){let e=this.rowSize,t=this.bits,n=0;for(;n<t.length&&t[n]===0;)n++;if(n===t.length)return null;let r=n/e,i=n%e*32,a=t[n],o=0;for(;!(a<<31-o&4294967295);)o++;return i+=o,Int32Array.from([i,r])}getBottomRightOnBit(){let e=this.rowSize,t=this.bits,n=t.length-1;for(;n>=0&&t[n]===0;)n--;if(n<0)return null;let r=Math.floor(n/e),i=Math.floor(n%e)*32,a=t[n],o=31;for(;!(a>>>o);)o--;return i+=o,Int32Array.from([i,r])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(e){if(!(e instanceof O))return!1;let t=e;return this.width===t.width&&this.height===t.height&&this.rowSize===t.rowSize&&g.equals(this.bits,t.bits)}hashCode(){let e=this.width;return e=31*e+this.width,e=31*e+this.height,e=31*e+this.rowSize,e=31*e+g.hashCode(this.bits),e}toString(e=`X `,t=` `,n=`
3338
3338
  `){return this.buildToString(e,t,n)}buildToString(e,t,n){let r=new D;for(let i=0,a=this.height;i<a;i++){for(let n=0,a=this.width;n<a;n++)r.append(this.get(n,i)?e:t);r.append(n)}return r.toString()}clone(){return new O(this.width,this.height,this.rowSize,this.bits.slice())}}class k extends s{static getNotFoundInstance(){return new k}}k.kind=`NotFoundException`;class A extends f{constructor(e){super(e),this.luminances=A.EMPTY,this.buckets=new Int32Array(A.LUMINANCE_BUCKETS)}getBlackRow(e,t){let n=this.getLuminanceSource(),r=n.getWidth();t==null||t.getSize()<r?t=new v(r):t.clear(),this.initArrays(r);let i=n.getRow(e,this.luminances),a=this.buckets;for(let e=0;e<r;e++)a[(i[e]&255)>>A.LUMINANCE_SHIFT]++;let o=A.estimateBlackPoint(a);if(r<3)for(let e=0;e<r;e++)(i[e]&255)<o&&t.set(e);else{let e=i[0]&255,n=i[1]&255;for(let a=1;a<r-1;a++){let r=i[a+1]&255;(n*4-e-r)/2<o&&t.set(a),e=n,n=r}}return t}getBlackMatrix(){let e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight(),r=new O(t,n);this.initArrays(t);let i=this.buckets;for(let r=1;r<5;r++){let a=Math.floor(n*r/5),o=e.getRow(a,this.luminances),s=Math.floor(t*4/5);for(let e=Math.floor(t/5);e<s;e++){let t=o[e]&255;i[t>>A.LUMINANCE_SHIFT]++}}let a=A.estimateBlackPoint(i),o=e.getMatrix();for(let e=0;e<n;e++){let n=e*t;for(let i=0;i<t;i++)(o[n+i]&255)<a&&r.set(i,e)}return r}createBinarizer(e){return new A(e)}initArrays(e){this.luminances.length<e&&(this.luminances=new Uint8ClampedArray(e));let t=this.buckets;for(let e=0;e<A.LUMINANCE_BUCKETS;e++)t[e]=0}static estimateBlackPoint(e){let t=e.length,n=0,r=0,i=0;for(let a=0;a<t;a++)e[a]>i&&(r=a,i=e[a]),e[a]>n&&(n=e[a]);let a=0,o=0;for(let n=0;n<t;n++){let t=n-r,i=e[n]*t*t;i>o&&(a=n,o=i)}if(r>a){let e=r;r=a,a=e}if(a-r<=t/16)throw new k;let s=a-1,c=-1;for(let t=a-1;t>r;t--){let i=t-r,o=i*i*(a-t)*(n-e[t]);o>c&&(s=t,c=o)}return s<<A.LUMINANCE_SHIFT}}A.LUMINANCE_BITS=5,A.LUMINANCE_SHIFT=8-A.LUMINANCE_BITS,A.LUMINANCE_BUCKETS=1<<A.LUMINANCE_BITS,A.EMPTY=Uint8ClampedArray.from([0]);class j extends A{constructor(e){super(e),this.matrix=null}getBlackMatrix(){if(this.matrix!==null)return this.matrix;let e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight();if(t>=j.MINIMUM_DIMENSION&&n>=j.MINIMUM_DIMENSION){let r=e.getMatrix(),i=t>>j.BLOCK_SIZE_POWER;(t&j.BLOCK_SIZE_MASK)!==0&&i++;let a=n>>j.BLOCK_SIZE_POWER;(n&j.BLOCK_SIZE_MASK)!==0&&a++;let o=j.calculateBlackPoints(r,i,a,t,n),s=new O(t,n);j.calculateThresholdForBlock(r,i,a,t,n,o,s),this.matrix=s}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(e){return new j(e)}static calculateThresholdForBlock(e,t,n,r,i,a,o){let s=i-j.BLOCK_SIZE,c=r-j.BLOCK_SIZE;for(let i=0;i<n;i++){let l=i<<j.BLOCK_SIZE_POWER;l>s&&(l=s);let u=j.cap(i,2,n-3);for(let n=0;n<t;n++){let i=n<<j.BLOCK_SIZE_POWER;i>c&&(i=c);let s=j.cap(n,2,t-3),d=0;for(let e=-2;e<=2;e++){let t=a[u+e];d+=t[s-2]+t[s-1]+t[s]+t[s+1]+t[s+2]}let f=d/25;j.thresholdBlock(e,i,l,f,r,o)}}}static cap(e,t,n){return e<t?t:e>n?n:e}static thresholdBlock(e,t,n,r,i,a){for(let o=0,s=n*i+t;o<j.BLOCK_SIZE;o++,s+=i)for(let i=0;i<j.BLOCK_SIZE;i++)(e[s+i]&255)<=r&&a.set(t+i,n+o)}static calculateBlackPoints(e,t,n,r,i){let a=i-j.BLOCK_SIZE,o=r-j.BLOCK_SIZE,s=Array(n);for(let i=0;i<n;i++){s[i]=new Int32Array(t);let n=i<<j.BLOCK_SIZE_POWER;n>a&&(n=a);for(let a=0;a<t;a++){let t=a<<j.BLOCK_SIZE_POWER;t>o&&(t=o);let c=0,l=255,u=0;for(let i=0,a=n*r+t;i<j.BLOCK_SIZE;i++,a+=r){for(let t=0;t<j.BLOCK_SIZE;t++){let n=e[a+t]&255;c+=n,n<l&&(l=n),n>u&&(u=n)}if(u-l>j.MIN_DYNAMIC_RANGE)for(i++,a+=r;i<j.BLOCK_SIZE;i++,a+=r)for(let t=0;t<j.BLOCK_SIZE;t++)c+=e[a+t]&255}let d=c>>j.BLOCK_SIZE_POWER*2;if(u-l<=j.MIN_DYNAMIC_RANGE&&(d=l/2,i>0&&a>0)){let e=(s[i-1][a]+2*s[i][a-1]+s[i-1][a-1])/4;l<e&&(d=e)}s[i][a]=d}}return s}}j.BLOCK_SIZE_POWER=3,j.BLOCK_SIZE=1<<j.BLOCK_SIZE_POWER,j.BLOCK_SIZE_MASK=j.BLOCK_SIZE-1,j.MINIMUM_DIMENSION=j.BLOCK_SIZE*5,j.MIN_DYNAMIC_RANGE=24;class M{constructor(e,t){this.width=e,this.height=t}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(e,t,n,r){throw new w(`This luminance source does not support cropping.`)}isRotateSupported(){return!1}rotateCounterClockwise(){throw new w(`This luminance source does not support rotation by 90 degrees.`)}rotateCounterClockwise45(){throw new w(`This luminance source does not support rotation by 45 degrees.`)}toString(){let e=new Uint8ClampedArray(this.width),t=new D;for(let n=0;n<this.height;n++){let r=this.getRow(n,e);for(let e=0;e<this.width;e++){let n=r[e]&255,i;i=n<64?`#`:n<128?`+`:n<192?`.`:` `,t.append(i)}t.append(`
3339
3339
  `)}return t.toString()}}class N extends M{constructor(e){super(e.getWidth(),e.getHeight()),this.delegate=e}getRow(e,t){let n=this.delegate.getRow(e,t),r=this.getWidth();for(let e=0;e<r;e++)n[e]=255-(n[e]&255);return n}getMatrix(){let e=this.delegate.getMatrix(),t=this.getWidth()*this.getHeight(),n=new Uint8ClampedArray(t);for(let r=0;r<t;r++)n[r]=255-(e[r]&255);return n}isCropSupported(){return this.delegate.isCropSupported()}crop(e,t,n,r){return new N(this.delegate.crop(e,t,n,r))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new N(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new N(this.delegate.rotateCounterClockwise45())}}class P extends M{constructor(e){super(e.width,e.height),this.canvas=e,this.tempCanvasElement=null,this.buffer=P.makeBufferFromCanvasImageData(e)}static makeBufferFromCanvasImageData(e){let t=e.getContext(`2d`).getImageData(0,0,e.width,e.height);return P.toGrayscaleBuffer(t.data,e.width,e.height)}static toGrayscaleBuffer(e,t,n){let r=new Uint8ClampedArray(t*n);for(let t=0,n=0,i=e.length;t<i;t+=4,n++){let i;if(e[t+3]===0)i=255;else{let n=e[t],r=e[t+1],a=e[t+2];i=306*n+601*r+117*a+512>>10}r[n]=i}return r}getRow(e,t){if(e<0||e>=this.getHeight())throw new l(`Requested row is outside the image: `+e);let n=this.getWidth(),r=e*n;return t===null?t=this.buffer.slice(r,r+n):(t.length<n&&(t=new Uint8ClampedArray(n)),t.set(this.buffer.slice(r,r+n))),t}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(e,t,n,r){return super.crop(e,t,n,r),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(this.tempCanvasElement===null){let e=this.canvas.ownerDocument.createElement(`canvas`);e.width=this.canvas.width,e.height=this.canvas.height,this.tempCanvasElement=e}return this.tempCanvasElement}rotate(e){let t=this.getTempCanvasElement(),n=t.getContext(`2d`),r=e*P.DEGREE_TO_RADIANS,i=this.canvas.width,a=this.canvas.height,o=Math.ceil(Math.abs(Math.cos(r))*i+Math.abs(Math.sin(r))*a),s=Math.ceil(Math.abs(Math.sin(r))*i+Math.abs(Math.cos(r))*a);return t.width=o,t.height=s,n.translate(o/2,s/2),n.rotate(r),n.drawImage(this.canvas,i/-2,a/-2),this.buffer=P.makeBufferFromCanvasImageData(t),this}invert(){return new N(this)}}P.DEGREE_TO_RADIANS=Math.PI/180;class F{constructor(e,t,n){this.deviceId=e,this.label=t,this.kind=`videoinput`,this.groupId=n||void 0}toJSON(){return{kind:this.kind,groupId:this.groupId,deviceId:this.deviceId,label:this.label}}}var I=(globalThis||global||self||window||void 0)&&(globalThis||global||self||window||void 0).__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};class L{constructor(e,t=500,n){this.reader=e,this.timeBetweenScansMillis=t,this._hints=n,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}get hasNavigator(){return typeof navigator<`u`}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!!(this.isMediaDevicesSuported&&navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(e){this._timeBetweenDecodingAttempts=e<0?0:e}set hints(e){this._hints=e||null}get hints(){return this._hints}listVideoInputDevices(){return I(this,void 0,void 0,function*(){if(!this.hasNavigator)throw Error(`Can't enumerate devices, navigator is not present.`);if(!this.canEnumerateDevices)throw Error(`Can't enumerate devices, method not supported.`);let e=yield navigator.mediaDevices.enumerateDevices(),t=[];for(let n of e){let e=n.kind===`video`?`videoinput`:n.kind;if(e!==`videoinput`)continue;let r={deviceId:n.deviceId||n.id,label:n.label||`Video device ${t.length+1}`,kind:e,groupId:n.groupId};t.push(r)}return t})}getVideoInputDevices(){return I(this,void 0,void 0,function*(){return(yield this.listVideoInputDevices()).map(e=>new F(e.deviceId,e.label))})}findDeviceById(e){return I(this,void 0,void 0,function*(){let t=yield this.listVideoInputDevices();return t?t.find(t=>t.deviceId===e):null})}decodeFromInputVideoDevice(e,t){return I(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(e,t)})}decodeOnceFromVideoDevice(e,t){return I(this,void 0,void 0,function*(){this.reset();let n;n=e?{deviceId:{exact:e}}:{facingMode:`environment`};let r={video:n};return yield this.decodeOnceFromConstraints(r,t)})}decodeOnceFromConstraints(e,t){return I(this,void 0,void 0,function*(){let n=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeOnceFromStream(n,t)})}decodeOnceFromStream(e,t){return I(this,void 0,void 0,function*(){this.reset();let n=yield this.attachStreamToVideo(e,t);return yield this.decodeOnce(n)})}decodeFromInputVideoDeviceContinuously(e,t,n){return I(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(e,t,n)})}decodeFromVideoDevice(e,t,n){return I(this,void 0,void 0,function*(){let r;r=e?{deviceId:{exact:e}}:{facingMode:`environment`};let i={video:r};return yield this.decodeFromConstraints(i,t,n)})}decodeFromConstraints(e,t,n){return I(this,void 0,void 0,function*(){let r=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeFromStream(r,t,n)})}decodeFromStream(e,t,n){return I(this,void 0,void 0,function*(){this.reset();let r=yield this.attachStreamToVideo(e,t);return yield this.decodeContinuously(r,n)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(e,t){return I(this,void 0,void 0,function*(){let n=this.prepareVideoElement(t);return this.addVideoSource(n,e),this.videoElement=n,this.stream=e,yield this.playVideoOnLoadAsync(n),n})}playVideoOnLoadAsync(e){return new Promise((t,n)=>this.playVideoOnLoad(e,()=>t()))}playVideoOnLoad(e,t){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(e),e.addEventListener(`ended`,this.videoEndedListener),e.addEventListener(`canplay`,this.videoCanPlayListener),e.addEventListener(`playing`,t),this.tryPlayVideo(e)}isVideoPlaying(e){return e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}tryPlayVideo(e){return I(this,void 0,void 0,function*(){if(this.isVideoPlaying(e)){console.warn(`Trying to play video that is already playing.`);return}try{yield e.play()}catch{console.warn(`It was not possible to play the video.`)}})}getMediaElement(e,t){let n=document.getElementById(e);if(!n)throw new c(`element with id '${e}' not found`);if(n.nodeName.toLowerCase()!==t.toLowerCase())throw new c(`element with id '${e}' must be an ${t} element`);return n}decodeFromImage(e,t){if(!e&&!t)throw new c(`either imageElement with a src set or an url must be provided`);return t&&!e?this.decodeFromImageUrl(t):this.decodeFromImageElement(e)}decodeFromVideo(e,t){if(!e&&!t)throw new c(`Either an element with a src set or an URL must be provided`);return t&&!e?this.decodeFromVideoUrl(t):this.decodeFromVideoElement(e)}decodeFromVideoContinuously(e,t,n){if(e===void 0&&t===void 0)throw new c(`Either an element with a src set or an URL must be provided`);return t&&!e?this.decodeFromVideoUrlContinuously(t,n):this.decodeFromVideoElementContinuously(e,n)}decodeFromImageElement(e){if(!e)throw new c(`An image element must be provided.`);this.reset();let t=this.prepareImageElement(e);this.imageElement=t;let n;return n=this.isImageLoaded(t)?this.decodeOnce(t,!1,!0):this._decodeOnLoadImage(t),n}decodeFromVideoElement(e){let t=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideo(t)}decodeFromVideoElementContinuously(e,t){let n=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideoContinuously(n,t)}_decodeFromVideoElementSetup(e){if(!e)throw new c(`A video element must be provided.`);this.reset();let t=this.prepareVideoElement(e);return this.videoElement=t,t}decodeFromImageUrl(e){if(!e)throw new c(`An URL must be provided.`);this.reset();let t=this.prepareImageElement();this.imageElement=t;let n=this._decodeOnLoadImage(t);return t.src=e,n}decodeFromVideoUrl(e){if(!e)throw new c(`An URL must be provided.`);this.reset();let t=this.prepareVideoElement(),n=this.decodeFromVideoElement(t);return t.src=e,n}decodeFromVideoUrlContinuously(e,t){if(!e)throw new c(`An URL must be provided.`);this.reset();let n=this.prepareVideoElement(),r=this.decodeFromVideoElementContinuously(n,t);return n.src=e,r}_decodeOnLoadImage(e){return new Promise((t,n)=>{this.imageLoadedListener=()=>this.decodeOnce(e,!1,!0).then(t,n),e.addEventListener(`load`,this.imageLoadedListener)})}_decodeOnLoadVideo(e){return I(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(e),yield this.decodeOnce(e)})}_decodeOnLoadVideoContinuously(e,t){return I(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(e),this.decodeContinuously(e,t)})}isImageLoaded(e){return!(!e.complete||e.naturalWidth===0)}prepareImageElement(e){let t;return e===void 0&&(t=document.createElement(`img`),t.width=200,t.height=200),typeof e==`string`&&(t=this.getMediaElement(e,`img`)),e instanceof HTMLImageElement&&(t=e),t}prepareVideoElement(e){let t;return!e&&typeof document<`u`&&(t=document.createElement(`video`),t.width=200,t.height=200),typeof e==`string`&&(t=this.getMediaElement(e,`video`)),e instanceof HTMLVideoElement&&(t=e),t.setAttribute(`autoplay`,`true`),t.setAttribute(`muted`,`true`),t.setAttribute(`playsinline`,`true`),t}decodeOnce(e,t=!0,n=!0){this._stopAsyncDecode=!1;let r=(i,a)=>{if(this._stopAsyncDecode){a(new k(`Video stream has ended before any code could be detected.`)),this._stopAsyncDecode=void 0;return}try{i(this.decode(e))}catch(e){let o=t&&e instanceof k,s=(e instanceof d||e instanceof x)&&n;if(o||s)return setTimeout(r,this._timeBetweenDecodingAttempts,i,a);a(e)}};return new Promise((e,t)=>r(e,t))}decodeContinuously(e,t){this._stopContinuousDecode=!1;let n=()=>{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{t(this.decode(e),null),setTimeout(n,this.timeBetweenScansMillis)}catch(e){t(null,e);let r=e instanceof d||e instanceof x,i=e instanceof k;(r||i)&&setTimeout(n,this._timeBetweenDecodingAttempts)}};n()}decode(e){let t=this.createBinaryBitmap(e);return this.decodeBitmap(t)}_isHTMLVideoElement(e){return e.videoWidth!==0}drawFrameOnCanvas(e,t,n){t||={sx:0,sy:0,sWidth:e.videoWidth,sHeight:e.videoHeight,dx:0,dy:0,dWidth:e.videoWidth,dHeight:e.videoHeight},n||=this.captureCanvasContext,n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}drawImageOnCanvas(e,t,n=this.captureCanvasContext){t||={sx:0,sy:0,sWidth:e.naturalWidth,sHeight:e.naturalHeight,dx:0,dy:0,dWidth:e.naturalWidth,dHeight:e.naturalHeight},n||=this.captureCanvasContext,n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}createBinaryBitmap(e){return this.getCaptureCanvasContext(e),this._isHTMLVideoElement(e)?this.drawFrameOnCanvas(e):this.drawImageOnCanvas(e),new u(new j(new P(this.getCaptureCanvas(e))))}getCaptureCanvasContext(e){if(!this.captureCanvasContext){let t=this.getCaptureCanvas(e).getContext(`2d`);this.captureCanvasContext=t}return this.captureCanvasContext}getCaptureCanvas(e){if(!this.captureCanvas){let t=this.createCaptureCanvas(e);this.captureCanvas=t}return this.captureCanvas}decodeBitmap(e){return this.reader.decode(e,this._hints)}createCaptureCanvas(e){if(typeof document>`u`)return this._destroyCaptureCanvas(),null;let t=document.createElement(`canvas`),n,r;return e!==void 0&&(e instanceof HTMLVideoElement?(n=e.videoWidth,r=e.videoHeight):e instanceof HTMLImageElement&&(n=e.naturalWidth||e.width,r=e.naturalHeight||e.height)),t.style.width=n+`px`,t.style.height=r+`px`,t.width=n,t.height=r,t}stopStreams(){this.stream&&=(this.stream.getVideoTracks().forEach(e=>e.stop()),void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&=(this.videoEndedListener!==void 0&&this.videoElement.removeEventListener(`ended`,this.videoEndedListener),this.videoPlayingEventListener!==void 0&&this.videoElement.removeEventListener(`playing`,this.videoPlayingEventListener),this.videoCanPlayListener!==void 0&&this.videoElement.removeEventListener(`loadedmetadata`,this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),void 0)}_destroyImageElement(){this.imageElement&&=(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener(`load`,this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute(`src`),void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(e,t){try{e.srcObject=t}catch{e.src=URL.createObjectURL(t)}}cleanVideoSource(e){try{e.srcObject=null}catch{e.src=``}this.videoElement.removeAttribute(`src`)}}class R{constructor(e,t,n=t==null?0:8*t.length,r,i,a=p.currentTimeMillis()){this.text=e,this.rawBytes=t,this.numBits=n,this.resultPoints=r,this.format=i,this.timestamp=a,this.text=e,this.rawBytes=t,n==null?this.numBits=t==null?0:8*t.length:this.numBits=n,this.resultPoints=r,this.format=i,this.resultMetadata=null,a==null?this.timestamp=p.currentTimeMillis():this.timestamp=a}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(e,t){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(e,t)}putAllMetadata(e){e!==null&&(this.resultMetadata===null?this.resultMetadata=e:this.resultMetadata=new Map(e))}addResultPoints(e){let t=this.resultPoints;if(t===null)this.resultPoints=e;else if(e!==null&&e.length>0){let n=Array(t.length+e.length);p.arraycopy(t,0,n,0,t.length),p.arraycopy(e,0,n,t.length,e.length),this.resultPoints=n}}getTimestamp(){return this.timestamp}toString(){return this.text}}var z;(function(e){e[e.AZTEC=0]=`AZTEC`,e[e.CODABAR=1]=`CODABAR`,e[e.CODE_39=2]=`CODE_39`,e[e.CODE_93=3]=`CODE_93`,e[e.CODE_128=4]=`CODE_128`,e[e.DATA_MATRIX=5]=`DATA_MATRIX`,e[e.EAN_8=6]=`EAN_8`,e[e.EAN_13=7]=`EAN_13`,e[e.ITF=8]=`ITF`,e[e.MAXICODE=9]=`MAXICODE`,e[e.PDF_417=10]=`PDF_417`,e[e.QR_CODE=11]=`QR_CODE`,e[e.RSS_14=12]=`RSS_14`,e[e.RSS_EXPANDED=13]=`RSS_EXPANDED`,e[e.UPC_A=14]=`UPC_A`,e[e.UPC_E=15]=`UPC_E`,e[e.UPC_EAN_EXTENSION=16]=`UPC_EAN_EXTENSION`})(z||={});var B=z,V;(function(e){e[e.OTHER=0]=`OTHER`,e[e.ORIENTATION=1]=`ORIENTATION`,e[e.BYTE_SEGMENTS=2]=`BYTE_SEGMENTS`,e[e.ERROR_CORRECTION_LEVEL=3]=`ERROR_CORRECTION_LEVEL`,e[e.ISSUE_NUMBER=4]=`ISSUE_NUMBER`,e[e.SUGGESTED_PRICE=5]=`SUGGESTED_PRICE`,e[e.POSSIBLE_COUNTRY=6]=`POSSIBLE_COUNTRY`,e[e.UPC_EAN_EXTENSION=7]=`UPC_EAN_EXTENSION`,e[e.PDF417_EXTRA_METADATA=8]=`PDF417_EXTRA_METADATA`,e[e.STRUCTURED_APPEND_SEQUENCE=9]=`STRUCTURED_APPEND_SEQUENCE`,e[e.STRUCTURED_APPEND_PARITY=10]=`STRUCTURED_APPEND_PARITY`})(V||={});var H=V;class ee{constructor(e,t,n,r,i=-1,a=-1){this.rawBytes=e,this.text=t,this.byteSegments=n,this.ecLevel=r,this.structuredAppendSequenceNumber=i,this.structuredAppendParity=a,this.numBits=e==null?0:8*e.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(e){this.numBits=e}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(e){this.errorsCorrected=e}getErasures(){return this.erasures}setErasures(e){this.erasures=e}getOther(){return this.other}setOther(e){this.other=e}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class te{exp(e){return this.expTable[e]}log(e){if(e===0)throw new l;return this.logTable[e]}static addOrSubtract(e,t){return e^t}}class ne{constructor(e,t){if(t.length===0)throw new l;this.field=e;let n=t.length;if(n>1&&t[0]===0){let e=1;for(;e<n&&t[e]===0;)e++;e===n?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(n-e),p.arraycopy(t,e,this.coefficients,0,this.coefficients.length))}else this.coefficients=t}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(e){return this.coefficients[this.coefficients.length-1-e]}evaluateAt(e){if(e===0)return this.getCoefficient(0);let t=this.coefficients,n;if(e===1){n=0;for(let e=0,r=t.length;e!==r;e++){let r=t[e];n=te.addOrSubtract(n,r)}return n}n=t[0];let r=t.length,i=this.field;for(let a=1;a<r;a++)n=te.addOrSubtract(i.multiply(e,n),t[a]);return n}addOrSubtract(e){if(!this.field.equals(e.field))throw new l(`GenericGFPolys do not have same GenericGF field`);if(this.isZero())return e;if(e.isZero())return this;let t=this.coefficients,n=e.coefficients;if(t.length>n.length){let e=t;t=n,n=e}let r=new Int32Array(n.length),i=n.length-t.length;p.arraycopy(n,0,r,0,i);for(let e=i;e<n.length;e++)r[e]=te.addOrSubtract(t[e-i],n[e]);return new ne(this.field,r)}multiply(e){if(!this.field.equals(e.field))throw new l(`GenericGFPolys do not have same GenericGF field`);if(this.isZero()||e.isZero())return this.field.getZero();let t=this.coefficients,n=t.length,r=e.coefficients,i=r.length,a=new Int32Array(n+i-1),o=this.field;for(let e=0;e<n;e++){let n=t[e];for(let t=0;t<i;t++)a[e+t]=te.addOrSubtract(a[e+t],o.multiply(n,r[t]))}return new ne(o,a)}multiplyScalar(e){if(e===0)return this.field.getZero();if(e===1)return this;let t=this.coefficients.length,n=this.field,r=new Int32Array(t),i=this.coefficients;for(let a=0;a<t;a++)r[a]=n.multiply(i[a],e);return new ne(n,r)}multiplyByMonomial(e,t){if(e<0)throw new l;if(t===0)return this.field.getZero();let n=this.coefficients,r=n.length,i=new Int32Array(r+e),a=this.field;for(let e=0;e<r;e++)i[e]=a.multiply(n[e],t);return new ne(a,i)}divide(e){if(!this.field.equals(e.field))throw new l(`GenericGFPolys do not have same GenericGF field`);if(e.isZero())throw new l(`Divide by 0`);let t=this.field,n=t.getZero(),r=this,i=e.getCoefficient(e.getDegree()),a=t.inverse(i);for(;r.getDegree()>=e.getDegree()&&!r.isZero();){let i=r.getDegree()-e.getDegree(),o=t.multiply(r.getCoefficient(r.getDegree()),a),s=e.multiplyByMonomial(i,o),c=t.buildMonomial(i,o);n=n.addOrSubtract(c),r=r.addOrSubtract(s)}return[n,r]}toString(){let e=``;for(let t=this.getDegree();t>=0;t--){let n=this.getCoefficient(t);if(n!==0){if(n<0?(e+=` - `,n=-n):e.length>0&&(e+=` + `),t===0||n!==1){let t=this.field.log(n);t===0?e+=`1`:t===1?e+=`a`:(e+=`a^`,e+=t)}t!==0&&(t===1?e+=`x`:(e+=`x^`,e+=t))}}return e}}class re extends s{}re.kind=`ArithmeticException`;class ie extends te{constructor(e,t,n){super(),this.primitive=e,this.size=t,this.generatorBase=n;let r=new Int32Array(t),i=1;for(let n=0;n<t;n++)r[n]=i,i*=2,i>=t&&(i^=e,i&=t-1);this.expTable=r;let a=new Int32Array(t);for(let e=0;e<t-1;e++)a[r[e]]=e;this.logTable=a,this.zero=new ne(this,Int32Array.from([0])),this.one=new ne(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(e,t){if(e<0)throw new l;if(t===0)return this.zero;let n=new Int32Array(e+1);return n[0]=t,new ne(this,n)}inverse(e){if(e===0)throw new re;return this.expTable[this.size-this.logTable[e]-1]}multiply(e,t){return e===0||t===0?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return`GF(0x`+_.toHexString(this.primitive)+`,`+this.size+`)`}equals(e){return e===this}}ie.AZTEC_DATA_12=new ie(4201,4096,1),ie.AZTEC_DATA_10=new ie(1033,1024,1),ie.AZTEC_DATA_6=new ie(67,64,1),ie.AZTEC_PARAM=new ie(19,16,1),ie.QR_CODE_FIELD_256=new ie(285,256,0),ie.DATA_MATRIX_FIELD_256=new ie(301,256,1),ie.AZTEC_DATA_8=ie.DATA_MATRIX_FIELD_256,ie.MAXICODE_FIELD_64=ie.AZTEC_DATA_6;class ae extends s{}ae.kind=`ReedSolomonException`;class oe extends s{}oe.kind=`IllegalStateException`;class se{constructor(e){this.field=e}decode(e,t){let n=this.field,r=new ne(n,e),i=new Int32Array(t),a=!0;for(let e=0;e<t;e++){let t=r.evaluateAt(n.exp(e+n.getGeneratorBase()));i[i.length-1-e]=t,t!==0&&(a=!1)}if(a)return;let o=new ne(n,i),s=this.runEuclideanAlgorithm(n.buildMonomial(t,1),o,t),c=s[0],l=s[1],u=this.findErrorLocations(c),d=this.findErrorMagnitudes(l,u);for(let t=0;t<u.length;t++){let r=e.length-1-n.log(u[t]);if(r<0)throw new ae(`Bad error location`);e[r]=ie.addOrSubtract(e[r],d[t])}}runEuclideanAlgorithm(e,t,n){if(e.getDegree()<t.getDegree()){let n=e;e=t,t=n}let r=this.field,i=e,a=t,o=r.getZero(),s=r.getOne();for(;a.getDegree()>=(n/2|0);){let e=i,t=o;if(i=a,o=s,i.isZero())throw new ae(`r_{i-1} was zero`);a=e;let n=r.getZero(),c=i.getCoefficient(i.getDegree()),l=r.inverse(c);for(;a.getDegree()>=i.getDegree()&&!a.isZero();){let e=a.getDegree()-i.getDegree(),t=r.multiply(a.getCoefficient(a.getDegree()),l);n=n.addOrSubtract(r.buildMonomial(e,t)),a=a.addOrSubtract(i.multiplyByMonomial(e,t))}if(s=n.multiply(o).addOrSubtract(t),a.getDegree()>=i.getDegree())throw new oe(`Division algorithm failed to reduce polynomial?`)}let c=s.getCoefficient(0);if(c===0)throw new ae(`sigmaTilde(0) was zero`);let l=r.inverse(c);return[s.multiplyScalar(l),a.multiplyScalar(l)]}findErrorLocations(e){let t=e.getDegree();if(t===1)return Int32Array.from([e.getCoefficient(1)]);let n=new Int32Array(t),r=0,i=this.field;for(let a=1;a<i.getSize()&&r<t;a++)e.evaluateAt(a)===0&&(n[r]=i.inverse(a),r++);if(r!==t)throw new ae(`Error locator degree does not match number of roots`);return n}findErrorMagnitudes(e,t){let n=t.length,r=new Int32Array(n),i=this.field;for(let a=0;a<n;a++){let o=i.inverse(t[a]),s=1;for(let e=0;e<n;e++)if(a!==e){let n=i.multiply(t[e],o),r=n&1?n&-2:n|1;s=i.multiply(s,r)}r[a]=i.multiply(e.evaluateAt(o),i.inverse(s)),i.getGeneratorBase()!==0&&(r[a]=i.multiply(r[a],o))}return r}}var U;(function(e){e[e.UPPER=0]=`UPPER`,e[e.LOWER=1]=`LOWER`,e[e.MIXED=2]=`MIXED`,e[e.DIGIT=3]=`DIGIT`,e[e.PUNCT=4]=`PUNCT`,e[e.BINARY=5]=`BINARY`})(U||={});class ce{decode(e){this.ddata=e;let t=e.getBits(),n=this.extractBits(t),r=this.correctBits(n),i=new ee(ce.convertBoolArrayToByteArray(r),ce.getEncodedData(r),null,null);return i.setNumBits(r.length),i}static highLevelDecode(e){return this.getEncodedData(e)}static getEncodedData(e){let t=e.length,n=U.UPPER,r=U.UPPER,i=``,a=0;for(;a<t;)if(r===U.BINARY){if(t-a<5)break;let o=ce.readCode(e,a,5);if(a+=5,o===0){if(t-a<11)break;o=ce.readCode(e,a,11)+31,a+=11}for(let n=0;n<o;n++){if(t-a<8){a=t;break}let n=ce.readCode(e,a,8);i+=E.castAsNonUtf8Char(n),a+=8}r=n}else{let o=r===U.DIGIT?4:5;if(t-a<o)break;let s=ce.readCode(e,a,o);a+=o;let c=ce.getCharacter(r,s);c.startsWith(`CTRL_`)?(n=r,r=ce.getTable(c.charAt(5)),c.charAt(6)===`L`&&(n=r)):(i+=c,r=n)}return i}static getTable(e){switch(e){case`L`:return U.LOWER;case`P`:return U.PUNCT;case`M`:return U.MIXED;case`D`:return U.DIGIT;case`B`:return U.BINARY;default:return U.UPPER}}static getCharacter(e,t){switch(e){case U.UPPER:return ce.UPPER_TABLE[t];case U.LOWER:return ce.LOWER_TABLE[t];case U.MIXED:return ce.MIXED_TABLE[t];case U.PUNCT:return ce.PUNCT_TABLE[t];case U.DIGIT:return ce.DIGIT_TABLE[t];default:throw new oe(`Bad table`)}}correctBits(e){let t,n;this.ddata.getNbLayers()<=2?(n=6,t=ie.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(n=8,t=ie.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(n=10,t=ie.AZTEC_DATA_10):(n=12,t=ie.AZTEC_DATA_12);let r=this.ddata.getNbDatablocks(),i=e.length/n;if(i<r)throw new x;let a=e.length%n,o=new Int32Array(i);for(let t=0;t<i;t++,a+=n)o[t]=ce.readCode(e,a,n);try{new se(t).decode(o,i-r)}catch(e){throw new x(e)}let s=(1<<n)-1,c=0;for(let e=0;e<r;e++){let t=o[e];if(t===0||t===s)throw new x;(t===1||t===s-1)&&c++}let l=Array(r*n-c),u=0;for(let e=0;e<r;e++){let t=o[e];if(t===1||t===s-1)l.fill(t>1,u,u+n-1),u+=n-1;else for(let e=n-1;e>=0;--e)l[u++]=(t&1<<e)!=0}return l}extractBits(e){let t=this.ddata.isCompact(),n=this.ddata.getNbLayers(),r=(t?11:14)+n*4,i=new Int32Array(r),a=Array(this.totalBitsInLayer(n,t));if(t)for(let e=0;e<i.length;e++)i[e]=e;else{let e=r+1+2*_.truncDivision(_.truncDivision(r,2)-1,15),t=r/2,n=_.truncDivision(e,2);for(let e=0;e<t;e++){let r=e+_.truncDivision(e,15);i[t-e-1]=n-r-1,i[t+e]=n+r+1}}for(let o=0,s=0;o<n;o++){let c=(n-o)*4+(t?9:12),l=o*2,u=r-1-l;for(let t=0;t<c;t++){let n=t*2;for(let r=0;r<2;r++)a[s+n+r]=e.get(i[l+r],i[l+t]),a[s+2*c+n+r]=e.get(i[l+t],i[u-r]),a[s+4*c+n+r]=e.get(i[u-r],i[u-t]),a[s+6*c+n+r]=e.get(i[u-t],i[l+r])}s+=c*8}return a}static readCode(e,t,n){let r=0;for(let i=t;i<t+n;i++)r<<=1,e[i]&&(r|=1);return r}static readByte(e,t){let n=e.length-t;return n>=8?ce.readCode(e,t,8):ce.readCode(e,t,n)<<8-n}static convertBoolArrayToByteArray(e){let t=new Uint8Array((e.length+7)/8);for(let n=0;n<t.length;n++)t[n]=ce.readByte(e,8*n);return t}totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}ce.UPPER_TABLE=`CTRL_PS. .A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.CTRL_LL.CTRL_ML.CTRL_DL.CTRL_BS`.split(`.`),ce.LOWER_TABLE=`CTRL_PS. .a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.CTRL_US.CTRL_ML.CTRL_DL.CTRL_BS`.split(`.`),ce.MIXED_TABLE=`CTRL_PS. .\\1.\\2.\\3.\\4.\\5.\\6.\\7.\b. .
@@ -3352,8 +3352,8 @@ Server stopped.
3352
3352
  `),e.append(`>>
3353
3353
  `),e.toString()}setMode(e){this.mode=e}setECLevel(e){this.ecLevel=e}setVersion(e){this.version=e}setMaskPattern(e){this.maskPattern=e}setMatrix(e){this.matrix=e}static isValidMaskPattern(e){return e>=0&&e<An.NUM_MASK_PATTERNS}}An.NUM_MASK_PATTERNS=8;class jn extends s{}jn.kind=`WriterException`;class Mn{constructor(){}static clearMatrix(e){e.clear(255)}static buildMatrix(e,t,n,r,i){Mn.clearMatrix(i),Mn.embedBasicPatterns(n,i),Mn.embedTypeInfo(t,r,i),Mn.maybeEmbedVersionInfo(n,i),Mn.embedDataBits(e,r,i)}static embedBasicPatterns(e,t){Mn.embedPositionDetectionPatternsAndSeparators(t),Mn.embedDarkDotAtLeftBottomCorner(t),Mn.maybeEmbedPositionAdjustmentPatterns(e,t),Mn.embedTimingPatterns(t)}static embedTypeInfo(e,t,n){let r=new v;Mn.makeTypeInfoBits(e,t,r);for(let e=0,t=r.getSize();e<t;++e){let t=r.get(r.getSize()-1-e),i=Mn.TYPE_INFO_COORDINATES[e],a=i[0],o=i[1];if(n.setBoolean(a,o,t),e<8){let r=n.getWidth()-e-1;n.setBoolean(r,8,t)}else{let r=n.getHeight()-7+(e-8);n.setBoolean(8,r,t)}}}static maybeEmbedVersionInfo(e,t){if(e.getVersionNumber()<7)return;let n=new v;Mn.makeVersionInfoBits(e,n);let r=17;for(let e=0;e<6;++e)for(let i=0;i<3;++i){let a=n.get(r);r--,t.setBoolean(e,t.getHeight()-11+i,a),t.setBoolean(t.getHeight()-11+i,e,a)}}static embedDataBits(e,t,n){let r=0,i=-1,a=n.getWidth()-1,o=n.getHeight()-1;for(;a>0;){for(a===6&&--a;o>=0&&o<n.getHeight();){for(let i=0;i<2;++i){let s=a-i;if(!Mn.isEmpty(n.get(s,o)))continue;let c;r<e.getSize()?(c=e.get(r),++r):c=!1,t!==255&&On.getDataMaskBit(t,s,o)&&(c=!c),n.setBoolean(s,o,c)}o+=i}i=-i,o+=i,a-=2}if(r!==e.getSize())throw new jn(`Not all bits consumed: `+r+`/`+e.getSize())}static findMSBSet(e){return 32-_.numberOfLeadingZeros(e)}static calculateBCHCode(e,t){if(t===0)throw new l(`0 polynomial`);let n=Mn.findMSBSet(t);for(e<<=n-1;Mn.findMSBSet(e)>=n;)e^=t<<Mn.findMSBSet(e)-n;return e}static makeTypeInfoBits(e,t,n){if(!An.isValidMaskPattern(t))throw new jn(`Invalid mask pattern`);let r=e.getBits()<<3|t;n.appendBits(r,5);let i=Mn.calculateBCHCode(r,Mn.TYPE_INFO_POLY);n.appendBits(i,10);let a=new v;if(a.appendBits(Mn.TYPE_INFO_MASK_PATTERN,15),n.xor(a),n.getSize()!==15)throw new jn(`should not happen but we got: `+n.getSize())}static makeVersionInfoBits(e,t){t.appendBits(e.getVersionNumber(),6);let n=Mn.calculateBCHCode(e.getVersionNumber(),Mn.VERSION_INFO_POLY);if(t.appendBits(n,12),t.getSize()!==18)throw new jn(`should not happen but we got: `+t.getSize())}static isEmpty(e){return e===255}static embedTimingPatterns(e){for(let t=8;t<e.getWidth()-8;++t){let n=(t+1)%2;Mn.isEmpty(e.get(t,6))&&e.setNumber(t,6,n),Mn.isEmpty(e.get(6,t))&&e.setNumber(6,t,n)}}static embedDarkDotAtLeftBottomCorner(e){if(e.get(8,e.getHeight()-8)===0)throw new jn;e.setNumber(8,e.getHeight()-8,1)}static embedHorizontalSeparationPattern(e,t,n){for(let r=0;r<8;++r){if(!Mn.isEmpty(n.get(e+r,t)))throw new jn;n.setNumber(e+r,t,0)}}static embedVerticalSeparationPattern(e,t,n){for(let r=0;r<7;++r){if(!Mn.isEmpty(n.get(e,t+r)))throw new jn;n.setNumber(e,t+r,0)}}static embedPositionAdjustmentPattern(e,t,n){for(let r=0;r<5;++r){let i=Mn.POSITION_ADJUSTMENT_PATTERN[r];for(let a=0;a<5;++a)n.setNumber(e+a,t+r,i[a])}}static embedPositionDetectionPattern(e,t,n){for(let r=0;r<7;++r){let i=Mn.POSITION_DETECTION_PATTERN[r];for(let a=0;a<7;++a)n.setNumber(e+a,t+r,i[a])}}static embedPositionDetectionPatternsAndSeparators(e){let t=Mn.POSITION_DETECTION_PATTERN[0].length;Mn.embedPositionDetectionPattern(0,0,e),Mn.embedPositionDetectionPattern(e.getWidth()-t,0,e),Mn.embedPositionDetectionPattern(0,e.getWidth()-t,e),Mn.embedHorizontalSeparationPattern(0,7,e),Mn.embedHorizontalSeparationPattern(e.getWidth()-8,7,e),Mn.embedHorizontalSeparationPattern(0,e.getWidth()-8,e),Mn.embedVerticalSeparationPattern(7,0,e),Mn.embedVerticalSeparationPattern(e.getHeight()-7-1,0,e),Mn.embedVerticalSeparationPattern(7,e.getHeight()-7,e)}static maybeEmbedPositionAdjustmentPatterns(e,t){if(e.getVersionNumber()<2)return;let n=e.getVersionNumber()-1,r=Mn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[n];for(let e=0,n=r.length;e!==n;e++){let i=r[e];if(i>=0)for(let e=0;e!==n;e++){let n=r[e];n>=0&&Mn.isEmpty(t.get(n,i))&&Mn.embedPositionAdjustmentPattern(n-2,i-2,t)}}}}Mn.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),Mn.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),Mn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),Mn.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),Mn.VERSION_INFO_POLY=7973,Mn.TYPE_INFO_POLY=1335,Mn.TYPE_INFO_MASK_PATTERN=21522;class Nn{constructor(e,t){this.dataBytes=e,this.errorCorrectionBytes=t}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class Pn{constructor(){}static calculateMaskPenalty(e){return On.applyMaskPenaltyRule1(e)+On.applyMaskPenaltyRule2(e)+On.applyMaskPenaltyRule3(e)+On.applyMaskPenaltyRule4(e)}static encode(e,t,n=null){let r=Pn.DEFAULT_BYTE_MODE_ENCODING,i=n!==null&&n.get(En.CHARACTER_SET)!==void 0;i&&(r=n.get(En.CHARACTER_SET).toString());let a=this.chooseMode(e,r),o=new v;if(a===Nt.BYTE&&(i||Pn.DEFAULT_BYTE_MODE_ENCODING!==r)){let e=C.getCharacterSetECIByName(r);e!==void 0&&this.appendECI(e,o)}this.appendModeInfo(a,o);let s=new v;this.appendBytes(e,a,s,r);let c;if(n!==null&&n.get(En.QR_VERSION)!==void 0){let e=Number.parseInt(n.get(En.QR_VERSION).toString(),10);c=Dt.getVersionForNumber(e);let r=this.calculateBitsNeeded(a,o,s,c);if(!this.willFit(r,c,t))throw new jn(`Data too big for requested version`)}else c=this.recommendVersion(t,a,o,s);let l=new v;l.appendBitArray(o);let u=a===Nt.BYTE?s.getSizeInBytes():e.length;this.appendLengthInfo(u,c,a,l),l.appendBitArray(s);let d=c.getECBlocksForLevel(t),f=c.getTotalCodewords()-d.getTotalECCodewords();this.terminateBits(f,l);let p=this.interleaveWithECBytes(l,c.getTotalCodewords(),f,d.getNumBlocks()),m=new An;m.setECLevel(t),m.setMode(a),m.setVersion(c);let h=c.getDimensionForVersion(),g=new kn(h,h),_=this.chooseMaskPattern(p,t,c,g);return m.setMaskPattern(_),Mn.buildMatrix(p,t,c,_,g),m.setMatrix(g),m}static recommendVersion(e,t,n,r){let i=this.calculateBitsNeeded(t,n,r,Dt.getVersionForNumber(1)),a=this.chooseVersion(i,e),o=this.calculateBitsNeeded(t,n,r,a);return this.chooseVersion(o,e)}static calculateBitsNeeded(e,t,n,r){return t.getSize()+e.getCharacterCountBits(r)+n.getSize()}static getAlphanumericCode(e){return e<Pn.ALPHANUMERIC_TABLE.length?Pn.ALPHANUMERIC_TABLE[e]:-1}static chooseMode(e,t=null){if(C.SJIS.getName()===t&&this.isOnlyDoubleByteKanji(e))return Nt.KANJI;let n=!1,r=!1;for(let t=0,i=e.length;t<i;++t){let i=e.charAt(t);if(Pn.isDigit(i))n=!0;else if(this.getAlphanumericCode(i.charCodeAt(0))!==-1)r=!0;else return Nt.BYTE}return r?Nt.ALPHANUMERIC:n?Nt.NUMERIC:Nt.BYTE}static isOnlyDoubleByteKanji(e){let t;try{t=T.encode(e,C.SJIS)}catch{return!1}let n=t.length;if(n%2!=0)return!1;for(let e=0;e<n;e+=2){let n=t[e]&255;if((n<129||n>159)&&(n<224||n>235))return!1}return!0}static chooseMaskPattern(e,t,n,r){let i=2**53-1,a=-1;for(let o=0;o<An.NUM_MASK_PATTERNS;o++){Mn.buildMatrix(e,t,n,o,r);let s=this.calculateMaskPenalty(r);s<i&&(i=s,a=o)}return a}static chooseVersion(e,t){for(let n=1;n<=40;n++){let r=Dt.getVersionForNumber(n);if(Pn.willFit(e,r,t))return r}throw new jn(`Data too big`)}static willFit(e,t,n){return t.getTotalCodewords()-t.getECBlocksForLevel(n).getTotalECCodewords()>=(e+7)/8}static terminateBits(e,t){let n=e*8;if(t.getSize()>n)throw new jn(`data bits cannot fit in the QR Code`+t.getSize()+` > `+n);for(let e=0;e<4&&t.getSize()<n;++e)t.appendBit(!1);let r=t.getSize()&7;if(r>0)for(let e=r;e<8;e++)t.appendBit(!1);let i=e-t.getSizeInBytes();for(let e=0;e<i;++e)t.appendBits(e&1?17:236,8);if(t.getSize()!==n)throw new jn(`Bits size does not equal capacity`)}static getNumDataBytesAndNumECBytesForBlockID(e,t,n,r,i,a){if(r>=n)throw new jn(`Block ID too large`);let o=e%n,s=n-o,c=Math.floor(e/n),l=c+1,u=Math.floor(t/n),d=u+1,f=c-u,p=l-d;if(f!==p)throw new jn(`EC bytes mismatch`);if(n!==s+o)throw new jn(`RS blocks mismatch`);if(e!==(u+f)*s+(d+p)*o)throw new jn(`Total bytes mismatch`);r<s?(i[0]=u,a[0]=f):(i[0]=d,a[0]=p)}static interleaveWithECBytes(e,t,n,r){if(e.getSizeInBytes()!==n)throw new jn(`Number of bits and data bytes does not match`);let i=0,a=0,o=0,s=[];for(let c=0;c<r;++c){let l=new Int32Array(1),u=new Int32Array(1);Pn.getNumDataBytesAndNumECBytesForBlockID(t,n,r,c,l,u);let d=l[0],f=new Uint8Array(d);e.toBytes(8*i,f,0,d);let p=Pn.generateECBytes(f,u[0]);s.push(new Nn(f,p)),a=Math.max(a,d),o=Math.max(o,p.length),i+=l[0]}if(n!==i)throw new jn(`Data bytes does not match offset`);let c=new v;for(let e=0;e<a;++e)for(let t of s){let n=t.getDataBytes();e<n.length&&c.appendBits(n[e],8)}for(let e=0;e<o;++e)for(let t of s){let n=t.getErrorCorrectionBytes();e<n.length&&c.appendBits(n[e],8)}if(t!==c.getSizeInBytes())throw new jn(`Interleaving error: `+t+` and `+c.getSizeInBytes()+` differ.`);return c}static generateECBytes(e,t){let n=e.length,r=new Int32Array(n+t);for(let t=0;t<n;t++)r[t]=e[t]&255;new Dn(ie.QR_CODE_FIELD_256).encode(r,t);let i=new Uint8Array(t);for(let e=0;e<t;e++)i[e]=r[n+e];return i}static appendModeInfo(e,t){t.appendBits(e.getBits(),4)}static appendLengthInfo(e,t,n,r){let i=n.getCharacterCountBits(t);if(e>=1<<i)throw new jn(e+` is bigger than `+((1<<i)-1));r.appendBits(e,i)}static appendBytes(e,t,n,r){switch(t){case Nt.NUMERIC:Pn.appendNumericBytes(e,n);break;case Nt.ALPHANUMERIC:Pn.appendAlphanumericBytes(e,n);break;case Nt.BYTE:Pn.append8BitBytes(e,n,r);break;case Nt.KANJI:Pn.appendKanjiBytes(e,n);break;default:throw new jn(`Invalid mode: `+t)}}static getDigit(e){return e.charCodeAt(0)-48}static isDigit(e){let t=Pn.getDigit(e);return t>=0&&t<=9}static appendNumericBytes(e,t){let n=e.length,r=0;for(;r<n;){let i=Pn.getDigit(e.charAt(r));if(r+2<n){let n=Pn.getDigit(e.charAt(r+1)),a=Pn.getDigit(e.charAt(r+2));t.appendBits(i*100+n*10+a,10),r+=3}else if(r+1<n){let n=Pn.getDigit(e.charAt(r+1));t.appendBits(i*10+n,7),r+=2}else t.appendBits(i,4),r++}}static appendAlphanumericBytes(e,t){let n=e.length,r=0;for(;r<n;){let i=Pn.getAlphanumericCode(e.charCodeAt(r));if(i===-1)throw new jn;if(r+1<n){let n=Pn.getAlphanumericCode(e.charCodeAt(r+1));if(n===-1)throw new jn;t.appendBits(i*45+n,11),r+=2}else t.appendBits(i,6),r++}}static append8BitBytes(e,t,n){let r;try{r=T.encode(e,n)}catch(e){throw new jn(e)}for(let e=0,n=r.length;e!==n;e++){let n=r[e];t.appendBits(n,8)}}static appendKanjiBytes(e,t){let n;try{n=T.encode(e,C.SJIS)}catch(e){throw new jn(e)}let r=n.length;for(let e=0;e<r;e+=2){let r=n[e]&255,i=n[e+1]&255,a=r<<8&4294967295|i,o=-1;if(a>=33088&&a<=40956?o=a-33088:a>=57408&&a<=60351&&(o=a-49472),o===-1)throw new jn(`Invalid byte sequence`);let s=(o>>8)*192+(o&255);t.appendBits(s,13)}}static appendECI(e,t){t.appendBits(Nt.ECI.getBits(),4),t.appendBits(e.getValue(),8)}}Pn.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),Pn.DEFAULT_BYTE_MODE_ENCODING=C.UTF8.getName();class Fn{write(e,t,n,r=null){if(e.length===0)throw new l(`Found empty contents`);if(t<0||n<0)throw new l(`Requested dimensions are too small: `+t+`x`+n);let i=Tt.L,a=Fn.QUIET_ZONE_SIZE;r!==null&&(r.get(En.ERROR_CORRECTION)!==void 0&&(i=Tt.fromString(r.get(En.ERROR_CORRECTION).toString())),r.get(En.MARGIN)!==void 0&&(a=Number.parseInt(r.get(En.MARGIN).toString(),10)));let o=Pn.encode(e,i,r);return this.renderResult(o,t,n,a)}writeToDom(e,t,n,r,i=null){typeof e==`string`&&(e=document.querySelector(e));let a=this.write(t,n,r,i);e&&e.appendChild(a)}renderResult(e,t,n,r){let i=e.getMatrix();if(i===null)throw new oe;let a=i.getWidth(),o=i.getHeight(),s=a+r*2,c=o+r*2,l=Math.max(t,s),u=Math.max(n,c),d=Math.min(Math.floor(l/s),Math.floor(u/c)),f=Math.floor((l-a*d)/2),p=Math.floor((u-o*d)/2),m=this.createSVGElement(l,u);for(let e=0,t=p;e<o;e++,t+=d)for(let n=0,r=f;n<a;n++,r+=d)if(i.get(n,e)===1){let e=this.createSvgRectElement(r,t,d,d);m.appendChild(e)}return m}createSVGElement(e,t){let n=document.createElementNS(Fn.SVG_NS,`svg`);return n.setAttributeNS(null,`height`,e.toString()),n.setAttributeNS(null,`width`,t.toString()),n}createSvgRectElement(e,t,n,r){let i=document.createElementNS(Fn.SVG_NS,`rect`);return i.setAttributeNS(null,`x`,e.toString()),i.setAttributeNS(null,`y`,t.toString()),i.setAttributeNS(null,`height`,n.toString()),i.setAttributeNS(null,`width`,r.toString()),i.setAttributeNS(null,`fill`,`#000000`),i}}Fn.QUIET_ZONE_SIZE=4,Fn.SVG_NS=`http://www.w3.org/2000/svg`;class In{encode(e,t,n,r,i){if(e.length===0)throw new l(`Found empty contents`);if(t!==B.QR_CODE)throw new l(`Can only encode QR_CODE, but got `+t);if(n<0||r<0)throw new l(`Requested dimensions are too small: ${n}x${r}`);let a=Tt.L,o=In.QUIET_ZONE_SIZE;i!==null&&(i.get(En.ERROR_CORRECTION)!==void 0&&(a=Tt.fromString(i.get(En.ERROR_CORRECTION).toString())),i.get(En.MARGIN)!==void 0&&(o=Number.parseInt(i.get(En.MARGIN).toString(),10)));let s=Pn.encode(e,a,i);return In.renderResult(s,n,r,o)}static renderResult(e,t,n,r){let i=e.getMatrix();if(i===null)throw new oe;let a=i.getWidth(),o=i.getHeight(),s=a+r*2,c=o+r*2,l=Math.max(t,s),u=Math.max(n,c),d=Math.min(Math.floor(l/s),Math.floor(u/c)),f=Math.floor((l-a*d)/2),p=Math.floor((u-o*d)/2),m=new O(l,u);for(let e=0,t=p;e<o;e++,t+=d)for(let n=0,r=f;n<a;n++,r+=d)i.get(n,e)===1&&m.setRegion(r,t,d,d);return m}}In.QUIET_ZONE_SIZE=4;class Ln{encode(e,t,n,r,i){let a;switch(t){case B.QR_CODE:a=new In;break;default:throw new l(`No encoder available for format `+t)}return a.encode(e,t,n,r,i)}}class Rn extends M{constructor(e,t,n,r,i,a,o,s){if(super(a,o),this.yuvData=e,this.dataWidth=t,this.dataHeight=n,this.left=r,this.top=i,r+a>t||i+o>n)throw new l(`Crop rectangle does not fit within image data.`);s&&this.reverseHorizontal(a,o)}getRow(e,t){if(e<0||e>=this.getHeight())throw new l(`Requested row is outside the image: `+e);let n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));let r=(e+this.top)*this.dataWidth+this.left;return p.arraycopy(this.yuvData,r,t,0,n),t}getMatrix(){let e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.yuvData;let n=e*t,r=new Uint8ClampedArray(n),i=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return p.arraycopy(this.yuvData,i,r,0,n),r;for(let n=0;n<t;n++){let t=n*e;p.arraycopy(this.yuvData,i,r,t,e),i+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new Rn(this.yuvData,this.dataWidth,this.dataHeight,this.left+e,this.top+t,n,r,!1)}renderThumbnail(){let e=this.getWidth()/Rn.THUMBNAIL_SCALE_FACTOR,t=this.getHeight()/Rn.THUMBNAIL_SCALE_FACTOR,n=new Int32Array(e*t),r=this.yuvData,i=this.top*this.dataWidth+this.left;for(let a=0;a<t;a++){let t=a*e;for(let a=0;a<e;a++){let e=r[i+a*Rn.THUMBNAIL_SCALE_FACTOR]&255;n[t+a]=4278190080|e*65793}i+=this.dataWidth*Rn.THUMBNAIL_SCALE_FACTOR}return n}getThumbnailWidth(){return this.getWidth()/Rn.THUMBNAIL_SCALE_FACTOR}getThumbnailHeight(){return this.getHeight()/Rn.THUMBNAIL_SCALE_FACTOR}reverseHorizontal(e,t){let n=this.yuvData;for(let r=0,i=this.top*this.dataWidth+this.left;r<t;r++,i+=this.dataWidth){let t=i+e/2;for(let r=i,a=i+e-1;r<t;r++,a--){let e=n[r];n[r]=n[a],n[a]=e}}}invert(){return new N(this)}}Rn.THUMBNAIL_SCALE_FACTOR=2;class zn extends M{constructor(e,t,n,r,i,a,o){if(super(t,n),this.dataWidth=r,this.dataHeight=i,this.left=a,this.top=o,e.BYTES_PER_ELEMENT===4){let r=t*n,i=new Uint8ClampedArray(r);for(let t=0;t<r;t++){let n=e[t],r=n>>16&255,a=n>>7&510,o=n&255;i[t]=(r+a+o)/4&255}this.luminances=i}else this.luminances=e;if(r===void 0&&(this.dataWidth=t),i===void 0&&(this.dataHeight=n),a===void 0&&(this.left=0),o===void 0&&(this.top=0),this.left+t>this.dataWidth||this.top+n>this.dataHeight)throw new l(`Crop rectangle does not fit within image data.`)}getRow(e,t){if(e<0||e>=this.getHeight())throw new l(`Requested row is outside the image: `+e);let n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));let r=(e+this.top)*this.dataWidth+this.left;return p.arraycopy(this.luminances,r,t,0,n),t}getMatrix(){let e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.luminances;let n=e*t,r=new Uint8ClampedArray(n),i=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return p.arraycopy(this.luminances,i,r,0,n),r;for(let n=0;n<t;n++){let t=n*e;p.arraycopy(this.luminances,i,r,t,e),i+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new zn(this.luminances,n,r,this.dataWidth,this.dataHeight,this.left+e,this.top+t)}invert(){return new N(this)}}class Bn extends C{static forName(e){return this.getCharacterSetECIByName(e)}}class Vn{}Vn.ISO_8859_1=C.ISO8859_1;class Hn{isCompact(){return this.compact}setCompact(e){this.compact=e}getSize(){return this.size}setSize(e){this.size=e}getLayers(){return this.layers}setLayers(e){this.layers=e}getCodeWords(){return this.codeWords}setCodeWords(e){this.codeWords=e}getMatrix(){return this.matrix}setMatrix(e){this.matrix=e}}class Un{static singletonList(e){return[e]}static min(e,t){return e.sort(t)[0]}}class Wn{constructor(e){this.previous=e}getPrevious(){return this.previous}}class Gn extends Wn{constructor(e,t,n){super(e),this.value=t,this.bitCount=n}appendTo(e,t){e.appendBits(this.value,this.bitCount)}add(e,t){return new Gn(this,e,t)}addBinaryShift(e,t){return console.warn(`addBinaryShift on SimpleToken, this simply returns a copy of this token`),new Gn(this,e,t)}toString(){let e=this.value&(1<<this.bitCount)-1;return e|=1<<this.bitCount,`<`+_.toBinaryString(e|1<<this.bitCount).substring(1)+`>`}}class Kn extends Gn{constructor(e,t,n){super(e,0,0),this.binaryShiftStart=t,this.binaryShiftByteCount=n}appendTo(e,t){for(let n=0;n<this.binaryShiftByteCount;n++)(n===0||n===31&&this.binaryShiftByteCount<=62)&&(e.appendBits(31,5),this.binaryShiftByteCount>62?e.appendBits(this.binaryShiftByteCount-31,16):n===0?e.appendBits(Math.min(this.binaryShiftByteCount,31),5):e.appendBits(this.binaryShiftByteCount-31,5)),e.appendBits(t[this.binaryShiftStart+n],8)}addBinaryShift(e,t){return new Kn(this,e,t)}toString(){return`<`+this.binaryShiftStart+`::`+(this.binaryShiftStart+this.binaryShiftByteCount-1)+`>`}}function qn(e,t,n){return new Kn(e,t,n)}function Jn(e,t,n){return new Gn(e,t,n)}let Yn=[`UPPER`,`LOWER`,`DIGIT`,`MIXED`,`PUNCT`],Xn=new Gn(null,0,0),Zn=[Int32Array.from([0,327708,327710,327709,656318]),Int32Array.from([590318,0,327710,327709,656318]),Int32Array.from([262158,590300,0,590301,932798]),Int32Array.from([327709,327708,656318,0,327710]),Int32Array.from([327711,656380,656382,656381,0])];function Qn(e){for(let t of e)g.fill(t,-1);return e[0][4]=0,e[1][4]=0,e[1][0]=28,e[3][4]=0,e[2][4]=0,e[2][0]=15,e}let $n=Qn(g.createInt32Array(6,6));class er{constructor(e,t,n,r){this.token=e,this.mode=t,this.binaryShiftByteCount=n,this.bitCount=r}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(e,t){let n=this.bitCount,r=this.token;if(e!==this.mode){let t=Zn[this.mode][e];r=Jn(r,t&65535,t>>16),n+=t>>16}let i=e===2?4:5;return r=Jn(r,t,i),new er(r,e,0,n+i)}shiftAndAppend(e,t){let n=this.token,r=this.mode===2?4:5;return n=Jn(n,$n[this.mode][e],r),n=Jn(n,t,5),new er(n,this.mode,0,this.bitCount+r+5)}addBinaryShiftChar(e){let t=this.token,n=this.mode,r=this.bitCount;if(this.mode===4||this.mode===2){let e=Zn[n][0];t=Jn(t,e&65535,e>>16),r+=e>>16,n=0}let i=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,a=new er(t,n,this.binaryShiftByteCount+1,r+i);return a.binaryShiftByteCount===2078&&(a=a.endBinaryShift(e+1)),a}endBinaryShift(e){if(this.binaryShiftByteCount===0)return this;let t=this.token;return t=qn(t,e-this.binaryShiftByteCount,this.binaryShiftByteCount),new er(t,this.mode,0,this.bitCount)}isBetterThanOrEqualTo(e){let t=this.bitCount+(Zn[this.mode][e.mode]>>16);return this.binaryShiftByteCount<e.binaryShiftByteCount?t+=er.calculateBinaryShiftCost(e)-er.calculateBinaryShiftCost(this):this.binaryShiftByteCount>e.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(t+=10),t<=e.bitCount}toBitArray(e){let t=[];for(let n=this.endBinaryShift(e.length).token;n!==null;n=n.getPrevious())t.unshift(n);let n=new v;for(let r of t)r.appendTo(n,e);return n}toString(){return E.format(`%s bits=%d bytes=%d`,Yn[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(e){return e.binaryShiftByteCount>62?21:e.binaryShiftByteCount>31?20:e.binaryShiftByteCount>0?10:0}}er.INITIAL_STATE=new er(Xn,0,0,0);function tr(e){let t=E.getCharCode(` `),n=E.getCharCode(`.`),r=E.getCharCode(`,`);e[0][t]=1;let i=E.getCharCode(`Z`),a=E.getCharCode(`A`);for(let t=a;t<=i;t++)e[0][t]=t-a+2;e[1][t]=1;let o=E.getCharCode(`z`),s=E.getCharCode(`a`);for(let t=s;t<=o;t++)e[1][t]=t-s+2;e[2][t]=1;let c=E.getCharCode(`9`),l=E.getCharCode(`0`);for(let t=l;t<=c;t++)e[2][t]=t-l+2;e[2][r]=12,e[2][n]=13;let u=`\0 \x07\b
3354
3354
  \v\f\r\x1B@\\^_\`|~`.split(``);for(let t=0;t<u.length;t++)e[3][E.getCharCode(u[t])]=t;let d=`\0\r\0\0\0\0!'#$%&'()*+,-./:;<=>?[]{}`.split(``);for(let t=0;t<d.length;t++)E.getCharCode(d[t])>0&&(e[4][E.getCharCode(d[t])]=t);return e}let nr=tr(g.createInt32Array(5,256));class rr{constructor(e){this.text=e}encode(){let e=E.getCharCode(` `),t=E.getCharCode(`
3355
- `),n=Un.singletonList(er.INITIAL_STATE);for(let r=0;r<this.text.length;r++){let i,a=r+1<this.text.length?this.text[r+1]:0;switch(this.text[r]){case E.getCharCode(`\r`):i=a===t?2:0;break;case E.getCharCode(`.`):i=a===e?3:0;break;case E.getCharCode(`,`):i=a===e?4:0;break;case E.getCharCode(`:`):i=a===e?5:0;break;default:i=0}i>0?(n=rr.updateStateListForPair(n,r,i),r++):n=this.updateStateListForChar(n,r)}return Un.min(n,(e,t)=>e.getBitCount()-t.getBitCount()).toBitArray(this.text)}updateStateListForChar(e,t){let n=[];for(let r of e)this.updateStateForChar(r,t,n);return rr.simplifyStates(n)}updateStateForChar(e,t,n){let r=this.text[t]&255,i=nr[e.getMode()][r]>0,a=null;for(let o=0;o<=4;o++){let s=nr[o][r];if(s>0){if(a??=e.endBinaryShift(t),!i||o===e.getMode()||o===2){let e=a.latchAndAppend(o,s);n.push(e)}if(!i&&$n[e.getMode()][o]>=0){let e=a.shiftAndAppend(o,s);n.push(e)}}}if(e.getBinaryShiftByteCount()>0||nr[e.getMode()][r]===0){let r=e.addBinaryShiftChar(t);n.push(r)}}static updateStateListForPair(e,t,n){let r=[];for(let i of e)this.updateStateForPair(i,t,n,r);return this.simplifyStates(r)}static updateStateForPair(e,t,n,r){let i=e.endBinaryShift(t);if(r.push(i.latchAndAppend(4,n)),e.getMode()!==4&&r.push(i.shiftAndAppend(4,n)),n===3||n===4){let e=i.latchAndAppend(2,16-n).latchAndAppend(2,1);r.push(e)}if(e.getBinaryShiftByteCount()>0){let n=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);r.push(n)}}static simplifyStates(e){let t=[];for(let n of e){let e=!0;for(let r of t){if(r.isBetterThanOrEqualTo(n)){e=!1;break}n.isBetterThanOrEqualTo(r)&&(t=t.filter(e=>e!==r))}e&&t.push(n)}return t}}class ir{constructor(){}static encodeBytes(e){return ir.encode(e,ir.DEFAULT_EC_PERCENT,ir.DEFAULT_AZTEC_LAYERS)}static encode(e,t,n){let r=new rr(e).encode(),i=_.truncDivision(r.getSize()*t,100)+11,a=r.getSize()+i,o,s,c,u,d;if(n!==ir.DEFAULT_AZTEC_LAYERS){if(o=n<0,s=Math.abs(n),s>(o?ir.MAX_NB_BITS_COMPACT:ir.MAX_NB_BITS))throw new l(E.format(`Illegal value %s for layers`,n));c=ir.totalBitsInLayer(s,o),u=ir.WORD_SIZE[s];let e=c-c%u;if(d=ir.stuffBits(r,u),d.getSize()+i>e||o&&d.getSize()>u*64)throw new l(`Data to large for user specified layer`)}else{u=0,d=null;for(let e=0;;e++){if(e>ir.MAX_NB_BITS)throw new l(`Data too large for an Aztec code`);if(o=e<=3,s=o?e+1:e,c=ir.totalBitsInLayer(s,o),a>c)continue;(d==null||u!==ir.WORD_SIZE[s])&&(u=ir.WORD_SIZE[s],d=ir.stuffBits(r,u));let t=c-c%u;if(!(o&&d.getSize()>u*64)&&d.getSize()+i<=t)break}}let f=ir.generateCheckWords(d,c,u),p=d.getSize()/u,m=ir.generateModeMessage(o,s,p),h=(o?11:14)+s*4,g=new Int32Array(h),v;if(o){v=h;for(let e=0;e<g.length;e++)g[e]=e}else{v=h+1+2*_.truncDivision(_.truncDivision(h,2)-1,15);let e=_.truncDivision(h,2),t=_.truncDivision(v,2);for(let n=0;n<e;n++){let r=n+_.truncDivision(n,15);g[e-n-1]=t-r-1,g[e+n]=t+r+1}}let y=new O(v);for(let e=0,t=0;e<s;e++){let n=(s-e)*4+(o?9:12);for(let r=0;r<n;r++){let i=r*2;for(let a=0;a<2;a++)f.get(t+i+a)&&y.set(g[e*2+a],g[e*2+r]),f.get(t+n*2+i+a)&&y.set(g[e*2+r],g[h-1-e*2-a]),f.get(t+n*4+i+a)&&y.set(g[h-1-e*2-a],g[h-1-e*2-r]),f.get(t+n*6+i+a)&&y.set(g[h-1-e*2-r],g[e*2+a])}t+=n*8}if(ir.drawModeMessage(y,o,v,m),o)ir.drawBullsEye(y,_.truncDivision(v,2),5);else{ir.drawBullsEye(y,_.truncDivision(v,2),7);for(let e=0,t=0;e<_.truncDivision(h,2)-1;e+=15,t+=16)for(let e=_.truncDivision(v,2)&1;e<v;e+=2)y.set(_.truncDivision(v,2)-t,e),y.set(_.truncDivision(v,2)+t,e),y.set(e,_.truncDivision(v,2)-t),y.set(e,_.truncDivision(v,2)+t)}let b=new Hn;return b.setCompact(o),b.setSize(v),b.setLayers(s),b.setCodeWords(p),b.setMatrix(y),b}static drawBullsEye(e,t,n){for(let r=0;r<n;r+=2)for(let n=t-r;n<=t+r;n++)e.set(n,t-r),e.set(n,t+r),e.set(t-r,n),e.set(t+r,n);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)}static generateModeMessage(e,t,n){let r=new v;return e?(r.appendBits(t-1,2),r.appendBits(n-1,6),r=ir.generateCheckWords(r,28,4)):(r.appendBits(t-1,5),r.appendBits(n-1,11),r=ir.generateCheckWords(r,40,4)),r}static drawModeMessage(e,t,n,r){let i=_.truncDivision(n,2);if(t)for(let t=0;t<7;t++){let n=i-3+t;r.get(t)&&e.set(n,i-5),r.get(t+7)&&e.set(i+5,n),r.get(20-t)&&e.set(n,i+5),r.get(27-t)&&e.set(i-5,n)}else for(let t=0;t<10;t++){let n=i-5+t+_.truncDivision(t,5);r.get(t)&&e.set(n,i-7),r.get(t+10)&&e.set(i+7,n),r.get(29-t)&&e.set(n,i+7),r.get(39-t)&&e.set(i-7,n)}}static generateCheckWords(e,t,n){let r=e.getSize()/n,i=new Dn(ir.getGF(n)),a=_.truncDivision(t,n),o=ir.bitsToWords(e,n,a);i.encode(o,a-r);let s=t%n,c=new v;c.appendBits(0,s);for(let e of Array.from(o))c.appendBits(e,n);return c}static bitsToWords(e,t,n){let r=new Int32Array(n),i,a;for(i=0,a=e.getSize()/t;i<a;i++){let n=0;for(let r=0;r<t;r++)n|=e.get(i*t+r)?1<<t-r-1:0;r[i]=n}return r}static getGF(e){switch(e){case 4:return ie.AZTEC_PARAM;case 6:return ie.AZTEC_DATA_6;case 8:return ie.AZTEC_DATA_8;case 10:return ie.AZTEC_DATA_10;case 12:return ie.AZTEC_DATA_12;default:throw new l(`Unsupported word size `+e)}}static stuffBits(e,t){let n=new v,r=e.getSize(),i=(1<<t)-2;for(let a=0;a<r;a+=t){let o=0;for(let n=0;n<t;n++)(a+n>=r||e.get(a+n))&&(o|=1<<t-1-n);(o&i)===i?(n.appendBits(o&i,t),a--):(o&i)===0?(n.appendBits(o|1,t),a--):n.appendBits(o,t)}return n}static totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}ir.DEFAULT_EC_PERCENT=33,ir.DEFAULT_AZTEC_LAYERS=0,ir.MAX_NB_BITS=32,ir.MAX_NB_BITS_COMPACT=4,ir.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class ar{encode(e,t,n,r){return this.encodeWithHints(e,t,n,r,null)}encodeWithHints(e,t,n,r,i){let a=Vn.ISO_8859_1,o=ir.DEFAULT_EC_PERCENT,s=ir.DEFAULT_AZTEC_LAYERS;return i!=null&&(i.has(En.CHARACTER_SET)&&(a=Bn.forName(i.get(En.CHARACTER_SET).toString())),i.has(En.ERROR_CORRECTION)&&(o=_.parseInt(i.get(En.ERROR_CORRECTION).toString())),i.has(En.AZTEC_LAYERS)&&(s=_.parseInt(i.get(En.AZTEC_LAYERS).toString()))),ar.encodeLayers(e,t,n,r,a,o,s)}static encodeLayers(e,t,n,r,i,a,o){if(t!==B.AZTEC)throw new l(`Can only encode AZTEC, but got `+t);let s=ir.encode(E.getBytes(e,i),a,o);return ar.renderResult(s,n,r)}static renderResult(e,t,n){let r=e.getMatrix();if(r==null)throw new oe;let i=r.getWidth(),a=r.getHeight(),o=Math.max(t,i),s=Math.max(n,a),c=Math.min(o/i,s/a),l=(o-i*c)/2,u=(s-a*c)/2,d=new O(o,s);for(let e=0,t=u;e<a;e++,t+=c)for(let n=0,a=l;n<i;n++,a+=c)r.get(n,e)&&d.setRegion(a,t,c,c);return d}}e.AbstractExpandedDecoder=Je,e.ArgumentException=c,e.ArithmeticException=re,e.AztecCode=Hn,e.AztecCodeReader=be,e.AztecCodeWriter=ar,e.AztecDecoder=ce,e.AztecDetector=ye,e.AztecDetectorResult=fe,e.AztecEncoder=ir,e.AztecHighLevelEncoder=rr,e.AztecPoint=ve,e.BarcodeFormat=B,e.Binarizer=f,e.BinaryBitmap=u,e.BitArray=v,e.BitMatrix=O,e.BitSource=_t,e.BrowserAztecCodeReader=xe,e.BrowserBarcodeReader=G,e.BrowserCodeReader=L,e.BrowserDatamatrixCodeReader=Ct,e.BrowserMultiFormatReader=Sn,e.BrowserPDF417Reader=Cn,e.BrowserQRCodeReader=wn,e.BrowserQRCodeSvgWriter=Fn,e.CharacterSetECI=C,e.ChecksumException=d,e.Code128Reader=Ce,e.Code39Reader=we,e.DataMatrixDecodedBitStreamParser=yt,e.DataMatrixReader=St,e.DecodeHintType=b,e.DecoderResult=ee,e.DefaultGridSampler=ge,e.DetectorResult=de,e.EAN13Reader=je,e.EncodeHintType=En,e.Exception=s,e.FormatException=x,e.GenericGF=ie,e.GenericGFPoly=ne,e.GlobalHistogramBinarizer=A,e.GridSampler=me,e.GridSamplerInstance=_e,e.HTMLCanvasElementLuminanceSource=P,e.HybridBinarizer=j,e.ITFReader=Te,e.IllegalArgumentException=l,e.IllegalStateException=oe,e.InvertedLuminanceSource=N,e.LuminanceSource=M,e.MathUtils=le,e.MultiFormatOneDReader=dt,e.MultiFormatReader=xn,e.MultiFormatWriter=Ln,e.NotFoundException=k,e.OneDReader=Se,e.PDF417DecodedBitStreamParser=J,e.PDF417DecoderErrorCorrection=Xt,e.PDF417Reader=yn,e.PDF417ResultMetadata=sn,e.PerspectiveTransform=he,e.PlanarYUVLuminanceSource=Rn,e.QRCodeByteMatrix=kn,e.QRCodeDataMask=kt,e.QRCodeDecodedBitStreamParser=Pt,e.QRCodeDecoderErrorCorrectionLevel=Tt,e.QRCodeDecoderFormatInformation=Et,e.QRCodeEncoder=Pn,e.QRCodeEncoderQRCode=An,e.QRCodeMaskUtil=On,e.QRCodeMatrixUtil=Mn,e.QRCodeMode=Nt,e.QRCodeReader=Ut,e.QRCodeVersion=Dt,e.QRCodeWriter=In,e.RGBLuminanceSource=zn,e.RSS14Reader=ut,e.RSSExpandedReader=ct,e.ReaderException=bn,e.ReedSolomonDecoder=se,e.ReedSolomonEncoder=Dn,e.ReedSolomonException=ae,e.Result=R,e.ResultMetadataType=H,e.ResultPoint=W,e.StringUtils=E,e.UnsupportedOperationException=w,e.VideoInputDevice=F,e.WhiteRectangleDetector=pe,e.WriterException=jn,e.ZXingArrays=g,e.ZXingCharset=Bn,e.ZXingInteger=_,e.ZXingStandardCharsets=Vn,e.ZXingStringBuilder=D,e.ZXingStringEncoding=T,e.ZXingSystem=p,e.createAbstractExpandedDecoder=at,Object.defineProperty(e,"__esModule",{value:!0})}))}))()),tN=function(){function e(e,t,n){if(this.formatMap=new Map([[LM.QR_CODE,eN.BarcodeFormat.QR_CODE],[LM.AZTEC,eN.BarcodeFormat.AZTEC],[LM.CODABAR,eN.BarcodeFormat.CODABAR],[LM.CODE_39,eN.BarcodeFormat.CODE_39],[LM.CODE_93,eN.BarcodeFormat.CODE_93],[LM.CODE_128,eN.BarcodeFormat.CODE_128],[LM.DATA_MATRIX,eN.BarcodeFormat.DATA_MATRIX],[LM.MAXICODE,eN.BarcodeFormat.MAXICODE],[LM.ITF,eN.BarcodeFormat.ITF],[LM.EAN_13,eN.BarcodeFormat.EAN_13],[LM.EAN_8,eN.BarcodeFormat.EAN_8],[LM.PDF_417,eN.BarcodeFormat.PDF_417],[LM.RSS_14,eN.BarcodeFormat.RSS_14],[LM.RSS_EXPANDED,eN.BarcodeFormat.RSS_EXPANDED],[LM.UPC_A,eN.BarcodeFormat.UPC_A],[LM.UPC_E,eN.BarcodeFormat.UPC_E],[LM.UPC_EAN_EXTENSION,eN.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!eN)throw`Use html5qrcode.min.js without edit, ZXing not found.`;this.verbose=t,this.logger=n;var r=this.createZXingFormats(e),i=new Map;i.set(eN.DecodeHintType.POSSIBLE_FORMATS,r),i.set(eN.DecodeHintType.TRY_HARDER,!1),this.hints=i}return e.prototype.decodeAsync=function(e){var t=this;return new Promise(function(n,r){try{n(t.decode(e))}catch(e){r(e)}})},e.prototype.decode=function(e){var t=new eN.MultiFormatReader(this.verbose,this.hints),n=new eN.HTMLCanvasElementLuminanceSource(e),r=new eN.BinaryBitmap(new eN.HybridBinarizer(n)),i=t.decode(r);return{text:i.text,format:UM.create(this.toHtml5QrcodeSupportedFormats(i.format)),debugData:this.createDebugData()}},e.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(t,n,r){e.set(t,n)}),e},e.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw`reverseFormatMap doesn't have ${e}`;return this.reverseFormatMap.get(e)},e.prototype.createZXingFormats=function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];this.formatMap.has(i)?t.push(this.formatMap.get(i)):this.logger.logError(`${i} is not supported byZXingHtml5QrcodeShim`)}return t},e.prototype.createDebugData=function(){return{decoderName:`zxing-js`}},e}(),nN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},rN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},iN=function(){function e(t,n,r){if(this.formatMap=new Map([[LM.QR_CODE,`qr_code`],[LM.AZTEC,`aztec`],[LM.CODABAR,`codabar`],[LM.CODE_39,`code_39`],[LM.CODE_93,`code_93`],[LM.CODE_128,`code_128`],[LM.DATA_MATRIX,`data_matrix`],[LM.ITF,`itf`],[LM.EAN_13,`ean_13`],[LM.EAN_8,`ean_8`],[LM.PDF_417,`pdf417`],[LM.UPC_A,`upc_a`],[LM.UPC_E,`upc_e`]]),this.reverseFormatMap=this.createReverseFormatMap(),!e.isSupported())throw`Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();`;this.verbose=n,this.logger=r;var i=this.createBarcodeDetectorFormats(t);if(this.detector=new BarcodeDetector(i),!this.detector)throw`BarcodeDetector detector not supported`}return e.isSupported=function(){return`BarcodeDetector`in window?new BarcodeDetector({formats:[`qr_code`]})!==void 0:!1},e.prototype.decodeAsync=function(e){return nN(this,void 0,void 0,function(){var t,n;return rN(this,function(r){switch(r.label){case 0:return[4,this.detector.detect(e)];case 1:if(t=r.sent(),!t||t.length===0)throw`No barcode or QR code detected.`;return n=this.selectLargestBarcode(t),[2,{text:n.rawValue,format:UM.create(this.toHtml5QrcodeSupportedFormats(n.format)),debugData:this.createDebugData()}]}})})},e.prototype.selectLargestBarcode=function(e){for(var t=null,n=0,r=0,i=e;r<i.length;r++){var a=i[r],o=a.boundingBox.width*a.boundingBox.height;o>n&&(n=o,t=a)}if(!t)throw`No largest barcode found`;return t},e.prototype.createBarcodeDetectorFormats=function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];this.formatMap.has(i)?t.push(this.formatMap.get(i)):this.logger.warn(`${i} is not supported byBarcodeDetectorDelegate`)}return{formats:t}},e.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw`reverseFormatMap doesn't have ${e}`;return this.reverseFormatMap.get(e)},e.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(t,n,r){e.set(t,n)}),e},e.prototype.createDebugData=function(){return{decoderName:`BarcodeDetector`}},e}(),aN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},oN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},sN=function(){function e(e,t,n,r){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=n,t&&iN.isSupported()?(this.primaryDecoder=new iN(e,n,r),this.secondaryDecoder=new tN(e,n,r)):this.primaryDecoder=new tN(e,n,r)}return e.prototype.decodeAsync=function(e){return aN(this,void 0,void 0,function(){var t;return oN(this,function(n){switch(n.label){case 0:t=performance.now(),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(e)];case 2:return[2,n.sent()];case 3:return this.possiblyLogPerformance(t),[7];case 4:return[2]}})})},e.prototype.decodeRobustlyAsync=function(e){return aN(this,void 0,void 0,function(){var t,n;return oN(this,function(r){switch(r.label){case 0:t=performance.now(),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(e)];case 2:return[2,r.sent()];case 3:if(n=r.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(e)];throw n;case 4:return this.possiblyLogPerformance(t),[7];case 5:return[2]}})})},e.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},e.prototype.possiblyLogPerformance=function(e){if(this.verbose){var t=performance.now()-e;this.executionResults.push(t),this.executions++,this.possiblyFlushPerformanceReport()}},e.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var e=0,t=0,n=this.executionResults;t<n.length;t++){var r=n[t];e+=r}var i=e/this.executionResults.length;console.log(`${i} ms for ${this.executionResults.length} last runs.`),this.executions=0,this.executionResults=[]}},e}(),cN=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),lN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},uN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},dN=function(){function e(e,t){this.name=e,this.track=t}return e.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},e.prototype.apply=function(e){var t={};t[this.name]=e;var n={advanced:[t]};return this.track.applyConstraints(n)},e.prototype.value=function(){var e=this.track.getSettings();return this.name in e?e[this.name]:null},e}(),fN=function(e){cN(t,e);function t(t){return e.call(this,`zoom`,t)||this}return t}(function(e){cN(t,e);function t(t,n){return e.call(this,t,n)||this}return t.prototype.min=function(){return this.getCapabilities().min},t.prototype.max=function(){return this.getCapabilities().max},t.prototype.step=function(){return this.getCapabilities().step},t.prototype.apply=function(e){var t={};t[this.name]=e;var n={advanced:[t]};return this.track.applyConstraints(n)},t.prototype.getCapabilities=function(){this.failIfNotSupported();var e=this.track.getCapabilities()[this.name];return{min:e.min,max:e.max,step:e.step}},t.prototype.failIfNotSupported=function(){if(!this.isSupported())throw Error(`${this.name} capability not supported`)},t}(dN)),pN=function(e){cN(t,e);function t(t){return e.call(this,`torch`,t)||this}return t}(dN),mN=function(){function e(e){this.track=e}return e.prototype.zoomFeature=function(){return new fN(this.track)},e.prototype.torchFeature=function(){return new pN(this.track)},e}(),hN=function(){function e(e,t,n){this.isClosed=!1,this.parentElement=e,this.mediaStream=t,this.callbacks=n,this.surface=this.createVideoElement(this.parentElement.clientWidth),e.append(this.surface)}return e.prototype.createVideoElement=function(e){var t=document.createElement(`video`);return t.style.width=`${e}px`,t.style.display=`block`,t.muted=!0,t.setAttribute(`muted`,`true`),t.playsInline=!0,t},e.prototype.setupSurface=function(){var e=this;this.surface.onabort=function(){throw`RenderedCameraImpl video surface onabort() called`},this.surface.onerror=function(){throw`RenderedCameraImpl video surface onerror() called`};var t=function(){var n=e.surface.clientWidth,r=e.surface.clientHeight;e.callbacks.onRenderSurfaceReady(n,r),e.surface.removeEventListener(`playing`,t)};this.surface.addEventListener(`playing`,t),this.surface.srcObject=this.mediaStream,this.surface.play()},e.create=function(t,n,r,i){return lN(this,void 0,void 0,function(){var a,o;return uN(this,function(s){switch(s.label){case 0:return a=new e(t,n,i),r.aspectRatio?(o={aspectRatio:r.aspectRatio},[4,a.getFirstTrackOrFail().applyConstraints(o)]):[3,2];case 1:s.sent(),s.label=2;case 2:return a.setupSurface(),[2,a]}})})},e.prototype.failIfClosed=function(){if(this.isClosed)throw`The RenderedCamera has already been closed.`},e.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw`No video tracks found`;return this.mediaStream.getVideoTracks()[0]},e.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},e.prototype.resume=function(e){this.failIfClosed();var t=this,n=function(){setTimeout(e,200),t.surface.removeEventListener(`playing`,n)};this.surface.addEventListener(`playing`,n),this.surface.play()},e.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},e.prototype.getSurface=function(){return this.failIfClosed(),this.surface},e.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},e.prototype.applyVideoConstraints=function(e){return lN(this,void 0,void 0,function(){return uN(this,function(t){if(`aspectRatio`in e)throw`Changing 'aspectRatio' in run-time is not yet supported.`;return[2,this.getFirstTrackOrFail().applyConstraints(e)]})})},e.prototype.close=function(){if(this.isClosed)return Promise.resolve();var e=this;return new Promise(function(t,n){var r=e.mediaStream.getVideoTracks().length,i=0;e.mediaStream.getVideoTracks().forEach(function(n){e.mediaStream.removeTrack(n),n.stop(),++i,i>=r&&(e.isClosed=!0,e.parentElement.removeChild(e.surface),t())})})},e.prototype.getCapabilities=function(){return new mN(this.getFirstTrackOrFail())},e}(),gN=function(){function e(e){this.mediaStream=e}return e.prototype.render=function(e,t,n){return lN(this,void 0,void 0,function(){return uN(this,function(r){return[2,hN.create(e,this.mediaStream,t,n)]})})},e.create=function(t){return lN(this,void 0,void 0,function(){var n,r;return uN(this,function(i){switch(i.label){case 0:if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return n={audio:!1,video:t},[4,navigator.mediaDevices.getUserMedia(n)];case 1:return r=i.sent(),[2,new e(r)]}})})},e}(),_N=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},vN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},yN=function(){function e(){}return e.failIfNotSupported=function(){return _N(this,void 0,void 0,function(){return vN(this,function(t){if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return[2,new e]})})},e.prototype.create=function(e){return _N(this,void 0,void 0,function(){return vN(this,function(t){return[2,gN.create(e)]})})},e}(),bN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},xN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},SN=function(){function e(){}return e.retrieve=function(){return navigator.mediaDevices?e.getCamerasFromMediaDevices():MediaStreamTrack&&MediaStreamTrack.getSources?e.getCamerasFromMediaStreamTrack():e.rejectWithError()},e.rejectWithError=function(){var t=XM.unableToQuerySupportedDevices();return e.isHttpsOrLocalhost()||(t=XM.insecureContextCameraQueryError()),Promise.reject(t)},e.isHttpsOrLocalhost=function(){if(location.protocol===`https:`)return!0;var e=location.host.split(`:`)[0];return e===`127.0.0.1`||e===`localhost`},e.getCamerasFromMediaDevices=function(){return bN(this,void 0,void 0,function(){var e,t,n,r,i,a,o;return xN(this,function(s){switch(s.label){case 0:return e=function(e){for(var t=e.getVideoTracks(),n=0,r=t;n<r.length;n++){var i=r[n];i.enabled=!1,i.stop(),e.removeTrack(i)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return t=s.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(n=s.sent(),r=[],i=0,a=n;i<a.length;i++)o=a[i],o.kind===`videoinput`&&r.push({id:o.deviceId,label:o.label});return e(t),[2,r]}})})},e.getCamerasFromMediaStreamTrack=function(){return new Promise(function(e,t){MediaStreamTrack.getSources(function(t){for(var n=[],r=0,i=t;r<i.length;r++){var a=i[r];a.kind===`video`&&n.push({id:a.id,label:a.label})}e(n)})})},e}(),CN;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.NOT_STARTED=1]=`NOT_STARTED`,e[e.SCANNING=2]=`SCANNING`,e[e.PAUSED=3]=`PAUSED`})(CN||={});var wN=function(){function e(){this.state=CN.NOT_STARTED,this.onGoingTransactionNewState=CN.UNKNOWN}return e.prototype.directTransition=function(e){this.failIfTransitionOngoing(),this.validateTransition(e),this.state=e},e.prototype.startTransition=function(e){return this.failIfTransitionOngoing(),this.validateTransition(e),this.onGoingTransactionNewState=e,this},e.prototype.execute=function(){if(this.onGoingTransactionNewState===CN.UNKNOWN)throw`Transaction is already cancelled, cannot execute().`;var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=CN.UNKNOWN,this.directTransition(e)},e.prototype.cancel=function(){if(this.onGoingTransactionNewState===CN.UNKNOWN)throw`Transaction is already cancelled, cannot cancel().`;this.onGoingTransactionNewState=CN.UNKNOWN},e.prototype.getState=function(){return this.state},e.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==CN.UNKNOWN)throw`Cannot transition to a new state, already under transition`},e.prototype.validateTransition=function(e){switch(this.state){case CN.UNKNOWN:throw`Transition from unknown is not allowed`;case CN.NOT_STARTED:this.failIfNewStateIs(e,[CN.PAUSED]);break;case CN.SCANNING:break;case CN.PAUSED:break}},e.prototype.failIfNewStateIs=function(e,t){for(var n=0,r=t;n<r.length;n++)if(e===r[n])throw`Cannot transition from ${this.state} to ${e}`},e}(),TN=function(){function e(e){this.stateManager=e}return e.prototype.startTransition=function(e){return this.stateManager.startTransition(e)},e.prototype.directTransition=function(e){this.stateManager.directTransition(e)},e.prototype.getState=function(){return this.stateManager.getState()},e.prototype.canScanFile=function(){return this.stateManager.getState()===CN.NOT_STARTED},e.prototype.isScanning=function(){return this.stateManager.getState()!==CN.NOT_STARTED},e.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===CN.SCANNING},e.prototype.isPaused=function(){return this.stateManager.getState()===CN.PAUSED},e}(),EN=function(){function e(){}return e.create=function(){return new TN(new wN)},e}(),DN=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),ON=function(e){DN(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.DEFAULT_WIDTH=300,t.DEFAULT_WIDTH_OFFSET=2,t.FILE_SCAN_MIN_HEIGHT=300,t.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,t.MIN_QR_BOX_SIZE=50,t.SHADED_LEFT=1,t.SHADED_RIGHT=2,t.SHADED_TOP=3,t.SHADED_BOTTOM=4,t.SHADED_REGION_ELEMENT_ID=`qr-shaded-region`,t.VERBOSE=!1,t.BORDER_SHADER_DEFAULT_COLOR=`#ffffff`,t.BORDER_SHADER_MATCH_COLOR=`rgb(90, 193, 56)`,t}(HM),kN=function(){function e(e,t){this.logger=t,this.fps=ON.SCAN_DEFAULT_FPS,e?(e.fps&&(this.fps=e.fps),this.disableFlip=e.disableFlip===!0,this.qrbox=e.qrbox,this.aspectRatio=e.aspectRatio,this.videoConstraints=e.videoConstraints):this.disableFlip=ON.DEFAULT_DISABLE_FLIP}return e.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?$M.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError(`Empty videoConstraints`,!0),!1)},e.prototype.isShadedBoxEnabled=function(){return!JM(this.qrbox)},e.create=function(t,n){return new e(t,n)},e}(),AN=function(){function e(e,t){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(e))throw`HTML Element with id=${e} not found`;this.elementId=e,this.verbose=!1;var n;typeof t==`boolean`?this.verbose=t===!0:t&&(n=t,this.verbose=n.verbose===!0,n.experimentalFeatures),this.logger=new qM(this.verbose),this.qrcode=new sN(this.getSupportedFormats(t),this.getUseBarCodeDetectorIfSupported(n),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=EN.create()}return e.prototype.start=function(e,t,n,r){var i=this;if(!e)throw`cameraIdOrConfig is required`;if(!n||typeof n!=`function`)throw`qrCodeSuccessCallback is required and should be a function.`;var a=r||(this.verbose?this.logger.log:function(){}),o=kN.create(t,this.logger);this.clearElement();var s=!1;o.videoConstraints&&(o.isMediaStreamConstraintsValid()?s=!0:this.logger.logError(`'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'`,!0));var c=s,l=document.getElementById(this.elementId);l.clientWidth?l.clientWidth:ON.DEFAULT_WIDTH,l.style.position=`relative`,this.shouldScan=!0,this.element=l;var u=this,d=this.stateManagerProxy.startTransition(CN.SCANNING);return new Promise(function(t,r){var s=c?o.videoConstraints:u.createVideoConstraints(e);if(!s){d.cancel(),r(`videoConstraints should be defined`);return}var l={};(!c||o.aspectRatio)&&(l.aspectRatio=o.aspectRatio);var f={onRenderSurfaceReady:function(e,t){u.setupUi(e,t,o),u.isScanning=!0,u.foreverScan(o,n,a)}};yN.failIfNotSupported().then(function(e){e.create(s).then(function(e){return e.render(i.element,l,f).then(function(e){u.renderedCamera=e,d.execute(),t(null)}).catch(function(e){d.cancel(),r(e)})}).catch(function(e){d.cancel(),r(XM.errorGettingUserMedia(e))})}).catch(function(e){d.cancel(),r(XM.cameraStreamingNotSupported())})})},e.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw`Cannot pause, scanner is not scanning.`;this.stateManagerProxy.directTransition(CN.PAUSED),this.showPausedState(),(JM(e)||e!==!0)&&(e=!1),e&&this.renderedCamera&&this.renderedCamera.pause()},e.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw`Cannot result, scanner is not paused.`;if(!this.renderedCamera)throw`renderedCamera doesn't exist while trying resume()`;var e=this,t=function(){e.stateManagerProxy.directTransition(CN.SCANNING),e.hidePausedState()};if(!this.renderedCamera.isPaused()){t();return}this.renderedCamera.resume(function(){t()})},e.prototype.getState=function(){return this.stateManagerProxy.getState()},e.prototype.stop=function(){var e=this;if(!this.stateManagerProxy.isScanning())throw`Cannot stop, scanner is not running or paused.`;var t=this.stateManagerProxy.startTransition(CN.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var n=function(){if(e.element){var t=document.getElementById(ON.SHADED_REGION_ELEMENT_ID);t&&e.element.removeChild(t)}},r=this;return this.renderedCamera.close().then(function(){return r.renderedCamera=null,r.element&&(r.element.removeChild(r.canvasElement),r.canvasElement=null),n(),r.qrRegion&&=null,r.context&&=null,t.execute(),r.hidePausedState(),r.isScanning=!1,Promise.resolve()})},e.prototype.scanFile=function(e,t){return this.scanFileV2(e,t).then(function(e){return e.decodedText})},e.prototype.scanFileV2=function(e,t){var n=this;if(!e||!(e instanceof File))throw`imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.`;if(JM(t)&&(t=!0),!this.stateManagerProxy.canScanFile())throw`Cannot start file scan - ongoing camera scan`;return new Promise(function(r,i){n.possiblyCloseLastScanImageFile(),n.clearElement(),n.lastScanImageFile=URL.createObjectURL(e);var a=new Image;a.onload=function(){var e=a.width,o=a.height,s=document.getElementById(n.elementId),c=s.clientWidth?s.clientWidth:ON.DEFAULT_WIDTH,l=Math.max(s.clientHeight?s.clientHeight:o,ON.FILE_SCAN_MIN_HEIGHT),u=n.computeCanvasDrawConfig(e,o,c,l);if(t){var d=n.createCanvasElement(c,l,`qr-canvas-visible`);d.style.display=`inline-block`,s.appendChild(d);var f=d.getContext(`2d`);if(!f)throw`Unable to get 2d context from canvas`;f.canvas.width=c,f.canvas.height=l,f.drawImage(a,0,0,e,o,u.x,u.y,u.width,u.height)}var p=ON.FILE_SCAN_HIDDEN_CANVAS_PADDING,m=Math.max(a.width,u.width),h=Math.max(a.height,u.height),g=m+2*p,_=h+2*p,v=n.createCanvasElement(g,_);s.appendChild(v);var y=v.getContext(`2d`);if(!y)throw`Unable to get 2d context from canvas`;y.canvas.width=g,y.canvas.height=_,y.drawImage(a,0,0,e,o,p,p,m,h);try{n.qrcode.decodeRobustlyAsync(v).then(function(e){r(WM.createFromQrcodeResult(e))}).catch(i)}catch(e){i(`QR code parse error, error = ${e}`)}},a.onerror=i,a.onabort=i,a.onstalled=i,a.onsuspend=i,a.src=URL.createObjectURL(e)})},e.prototype.clear=function(){this.clearElement()},e.getCameras=function(){return SN.retrieve()},e.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},e.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},e.prototype.applyVideoConstraints=function(e){if(!e)throw`videoConstaints is required argument.`;if(!$M.isMediaStreamConstraintsValid(e,this.logger))throw`invalid videoConstaints passed, check logs for more details`;return this.getRenderedCameraOrFail().applyVideoConstraints(e)},e.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw`Scanning is not in running state, call this API only when QR code scanning using camera is in running state.`;return this.renderedCamera},e.prototype.getSupportedFormats=function(e){var t=[LM.QR_CODE,LM.AZTEC,LM.CODABAR,LM.CODE_39,LM.CODE_93,LM.CODE_128,LM.DATA_MATRIX,LM.MAXICODE,LM.ITF,LM.EAN_13,LM.EAN_8,LM.PDF_417,LM.RSS_14,LM.RSS_EXPANDED,LM.UPC_A,LM.UPC_E,LM.UPC_EAN_EXTENSION];if(!e||typeof e==`boolean`||!e.formatsToSupport)return t;if(!Array.isArray(e.formatsToSupport))throw`configOrVerbosityFlag.formatsToSupport should be undefined or an array.`;if(e.formatsToSupport.length===0)throw`Atleast 1 formatsToSupport is needed.`;for(var n=[],r=0,i=e.formatsToSupport;r<i.length;r++){var a=i[r];BM(a)?n.push(a):this.logger.warn(`Invalid format: ${a} passed in config, ignoring.`)}if(n.length===0)throw`None of formatsToSupport match supported values.`;return n},e.prototype.getUseBarCodeDetectorIfSupported=function(e){if(JM(e))return!0;if(!JM(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if(JM(e.experimentalFeatures))return!0;var t=e.experimentalFeatures;return JM(t.useBarCodeDetectorIfSupported)?!0:t.useBarCodeDetectorIfSupported!==!1},e.prototype.validateQrboxSize=function(e,t,n){var r=this,i=n.qrbox;this.validateQrboxConfig(i);var a=this.toQrdimensions(e,t,i),o=function(e){if(e<ON.MIN_QR_BOX_SIZE)throw`minimum size of 'config.qrbox' dimension value is ${ON.MIN_QR_BOX_SIZE}px.`};o(a.width),o(a.height),a.width=function(t){return t>e&&(r.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),t=e),t}(a.width)},e.prototype.validateQrboxConfig=function(e){if(typeof e!=`number`&&typeof e!=`function`&&(e.width===void 0||e.height===void 0))throw`Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set.`},e.prototype.toQrdimensions=function(e,t,n){if(typeof n==`number`)return{width:n,height:n};if(typeof n==`function`)try{return n(e,t)}catch(e){throw Error(`qrbox config was passed as a function but it failed with unknown error`+e)}return n},e.prototype.setupUi=function(e,t,n){n.isShadedBoxEnabled()&&this.validateQrboxSize(e,t,n);var r=JM(n.qrbox)?{width:e,height:t}:n.qrbox;this.validateQrboxConfig(r);var i=this.toQrdimensions(e,t,r);i.height>t&&this.logger.warn(`[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored`);var a=n.isShadedBoxEnabled()&&i.height<=t,o=a?this.getShadedRegionBounds(e,t,i):{x:0,y:0,width:e,height:t},s=this.createCanvasElement(o.width,o.height),c=s.getContext(`2d`,{willReadFrequently:!0});c.canvas.width=o.width,c.canvas.height=o.height,this.element.append(s),a&&this.possiblyInsertShadingElement(this.element,e,t,i),this.createScannerPausedUiElement(this.element),this.qrRegion=o,this.context=c,this.canvasElement=s},e.prototype.createScannerPausedUiElement=function(e){var t=document.createElement(`div`);t.innerText=XM.scannerPaused(),t.style.display=`none`,t.style.position=`absolute`,t.style.top=`0px`,t.style.zIndex=`1`,t.style.background=`rgba(9, 9, 9, 0.46)`,t.style.color=`#FFECEC`,t.style.textAlign=`center`,t.style.width=`100%`,e.appendChild(t),this.scannerPausedUiElement=t},e.prototype.scanContext=function(e,t){var n=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(t){return e(t.text,WM.createFromQrcodeResult(t)),n.possiblyUpdateShaders(!0),!0}).catch(function(e){n.possiblyUpdateShaders(!1);var r=XM.codeParseError(e);return t(r,KM.createFrom(r)),!1})},e.prototype.foreverScan=function(e,t,n){var r=this;if(this.shouldScan&&this.renderedCamera){var i=this.renderedCamera.getSurface(),a=i.videoWidth/i.clientWidth,o=i.videoHeight/i.clientHeight;if(!this.qrRegion)throw`qrRegion undefined when localMediaStream is ready.`;var s=this.qrRegion.width*a,c=this.qrRegion.height*o,l=this.qrRegion.x*a,u=this.qrRegion.y*o;this.context.drawImage(i,l,u,s,c,0,0,this.qrRegion.width,this.qrRegion.height);var d=function(){r.foreverScanTimeout=setTimeout(function(){r.foreverScan(e,t,n)},r.getTimeoutFps(e.fps))};this.scanContext(t,n).then(function(i){!i&&e.disableFlip!==!0?(r.context.translate(r.context.canvas.width,0),r.context.scale(-1,1),r.scanContext(t,n).finally(function(){d()})):d()}).catch(function(e){r.logger.logError(`Error happend while scanning context`,e),d()})}},e.prototype.createVideoConstraints=function(e){if(typeof e==`string`)return{deviceId:{exact:e}};if(typeof e==`object`){var t=`facingMode`,n=`deviceId`,r={user:!0,environment:!0},i=`exact`,a=function(e){if(e in r)return!0;throw`config has invalid 'facingMode' value = '${e}'`},o=Object.keys(e);if(o.length!==1)throw`'cameraIdOrConfig' object should have exactly 1 key, if passed as an object, found ${o.length} keys`;var s=Object.keys(e)[0];if(s!==t&&s!==n)throw`Only '${t}' and '${n}' are supported for 'cameraIdOrConfig'`;if(s===t){var c=e.facingMode;if(typeof c==`string`){if(a(c))return{facingMode:c}}else if(typeof c==`object`)if(i in c){if(a(c[`${i}`]))return{facingMode:{exact:c[`${i}`]}}}else throw`'facingMode' should be string or object with ${i} as key.`;else throw`Invalid type of 'facingMode' = ${typeof c}`}else{var l=e.deviceId;if(typeof l==`string`)return{deviceId:l};if(typeof l==`object`){if(i in l)return{deviceId:{exact:l[`${i}`]}};throw`'deviceId' should be string or object with ${i} as key.`}else throw`Invalid type of 'deviceId' = ${typeof l}`}}throw`Invalid type of 'cameraIdOrConfig' = ${typeof e}`},e.prototype.computeCanvasDrawConfig=function(e,t,n,r){if(e<=n&&t<=r)return{x:(n-e)/2,y:(r-t)/2,width:e,height:t};var i=e,a=t;return e>n&&(t=n/e*t,e=n),t>r&&(e=r/t*e,t=r),this.logger.log(`Image downsampled from ${i}X${a} to ${e}X${t}.`),this.computeCanvasDrawConfig(e,t,n,r)},e.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw`Cannot clear while scan is ongoing, close it first.`;var e=document.getElementById(this.elementId);e&&(e.innerHTML=``)},e.prototype.possiblyUpdateShaders=function(e){this.qrMatch!==e&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(t){t.style.backgroundColor=e?ON.BORDER_SHADER_MATCH_COLOR:ON.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=e)},e.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&=(URL.revokeObjectURL(this.lastScanImageFile),null)},e.prototype.createCanvasElement=function(e,t,n){var r=e,i=t,a=document.createElement(`canvas`);return a.style.width=`${r}px`,a.style.height=`${i}px`,a.style.display=`none`,a.id=JM(n)?`qr-canvas`:n,a},e.prototype.getShadedRegionBounds=function(e,t,n){if(n.width>e||n.height>t)throw`'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.`;return{x:(e-n.width)/2,y:(t-n.height)/2,width:n.width,height:n.height}},e.prototype.possiblyInsertShadingElement=function(e,t,n,r){if(!(t-r.width<1||n-r.height<1)){var i=document.createElement(`div`);i.style.position=`absolute`;var a=(t-r.width)/2,o=(n-r.height)/2;if(i.style.borderLeft=`${a}px solid rgba(0, 0, 0, 0.48)`,i.style.borderRight=`${a}px solid rgba(0, 0, 0, 0.48)`,i.style.borderTop=`${o}px solid rgba(0, 0, 0, 0.48)`,i.style.borderBottom=`${o}px solid rgba(0, 0, 0, 0.48)`,i.style.boxSizing=`border-box`,i.style.top=`0px`,i.style.bottom=`0px`,i.style.left=`0px`,i.style.right=`0px`,i.id=`${ON.SHADED_REGION_ELEMENT_ID}`,t-r.width<11||n-r.height<11)this.hasBorderShaders=!1;else{var s=5,c=40;this.insertShaderBorders(i,c,s,-s,null,0,!0),this.insertShaderBorders(i,c,s,-s,null,0,!1),this.insertShaderBorders(i,c,s,null,-s,0,!0),this.insertShaderBorders(i,c,s,null,-s,0,!1),this.insertShaderBorders(i,s,c+s,-s,null,-s,!0),this.insertShaderBorders(i,s,c+s,null,-s,-s,!0),this.insertShaderBorders(i,s,c+s,-s,null,-s,!1),this.insertShaderBorders(i,s,c+s,null,-s,-s,!1),this.hasBorderShaders=!0}e.append(i)}},e.prototype.insertShaderBorders=function(e,t,n,r,i,a,o){var s=document.createElement(`div`);s.style.position=`absolute`,s.style.backgroundColor=ON.BORDER_SHADER_DEFAULT_COLOR,s.style.width=`${t}px`,s.style.height=`${n}px`,r!==null&&(s.style.top=`${r}px`),i!==null&&(s.style.bottom=`${i}px`),o?s.style.left=`${a}px`:s.style.right=`${a}px`,this.borderShaders||=[],this.borderShaders.push(s),e.appendChild(s)},e.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw`[internal error] scanner paused UI element not found`;this.scannerPausedUiElement.style.display=`block`},e.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw`[internal error] scanner paused UI element not found`;this.scannerPausedUiElement.style.display=`none`},e.prototype.getTimeoutFps=function(e){return 1e3/e},e}(),jN=`data:image/svg+xml;base64,`,MN=jN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNzEuNjQzIDM3MS42NDMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM3MS42NDMgMzcxLjY0MyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTEwNS4wODQgMzguMjcxaDE2My43Njh2MjBIMTA1LjA4NHoiLz48cGF0aCBkPSJNMzExLjU5NiAxOTAuMTg5Yy03LjQ0MS05LjM0Ny0xOC40MDMtMTYuMjA2LTMyLjc0My0yMC41MjJWMzBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwSDEyNS4wODRjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHYxMjAuMTQzaC04LjI5NmMtMTYuNTQyIDAtMzAgMTMuNDU4LTMwIDMwdjEuMzMzYTI5LjgwNCAyOS44MDQgMCAwIDAgNC42MDMgMTUuOTM5Yy03LjM0IDUuNDc0LTEyLjEwMyAxNC4yMjEtMTIuMTAzIDI0LjA2MXYxLjMzM2MwIDkuODQgNC43NjMgMTguNTg3IDEyLjEwMyAyNC4wNjJhMjkuODEgMjkuODEgMCAwIDAtNC42MDMgMTUuOTM4djEuMzMzYzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMGg4LjMyNGMuNDI3IDExLjYzMSA3LjUwMyAyMS41ODcgMTcuNTM0IDI2LjE3Ny45MzEgMTAuNTAzIDQuMDg0IDMwLjE4NyAxNC43NjggNDUuNTM3YTkuOTg4IDkuOTg4IDAgMCAwIDguMjE2IDQuMjg4IDkuOTU4IDkuOTU4IDAgMCAwIDUuNzA0LTEuNzkzYzQuNTMzLTMuMTU1IDUuNjUtOS4zODggMi40OTUtMTMuOTIxLTYuNzk4LTkuNzY3LTkuNjAyLTIyLjYwOC0xMC43Ni0zMS40aDgyLjY4NWMuMjcyLjQxNC41NDUuODE4LjgxNSAxLjIxIDMuMTQyIDQuNTQxIDkuMzcyIDUuNjc5IDEzLjkxMyAyLjUzNCA0LjU0Mi0zLjE0MiA1LjY3Ny05LjM3MSAyLjUzNS0xMy45MTMtMTEuOTE5LTE3LjIyOS04Ljc4Ny0zNS44ODQgOS41ODEtNTcuMDEyIDMuMDY3LTIuNjUyIDEyLjMwNy0xMS43MzIgMTEuMjE3LTI0LjAzMy0uODI4LTkuMzQzLTcuMTA5LTE3LjE5NC0xOC42NjktMjMuMzM3YTkuODU3IDkuODU3IDAgMCAwLTEuMDYxLS40ODZjLS40NjYtLjE4Mi0xMS40MDMtNC41NzktOS43NDEtMTUuNzA2IDEuMDA3LTYuNzM3IDE0Ljc2OC04LjI3MyAyMy43NjYtNy42NjYgMjMuMTU2IDEuNTY5IDM5LjY5OCA3LjgwMyA0Ny44MzYgMTguMDI2IDUuNzUyIDcuMjI1IDcuNjA3IDE2LjYyMyA1LjY3MyAyOC43MzMtLjQxMyAyLjU4NS0uODI0IDUuMjQxLTEuMjQ1IDcuOTU5LTUuNzU2IDM3LjE5NC0xMi45MTkgODMuNDgzLTQ5Ljg3IDExNC42NjEtNC4yMjEgMy41NjEtNC43NTYgOS44Ny0xLjE5NCAxNC4wOTJhOS45OCA5Ljk4IDAgMCAwIDcuNjQ4IDMuNTUxIDkuOTU1IDkuOTU1IDAgMCAwIDYuNDQ0LTIuMzU4YzQyLjY3Mi0zNi4wMDUgNTAuODAyLTg4LjUzMyA1Ni43MzctMTI2Ljg4OC40MTUtMi42ODQuODIxLTUuMzA5IDEuMjI5LTcuODYzIDIuODM0LTE3LjcyMS0uNDU1LTMyLjY0MS05Ljc3Mi00NC4zNDV6bS0yMzIuMzA4IDQyLjYyYy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM2MwLTUuNTE0IDQuNDg2LTEwIDEwLTEwaDE1djIxLjMzM2gtMTV6bS0yLjUtNTIuNjY2YzAtNS41MTQgNC40ODYtMTAgMTAtMTBoNy41djIxLjMzM2gtNy41Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM3ptMTcuNSA5My45OTloLTcuNWMtNS41MTQgMC0xMC00LjQ4Ni0xMC0xMHYtMS4zMzNjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGg3LjV2MjEuMzMzem0zMC43OTYgMjguODg3Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi04LjI3MWg5MS40NTdjLS44NTEgNi42NjgtLjQzNyAxMi43ODcuNzMxIDE4LjI3MWgtODIuMTg4em03OS40ODItMTEzLjY5OGMtMy4xMjQgMjAuOTA2IDEyLjQyNyAzMy4xODQgMjEuNjI1IDM3LjA0IDUuNDQxIDIuOTY4IDcuNTUxIDUuNjQ3IDcuNzAxIDcuMTg4LjIxIDIuMTUtMi41NTMgNS42ODQtNC40NzcgNy4yNTEtLjQ4Mi4zNzgtLjkyOS44LTEuMzM1IDEuMjYxLTYuOTg3IDcuOTM2LTExLjk4MiAxNS41Mi0xNS40MzIgMjIuNjg4aC05Ny41NjRWMzBjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGgxMjMuNzY5YzUuNTE0IDAgMTAgNC40ODYgMTAgMTB2MTM1LjU3OWMtMy4wMzItLjM4MS02LjE1LS42OTQtOS4zODktLjkxNC0yNS4xNTktMS42OTQtNDIuMzcgNy43NDgtNDQuODk4IDI0LjY2NnoiLz48cGF0aCBkPSJNMTc5LjEyOSA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXpNMTcyLjYyOSAxNDIuODZoLTEyLjU2VjEzMC44YTUgNSAwIDEgMC0xMCAwdjE3LjA2MWE1IDUgMCAwIDAgNSA1aDE3LjU2YTUgNSAwIDEgMCAwLTEwLjAwMXpNMjE2LjU2OCA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXptLTUgMjQuMDYxaC0xNC4wNlY5My4xNjdoMTQuMDZ2MTQuMDYxek0yMTEuNjY5IDEyNS45MzZIMTk3LjQxYTUgNSAwIDAgMC01IDV2MTQuMjU3YTUgNSAwIDAgMCA1IDVoMTQuMjU5YTUgNSAwIDAgMCA1LTV2LTE0LjI1N2E1IDUgMCAwIDAtNS01eiIvPjwvc3ZnPg==`,NN=jN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OS4wMTggNTkuMDE4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS4wMTggNTkuMDE4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJtNTguNzQxIDU0LjgwOS01Ljk2OS02LjI0NGExMC43NCAxMC43NCAwIDAgMCAyLjgyLTcuMjVjMC01Ljk1My00Ljg0My0xMC43OTYtMTAuNzk2LTEwLjc5NlMzNCAzNS4zNjEgMzQgNDEuMzE0IDM4Ljg0MyA1Mi4xMSA0NC43OTYgNTIuMTFjMi40NDEgMCA0LjY4OC0uODI0IDYuNDk5LTIuMTk2bDYuMDAxIDYuMjc3YS45OTguOTk4IDAgMCAwIDEuNDE0LjAzMiAxIDEgMCAwIDAgLjAzMS0xLjQxNHpNMzYgNDEuMzE0YzAtNC44NSAzLjk0Ni04Ljc5NiA4Ljc5Ni04Ljc5NnM4Ljc5NiAzLjk0NiA4Ljc5NiA4Ljc5Ni0zLjk0NiA4Ljc5Ni04Ljc5NiA4Ljc5NlMzNiA0Ni4xNjQgMzYgNDEuMzE0ek0xMC40MzEgMTYuMDg4YzAgMy4wNyAyLjQ5OCA1LjU2OCA1LjU2OSA1LjU2OHM1LjU2OS0yLjQ5OCA1LjU2OS01LjU2OGMwLTMuMDcxLTIuNDk4LTUuNTY5LTUuNTY5LTUuNTY5cy01LjU2OSAyLjQ5OC01LjU2OSA1LjU2OXptOS4xMzggMGMwIDEuOTY4LTEuNjAyIDMuNTY4LTMuNTY5IDMuNTY4cy0zLjU2OS0xLjYwMS0zLjU2OS0zLjU2OCAxLjYwMi0zLjU2OSAzLjU2OS0zLjU2OSAzLjU2OSAxLjYwMSAzLjU2OSAzLjU2OXoiLz48cGF0aCBkPSJtMzAuODgyIDI4Ljk4NyA5LjE4LTEwLjA1NCAxMS4yNjIgMTAuMzIzYTEgMSAwIDAgMCAxLjM1MS0xLjQ3NWwtMTItMTFhMSAxIDAgMCAwLTEuNDE0LjA2M2wtOS43OTQgMTAuNzI3LTQuNzQzLTQuNzQzYTEuMDAzIDEuMDAzIDAgMCAwLTEuMzY4LS4wNDRMNi4zMzkgMzcuNzY4YTEgMSAwIDEgMCAxLjMyMiAxLjUwMWwxNi4zMTMtMTQuMzYyIDcuMzE5IDcuMzE4YS45OTkuOTk5IDAgMSAwIDEuNDE0LTEuNDE0bC0xLjgyNS0xLjgyNHoiLz48cGF0aCBkPSJNMzAgNDYuNTE4SDJ2LTQyaDU0djI4YTEgMSAwIDEgMCAyIDB2LTI5YTEgMSAwIDAgMC0xLTFIMWExIDEgMCAwIDAtMSAxdjQ0YTEgMSAwIDAgMCAxIDFoMjlhMSAxIDAgMSAwIDAtMnoiLz48L3N2Zz4=`,PN=jN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NjAgNDYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NjAgNDYwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMjMwIDBDMTAyLjk3NSAwIDAgMTAyLjk3NSAwIDIzMHMxMDIuOTc1IDIzMCAyMzAgMjMwIDIzMC0xMDIuOTc0IDIzMC0yMzBTMzU3LjAyNSAwIDIzMCAwem0zOC4zMzMgMzc3LjM2YzAgOC42NzYtNy4wMzQgMTUuNzEtMTUuNzEgMTUuNzFoLTQzLjEwMWMtOC42NzYgMC0xNS43MS03LjAzNC0xNS43MS0xNS43MVYyMDIuNDc3YzAtOC42NzYgNy4wMzMtMTUuNzEgMTUuNzEtMTUuNzFoNDMuMTAxYzguNjc2IDAgMTUuNzEgNy4wMzMgMTUuNzEgMTUuNzFWMzc3LjM2ek0yMzAgMTU3Yy0yMS41MzkgMC0zOS0xNy40NjEtMzktMzlzMTcuNDYxLTM5IDM5LTM5IDM5IDE3LjQ2MSAzOSAzOS0xNy40NjEgMzktMzkgMzl6Ii8+PC9zdmc+`,FN=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAQgAAAEIBarqQRAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE1SURBVDiNfdI7S0NBEAXgLya1otFgpbYSbISAgpXYi6CmiH9KCAiChaVga6OiWPgfRDQ+0itaGVNosXtluWwcuMzePfM4M3sq8lbHBubwg1dc4m1E/J/N4ghDPOIsfk/4xiEao5KX0McFljN4C9d4QTPXuY99jP3DsIoDPGM6BY5i5yI5R7O4q+ImFkJY2DCh3cAH2klyB+9J1xUMMAG7eCh1a+Mr+k48b5diXrFVwwLuS+BJ9MfR7+G0FHOHhTHhnXNWS87VDF4pcnfQK4Ep7XScNLmPTZgURNKKYENYWDpzW1BhscS1WHS8CDgURFJQrWcoF3c13KKbgg1BYQfy8xZWEzTTw1QZbAoKu8FqJnktdu5hcVSHmchiILzzuaDQvjBzV2m8yohCE1jHfPx/xhU+y4G/D75ELlRJsSYAAAAASUVORK5CYII=`,IN=function(){function e(){}return e.createDefault=function(){return{hasPermission:!1,lastUsedCameraId:null}},e}(),LN=function(){function e(){this.data=IN.createDefault();var t=localStorage.getItem(e.LOCAL_STORAGE_KEY);t?this.data=JSON.parse(t):this.reset()}return e.prototype.hasCameraPermissions=function(){return this.data.hasPermission},e.prototype.getLastUsedCameraId=function(){return this.data.lastUsedCameraId},e.prototype.setHasPermission=function(e){this.data.hasPermission=e,this.flush()},e.prototype.setLastUsedCameraId=function(e){this.data.lastUsedCameraId=e,this.flush()},e.prototype.resetLastUsedCameraId=function(){this.data.lastUsedCameraId=null,this.flush()},e.prototype.reset=function(){this.data=IN.createDefault(),this.flush()},e.prototype.flush=function(){localStorage.setItem(e.LOCAL_STORAGE_KEY,JSON.stringify(this.data))},e.LOCAL_STORAGE_KEY=`HTML5_QRCODE_DATA`,e}(),RN=function(){function e(){this.infoDiv=document.createElement(`div`)}return e.prototype.renderInto=function(e){this.infoDiv.style.position=`absolute`,this.infoDiv.style.top=`10px`,this.infoDiv.style.right=`10px`,this.infoDiv.style.zIndex=`2`,this.infoDiv.style.display=`none`,this.infoDiv.style.padding=`5pt`,this.infoDiv.style.border=`1px solid #171717`,this.infoDiv.style.fontSize=`10pt`,this.infoDiv.style.background=`rgb(0 0 0 / 69%)`,this.infoDiv.style.borderRadius=`5px`,this.infoDiv.style.textAlign=`center`,this.infoDiv.style.fontWeight=`400`,this.infoDiv.style.color=`white`,this.infoDiv.innerText=QM.poweredBy();var t=document.createElement(`a`);t.innerText=`ScanApp`,t.href=`https://scanapp.org`,t.target=`new`,t.style.color=`white`,this.infoDiv.appendChild(t);var n=document.createElement(`br`),r=document.createElement(`br`);this.infoDiv.appendChild(n),this.infoDiv.appendChild(r);var i=document.createElement(`a`);i.innerText=QM.reportIssues(),i.href=`https://github.com/mebjas/html5-qrcode/issues`,i.target=`new`,i.style.color=`white`,this.infoDiv.appendChild(i),e.appendChild(this.infoDiv)},e.prototype.show=function(){this.infoDiv.style.display=`block`},e.prototype.hide=function(){this.infoDiv.style.display=`none`},e}(),zN=function(){function e(e,t){this.isShowingInfoIcon=!0,this.onTapIn=e,this.onTapOut=t,this.infoIcon=document.createElement(`img`)}return e.prototype.renderInto=function(e){var t=this;this.infoIcon.alt=`Info icon`,this.infoIcon.src=PN,this.infoIcon.style.position=`absolute`,this.infoIcon.style.top=`4px`,this.infoIcon.style.right=`4px`,this.infoIcon.style.opacity=`0.6`,this.infoIcon.style.cursor=`pointer`,this.infoIcon.style.zIndex=`2`,this.infoIcon.style.width=`16px`,this.infoIcon.style.height=`16px`,this.infoIcon.onmouseover=function(e){return t.onHoverIn()},this.infoIcon.onmouseout=function(e){return t.onHoverOut()},this.infoIcon.onclick=function(e){return t.onClick()},e.appendChild(this.infoIcon)},e.prototype.onHoverIn=function(){this.isShowingInfoIcon&&(this.infoIcon.style.opacity=`1`)},e.prototype.onHoverOut=function(){this.isShowingInfoIcon&&(this.infoIcon.style.opacity=`0.6`)},e.prototype.onClick=function(){this.isShowingInfoIcon?(this.isShowingInfoIcon=!1,this.onTapIn(),this.infoIcon.src=FN,this.infoIcon.style.opacity=`1`):(this.isShowingInfoIcon=!0,this.onTapOut(),this.infoIcon.src=PN,this.infoIcon.style.opacity=`0.6`)},e}(),BN=function(){function e(){var e=this;this.infoDiv=new RN,this.infoIcon=new zN(function(){e.infoDiv.show()},function(){e.infoDiv.hide()})}return e.prototype.renderInto=function(e){this.infoDiv.renderInto(e),this.infoIcon.renderInto(e)},e}(),VN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},HN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},UN=function(){function e(){}return e.hasPermissions=function(){return VN(this,void 0,void 0,function(){var e,t,n,r;return HN(this,function(i){switch(i.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:for(e=i.sent(),t=0,n=e;t<n.length;t++)if(r=n[t],r.kind===`videoinput`&&r.label)return[2,!0];return[2,!1]}})})},e}(),WN=function(){function e(e){this.supportedScanTypes=this.validateAndReturnScanTypes(e)}return e.prototype.getDefaultScanType=function(){return this.supportedScanTypes[0]},e.prototype.hasMoreThanOneScanType=function(){return this.supportedScanTypes.length>1},e.prototype.isCameraScanRequired=function(){for(var t=0,n=this.supportedScanTypes;t<n.length;t++){var r=n[t];if(e.isCameraScanType(r))return!0}return!1},e.isCameraScanType=function(e){return e===VM.SCAN_TYPE_CAMERA},e.isFileScanType=function(e){return e===VM.SCAN_TYPE_FILE},e.prototype.validateAndReturnScanTypes=function(e){if(!e||e.length===0)return HM.DEFAULT_SUPPORTED_SCAN_TYPE;var t=HM.DEFAULT_SUPPORTED_SCAN_TYPE.length;if(e.length>t)throw`Max ${t} values expected for supportedScanTypes`;for(var n=0,r=e;n<r.length;n++){var i=r[n];if(!HM.DEFAULT_SUPPORTED_SCAN_TYPE.includes(i))throw`Unsupported scan type ${i}`}return e},e}(),GN=function(){function e(){}return e.ALL_ELEMENT_CLASS=`html5-qrcode-element`,e.CAMERA_PERMISSION_BUTTON_ID=`html5-qrcode-button-camera-permission`,e.CAMERA_START_BUTTON_ID=`html5-qrcode-button-camera-start`,e.CAMERA_STOP_BUTTON_ID=`html5-qrcode-button-camera-stop`,e.TORCH_BUTTON_ID=`html5-qrcode-button-torch`,e.CAMERA_SELECTION_SELECT_ID=`html5-qrcode-select-camera`,e.FILE_SELECTION_BUTTON_ID=`html5-qrcode-button-file-selection`,e.ZOOM_SLIDER_ID=`html5-qrcode-input-range-zoom`,e.SCAN_TYPE_CHANGE_ANCHOR_ID=`html5-qrcode-anchor-scan-type-change`,e.TORCH_BUTTON_CLASS_TORCH_ON=`html5-qrcode-button-torch-on`,e.TORCH_BUTTON_CLASS_TORCH_OFF=`html5-qrcode-button-torch-off`,e}(),KN=function(){function e(){}return e.createElement=function(e,t){var n=document.createElement(e);return n.id=t,n.classList.add(GN.ALL_ELEMENT_CLASS),e===`button`&&n.setAttribute(`type`,`button`),n},e}(),qN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},JN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},YN=function(){function e(e,t,n){this.isTorchOn=!1,this.torchCapability=e,this.buttonController=t,this.onTorchActionFailureCallback=n}return e.prototype.isTorchEnabled=function(){return this.isTorchOn},e.prototype.flipState=function(){return qN(this,void 0,void 0,function(){var e,t;return JN(this,function(n){switch(n.label){case 0:this.buttonController.disable(),e=!this.isTorchOn,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.torchCapability.apply(e)];case 2:return n.sent(),this.updateUiBasedOnLatestSettings(this.torchCapability.value(),e),[3,4];case 3:return t=n.sent(),this.propagateFailure(e,t),this.buttonController.enable(),[3,4];case 4:return[2]}})})},e.prototype.updateUiBasedOnLatestSettings=function(e,t){e===t?(this.buttonController.setText(t?ZM.torchOffButton():ZM.torchOnButton()),this.isTorchOn=t):this.propagateFailure(t),this.buttonController.enable()},e.prototype.propagateFailure=function(e,t){var n=e?ZM.torchOnFailedMessage():ZM.torchOffFailedMessage();t&&(n+=`; Error = `+t),this.onTorchActionFailureCallback(n)},e.prototype.reset=function(){this.isTorchOn=!1},e}(),XN=function(){function e(e,t){this.onTorchActionFailureCallback=t,this.torchButton=KN.createElement(`button`,GN.TORCH_BUTTON_ID),this.torchController=new YN(e,this,t)}return e.prototype.render=function(e,t){var n=this;this.torchButton.innerText=ZM.torchOnButton(),this.torchButton.style.display=t.display,this.torchButton.style.marginLeft=t.marginLeft;var r=this;this.torchButton.addEventListener(`click`,function(e){return qN(n,void 0,void 0,function(){return JN(this,function(e){switch(e.label){case 0:return[4,r.torchController.flipState()];case 1:return e.sent(),r.torchController.isTorchEnabled()?(r.torchButton.classList.remove(GN.TORCH_BUTTON_CLASS_TORCH_OFF),r.torchButton.classList.add(GN.TORCH_BUTTON_CLASS_TORCH_ON)):(r.torchButton.classList.remove(GN.TORCH_BUTTON_CLASS_TORCH_ON),r.torchButton.classList.add(GN.TORCH_BUTTON_CLASS_TORCH_OFF)),[2]}})})}),e.appendChild(this.torchButton)},e.prototype.updateTorchCapability=function(e){this.torchController=new YN(e,this,this.onTorchActionFailureCallback)},e.prototype.getTorchButton=function(){return this.torchButton},e.prototype.hide=function(){this.torchButton.style.display=`none`},e.prototype.show=function(){this.torchButton.style.display=`inline-block`},e.prototype.disable=function(){this.torchButton.disabled=!0},e.prototype.enable=function(){this.torchButton.disabled=!1},e.prototype.setText=function(e){this.torchButton.innerText=e},e.prototype.reset=function(){this.torchButton.innerText=ZM.torchOnButton(),this.torchController.reset()},e.create=function(t,n,r,i){var a=new e(n,i);return a.render(t,r),a},e}(),ZN=function(){function e(e,t,n){this.fileBasedScanRegion=this.createFileBasedScanRegion(),this.fileBasedScanRegion.style.display=t?`block`:`none`,e.appendChild(this.fileBasedScanRegion);var r=document.createElement(`label`);r.setAttribute(`for`,this.getFileScanInputId()),r.style.display=`inline-block`,this.fileBasedScanRegion.appendChild(r),this.fileSelectionButton=KN.createElement(`button`,GN.FILE_SELECTION_BUTTON_ID),this.setInitialValueToButton(),this.fileSelectionButton.addEventListener(`click`,function(e){r.click()}),r.append(this.fileSelectionButton),this.fileScanInput=KN.createElement(`input`,this.getFileScanInputId()),this.fileScanInput.type=`file`,this.fileScanInput.accept=`image/*`,this.fileScanInput.style.display=`none`,r.appendChild(this.fileScanInput);var i=this;this.fileScanInput.addEventListener(`change`,function(e){if(!(e==null||e.target==null)){var t=e.target;if(!(t.files&&t.files.length===0)){var r=t.files[0],a=r.name;i.setImageNameToButton(a),n(r)}}});var a=this.createDragAndDropMessage();this.fileBasedScanRegion.appendChild(a),this.fileBasedScanRegion.addEventListener(`dragenter`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionActiveBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`dragleave`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionDefaultBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`dragover`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionActiveBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`drop`,function(e){e.stopPropagation(),e.preventDefault(),i.fileBasedScanRegion.style.border=i.fileBasedScanRegionDefaultBorder();var t=e.dataTransfer;if(t){var r=t.files;if(!r||r.length===0)return;for(var o=!1,s=0;s<r.length;++s){var c=r.item(s);if(c&&c.type.match(/image.*/)){o=!0;var l=c.name;i.setImageNameToButton(l),n(c),a.innerText=ZM.dragAndDropMessage();break}}o||(a.innerText=ZM.dragAndDropMessageOnlyImages())}})}return e.prototype.hide=function(){this.fileBasedScanRegion.style.display=`none`,this.fileScanInput.disabled=!0},e.prototype.show=function(){this.fileBasedScanRegion.style.display=`block`,this.fileScanInput.disabled=!1},e.prototype.isShowing=function(){return this.fileBasedScanRegion.style.display===`block`},e.prototype.resetValue=function(){this.fileScanInput.value=``,this.setInitialValueToButton()},e.prototype.createFileBasedScanRegion=function(){var e=document.createElement(`div`);return e.style.textAlign=`center`,e.style.margin=`auto`,e.style.width=`80%`,e.style.maxWidth=`600px`,e.style.border=this.fileBasedScanRegionDefaultBorder(),e.style.padding=`10px`,e.style.marginBottom=`10px`,e},e.prototype.fileBasedScanRegionDefaultBorder=function(){return`6px dashed #ebebeb`},e.prototype.fileBasedScanRegionActiveBorder=function(){return`6px dashed rgb(153 151 151)`},e.prototype.createDragAndDropMessage=function(){var e=document.createElement(`div`);return e.innerText=ZM.dragAndDropMessage(),e.style.fontWeight=`400`,e},e.prototype.setImageNameToButton=function(e){if(e.length>20){var t=e.substring(0,8),n=e.length;e=`${t}....${e.substring(n-8,n)}`}var r=ZM.fileSelectionChooseAnother()+` - `+e;this.fileSelectionButton.innerText=r},e.prototype.setInitialValueToButton=function(){var e=ZM.fileSelectionChooseImage()+` - `+ZM.fileSelectionNoImageSelected();this.fileSelectionButton.innerText=e},e.prototype.getFileScanInputId=function(){return`html5-qrcode-private-filescan-input`},e.create=function(t,n,r){return new e(t,n,r)},e}(),QN=function(){function e(e){this.selectElement=KN.createElement(`select`,GN.CAMERA_SELECTION_SELECT_ID),this.cameras=e,this.options=[]}return e.prototype.render=function(e){var t=document.createElement(`span`);t.style.marginRight=`10px`;var n=this.cameras.length;if(n===0)throw Error(`No cameras found`);n===1?t.style.display=`none`:t.innerText=`${ZM.selectCamera()} (${this.cameras.length}) `;for(var r=1,i=0,a=this.cameras;i<a.length;i++){var o=a[i],s=o.id,c=o.label==null?s:o.label;(!c||c===``)&&(c=[ZM.anonymousCameraPrefix(),r++].join(` `));var l=document.createElement(`option`);l.value=s,l.innerText=c,this.options.push(l),this.selectElement.appendChild(l)}t.appendChild(this.selectElement),e.appendChild(t)},e.prototype.disable=function(){this.selectElement.disabled=!0},e.prototype.isDisabled=function(){return this.selectElement.disabled===!0},e.prototype.enable=function(){this.selectElement.disabled=!1},e.prototype.getValue=function(){return this.selectElement.value},e.prototype.hasValue=function(e){for(var t=0,n=this.options;t<n.length;t++)if(n[t].value===e)return!0;return!1},e.prototype.setValue=function(e){if(!this.hasValue(e))throw Error(`${e} is not present in the camera list.`);this.selectElement.value=e},e.prototype.hasSingleItem=function(){return this.cameras.length===1},e.prototype.numCameras=function(){return this.cameras.length},e.create=function(t,n){var r=new e(n);return r.render(t),r},e}(),$N=function(){function e(){this.onChangeCallback=null,this.zoomElementContainer=document.createElement(`div`),this.rangeInput=KN.createElement(`input`,GN.ZOOM_SLIDER_ID),this.rangeInput.type=`range`,this.rangeText=document.createElement(`span`),this.rangeInput.min=`1`,this.rangeInput.max=`5`,this.rangeInput.value=`1`,this.rangeInput.step=`0.1`}return e.prototype.render=function(e,t){this.zoomElementContainer.style.display=t?`block`:`none`,this.zoomElementContainer.style.padding=`5px 10px`,this.zoomElementContainer.style.textAlign=`center`,e.appendChild(this.zoomElementContainer),this.rangeInput.style.display=`inline-block`,this.rangeInput.style.width=`50%`,this.rangeInput.style.height=`5px`,this.rangeInput.style.background=`#d3d3d3`,this.rangeInput.style.outline=`none`,this.rangeInput.style.opacity=`0.7`;var n=ZM.zoom();this.rangeText.innerText=`${this.rangeInput.value}x ${n}`,this.rangeText.style.marginRight=`10px`;var r=this;this.rangeInput.addEventListener(`input`,function(){return r.onValueChange()}),this.rangeInput.addEventListener(`change`,function(){return r.onValueChange()}),this.zoomElementContainer.appendChild(this.rangeInput),this.zoomElementContainer.appendChild(this.rangeText)},e.prototype.onValueChange=function(){var e=ZM.zoom();this.rangeText.innerText=`${this.rangeInput.value}x ${e}`,this.onChangeCallback&&this.onChangeCallback(parseFloat(this.rangeInput.value))},e.prototype.setValues=function(e,t,n,r){this.rangeInput.min=e.toString(),this.rangeInput.max=t.toString(),this.rangeInput.step=r.toString(),this.rangeInput.value=n.toString(),this.onValueChange()},e.prototype.show=function(){this.zoomElementContainer.style.display=`block`},e.prototype.hide=function(){this.zoomElementContainer.style.display=`none`},e.prototype.setOnCameraZoomValueChangeCallback=function(e){this.onChangeCallback=e},e.prototype.removeOnCameraZoomValueChangeCallback=function(){this.onChangeCallback=null},e.create=function(t,n){var r=new e;return r.render(t,n),r},e}(),eP;(function(e){e[e.STATUS_DEFAULT=0]=`STATUS_DEFAULT`,e[e.STATUS_SUCCESS=1]=`STATUS_SUCCESS`,e[e.STATUS_WARNING=2]=`STATUS_WARNING`,e[e.STATUS_REQUESTING_PERMISSION=3]=`STATUS_REQUESTING_PERMISSION`})(eP||={});function tP(e){return{fps:e.fps,qrbox:e.qrbox,aspectRatio:e.aspectRatio,disableFlip:e.disableFlip,videoConstraints:e.videoConstraints}}function nP(e,t){return{formatsToSupport:e.formatsToSupport,useBarCodeDetectorIfSupported:e.useBarCodeDetectorIfSupported,experimentalFeatures:e.experimentalFeatures,verbose:t}}(function(){function e(e,t,n){if(this.lastMatchFound=null,this.cameraScanImage=null,this.fileScanImage=null,this.fileSelectionUi=null,this.elementId=e,this.config=this.createConfig(t),this.verbose=n===!0,!document.getElementById(e))throw`HTML Element with id=${e} not found`;this.scanTypeSelector=new WN(this.config.supportedScanTypes),this.currentScanType=this.scanTypeSelector.getDefaultScanType(),this.sectionSwapAllowed=!0,this.logger=new qM(this.verbose),this.persistedDataManager=new LN,t.rememberLastUsedCamera!==!0&&this.persistedDataManager.reset()}return e.prototype.render=function(e,t){var n=this;this.lastMatchFound=null,this.qrCodeSuccessCallback=function(t,r){if(e)e(t,r);else{if(n.lastMatchFound===t)return;n.lastMatchFound=t,n.setHeaderMessage(ZM.lastMatch(t),eP.STATUS_SUCCESS)}},this.qrCodeErrorCallback=function(e,n){t&&t(e,n)};var r=document.getElementById(this.elementId);if(!r)throw`HTML Element with id=${this.elementId} not found`;r.innerHTML=``,this.createBasicLayout(r),this.html5Qrcode=new AN(this.getScanRegionId(),nP(this.config,this.verbose))},e.prototype.pause=function(e){(JM(e)||e!==!0)&&(e=!1),this.getHtml5QrcodeOrFail().pause(e)},e.prototype.resume=function(){this.getHtml5QrcodeOrFail().resume()},e.prototype.getState=function(){return this.getHtml5QrcodeOrFail().getState()},e.prototype.clear=function(){var e=this,t=function(){var t=document.getElementById(e.elementId);t&&(t.innerHTML=``,e.resetBasicLayout(t))};return this.html5Qrcode?new Promise(function(n,r){if(!e.html5Qrcode){n();return}e.html5Qrcode.isScanning?e.html5Qrcode.stop().then(function(r){if(!e.html5Qrcode){n();return}e.html5Qrcode.clear(),t(),n()}).catch(function(t){e.verbose&&e.logger.logError(`Unable to stop qrcode scanner`,t),r(t)}):(e.html5Qrcode.clear(),t(),n())}):Promise.resolve()},e.prototype.getRunningTrackCapabilities=function(){return this.getHtml5QrcodeOrFail().getRunningTrackCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getHtml5QrcodeOrFail().getRunningTrackSettings()},e.prototype.applyVideoConstraints=function(e){return this.getHtml5QrcodeOrFail().applyVideoConstraints(e)},e.prototype.getHtml5QrcodeOrFail=function(){if(!this.html5Qrcode)throw`Code scanner not initialized.`;return this.html5Qrcode},e.prototype.createConfig=function(e){return e?(e.fps||=HM.SCAN_DEFAULT_FPS,e.rememberLastUsedCamera!==!HM.DEFAULT_REMEMBER_LAST_CAMERA_USED&&(e.rememberLastUsedCamera=HM.DEFAULT_REMEMBER_LAST_CAMERA_USED),e.supportedScanTypes||=HM.DEFAULT_SUPPORTED_SCAN_TYPE,e):{fps:HM.SCAN_DEFAULT_FPS,rememberLastUsedCamera:HM.DEFAULT_REMEMBER_LAST_CAMERA_USED,supportedScanTypes:HM.DEFAULT_SUPPORTED_SCAN_TYPE}},e.prototype.createBasicLayout=function(e){e.style.position=`relative`,e.style.padding=`0px`,e.style.border=`1px solid silver`,this.createHeader(e);var t=document.createElement(`div`);t.id=this.getScanRegionId(),t.style.width=`100%`,t.style.minHeight=`100px`,t.style.textAlign=`center`,e.appendChild(t),WN.isCameraScanType(this.currentScanType)?this.insertCameraScanImageToScanRegion():this.insertFileScanImageToScanRegion();var n=document.createElement(`div`);n.id=this.getDashboardId(),n.style.width=`100%`,e.appendChild(n),this.setupInitialDashboard(n)},e.prototype.resetBasicLayout=function(e){e.style.border=`none`},e.prototype.setupInitialDashboard=function(e){this.createSection(e),this.createSectionControlPanel(),this.scanTypeSelector.hasMoreThanOneScanType()&&this.createSectionSwap()},e.prototype.createHeader=function(e){var t=document.createElement(`div`);t.style.textAlign=`left`,t.style.margin=`0px`,e.appendChild(t),new BN().renderInto(t);var n=document.createElement(`div`);n.id=this.getHeaderMessageContainerId(),n.style.display=`none`,n.style.textAlign=`center`,n.style.fontSize=`14px`,n.style.padding=`2px 10px`,n.style.margin=`4px`,n.style.borderTop=`1px solid #f6f6f6`,t.appendChild(n)},e.prototype.createSection=function(e){var t=document.createElement(`div`);t.id=this.getDashboardSectionId(),t.style.width=`100%`,t.style.padding=`10px 0px 10px 0px`,t.style.textAlign=`left`,e.appendChild(t)},e.prototype.createCameraListUi=function(e,t,n){var r=this;r.showHideScanTypeSwapLink(!1),r.setHeaderMessage(ZM.cameraPermissionRequesting());var i=function(){n||r.createPermissionButton(e,t)};AN.getCameras().then(function(n){r.persistedDataManager.setHasPermission(!0),r.showHideScanTypeSwapLink(!0),r.resetHeaderMessage(),n&&n.length>0?(e.removeChild(t),r.renderCameraSelection(n)):(r.setHeaderMessage(ZM.noCameraFound(),eP.STATUS_WARNING),i())}).catch(function(e){r.persistedDataManager.setHasPermission(!1),n?n.disabled=!1:i(),r.setHeaderMessage(e,eP.STATUS_WARNING),r.showHideScanTypeSwapLink(!0)})},e.prototype.createPermissionButton=function(e,t){var n=this,r=KN.createElement(`button`,this.getCameraPermissionButtonId());r.innerText=ZM.cameraPermissionTitle(),r.addEventListener(`click`,function(){r.disabled=!0,n.createCameraListUi(e,t,r)}),t.appendChild(r)},e.prototype.createPermissionsUi=function(e,t){var n=this;if(WN.isCameraScanType(this.currentScanType)&&this.persistedDataManager.hasCameraPermissions()){UN.hasPermissions().then(function(r){r?n.createCameraListUi(e,t):(n.persistedDataManager.setHasPermission(!1),n.createPermissionButton(e,t))}).catch(function(r){n.persistedDataManager.setHasPermission(!1),n.createPermissionButton(e,t)});return}this.createPermissionButton(e,t)},e.prototype.createSectionControlPanel=function(){var e=document.getElementById(this.getDashboardSectionId()),t=document.createElement(`div`);e.appendChild(t);var n=document.createElement(`div`);n.id=this.getDashboardSectionCameraScanRegionId(),n.style.display=WN.isCameraScanType(this.currentScanType)?`block`:`none`,t.appendChild(n);var r=document.createElement(`div`);r.style.textAlign=`center`,n.appendChild(r),this.scanTypeSelector.isCameraScanRequired()&&this.createPermissionsUi(n,r),this.renderFileScanUi(t)},e.prototype.renderFileScanUi=function(e){var t=WN.isFileScanType(this.currentScanType),n=this,r=function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;WN.isFileScanType(n.currentScanType)&&(n.setHeaderMessage(ZM.loadingImage()),n.html5Qrcode.scanFileV2(e,!0).then(function(e){n.resetHeaderMessage(),n.qrCodeSuccessCallback(e.decodedText,e)}).catch(function(e){n.setHeaderMessage(e,eP.STATUS_WARNING),n.qrCodeErrorCallback(e,KM.createFrom(e))}))};this.fileSelectionUi=ZN.create(e,t,r)},e.prototype.renderCameraSelection=function(e){var t=this,n=this,r=document.getElementById(this.getDashboardSectionCameraScanRegionId());r.style.textAlign=`center`;var i=$N.create(r,!1),a=function(e){var n=e.zoomFeature();if(n.isSupported()){i.setOnCameraZoomValueChangeCallback(function(e){n.apply(e)});var r=1;t.config.defaultZoomValueIfSupported&&(r=t.config.defaultZoomValueIfSupported),r=YM(r,n.min(),n.max()),i.setValues(n.min(),n.max(),r,n.step()),i.show()}},o=QN.create(r,e),s=document.createElement(`span`),c=KN.createElement(`button`,GN.CAMERA_START_BUTTON_ID);c.innerText=ZM.scanButtonStartScanningText(),s.appendChild(c);var l=KN.createElement(`button`,GN.CAMERA_STOP_BUTTON_ID);l.innerText=ZM.scanButtonStopScanningText(),l.style.display=`none`,l.disabled=!0,s.appendChild(l);var u,d=function(e){if(!e.torchFeature().isSupported()){u&&u.hide();return}u?u.updateTorchCapability(e.torchFeature()):u=XN.create(s,e.torchFeature(),{display:`none`,marginLeft:`5px`},function(e){n.setHeaderMessage(e,eP.STATUS_WARNING)}),u.show()};r.appendChild(s);var f=function(e){e||(c.style.display=`none`),c.innerText=ZM.scanButtonStartScanningText(),c.style.opacity=`1`,c.disabled=!1,e&&(c.style.display=`inline-block`)};if(c.addEventListener(`click`,function(e){c.innerText=ZM.scanButtonScanningStarting(),o.disable(),c.disabled=!0,c.style.opacity=`0.5`,t.scanTypeSelector.hasMoreThanOneScanType()&&n.showHideScanTypeSwapLink(!1),n.resetHeaderMessage();var r=o.getValue();n.persistedDataManager.setLastUsedCameraId(r),n.html5Qrcode.start(r,tP(n.config),n.qrCodeSuccessCallback,n.qrCodeErrorCallback).then(function(e){l.disabled=!1,l.style.display=`inline-block`,f(!1);var r=n.html5Qrcode.getRunningTrackCameraCapabilities();t.config.showTorchButtonIfSupported===!0&&d(r),t.config.showZoomSliderIfSupported===!0&&a(r)}).catch(function(e){n.showHideScanTypeSwapLink(!0),o.enable(),f(!0),n.setHeaderMessage(e,eP.STATUS_WARNING)})}),o.hasSingleItem()&&c.click(),l.addEventListener(`click`,function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;l.disabled=!0,n.html5Qrcode.stop().then(function(e){t.scanTypeSelector.hasMoreThanOneScanType()&&n.showHideScanTypeSwapLink(!0),o.enable(),c.disabled=!1,l.style.display=`none`,c.style.display=`inline-block`,u&&(u.reset(),u.hide()),i.removeOnCameraZoomValueChangeCallback(),i.hide(),n.insertCameraScanImageToScanRegion()}).catch(function(e){l.disabled=!1,n.setHeaderMessage(e,eP.STATUS_WARNING)})}),n.persistedDataManager.getLastUsedCameraId()){var p=n.persistedDataManager.getLastUsedCameraId();o.hasValue(p)?(o.setValue(p),c.click()):n.persistedDataManager.resetLastUsedCameraId()}},e.prototype.createSectionSwap=function(){var e=this,t=ZM.textIfCameraScanSelected(),n=ZM.textIfFileScanSelected(),r=document.getElementById(this.getDashboardSectionId()),i=document.createElement(`div`);i.style.textAlign=`center`;var a=KN.createElement(`span`,this.getDashboardSectionSwapLinkId());a.style.textDecoration=`underline`,a.style.cursor=`pointer`,a.innerText=WN.isCameraScanType(this.currentScanType)?t:n,a.addEventListener(`click`,function(){if(!e.sectionSwapAllowed){e.verbose&&e.logger.logError(`Section swap called when not allowed`);return}e.resetHeaderMessage(),e.fileSelectionUi.resetValue(),e.sectionSwapAllowed=!1,WN.isCameraScanType(e.currentScanType)?(e.clearScanRegion(),e.getCameraScanRegion().style.display=`none`,e.fileSelectionUi.show(),a.innerText=n,e.currentScanType=VM.SCAN_TYPE_FILE,e.insertFileScanImageToScanRegion()):(e.clearScanRegion(),e.getCameraScanRegion().style.display=`block`,e.fileSelectionUi.hide(),a.innerText=t,e.currentScanType=VM.SCAN_TYPE_CAMERA,e.insertCameraScanImageToScanRegion(),e.startCameraScanIfPermissionExistsOnSwap()),e.sectionSwapAllowed=!0}),i.appendChild(a),r.appendChild(i)},e.prototype.startCameraScanIfPermissionExistsOnSwap=function(){var e=this,t=this;if(this.persistedDataManager.hasCameraPermissions()){UN.hasPermissions().then(function(n){if(n){var r=document.getElementById(t.getCameraPermissionButtonId());if(!r)throw e.logger.logError(`Permission button not found, fail;`),`Permission button not found`;r.click()}else t.persistedDataManager.setHasPermission(!1)}).catch(function(e){t.persistedDataManager.setHasPermission(!1)});return}},e.prototype.resetHeaderMessage=function(){var e=document.getElementById(this.getHeaderMessageContainerId());e.style.display=`none`},e.prototype.setHeaderMessage=function(e,t){t||=eP.STATUS_DEFAULT;var n=this.getHeaderMessageDiv();switch(n.innerText=e,n.style.display=`block`,t){case eP.STATUS_SUCCESS:n.style.background=`rgba(106, 175, 80, 0.26)`,n.style.color=`#477735`;break;case eP.STATUS_WARNING:n.style.background=`rgba(203, 36, 49, 0.14)`,n.style.color=`#cb2431`;break;case eP.STATUS_DEFAULT:default:n.style.background=`rgba(0, 0, 0, 0)`,n.style.color=`rgb(17, 17, 17)`;break}},e.prototype.showHideScanTypeSwapLink=function(e){this.scanTypeSelector.hasMoreThanOneScanType()&&(e!==!0&&(e=!1),this.sectionSwapAllowed=e,this.getDashboardSectionSwapLink().style.display=e?`inline-block`:`none`)},e.prototype.insertCameraScanImageToScanRegion=function(){var e=this,t=document.getElementById(this.getScanRegionId());if(this.cameraScanImage){t.innerHTML=`<br>`,t.appendChild(this.cameraScanImage);return}this.cameraScanImage=new Image,this.cameraScanImage.onload=function(n){t.innerHTML=`<br>`,t.appendChild(e.cameraScanImage)},this.cameraScanImage.width=64,this.cameraScanImage.style.opacity=`0.8`,this.cameraScanImage.src=MN,this.cameraScanImage.alt=ZM.cameraScanAltText()},e.prototype.insertFileScanImageToScanRegion=function(){var e=this,t=document.getElementById(this.getScanRegionId());if(this.fileScanImage){t.innerHTML=`<br>`,t.appendChild(this.fileScanImage);return}this.fileScanImage=new Image,this.fileScanImage.onload=function(n){t.innerHTML=`<br>`,t.appendChild(e.fileScanImage)},this.fileScanImage.width=64,this.fileScanImage.style.opacity=`0.8`,this.fileScanImage.src=NN,this.fileScanImage.alt=ZM.fileScanAltText()},e.prototype.clearScanRegion=function(){var e=document.getElementById(this.getScanRegionId());e.innerHTML=``},e.prototype.getDashboardSectionId=function(){return`${this.elementId}__dashboard_section`},e.prototype.getDashboardSectionCameraScanRegionId=function(){return`${this.elementId}__dashboard_section_csr`},e.prototype.getDashboardSectionSwapLinkId=function(){return GN.SCAN_TYPE_CHANGE_ANCHOR_ID},e.prototype.getScanRegionId=function(){return`${this.elementId}__scan_region`},e.prototype.getDashboardId=function(){return`${this.elementId}__dashboard`},e.prototype.getHeaderMessageContainerId=function(){return`${this.elementId}__header_message`},e.prototype.getCameraPermissionButtonId=function(){return GN.CAMERA_PERMISSION_BUTTON_ID},e.prototype.getCameraScanRegion=function(){return document.getElementById(this.getDashboardSectionCameraScanRegionId())},e.prototype.getDashboardSectionSwapLink=function(){return document.getElementById(this.getDashboardSectionSwapLinkId())},e.prototype.getHeaderMessageDiv=function(){return document.getElementById(this.getHeaderMessageContainerId())},e})();var rP;(function(e){e[e.BACK=1]=`BACK`,e[e.FRONT=2]=`FRONT`})(rP||={});var iP;(function(e){e[e.PORTRAIT=1]=`PORTRAIT`,e[e.LANDSCAPE=2]=`LANDSCAPE`,e[e.ADAPTIVE=3]=`ADAPTIVE`})(iP||={});var aP;(function(e){e[e.ALL=17]=`ALL`})(aP||={});var oP=Object.assign(Object.assign({},LM),aP),sP;(function(e){e.ZXING=`zxing`,e.MLKIT=`mlkit`})(sP||={});var cP=[{selector:`.scanner-container-display`,css:`display: block;`},{selector:`.scanner-dialog`,css:`display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);`},{selector:`.scanner-dialog-inner`,css:`background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;`},{selector:`.close-button`,css:`color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;`},{selector:`.close-button:hover`,css:`color: #222;`},{selector:`.scanner-container-full-width`,css:`width: 100%;`}];function lP(e){let t=`custom-style-os-cap-barcode`,n=document.getElementById(t);if(n||(n=document.createElement(`style`),n.type=`text/css`,n.id=t,document.head.appendChild(n)),n.sheet){for(;n.sheet.cssRules.length;)n.sheet.deleteRule(0);for(let{selector:t,css:r}of e)n.sheet.insertRule(`${t} { ${r} }`)}else{n.textContent=``;for(let{selector:t,css:r}of e)n.textContent+=`${t} { ${r} }`}}var uP=Ag(`CapacitorBarcodeScanner`,{web:()=>(lP(cP),us(()=>import(`./web-BuYdGVW8.js`).then(e=>new e.CapacitorBarcodeScannerWeb),[]))}),dP=class{static async scanBarcode(e){return e.scanInstructions=e.scanInstructions||` `,e.scanButton=e.scanButton||!1,e.scanText=e.scanText||` `,e.cameraDirection=e.cameraDirection||rP.BACK,e.scanOrientation=e.scanOrientation||iP.ADAPTIVE,uP.scanBarcode(e)}};function fP(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes(`permission`)||t.includes(`denied`)||t.includes(`not allowed`)||t.includes(`unauthorized`)}return!1}function pP(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes(`cancel`)||t.includes(`user cancelled`)||t.includes(`scan cancelled`)}return!1}function mP(){let[e,t]=(0,Z.useState)(!1);return{scan:(0,Z.useCallback)(async()=>{if(!Za())return{value:null,error:null};t(!0);try{let e=await dP.scanBarcode({hint:oP.QR_CODE,scanInstructions:`Point the camera at a Tarsk QR code`});return e?.ScanResult?{value:e.ScanResult,error:null}:{value:null,error:null}}catch(e){return pP(e)?{value:null,error:null}:fP(e)?{value:null,error:`Camera permission was denied. Please grant camera access in your device settings to scan QR codes.`}:{value:null,error:`Unable to scan QR code. Please make sure your device has a camera and try again.`}}finally{t(!1)}},[]),isScanning:e,isAvailable:Za()}}function hP(){let[e,t]=(0,Z.useState)(!0),[n,r]=(0,Z.useState)(Vr),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),u=mP();(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let n=await fetch(`${Fa()}/health`,{method:`GET`});e&&t(n.ok)}catch{e&&t(!1)}})(),()=>{e=!1}},[]);let d=(0,Z.useCallback)(async()=>{let e=qo(n);if(e){a(null),l(!0);try{if(!await Or(e)){a(e);return}Pi(n)}finally{l(!1)}}},[n]),f=(0,Z.useCallback)(async()=>{s(null);let e=await u.scan();if(e.error){s(e.error);return}if(e.value){r(e.value),a(null);let t=qo(e.value);if(!t){s(`The scanned QR code did not contain a valid server address.`);return}l(!0);try{if(!await Or(t)){a(t);return}Pi(e.value)}finally{l(!1)}}},[u]);return e?null:(0,$.jsx)(pc,{open:!0,children:(0,$.jsxs)(cc,{children:[(0,$.jsxs)(fc,{children:[(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`mx-auto h-16 w-16 rounded-lg`}),(0,$.jsx)(sc,{children:`Connect to Tarsk`}),(0,$.jsx)(oc,{children:`Connect to the Tarsk server running on your local network by entering the IP Address or domain name below.`})]}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Qo,{value:n,onChange:e=>{r(e.target.value),a(null),s(null)},onKeyDown:e=>{e.key===`Enter`&&!c&&d()},placeholder:`192.168.1.100`,autoComplete:`off`,spellCheck:!1,disabled:c,className:u.isAvailable?`pr-10`:void 0}),u.isAvailable&&(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-1 top-1 h-8 w-8`,"aria-label":`Scan QR code`,disabled:c||u.isScanning,onClick:()=>void f(),children:u.isScanning?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(jt,{className:`h-4 w-4`})})]}),o&&(0,$.jsxs)(mo,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsx)(`p`,{className:`flex-1`,children:o}),(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>s(null),children:(0,$.jsx)(nt,{className:`h-4 w-4`})})]}),i&&(0,$.jsxs)(mo,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsxs)(`p`,{className:`flex-1`,children:[`Unable to connect to `,i,`. Please check that you are on the same network and that the Tarsk server is running and accessible on the network.`]}),(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>a(null),children:(0,$.jsx)(nt,{className:`h-4 w-4`})})]}),(0,$.jsx)(uc,{children:(0,$.jsx)(Hr,{onClick:()=>void d(),disabled:!n.trim()||c,children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Connecting...`]}):`Connect`})}),(0,$.jsxs)(mo,{variant:`hint`,className:`mb-0`,children:[(0,$.jsx)(`p`,{className:U.bodyMuted,children:`Start the Tarsk server on your local machine by running:`}),(0,$.jsx)(`code`,{className:G(U.mono,`mt-2 block rounded bg-background/60 px-2 py-1 text-foreground`),children:`npx tarsk --server`})]})]})})}var gP=(0,Z.lazy)(()=>us(()=>import(`./create-project-dialog-DrXo61FQ.js`),__vite__mapDeps([35,1,33,4,5]))),_P=(0,Z.lazy)(()=>us(()=>import(`./onboarding-KBcwP-kU.js`).then(e=>e.t),__vite__mapDeps([4,1,5])));function vP(e){let t=(0,Q.c)(42),{showCreateProject:n,createProjectInitialMode:r,onCreateProjectOpenChange:i,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s,deleteProject:c,deleteProjectBlocked:l,deleteProjectBlockReason:u,deleteProjectDeletesFolder:d,onDeleteProjectOpenChange:f,onConfirmDeleteProject:p,deleteProjectProgress:m,onDeleteProjectRetry:h,onDeleteProjectProgressClose:g,pendingSetupScriptConfirmation:_,onResolveSetupScriptConfirmation:v,pendingZipOverride:y,onResolveZipOverride:b,showOnboarding:x,onOnboardingOpenChange:S,onOnboardingComplete:C}=e,w=r??void 0,T;t[0]!==i||t[1]!==a||t[2]!==s||t[3]!==o||t[4]!==n||t[5]!==w?(T=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(gP,{open:n,onOpenChange:i,initialMode:w,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s})}),t[0]=i,t[1]=a,t[2]=s,t[3]=o,t[4]=n,t[5]=w,t[6]=T):T=t[6];let E=c!==null,D=c?.name,O;t[7]!==u||t[8]!==l||t[9]!==d||t[10]!==p||t[11]!==f||t[12]!==E||t[13]!==D?(O=(0,$.jsx)(NM,{open:E,projectName:D,onOpenChange:f,onConfirm:p,blocked:l,blockReason:u,deletesFolder:d}),t[7]=u,t[8]=l,t[9]=d,t[10]=p,t[11]=f,t[12]=E,t[13]=D,t[14]=O):O=t[14];let k;t[15]!==m||t[16]!==g||t[17]!==h?(k=(0,$.jsx)(HC,{progress:m,onRetry:h,onClose:g}),t[15]=m,t[16]=g,t[17]=h,t[18]=k):k=t[18];let A=_!==null,j;t[19]===_?j=t[20]:(j=_?[_.command,..._.remainingScripts||[]]:[],t[19]=_,t[20]=j);let M;t[21]!==v||t[22]!==A||t[23]!==j?(M=(0,$.jsx)(PM,{open:A,setupScripts:j,onConfirm:v}),t[21]=v,t[22]=A,t[23]=j,t[24]=M):M=t[24];let N=y!==null,P=y?.existingProjectName,F=y?.zipFilename,I;t[25]!==b||t[26]!==N||t[27]!==P||t[28]!==F?(I=(0,$.jsx)(IM,{open:N,existingProjectName:P,zipFilename:F,onConfirm:b}),t[25]=b,t[26]=N,t[27]=P,t[28]=F,t[29]=I):I=t[29];let L;t[30]!==C||t[31]!==S||t[32]!==x?(L=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(_P,{open:x,onOpenChange:S,onComplete:C})}),t[30]=C,t[31]=S,t[32]=x,t[33]=L):L=t[33];let R;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(hP,{}),t[34]=R):R=t[34];let z;return t[35]!==I||t[36]!==L||t[37]!==T||t[38]!==O||t[39]!==k||t[40]!==M?(z=(0,$.jsxs)($.Fragment,{children:[T,O,k,M,I,L,R]}),t[35]=I,t[36]=L,t[37]=T,t[38]=O,t[39]=k,t[40]=M,t[41]=z):z=t[41],z}function yP(){let e=(0,Q.c)(8),{setIsSelectModeEnabled:t,setIsEditModeEnabled:n,setSelectedBrowserElement:r,setIsSelectionPromptOpen:i}=nk(),a;e[0]!==n||e[1]!==t||e[2]!==i||e[3]!==r?(a=e=>{r(e),t(!1),n(!1),i(!yM(e))},e[0]=n,e[1]=t,e[2]=i,e[3]=r,e[4]=a):a=e[4];let o=a,s,c;e[5]===o?(s=e[6],c=e[7]):(s=()=>{let e=function(e){let t=e.detail;fM(t)&&o(t)},t=function(e){let t=hM(e.data);t&&o(t)};return window.addEventListener(sM,e),window.addEventListener(`message`,t),function(){window.removeEventListener(sM,e),window.removeEventListener(`message`,t)}},c=[o],e[5]=o,e[6]=s,e[7]=c),(0,Z.useEffect)(s,c)}var bP=`__tarskBrowserCapture`,xP=15e3,SP=0,CP=null,wP=new Set;function TP(){for(let e of wP)e()}function EP(){CP!=null&&(clearTimeout(CP),CP=null)}function DP(){EP(),SP!==0&&(SP=0,TP())}function OP(){SP+=1,EP(),CP=setTimeout(DP,xP),SP===1&&TP()}function kP(){SP!==0&&(--SP,!(SP>0)&&(EP(),TP()))}function AP(){return SP>0}function jP(e){return wP.add(e),function(){wP.delete(e)}}function MP(e){if(e!=null){let t=document.getElementById(`electrobun-webview-${e}`);if(t)return t}return document.querySelector(`electrobun-webview`)}function NP(e,t){return e.width<=0||e.height<=0?null:{x:t.screenX+e.left,y:t.screenY+e.top,width:e.width,height:e.height}}function PP(e){let t=MP(e);return t?NP(t.getBoundingClientRect(),window):null}function FP(){let e=window;return e[bP]={begin:OP,end:kP,rect:PP},function(){delete e[bP],DP()}}var IP=Ut(`app.use-browser-tool-listener.hook`);function LP(e){let t=e.trim();return t?t.startsWith(`http://`)||t.startsWith(`https://`)?t:`http://${t}`:``}function RP(){return document.querySelector(`electrobun-webview`)}function zP(e=2e4){return new Promise((t,n)=>{let r=Date.now();function i(){let a=RP();if(a&&a.webviewId!=null){t(a);return}if(Date.now()-r>e){n(Error(`Timed out waiting for preview webview to mount`));return}requestAnimationFrame(i)}requestAnimationFrame(i)})}async function BP(e,t,n){switch(t.action){case`reload`:return e.reload(),{action:`reload`,webview_id:e.webviewId,current_url:n||e.src||null};case`go_back`:return e.goBack(),{action:`go_back`,webview_id:e.webviewId,current_url:n||e.src||null};case`go_forward`:return e.goForward(),{action:`go_forward`,webview_id:e.webviewId,current_url:n||e.src||null};case`get_state`:{let t=await e.canGoBack(),r=await e.canGoForward();return{action:`get_state`,webview_id:e.webviewId,current_url:n||e.src||null,can_go_back:t,can_go_forward:r}}default:throw Error(`Unsupported host browser action: ${String(t.action)}`)}}function VP(e){let t=Date.now();function n(){if(Date.now()-t>2e4){IP.error(`[browser-tool] timed out waiting for preview webview to mount (${e})`);return}let r=RP();if(!r||r.webviewId==null){requestAnimationFrame(n);return}E_(e,r.webviewId).catch(e=>{IP.error(`[browser-tool] failed to report preview webview ready`,e)})}requestAnimationFrame(n)}async function HP(e,t,n){let{toolCallId:r,input:i}=e;if(!(!r||!i.action)){if(i.action===`set_viewport`){let e=i.preset??`desktop`;n(e);try{let t=await zP();t.syncDimensions(!0),await D_(r,{action:`set_viewport`,preset:e,webview_id:t.webviewId})}catch(t){IP.error(`[browser-tool] failed to set viewport`,t),await D_(r,{action:`set_viewport`,preset:e,error:t instanceof Error?t.message:String(t)})}return}if(zt(i.action)){try{await D_(r,await BP(await zP(),i,t))}catch(e){IP.error(`[browser-tool] failed to execute host browser action`,e),await D_(r,{action:i.action,error:e instanceof Error?e.message:String(e)})}return}VP(r)}}function UP(){let{openChatDockPanel:e}=Wd(),{expandWindow:t,hasOpenWindows:n}=gc(),{setDevServerUrl:r,devServerUrl:i}=vw(),{setBrowserDeviceMode:a}=nk(),o=(0,Z.useRef)(null),s=X(e=>{let t=o.current;return t?e.threadStreamingStates[Es(t,`primary`)]?.isStreaming??!1:!1}),c=(0,Z.useRef)(i);c.current=i;let l=(0,Z.useRef)(e);l.current=e;let u=(0,Z.useRef)(t);u.current=t;let d=(0,Z.useRef)(n);d.current=n;let f=(0,Z.useRef)(r);f.current=r;let p=(0,Z.useRef)(a);p.current=a;let m=(0,Z.useRef)(!1);function h(){d.current&&u.current(Ct)}(0,Z.useEffect)(()=>{if(!o.current){m.current=!1;return}let e=m.current;m.current=s,!(!e||s)&&(o.current=null,h())},[s]),(0,Z.useEffect)(()=>{function e(e){let t=e.detail;t?.threadId&&o.current===t.threadId&&(o.current=null,h())}return window.addEventListener(o_,e),function(){window.removeEventListener(o_,e)}},[]),(0,Z.useEffect)(()=>{if(Pr())return FP()},[]),(0,Z.useEffect)(()=>{if(!Pr())return;function e(e){let t=e.detail;if(!t?.toolCallId||!t.input?.action)return;t.threadId&&(o.current=t.threadId,m.current=!0),l.current(`browser`,{navigateToChat:!1});let n=t.input.url?.trim()||c.current||``;if(n){let e=LP(n);e&&f.current(e)}HP(t,c.current||``,p.current)}return window.addEventListener(a_,e),function(){window.removeEventListener(a_,e)}},[])}var WP=e=>{let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=G(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(yn,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a},GP=Hn,KP=e=>{let t=(0,Q.c)(12),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({withHandle:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===n?a=t[5]:(a=G(`relative flex w-px items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,n),t[4]=n,t[5]=a);let o;t[6]===i?o=t[7]:(o=i&&(0,$.jsx)(`div`,{className:`hidden z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,$.jsx)(I,{className:`h-2.5 w-2.5`})}),t[6]=i,t[7]=o);let s;return t[8]!==r||t[9]!==a||t[10]!==o?(s=(0,$.jsx)(J,{className:a,...r,children:o}),t[8]=r,t[9]=a,t[10]=o,t[11]=s):s=t[11],s};function qP(){let e=(0,Q.c)(5),{toasts:t}=ic(),n;e[0]===t?n=e[1]:(n=t.map(JP),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(WC,{}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,$.jsxs)(UC,{duration:5e3,children:[n,r]}),e[3]=n,e[4]=i),i}function JP(e){let{id:t,title:n,description:r,action:i,variant:a,...o}=e,s=a===`destructive`,c=[n,r].filter(Boolean).join(`
3356
- `),l=s?(0,$.jsxs)(qC,{altText:`Copy error`,onClick:()=>{navigator.clipboard.writeText(c)},children:[(0,$.jsx)(Ze,{className:`h-4 w-4`}),`Copy`]}):null;return(0,$.jsxs)(KC,{variant:a,...o,children:[(0,$.jsxs)(`div`,{className:`grid gap-1`,children:[n&&(0,$.jsx)(YC,{children:n}),r&&(0,$.jsx)(XC,{children:r})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[i,l]}),(0,$.jsx)(JC,{})]},t)}function YP(){return new Uc({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!0},mutations:{retry:0}}})}function XP(e){let t=(0,Q.c)(3),{children:n}=e,[r]=(0,Z.useState)(YP),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(xr,{client:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function ZP(){let e=(0,Q.c)(4),{resolvedTheme:t,theme:n}=Ic(),r,i;return e[0]!==t||e[1]!==n?(r=()=>{if(window.tarsk?.setNativeTheme){let e=n===`system`?`system`:t||`system`;window.tarsk.setNativeTheme(e)}},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,Z.useEffect)(r,i),null}function QP(e){let t=(0,Q.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({children:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(ZP,{}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,$.jsxs)(Lc,{...r,children:[i,n]}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function $P(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(eF),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=()=>n(!0),t=()=>n(!1);return window.addEventListener(`focus`,e),window.addEventListener(`blur`,t),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,t)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}function eF(){return document.hasFocus()}var tF=Ut(`chat.processing-threads`),nF=null;function rF(){nF??=new Audio(`/pop.wav`),nF.currentTime=0,nF.play().catch(e=>{tF.debug(`Could not play completion sound`,{err:e})})}function iF(){let e=Ks(),t=Vs(),n=X(e=>e.processingThreadIds),r=X(e=>e.completedThreadIds),i=$P(),{activeMainTab:a,setChatNotification:o}=mc(),s=(0,Z.useRef)(null),c=(0,Z.useRef)(!1),l=(0,Z.useRef)([]),u=(0,Z.useRef)(i),d=(0,Z.useRef)(a);(0,Z.useEffect)(()=>{u.current=i},[i]),(0,Z.useEffect)(()=>{d.current=a,a===`chat`&&o(!1)},[a,o]);let f=(0,Z.useCallback)(async()=>{try{let n=await _o(),r=wg(n.processingThreadIds),i=n.processingRuns.filter(e=>!Cg(e.threadId)),a=t.getState().selectedThreadId,s=l.current.filter(e=>!r.includes(e)),c=a!==null&&s.includes(a);for(let t of s)t!==a&&e({type:Y.MarkThreadCompleted,threadId:t});if(r.length>0&&d.current!==`chat`&&o(!0),(r.length===0||c)&&o(!1),s.length>0&&!u.current&&rF(),s.length>0)try{Si();let t=await lo();e({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){tF.error(`Failed to refresh projects after thread completion`,{err:e})}return l.current=r,e({type:Y.SetProcessingThreads,threadIds:r,processingRuns:i}),r}catch(e){return tF.error(`Failed to fetch processing threads`,{err:e}),[]}},[e,t]);return(0,Z.useEffect)(()=>{let e=()=>{if(s.current||c.current)return;c.current=!0;let e=async()=>{let n=await f(),r=t.getState(),i=Object.values(r.threadStreamingStates).some(e=>e.isStreaming);n.length>0||i||r.isCreatingProject?s.current=setTimeout(e,1e3):(s.current=null,c.current=!1)};e()},n=()=>{s.current&&=(clearTimeout(s.current),null),c.current=!1};return e(),()=>{n()}},[f]),{processingThreadIds:n,completedThreadIds:r,isThreadProcessing:e=>n.includes(e),isThreadCompleted:e=>r.includes(e),clearCompleted:(0,Z.useCallback)(t=>{e({type:Y.ClearThreadCompleted,threadId:t})},[e])}}var aF=768;function oF(){let e=(0,Q.c)(2),[t,n]=Z.useState(sF),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${aF-1}px)`),t=()=>{n(window.innerWidth<aF)};return e.addEventListener(`change`,t),n(window.innerWidth<aF),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),t}function sF(){return typeof window>`u`?!1:window.innerWidth<aF}function cF(){let e=(0,Q.c)(15),t=Ks(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={queryKey:_y.onboarding.status(),queryFn:Do,staleTime:1/0,retry:1},e[0]=o):o=e[0];let s=vr(o),c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c={queryKey:_y.app.update(),queryFn:Er,staleTime:1/0,retry:!1},e[1]=c):c=e[1];let l=vr(c),u,d;e[2]!==s.data||e[3]!==s.isSuccess?(u=()=>{s.isSuccess&&!s.data.onboardingCompleted&&r(!0)},d=[s.isSuccess,s.data],e[2]=s.data,e[3]=s.isSuccess,e[4]=u,e[5]=d):(u=e[4],d=e[5]),(0,Z.useEffect)(u,d);let f,p;e[6]!==t||e[7]!==n?(f=()=>{n||t({type:Y.ConfigUpdated})},p=[n,t],e[6]=t,e[7]=n,e[8]=f,e[9]=p):(f=e[8],p=e[9]),(0,Z.useEffect)(f,p);let m;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=async()=>{a(!0);try{await ta()}catch{a(!1)}},e[10]=m):m=e[10];let h=m,g=l.data?.updateAvailable??!1,_;return e[11]!==n||e[12]!==g||e[13]!==i?(_={showOnboarding:n,setShowOnboarding:r,updateAvailable:g,updatingApp:i,handleUpdateApp:h},e[11]=n,e[12]=g,e[13]=i,e[14]=_):_=e[14],_}function lF(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r=Yn(),i=Gn(),{activeMainTab:a,setActiveMainTab:o}=mc(),{openChatDockPanel:s}=Wd(),{terminalState:c}=Ps(n),l;t[0]===i.pathname?l=t[1]:(l=i.pathname.startsWith(`/settings`),t[0]=i.pathname,t[1]=l);let u=l,d=i.pathname===`/review`,f=i.pathname===`/tasks`,p=(0,Z.useRef)(null),m,h;t[2]!==f||t[3]!==r||t[4]!==s?(m=()=>{f&&(r(`/`),s(`tasks`))},h=[f,r,s],t[2]=f,t[3]=r,t[4]=s,t[5]=m,t[6]=h):(m=t[5],h=t[6]),(0,Z.useEffect)(m,h);let g,_;t[7]!==i.pathname||t[8]!==s||t[9]!==n||t[10]!==c.open?(g=()=>{c.open&&n===p.current&&!Ud(i.pathname)&&s(`terminal`),p.current=n},_=[c.open,n,i.pathname,s],t[7]=i.pathname,t[8]=s,t[9]=n,t[10]=c.open,t[11]=g,t[12]=_):(g=t[11],_=t[12]),(0,Z.useEffect)(g,_);let v,y;t[13]!==a||t[14]!==d||t[15]!==u||t[16]!==o?(v=()=>{a!==`chat`&&!u&&!d&&o(`chat`)},y=[a,d,u,o],t[13]=a,t[14]=d,t[15]=u,t[16]=o,t[17]=v,t[18]=y):(v=t[17],y=t[18]),(0,Z.useEffect)(v,y);let b;return t[19]!==d||t[20]!==u?(b={isSettingsRoute:u,isReviewRoute:d},t[19]=d,t[20]=u,t[21]=b):b=t[21],b}function uF(e,t){let n=(0,Q.c)(8),r=Ks(),i=X(dF),a=(0,Z.useRef)(null),o;n[0]!==r||n[1]!==t||n[2]!==e||n[3]!==i?(o=()=>{let n=e||t;if(n&&a.current===null)a.current=i,i&&r({type:Y.ToggleSidebar});else if(!n&&a.current!==null){let e=a.current;a.current=null,e&&!i&&r({type:Y.ToggleSidebar})}},n[0]=r,n[1]=t,n[2]=e,n[3]=i,n[4]=o):o=n[4];let s;n[5]!==t||n[6]!==e?(s=[e,t],n[5]=t,n[6]=e,n[7]=s):s=n[7],(0,Z.useEffect)(o,s)}function dF(e){return e.sidebarOpen}var fF=Ag(`App`,{web:()=>us(()=>import(`./web-yeAPC2wm.js`).then(e=>new e.AppWeb),[])}),pF=1e10,mF=1e3;function hF(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function gF(e={}){let t={},n={},r;function i(e){n.unregisterHandler&&n.unregisterHandler(),n=e,n.registerHandler?.(x)}function a(e){if(typeof e==`function`){r=e;return}r=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${String(t)}`);return i(t,n)}}let{maxRequestTime:o=mF}=e;e.transport&&i(e.transport),e.requestHandler&&a(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let s=0;function c(){return s<=pF?++s:s=0}let l=new Map,u=new Map;function d(e,...r){let i=r[0];return new Promise((r,a)=>{if(!n.send)throw hF([`send`],`make requests`);let s=c(),d={type:`request`,id:s,method:e,params:i};l.set(s,{resolve:r,reject:a}),o!==1/0&&u.set(s,setTimeout(()=>{u.delete(s),l.delete(s),a(Error(`RPC request timed out.`))},o)),t.onSend?.(d),n.send(d)})}let f=new Proxy(d,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>d(t,e)}),p=f;function m(e,...r){let i=r[0];if(!n.send)throw hF([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),n.send(a)}let h=new Proxy(m,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>m(t,e)}),g=h,_=new Map,v=new Set;function y(e,t){if(!n.registerHandler)throw hF([`registerHandler`],`register message listeners`);if(e===`*`){v.add(t);return}_.has(e)||_.set(e,new Set),_.get(e).add(t)}function b(e,t){if(e===`*`){v.delete(t);return}_.get(e)?.delete(t),_.get(e)?.size===0&&_.delete(e)}async function x(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!n.send||!r)throw hF([`send`,`requestHandler`],`handle requests`);let{id:i,method:a,params:o}=e,s;try{s={type:`response`,id:i,success:!0,payload:await r(a,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:i,success:!1,error:e.message}}t.onSend?.(s),n.send(s);return}if(e.type===`response`){let t=u.get(e.id);t!=null&&clearTimeout(t),u.delete(e.id);let{resolve:n,reject:r}=l.get(e.id)??{};l.delete(e.id),e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of v)t(e.id,e.payload);let t=_.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:a,request:f,requestProxy:p,send:h,sendProxy:g,addMessageListener:y,removeMessageListener:b,proxy:{send:g,request:p}}}function _F(e,t){let n=gF({maxRequestTime:t.maxRequestTime,requestHandler:{...t.handlers.requests,...t.extraRequestHandlers},transport:{registerHandler:()=>{}}}),r=t.handlers.messages;return r&&n.addMessageListener(`*`,((e,t)=>{let n=r[`*`];n&&n(e,t);let i=r[e];i&&i(t)})),n}var vF=window.__electrobunWebviewId,yF=window.__electrobunRpcSocketPort,bF=class{bunSocket;rpc;rpcHandler;constructor(e){this.rpc=e.rpc,this.init()}init(){this.initSocketToBun(),window.__electrobun.receiveMessageFromBun=this.receiveMessageFromBun.bind(this),this.rpc&&this.rpc.setTransport(this.createTransport())}initSocketToBun(){let e=new WebSocket(`ws://localhost:${yF}/socket?webviewId=${vF}`);this.bunSocket=e,e.addEventListener(`open`,()=>{}),e.addEventListener(`message`,async e=>{let t=e.data;if(typeof t==`string`)try{let e=JSON.parse(t),n=await window.__electrobun_decrypt(e.encryptedData,e.iv,e.tag);this.rpcHandler?.(JSON.parse(n))}catch(e){console.error(`Error parsing bun message:`,e)}else t instanceof Blob||console.error(`UNKNOWN DATA TYPE RECEIVED:`,e.data)}),e.addEventListener(`error`,e=>{console.error(`Socket error:`,e)}),e.addEventListener(`close`,e=>{})}createTransport(){let e=this;return{send(t){try{let n=JSON.stringify(t);e.bunBridge(n)}catch(e){console.error(`bun: failed to serialize message to webview`,e)}},registerHandler(t){e.rpcHandler=t}}}async bunBridge(e){if(this.bunSocket?.readyState===WebSocket.OPEN)try{let{encryptedData:t,iv:n,tag:r}=await window.__electrobun_encrypt(e),i=JSON.stringify({encryptedData:t,iv:n,tag:r});this.bunSocket.send(i);return}catch(e){console.error(`Error sending message to bun via socket:`,e)}window.__electrobunBunBridge?.postMessage(e)}receiveMessageFromBun(e){this.rpcHandler&&this.rpcHandler(e)}static defineRPC(e){return _F(`webview`,{...e,extraRequestHandlers:{evaluateJavascriptWithResponse:({script:e})=>new Promise(t=>{try{let n=Function(e)();n instanceof Promise?n.then(e=>{t(e)}).catch(e=>{console.error(`bun: async script execution failed`,e),t(String(e))}):t(n)}catch(e){console.error(`bun: failed to eval script`,e),t(String(e))}})}})}},xF=null;function SF(e){xF?.send.setWindowLabel({label:e})}function CF(e){xF?.send.openProjectIconDialog({startingFolder:e})}function wF(e){let t=(0,Z.useRef)(e);t.current=e,(0,Z.useEffect)(()=>{window.__electrobunWebviewId&&(xF=bF.defineRPC({handlers:{requests:{},messages:{openTarskUrl:function({url:e}){t.current?.(e)},projectIconSelected:function({dataUrl:e}){window.dispatchEvent(new CustomEvent(`tarsk:project-icon-selected`,{detail:{dataUrl:e}}))}}}}),new bF({rpc:xF}))},[]),(0,Z.useEffect)(()=>{if(!Za())return;let e=fF.addListener(`backButton`,({canGoBack:e})=>{e?window.history.back():fF.exitApp()});return()=>{e.then(e=>e.remove())}},[])}var TF=Ut(`app.embed-host.hook`);function EF(e){let t=(0,Q.c)(7),n=Ks(),r=X(DF),i=(0,Z.useRef)(null),a,o;t[0]===n?(a=t[1],o=t[2]):(a=()=>{AO()&&n({type:Y.CloseSidebar})},o=[n],t[0]=n,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o);let s,c;t[3]!==e||t[4]!==r?(s=()=>{if(!AO()||r)return;let t=kO();!t||i.current===t||(i.current=t,e(t).catch(e=>{i.current=null,TF.error(`Failed to open embed project path:`,e)}))},c=[r,e],t[3]=e,t[4]=r,t[5]=s,t[6]=c):(s=t[5],c=t[6]),(0,Z.useEffect)(s,c)}function DF(e){return e.projectsLoading}function OF(e){let t=e.replace(/\.zip$/i,``);return/-source-code$/i.test(t)?t.replace(/-source-code$/i,``):/\s+source\s+code$/i.test(t)?t.replace(/\s+source\s+code$/i,``):null}function kF(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function AF(e,t){let n=OF(e);if(!n)return null;let r=kF(n);return r?t.find(e=>kF(Ke(e))===r)??null:null}var jF=Ut(`app.merged-pr-dialog-host.ui`),MF=(0,Z.lazy)(()=>us(()=>import(`./merged-pr-dialog-C3euJvCu.js`).then(e=>({default:e.MergedPRDialog})),__vite__mapDeps([38,4,1,5])));function NF({threadId:e,projectId:t}){let n=Ks(),r=X(e=>e.projects.find(e=>e.projectId===t)),i=Fd(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),l=(0,Z.useRef)(null),[u,d]=(0,Z.useState)(()=>sT());(0,Z.useEffect)(()=>{cT(u)},[u]),(0,Z.useEffect)(()=>hT(()=>{l.current=e,o(!0)}),[e]),(0,Z.useEffect)(()=>{i.prExists&&i.prState===`MERGED`&&l.current!==e&&(l.current=e,o(!0))},[i.prExists,i.prState,e]);async function f(){try{c(!0);let r=await Po(e);if(u.newChatOnNewBranch){let r=`New Chat`;await Qa(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r});let i=await Io(e);n({type:Y.ClearMessages,conversationId:i})}Si();let a=await lo();n({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),ac({title:`New branch created`,description:`Created new branch "${r.branchName}" from the latest default branch`}),o(!1),await i.fetchUnifiedStatus(!0),setTimeout(()=>void i.fetchUnifiedStatus(!0),1500)}catch(e){jF.error(`Failed to create new branch:`,e),ac({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}finally{c(!1)}}function p(){o(!1),i.fetchUnifiedStatus(!0)}return a?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(MF,{open:a,onOpenChange:o,onNewBranch:f,onJustOpen:p,newChatOnNewBranch:u.newChatOnNewBranch,onNewChatOnNewBranchChange:e=>d(t=>({...t,newChatOnNewBranch:e})),isLoading:s,projectName:r?.name})}):null}function PF(e){if(e.port!=null&&e.pid!=null){let t=e.command?`${e.command} `:``;return`Port ${e.port} is in use by ${t}(PID ${e.pid}). Kill it and retry starting the dev server?`}return e.port==null?`The dev server port is already in use. Kill the blocking process and retry?`:`Port ${e.port} is already in use. Kill the process on that port and retry?`}function FF(){let e=(0,Q.c)(28),{portConflictPrompt:t,clearPortConflictPrompt:n}=vw(),r;e[0]!==n||e[1]!==t?(r=function(e){!e&&t&&(t.resolve(!1),n())},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a;e[3]!==n||e[4]!==t?(a=function(){t?.resolve(!1),n()},e[3]=n,e[4]=t,e[5]=a):a=e[5];let o=a,s;e[6]!==n||e[7]!==t?(s=function(){t?.resolve(!0),n()},e[6]=n,e[7]=t,e[8]=s):s=e[8];let c=s,l=t!=null,u;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(sc,{children:`Port already in use`}),e[9]=u):u=e[9];let d;e[10]===t?d=e[11]:(d=t?PF(t):null,e[10]=t,e[11]=d);let f;e[12]===d?f=e[13]:(f=(0,$.jsxs)(fc,{children:[u,(0,$.jsx)(oc,{children:d})]}),e[12]=d,e[13]=f);let p;e[14]===o?p=e[15]:(p=(0,$.jsx)(dc,{onClick:o,children:`Cancel`}),e[14]=o,e[15]=p);let m;e[16]===c?m=e[17]:(m=(0,$.jsx)(lc,{onClick:c,children:`Kill and retry`}),e[16]=c,e[17]=m);let h;e[18]!==p||e[19]!==m?(h=(0,$.jsxs)(uc,{children:[p,m]}),e[18]=p,e[19]=m,e[20]=h):h=e[20];let g;e[21]!==f||e[22]!==h?(g=(0,$.jsxs)(cc,{children:[f,h]}),e[21]=f,e[22]=h,e[23]=g):g=e[23];let _;return e[24]!==i||e[25]!==g||e[26]!==l?(_=(0,$.jsx)(pc,{open:l,onOpenChange:i,children:g}),e[24]=i,e[25]=g,e[26]=l,e[27]=_):_=e[27],_}function IF(e){let t=(0,Q.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(FF,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(hc,{children:(0,$.jsx)(_c,{children:(0,$.jsxs)(_w,{children:[r,(0,$.jsx)(yc,{children:(0,$.jsx)(ek,{children:n})})]})})}),t[1]=n,t[2]=i),i}function LF(e){let t=(0,Q.c)(5),n=Gn(),{windows:r,expandedWindowId:i}=gc();if(n.pathname===`/review`)return`Review`;if(n.pathname.startsWith(`/settings`))return`Settings`;if(!e)return`Projects`;if(i){let e;if(t[0]!==i||t[1]!==r){e=Symbol.for(`react.early_return_sentinel`);bb0:{let n;t[3]===i?n=t[4]:(n=e=>e.id===i,t[3]=i,t[4]=n);let a=r.find(n);if(a){e=WO(a.panelId);break bb0}}t[0]=i,t[1]=r,t[2]=e}else e=t[2];if(e!==Symbol.for(`react.early_return_sentinel`))return e}return`Chat`}function RF(){let e=(0,Q.c)(6),t=X(VF),n=X(BF),r=X(zF)===`projects`,i=LF(n!=null&&!r),a,o;e[0]!==r||e[1]!==t||e[2]!==n||e[3]!==i?(a=()=>{if(!n||r){document.title=`Tarsk - ${i}`,SF(`Projects`);return}let e=t.find(e=>e.projectId===n);if(!e){document.title=`Tarsk`,SF(`Projects`);return}let a=Ke(e);document.title=`${a} - ${i}`,SF(a)},o=[r,t,n,i],e[0]=r,e[1]=t,e[2]=n,e[3]=i,e[4]=a,e[5]=o):(a=e[4],o=e[5]),(0,Z.useEffect)(a,o)}function zF(e){return e.projectPanelView}function BF(e){return e.selectedProjectId}function VF(e){return e.projects}var HF=`tarsk.ui-crash-report`,UF=8e3,WF=2e3,GF=0,KF=``;function qF(e,t){if(e)return e.length<=t?e:`${e.slice(0,t)}…`}function JF(e,t){if(e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`)return!0;let n=t.trim().toLowerCase();return n===`fetch is aborted`||n.includes(`the operation was aborted`)||n.includes(`bodystreambuffer was aborted`)}function YF(e,t){return e instanceof Error&&e.name===`Canceled`?!0:t.trim()===`Canceled`}function XF(e,t){return e instanceof Error&&e.name===`Canceled`?!1:t.includes(`TextModel got disposed before DiffEditorWidget model got reset`)}function ZF(e,t){return e instanceof Error?!1:t.trim().toLowerCase()===`script error.`}function QF(e){let{message:t}=$F(e);return t.includes(`ResizeObserver loop`)||JF(e,t)||YF(e,t)||XF(e,t)||ZF(e,t)}function $F(e){if(e instanceof Error)return{message:e.message||e.name||`Unknown error`,stack:e.stack};if(typeof e==`string`)return{message:e.trim()||`Unknown error`};if(e&&typeof e==`object`&&`message`in e){let t=e.message;if(typeof t==`string`&&t.trim())return{message:t.trim()}}try{return{message:JSON.stringify(e)}}catch{return{message:String(e)}}}function eI(e,t,n){let r=$F(e);return{message:r.message,stack:qF(r.stack,UF),componentStack:qF(n?.trim(),UF),source:t,url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}function tI(e){let t=Date.now();return e===KF&&t-GF<WF?!0:(KF=e,GF=t,!1)}function nI(){if(typeof localStorage>`u`)return null;let e=localStorage.getItem(HF);if(!e)return null;try{let t=JSON.parse(e);return!t||typeof t.message!=`string`||typeof t.timestamp!=`string`?null:{message:t.message,stack:typeof t.stack==`string`?t.stack:void 0,componentStack:typeof t.componentStack==`string`?t.componentStack:void 0,source:t.source===`window.error`||t.source===`unhandledrejection`||t.source===`react`?t.source:`window.error`,url:typeof t.url==`string`?t.url:``,userAgent:typeof t.userAgent==`string`?t.userAgent:``,timestamp:t.timestamp}}catch{return null}}function rI(){typeof localStorage>`u`||localStorage.removeItem(HF)}function iI(e,t){let n=eI(e,t.source,t.componentStack);if(!tI(n.message)&&typeof localStorage<`u`)try{localStorage.setItem(HF,JSON.stringify(n))}catch{}return n}function aI(e){let t=[`Tarsk UI crash report`,`Time: ${e.timestamp}`,`Source: ${e.source}`,`URL: ${e.url||`(unknown)`}`,`Message: ${e.message}`];return e.stack&&t.push(``,`Stack:`,e.stack),e.componentStack&&t.push(``,`Component stack:`,e.componentStack),e.userAgent&&t.push(``,`User agent: ${e.userAgent}`),t.join(`
3357
- `)}function oI(e){if(typeof window>`u`)return;let t=e?.shouldIgnore;window.addEventListener(`error`,e=>{let n=e.error??e.message;t?.(n)||QF(n)||iI(n,{source:`window.error`})}),window.addEventListener(`unhandledrejection`,e=>{if(t?.(e.reason)||QF(e.reason)){e.preventDefault();return}iI(e.reason,{source:`unhandledrejection`})})}function sI(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function cI({open:e,report:t,variant:n,onDismiss:r,onReload:i}){let[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);async function l(){c(!0);try{await navigator.clipboard.writeText(aI(t)),o(!0),window.setTimeout(()=>o(!1),2e3)}catch{o(!1)}finally{c(!1)}}let u=[t.stack,t.componentStack?`Component stack:\n${t.componentStack}`:void 0].filter(Boolean).join(`
3355
+ `),n=Un.singletonList(er.INITIAL_STATE);for(let r=0;r<this.text.length;r++){let i,a=r+1<this.text.length?this.text[r+1]:0;switch(this.text[r]){case E.getCharCode(`\r`):i=a===t?2:0;break;case E.getCharCode(`.`):i=a===e?3:0;break;case E.getCharCode(`,`):i=a===e?4:0;break;case E.getCharCode(`:`):i=a===e?5:0;break;default:i=0}i>0?(n=rr.updateStateListForPair(n,r,i),r++):n=this.updateStateListForChar(n,r)}return Un.min(n,(e,t)=>e.getBitCount()-t.getBitCount()).toBitArray(this.text)}updateStateListForChar(e,t){let n=[];for(let r of e)this.updateStateForChar(r,t,n);return rr.simplifyStates(n)}updateStateForChar(e,t,n){let r=this.text[t]&255,i=nr[e.getMode()][r]>0,a=null;for(let o=0;o<=4;o++){let s=nr[o][r];if(s>0){if(a??=e.endBinaryShift(t),!i||o===e.getMode()||o===2){let e=a.latchAndAppend(o,s);n.push(e)}if(!i&&$n[e.getMode()][o]>=0){let e=a.shiftAndAppend(o,s);n.push(e)}}}if(e.getBinaryShiftByteCount()>0||nr[e.getMode()][r]===0){let r=e.addBinaryShiftChar(t);n.push(r)}}static updateStateListForPair(e,t,n){let r=[];for(let i of e)this.updateStateForPair(i,t,n,r);return this.simplifyStates(r)}static updateStateForPair(e,t,n,r){let i=e.endBinaryShift(t);if(r.push(i.latchAndAppend(4,n)),e.getMode()!==4&&r.push(i.shiftAndAppend(4,n)),n===3||n===4){let e=i.latchAndAppend(2,16-n).latchAndAppend(2,1);r.push(e)}if(e.getBinaryShiftByteCount()>0){let n=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);r.push(n)}}static simplifyStates(e){let t=[];for(let n of e){let e=!0;for(let r of t){if(r.isBetterThanOrEqualTo(n)){e=!1;break}n.isBetterThanOrEqualTo(r)&&(t=t.filter(e=>e!==r))}e&&t.push(n)}return t}}class ir{constructor(){}static encodeBytes(e){return ir.encode(e,ir.DEFAULT_EC_PERCENT,ir.DEFAULT_AZTEC_LAYERS)}static encode(e,t,n){let r=new rr(e).encode(),i=_.truncDivision(r.getSize()*t,100)+11,a=r.getSize()+i,o,s,c,u,d;if(n!==ir.DEFAULT_AZTEC_LAYERS){if(o=n<0,s=Math.abs(n),s>(o?ir.MAX_NB_BITS_COMPACT:ir.MAX_NB_BITS))throw new l(E.format(`Illegal value %s for layers`,n));c=ir.totalBitsInLayer(s,o),u=ir.WORD_SIZE[s];let e=c-c%u;if(d=ir.stuffBits(r,u),d.getSize()+i>e||o&&d.getSize()>u*64)throw new l(`Data to large for user specified layer`)}else{u=0,d=null;for(let e=0;;e++){if(e>ir.MAX_NB_BITS)throw new l(`Data too large for an Aztec code`);if(o=e<=3,s=o?e+1:e,c=ir.totalBitsInLayer(s,o),a>c)continue;(d==null||u!==ir.WORD_SIZE[s])&&(u=ir.WORD_SIZE[s],d=ir.stuffBits(r,u));let t=c-c%u;if(!(o&&d.getSize()>u*64)&&d.getSize()+i<=t)break}}let f=ir.generateCheckWords(d,c,u),p=d.getSize()/u,m=ir.generateModeMessage(o,s,p),h=(o?11:14)+s*4,g=new Int32Array(h),v;if(o){v=h;for(let e=0;e<g.length;e++)g[e]=e}else{v=h+1+2*_.truncDivision(_.truncDivision(h,2)-1,15);let e=_.truncDivision(h,2),t=_.truncDivision(v,2);for(let n=0;n<e;n++){let r=n+_.truncDivision(n,15);g[e-n-1]=t-r-1,g[e+n]=t+r+1}}let y=new O(v);for(let e=0,t=0;e<s;e++){let n=(s-e)*4+(o?9:12);for(let r=0;r<n;r++){let i=r*2;for(let a=0;a<2;a++)f.get(t+i+a)&&y.set(g[e*2+a],g[e*2+r]),f.get(t+n*2+i+a)&&y.set(g[e*2+r],g[h-1-e*2-a]),f.get(t+n*4+i+a)&&y.set(g[h-1-e*2-a],g[h-1-e*2-r]),f.get(t+n*6+i+a)&&y.set(g[h-1-e*2-r],g[e*2+a])}t+=n*8}if(ir.drawModeMessage(y,o,v,m),o)ir.drawBullsEye(y,_.truncDivision(v,2),5);else{ir.drawBullsEye(y,_.truncDivision(v,2),7);for(let e=0,t=0;e<_.truncDivision(h,2)-1;e+=15,t+=16)for(let e=_.truncDivision(v,2)&1;e<v;e+=2)y.set(_.truncDivision(v,2)-t,e),y.set(_.truncDivision(v,2)+t,e),y.set(e,_.truncDivision(v,2)-t),y.set(e,_.truncDivision(v,2)+t)}let b=new Hn;return b.setCompact(o),b.setSize(v),b.setLayers(s),b.setCodeWords(p),b.setMatrix(y),b}static drawBullsEye(e,t,n){for(let r=0;r<n;r+=2)for(let n=t-r;n<=t+r;n++)e.set(n,t-r),e.set(n,t+r),e.set(t-r,n),e.set(t+r,n);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)}static generateModeMessage(e,t,n){let r=new v;return e?(r.appendBits(t-1,2),r.appendBits(n-1,6),r=ir.generateCheckWords(r,28,4)):(r.appendBits(t-1,5),r.appendBits(n-1,11),r=ir.generateCheckWords(r,40,4)),r}static drawModeMessage(e,t,n,r){let i=_.truncDivision(n,2);if(t)for(let t=0;t<7;t++){let n=i-3+t;r.get(t)&&e.set(n,i-5),r.get(t+7)&&e.set(i+5,n),r.get(20-t)&&e.set(n,i+5),r.get(27-t)&&e.set(i-5,n)}else for(let t=0;t<10;t++){let n=i-5+t+_.truncDivision(t,5);r.get(t)&&e.set(n,i-7),r.get(t+10)&&e.set(i+7,n),r.get(29-t)&&e.set(n,i+7),r.get(39-t)&&e.set(i-7,n)}}static generateCheckWords(e,t,n){let r=e.getSize()/n,i=new Dn(ir.getGF(n)),a=_.truncDivision(t,n),o=ir.bitsToWords(e,n,a);i.encode(o,a-r);let s=t%n,c=new v;c.appendBits(0,s);for(let e of Array.from(o))c.appendBits(e,n);return c}static bitsToWords(e,t,n){let r=new Int32Array(n),i,a;for(i=0,a=e.getSize()/t;i<a;i++){let n=0;for(let r=0;r<t;r++)n|=e.get(i*t+r)?1<<t-r-1:0;r[i]=n}return r}static getGF(e){switch(e){case 4:return ie.AZTEC_PARAM;case 6:return ie.AZTEC_DATA_6;case 8:return ie.AZTEC_DATA_8;case 10:return ie.AZTEC_DATA_10;case 12:return ie.AZTEC_DATA_12;default:throw new l(`Unsupported word size `+e)}}static stuffBits(e,t){let n=new v,r=e.getSize(),i=(1<<t)-2;for(let a=0;a<r;a+=t){let o=0;for(let n=0;n<t;n++)(a+n>=r||e.get(a+n))&&(o|=1<<t-1-n);(o&i)===i?(n.appendBits(o&i,t),a--):(o&i)===0?(n.appendBits(o|1,t),a--):n.appendBits(o,t)}return n}static totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}ir.DEFAULT_EC_PERCENT=33,ir.DEFAULT_AZTEC_LAYERS=0,ir.MAX_NB_BITS=32,ir.MAX_NB_BITS_COMPACT=4,ir.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class ar{encode(e,t,n,r){return this.encodeWithHints(e,t,n,r,null)}encodeWithHints(e,t,n,r,i){let a=Vn.ISO_8859_1,o=ir.DEFAULT_EC_PERCENT,s=ir.DEFAULT_AZTEC_LAYERS;return i!=null&&(i.has(En.CHARACTER_SET)&&(a=Bn.forName(i.get(En.CHARACTER_SET).toString())),i.has(En.ERROR_CORRECTION)&&(o=_.parseInt(i.get(En.ERROR_CORRECTION).toString())),i.has(En.AZTEC_LAYERS)&&(s=_.parseInt(i.get(En.AZTEC_LAYERS).toString()))),ar.encodeLayers(e,t,n,r,a,o,s)}static encodeLayers(e,t,n,r,i,a,o){if(t!==B.AZTEC)throw new l(`Can only encode AZTEC, but got `+t);let s=ir.encode(E.getBytes(e,i),a,o);return ar.renderResult(s,n,r)}static renderResult(e,t,n){let r=e.getMatrix();if(r==null)throw new oe;let i=r.getWidth(),a=r.getHeight(),o=Math.max(t,i),s=Math.max(n,a),c=Math.min(o/i,s/a),l=(o-i*c)/2,u=(s-a*c)/2,d=new O(o,s);for(let e=0,t=u;e<a;e++,t+=c)for(let n=0,a=l;n<i;n++,a+=c)r.get(n,e)&&d.setRegion(a,t,c,c);return d}}e.AbstractExpandedDecoder=Je,e.ArgumentException=c,e.ArithmeticException=re,e.AztecCode=Hn,e.AztecCodeReader=be,e.AztecCodeWriter=ar,e.AztecDecoder=ce,e.AztecDetector=ye,e.AztecDetectorResult=fe,e.AztecEncoder=ir,e.AztecHighLevelEncoder=rr,e.AztecPoint=ve,e.BarcodeFormat=B,e.Binarizer=f,e.BinaryBitmap=u,e.BitArray=v,e.BitMatrix=O,e.BitSource=_t,e.BrowserAztecCodeReader=xe,e.BrowserBarcodeReader=G,e.BrowserCodeReader=L,e.BrowserDatamatrixCodeReader=Ct,e.BrowserMultiFormatReader=Sn,e.BrowserPDF417Reader=Cn,e.BrowserQRCodeReader=wn,e.BrowserQRCodeSvgWriter=Fn,e.CharacterSetECI=C,e.ChecksumException=d,e.Code128Reader=Ce,e.Code39Reader=we,e.DataMatrixDecodedBitStreamParser=yt,e.DataMatrixReader=St,e.DecodeHintType=b,e.DecoderResult=ee,e.DefaultGridSampler=ge,e.DetectorResult=de,e.EAN13Reader=je,e.EncodeHintType=En,e.Exception=s,e.FormatException=x,e.GenericGF=ie,e.GenericGFPoly=ne,e.GlobalHistogramBinarizer=A,e.GridSampler=me,e.GridSamplerInstance=_e,e.HTMLCanvasElementLuminanceSource=P,e.HybridBinarizer=j,e.ITFReader=Te,e.IllegalArgumentException=l,e.IllegalStateException=oe,e.InvertedLuminanceSource=N,e.LuminanceSource=M,e.MathUtils=le,e.MultiFormatOneDReader=dt,e.MultiFormatReader=xn,e.MultiFormatWriter=Ln,e.NotFoundException=k,e.OneDReader=Se,e.PDF417DecodedBitStreamParser=J,e.PDF417DecoderErrorCorrection=Xt,e.PDF417Reader=yn,e.PDF417ResultMetadata=sn,e.PerspectiveTransform=he,e.PlanarYUVLuminanceSource=Rn,e.QRCodeByteMatrix=kn,e.QRCodeDataMask=kt,e.QRCodeDecodedBitStreamParser=Pt,e.QRCodeDecoderErrorCorrectionLevel=Tt,e.QRCodeDecoderFormatInformation=Et,e.QRCodeEncoder=Pn,e.QRCodeEncoderQRCode=An,e.QRCodeMaskUtil=On,e.QRCodeMatrixUtil=Mn,e.QRCodeMode=Nt,e.QRCodeReader=Ut,e.QRCodeVersion=Dt,e.QRCodeWriter=In,e.RGBLuminanceSource=zn,e.RSS14Reader=ut,e.RSSExpandedReader=ct,e.ReaderException=bn,e.ReedSolomonDecoder=se,e.ReedSolomonEncoder=Dn,e.ReedSolomonException=ae,e.Result=R,e.ResultMetadataType=H,e.ResultPoint=W,e.StringUtils=E,e.UnsupportedOperationException=w,e.VideoInputDevice=F,e.WhiteRectangleDetector=pe,e.WriterException=jn,e.ZXingArrays=g,e.ZXingCharset=Bn,e.ZXingInteger=_,e.ZXingStandardCharsets=Vn,e.ZXingStringBuilder=D,e.ZXingStringEncoding=T,e.ZXingSystem=p,e.createAbstractExpandedDecoder=at,Object.defineProperty(e,"__esModule",{value:!0})}))}))()),nN=function(){function e(e,t,n){if(this.formatMap=new Map([[RM.QR_CODE,tN.BarcodeFormat.QR_CODE],[RM.AZTEC,tN.BarcodeFormat.AZTEC],[RM.CODABAR,tN.BarcodeFormat.CODABAR],[RM.CODE_39,tN.BarcodeFormat.CODE_39],[RM.CODE_93,tN.BarcodeFormat.CODE_93],[RM.CODE_128,tN.BarcodeFormat.CODE_128],[RM.DATA_MATRIX,tN.BarcodeFormat.DATA_MATRIX],[RM.MAXICODE,tN.BarcodeFormat.MAXICODE],[RM.ITF,tN.BarcodeFormat.ITF],[RM.EAN_13,tN.BarcodeFormat.EAN_13],[RM.EAN_8,tN.BarcodeFormat.EAN_8],[RM.PDF_417,tN.BarcodeFormat.PDF_417],[RM.RSS_14,tN.BarcodeFormat.RSS_14],[RM.RSS_EXPANDED,tN.BarcodeFormat.RSS_EXPANDED],[RM.UPC_A,tN.BarcodeFormat.UPC_A],[RM.UPC_E,tN.BarcodeFormat.UPC_E],[RM.UPC_EAN_EXTENSION,tN.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!tN)throw`Use html5qrcode.min.js without edit, ZXing not found.`;this.verbose=t,this.logger=n;var r=this.createZXingFormats(e),i=new Map;i.set(tN.DecodeHintType.POSSIBLE_FORMATS,r),i.set(tN.DecodeHintType.TRY_HARDER,!1),this.hints=i}return e.prototype.decodeAsync=function(e){var t=this;return new Promise(function(n,r){try{n(t.decode(e))}catch(e){r(e)}})},e.prototype.decode=function(e){var t=new tN.MultiFormatReader(this.verbose,this.hints),n=new tN.HTMLCanvasElementLuminanceSource(e),r=new tN.BinaryBitmap(new tN.HybridBinarizer(n)),i=t.decode(r);return{text:i.text,format:WM.create(this.toHtml5QrcodeSupportedFormats(i.format)),debugData:this.createDebugData()}},e.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(t,n,r){e.set(t,n)}),e},e.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw`reverseFormatMap doesn't have ${e}`;return this.reverseFormatMap.get(e)},e.prototype.createZXingFormats=function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];this.formatMap.has(i)?t.push(this.formatMap.get(i)):this.logger.logError(`${i} is not supported byZXingHtml5QrcodeShim`)}return t},e.prototype.createDebugData=function(){return{decoderName:`zxing-js`}},e}(),rN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},iN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},aN=function(){function e(t,n,r){if(this.formatMap=new Map([[RM.QR_CODE,`qr_code`],[RM.AZTEC,`aztec`],[RM.CODABAR,`codabar`],[RM.CODE_39,`code_39`],[RM.CODE_93,`code_93`],[RM.CODE_128,`code_128`],[RM.DATA_MATRIX,`data_matrix`],[RM.ITF,`itf`],[RM.EAN_13,`ean_13`],[RM.EAN_8,`ean_8`],[RM.PDF_417,`pdf417`],[RM.UPC_A,`upc_a`],[RM.UPC_E,`upc_e`]]),this.reverseFormatMap=this.createReverseFormatMap(),!e.isSupported())throw`Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();`;this.verbose=n,this.logger=r;var i=this.createBarcodeDetectorFormats(t);if(this.detector=new BarcodeDetector(i),!this.detector)throw`BarcodeDetector detector not supported`}return e.isSupported=function(){return`BarcodeDetector`in window?new BarcodeDetector({formats:[`qr_code`]})!==void 0:!1},e.prototype.decodeAsync=function(e){return rN(this,void 0,void 0,function(){var t,n;return iN(this,function(r){switch(r.label){case 0:return[4,this.detector.detect(e)];case 1:if(t=r.sent(),!t||t.length===0)throw`No barcode or QR code detected.`;return n=this.selectLargestBarcode(t),[2,{text:n.rawValue,format:WM.create(this.toHtml5QrcodeSupportedFormats(n.format)),debugData:this.createDebugData()}]}})})},e.prototype.selectLargestBarcode=function(e){for(var t=null,n=0,r=0,i=e;r<i.length;r++){var a=i[r],o=a.boundingBox.width*a.boundingBox.height;o>n&&(n=o,t=a)}if(!t)throw`No largest barcode found`;return t},e.prototype.createBarcodeDetectorFormats=function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];this.formatMap.has(i)?t.push(this.formatMap.get(i)):this.logger.warn(`${i} is not supported byBarcodeDetectorDelegate`)}return{formats:t}},e.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw`reverseFormatMap doesn't have ${e}`;return this.reverseFormatMap.get(e)},e.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(t,n,r){e.set(t,n)}),e},e.prototype.createDebugData=function(){return{decoderName:`BarcodeDetector`}},e}(),oN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},sN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},cN=function(){function e(e,t,n,r){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=n,t&&aN.isSupported()?(this.primaryDecoder=new aN(e,n,r),this.secondaryDecoder=new nN(e,n,r)):this.primaryDecoder=new nN(e,n,r)}return e.prototype.decodeAsync=function(e){return oN(this,void 0,void 0,function(){var t;return sN(this,function(n){switch(n.label){case 0:t=performance.now(),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(e)];case 2:return[2,n.sent()];case 3:return this.possiblyLogPerformance(t),[7];case 4:return[2]}})})},e.prototype.decodeRobustlyAsync=function(e){return oN(this,void 0,void 0,function(){var t,n;return sN(this,function(r){switch(r.label){case 0:t=performance.now(),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(e)];case 2:return[2,r.sent()];case 3:if(n=r.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(e)];throw n;case 4:return this.possiblyLogPerformance(t),[7];case 5:return[2]}})})},e.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},e.prototype.possiblyLogPerformance=function(e){if(this.verbose){var t=performance.now()-e;this.executionResults.push(t),this.executions++,this.possiblyFlushPerformanceReport()}},e.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var e=0,t=0,n=this.executionResults;t<n.length;t++){var r=n[t];e+=r}var i=e/this.executionResults.length;console.log(`${i} ms for ${this.executionResults.length} last runs.`),this.executions=0,this.executionResults=[]}},e}(),lN=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),uN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},dN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},fN=function(){function e(e,t){this.name=e,this.track=t}return e.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},e.prototype.apply=function(e){var t={};t[this.name]=e;var n={advanced:[t]};return this.track.applyConstraints(n)},e.prototype.value=function(){var e=this.track.getSettings();return this.name in e?e[this.name]:null},e}(),pN=function(e){lN(t,e);function t(t){return e.call(this,`zoom`,t)||this}return t}(function(e){lN(t,e);function t(t,n){return e.call(this,t,n)||this}return t.prototype.min=function(){return this.getCapabilities().min},t.prototype.max=function(){return this.getCapabilities().max},t.prototype.step=function(){return this.getCapabilities().step},t.prototype.apply=function(e){var t={};t[this.name]=e;var n={advanced:[t]};return this.track.applyConstraints(n)},t.prototype.getCapabilities=function(){this.failIfNotSupported();var e=this.track.getCapabilities()[this.name];return{min:e.min,max:e.max,step:e.step}},t.prototype.failIfNotSupported=function(){if(!this.isSupported())throw Error(`${this.name} capability not supported`)},t}(fN)),mN=function(e){lN(t,e);function t(t){return e.call(this,`torch`,t)||this}return t}(fN),hN=function(){function e(e){this.track=e}return e.prototype.zoomFeature=function(){return new pN(this.track)},e.prototype.torchFeature=function(){return new mN(this.track)},e}(),gN=function(){function e(e,t,n){this.isClosed=!1,this.parentElement=e,this.mediaStream=t,this.callbacks=n,this.surface=this.createVideoElement(this.parentElement.clientWidth),e.append(this.surface)}return e.prototype.createVideoElement=function(e){var t=document.createElement(`video`);return t.style.width=`${e}px`,t.style.display=`block`,t.muted=!0,t.setAttribute(`muted`,`true`),t.playsInline=!0,t},e.prototype.setupSurface=function(){var e=this;this.surface.onabort=function(){throw`RenderedCameraImpl video surface onabort() called`},this.surface.onerror=function(){throw`RenderedCameraImpl video surface onerror() called`};var t=function(){var n=e.surface.clientWidth,r=e.surface.clientHeight;e.callbacks.onRenderSurfaceReady(n,r),e.surface.removeEventListener(`playing`,t)};this.surface.addEventListener(`playing`,t),this.surface.srcObject=this.mediaStream,this.surface.play()},e.create=function(t,n,r,i){return uN(this,void 0,void 0,function(){var a,o;return dN(this,function(s){switch(s.label){case 0:return a=new e(t,n,i),r.aspectRatio?(o={aspectRatio:r.aspectRatio},[4,a.getFirstTrackOrFail().applyConstraints(o)]):[3,2];case 1:s.sent(),s.label=2;case 2:return a.setupSurface(),[2,a]}})})},e.prototype.failIfClosed=function(){if(this.isClosed)throw`The RenderedCamera has already been closed.`},e.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw`No video tracks found`;return this.mediaStream.getVideoTracks()[0]},e.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},e.prototype.resume=function(e){this.failIfClosed();var t=this,n=function(){setTimeout(e,200),t.surface.removeEventListener(`playing`,n)};this.surface.addEventListener(`playing`,n),this.surface.play()},e.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},e.prototype.getSurface=function(){return this.failIfClosed(),this.surface},e.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},e.prototype.applyVideoConstraints=function(e){return uN(this,void 0,void 0,function(){return dN(this,function(t){if(`aspectRatio`in e)throw`Changing 'aspectRatio' in run-time is not yet supported.`;return[2,this.getFirstTrackOrFail().applyConstraints(e)]})})},e.prototype.close=function(){if(this.isClosed)return Promise.resolve();var e=this;return new Promise(function(t,n){var r=e.mediaStream.getVideoTracks().length,i=0;e.mediaStream.getVideoTracks().forEach(function(n){e.mediaStream.removeTrack(n),n.stop(),++i,i>=r&&(e.isClosed=!0,e.parentElement.removeChild(e.surface),t())})})},e.prototype.getCapabilities=function(){return new hN(this.getFirstTrackOrFail())},e}(),_N=function(){function e(e){this.mediaStream=e}return e.prototype.render=function(e,t,n){return uN(this,void 0,void 0,function(){return dN(this,function(r){return[2,gN.create(e,this.mediaStream,t,n)]})})},e.create=function(t){return uN(this,void 0,void 0,function(){var n,r;return dN(this,function(i){switch(i.label){case 0:if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return n={audio:!1,video:t},[4,navigator.mediaDevices.getUserMedia(n)];case 1:return r=i.sent(),[2,new e(r)]}})})},e}(),vN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},yN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},bN=function(){function e(){}return e.failIfNotSupported=function(){return vN(this,void 0,void 0,function(){return yN(this,function(t){if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return[2,new e]})})},e.prototype.create=function(e){return vN(this,void 0,void 0,function(){return yN(this,function(t){return[2,_N.create(e)]})})},e}(),xN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},SN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},CN=function(){function e(){}return e.retrieve=function(){return navigator.mediaDevices?e.getCamerasFromMediaDevices():MediaStreamTrack&&MediaStreamTrack.getSources?e.getCamerasFromMediaStreamTrack():e.rejectWithError()},e.rejectWithError=function(){var t=ZM.unableToQuerySupportedDevices();return e.isHttpsOrLocalhost()||(t=ZM.insecureContextCameraQueryError()),Promise.reject(t)},e.isHttpsOrLocalhost=function(){if(location.protocol===`https:`)return!0;var e=location.host.split(`:`)[0];return e===`127.0.0.1`||e===`localhost`},e.getCamerasFromMediaDevices=function(){return xN(this,void 0,void 0,function(){var e,t,n,r,i,a,o;return SN(this,function(s){switch(s.label){case 0:return e=function(e){for(var t=e.getVideoTracks(),n=0,r=t;n<r.length;n++){var i=r[n];i.enabled=!1,i.stop(),e.removeTrack(i)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return t=s.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(n=s.sent(),r=[],i=0,a=n;i<a.length;i++)o=a[i],o.kind===`videoinput`&&r.push({id:o.deviceId,label:o.label});return e(t),[2,r]}})})},e.getCamerasFromMediaStreamTrack=function(){return new Promise(function(e,t){MediaStreamTrack.getSources(function(t){for(var n=[],r=0,i=t;r<i.length;r++){var a=i[r];a.kind===`video`&&n.push({id:a.id,label:a.label})}e(n)})})},e}(),wN;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.NOT_STARTED=1]=`NOT_STARTED`,e[e.SCANNING=2]=`SCANNING`,e[e.PAUSED=3]=`PAUSED`})(wN||={});var TN=function(){function e(){this.state=wN.NOT_STARTED,this.onGoingTransactionNewState=wN.UNKNOWN}return e.prototype.directTransition=function(e){this.failIfTransitionOngoing(),this.validateTransition(e),this.state=e},e.prototype.startTransition=function(e){return this.failIfTransitionOngoing(),this.validateTransition(e),this.onGoingTransactionNewState=e,this},e.prototype.execute=function(){if(this.onGoingTransactionNewState===wN.UNKNOWN)throw`Transaction is already cancelled, cannot execute().`;var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=wN.UNKNOWN,this.directTransition(e)},e.prototype.cancel=function(){if(this.onGoingTransactionNewState===wN.UNKNOWN)throw`Transaction is already cancelled, cannot cancel().`;this.onGoingTransactionNewState=wN.UNKNOWN},e.prototype.getState=function(){return this.state},e.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==wN.UNKNOWN)throw`Cannot transition to a new state, already under transition`},e.prototype.validateTransition=function(e){switch(this.state){case wN.UNKNOWN:throw`Transition from unknown is not allowed`;case wN.NOT_STARTED:this.failIfNewStateIs(e,[wN.PAUSED]);break;case wN.SCANNING:break;case wN.PAUSED:break}},e.prototype.failIfNewStateIs=function(e,t){for(var n=0,r=t;n<r.length;n++)if(e===r[n])throw`Cannot transition from ${this.state} to ${e}`},e}(),EN=function(){function e(e){this.stateManager=e}return e.prototype.startTransition=function(e){return this.stateManager.startTransition(e)},e.prototype.directTransition=function(e){this.stateManager.directTransition(e)},e.prototype.getState=function(){return this.stateManager.getState()},e.prototype.canScanFile=function(){return this.stateManager.getState()===wN.NOT_STARTED},e.prototype.isScanning=function(){return this.stateManager.getState()!==wN.NOT_STARTED},e.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===wN.SCANNING},e.prototype.isPaused=function(){return this.stateManager.getState()===wN.PAUSED},e}(),DN=function(){function e(){}return e.create=function(){return new EN(new TN)},e}(),ON=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),kN=function(e){ON(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.DEFAULT_WIDTH=300,t.DEFAULT_WIDTH_OFFSET=2,t.FILE_SCAN_MIN_HEIGHT=300,t.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,t.MIN_QR_BOX_SIZE=50,t.SHADED_LEFT=1,t.SHADED_RIGHT=2,t.SHADED_TOP=3,t.SHADED_BOTTOM=4,t.SHADED_REGION_ELEMENT_ID=`qr-shaded-region`,t.VERBOSE=!1,t.BORDER_SHADER_DEFAULT_COLOR=`#ffffff`,t.BORDER_SHADER_MATCH_COLOR=`rgb(90, 193, 56)`,t}(UM),AN=function(){function e(e,t){this.logger=t,this.fps=kN.SCAN_DEFAULT_FPS,e?(e.fps&&(this.fps=e.fps),this.disableFlip=e.disableFlip===!0,this.qrbox=e.qrbox,this.aspectRatio=e.aspectRatio,this.videoConstraints=e.videoConstraints):this.disableFlip=kN.DEFAULT_DISABLE_FLIP}return e.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?eN.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError(`Empty videoConstraints`,!0),!1)},e.prototype.isShadedBoxEnabled=function(){return!YM(this.qrbox)},e.create=function(t,n){return new e(t,n)},e}(),jN=function(){function e(e,t){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(e))throw`HTML Element with id=${e} not found`;this.elementId=e,this.verbose=!1;var n;typeof t==`boolean`?this.verbose=t===!0:t&&(n=t,this.verbose=n.verbose===!0,n.experimentalFeatures),this.logger=new JM(this.verbose),this.qrcode=new cN(this.getSupportedFormats(t),this.getUseBarCodeDetectorIfSupported(n),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=DN.create()}return e.prototype.start=function(e,t,n,r){var i=this;if(!e)throw`cameraIdOrConfig is required`;if(!n||typeof n!=`function`)throw`qrCodeSuccessCallback is required and should be a function.`;var a=r||(this.verbose?this.logger.log:function(){}),o=AN.create(t,this.logger);this.clearElement();var s=!1;o.videoConstraints&&(o.isMediaStreamConstraintsValid()?s=!0:this.logger.logError(`'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'`,!0));var c=s,l=document.getElementById(this.elementId);l.clientWidth?l.clientWidth:kN.DEFAULT_WIDTH,l.style.position=`relative`,this.shouldScan=!0,this.element=l;var u=this,d=this.stateManagerProxy.startTransition(wN.SCANNING);return new Promise(function(t,r){var s=c?o.videoConstraints:u.createVideoConstraints(e);if(!s){d.cancel(),r(`videoConstraints should be defined`);return}var l={};(!c||o.aspectRatio)&&(l.aspectRatio=o.aspectRatio);var f={onRenderSurfaceReady:function(e,t){u.setupUi(e,t,o),u.isScanning=!0,u.foreverScan(o,n,a)}};bN.failIfNotSupported().then(function(e){e.create(s).then(function(e){return e.render(i.element,l,f).then(function(e){u.renderedCamera=e,d.execute(),t(null)}).catch(function(e){d.cancel(),r(e)})}).catch(function(e){d.cancel(),r(ZM.errorGettingUserMedia(e))})}).catch(function(e){d.cancel(),r(ZM.cameraStreamingNotSupported())})})},e.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw`Cannot pause, scanner is not scanning.`;this.stateManagerProxy.directTransition(wN.PAUSED),this.showPausedState(),(YM(e)||e!==!0)&&(e=!1),e&&this.renderedCamera&&this.renderedCamera.pause()},e.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw`Cannot result, scanner is not paused.`;if(!this.renderedCamera)throw`renderedCamera doesn't exist while trying resume()`;var e=this,t=function(){e.stateManagerProxy.directTransition(wN.SCANNING),e.hidePausedState()};if(!this.renderedCamera.isPaused()){t();return}this.renderedCamera.resume(function(){t()})},e.prototype.getState=function(){return this.stateManagerProxy.getState()},e.prototype.stop=function(){var e=this;if(!this.stateManagerProxy.isScanning())throw`Cannot stop, scanner is not running or paused.`;var t=this.stateManagerProxy.startTransition(wN.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var n=function(){if(e.element){var t=document.getElementById(kN.SHADED_REGION_ELEMENT_ID);t&&e.element.removeChild(t)}},r=this;return this.renderedCamera.close().then(function(){return r.renderedCamera=null,r.element&&(r.element.removeChild(r.canvasElement),r.canvasElement=null),n(),r.qrRegion&&=null,r.context&&=null,t.execute(),r.hidePausedState(),r.isScanning=!1,Promise.resolve()})},e.prototype.scanFile=function(e,t){return this.scanFileV2(e,t).then(function(e){return e.decodedText})},e.prototype.scanFileV2=function(e,t){var n=this;if(!e||!(e instanceof File))throw`imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.`;if(YM(t)&&(t=!0),!this.stateManagerProxy.canScanFile())throw`Cannot start file scan - ongoing camera scan`;return new Promise(function(r,i){n.possiblyCloseLastScanImageFile(),n.clearElement(),n.lastScanImageFile=URL.createObjectURL(e);var a=new Image;a.onload=function(){var e=a.width,o=a.height,s=document.getElementById(n.elementId),c=s.clientWidth?s.clientWidth:kN.DEFAULT_WIDTH,l=Math.max(s.clientHeight?s.clientHeight:o,kN.FILE_SCAN_MIN_HEIGHT),u=n.computeCanvasDrawConfig(e,o,c,l);if(t){var d=n.createCanvasElement(c,l,`qr-canvas-visible`);d.style.display=`inline-block`,s.appendChild(d);var f=d.getContext(`2d`);if(!f)throw`Unable to get 2d context from canvas`;f.canvas.width=c,f.canvas.height=l,f.drawImage(a,0,0,e,o,u.x,u.y,u.width,u.height)}var p=kN.FILE_SCAN_HIDDEN_CANVAS_PADDING,m=Math.max(a.width,u.width),h=Math.max(a.height,u.height),g=m+2*p,_=h+2*p,v=n.createCanvasElement(g,_);s.appendChild(v);var y=v.getContext(`2d`);if(!y)throw`Unable to get 2d context from canvas`;y.canvas.width=g,y.canvas.height=_,y.drawImage(a,0,0,e,o,p,p,m,h);try{n.qrcode.decodeRobustlyAsync(v).then(function(e){r(GM.createFromQrcodeResult(e))}).catch(i)}catch(e){i(`QR code parse error, error = ${e}`)}},a.onerror=i,a.onabort=i,a.onstalled=i,a.onsuspend=i,a.src=URL.createObjectURL(e)})},e.prototype.clear=function(){this.clearElement()},e.getCameras=function(){return CN.retrieve()},e.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},e.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},e.prototype.applyVideoConstraints=function(e){if(!e)throw`videoConstaints is required argument.`;if(!eN.isMediaStreamConstraintsValid(e,this.logger))throw`invalid videoConstaints passed, check logs for more details`;return this.getRenderedCameraOrFail().applyVideoConstraints(e)},e.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw`Scanning is not in running state, call this API only when QR code scanning using camera is in running state.`;return this.renderedCamera},e.prototype.getSupportedFormats=function(e){var t=[RM.QR_CODE,RM.AZTEC,RM.CODABAR,RM.CODE_39,RM.CODE_93,RM.CODE_128,RM.DATA_MATRIX,RM.MAXICODE,RM.ITF,RM.EAN_13,RM.EAN_8,RM.PDF_417,RM.RSS_14,RM.RSS_EXPANDED,RM.UPC_A,RM.UPC_E,RM.UPC_EAN_EXTENSION];if(!e||typeof e==`boolean`||!e.formatsToSupport)return t;if(!Array.isArray(e.formatsToSupport))throw`configOrVerbosityFlag.formatsToSupport should be undefined or an array.`;if(e.formatsToSupport.length===0)throw`Atleast 1 formatsToSupport is needed.`;for(var n=[],r=0,i=e.formatsToSupport;r<i.length;r++){var a=i[r];VM(a)?n.push(a):this.logger.warn(`Invalid format: ${a} passed in config, ignoring.`)}if(n.length===0)throw`None of formatsToSupport match supported values.`;return n},e.prototype.getUseBarCodeDetectorIfSupported=function(e){if(YM(e))return!0;if(!YM(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if(YM(e.experimentalFeatures))return!0;var t=e.experimentalFeatures;return YM(t.useBarCodeDetectorIfSupported)?!0:t.useBarCodeDetectorIfSupported!==!1},e.prototype.validateQrboxSize=function(e,t,n){var r=this,i=n.qrbox;this.validateQrboxConfig(i);var a=this.toQrdimensions(e,t,i),o=function(e){if(e<kN.MIN_QR_BOX_SIZE)throw`minimum size of 'config.qrbox' dimension value is ${kN.MIN_QR_BOX_SIZE}px.`};o(a.width),o(a.height),a.width=function(t){return t>e&&(r.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),t=e),t}(a.width)},e.prototype.validateQrboxConfig=function(e){if(typeof e!=`number`&&typeof e!=`function`&&(e.width===void 0||e.height===void 0))throw`Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set.`},e.prototype.toQrdimensions=function(e,t,n){if(typeof n==`number`)return{width:n,height:n};if(typeof n==`function`)try{return n(e,t)}catch(e){throw Error(`qrbox config was passed as a function but it failed with unknown error`+e)}return n},e.prototype.setupUi=function(e,t,n){n.isShadedBoxEnabled()&&this.validateQrboxSize(e,t,n);var r=YM(n.qrbox)?{width:e,height:t}:n.qrbox;this.validateQrboxConfig(r);var i=this.toQrdimensions(e,t,r);i.height>t&&this.logger.warn(`[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored`);var a=n.isShadedBoxEnabled()&&i.height<=t,o=a?this.getShadedRegionBounds(e,t,i):{x:0,y:0,width:e,height:t},s=this.createCanvasElement(o.width,o.height),c=s.getContext(`2d`,{willReadFrequently:!0});c.canvas.width=o.width,c.canvas.height=o.height,this.element.append(s),a&&this.possiblyInsertShadingElement(this.element,e,t,i),this.createScannerPausedUiElement(this.element),this.qrRegion=o,this.context=c,this.canvasElement=s},e.prototype.createScannerPausedUiElement=function(e){var t=document.createElement(`div`);t.innerText=ZM.scannerPaused(),t.style.display=`none`,t.style.position=`absolute`,t.style.top=`0px`,t.style.zIndex=`1`,t.style.background=`rgba(9, 9, 9, 0.46)`,t.style.color=`#FFECEC`,t.style.textAlign=`center`,t.style.width=`100%`,e.appendChild(t),this.scannerPausedUiElement=t},e.prototype.scanContext=function(e,t){var n=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(t){return e(t.text,GM.createFromQrcodeResult(t)),n.possiblyUpdateShaders(!0),!0}).catch(function(e){n.possiblyUpdateShaders(!1);var r=ZM.codeParseError(e);return t(r,qM.createFrom(r)),!1})},e.prototype.foreverScan=function(e,t,n){var r=this;if(this.shouldScan&&this.renderedCamera){var i=this.renderedCamera.getSurface(),a=i.videoWidth/i.clientWidth,o=i.videoHeight/i.clientHeight;if(!this.qrRegion)throw`qrRegion undefined when localMediaStream is ready.`;var s=this.qrRegion.width*a,c=this.qrRegion.height*o,l=this.qrRegion.x*a,u=this.qrRegion.y*o;this.context.drawImage(i,l,u,s,c,0,0,this.qrRegion.width,this.qrRegion.height);var d=function(){r.foreverScanTimeout=setTimeout(function(){r.foreverScan(e,t,n)},r.getTimeoutFps(e.fps))};this.scanContext(t,n).then(function(i){!i&&e.disableFlip!==!0?(r.context.translate(r.context.canvas.width,0),r.context.scale(-1,1),r.scanContext(t,n).finally(function(){d()})):d()}).catch(function(e){r.logger.logError(`Error happend while scanning context`,e),d()})}},e.prototype.createVideoConstraints=function(e){if(typeof e==`string`)return{deviceId:{exact:e}};if(typeof e==`object`){var t=`facingMode`,n=`deviceId`,r={user:!0,environment:!0},i=`exact`,a=function(e){if(e in r)return!0;throw`config has invalid 'facingMode' value = '${e}'`},o=Object.keys(e);if(o.length!==1)throw`'cameraIdOrConfig' object should have exactly 1 key, if passed as an object, found ${o.length} keys`;var s=Object.keys(e)[0];if(s!==t&&s!==n)throw`Only '${t}' and '${n}' are supported for 'cameraIdOrConfig'`;if(s===t){var c=e.facingMode;if(typeof c==`string`){if(a(c))return{facingMode:c}}else if(typeof c==`object`)if(i in c){if(a(c[`${i}`]))return{facingMode:{exact:c[`${i}`]}}}else throw`'facingMode' should be string or object with ${i} as key.`;else throw`Invalid type of 'facingMode' = ${typeof c}`}else{var l=e.deviceId;if(typeof l==`string`)return{deviceId:l};if(typeof l==`object`){if(i in l)return{deviceId:{exact:l[`${i}`]}};throw`'deviceId' should be string or object with ${i} as key.`}else throw`Invalid type of 'deviceId' = ${typeof l}`}}throw`Invalid type of 'cameraIdOrConfig' = ${typeof e}`},e.prototype.computeCanvasDrawConfig=function(e,t,n,r){if(e<=n&&t<=r)return{x:(n-e)/2,y:(r-t)/2,width:e,height:t};var i=e,a=t;return e>n&&(t=n/e*t,e=n),t>r&&(e=r/t*e,t=r),this.logger.log(`Image downsampled from ${i}X${a} to ${e}X${t}.`),this.computeCanvasDrawConfig(e,t,n,r)},e.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw`Cannot clear while scan is ongoing, close it first.`;var e=document.getElementById(this.elementId);e&&(e.innerHTML=``)},e.prototype.possiblyUpdateShaders=function(e){this.qrMatch!==e&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(t){t.style.backgroundColor=e?kN.BORDER_SHADER_MATCH_COLOR:kN.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=e)},e.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&=(URL.revokeObjectURL(this.lastScanImageFile),null)},e.prototype.createCanvasElement=function(e,t,n){var r=e,i=t,a=document.createElement(`canvas`);return a.style.width=`${r}px`,a.style.height=`${i}px`,a.style.display=`none`,a.id=YM(n)?`qr-canvas`:n,a},e.prototype.getShadedRegionBounds=function(e,t,n){if(n.width>e||n.height>t)throw`'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.`;return{x:(e-n.width)/2,y:(t-n.height)/2,width:n.width,height:n.height}},e.prototype.possiblyInsertShadingElement=function(e,t,n,r){if(!(t-r.width<1||n-r.height<1)){var i=document.createElement(`div`);i.style.position=`absolute`;var a=(t-r.width)/2,o=(n-r.height)/2;if(i.style.borderLeft=`${a}px solid rgba(0, 0, 0, 0.48)`,i.style.borderRight=`${a}px solid rgba(0, 0, 0, 0.48)`,i.style.borderTop=`${o}px solid rgba(0, 0, 0, 0.48)`,i.style.borderBottom=`${o}px solid rgba(0, 0, 0, 0.48)`,i.style.boxSizing=`border-box`,i.style.top=`0px`,i.style.bottom=`0px`,i.style.left=`0px`,i.style.right=`0px`,i.id=`${kN.SHADED_REGION_ELEMENT_ID}`,t-r.width<11||n-r.height<11)this.hasBorderShaders=!1;else{var s=5,c=40;this.insertShaderBorders(i,c,s,-s,null,0,!0),this.insertShaderBorders(i,c,s,-s,null,0,!1),this.insertShaderBorders(i,c,s,null,-s,0,!0),this.insertShaderBorders(i,c,s,null,-s,0,!1),this.insertShaderBorders(i,s,c+s,-s,null,-s,!0),this.insertShaderBorders(i,s,c+s,null,-s,-s,!0),this.insertShaderBorders(i,s,c+s,-s,null,-s,!1),this.insertShaderBorders(i,s,c+s,null,-s,-s,!1),this.hasBorderShaders=!0}e.append(i)}},e.prototype.insertShaderBorders=function(e,t,n,r,i,a,o){var s=document.createElement(`div`);s.style.position=`absolute`,s.style.backgroundColor=kN.BORDER_SHADER_DEFAULT_COLOR,s.style.width=`${t}px`,s.style.height=`${n}px`,r!==null&&(s.style.top=`${r}px`),i!==null&&(s.style.bottom=`${i}px`),o?s.style.left=`${a}px`:s.style.right=`${a}px`,this.borderShaders||=[],this.borderShaders.push(s),e.appendChild(s)},e.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw`[internal error] scanner paused UI element not found`;this.scannerPausedUiElement.style.display=`block`},e.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw`[internal error] scanner paused UI element not found`;this.scannerPausedUiElement.style.display=`none`},e.prototype.getTimeoutFps=function(e){return 1e3/e},e}(),MN=`data:image/svg+xml;base64,`,NN=MN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNzEuNjQzIDM3MS42NDMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM3MS42NDMgMzcxLjY0MyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTEwNS4wODQgMzguMjcxaDE2My43Njh2MjBIMTA1LjA4NHoiLz48cGF0aCBkPSJNMzExLjU5NiAxOTAuMTg5Yy03LjQ0MS05LjM0Ny0xOC40MDMtMTYuMjA2LTMyLjc0My0yMC41MjJWMzBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwSDEyNS4wODRjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHYxMjAuMTQzaC04LjI5NmMtMTYuNTQyIDAtMzAgMTMuNDU4LTMwIDMwdjEuMzMzYTI5LjgwNCAyOS44MDQgMCAwIDAgNC42MDMgMTUuOTM5Yy03LjM0IDUuNDc0LTEyLjEwMyAxNC4yMjEtMTIuMTAzIDI0LjA2MXYxLjMzM2MwIDkuODQgNC43NjMgMTguNTg3IDEyLjEwMyAyNC4wNjJhMjkuODEgMjkuODEgMCAwIDAtNC42MDMgMTUuOTM4djEuMzMzYzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMGg4LjMyNGMuNDI3IDExLjYzMSA3LjUwMyAyMS41ODcgMTcuNTM0IDI2LjE3Ny45MzEgMTAuNTAzIDQuMDg0IDMwLjE4NyAxNC43NjggNDUuNTM3YTkuOTg4IDkuOTg4IDAgMCAwIDguMjE2IDQuMjg4IDkuOTU4IDkuOTU4IDAgMCAwIDUuNzA0LTEuNzkzYzQuNTMzLTMuMTU1IDUuNjUtOS4zODggMi40OTUtMTMuOTIxLTYuNzk4LTkuNzY3LTkuNjAyLTIyLjYwOC0xMC43Ni0zMS40aDgyLjY4NWMuMjcyLjQxNC41NDUuODE4LjgxNSAxLjIxIDMuMTQyIDQuNTQxIDkuMzcyIDUuNjc5IDEzLjkxMyAyLjUzNCA0LjU0Mi0zLjE0MiA1LjY3Ny05LjM3MSAyLjUzNS0xMy45MTMtMTEuOTE5LTE3LjIyOS04Ljc4Ny0zNS44ODQgOS41ODEtNTcuMDEyIDMuMDY3LTIuNjUyIDEyLjMwNy0xMS43MzIgMTEuMjE3LTI0LjAzMy0uODI4LTkuMzQzLTcuMTA5LTE3LjE5NC0xOC42NjktMjMuMzM3YTkuODU3IDkuODU3IDAgMCAwLTEuMDYxLS40ODZjLS40NjYtLjE4Mi0xMS40MDMtNC41NzktOS43NDEtMTUuNzA2IDEuMDA3LTYuNzM3IDE0Ljc2OC04LjI3MyAyMy43NjYtNy42NjYgMjMuMTU2IDEuNTY5IDM5LjY5OCA3LjgwMyA0Ny44MzYgMTguMDI2IDUuNzUyIDcuMjI1IDcuNjA3IDE2LjYyMyA1LjY3MyAyOC43MzMtLjQxMyAyLjU4NS0uODI0IDUuMjQxLTEuMjQ1IDcuOTU5LTUuNzU2IDM3LjE5NC0xMi45MTkgODMuNDgzLTQ5Ljg3IDExNC42NjEtNC4yMjEgMy41NjEtNC43NTYgOS44Ny0xLjE5NCAxNC4wOTJhOS45OCA5Ljk4IDAgMCAwIDcuNjQ4IDMuNTUxIDkuOTU1IDkuOTU1IDAgMCAwIDYuNDQ0LTIuMzU4YzQyLjY3Mi0zNi4wMDUgNTAuODAyLTg4LjUzMyA1Ni43MzctMTI2Ljg4OC40MTUtMi42ODQuODIxLTUuMzA5IDEuMjI5LTcuODYzIDIuODM0LTE3LjcyMS0uNDU1LTMyLjY0MS05Ljc3Mi00NC4zNDV6bS0yMzIuMzA4IDQyLjYyYy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM2MwLTUuNTE0IDQuNDg2LTEwIDEwLTEwaDE1djIxLjMzM2gtMTV6bS0yLjUtNTIuNjY2YzAtNS41MTQgNC40ODYtMTAgMTAtMTBoNy41djIxLjMzM2gtNy41Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM3ptMTcuNSA5My45OTloLTcuNWMtNS41MTQgMC0xMC00LjQ4Ni0xMC0xMHYtMS4zMzNjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGg3LjV2MjEuMzMzem0zMC43OTYgMjguODg3Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi04LjI3MWg5MS40NTdjLS44NTEgNi42NjgtLjQzNyAxMi43ODcuNzMxIDE4LjI3MWgtODIuMTg4em03OS40ODItMTEzLjY5OGMtMy4xMjQgMjAuOTA2IDEyLjQyNyAzMy4xODQgMjEuNjI1IDM3LjA0IDUuNDQxIDIuOTY4IDcuNTUxIDUuNjQ3IDcuNzAxIDcuMTg4LjIxIDIuMTUtMi41NTMgNS42ODQtNC40NzcgNy4yNTEtLjQ4Mi4zNzgtLjkyOS44LTEuMzM1IDEuMjYxLTYuOTg3IDcuOTM2LTExLjk4MiAxNS41Mi0xNS40MzIgMjIuNjg4aC05Ny41NjRWMzBjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGgxMjMuNzY5YzUuNTE0IDAgMTAgNC40ODYgMTAgMTB2MTM1LjU3OWMtMy4wMzItLjM4MS02LjE1LS42OTQtOS4zODktLjkxNC0yNS4xNTktMS42OTQtNDIuMzcgNy43NDgtNDQuODk4IDI0LjY2NnoiLz48cGF0aCBkPSJNMTc5LjEyOSA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXpNMTcyLjYyOSAxNDIuODZoLTEyLjU2VjEzMC44YTUgNSAwIDEgMC0xMCAwdjE3LjA2MWE1IDUgMCAwIDAgNSA1aDE3LjU2YTUgNSAwIDEgMCAwLTEwLjAwMXpNMjE2LjU2OCA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXptLTUgMjQuMDYxaC0xNC4wNlY5My4xNjdoMTQuMDZ2MTQuMDYxek0yMTEuNjY5IDEyNS45MzZIMTk3LjQxYTUgNSAwIDAgMC01IDV2MTQuMjU3YTUgNSAwIDAgMCA1IDVoMTQuMjU5YTUgNSAwIDAgMCA1LTV2LTE0LjI1N2E1IDUgMCAwIDAtNS01eiIvPjwvc3ZnPg==`,PN=MN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OS4wMTggNTkuMDE4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS4wMTggNTkuMDE4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJtNTguNzQxIDU0LjgwOS01Ljk2OS02LjI0NGExMC43NCAxMC43NCAwIDAgMCAyLjgyLTcuMjVjMC01Ljk1My00Ljg0My0xMC43OTYtMTAuNzk2LTEwLjc5NlMzNCAzNS4zNjEgMzQgNDEuMzE0IDM4Ljg0MyA1Mi4xMSA0NC43OTYgNTIuMTFjMi40NDEgMCA0LjY4OC0uODI0IDYuNDk5LTIuMTk2bDYuMDAxIDYuMjc3YS45OTguOTk4IDAgMCAwIDEuNDE0LjAzMiAxIDEgMCAwIDAgLjAzMS0xLjQxNHpNMzYgNDEuMzE0YzAtNC44NSAzLjk0Ni04Ljc5NiA4Ljc5Ni04Ljc5NnM4Ljc5NiAzLjk0NiA4Ljc5NiA4Ljc5Ni0zLjk0NiA4Ljc5Ni04Ljc5NiA4Ljc5NlMzNiA0Ni4xNjQgMzYgNDEuMzE0ek0xMC40MzEgMTYuMDg4YzAgMy4wNyAyLjQ5OCA1LjU2OCA1LjU2OSA1LjU2OHM1LjU2OS0yLjQ5OCA1LjU2OS01LjU2OGMwLTMuMDcxLTIuNDk4LTUuNTY5LTUuNTY5LTUuNTY5cy01LjU2OSAyLjQ5OC01LjU2OSA1LjU2OXptOS4xMzggMGMwIDEuOTY4LTEuNjAyIDMuNTY4LTMuNTY5IDMuNTY4cy0zLjU2OS0xLjYwMS0zLjU2OS0zLjU2OCAxLjYwMi0zLjU2OSAzLjU2OS0zLjU2OSAzLjU2OSAxLjYwMSAzLjU2OSAzLjU2OXoiLz48cGF0aCBkPSJtMzAuODgyIDI4Ljk4NyA5LjE4LTEwLjA1NCAxMS4yNjIgMTAuMzIzYTEgMSAwIDAgMCAxLjM1MS0xLjQ3NWwtMTItMTFhMSAxIDAgMCAwLTEuNDE0LjA2M2wtOS43OTQgMTAuNzI3LTQuNzQzLTQuNzQzYTEuMDAzIDEuMDAzIDAgMCAwLTEuMzY4LS4wNDRMNi4zMzkgMzcuNzY4YTEgMSAwIDEgMCAxLjMyMiAxLjUwMWwxNi4zMTMtMTQuMzYyIDcuMzE5IDcuMzE4YS45OTkuOTk5IDAgMSAwIDEuNDE0LTEuNDE0bC0xLjgyNS0xLjgyNHoiLz48cGF0aCBkPSJNMzAgNDYuNTE4SDJ2LTQyaDU0djI4YTEgMSAwIDEgMCAyIDB2LTI5YTEgMSAwIDAgMC0xLTFIMWExIDEgMCAwIDAtMSAxdjQ0YTEgMSAwIDAgMCAxIDFoMjlhMSAxIDAgMSAwIDAtMnoiLz48L3N2Zz4=`,FN=MN+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NjAgNDYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NjAgNDYwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMjMwIDBDMTAyLjk3NSAwIDAgMTAyLjk3NSAwIDIzMHMxMDIuOTc1IDIzMCAyMzAgMjMwIDIzMC0xMDIuOTc0IDIzMC0yMzBTMzU3LjAyNSAwIDIzMCAwem0zOC4zMzMgMzc3LjM2YzAgOC42NzYtNy4wMzQgMTUuNzEtMTUuNzEgMTUuNzFoLTQzLjEwMWMtOC42NzYgMC0xNS43MS03LjAzNC0xNS43MS0xNS43MVYyMDIuNDc3YzAtOC42NzYgNy4wMzMtMTUuNzEgMTUuNzEtMTUuNzFoNDMuMTAxYzguNjc2IDAgMTUuNzEgNy4wMzMgMTUuNzEgMTUuNzFWMzc3LjM2ek0yMzAgMTU3Yy0yMS41MzkgMC0zOS0xNy40NjEtMzktMzlzMTcuNDYxLTM5IDM5LTM5IDM5IDE3LjQ2MSAzOSAzOS0xNy40NjEgMzktMzkgMzl6Ii8+PC9zdmc+`,IN=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAQgAAAEIBarqQRAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE1SURBVDiNfdI7S0NBEAXgLya1otFgpbYSbISAgpXYi6CmiH9KCAiChaVga6OiWPgfRDQ+0itaGVNosXtluWwcuMzePfM4M3sq8lbHBubwg1dc4m1E/J/N4ghDPOIsfk/4xiEao5KX0McFljN4C9d4QTPXuY99jP3DsIoDPGM6BY5i5yI5R7O4q+ImFkJY2DCh3cAH2klyB+9J1xUMMAG7eCh1a+Mr+k48b5diXrFVwwLuS+BJ9MfR7+G0FHOHhTHhnXNWS87VDF4pcnfQK4Ep7XScNLmPTZgURNKKYENYWDpzW1BhscS1WHS8CDgURFJQrWcoF3c13KKbgg1BYQfy8xZWEzTTw1QZbAoKu8FqJnktdu5hcVSHmchiILzzuaDQvjBzV2m8yohCE1jHfPx/xhU+y4G/D75ELlRJsSYAAAAASUVORK5CYII=`,LN=function(){function e(){}return e.createDefault=function(){return{hasPermission:!1,lastUsedCameraId:null}},e}(),RN=function(){function e(){this.data=LN.createDefault();var t=localStorage.getItem(e.LOCAL_STORAGE_KEY);t?this.data=JSON.parse(t):this.reset()}return e.prototype.hasCameraPermissions=function(){return this.data.hasPermission},e.prototype.getLastUsedCameraId=function(){return this.data.lastUsedCameraId},e.prototype.setHasPermission=function(e){this.data.hasPermission=e,this.flush()},e.prototype.setLastUsedCameraId=function(e){this.data.lastUsedCameraId=e,this.flush()},e.prototype.resetLastUsedCameraId=function(){this.data.lastUsedCameraId=null,this.flush()},e.prototype.reset=function(){this.data=LN.createDefault(),this.flush()},e.prototype.flush=function(){localStorage.setItem(e.LOCAL_STORAGE_KEY,JSON.stringify(this.data))},e.LOCAL_STORAGE_KEY=`HTML5_QRCODE_DATA`,e}(),zN=function(){function e(){this.infoDiv=document.createElement(`div`)}return e.prototype.renderInto=function(e){this.infoDiv.style.position=`absolute`,this.infoDiv.style.top=`10px`,this.infoDiv.style.right=`10px`,this.infoDiv.style.zIndex=`2`,this.infoDiv.style.display=`none`,this.infoDiv.style.padding=`5pt`,this.infoDiv.style.border=`1px solid #171717`,this.infoDiv.style.fontSize=`10pt`,this.infoDiv.style.background=`rgb(0 0 0 / 69%)`,this.infoDiv.style.borderRadius=`5px`,this.infoDiv.style.textAlign=`center`,this.infoDiv.style.fontWeight=`400`,this.infoDiv.style.color=`white`,this.infoDiv.innerText=$M.poweredBy();var t=document.createElement(`a`);t.innerText=`ScanApp`,t.href=`https://scanapp.org`,t.target=`new`,t.style.color=`white`,this.infoDiv.appendChild(t);var n=document.createElement(`br`),r=document.createElement(`br`);this.infoDiv.appendChild(n),this.infoDiv.appendChild(r);var i=document.createElement(`a`);i.innerText=$M.reportIssues(),i.href=`https://github.com/mebjas/html5-qrcode/issues`,i.target=`new`,i.style.color=`white`,this.infoDiv.appendChild(i),e.appendChild(this.infoDiv)},e.prototype.show=function(){this.infoDiv.style.display=`block`},e.prototype.hide=function(){this.infoDiv.style.display=`none`},e}(),BN=function(){function e(e,t){this.isShowingInfoIcon=!0,this.onTapIn=e,this.onTapOut=t,this.infoIcon=document.createElement(`img`)}return e.prototype.renderInto=function(e){var t=this;this.infoIcon.alt=`Info icon`,this.infoIcon.src=FN,this.infoIcon.style.position=`absolute`,this.infoIcon.style.top=`4px`,this.infoIcon.style.right=`4px`,this.infoIcon.style.opacity=`0.6`,this.infoIcon.style.cursor=`pointer`,this.infoIcon.style.zIndex=`2`,this.infoIcon.style.width=`16px`,this.infoIcon.style.height=`16px`,this.infoIcon.onmouseover=function(e){return t.onHoverIn()},this.infoIcon.onmouseout=function(e){return t.onHoverOut()},this.infoIcon.onclick=function(e){return t.onClick()},e.appendChild(this.infoIcon)},e.prototype.onHoverIn=function(){this.isShowingInfoIcon&&(this.infoIcon.style.opacity=`1`)},e.prototype.onHoverOut=function(){this.isShowingInfoIcon&&(this.infoIcon.style.opacity=`0.6`)},e.prototype.onClick=function(){this.isShowingInfoIcon?(this.isShowingInfoIcon=!1,this.onTapIn(),this.infoIcon.src=IN,this.infoIcon.style.opacity=`1`):(this.isShowingInfoIcon=!0,this.onTapOut(),this.infoIcon.src=FN,this.infoIcon.style.opacity=`0.6`)},e}(),VN=function(){function e(){var e=this;this.infoDiv=new zN,this.infoIcon=new BN(function(){e.infoDiv.show()},function(){e.infoDiv.hide()})}return e.prototype.renderInto=function(e){this.infoDiv.renderInto(e),this.infoIcon.renderInto(e)},e}(),HN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},UN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},WN=function(){function e(){}return e.hasPermissions=function(){return HN(this,void 0,void 0,function(){var e,t,n,r;return UN(this,function(i){switch(i.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:for(e=i.sent(),t=0,n=e;t<n.length;t++)if(r=n[t],r.kind===`videoinput`&&r.label)return[2,!0];return[2,!1]}})})},e}(),GN=function(){function e(e){this.supportedScanTypes=this.validateAndReturnScanTypes(e)}return e.prototype.getDefaultScanType=function(){return this.supportedScanTypes[0]},e.prototype.hasMoreThanOneScanType=function(){return this.supportedScanTypes.length>1},e.prototype.isCameraScanRequired=function(){for(var t=0,n=this.supportedScanTypes;t<n.length;t++){var r=n[t];if(e.isCameraScanType(r))return!0}return!1},e.isCameraScanType=function(e){return e===HM.SCAN_TYPE_CAMERA},e.isFileScanType=function(e){return e===HM.SCAN_TYPE_FILE},e.prototype.validateAndReturnScanTypes=function(e){if(!e||e.length===0)return UM.DEFAULT_SUPPORTED_SCAN_TYPE;var t=UM.DEFAULT_SUPPORTED_SCAN_TYPE.length;if(e.length>t)throw`Max ${t} values expected for supportedScanTypes`;for(var n=0,r=e;n<r.length;n++){var i=r[n];if(!UM.DEFAULT_SUPPORTED_SCAN_TYPE.includes(i))throw`Unsupported scan type ${i}`}return e},e}(),KN=function(){function e(){}return e.ALL_ELEMENT_CLASS=`html5-qrcode-element`,e.CAMERA_PERMISSION_BUTTON_ID=`html5-qrcode-button-camera-permission`,e.CAMERA_START_BUTTON_ID=`html5-qrcode-button-camera-start`,e.CAMERA_STOP_BUTTON_ID=`html5-qrcode-button-camera-stop`,e.TORCH_BUTTON_ID=`html5-qrcode-button-torch`,e.CAMERA_SELECTION_SELECT_ID=`html5-qrcode-select-camera`,e.FILE_SELECTION_BUTTON_ID=`html5-qrcode-button-file-selection`,e.ZOOM_SLIDER_ID=`html5-qrcode-input-range-zoom`,e.SCAN_TYPE_CHANGE_ANCHOR_ID=`html5-qrcode-anchor-scan-type-change`,e.TORCH_BUTTON_CLASS_TORCH_ON=`html5-qrcode-button-torch-on`,e.TORCH_BUTTON_CLASS_TORCH_OFF=`html5-qrcode-button-torch-off`,e}(),qN=function(){function e(){}return e.createElement=function(e,t){var n=document.createElement(e);return n.id=t,n.classList.add(KN.ALL_ELEMENT_CLASS),e===`button`&&n.setAttribute(`type`,`button`),n},e}(),JN=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},YN=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},XN=function(){function e(e,t,n){this.isTorchOn=!1,this.torchCapability=e,this.buttonController=t,this.onTorchActionFailureCallback=n}return e.prototype.isTorchEnabled=function(){return this.isTorchOn},e.prototype.flipState=function(){return JN(this,void 0,void 0,function(){var e,t;return YN(this,function(n){switch(n.label){case 0:this.buttonController.disable(),e=!this.isTorchOn,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.torchCapability.apply(e)];case 2:return n.sent(),this.updateUiBasedOnLatestSettings(this.torchCapability.value(),e),[3,4];case 3:return t=n.sent(),this.propagateFailure(e,t),this.buttonController.enable(),[3,4];case 4:return[2]}})})},e.prototype.updateUiBasedOnLatestSettings=function(e,t){e===t?(this.buttonController.setText(t?QM.torchOffButton():QM.torchOnButton()),this.isTorchOn=t):this.propagateFailure(t),this.buttonController.enable()},e.prototype.propagateFailure=function(e,t){var n=e?QM.torchOnFailedMessage():QM.torchOffFailedMessage();t&&(n+=`; Error = `+t),this.onTorchActionFailureCallback(n)},e.prototype.reset=function(){this.isTorchOn=!1},e}(),ZN=function(){function e(e,t){this.onTorchActionFailureCallback=t,this.torchButton=qN.createElement(`button`,KN.TORCH_BUTTON_ID),this.torchController=new XN(e,this,t)}return e.prototype.render=function(e,t){var n=this;this.torchButton.innerText=QM.torchOnButton(),this.torchButton.style.display=t.display,this.torchButton.style.marginLeft=t.marginLeft;var r=this;this.torchButton.addEventListener(`click`,function(e){return JN(n,void 0,void 0,function(){return YN(this,function(e){switch(e.label){case 0:return[4,r.torchController.flipState()];case 1:return e.sent(),r.torchController.isTorchEnabled()?(r.torchButton.classList.remove(KN.TORCH_BUTTON_CLASS_TORCH_OFF),r.torchButton.classList.add(KN.TORCH_BUTTON_CLASS_TORCH_ON)):(r.torchButton.classList.remove(KN.TORCH_BUTTON_CLASS_TORCH_ON),r.torchButton.classList.add(KN.TORCH_BUTTON_CLASS_TORCH_OFF)),[2]}})})}),e.appendChild(this.torchButton)},e.prototype.updateTorchCapability=function(e){this.torchController=new XN(e,this,this.onTorchActionFailureCallback)},e.prototype.getTorchButton=function(){return this.torchButton},e.prototype.hide=function(){this.torchButton.style.display=`none`},e.prototype.show=function(){this.torchButton.style.display=`inline-block`},e.prototype.disable=function(){this.torchButton.disabled=!0},e.prototype.enable=function(){this.torchButton.disabled=!1},e.prototype.setText=function(e){this.torchButton.innerText=e},e.prototype.reset=function(){this.torchButton.innerText=QM.torchOnButton(),this.torchController.reset()},e.create=function(t,n,r,i){var a=new e(n,i);return a.render(t,r),a},e}(),QN=function(){function e(e,t,n){this.fileBasedScanRegion=this.createFileBasedScanRegion(),this.fileBasedScanRegion.style.display=t?`block`:`none`,e.appendChild(this.fileBasedScanRegion);var r=document.createElement(`label`);r.setAttribute(`for`,this.getFileScanInputId()),r.style.display=`inline-block`,this.fileBasedScanRegion.appendChild(r),this.fileSelectionButton=qN.createElement(`button`,KN.FILE_SELECTION_BUTTON_ID),this.setInitialValueToButton(),this.fileSelectionButton.addEventListener(`click`,function(e){r.click()}),r.append(this.fileSelectionButton),this.fileScanInput=qN.createElement(`input`,this.getFileScanInputId()),this.fileScanInput.type=`file`,this.fileScanInput.accept=`image/*`,this.fileScanInput.style.display=`none`,r.appendChild(this.fileScanInput);var i=this;this.fileScanInput.addEventListener(`change`,function(e){if(!(e==null||e.target==null)){var t=e.target;if(!(t.files&&t.files.length===0)){var r=t.files[0],a=r.name;i.setImageNameToButton(a),n(r)}}});var a=this.createDragAndDropMessage();this.fileBasedScanRegion.appendChild(a),this.fileBasedScanRegion.addEventListener(`dragenter`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionActiveBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`dragleave`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionDefaultBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`dragover`,function(e){i.fileBasedScanRegion.style.border=i.fileBasedScanRegionActiveBorder(),e.stopPropagation(),e.preventDefault()}),this.fileBasedScanRegion.addEventListener(`drop`,function(e){e.stopPropagation(),e.preventDefault(),i.fileBasedScanRegion.style.border=i.fileBasedScanRegionDefaultBorder();var t=e.dataTransfer;if(t){var r=t.files;if(!r||r.length===0)return;for(var o=!1,s=0;s<r.length;++s){var c=r.item(s);if(c&&c.type.match(/image.*/)){o=!0;var l=c.name;i.setImageNameToButton(l),n(c),a.innerText=QM.dragAndDropMessage();break}}o||(a.innerText=QM.dragAndDropMessageOnlyImages())}})}return e.prototype.hide=function(){this.fileBasedScanRegion.style.display=`none`,this.fileScanInput.disabled=!0},e.prototype.show=function(){this.fileBasedScanRegion.style.display=`block`,this.fileScanInput.disabled=!1},e.prototype.isShowing=function(){return this.fileBasedScanRegion.style.display===`block`},e.prototype.resetValue=function(){this.fileScanInput.value=``,this.setInitialValueToButton()},e.prototype.createFileBasedScanRegion=function(){var e=document.createElement(`div`);return e.style.textAlign=`center`,e.style.margin=`auto`,e.style.width=`80%`,e.style.maxWidth=`600px`,e.style.border=this.fileBasedScanRegionDefaultBorder(),e.style.padding=`10px`,e.style.marginBottom=`10px`,e},e.prototype.fileBasedScanRegionDefaultBorder=function(){return`6px dashed #ebebeb`},e.prototype.fileBasedScanRegionActiveBorder=function(){return`6px dashed rgb(153 151 151)`},e.prototype.createDragAndDropMessage=function(){var e=document.createElement(`div`);return e.innerText=QM.dragAndDropMessage(),e.style.fontWeight=`400`,e},e.prototype.setImageNameToButton=function(e){if(e.length>20){var t=e.substring(0,8),n=e.length;e=`${t}....${e.substring(n-8,n)}`}var r=QM.fileSelectionChooseAnother()+` - `+e;this.fileSelectionButton.innerText=r},e.prototype.setInitialValueToButton=function(){var e=QM.fileSelectionChooseImage()+` - `+QM.fileSelectionNoImageSelected();this.fileSelectionButton.innerText=e},e.prototype.getFileScanInputId=function(){return`html5-qrcode-private-filescan-input`},e.create=function(t,n,r){return new e(t,n,r)},e}(),$N=function(){function e(e){this.selectElement=qN.createElement(`select`,KN.CAMERA_SELECTION_SELECT_ID),this.cameras=e,this.options=[]}return e.prototype.render=function(e){var t=document.createElement(`span`);t.style.marginRight=`10px`;var n=this.cameras.length;if(n===0)throw Error(`No cameras found`);n===1?t.style.display=`none`:t.innerText=`${QM.selectCamera()} (${this.cameras.length}) `;for(var r=1,i=0,a=this.cameras;i<a.length;i++){var o=a[i],s=o.id,c=o.label==null?s:o.label;(!c||c===``)&&(c=[QM.anonymousCameraPrefix(),r++].join(` `));var l=document.createElement(`option`);l.value=s,l.innerText=c,this.options.push(l),this.selectElement.appendChild(l)}t.appendChild(this.selectElement),e.appendChild(t)},e.prototype.disable=function(){this.selectElement.disabled=!0},e.prototype.isDisabled=function(){return this.selectElement.disabled===!0},e.prototype.enable=function(){this.selectElement.disabled=!1},e.prototype.getValue=function(){return this.selectElement.value},e.prototype.hasValue=function(e){for(var t=0,n=this.options;t<n.length;t++)if(n[t].value===e)return!0;return!1},e.prototype.setValue=function(e){if(!this.hasValue(e))throw Error(`${e} is not present in the camera list.`);this.selectElement.value=e},e.prototype.hasSingleItem=function(){return this.cameras.length===1},e.prototype.numCameras=function(){return this.cameras.length},e.create=function(t,n){var r=new e(n);return r.render(t),r},e}(),eP=function(){function e(){this.onChangeCallback=null,this.zoomElementContainer=document.createElement(`div`),this.rangeInput=qN.createElement(`input`,KN.ZOOM_SLIDER_ID),this.rangeInput.type=`range`,this.rangeText=document.createElement(`span`),this.rangeInput.min=`1`,this.rangeInput.max=`5`,this.rangeInput.value=`1`,this.rangeInput.step=`0.1`}return e.prototype.render=function(e,t){this.zoomElementContainer.style.display=t?`block`:`none`,this.zoomElementContainer.style.padding=`5px 10px`,this.zoomElementContainer.style.textAlign=`center`,e.appendChild(this.zoomElementContainer),this.rangeInput.style.display=`inline-block`,this.rangeInput.style.width=`50%`,this.rangeInput.style.height=`5px`,this.rangeInput.style.background=`#d3d3d3`,this.rangeInput.style.outline=`none`,this.rangeInput.style.opacity=`0.7`;var n=QM.zoom();this.rangeText.innerText=`${this.rangeInput.value}x ${n}`,this.rangeText.style.marginRight=`10px`;var r=this;this.rangeInput.addEventListener(`input`,function(){return r.onValueChange()}),this.rangeInput.addEventListener(`change`,function(){return r.onValueChange()}),this.zoomElementContainer.appendChild(this.rangeInput),this.zoomElementContainer.appendChild(this.rangeText)},e.prototype.onValueChange=function(){var e=QM.zoom();this.rangeText.innerText=`${this.rangeInput.value}x ${e}`,this.onChangeCallback&&this.onChangeCallback(parseFloat(this.rangeInput.value))},e.prototype.setValues=function(e,t,n,r){this.rangeInput.min=e.toString(),this.rangeInput.max=t.toString(),this.rangeInput.step=r.toString(),this.rangeInput.value=n.toString(),this.onValueChange()},e.prototype.show=function(){this.zoomElementContainer.style.display=`block`},e.prototype.hide=function(){this.zoomElementContainer.style.display=`none`},e.prototype.setOnCameraZoomValueChangeCallback=function(e){this.onChangeCallback=e},e.prototype.removeOnCameraZoomValueChangeCallback=function(){this.onChangeCallback=null},e.create=function(t,n){var r=new e;return r.render(t,n),r},e}(),tP;(function(e){e[e.STATUS_DEFAULT=0]=`STATUS_DEFAULT`,e[e.STATUS_SUCCESS=1]=`STATUS_SUCCESS`,e[e.STATUS_WARNING=2]=`STATUS_WARNING`,e[e.STATUS_REQUESTING_PERMISSION=3]=`STATUS_REQUESTING_PERMISSION`})(tP||={});function nP(e){return{fps:e.fps,qrbox:e.qrbox,aspectRatio:e.aspectRatio,disableFlip:e.disableFlip,videoConstraints:e.videoConstraints}}function rP(e,t){return{formatsToSupport:e.formatsToSupport,useBarCodeDetectorIfSupported:e.useBarCodeDetectorIfSupported,experimentalFeatures:e.experimentalFeatures,verbose:t}}(function(){function e(e,t,n){if(this.lastMatchFound=null,this.cameraScanImage=null,this.fileScanImage=null,this.fileSelectionUi=null,this.elementId=e,this.config=this.createConfig(t),this.verbose=n===!0,!document.getElementById(e))throw`HTML Element with id=${e} not found`;this.scanTypeSelector=new GN(this.config.supportedScanTypes),this.currentScanType=this.scanTypeSelector.getDefaultScanType(),this.sectionSwapAllowed=!0,this.logger=new JM(this.verbose),this.persistedDataManager=new RN,t.rememberLastUsedCamera!==!0&&this.persistedDataManager.reset()}return e.prototype.render=function(e,t){var n=this;this.lastMatchFound=null,this.qrCodeSuccessCallback=function(t,r){if(e)e(t,r);else{if(n.lastMatchFound===t)return;n.lastMatchFound=t,n.setHeaderMessage(QM.lastMatch(t),tP.STATUS_SUCCESS)}},this.qrCodeErrorCallback=function(e,n){t&&t(e,n)};var r=document.getElementById(this.elementId);if(!r)throw`HTML Element with id=${this.elementId} not found`;r.innerHTML=``,this.createBasicLayout(r),this.html5Qrcode=new jN(this.getScanRegionId(),rP(this.config,this.verbose))},e.prototype.pause=function(e){(YM(e)||e!==!0)&&(e=!1),this.getHtml5QrcodeOrFail().pause(e)},e.prototype.resume=function(){this.getHtml5QrcodeOrFail().resume()},e.prototype.getState=function(){return this.getHtml5QrcodeOrFail().getState()},e.prototype.clear=function(){var e=this,t=function(){var t=document.getElementById(e.elementId);t&&(t.innerHTML=``,e.resetBasicLayout(t))};return this.html5Qrcode?new Promise(function(n,r){if(!e.html5Qrcode){n();return}e.html5Qrcode.isScanning?e.html5Qrcode.stop().then(function(r){if(!e.html5Qrcode){n();return}e.html5Qrcode.clear(),t(),n()}).catch(function(t){e.verbose&&e.logger.logError(`Unable to stop qrcode scanner`,t),r(t)}):(e.html5Qrcode.clear(),t(),n())}):Promise.resolve()},e.prototype.getRunningTrackCapabilities=function(){return this.getHtml5QrcodeOrFail().getRunningTrackCapabilities()},e.prototype.getRunningTrackSettings=function(){return this.getHtml5QrcodeOrFail().getRunningTrackSettings()},e.prototype.applyVideoConstraints=function(e){return this.getHtml5QrcodeOrFail().applyVideoConstraints(e)},e.prototype.getHtml5QrcodeOrFail=function(){if(!this.html5Qrcode)throw`Code scanner not initialized.`;return this.html5Qrcode},e.prototype.createConfig=function(e){return e?(e.fps||=UM.SCAN_DEFAULT_FPS,e.rememberLastUsedCamera!==!UM.DEFAULT_REMEMBER_LAST_CAMERA_USED&&(e.rememberLastUsedCamera=UM.DEFAULT_REMEMBER_LAST_CAMERA_USED),e.supportedScanTypes||=UM.DEFAULT_SUPPORTED_SCAN_TYPE,e):{fps:UM.SCAN_DEFAULT_FPS,rememberLastUsedCamera:UM.DEFAULT_REMEMBER_LAST_CAMERA_USED,supportedScanTypes:UM.DEFAULT_SUPPORTED_SCAN_TYPE}},e.prototype.createBasicLayout=function(e){e.style.position=`relative`,e.style.padding=`0px`,e.style.border=`1px solid silver`,this.createHeader(e);var t=document.createElement(`div`);t.id=this.getScanRegionId(),t.style.width=`100%`,t.style.minHeight=`100px`,t.style.textAlign=`center`,e.appendChild(t),GN.isCameraScanType(this.currentScanType)?this.insertCameraScanImageToScanRegion():this.insertFileScanImageToScanRegion();var n=document.createElement(`div`);n.id=this.getDashboardId(),n.style.width=`100%`,e.appendChild(n),this.setupInitialDashboard(n)},e.prototype.resetBasicLayout=function(e){e.style.border=`none`},e.prototype.setupInitialDashboard=function(e){this.createSection(e),this.createSectionControlPanel(),this.scanTypeSelector.hasMoreThanOneScanType()&&this.createSectionSwap()},e.prototype.createHeader=function(e){var t=document.createElement(`div`);t.style.textAlign=`left`,t.style.margin=`0px`,e.appendChild(t),new VN().renderInto(t);var n=document.createElement(`div`);n.id=this.getHeaderMessageContainerId(),n.style.display=`none`,n.style.textAlign=`center`,n.style.fontSize=`14px`,n.style.padding=`2px 10px`,n.style.margin=`4px`,n.style.borderTop=`1px solid #f6f6f6`,t.appendChild(n)},e.prototype.createSection=function(e){var t=document.createElement(`div`);t.id=this.getDashboardSectionId(),t.style.width=`100%`,t.style.padding=`10px 0px 10px 0px`,t.style.textAlign=`left`,e.appendChild(t)},e.prototype.createCameraListUi=function(e,t,n){var r=this;r.showHideScanTypeSwapLink(!1),r.setHeaderMessage(QM.cameraPermissionRequesting());var i=function(){n||r.createPermissionButton(e,t)};jN.getCameras().then(function(n){r.persistedDataManager.setHasPermission(!0),r.showHideScanTypeSwapLink(!0),r.resetHeaderMessage(),n&&n.length>0?(e.removeChild(t),r.renderCameraSelection(n)):(r.setHeaderMessage(QM.noCameraFound(),tP.STATUS_WARNING),i())}).catch(function(e){r.persistedDataManager.setHasPermission(!1),n?n.disabled=!1:i(),r.setHeaderMessage(e,tP.STATUS_WARNING),r.showHideScanTypeSwapLink(!0)})},e.prototype.createPermissionButton=function(e,t){var n=this,r=qN.createElement(`button`,this.getCameraPermissionButtonId());r.innerText=QM.cameraPermissionTitle(),r.addEventListener(`click`,function(){r.disabled=!0,n.createCameraListUi(e,t,r)}),t.appendChild(r)},e.prototype.createPermissionsUi=function(e,t){var n=this;if(GN.isCameraScanType(this.currentScanType)&&this.persistedDataManager.hasCameraPermissions()){WN.hasPermissions().then(function(r){r?n.createCameraListUi(e,t):(n.persistedDataManager.setHasPermission(!1),n.createPermissionButton(e,t))}).catch(function(r){n.persistedDataManager.setHasPermission(!1),n.createPermissionButton(e,t)});return}this.createPermissionButton(e,t)},e.prototype.createSectionControlPanel=function(){var e=document.getElementById(this.getDashboardSectionId()),t=document.createElement(`div`);e.appendChild(t);var n=document.createElement(`div`);n.id=this.getDashboardSectionCameraScanRegionId(),n.style.display=GN.isCameraScanType(this.currentScanType)?`block`:`none`,t.appendChild(n);var r=document.createElement(`div`);r.style.textAlign=`center`,n.appendChild(r),this.scanTypeSelector.isCameraScanRequired()&&this.createPermissionsUi(n,r),this.renderFileScanUi(t)},e.prototype.renderFileScanUi=function(e){var t=GN.isFileScanType(this.currentScanType),n=this,r=function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;GN.isFileScanType(n.currentScanType)&&(n.setHeaderMessage(QM.loadingImage()),n.html5Qrcode.scanFileV2(e,!0).then(function(e){n.resetHeaderMessage(),n.qrCodeSuccessCallback(e.decodedText,e)}).catch(function(e){n.setHeaderMessage(e,tP.STATUS_WARNING),n.qrCodeErrorCallback(e,qM.createFrom(e))}))};this.fileSelectionUi=QN.create(e,t,r)},e.prototype.renderCameraSelection=function(e){var t=this,n=this,r=document.getElementById(this.getDashboardSectionCameraScanRegionId());r.style.textAlign=`center`;var i=eP.create(r,!1),a=function(e){var n=e.zoomFeature();if(n.isSupported()){i.setOnCameraZoomValueChangeCallback(function(e){n.apply(e)});var r=1;t.config.defaultZoomValueIfSupported&&(r=t.config.defaultZoomValueIfSupported),r=XM(r,n.min(),n.max()),i.setValues(n.min(),n.max(),r,n.step()),i.show()}},o=$N.create(r,e),s=document.createElement(`span`),c=qN.createElement(`button`,KN.CAMERA_START_BUTTON_ID);c.innerText=QM.scanButtonStartScanningText(),s.appendChild(c);var l=qN.createElement(`button`,KN.CAMERA_STOP_BUTTON_ID);l.innerText=QM.scanButtonStopScanningText(),l.style.display=`none`,l.disabled=!0,s.appendChild(l);var u,d=function(e){if(!e.torchFeature().isSupported()){u&&u.hide();return}u?u.updateTorchCapability(e.torchFeature()):u=ZN.create(s,e.torchFeature(),{display:`none`,marginLeft:`5px`},function(e){n.setHeaderMessage(e,tP.STATUS_WARNING)}),u.show()};r.appendChild(s);var f=function(e){e||(c.style.display=`none`),c.innerText=QM.scanButtonStartScanningText(),c.style.opacity=`1`,c.disabled=!1,e&&(c.style.display=`inline-block`)};if(c.addEventListener(`click`,function(e){c.innerText=QM.scanButtonScanningStarting(),o.disable(),c.disabled=!0,c.style.opacity=`0.5`,t.scanTypeSelector.hasMoreThanOneScanType()&&n.showHideScanTypeSwapLink(!1),n.resetHeaderMessage();var r=o.getValue();n.persistedDataManager.setLastUsedCameraId(r),n.html5Qrcode.start(r,nP(n.config),n.qrCodeSuccessCallback,n.qrCodeErrorCallback).then(function(e){l.disabled=!1,l.style.display=`inline-block`,f(!1);var r=n.html5Qrcode.getRunningTrackCameraCapabilities();t.config.showTorchButtonIfSupported===!0&&d(r),t.config.showZoomSliderIfSupported===!0&&a(r)}).catch(function(e){n.showHideScanTypeSwapLink(!0),o.enable(),f(!0),n.setHeaderMessage(e,tP.STATUS_WARNING)})}),o.hasSingleItem()&&c.click(),l.addEventListener(`click`,function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;l.disabled=!0,n.html5Qrcode.stop().then(function(e){t.scanTypeSelector.hasMoreThanOneScanType()&&n.showHideScanTypeSwapLink(!0),o.enable(),c.disabled=!1,l.style.display=`none`,c.style.display=`inline-block`,u&&(u.reset(),u.hide()),i.removeOnCameraZoomValueChangeCallback(),i.hide(),n.insertCameraScanImageToScanRegion()}).catch(function(e){l.disabled=!1,n.setHeaderMessage(e,tP.STATUS_WARNING)})}),n.persistedDataManager.getLastUsedCameraId()){var p=n.persistedDataManager.getLastUsedCameraId();o.hasValue(p)?(o.setValue(p),c.click()):n.persistedDataManager.resetLastUsedCameraId()}},e.prototype.createSectionSwap=function(){var e=this,t=QM.textIfCameraScanSelected(),n=QM.textIfFileScanSelected(),r=document.getElementById(this.getDashboardSectionId()),i=document.createElement(`div`);i.style.textAlign=`center`;var a=qN.createElement(`span`,this.getDashboardSectionSwapLinkId());a.style.textDecoration=`underline`,a.style.cursor=`pointer`,a.innerText=GN.isCameraScanType(this.currentScanType)?t:n,a.addEventListener(`click`,function(){if(!e.sectionSwapAllowed){e.verbose&&e.logger.logError(`Section swap called when not allowed`);return}e.resetHeaderMessage(),e.fileSelectionUi.resetValue(),e.sectionSwapAllowed=!1,GN.isCameraScanType(e.currentScanType)?(e.clearScanRegion(),e.getCameraScanRegion().style.display=`none`,e.fileSelectionUi.show(),a.innerText=n,e.currentScanType=HM.SCAN_TYPE_FILE,e.insertFileScanImageToScanRegion()):(e.clearScanRegion(),e.getCameraScanRegion().style.display=`block`,e.fileSelectionUi.hide(),a.innerText=t,e.currentScanType=HM.SCAN_TYPE_CAMERA,e.insertCameraScanImageToScanRegion(),e.startCameraScanIfPermissionExistsOnSwap()),e.sectionSwapAllowed=!0}),i.appendChild(a),r.appendChild(i)},e.prototype.startCameraScanIfPermissionExistsOnSwap=function(){var e=this,t=this;if(this.persistedDataManager.hasCameraPermissions()){WN.hasPermissions().then(function(n){if(n){var r=document.getElementById(t.getCameraPermissionButtonId());if(!r)throw e.logger.logError(`Permission button not found, fail;`),`Permission button not found`;r.click()}else t.persistedDataManager.setHasPermission(!1)}).catch(function(e){t.persistedDataManager.setHasPermission(!1)});return}},e.prototype.resetHeaderMessage=function(){var e=document.getElementById(this.getHeaderMessageContainerId());e.style.display=`none`},e.prototype.setHeaderMessage=function(e,t){t||=tP.STATUS_DEFAULT;var n=this.getHeaderMessageDiv();switch(n.innerText=e,n.style.display=`block`,t){case tP.STATUS_SUCCESS:n.style.background=`rgba(106, 175, 80, 0.26)`,n.style.color=`#477735`;break;case tP.STATUS_WARNING:n.style.background=`rgba(203, 36, 49, 0.14)`,n.style.color=`#cb2431`;break;case tP.STATUS_DEFAULT:default:n.style.background=`rgba(0, 0, 0, 0)`,n.style.color=`rgb(17, 17, 17)`;break}},e.prototype.showHideScanTypeSwapLink=function(e){this.scanTypeSelector.hasMoreThanOneScanType()&&(e!==!0&&(e=!1),this.sectionSwapAllowed=e,this.getDashboardSectionSwapLink().style.display=e?`inline-block`:`none`)},e.prototype.insertCameraScanImageToScanRegion=function(){var e=this,t=document.getElementById(this.getScanRegionId());if(this.cameraScanImage){t.innerHTML=`<br>`,t.appendChild(this.cameraScanImage);return}this.cameraScanImage=new Image,this.cameraScanImage.onload=function(n){t.innerHTML=`<br>`,t.appendChild(e.cameraScanImage)},this.cameraScanImage.width=64,this.cameraScanImage.style.opacity=`0.8`,this.cameraScanImage.src=NN,this.cameraScanImage.alt=QM.cameraScanAltText()},e.prototype.insertFileScanImageToScanRegion=function(){var e=this,t=document.getElementById(this.getScanRegionId());if(this.fileScanImage){t.innerHTML=`<br>`,t.appendChild(this.fileScanImage);return}this.fileScanImage=new Image,this.fileScanImage.onload=function(n){t.innerHTML=`<br>`,t.appendChild(e.fileScanImage)},this.fileScanImage.width=64,this.fileScanImage.style.opacity=`0.8`,this.fileScanImage.src=PN,this.fileScanImage.alt=QM.fileScanAltText()},e.prototype.clearScanRegion=function(){var e=document.getElementById(this.getScanRegionId());e.innerHTML=``},e.prototype.getDashboardSectionId=function(){return`${this.elementId}__dashboard_section`},e.prototype.getDashboardSectionCameraScanRegionId=function(){return`${this.elementId}__dashboard_section_csr`},e.prototype.getDashboardSectionSwapLinkId=function(){return KN.SCAN_TYPE_CHANGE_ANCHOR_ID},e.prototype.getScanRegionId=function(){return`${this.elementId}__scan_region`},e.prototype.getDashboardId=function(){return`${this.elementId}__dashboard`},e.prototype.getHeaderMessageContainerId=function(){return`${this.elementId}__header_message`},e.prototype.getCameraPermissionButtonId=function(){return KN.CAMERA_PERMISSION_BUTTON_ID},e.prototype.getCameraScanRegion=function(){return document.getElementById(this.getDashboardSectionCameraScanRegionId())},e.prototype.getDashboardSectionSwapLink=function(){return document.getElementById(this.getDashboardSectionSwapLinkId())},e.prototype.getHeaderMessageDiv=function(){return document.getElementById(this.getHeaderMessageContainerId())},e})();var iP;(function(e){e[e.BACK=1]=`BACK`,e[e.FRONT=2]=`FRONT`})(iP||={});var aP;(function(e){e[e.PORTRAIT=1]=`PORTRAIT`,e[e.LANDSCAPE=2]=`LANDSCAPE`,e[e.ADAPTIVE=3]=`ADAPTIVE`})(aP||={});var oP;(function(e){e[e.ALL=17]=`ALL`})(oP||={});var sP=Object.assign(Object.assign({},RM),oP),cP;(function(e){e.ZXING=`zxing`,e.MLKIT=`mlkit`})(cP||={});var lP=[{selector:`.scanner-container-display`,css:`display: block;`},{selector:`.scanner-dialog`,css:`display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);`},{selector:`.scanner-dialog-inner`,css:`background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;`},{selector:`.close-button`,css:`color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;`},{selector:`.close-button:hover`,css:`color: #222;`},{selector:`.scanner-container-full-width`,css:`width: 100%;`}];function uP(e){let t=`custom-style-os-cap-barcode`,n=document.getElementById(t);if(n||(n=document.createElement(`style`),n.type=`text/css`,n.id=t,document.head.appendChild(n)),n.sheet){for(;n.sheet.cssRules.length;)n.sheet.deleteRule(0);for(let{selector:t,css:r}of e)n.sheet.insertRule(`${t} { ${r} }`)}else{n.textContent=``;for(let{selector:t,css:r}of e)n.textContent+=`${t} { ${r} }`}}var dP=Ag(`CapacitorBarcodeScanner`,{web:()=>(uP(lP),us(()=>import(`./web-Brg1tgLR.js`).then(e=>new e.CapacitorBarcodeScannerWeb),[]))}),fP=class{static async scanBarcode(e){return e.scanInstructions=e.scanInstructions||` `,e.scanButton=e.scanButton||!1,e.scanText=e.scanText||` `,e.cameraDirection=e.cameraDirection||iP.BACK,e.scanOrientation=e.scanOrientation||aP.ADAPTIVE,dP.scanBarcode(e)}};function pP(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes(`permission`)||t.includes(`denied`)||t.includes(`not allowed`)||t.includes(`unauthorized`)}return!1}function mP(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes(`cancel`)||t.includes(`user cancelled`)||t.includes(`scan cancelled`)}return!1}function hP(){let[e,t]=(0,Z.useState)(!1);return{scan:(0,Z.useCallback)(async()=>{if(!Za())return{value:null,error:null};t(!0);try{let e=await fP.scanBarcode({hint:sP.QR_CODE,scanInstructions:`Point the camera at a Tarsk QR code`});return e?.ScanResult?{value:e.ScanResult,error:null}:{value:null,error:null}}catch(e){return mP(e)?{value:null,error:null}:pP(e)?{value:null,error:`Camera permission was denied. Please grant camera access in your device settings to scan QR codes.`}:{value:null,error:`Unable to scan QR code. Please make sure your device has a camera and try again.`}}finally{t(!1)}},[]),isScanning:e,isAvailable:Za()}}function gP(){let[e,t]=(0,Z.useState)(!0),[n,r]=(0,Z.useState)(Vr),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),u=hP();(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let n=await fetch(`${Fa()}/health`,{method:`GET`});e&&t(n.ok)}catch{e&&t(!1)}})(),()=>{e=!1}},[]);let d=(0,Z.useCallback)(async()=>{let e=qo(n);if(e){a(null),l(!0);try{if(!await Or(e)){a(e);return}Pi(n)}finally{l(!1)}}},[n]),f=(0,Z.useCallback)(async()=>{s(null);let e=await u.scan();if(e.error){s(e.error);return}if(e.value){r(e.value),a(null);let t=qo(e.value);if(!t){s(`The scanned QR code did not contain a valid server address.`);return}l(!0);try{if(!await Or(t)){a(t);return}Pi(e.value)}finally{l(!1)}}},[u]);return e?null:(0,$.jsx)(pc,{open:!0,children:(0,$.jsxs)(cc,{children:[(0,$.jsxs)(fc,{children:[(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`mx-auto h-16 w-16 rounded-lg`}),(0,$.jsx)(sc,{children:`Connect to Tarsk`}),(0,$.jsx)(oc,{children:`Connect to the Tarsk server running on your local network by entering the IP Address or domain name below.`})]}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Qo,{value:n,onChange:e=>{r(e.target.value),a(null),s(null)},onKeyDown:e=>{e.key===`Enter`&&!c&&d()},placeholder:`192.168.1.100`,autoComplete:`off`,spellCheck:!1,disabled:c,className:u.isAvailable?`pr-10`:void 0}),u.isAvailable&&(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-1 top-1 h-8 w-8`,"aria-label":`Scan QR code`,disabled:c||u.isScanning,onClick:()=>void f(),children:u.isScanning?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(jt,{className:`h-4 w-4`})})]}),o&&(0,$.jsxs)(mo,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsx)(`p`,{className:`flex-1`,children:o}),(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>s(null),children:(0,$.jsx)(nt,{className:`h-4 w-4`})})]}),i&&(0,$.jsxs)(mo,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsxs)(`p`,{className:`flex-1`,children:[`Unable to connect to `,i,`. Please check that you are on the same network and that the Tarsk server is running and accessible on the network.`]}),(0,$.jsx)(Hr,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>a(null),children:(0,$.jsx)(nt,{className:`h-4 w-4`})})]}),(0,$.jsx)(uc,{children:(0,$.jsx)(Hr,{onClick:()=>void d(),disabled:!n.trim()||c,children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{className:`mr-2 h-4 w-4 animate-spin`}),`Connecting...`]}):`Connect`})}),(0,$.jsxs)(mo,{variant:`hint`,className:`mb-0`,children:[(0,$.jsx)(`p`,{className:U.bodyMuted,children:`Start the Tarsk server on your local machine by running:`}),(0,$.jsx)(`code`,{className:G(U.mono,`mt-2 block rounded bg-background/60 px-2 py-1 text-foreground`),children:`npx tarsk --server`})]})]})})}var _P=(0,Z.lazy)(()=>us(()=>import(`./create-project-dialog-CPz95RZY.js`),__vite__mapDeps([35,1,33,4,5]))),vP=(0,Z.lazy)(()=>us(()=>import(`./onboarding-DTF0L4Nt.js`).then(e=>e.t),__vite__mapDeps([4,1,5])));function yP(e){let t=(0,Q.c)(43),{showCreateProject:n,createProjectInitialMode:r,onCreateProjectOpenChange:i,onCreateDialogDismissed:a,onSubmitClone:o,onSubmitWebApp:s,onSubmitFolder:c,deleteProject:l,deleteProjectBlocked:u,deleteProjectBlockReason:d,deleteProjectDeletesFolder:f,onDeleteProjectOpenChange:p,onConfirmDeleteProject:m,deleteProjectProgress:h,onDeleteProjectRetry:g,onDeleteProjectProgressClose:_,pendingSetupScriptConfirmation:v,onResolveSetupScriptConfirmation:y,pendingZipOverride:b,onResolveZipOverride:x,showOnboarding:S,onOnboardingOpenChange:C,onOnboardingComplete:w}=e,T=r??void 0,E;t[0]!==a||t[1]!==i||t[2]!==o||t[3]!==c||t[4]!==s||t[5]!==n||t[6]!==T?(E=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(_P,{open:n,onOpenChange:i,onDialogDismissed:a,initialMode:T,onSubmitClone:o,onSubmitWebApp:s,onSubmitFolder:c})}),t[0]=a,t[1]=i,t[2]=o,t[3]=c,t[4]=s,t[5]=n,t[6]=T,t[7]=E):E=t[7];let D=l!==null,O=l?.name,k;t[8]!==d||t[9]!==u||t[10]!==f||t[11]!==m||t[12]!==p||t[13]!==D||t[14]!==O?(k=(0,$.jsx)(PM,{open:D,projectName:O,onOpenChange:p,onConfirm:m,blocked:u,blockReason:d,deletesFolder:f}),t[8]=d,t[9]=u,t[10]=f,t[11]=m,t[12]=p,t[13]=D,t[14]=O,t[15]=k):k=t[15];let A;t[16]!==h||t[17]!==_||t[18]!==g?(A=(0,$.jsx)(HC,{progress:h,onRetry:g,onClose:_}),t[16]=h,t[17]=_,t[18]=g,t[19]=A):A=t[19];let j=v!==null,M;t[20]===v?M=t[21]:(M=v?[v.command,...v.remainingScripts||[]]:[],t[20]=v,t[21]=M);let N;t[22]!==y||t[23]!==j||t[24]!==M?(N=(0,$.jsx)(FM,{open:j,setupScripts:M,onConfirm:y}),t[22]=y,t[23]=j,t[24]=M,t[25]=N):N=t[25];let P=b!==null,F=b?.existingProjectName,I=b?.zipFilename,L;t[26]!==x||t[27]!==P||t[28]!==F||t[29]!==I?(L=(0,$.jsx)(LM,{open:P,existingProjectName:F,zipFilename:I,onConfirm:x}),t[26]=x,t[27]=P,t[28]=F,t[29]=I,t[30]=L):L=t[30];let R;t[31]!==w||t[32]!==C||t[33]!==S?(R=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(vP,{open:S,onOpenChange:C,onComplete:w})}),t[31]=w,t[32]=C,t[33]=S,t[34]=R):R=t[34];let z;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(gP,{}),t[35]=z):z=t[35];let B;return t[36]!==L||t[37]!==R||t[38]!==E||t[39]!==k||t[40]!==A||t[41]!==N?(B=(0,$.jsxs)($.Fragment,{children:[E,k,A,N,L,R,z]}),t[36]=L,t[37]=R,t[38]=E,t[39]=k,t[40]=A,t[41]=N,t[42]=B):B=t[42],B}function bP(){let e=(0,Q.c)(8),{setIsSelectModeEnabled:t,setIsEditModeEnabled:n,setSelectedBrowserElement:r,setIsSelectionPromptOpen:i}=rk(),a;e[0]!==n||e[1]!==t||e[2]!==i||e[3]!==r?(a=e=>{r(e),t(!1),n(!1),i(!bM(e))},e[0]=n,e[1]=t,e[2]=i,e[3]=r,e[4]=a):a=e[4];let o=a,s,c;e[5]===o?(s=e[6],c=e[7]):(s=()=>{let e=function(e){let t=e.detail;pM(t)&&o(t)},t=function(e){let t=gM(e.data);t&&o(t)};return window.addEventListener(cM,e),window.addEventListener(`message`,t),function(){window.removeEventListener(cM,e),window.removeEventListener(`message`,t)}},c=[o],e[5]=o,e[6]=s,e[7]=c),(0,Z.useEffect)(s,c)}var xP=`__tarskBrowserCapture`,SP=15e3,CP=0,wP=null,TP=new Set;function EP(){for(let e of TP)e()}function DP(){wP!=null&&(clearTimeout(wP),wP=null)}function OP(){DP(),CP!==0&&(CP=0,EP())}function kP(){CP+=1,DP(),wP=setTimeout(OP,SP),CP===1&&EP()}function AP(){CP!==0&&(--CP,!(CP>0)&&(DP(),EP()))}function jP(){return CP>0}function MP(e){return TP.add(e),function(){TP.delete(e)}}function NP(e){if(e!=null){let t=document.getElementById(`electrobun-webview-${e}`);if(t)return t}return document.querySelector(`electrobun-webview`)}function PP(e,t){return e.width<=0||e.height<=0?null:{x:t.screenX+e.left,y:t.screenY+e.top,width:e.width,height:e.height}}function FP(e){let t=NP(e);return t?PP(t.getBoundingClientRect(),window):null}function IP(){let e=window;return e[xP]={begin:kP,end:AP,rect:FP},function(){delete e[xP],OP()}}var LP=Ut(`app.use-browser-tool-listener.hook`);function RP(e){let t=e.trim();return t?t.startsWith(`http://`)||t.startsWith(`https://`)?t:`http://${t}`:``}function zP(){return document.querySelector(`electrobun-webview`)}function BP(e=2e4){return new Promise((t,n)=>{let r=Date.now();function i(){let a=zP();if(a&&a.webviewId!=null){t(a);return}if(Date.now()-r>e){n(Error(`Timed out waiting for preview webview to mount`));return}requestAnimationFrame(i)}requestAnimationFrame(i)})}async function VP(e,t,n){switch(t.action){case`reload`:return e.reload(),{action:`reload`,webview_id:e.webviewId,current_url:n||e.src||null};case`go_back`:return e.goBack(),{action:`go_back`,webview_id:e.webviewId,current_url:n||e.src||null};case`go_forward`:return e.goForward(),{action:`go_forward`,webview_id:e.webviewId,current_url:n||e.src||null};case`get_state`:{let t=await e.canGoBack(),r=await e.canGoForward();return{action:`get_state`,webview_id:e.webviewId,current_url:n||e.src||null,can_go_back:t,can_go_forward:r}}default:throw Error(`Unsupported host browser action: ${String(t.action)}`)}}function HP(e){let t=Date.now();function n(){if(Date.now()-t>2e4){LP.error(`[browser-tool] timed out waiting for preview webview to mount (${e})`);return}let r=zP();if(!r||r.webviewId==null){requestAnimationFrame(n);return}E_(e,r.webviewId).catch(e=>{LP.error(`[browser-tool] failed to report preview webview ready`,e)})}requestAnimationFrame(n)}async function UP(e,t,n){let{toolCallId:r,input:i}=e;if(!(!r||!i.action)){if(i.action===`set_viewport`){let e=i.preset??`desktop`;n(e);try{let t=await BP();t.syncDimensions(!0),await D_(r,{action:`set_viewport`,preset:e,webview_id:t.webviewId})}catch(t){LP.error(`[browser-tool] failed to set viewport`,t),await D_(r,{action:`set_viewport`,preset:e,error:t instanceof Error?t.message:String(t)})}return}if(zt(i.action)){try{await D_(r,await VP(await BP(),i,t))}catch(e){LP.error(`[browser-tool] failed to execute host browser action`,e),await D_(r,{action:i.action,error:e instanceof Error?e.message:String(e)})}return}HP(r)}}function WP(){let{openChatDockPanel:e}=Wd(),{expandWindow:t,hasOpenWindows:n}=gc(),{setDevServerUrl:r,devServerUrl:i}=yw(),{setBrowserDeviceMode:a}=rk(),o=(0,Z.useRef)(null),s=X(e=>{let t=o.current;return t?e.threadStreamingStates[Es(t,`primary`)]?.isStreaming??!1:!1}),c=(0,Z.useRef)(i);c.current=i;let l=(0,Z.useRef)(e);l.current=e;let u=(0,Z.useRef)(t);u.current=t;let d=(0,Z.useRef)(n);d.current=n;let f=(0,Z.useRef)(r);f.current=r;let p=(0,Z.useRef)(a);p.current=a;let m=(0,Z.useRef)(!1);function h(){d.current&&u.current(Ct)}(0,Z.useEffect)(()=>{if(!o.current){m.current=!1;return}let e=m.current;m.current=s,!(!e||s)&&(o.current=null,h())},[s]),(0,Z.useEffect)(()=>{function e(e){let t=e.detail;t?.threadId&&o.current===t.threadId&&(o.current=null,h())}return window.addEventListener(o_,e),function(){window.removeEventListener(o_,e)}},[]),(0,Z.useEffect)(()=>{if(Pr())return IP()},[]),(0,Z.useEffect)(()=>{if(!Pr())return;function e(e){let t=e.detail;if(!t?.toolCallId||!t.input?.action)return;t.threadId&&(o.current=t.threadId,m.current=!0),l.current(`browser`,{navigateToChat:!1});let n=t.input.url?.trim()||c.current||``;if(n){let e=RP(n);e&&f.current(e)}UP(t,c.current||``,p.current)}return window.addEventListener(a_,e),function(){window.removeEventListener(a_,e)}},[])}var GP=e=>{let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=G(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(yn,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a},KP=Hn,qP=e=>{let t=(0,Q.c)(12),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({withHandle:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===n?a=t[5]:(a=G(`relative flex w-px items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,n),t[4]=n,t[5]=a);let o;t[6]===i?o=t[7]:(o=i&&(0,$.jsx)(`div`,{className:`hidden z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,$.jsx)(I,{className:`h-2.5 w-2.5`})}),t[6]=i,t[7]=o);let s;return t[8]!==r||t[9]!==a||t[10]!==o?(s=(0,$.jsx)(J,{className:a,...r,children:o}),t[8]=r,t[9]=a,t[10]=o,t[11]=s):s=t[11],s};function JP(){let e=(0,Q.c)(5),{toasts:t}=ic(),n;e[0]===t?n=e[1]:(n=t.map(YP),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(WC,{}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,$.jsxs)(UC,{duration:5e3,children:[n,r]}),e[3]=n,e[4]=i),i}function YP(e){let{id:t,title:n,description:r,action:i,variant:a,...o}=e,s=a===`destructive`,c=[n,r].filter(Boolean).join(`
3356
+ `),l=s?(0,$.jsxs)(qC,{altText:`Copy error`,onClick:()=>{navigator.clipboard.writeText(c)},children:[(0,$.jsx)(Ze,{className:`h-4 w-4`}),`Copy`]}):null;return(0,$.jsxs)(KC,{variant:a,...o,children:[(0,$.jsxs)(`div`,{className:`grid gap-1`,children:[n&&(0,$.jsx)(YC,{children:n}),r&&(0,$.jsx)(XC,{children:r})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[i,l]}),(0,$.jsx)(JC,{})]},t)}function XP(){return new Uc({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!0},mutations:{retry:0}}})}function ZP(e){let t=(0,Q.c)(3),{children:n}=e,[r]=(0,Z.useState)(XP),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(xr,{client:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function QP(){let e=(0,Q.c)(4),{resolvedTheme:t,theme:n}=Ic(),r,i;return e[0]!==t||e[1]!==n?(r=()=>{if(window.tarsk?.setNativeTheme){let e=n===`system`?`system`:t||`system`;window.tarsk.setNativeTheme(e)}},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,Z.useEffect)(r,i),null}function $P(e){let t=(0,Q.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({children:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(QP,{}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,$.jsxs)(Lc,{...r,children:[i,n]}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function eF(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(tF),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=()=>n(!0),t=()=>n(!1);return window.addEventListener(`focus`,e),window.addEventListener(`blur`,t),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,t)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Z.useEffect)(r,i),t}function tF(){return document.hasFocus()}var nF=Ut(`chat.processing-threads`),rF=null;function iF(){rF??=new Audio(`/pop.wav`),rF.currentTime=0,rF.play().catch(e=>{nF.debug(`Could not play completion sound`,{err:e})})}function aF(){let e=Ks(),t=Vs(),n=X(e=>e.processingThreadIds),r=X(e=>e.completedThreadIds),i=eF(),{activeMainTab:a,setChatNotification:o}=mc(),s=(0,Z.useRef)(null),c=(0,Z.useRef)(!1),l=(0,Z.useRef)([]),u=(0,Z.useRef)(i),d=(0,Z.useRef)(a);(0,Z.useEffect)(()=>{u.current=i},[i]),(0,Z.useEffect)(()=>{d.current=a,a===`chat`&&o(!1)},[a,o]);let f=(0,Z.useCallback)(async()=>{try{let n=await _o(),r=wg(n.processingThreadIds),i=n.processingRuns.filter(e=>!Cg(e.threadId)),a=t.getState().selectedThreadId,s=l.current.filter(e=>!r.includes(e)),c=a!==null&&s.includes(a);for(let t of s)t!==a&&e({type:Y.MarkThreadCompleted,threadId:t});if(r.length>0&&d.current!==`chat`&&o(!0),(r.length===0||c)&&o(!1),s.length>0&&!u.current&&iF(),s.length>0)try{Si();let t=await lo();e({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){nF.error(`Failed to refresh projects after thread completion`,{err:e})}return l.current=r,e({type:Y.SetProcessingThreads,threadIds:r,processingRuns:i}),r}catch(e){return nF.error(`Failed to fetch processing threads`,{err:e}),[]}},[e,t]);return(0,Z.useEffect)(()=>{let e=()=>{if(s.current||c.current)return;c.current=!0;let e=async()=>{let n=await f(),r=t.getState(),i=Object.values(r.threadStreamingStates).some(e=>e.isStreaming);n.length>0||i||r.isCreatingProject?s.current=setTimeout(e,1e3):(s.current=null,c.current=!1)};e()},n=()=>{s.current&&=(clearTimeout(s.current),null),c.current=!1};return e(),()=>{n()}},[f]),{processingThreadIds:n,completedThreadIds:r,isThreadProcessing:e=>n.includes(e),isThreadCompleted:e=>r.includes(e),clearCompleted:(0,Z.useCallback)(t=>{e({type:Y.ClearThreadCompleted,threadId:t})},[e])}}var oF=768;function sF(){let e=(0,Q.c)(2),[t,n]=Z.useState(cF),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${oF-1}px)`),t=()=>{n(window.innerWidth<oF)};return e.addEventListener(`change`,t),n(window.innerWidth<oF),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),t}function cF(){return typeof window>`u`?!1:window.innerWidth<oF}function lF(){let e=(0,Q.c)(15),t=Ks(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={queryKey:_y.onboarding.status(),queryFn:Do,staleTime:1/0,retry:1},e[0]=o):o=e[0];let s=vr(o),c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c={queryKey:_y.app.update(),queryFn:Er,staleTime:1/0,retry:!1},e[1]=c):c=e[1];let l=vr(c),u,d;e[2]!==s.data||e[3]!==s.isSuccess?(u=()=>{s.isSuccess&&!s.data.onboardingCompleted&&r(!0)},d=[s.isSuccess,s.data],e[2]=s.data,e[3]=s.isSuccess,e[4]=u,e[5]=d):(u=e[4],d=e[5]),(0,Z.useEffect)(u,d);let f,p;e[6]!==t||e[7]!==n?(f=()=>{n||t({type:Y.ConfigUpdated})},p=[n,t],e[6]=t,e[7]=n,e[8]=f,e[9]=p):(f=e[8],p=e[9]),(0,Z.useEffect)(f,p);let m;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=async()=>{a(!0);try{await ta()}catch{a(!1)}},e[10]=m):m=e[10];let h=m,g=l.data?.updateAvailable??!1,_;return e[11]!==n||e[12]!==g||e[13]!==i?(_={showOnboarding:n,setShowOnboarding:r,updateAvailable:g,updatingApp:i,handleUpdateApp:h},e[11]=n,e[12]=g,e[13]=i,e[14]=_):_=e[14],_}function uF(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r=Yn(),i=Gn(),{activeMainTab:a,setActiveMainTab:o}=mc(),{openChatDockPanel:s}=Wd(),{terminalState:c}=Ps(n),l;t[0]===i.pathname?l=t[1]:(l=i.pathname.startsWith(`/settings`),t[0]=i.pathname,t[1]=l);let u=l,d=i.pathname===`/review`,f=i.pathname===`/tasks`,p=(0,Z.useRef)(null),m,h;t[2]!==f||t[3]!==r||t[4]!==s?(m=()=>{f&&(r(`/`),s(`tasks`))},h=[f,r,s],t[2]=f,t[3]=r,t[4]=s,t[5]=m,t[6]=h):(m=t[5],h=t[6]),(0,Z.useEffect)(m,h);let g,_;t[7]!==i.pathname||t[8]!==s||t[9]!==n||t[10]!==c.open?(g=()=>{c.open&&n===p.current&&!Ud(i.pathname)&&s(`terminal`),p.current=n},_=[c.open,n,i.pathname,s],t[7]=i.pathname,t[8]=s,t[9]=n,t[10]=c.open,t[11]=g,t[12]=_):(g=t[11],_=t[12]),(0,Z.useEffect)(g,_);let v,y;t[13]!==a||t[14]!==d||t[15]!==u||t[16]!==o?(v=()=>{a!==`chat`&&!u&&!d&&o(`chat`)},y=[a,d,u,o],t[13]=a,t[14]=d,t[15]=u,t[16]=o,t[17]=v,t[18]=y):(v=t[17],y=t[18]),(0,Z.useEffect)(v,y);let b;return t[19]!==d||t[20]!==u?(b={isSettingsRoute:u,isReviewRoute:d},t[19]=d,t[20]=u,t[21]=b):b=t[21],b}function dF(e,t){let n=(0,Q.c)(8),r=Ks(),i=X(fF),a=(0,Z.useRef)(null),o;n[0]!==r||n[1]!==t||n[2]!==e||n[3]!==i?(o=()=>{let n=e||t;if(n&&a.current===null)a.current=i,i&&r({type:Y.ToggleSidebar});else if(!n&&a.current!==null){let e=a.current;a.current=null,e&&!i&&r({type:Y.ToggleSidebar})}},n[0]=r,n[1]=t,n[2]=e,n[3]=i,n[4]=o):o=n[4];let s;n[5]!==t||n[6]!==e?(s=[e,t],n[5]=t,n[6]=e,n[7]=s):s=n[7],(0,Z.useEffect)(o,s)}function fF(e){return e.sidebarOpen}var pF=Ag(`App`,{web:()=>us(()=>import(`./web-DdKg_e2t.js`).then(e=>new e.AppWeb),[])}),mF=1e10,hF=1e3;function gF(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function _F(e={}){let t={},n={},r;function i(e){n.unregisterHandler&&n.unregisterHandler(),n=e,n.registerHandler?.(x)}function a(e){if(typeof e==`function`){r=e;return}r=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${String(t)}`);return i(t,n)}}let{maxRequestTime:o=hF}=e;e.transport&&i(e.transport),e.requestHandler&&a(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let s=0;function c(){return s<=mF?++s:s=0}let l=new Map,u=new Map;function d(e,...r){let i=r[0];return new Promise((r,a)=>{if(!n.send)throw gF([`send`],`make requests`);let s=c(),d={type:`request`,id:s,method:e,params:i};l.set(s,{resolve:r,reject:a}),o!==1/0&&u.set(s,setTimeout(()=>{u.delete(s),l.delete(s),a(Error(`RPC request timed out.`))},o)),t.onSend?.(d),n.send(d)})}let f=new Proxy(d,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>d(t,e)}),p=f;function m(e,...r){let i=r[0];if(!n.send)throw gF([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),n.send(a)}let h=new Proxy(m,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>m(t,e)}),g=h,_=new Map,v=new Set;function y(e,t){if(!n.registerHandler)throw gF([`registerHandler`],`register message listeners`);if(e===`*`){v.add(t);return}_.has(e)||_.set(e,new Set),_.get(e).add(t)}function b(e,t){if(e===`*`){v.delete(t);return}_.get(e)?.delete(t),_.get(e)?.size===0&&_.delete(e)}async function x(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!n.send||!r)throw gF([`send`,`requestHandler`],`handle requests`);let{id:i,method:a,params:o}=e,s;try{s={type:`response`,id:i,success:!0,payload:await r(a,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:i,success:!1,error:e.message}}t.onSend?.(s),n.send(s);return}if(e.type===`response`){let t=u.get(e.id);t!=null&&clearTimeout(t),u.delete(e.id);let{resolve:n,reject:r}=l.get(e.id)??{};l.delete(e.id),e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of v)t(e.id,e.payload);let t=_.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:a,request:f,requestProxy:p,send:h,sendProxy:g,addMessageListener:y,removeMessageListener:b,proxy:{send:g,request:p}}}function vF(e,t){let n=_F({maxRequestTime:t.maxRequestTime,requestHandler:{...t.handlers.requests,...t.extraRequestHandlers},transport:{registerHandler:()=>{}}}),r=t.handlers.messages;return r&&n.addMessageListener(`*`,((e,t)=>{let n=r[`*`];n&&n(e,t);let i=r[e];i&&i(t)})),n}var yF=window.__electrobunWebviewId,bF=window.__electrobunRpcSocketPort,xF=class{bunSocket;rpc;rpcHandler;constructor(e){this.rpc=e.rpc,this.init()}init(){this.initSocketToBun(),window.__electrobun.receiveMessageFromBun=this.receiveMessageFromBun.bind(this),this.rpc&&this.rpc.setTransport(this.createTransport())}initSocketToBun(){let e=new WebSocket(`ws://localhost:${bF}/socket?webviewId=${yF}`);this.bunSocket=e,e.addEventListener(`open`,()=>{}),e.addEventListener(`message`,async e=>{let t=e.data;if(typeof t==`string`)try{let e=JSON.parse(t),n=await window.__electrobun_decrypt(e.encryptedData,e.iv,e.tag);this.rpcHandler?.(JSON.parse(n))}catch(e){console.error(`Error parsing bun message:`,e)}else t instanceof Blob||console.error(`UNKNOWN DATA TYPE RECEIVED:`,e.data)}),e.addEventListener(`error`,e=>{console.error(`Socket error:`,e)}),e.addEventListener(`close`,e=>{})}createTransport(){let e=this;return{send(t){try{let n=JSON.stringify(t);e.bunBridge(n)}catch(e){console.error(`bun: failed to serialize message to webview`,e)}},registerHandler(t){e.rpcHandler=t}}}async bunBridge(e){if(this.bunSocket?.readyState===WebSocket.OPEN)try{let{encryptedData:t,iv:n,tag:r}=await window.__electrobun_encrypt(e),i=JSON.stringify({encryptedData:t,iv:n,tag:r});this.bunSocket.send(i);return}catch(e){console.error(`Error sending message to bun via socket:`,e)}window.__electrobunBunBridge?.postMessage(e)}receiveMessageFromBun(e){this.rpcHandler&&this.rpcHandler(e)}static defineRPC(e){return vF(`webview`,{...e,extraRequestHandlers:{evaluateJavascriptWithResponse:({script:e})=>new Promise(t=>{try{let n=Function(e)();n instanceof Promise?n.then(e=>{t(e)}).catch(e=>{console.error(`bun: async script execution failed`,e),t(String(e))}):t(n)}catch(e){console.error(`bun: failed to eval script`,e),t(String(e))}})}})}},SF=null;function CF(e){SF?.send.setWindowLabel({label:e})}function wF(e){SF?.send.openProjectIconDialog({startingFolder:e})}function TF(e){let t=(0,Z.useRef)(e);t.current=e,(0,Z.useEffect)(()=>{window.__electrobunWebviewId&&(SF=xF.defineRPC({handlers:{requests:{},messages:{openTarskUrl:function({url:e}){t.current?.(e)},projectIconSelected:function({dataUrl:e}){window.dispatchEvent(new CustomEvent(`tarsk:project-icon-selected`,{detail:{dataUrl:e}}))}}}}),new xF({rpc:SF}))},[]),(0,Z.useEffect)(()=>{if(!Za())return;let e=pF.addListener(`backButton`,({canGoBack:e})=>{e?window.history.back():pF.exitApp()});return()=>{e.then(e=>e.remove())}},[])}var EF=Ut(`app.embed-host.hook`);function DF(e){let t=(0,Q.c)(7),n=Ks(),r=X(OF),i=(0,Z.useRef)(null),a,o;t[0]===n?(a=t[1],o=t[2]):(a=()=>{jO()&&n({type:Y.CloseSidebar})},o=[n],t[0]=n,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o);let s,c;t[3]!==e||t[4]!==r?(s=()=>{if(!jO()||r)return;let t=AO();!t||i.current===t||(i.current=t,e(t).catch(e=>{i.current=null,EF.error(`Failed to open embed project path:`,e)}))},c=[r,e],t[3]=e,t[4]=r,t[5]=s,t[6]=c):(s=t[5],c=t[6]),(0,Z.useEffect)(s,c)}function OF(e){return e.projectsLoading}function kF(e){let t=e.replace(/\.zip$/i,``);return/-source-code$/i.test(t)?t.replace(/-source-code$/i,``):/\s+source\s+code$/i.test(t)?t.replace(/\s+source\s+code$/i,``):null}function AF(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function jF(e,t){let n=kF(e);if(!n)return null;let r=AF(n);return r?t.find(e=>AF(Ke(e))===r)??null:null}var MF=Ut(`app.merged-pr-dialog-host.ui`),NF=(0,Z.lazy)(()=>us(()=>import(`./merged-pr-dialog-ClxYJI_m.js`).then(e=>({default:e.MergedPRDialog})),__vite__mapDeps([38,4,1,5])));function PF({threadId:e,projectId:t}){let n=Ks(),r=X(e=>e.projects.find(e=>e.projectId===t)),i=Fd(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),l=(0,Z.useRef)(null),[u,d]=(0,Z.useState)(()=>cT());(0,Z.useEffect)(()=>{lT(u)},[u]),(0,Z.useEffect)(()=>gT(()=>{l.current=e,o(!0)}),[e]),(0,Z.useEffect)(()=>{i.prExists&&i.prState===`MERGED`&&l.current!==e&&(l.current=e,o(!0))},[i.prExists,i.prState,e]);async function f(){try{c(!0);let r=await Po(e);if(u.newChatOnNewBranch){let r=`New Chat`;await Qa(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r});let i=await Io(e);n({type:Y.ClearMessages,conversationId:i})}Si();let a=await lo();n({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),ac({title:`New branch created`,description:`Created new branch "${r.branchName}" from the latest default branch`}),o(!1),await i.fetchUnifiedStatus(!0),setTimeout(()=>void i.fetchUnifiedStatus(!0),1500)}catch(e){MF.error(`Failed to create new branch:`,e),ac({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}finally{c(!1)}}function p(){o(!1),i.fetchUnifiedStatus(!0)}return a?(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(NF,{open:a,onOpenChange:o,onNewBranch:f,onJustOpen:p,newChatOnNewBranch:u.newChatOnNewBranch,onNewChatOnNewBranchChange:e=>d(t=>({...t,newChatOnNewBranch:e})),isLoading:s,projectName:r?.name})}):null}function FF(e){if(e.port!=null&&e.pid!=null){let t=e.command?`${e.command} `:``;return`Port ${e.port} is in use by ${t}(PID ${e.pid}). Kill it and retry starting the dev server?`}return e.port==null?`The dev server port is already in use. Kill the blocking process and retry?`:`Port ${e.port} is already in use. Kill the process on that port and retry?`}function IF(){let e=(0,Q.c)(28),{portConflictPrompt:t,clearPortConflictPrompt:n}=yw(),r;e[0]!==n||e[1]!==t?(r=function(e){!e&&t&&(t.resolve(!1),n())},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a;e[3]!==n||e[4]!==t?(a=function(){t?.resolve(!1),n()},e[3]=n,e[4]=t,e[5]=a):a=e[5];let o=a,s;e[6]!==n||e[7]!==t?(s=function(){t?.resolve(!0),n()},e[6]=n,e[7]=t,e[8]=s):s=e[8];let c=s,l=t!=null,u;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(sc,{children:`Port already in use`}),e[9]=u):u=e[9];let d;e[10]===t?d=e[11]:(d=t?FF(t):null,e[10]=t,e[11]=d);let f;e[12]===d?f=e[13]:(f=(0,$.jsxs)(fc,{children:[u,(0,$.jsx)(oc,{children:d})]}),e[12]=d,e[13]=f);let p;e[14]===o?p=e[15]:(p=(0,$.jsx)(dc,{onClick:o,children:`Cancel`}),e[14]=o,e[15]=p);let m;e[16]===c?m=e[17]:(m=(0,$.jsx)(lc,{onClick:c,children:`Kill and retry`}),e[16]=c,e[17]=m);let h;e[18]!==p||e[19]!==m?(h=(0,$.jsxs)(uc,{children:[p,m]}),e[18]=p,e[19]=m,e[20]=h):h=e[20];let g;e[21]!==f||e[22]!==h?(g=(0,$.jsxs)(cc,{children:[f,h]}),e[21]=f,e[22]=h,e[23]=g):g=e[23];let _;return e[24]!==i||e[25]!==g||e[26]!==l?(_=(0,$.jsx)(pc,{open:l,onOpenChange:i,children:g}),e[24]=i,e[25]=g,e[26]=l,e[27]=_):_=e[27],_}function LF(e){let t=(0,Q.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(IF,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(hc,{children:(0,$.jsx)(_c,{children:(0,$.jsxs)(vw,{children:[r,(0,$.jsx)(yc,{children:(0,$.jsx)(tk,{children:n})})]})})}),t[1]=n,t[2]=i),i}function RF(e){let t=(0,Q.c)(5),n=Gn(),{windows:r,expandedWindowId:i}=gc();if(n.pathname===`/review`)return`Review`;if(n.pathname.startsWith(`/settings`))return`Settings`;if(!e)return`Projects`;if(i){let e;if(t[0]!==i||t[1]!==r){e=Symbol.for(`react.early_return_sentinel`);bb0:{let n;t[3]===i?n=t[4]:(n=e=>e.id===i,t[3]=i,t[4]=n);let a=r.find(n);if(a){e=GO(a.panelId);break bb0}}t[0]=i,t[1]=r,t[2]=e}else e=t[2];if(e!==Symbol.for(`react.early_return_sentinel`))return e}return`Chat`}function zF(){let e=(0,Q.c)(6),t=X(HF),n=X(VF),r=X(BF)===`projects`,i=RF(n!=null&&!r),a,o;e[0]!==r||e[1]!==t||e[2]!==n||e[3]!==i?(a=()=>{if(!n||r){document.title=`Tarsk - ${i}`,CF(`Projects`);return}let e=t.find(e=>e.projectId===n);if(!e){document.title=`Tarsk`,CF(`Projects`);return}let a=Ke(e);document.title=`${a} - ${i}`,CF(a)},o=[r,t,n,i],e[0]=r,e[1]=t,e[2]=n,e[3]=i,e[4]=a,e[5]=o):(a=e[4],o=e[5]),(0,Z.useEffect)(a,o)}function BF(e){return e.projectPanelView}function VF(e){return e.selectedProjectId}function HF(e){return e.projects}var UF=`tarsk.ui-crash-report`,WF=8e3,GF=2e3,KF=0,qF=``;function JF(e,t){if(e)return e.length<=t?e:`${e.slice(0,t)}…`}function YF(e,t){if(e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`)return!0;let n=t.trim().toLowerCase();return n===`fetch is aborted`||n.includes(`the operation was aborted`)||n.includes(`bodystreambuffer was aborted`)}function XF(e,t){return e instanceof Error&&e.name===`Canceled`?!0:t.trim()===`Canceled`}function ZF(e,t){return e instanceof Error&&e.name===`Canceled`?!1:t.includes(`TextModel got disposed before DiffEditorWidget model got reset`)}function QF(e,t){return e instanceof Error?!1:t.trim().toLowerCase()===`script error.`}function $F(e){let{message:t}=eI(e);return t.includes(`ResizeObserver loop`)||YF(e,t)||XF(e,t)||ZF(e,t)||QF(e,t)}function eI(e){if(e instanceof Error)return{message:e.message||e.name||`Unknown error`,stack:e.stack};if(typeof e==`string`)return{message:e.trim()||`Unknown error`};if(e&&typeof e==`object`&&`message`in e){let t=e.message;if(typeof t==`string`&&t.trim())return{message:t.trim()}}try{return{message:JSON.stringify(e)}}catch{return{message:String(e)}}}function tI(e,t,n){let r=eI(e);return{message:r.message,stack:JF(r.stack,WF),componentStack:JF(n?.trim(),WF),source:t,url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}function nI(e){let t=Date.now();return e===qF&&t-KF<GF?!0:(qF=e,KF=t,!1)}function rI(){if(typeof localStorage>`u`)return null;let e=localStorage.getItem(UF);if(!e)return null;try{let t=JSON.parse(e);return!t||typeof t.message!=`string`||typeof t.timestamp!=`string`?null:{message:t.message,stack:typeof t.stack==`string`?t.stack:void 0,componentStack:typeof t.componentStack==`string`?t.componentStack:void 0,source:t.source===`window.error`||t.source===`unhandledrejection`||t.source===`react`?t.source:`window.error`,url:typeof t.url==`string`?t.url:``,userAgent:typeof t.userAgent==`string`?t.userAgent:``,timestamp:t.timestamp}}catch{return null}}function iI(){typeof localStorage>`u`||localStorage.removeItem(UF)}function aI(e,t){let n=tI(e,t.source,t.componentStack);if(!nI(n.message)&&typeof localStorage<`u`)try{localStorage.setItem(UF,JSON.stringify(n))}catch{}return n}function oI(e){let t=[`Tarsk UI crash report`,`Time: ${e.timestamp}`,`Source: ${e.source}`,`URL: ${e.url||`(unknown)`}`,`Message: ${e.message}`];return e.stack&&t.push(``,`Stack:`,e.stack),e.componentStack&&t.push(``,`Component stack:`,e.componentStack),e.userAgent&&t.push(``,`User agent: ${e.userAgent}`),t.join(`
3357
+ `)}function sI(e){if(typeof window>`u`)return;let t=e?.shouldIgnore;window.addEventListener(`error`,e=>{let n=e.error??e.message;t?.(n)||$F(n)||aI(n,{source:`window.error`})}),window.addEventListener(`unhandledrejection`,e=>{if(t?.(e.reason)||$F(e.reason)){e.preventDefault();return}aI(e.reason,{source:`unhandledrejection`})})}function cI(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function lI({open:e,report:t,variant:n,onDismiss:r,onReload:i}){let[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);async function l(){c(!0);try{await navigator.clipboard.writeText(oI(t)),o(!0),window.setTimeout(()=>o(!1),2e3)}catch{o(!1)}finally{c(!1)}}let u=[t.stack,t.componentStack?`Component stack:\n${t.componentStack}`:void 0].filter(Boolean).join(`
3358
3358
 
3359
- `);return(0,$.jsx)(pc,{open:e,children:(0,$.jsxs)(cc,{className:`flex max-h-[85dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(fc,{className:`shrink-0`,children:[(0,$.jsx)(sc,{children:n===`previous-session`?`Previous UI crash`:`UI crashed`}),(0,$.jsx)(oc,{children:n===`previous-session`?`Tarsk recovered on launch, but the UI crashed during your last session.`:`The UI hit an unhandled error. You can copy the details below or reload the app.`})]}),(0,$.jsxs)(`div`,{className:`min-h-0 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:G(U.label,`text-muted-foreground`),children:`Error`}),(0,$.jsx)(`p`,{className:G(U.body,`break-words`),children:t.message})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`grid gap-1 text-muted-foreground sm:grid-cols-2`),children:[(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:`When:`}),` `,sI(t.timestamp)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:`Source:`}),` `,t.source]})]}),u?(0,$.jsx)(za,{className:`max-h-64 rounded-md border border-border bg-muted/40`,children:(0,$.jsx)(`pre`,{className:G(U.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),children:u})}):null]}),(0,$.jsxs)(uc,{className:`shrink-0 sm:justify-between`,children:[(0,$.jsxs)(Hr,{type:`button`,variant:`outline`,disabled:s,onClick:()=>void l(),children:[s?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(Ze,{className:`h-4 w-4`}),a?`Copied`:`Copy details`]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[n===`previous-session`?(0,$.jsx)(Hr,{type:`button`,variant:`outline`,onClick:r,children:`Close`}):null,n===`current-session`&&i?(0,$.jsx)(Hr,{type:`button`,onClick:i,children:`Reload`}):null]})]})]})})}var lI=Date.now();function uI(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t<lI-500:!0}function dI(){let e=(0,Q.c)(3),[t,n]=(0,Z.useState)(fI);if(!t)return null;let r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=function(){rI(),n(null)},e[0]=r):r=e[0];let i=r,a;return e[1]===t?a=e[2]:(a=(0,$.jsx)(cI,{open:!0,report:t,variant:`previous-session`,onDismiss:i}),e[1]=t,e[2]=a),a}function fI(){let e=nI();return!e||!uI(e)?null:e}function pI(e,t){for(let n of e)if(!(n.type!==`content`&&n.type!==`thinking`))for(let e of n.chunks)M_(e,t)}function mI(e,t,n){for(let t of Object.values(n))t.threadId===e&&N_(t,e);for(let n of fs(t,e)){let r=As(t,e,n);r.streamingContent&&M_(r.streamingContent,e),pI(r.streamingSegments,e)}}function hI(){let e=(0,Q.c)(6),t=X(yI),n=X(vI),r=X(_I),i=X(gI),a,o;e[0]!==t||e[1]!==n||e[2]!==r||e[3]!==i?(a=()=>{let e=new Set;for(let n of t)e.add(n);n&&e.add(n);for(let t of e)mI(t,r,i)},o=[t,n,r,i],e[0]=t,e[1]=n,e[2]=r,e[3]=i,e[4]=a,e[5]=o):(a=e[4],o=e[5]),(0,Z.useEffect)(a,o)}function gI(e){return e.toolCallProgress}function _I(e){return e.threadStreamingStates}function vI(e){return e.selectedThreadId}function yI(e){return e.processingThreadIds}function bI({url:e,projectId:t,projectName:n,projects:r,onSelectProject:i,onClose:a,onInstalled:o}){let[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)([]),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1),_=(0,Z.useRef)(0),v=s!==null&&s.skills.length===0&&s.mcpServers.length>0;(0,Z.useEffect)(()=>{let n=++_.current;if(!e||!t){c(null),u(null),g(!1);return}c(null),u(null),g(!0),Ui(t,e).then(e=>{n===_.current&&(c(e),f(e.mcpServers.filter(e=>!e.conflict).map(e=>e.name)))}).catch(e=>{n===_.current&&u(e instanceof Error?e.message:`Unable to inspect plugin archive`)}).finally(()=>{n===_.current&&g(!1)})},[e,t]);async function y(){if(!(!e||!t||!s)){g(!0);try{await hi(t,{url:e,skills:s.skills.map(e=>e.name),mcpServers:d,replace:p}),o?.({mcpOnly:v}),a()}catch(e){u(e instanceof Error?e.message:`Unable to install plugin archive`)}finally{g(!1)}}}return(0,$.jsx)(Ni,{open:!!e,onOpenChange:e=>{e||a()},children:(0,$.jsxs)(Ir,{children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:v?`Install MCP Server`:`Install plugin`}),(0,$.jsx)(_i,{children:t?s?`${s.manifest.name} will be installed in the project “${n??`Unknown`}”.`:`Inspecting the plugin archive…`:`Select a project to preview this plugin archive.`})]}),t?null:(0,$.jsxs)(vo,{value:void 0,onValueChange:i,children:[(0,$.jsx)(na,{children:(0,$.jsx)(Vo,{placeholder:`Select a project`})}),(0,$.jsx)(io,{children:r.map(e=>(0,$.jsx)(Ba,{value:e.projectId,children:Ke(e)},e.projectId))})]}),l?(0,$.jsx)(`p`,{className:`text-destructive text-sm`,children:l}):null,s?(0,$.jsxs)(`div`,{className:`space-y-4 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{children:`Skills`}),(0,$.jsx)(`p`,{children:s.skills.map(e=>`${e.name}${e.conflict?` (already installed)`:``}`).join(`, `)||`None`})]}),s.mcpServers.length?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`strong`,{children:`MCP servers`}),s.mcpServers.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ko,{checked:d.includes(e.name),onCheckedChange:t=>f(n=>t?[...n,e.name]:n.filter(t=>t!==e.name)),id:`mcp-${e.name}`}),(0,$.jsxs)(da,{htmlFor:`mcp-${e.name}`,children:[e.name,e.conflict?` (already configured)`:``]})]},e.name))]}):null,s.skills.some(e=>e.conflict)||s.mcpServers.some(e=>e.conflict)?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ko,{checked:p,onCheckedChange:e=>m(e===!0),id:`replace-plugin`}),(0,$.jsx)(da,{htmlFor:`replace-plugin`,children:`Replace existing files and MCP servers`})]}):null]}):null,(0,$.jsxs)(Xa,{children:[(0,$.jsx)(Hr,{variant:`outline`,onClick:a,children:`Cancel`}),(0,$.jsx)(Hr,{disabled:!s||h,onClick:()=>void y(),children:`Install`})]})]})})}var xI=(0,Z.createContext)(null);function SI(){let e=(0,Z.useContext)(xI);if(!e)throw Error(`useRequestDeleteProject must be used within a DeleteProjectRequestContext`);return e}function CI(){return UP(),yP(),null}function wI(){return hI(),null}function TI(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`health-status`,Fa()],queryFn:EI,refetchInterval:3e4,retry:!1},e[0]=t):t=e[0],vr(t)}async function EI(){let e=await fetch(`${Fa()}/health`,{method:`GET`});if(!e.ok)throw Error(`Failed to load health status`);return e.json()}function DI(){let e=Yn(),[t,n]=(0,Z.useState)(null);return wF((0,Z.useCallback)(t=>{if(!t.startsWith(`tarsk://`))return;let r=t.slice(8);try{let t=new URL(`https://tarsk.invalid/${r}`);if(t.pathname===`/skill-install`&&t.searchParams.get(`url`)){n(t.searchParams.get(`url`));return}let i=/^https?:\/\//i.test(r)?new URL(r):t;e(`${i.pathname}${i.search}${i.hash}`||`/`)}catch{}},[e,n])),{pendingPluginImportUrl:t,setPendingPluginImportUrl:n}}function OI(){let e=(0,Q.c)(2),t=Ks(),n;return e[0]===t?n=e[1]:(n=e=>{t({type:Y.OpenProjectPanel,projectId:e})},e[0]=t,e[1]=n),n}function kI(e){let t=(0,Q.c)(17),{handleOpenFolder:n,handleCreateZip:r,projects:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{o(e),e||c(null)},t[0]=d):d=t[0];let f=d,p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>{c(e),o(!0)},t[1]=p):p=t[1];let m=p,h;t[2]===n?h=t[3]:(h=()=>{n()},t[2]=n,t[3]=h);let g=h,_;t[4]!==r||t[5]!==i?(_=()=>{let e=document.createElement(`input`);e.type=`file`,e.accept=`.zip,application/zip,application/x-zip-compressed`,e.style.display=`none`,document.body.appendChild(e),e.addEventListener(`change`,()=>{document.body.removeChild(e);let t=e.files?.[0];if(!t)return;let n=AF(t.name,i);if(n){u({file:t,filename:t.name,existingProjectId:n.projectId,existingProjectName:Ke(n)});return}r(t,t.name)},{once:!0}),e.click()},t[4]=r,t[5]=i,t[6]=_):_=t[6];let v=_,y;t[7]!==r||t[8]!==l?(y=e=>{let t=l;u(null),t&&e&&r(t.file,t.filename,t.existingProjectId)},t[7]=r,t[8]=l,t[9]=y):y=t[9];let b=y,x;return t[10]!==s||t[11]!==g||t[12]!==v||t[13]!==l||t[14]!==b||t[15]!==a?(x={showCreateProject:a,setShowCreateProject:o,createProjectInitialMode:s,handleCreateProjectOpenChange:f,openCreateProjectDialog:m,handleOpenFolderProject:g,handleSelectZip:v,pendingZipOverride:l,resolveZipOverride:b},t[10]=s,t[11]=g,t[12]=v,t[13]=l,t[14]=b,t[15]=a,t[16]=x):x=t[16],x}function AI(e){let t=(0,Q.c)(35),{projects:n,cloneRootPath:r,processingThreadIds:i,devServerProjectId:a,devServerState:o,pendingSetupScriptConfirmation:s,confirmDeleteProject:c}=e,[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),p;t[0]!==r||t[1]!==n?(p=e=>{let t=n.find(t=>t.projectId===e)?.projectPath;return!t||!r?!0:t.startsWith(r.replace(/\/+$/,``)+`/`)},t[0]=r,t[1]=n,t[2]=p):p=t[2];let m=p,h;t[3]!==m||t[4]!==n?(h=e=>{let t=n.find(t=>t.projectId===e);t&&u({id:t.projectId,name:Ke(t),deletesFolder:m(t.projectId)})},t[3]=m,t[4]=n,t[5]=h):h=t[5];let g=h,_;t[6]===m?_=t[7]:(_=e=>{u({...e,deletesFolder:m(e.id)})},t[6]=m,t[7]=_);let v=_,y;bb0:{if(!l){y=!1;break bb0}let e;if(t[8]!==l.id||t[9]!==i||t[10]!==n){let r;t[12]===l.id?r=t[13]:(r=e=>e.projectId===l.id,t[12]=l.id,t[13]=r);let a=n.find(r)?.threads.map(NI)??[],o;t[14]===i?o=t[15]:(o=e=>i.includes(e),t[14]=i,t[15]=o),e=a.some(o),t[8]=l.id,t[9]=i,t[10]=n,t[11]=e}else e=t[11];let r=e,c=a===l.id&&(o===`starting`||o===`running`||o===`stopping`),u=s?.projectId===l.id;y=r||c||u}let b=y,x=b?`Stop or finish active sessions before deleting this project.`:null,S;t[16]===c?S=t[17]:(S=(e,t)=>{u(null),f({projectId:e,projectName:t,step:0,status:`progressing`}),c(e,e=>f(e)).catch(MI)},t[16]=c,t[17]=S);let C=S,w;t[18]!==c||t[19]!==d?(w=()=>{if(!d)return;let{projectId:e,projectName:t}=d;f({projectId:e,projectName:t,step:0,status:`progressing`}),c(e,e=>f(e)).catch(jI)},t[18]=c,t[19]=d,t[20]=w):w=t[20];let T=w,E;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{f(null)},t[21]=E):E=t[21];let D=E,O;t[22]===d?.status?O=t[23]:(O=()=>{if(d?.status!==`done`)return;let e=window.setTimeout(()=>f(null),800);return()=>window.clearTimeout(e)},t[22]=d?.status,t[23]=O);let k;t[24]===d?k=t[25]:(k=[d],t[24]=d,t[25]=k),(0,Z.useEffect)(O,k);let A;return t[26]!==d||t[27]!==l||t[28]!==x||t[29]!==b||t[30]!==g||t[31]!==v||t[32]!==T||t[33]!==C?(A={deleteProject:l,setDeleteProject:u,deleteProgress:d,deleteProjectBlocked:b,deleteProjectBlockReason:x,handleDeleteProject:g,handleDeleteProjectRequest:v,runDeleteProject:C,handleDeleteProjectRetry:T,handleDeleteProjectProgressClose:D},t[26]=d,t[27]=l,t[28]=x,t[29]=b,t[30]=g,t[31]=v,t[32]=T,t[33]=C,t[34]=A):A=t[34],A}function jI(){}function MI(){}function NI(e){return e.threadId}function PI({dispatch:e,navigate:t,location:n,projects:r,selectedThreadId:i,selectedProjectId:a,projectPanelView:o,projectPanelProjectId:s,sidebarOpen:c,useMobileLayout:l,clearCompleted:u,setActiveMainTab:d,triggerBrowserReset:f,handleSelectThread:p,handleCreateThread:m,openProjectActions:h}){let g=(0,Z.useRef)(()=>{}),_=(0,Z.useCallback)(e=>{m(e,void 0)},[m]);g.current=_;let v=s??a;(0,Z.useEffect)(()=>{function e(e){let t=e.key.toLowerCase();!((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey)||t!==`t`||!v||(e.preventDefault(),g.current(v))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let y=(0,Z.useCallback)(()=>{e({type:Y.CloseProjectPanel}),c||e({type:Y.ToggleSidebar})},[e,c]),b=(0,Z.useCallback)((r,a)=>{u(a),n.pathname!==`/`&&t(`/`),d(`chat`),i!==a&&f(),p(r,a),l&&e({type:Y.CloseSidebar})},[p,l,i,e,u,n.pathname,t,d,f]);return{handleBackToProjects:y,handleSelectThreadWrapper:b,handleSelectProject:(0,Z.useCallback)(t=>{let n=o===`projects`;h(t);let a=r.find(e=>e.projectId===t);if(!a)return;function s(){n&&e({type:Y.FocusChatInput})}if(a.threads.some(e=>e.threadId===i)){s();return}let c=a.threads.find(e=>e.isSelected)??a.threads[0]??null;if(c){b(t,c.threadId),s();return}i&&f(),e({type:Y.SelectProject,projectId:t})},[h,o,r,i,b,f,e]),handleCreateThreadDirect:_}}function FI(e){let t=(0,Q.c)(23),{dispatch:n,handleBackToProjects:r,selectedProjectId:i,selectedThreadId:a,projectPanelView:o,projectPanelProjectId:s,actionsProject:c,sidebarOpen:l,sidebarPanelRef:u,showProjectsFullScreen:d,showingProjectDetails:f,useMobileLayout:p}=e,m,h;t[0]!==c||t[1]!==n||t[2]!==s||t[3]!==o||t[4]!==i||t[5]!==a?(m=()=>{if(o===`actions`&&s&&!c){if(i===s&&a)return;n({type:Y.CloseProjectPanel})}},h=[n,o,s,c,i,a],t[0]=c,t[1]=n,t[2]=s,t[3]=o,t[4]=i,t[5]=a,t[6]=m,t[7]=h):(m=t[6],h=t[7]),(0,Z.useEffect)(m,h);let g=(0,Z.useRef)(i),_,v;t[8]!==r||t[9]!==i?(_=()=>{let e=g.current!==null;g.current=i,e&&i===null&&r()},v=[i,r],t[8]=r,t[9]=i,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,Z.useEffect)(_,v);let y;t[12]!==d||t[13]!==f||t[14]!==l||t[15]!==u||t[16]!==p?(y=()=>{if(!f){if(!l){u.current?.collapse();return}u.current?.expand(),d?u.current?.resize(100):p||u.current?.resize(25)}},t[12]=d,t[13]=f,t[14]=l,t[15]=u,t[16]=p,t[17]=y):y=t[17];let b;t[18]!==d||t[19]!==f||t[20]!==l||t[21]!==p?(b=[l,d,f,p],t[18]=d,t[19]=f,t[20]=l,t[21]=p,t[22]=b):b=t[22],(0,Z.useEffect)(y,b)}function II(e){let t=(0,Q.c)(14),{selectedThreadId:n,sidebarOpen:r}=e,{mode:i}=CO(),a=oF(),o;t[0]===a?o=t[1]:(o=a||Za(),t[0]=a,t[1]=o);let s=o,{data:c}=TI(),l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=AO(),t[2]=l):l=t[2];let u=l,d;t[3]===n?d=t[4]:(d={selectedThreadId:n},t[3]=n,t[4]=d);let{isSettingsRoute:f,isReviewRoute:p}=lF(d);uF(f,p),RF();let m=gC(),h=!f&&!p&&!m,g=h&&r,_;return t[5]!==c||t[6]!==p||t[7]!==f||t[8]!==g||t[9]!==h||t[10]!==m||t[11]!==s||t[12]!==i?(_={wallpaperMode:i,healthStatus:c,vscodeEmbed:u,isSettingsRoute:f,isReviewRoute:p,showingProjectDetails:m,useMobileLayout:s,showProjectsFullScreen:h,projectsHomeTakingScreen:g},t[5]=c,t[6]=p,t[7]=f,t[8]=g,t[9]=h,t[10]=m,t[11]=s,t[12]=i,t[13]=_):_=t[13],_}function LI(e){return G(`relative h-screen overflow-hidden`,e===`image`&&`bg-background`,e===`background`&&`bg-[hsl(var(--image-off-background))]`,e===`color`&&`bg-[var(--wallpaper-color)]`)}function RI(e){let t=(0,Q.c)(1),{wallpaperMode:n}=e;if(n!==`image`)return null;let r;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(pl,{}),t[0]=r):r=t[0],r}function zI(e){return(0,$.jsx)(GP,{id:`app-sidebar-panel`,order:1,ref:e.sidebarPanelRef,defaultSize:e.showProjectsFullScreen||e.useMobileLayout?100:25,minSize:e.showProjectsFullScreen||e.useMobileLayout?50:12,maxSize:e.showProjectsFullScreen||e.useMobileLayout?100:32,collapsible:!0,collapsedSize:0,className:G(`border-r border-transparent`,e.useMobileLayout&&!e.sidebarOpen&&`hidden`),children:(0,$.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,$.jsx)(Ol,{projects:e.projects,selectedThreadId:e.selectedThreadId,selectedProjectId:e.selectedProjectId,deletingProjectIds:e.deletingProjectIds,onSelectProject:e.handleSelectProject,onCreateProject:e.openCreateProjectDialog,onOpenFolder:e.handleOpenFolderProject,onSelectZip:e.handleSelectZip,onDeleteProject:e.handleDeleteProject,collapsed:!e.sidebarOpen,updateAvailable:e.updateAvailable,updatingApp:e.updatingApp,onUpdateApp:e.handleUpdateApp,isDevMode:e.healthStatus?.isDevMode===!0})})})}function BI(e){let t=(0,Q.c)(16),n=e.projectsHomeTakingScreen?0:40,r=e.projectsHomeTakingScreen&&`hidden`,i;t[0]===r?i=t[1]:(i=G(`overflow-hidden`,r),t[0]=r,t[1]=i);let a;t[2]!==e.handleBackToProjects||t[3]!==e.handleCreateFolder||t[4]!==e.handleCreateProject||t[5]!==e.handleCreateThreadDirect||t[6]!==e.handleCreateWebApp||t[7]!==e.handleOpenFolder||t[8]!==e.handleSelectProject||t[9]!==e.isReviewRoute||t[10]!==e.selectedProjectId?(a=(0,$.jsx)(yv,{children:(0,$.jsx)(zC,{children:(0,$.jsx)(jM,{selectedProjectId:e.selectedProjectId,isReviewRoute:e.isReviewRoute,onCreateThread:e.handleCreateThreadDirect,onBackToProjects:e.handleBackToProjects,onSelectProject:e.handleSelectProject,onSubmitClone:e.handleCreateProject,onSubmitWebApp:e.handleCreateWebApp,onSubmitFolder:e.handleCreateFolder,onOpenFolder:e.handleOpenFolder})})}),t[2]=e.handleBackToProjects,t[3]=e.handleCreateFolder,t[4]=e.handleCreateProject,t[5]=e.handleCreateThreadDirect,t[6]=e.handleCreateWebApp,t[7]=e.handleOpenFolder,t[8]=e.handleSelectProject,t[9]=e.isReviewRoute,t[10]=e.selectedProjectId,t[11]=a):a=t[11];let o;return t[12]!==n||t[13]!==i||t[14]!==a?(o=(0,$.jsx)(GP,{id:`app-main-panel`,order:2,minSize:n,className:i,children:a}),t[12]=n,t[13]=i,t[14]=a,t[15]=o):o=t[15],o}function VI(e){let t=(0,Q.c)(57),n;t[0]===e.wallpaperMode?n=t[1]:(n=LI(e.wallpaperMode),t[0]=e.wallpaperMode,t[1]=n);let r;t[2]===e.wallpaperMode?r=t[3]:(r=(0,$.jsx)(RI,{wallpaperMode:e.wallpaperMode}),t[2]=e.wallpaperMode,t[3]=r);let i=e.selectedThreadId??void 0,a;t[4]!==e.selectedProjectId||t[5]!==e.selectedThreadId?(a=e.selectedThreadId&&e.selectedProjectId?(0,$.jsx)(NF,{threadId:e.selectedThreadId,projectId:e.selectedProjectId}):null,t[4]=e.selectedProjectId,t[5]=e.selectedThreadId,t[6]=a):a=t[6];let o;t[7]===e?o=t[8]:(o=!e.vscodeEmbed&&!e.showingProjectDetails&&(0,$.jsx)(zI,{...e}),t[7]=e,t[8]=o);let s;t[9]!==e.showingProjectDetails||t[10]!==e.vscodeEmbed?(s=!e.vscodeEmbed&&!e.showingProjectDetails&&(0,$.jsx)(KP,{id:`app-sidebar-resize-handle`}),t[9]=e.showingProjectDetails,t[10]=e.vscodeEmbed,t[11]=s):s=t[11];let c;t[12]===e?c=t[13]:(c=(0,$.jsx)(BI,{...e}),t[12]=e,t[13]=c);let l=e.deleteProject?.deletesFolder??!0,u,d;t[14]===e?(u=t[15],d=t[16]):(u=t=>!t&&e.setDeleteProject(null),d=()=>{e.deleteProject&&e.runDeleteProject(e.deleteProject.id,e.deleteProject.name)},t[14]=e,t[15]=u,t[16]=d);let f;t[17]===e.pendingZipOverride?f=t[18]:(f=e.pendingZipOverride?{existingProjectId:e.pendingZipOverride.existingProjectId,existingProjectName:e.pendingZipOverride.existingProjectName,zipFilename:e.pendingZipOverride.filename}:null,t[17]=e.pendingZipOverride,t[18]=f);let p;t[19]===e?p=t[20]:(p=()=>{e.refreshProjects()},t[19]=e,t[20]=p);let m;t[21]!==e.createProjectInitialMode||t[22]!==e.deleteProgress||t[23]!==e.deleteProject||t[24]!==e.deleteProjectBlockReason||t[25]!==e.deleteProjectBlocked||t[26]!==e.handleCreateFolder||t[27]!==e.handleCreateProject||t[28]!==e.handleCreateProjectOpenChange||t[29]!==e.handleCreateWebApp||t[30]!==e.handleDeleteProjectProgressClose||t[31]!==e.handleDeleteProjectRetry||t[32]!==e.pendingSetupScriptConfirmation||t[33]!==e.resolveSetupScriptConfirmation||t[34]!==e.resolveZipOverride||t[35]!==e.setShowOnboarding||t[36]!==e.showCreateProject||t[37]!==e.showOnboarding||t[38]!==f||t[39]!==p||t[40]!==l||t[41]!==u||t[42]!==d?(m=(0,$.jsx)(vP,{showCreateProject:e.showCreateProject,createProjectInitialMode:e.createProjectInitialMode,onCreateProjectOpenChange:e.handleCreateProjectOpenChange,onSubmitClone:e.handleCreateProject,onSubmitWebApp:e.handleCreateWebApp,onSubmitFolder:e.handleCreateFolder,deleteProject:e.deleteProject,deleteProjectBlocked:e.deleteProjectBlocked,deleteProjectBlockReason:e.deleteProjectBlockReason,deleteProjectDeletesFolder:l,onDeleteProjectOpenChange:u,onConfirmDeleteProject:d,deleteProjectProgress:e.deleteProgress,onDeleteProjectRetry:e.handleDeleteProjectRetry,onDeleteProjectProgressClose:e.handleDeleteProjectProgressClose,pendingSetupScriptConfirmation:e.pendingSetupScriptConfirmation,onResolveSetupScriptConfirmation:e.resolveSetupScriptConfirmation,pendingZipOverride:f,onResolveZipOverride:e.resolveZipOverride,showOnboarding:e.showOnboarding,onOnboardingOpenChange:e.setShowOnboarding,onOnboardingComplete:p}),t[21]=e.createProjectInitialMode,t[22]=e.deleteProgress,t[23]=e.deleteProject,t[24]=e.deleteProjectBlockReason,t[25]=e.deleteProjectBlocked,t[26]=e.handleCreateFolder,t[27]=e.handleCreateProject,t[28]=e.handleCreateProjectOpenChange,t[29]=e.handleCreateWebApp,t[30]=e.handleDeleteProjectProgressClose,t[31]=e.handleDeleteProjectRetry,t[32]=e.pendingSetupScriptConfirmation,t[33]=e.resolveSetupScriptConfirmation,t[34]=e.resolveZipOverride,t[35]=e.setShowOnboarding,t[36]=e.showCreateProject,t[37]=e.showOnboarding,t[38]=f,t[39]=p,t[40]=l,t[41]=u,t[42]=d,t[43]=m):m=t[43];let h;t[44]!==m||t[45]!==o||t[46]!==s||t[47]!==c?(h=(0,$.jsxs)(WP,{id:`app-shell-panels`,direction:`horizontal`,className:`relative z-10 h-full`,children:[o,s,c,m]}),t[44]=m,t[45]=o,t[46]=s,t[47]=c,t[48]=h):h=t[48];let g;t[49]!==h||t[50]!==i||t[51]!==a?(g=(0,$.jsxs)(jE,{threadId:i,children:[a,h]}),t[49]=h,t[50]=i,t[51]=a,t[52]=g):g=t[52];let _;return t[53]!==n||t[54]!==r||t[55]!==g?(_=(0,$.jsxs)(`div`,{className:n,children:[r,g]}),t[53]=n,t[54]=r,t[55]=g,t[56]=_):_=t[56],_}function HI(e){let t=(0,Q.c)(25),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(CI,{}),r=(0,$.jsx)(wI,{}),i=(0,$.jsx)(Xc,{}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(iw,{})}),t[3]=a):a=t[3];let o;t[4]===e?o=t[5]:(o=(0,$.jsx)(VI,{...e}),t[4]=e,t[5]=o);let s;t[6]===e.selectedProject?s=t[7]:(s=e.selectedProject?Ke(e.selectedProject):null,t[6]=e.selectedProject,t[7]=s);let c;t[8]===e?c=t[9]:(c=()=>e.setPendingPluginImportUrl(null),t[8]=e,t[9]=c);let l;t[10]!==e.handleSelectProject||t[11]!==e.pendingPluginImportUrl||t[12]!==e.projects||t[13]!==e.selectedProjectId||t[14]!==s||t[15]!==c?(l=(0,$.jsx)(bI,{url:e.pendingPluginImportUrl,projectId:e.selectedProjectId,projectName:s,projects:e.projects,onSelectProject:e.handleSelectProject,onClose:c}),t[10]=e.handleSelectProject,t[11]=e.pendingPluginImportUrl,t[12]=e.projects,t[13]=e.selectedProjectId,t[14]=s,t[15]=c,t[16]=l):l=t[16];let u,d;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(qP,{}),d=(0,$.jsx)(dI,{}),t[17]=u,t[18]=d):(u=t[17],d=t[18]);let f;t[19]!==o||t[20]!==l?(f=(0,$.jsxs)($.Fragment,{children:[n,r,i,a,(0,$.jsxs)(Zo,{delayDuration:200,children:[o,l,u,d]})]}),t[19]=o,t[20]=l,t[21]=f):f=t[21];let p;return t[22]!==e.handleDeleteProjectRequest||t[23]!==f?(p=(0,$.jsx)(xI.Provider,{value:e.handleDeleteProjectRequest,children:f}),t[22]=e.handleDeleteProjectRequest,t[23]=f,t[24]=p):p=t[24],p}function UI(){let e=(0,Q.c)(79),t=Ks(),n=Yn(),r=Gn(),i=X(ZI),a=X(XI),o=X(YI),s=X(JI),c=X(qI),l=X(KI),u=X(GI),d=X(WI),{pendingPluginImportUrl:f,setPendingPluginImportUrl:p}=DI(),{devServerProjectId:m,devServerState:h}=vw(),g=OI(),_;e[0]===g?_=e[1]:(_={onProjectCreated:g,onThreadCreateStart:g},e[0]=g,e[1]=_);let{projects:v,handleSelectThread:y,handleCreateProject:b,handleCreateWebApp:x,handleCreateFolder:S,handleCreateZip:C,handleOpenFolder:w,handleOpenPath:T,handleCreateThread:E,confirmDeleteProject:D,refreshProjects:O,pendingSetupScriptConfirmation:k,resolveSetupScriptConfirmation:A}=lw(_),j;if(e[2]!==v||e[3]!==a){let t;e[5]===a?t=e[6]:(t=e=>e.projectId===a,e[5]=a,e[6]=t),j=v.find(t),e[2]=v,e[3]=a,e[4]=j}else j=e[4];let M=j,N;e[7]!==i||e[8]!==o?(N={selectedThreadId:i,sidebarOpen:o},e[7]=i,e[8]=o,e[9]=N):N=e[9];let P=II(N),F;e[10]!==C||e[11]!==w||e[12]!==v?(F={handleOpenFolder:w,handleCreateZip:C,projects:v},e[10]=C,e[11]=w,e[12]=v,e[13]=F):F=e[13];let I=kI(F),L;e[14]!==u||e[15]!==D||e[16]!==m||e[17]!==h||e[18]!==k||e[19]!==d||e[20]!==v?(L={projects:v,cloneRootPath:u,processingThreadIds:d,devServerProjectId:m,devServerState:h,pendingSetupScriptConfirmation:k,confirmDeleteProject:D},e[14]=u,e[15]=D,e[16]=m,e[17]=h,e[18]=k,e[19]=d,e[20]=v,e[21]=L):L=e[21];let R=AI(L),{clearCompleted:z}=iF(),{setActiveMainTab:B}=mc(),{triggerBrowserReset:V}=nk(),{showOnboarding:H,setShowOnboarding:ee,updateAvailable:te,updatingApp:ne,handleUpdateApp:re}=cF();EF(T);let ie;e[22]!==l||e[23]!==v?(ie=l==null?void 0:v.find(e=>e.projectId===l),e[22]=l,e[23]=v,e[24]=ie):ie=e[24];let ae=ie,oe=(0,Z.useRef)(null),se;e[25]!==z||e[26]!==t||e[27]!==E||e[28]!==y||e[29]!==r||e[30]!==n||e[31]!==g||e[32]!==l||e[33]!==c||e[34]!==v||e[35]!==a||e[36]!==i||e[37]!==B||e[38]!==o||e[39]!==V||e[40]!==P.useMobileLayout?(se={dispatch:t,navigate:n,location:r,projects:v,selectedThreadId:i,selectedProjectId:a,projectPanelView:c,projectPanelProjectId:l,sidebarOpen:o,useMobileLayout:P.useMobileLayout,clearCompleted:z,setActiveMainTab:B,triggerBrowserReset:V,handleSelectThread:y,handleCreateThread:E,openProjectActions:g},e[25]=z,e[26]=t,e[27]=E,e[28]=y,e[29]=r,e[30]=n,e[31]=g,e[32]=l,e[33]=c,e[34]=v,e[35]=a,e[36]=i,e[37]=B,e[38]=o,e[39]=V,e[40]=P.useMobileLayout,e[41]=se):se=e[41];let U=PI(se),ce;e[42]!==ae||e[43]!==t||e[44]!==l||e[45]!==c||e[46]!==a||e[47]!==i||e[48]!==U.handleBackToProjects||e[49]!==o||e[50]!==P.showProjectsFullScreen||e[51]!==P.showingProjectDetails||e[52]!==P.useMobileLayout?(ce={dispatch:t,handleBackToProjects:U.handleBackToProjects,selectedProjectId:a,selectedThreadId:i,projectPanelView:c,projectPanelProjectId:l,actionsProject:ae,sidebarOpen:o,sidebarPanelRef:oe,showProjectsFullScreen:P.showProjectsFullScreen,showingProjectDetails:P.showingProjectDetails,useMobileLayout:P.useMobileLayout},e[42]=ae,e[43]=t,e[44]=l,e[45]=c,e[46]=a,e[47]=i,e[48]=U.handleBackToProjects,e[49]=o,e[50]=P.showProjectsFullScreen,e[51]=P.showingProjectDetails,e[52]=P.useMobileLayout,e[53]=ce):ce=e[53],FI(ce);let le;return e[54]!==I||e[55]!==R||e[56]!==s||e[57]!==S||e[58]!==b||e[59]!==x||e[60]!==w||e[61]!==re||e[62]!==f||e[63]!==k||e[64]!==v||e[65]!==O||e[66]!==A||e[67]!==M||e[68]!==a||e[69]!==i||e[70]!==U||e[71]!==p||e[72]!==ee||e[73]!==H||e[74]!==o||e[75]!==te||e[76]!==ne||e[77]!==P?(le={...P,...I,...R,...U,sidebarOpen:o,selectedThreadId:i,selectedProjectId:a,deletingProjectIds:s,sidebarPanelRef:oe,projects:v,selectedProject:M,updateAvailable:te,updatingApp:ne,handleUpdateApp:re,handleCreateProject:b,handleCreateWebApp:x,handleCreateFolder:S,handleOpenFolder:w,showOnboarding:H,setShowOnboarding:ee,refreshProjects:O,pendingSetupScriptConfirmation:k,resolveSetupScriptConfirmation:A,pendingPluginImportUrl:f,setPendingPluginImportUrl:p},e[54]=I,e[55]=R,e[56]=s,e[57]=S,e[58]=b,e[59]=x,e[60]=w,e[61]=re,e[62]=f,e[63]=k,e[64]=v,e[65]=O,e[66]=A,e[67]=M,e[68]=a,e[69]=i,e[70]=U,e[71]=p,e[72]=ee,e[73]=H,e[74]=o,e[75]=te,e[76]=ne,e[77]=P,e[78]=le):le=e[78],le}function WI(e){return e.processingThreadIds}function GI(e){return e.cloneRootPath}function KI(e){return e.projectPanelProjectId}function qI(e){return e.projectPanelView}function JI(e){return e.deletingProjectIds}function YI(e){return e.sidebarOpen}function XI(e){return e.selectedProjectId}function ZI(e){return e.selectedThreadId}function QI(){let e=(0,Q.c)(2),t=UI(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(HI,{...t}),e[0]=t,e[1]=n),n}function $I(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(IF,{children:(0,$.jsx)(QI,{})}),e[0]=t):t=e[0],t}function eL(){let e=(0,Q.c)(3),[t]=(0,Z.useState)(qs),n=AO(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)($I,{}),e[0]=r):r=e[0];let i;return e[1]===t?i=e[2]:(i=(0,$.jsx)(QP,{attribute:`class`,defaultTheme:n?`dark`:`system`,enableSystem:!0,storageKey:n?`tarsk-theme-vscode`:`tarsk-theme`,children:(0,$.jsx)(XP,{children:(0,$.jsx)(Zs.Provider,{value:t,children:r})})}),e[1]=t,e[2]=i),i}var tL=75,nL=125,rL=100;function iL(){return window.matchMedia(`(max-width: 767px)`).matches}function aL(e){let t=C(e,iL());document.documentElement.style.fontSize=`${t}%`}var oL=!1;function sL(){oL||(oL=!0,window.matchMedia(`(max-width: 767px)`).addEventListener(`change`,()=>{aL(Vi(rL))}))}function cL(){let[e,t]=(0,Z.useState)(()=>Vi(rL));(0,Z.useEffect)(()=>{sL(),aL(e)},[e]);function n(e){let n=Math.max(tL,Math.min(nL,Math.round(e)));t(n),Ta(n)}return{scale:e,updateScale:n,resetScale:(0,Z.useCallback)(()=>{n(rL)},[]),min:tL,max:nL,default:rL}}function lL(){sL(),aL(Vi(rL))}var uL=60,dL=100,fL=80,pL=`--frosted-panel-opacity`;function mL(e){document.documentElement.style.setProperty(pL,String(e/100))}function hL(){let[e,t]=(0,Z.useState)(()=>Gi(fL));(0,Z.useEffect)(()=>{mL(e)},[e]);function n(e){let n=Math.max(uL,Math.min(dL,Math.round(e)));t(n),Pa(n)}return{opacity:e,updateOpacity:n,resetOpacity:(0,Z.useCallback)(()=>{n(fL)},[]),min:uL,max:dL,default:fL}}function gL(){mL(Gi(fL))}var _L=`--brand`,vL=`--brand-foreground`,yL=`0 0% 9%`,bL=`0 0% 100%`,xL=jr(),SL=new Set;function CL(){for(let e of SL)e()}function wL(e){let t=fO(e);if(!t)return;document.documentElement.style.setProperty(_L,t);let n=dO(e);document.documentElement.style.setProperty(vL,n!==null&&n>140?yL:bL)}function TL(){return xL}function EL(e){return SL.add(e),function(){SL.delete(e)}}function DL(e){let t=lO(e);t===null||xL===t||(xL=t,xa(t),wL(t),CL())}function OL(){let e=(0,Q.c)(2),t=(0,Z.useSyncExternalStore)(EL,TL,TL),n=AL,r=kL,i;return e[0]===t?i=e[1]:(i={color:t,updateColor:n,resetColor:r,default:Ja},e[0]=t,e[1]=i),i}function kL(){DL(Ja)}function AL(e){DL(e)}function jL(){xL=jr(),wL(xL)}var ML;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(ML||={});var NL;(function(e){e.None=`NONE`,e.Slide=`SLIDE`,e.Fade=`FADE`})(NL||={});var PL=Ag(`StatusBar`),FL=`--app-viewport-height`;function IL(){let e=window.visualViewport,t=Math.round(Lr()===`ios`?window.innerHeight:e?.height??window.innerHeight);document.documentElement.style.setProperty(FL,`${t}px`)}function LL(){IL(),requestAnimationFrame(IL)}function RL(){document.documentElement.dataset.nativeShell=`true`,LL(),window.addEventListener(`resize`,IL),window.addEventListener(`orientationchange`,LL);let e=window.visualViewport;e?.addEventListener(`resize`,IL),e?.addEventListener(`scroll`,IL)}async function zL(){try{await PL.setOverlaysWebView({overlay:!0}),await PL.show(),LL()}catch{}}async function BL(){try{let e=Lr()===`ios`?nD.None:nD.Body;await rD.setResizeMode({mode:e})}catch{}}function VL(){Za()&&(RL(),zL(),BL(),document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState===`visible`){LL(),zL();return}Jg()}))}var HL=class extends Z.Component{state={hasError:!1,report:null};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){this.setState({report:iI(e,{source:`react`,componentStack:t.componentStack??void 0})})}handleReload=()=>{window.location.reload()};render(){return this.state.hasError?this.state.report?(0,$.jsx)(cI,{open:!0,report:this.state.report,variant:`current-session`,onDismiss:this.handleReload,onReload:this.handleReload}):null:this.props.children}};lL(),gL(),jL(),DO(),VL();function UL(e){if(!(e instanceof Error))return!1;let t=e.message;return t.includes(`valid JavaScript MIME type`)||t.includes(`Failed to fetch dynamically imported module`)||t.includes(`Importing a module script failed`)}function WL(){sessionStorage.getItem(GL)||(sessionStorage.setItem(GL,`1`),window.location.reload())}var GL=`tarsk-chunk-reload`;function KL(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function qL(e){if(!AO())return;let t=document.activeElement;!(e.metaKey||e.ctrlKey)||e.altKey||e.key.toLowerCase()!==`v`||!KL(t)||(e.preventDefault(),window.parent.postMessage({type:`tarsk-paste-request`},`*`))}function JL(e){let t=document.activeElement;if(!KL(t)||t.disabled||t.readOnly)return;let n=t.selectionStart??t.value.length,r=t.selectionEnd??n,i=t.value.slice(0,n)+e+t.value.slice(r),a=t instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype;(Object.getOwnPropertyDescriptor(a,`value`)?.set)?.call(t,i),t.setSelectionRange(n+e.length,n+e.length),t.dispatchEvent(new Event(`input`,{bubbles:!0}))}AO()&&(window.addEventListener(`keydown`,qL,!0),window.addEventListener(`message`,e=>{e.data?.type===`tarsk-clipboard-paste`&&typeof e.data.text==`string`&&JL(e.data.text)})),oI({shouldIgnore:UL}),window.addEventListener(`unhandledrejection`,e=>{UL(e.reason)&&(e.preventDefault(),WL())}),window.addEventListener(`vite:preloadError`,e=>{e.preventDefault(),WL()}),sessionStorage.removeItem(GL);var YL=!1;window.addEventListener(`resize`,()=>{YL||=(window.__electrobunWebviewId&&(document.body.style.height=`calc(100%)`),!0)});var XL=Za()?Bn:gn;(0,Wc.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(Z.StrictMode,{children:(0,$.jsx)(HL,{children:(0,$.jsx)(XL,{children:(0,$.jsx)(eL,{})})})}));export{CS as $,kA as A,Fp as At,Nw as B,xl as Bt,Ej as C,B_ as Ct,dj as D,T_ as Dt,Cj as E,H_ as Et,QO as F,Fd as Ft,uw as G,vl as Gt,Mw as H,Tl as Ht,YO as I,ku as It,zC as J,Yc as Jt,dw as K,gl as Kt,CO as L,hl as Lt,AA as M,dp as Mt,jA as N,Wd as Nt,ZA as O,jg as Ot,nk as P,Pd as Pt,wS as Q,UE as R,Sl as Rt,vM as S,K_ as St,wj as T,U_ as Tt,xw as U,_l as Ut,Pw as V,wl as Vt,vw as W,yl as Wt,OS as X,kS as Y,DS as Z,_M as _,bv as _t,bI as a,fS as at,yM as b,Y_ as bt,KP as c,gS as ct,AP as d,ox as dt,_S as et,jP as f,ix as ft,cM as g,wv as gt,AN as h,Sv as ht,SI as i,pS as it,MA as j,Pp as jt,zA as k,Np as kt,GP as l,mS as lt,oP as m,_y as mt,hL as n,hS as nt,CF as o,xS as ot,iP as p,Vb as pt,lw as q,el as qt,cL as r,yS as rt,oF as s,SS as st,OL as t,bS as tt,WP as u,oS as ut,uM as v,J_ as vt,Tj as w,q_ as wt,gM as x,G_ as xt,pM as y,V_ as yt,dE as z,bl as zt};
3359
+ `);return(0,$.jsx)(pc,{open:e,children:(0,$.jsxs)(cc,{className:`flex max-h-[85dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(fc,{className:`shrink-0`,children:[(0,$.jsx)(sc,{children:n===`previous-session`?`Previous UI crash`:`UI crashed`}),(0,$.jsx)(oc,{children:n===`previous-session`?`Tarsk recovered on launch, but the UI crashed during your last session.`:`The UI hit an unhandled error. You can copy the details below or reload the app.`})]}),(0,$.jsxs)(`div`,{className:`min-h-0 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:G(U.label,`text-muted-foreground`),children:`Error`}),(0,$.jsx)(`p`,{className:G(U.body,`break-words`),children:t.message})]}),(0,$.jsxs)(`div`,{className:G(U.compact,`grid gap-1 text-muted-foreground sm:grid-cols-2`),children:[(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:`When:`}),` `,cI(t.timestamp)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:`Source:`}),` `,t.source]})]}),u?(0,$.jsx)(za,{className:`max-h-64 rounded-md border border-border bg-muted/40`,children:(0,$.jsx)(`pre`,{className:G(U.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),children:u})}):null]}),(0,$.jsxs)(uc,{className:`shrink-0 sm:justify-between`,children:[(0,$.jsxs)(Hr,{type:`button`,variant:`outline`,disabled:s,onClick:()=>void l(),children:[s?(0,$.jsx)(ln,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(Ze,{className:`h-4 w-4`}),a?`Copied`:`Copy details`]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[n===`previous-session`?(0,$.jsx)(Hr,{type:`button`,variant:`outline`,onClick:r,children:`Close`}):null,n===`current-session`&&i?(0,$.jsx)(Hr,{type:`button`,onClick:i,children:`Reload`}):null]})]})]})})}var uI=Date.now();function dI(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t<uI-500:!0}function fI(){let e=(0,Q.c)(3),[t,n]=(0,Z.useState)(pI);if(!t)return null;let r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=function(){iI(),n(null)},e[0]=r):r=e[0];let i=r,a;return e[1]===t?a=e[2]:(a=(0,$.jsx)(lI,{open:!0,report:t,variant:`previous-session`,onDismiss:i}),e[1]=t,e[2]=a),a}function pI(){let e=rI();return!e||!dI(e)?null:e}function mI(e,t){for(let n of e)if(!(n.type!==`content`&&n.type!==`thinking`))for(let e of n.chunks)M_(e,t)}function hI(e,t,n){for(let t of Object.values(n))t.threadId===e&&N_(t,e);for(let n of fs(t,e)){let r=As(t,e,n);r.streamingContent&&M_(r.streamingContent,e),mI(r.streamingSegments,e)}}function gI(){let e=(0,Q.c)(6),t=X(bI),n=X(yI),r=X(vI),i=X(_I),a,o;e[0]!==t||e[1]!==n||e[2]!==r||e[3]!==i?(a=()=>{let e=new Set;for(let n of t)e.add(n);n&&e.add(n);for(let t of e)hI(t,r,i)},o=[t,n,r,i],e[0]=t,e[1]=n,e[2]=r,e[3]=i,e[4]=a,e[5]=o):(a=e[4],o=e[5]),(0,Z.useEffect)(a,o)}function _I(e){return e.toolCallProgress}function vI(e){return e.threadStreamingStates}function yI(e){return e.selectedThreadId}function bI(e){return e.processingThreadIds}function xI({url:e,projectId:t,projectName:n,projects:r,onSelectProject:i,onClose:a,onInstalled:o}){let[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)([]),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1),_=(0,Z.useRef)(0),v=s!==null&&s.skills.length===0&&s.mcpServers.length>0;(0,Z.useEffect)(()=>{let n=++_.current;if(!e||!t){c(null),u(null),g(!1);return}c(null),u(null),g(!0),Ui(t,e).then(e=>{n===_.current&&(c(e),f(e.mcpServers.filter(e=>!e.conflict).map(e=>e.name)))}).catch(e=>{n===_.current&&u(e instanceof Error?e.message:`Unable to inspect plugin archive`)}).finally(()=>{n===_.current&&g(!1)})},[e,t]);async function y(){if(!(!e||!t||!s)){g(!0);try{await hi(t,{url:e,skills:s.skills.map(e=>e.name),mcpServers:d,replace:p}),o?.({mcpOnly:v}),a()}catch(e){u(e instanceof Error?e.message:`Unable to install plugin archive`)}finally{g(!1)}}}return(0,$.jsx)(Ni,{open:!!e,onOpenChange:e=>{e||a()},children:(0,$.jsxs)(Ir,{children:[(0,$.jsxs)(Dr,{children:[(0,$.jsx)(qa,{children:v?`Install MCP Server`:`Install plugin`}),(0,$.jsx)(_i,{children:t?s?`${s.manifest.name} will be installed in the project “${n??`Unknown`}”.`:`Inspecting the plugin archive…`:`Select a project to preview this plugin archive.`})]}),t?null:(0,$.jsxs)(vo,{value:void 0,onValueChange:i,children:[(0,$.jsx)(na,{children:(0,$.jsx)(Vo,{placeholder:`Select a project`})}),(0,$.jsx)(io,{children:r.map(e=>(0,$.jsx)(Ba,{value:e.projectId,children:Ke(e)},e.projectId))})]}),l?(0,$.jsx)(`p`,{className:`text-destructive text-sm`,children:l}):null,s?(0,$.jsxs)(`div`,{className:`space-y-4 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{children:`Skills`}),(0,$.jsx)(`p`,{children:s.skills.map(e=>`${e.name}${e.conflict?` (already installed)`:``}`).join(`, `)||`None`})]}),s.mcpServers.length?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`strong`,{children:`MCP servers`}),s.mcpServers.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ko,{checked:d.includes(e.name),onCheckedChange:t=>f(n=>t?[...n,e.name]:n.filter(t=>t!==e.name)),id:`mcp-${e.name}`}),(0,$.jsxs)(da,{htmlFor:`mcp-${e.name}`,children:[e.name,e.conflict?` (already configured)`:``]})]},e.name))]}):null,s.skills.some(e=>e.conflict)||s.mcpServers.some(e=>e.conflict)?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ko,{checked:p,onCheckedChange:e=>m(e===!0),id:`replace-plugin`}),(0,$.jsx)(da,{htmlFor:`replace-plugin`,children:`Replace existing files and MCP servers`})]}):null]}):null,(0,$.jsxs)(Xa,{children:[(0,$.jsx)(Hr,{variant:`outline`,onClick:a,children:`Cancel`}),(0,$.jsx)(Hr,{disabled:!s||h,onClick:()=>void y(),children:`Install`})]})]})})}var SI=(0,Z.createContext)(null);function CI(){let e=(0,Z.useContext)(SI);if(!e)throw Error(`useRequestDeleteProject must be used within a DeleteProjectRequestContext`);return e}function wI(){return WP(),bP(),null}function TI(){return gI(),null}function EI(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`health-status`,Fa()],queryFn:DI,refetchInterval:3e4,retry:!1},e[0]=t):t=e[0],vr(t)}async function DI(){let e=await fetch(`${Fa()}/health`,{method:`GET`});if(!e.ok)throw Error(`Failed to load health status`);return e.json()}function OI(){let e=Yn(),[t,n]=(0,Z.useState)(null);return TF((0,Z.useCallback)(t=>{if(!t.startsWith(`tarsk://`))return;let r=t.slice(8);try{let t=new URL(`https://tarsk.invalid/${r}`);if(t.pathname===`/skill-install`&&t.searchParams.get(`url`)){n(t.searchParams.get(`url`));return}let i=/^https?:\/\//i.test(r)?new URL(r):t;e(`${i.pathname}${i.search}${i.hash}`||`/`)}catch{}},[e,n])),{pendingPluginImportUrl:t,setPendingPluginImportUrl:n}}function kI(){let e=(0,Q.c)(2),t=Ks(),n;return e[0]===t?n=e[1]:(n=e=>{t({type:Y.OpenProjectPanel,projectId:e})},e[0]=t,e[1]=n),n}function AI(e){let t=(0,Q.c)(18),{handleOpenFolder:n,handleCreateZip:r,projects:i,onDialogDismissed:a}=e,[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{s(e),e||l(null)},t[0]=f):f=t[0];let p=f,m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=e=>{l(e),s(!0)},t[1]=m):m=t[1];let h=m,g;t[2]===n?g=t[3]:(g=()=>{n()},t[2]=n,t[3]=g);let _=g,v;t[4]!==r||t[5]!==i?(v=()=>{let e=document.createElement(`input`);e.type=`file`,e.accept=`.zip,application/zip,application/x-zip-compressed`,e.style.display=`none`,document.body.appendChild(e),e.addEventListener(`change`,()=>{document.body.removeChild(e);let t=e.files?.[0];if(!t)return;let n=jF(t.name,i);if(n){d({file:t,filename:t.name,existingProjectId:n.projectId,existingProjectName:Ke(n)});return}r(t,t.name)},{once:!0}),e.click()},t[4]=r,t[5]=i,t[6]=v):v=t[6];let y=v,b;t[7]!==r||t[8]!==u?(b=e=>{let t=u;d(null),t&&e&&r(t.file,t.filename,t.existingProjectId)},t[7]=r,t[8]=u,t[9]=b):b=t[9];let x=b,S;return t[10]!==c||t[11]!==_||t[12]!==y||t[13]!==a||t[14]!==u||t[15]!==x||t[16]!==o?(S={showCreateProject:o,setShowCreateProject:s,createProjectInitialMode:c,handleCreateProjectOpenChange:p,onDialogDismissed:a,openCreateProjectDialog:h,handleOpenFolderProject:_,handleSelectZip:y,pendingZipOverride:u,resolveZipOverride:x},t[10]=c,t[11]=_,t[12]=y,t[13]=a,t[14]=u,t[15]=x,t[16]=o,t[17]=S):S=t[17],S}function jI(e){let t=(0,Q.c)(35),{projects:n,cloneRootPath:r,processingThreadIds:i,devServerProjectId:a,devServerState:o,pendingSetupScriptConfirmation:s,confirmDeleteProject:c}=e,[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),p;t[0]!==r||t[1]!==n?(p=e=>{let t=n.find(t=>t.projectId===e)?.projectPath;return!t||!r?!0:t.startsWith(r.replace(/\/+$/,``)+`/`)},t[0]=r,t[1]=n,t[2]=p):p=t[2];let m=p,h;t[3]!==m||t[4]!==n?(h=e=>{let t=n.find(t=>t.projectId===e);t&&u({id:t.projectId,name:Ke(t),deletesFolder:m(t.projectId)})},t[3]=m,t[4]=n,t[5]=h):h=t[5];let g=h,_;t[6]===m?_=t[7]:(_=e=>{u({...e,deletesFolder:m(e.id)})},t[6]=m,t[7]=_);let v=_,y;bb0:{if(!l){y=!1;break bb0}let e;if(t[8]!==l.id||t[9]!==i||t[10]!==n){let r;t[12]===l.id?r=t[13]:(r=e=>e.projectId===l.id,t[12]=l.id,t[13]=r);let a=n.find(r)?.threads.map(PI)??[],o;t[14]===i?o=t[15]:(o=e=>i.includes(e),t[14]=i,t[15]=o),e=a.some(o),t[8]=l.id,t[9]=i,t[10]=n,t[11]=e}else e=t[11];let r=e,c=a===l.id&&(o===`starting`||o===`running`||o===`stopping`),u=s?.projectId===l.id;y=r||c||u}let b=y,x=b?`Stop or finish active sessions before deleting this project.`:null,S;t[16]===c?S=t[17]:(S=(e,t)=>{u(null),f({projectId:e,projectName:t,step:0,status:`progressing`}),c(e,e=>f(e)).catch(NI)},t[16]=c,t[17]=S);let C=S,w;t[18]!==c||t[19]!==d?(w=()=>{if(!d)return;let{projectId:e,projectName:t}=d;f({projectId:e,projectName:t,step:0,status:`progressing`}),c(e,e=>f(e)).catch(MI)},t[18]=c,t[19]=d,t[20]=w):w=t[20];let T=w,E;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{f(null)},t[21]=E):E=t[21];let D=E,O;t[22]===d?.status?O=t[23]:(O=()=>{if(d?.status!==`done`)return;let e=window.setTimeout(()=>f(null),800);return()=>window.clearTimeout(e)},t[22]=d?.status,t[23]=O);let k;t[24]===d?k=t[25]:(k=[d],t[24]=d,t[25]=k),(0,Z.useEffect)(O,k);let A;return t[26]!==d||t[27]!==l||t[28]!==x||t[29]!==b||t[30]!==g||t[31]!==v||t[32]!==T||t[33]!==C?(A={deleteProject:l,setDeleteProject:u,deleteProgress:d,deleteProjectBlocked:b,deleteProjectBlockReason:x,handleDeleteProject:g,handleDeleteProjectRequest:v,runDeleteProject:C,handleDeleteProjectRetry:T,handleDeleteProjectProgressClose:D},t[26]=d,t[27]=l,t[28]=x,t[29]=b,t[30]=g,t[31]=v,t[32]=T,t[33]=C,t[34]=A):A=t[34],A}function MI(){}function NI(){}function PI(e){return e.threadId}function FI({dispatch:e,navigate:t,location:n,projects:r,selectedThreadId:i,selectedProjectId:a,projectPanelView:o,projectPanelProjectId:s,sidebarOpen:c,useMobileLayout:l,clearCompleted:u,setActiveMainTab:d,triggerBrowserReset:f,handleSelectThread:p,handleCreateThread:m,openProjectActions:h}){let g=(0,Z.useRef)(()=>{}),_=(0,Z.useCallback)(e=>{m(e,void 0)},[m]);g.current=_;let v=s??a;(0,Z.useEffect)(()=>{function e(e){let t=e.key.toLowerCase();!((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey)||t!==`t`||!v||(e.preventDefault(),g.current(v))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let y=(0,Z.useCallback)(()=>{e({type:Y.CloseProjectPanel}),c||e({type:Y.ToggleSidebar})},[e,c]),b=(0,Z.useCallback)((r,a)=>{u(a),n.pathname!==`/`&&t(`/`),d(`chat`),i!==a&&f(),p(r,a),l&&e({type:Y.CloseSidebar})},[p,l,i,e,u,n.pathname,t,d,f]);return{handleBackToProjects:y,handleSelectThreadWrapper:b,handleSelectProject:(0,Z.useCallback)(t=>{let n=o===`projects`;h(t);let a=r.find(e=>e.projectId===t);if(!a)return;function s(){n&&e({type:Y.FocusChatInput})}if(a.threads.some(e=>e.threadId===i)){s();return}let c=a.threads.find(e=>e.isSelected)??a.threads[0]??null;if(c){b(t,c.threadId),s();return}i&&f(),e({type:Y.SelectProject,projectId:t})},[h,o,r,i,b,f,e]),handleCreateThreadDirect:_}}function II(e){let t=(0,Q.c)(23),{dispatch:n,handleBackToProjects:r,selectedProjectId:i,selectedThreadId:a,projectPanelView:o,projectPanelProjectId:s,actionsProject:c,sidebarOpen:l,sidebarPanelRef:u,showProjectsFullScreen:d,showingProjectDetails:f,useMobileLayout:p}=e,m,h;t[0]!==c||t[1]!==n||t[2]!==s||t[3]!==o||t[4]!==i||t[5]!==a?(m=()=>{if(o===`actions`&&s&&!c){if(i===s&&a)return;n({type:Y.CloseProjectPanel})}},h=[n,o,s,c,i,a],t[0]=c,t[1]=n,t[2]=s,t[3]=o,t[4]=i,t[5]=a,t[6]=m,t[7]=h):(m=t[6],h=t[7]),(0,Z.useEffect)(m,h);let g=(0,Z.useRef)(i),_,v;t[8]!==r||t[9]!==i?(_=()=>{let e=g.current!==null;g.current=i,e&&i===null&&r()},v=[i,r],t[8]=r,t[9]=i,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,Z.useEffect)(_,v);let y;t[12]!==d||t[13]!==f||t[14]!==l||t[15]!==u||t[16]!==p?(y=()=>{if(!f){if(!l){u.current?.collapse();return}u.current?.expand(),d?u.current?.resize(100):p||u.current?.resize(25)}},t[12]=d,t[13]=f,t[14]=l,t[15]=u,t[16]=p,t[17]=y):y=t[17];let b;t[18]!==d||t[19]!==f||t[20]!==l||t[21]!==p?(b=[l,d,f,p],t[18]=d,t[19]=f,t[20]=l,t[21]=p,t[22]=b):b=t[22],(0,Z.useEffect)(y,b)}function LI(e){let t=(0,Q.c)(14),{selectedThreadId:n,sidebarOpen:r}=e,{mode:i}=wO(),a=sF(),o;t[0]===a?o=t[1]:(o=a||Za(),t[0]=a,t[1]=o);let s=o,{data:c}=EI(),l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=jO(),t[2]=l):l=t[2];let u=l,d;t[3]===n?d=t[4]:(d={selectedThreadId:n},t[3]=n,t[4]=d);let{isSettingsRoute:f,isReviewRoute:p}=uF(d);dF(f,p),zF();let m=gC(),h=!f&&!p&&!m,g=h&&r,_;return t[5]!==c||t[6]!==p||t[7]!==f||t[8]!==g||t[9]!==h||t[10]!==m||t[11]!==s||t[12]!==i?(_={wallpaperMode:i,healthStatus:c,vscodeEmbed:u,isSettingsRoute:f,isReviewRoute:p,showingProjectDetails:m,useMobileLayout:s,showProjectsFullScreen:h,projectsHomeTakingScreen:g},t[5]=c,t[6]=p,t[7]=f,t[8]=g,t[9]=h,t[10]=m,t[11]=s,t[12]=i,t[13]=_):_=t[13],_}function RI(e){return G(`relative h-screen overflow-hidden`,e===`image`&&`bg-background`,e===`background`&&`bg-[hsl(var(--image-off-background))]`,e===`color`&&`bg-[var(--wallpaper-color)]`)}function zI(e){let t=(0,Q.c)(1),{wallpaperMode:n}=e;if(n!==`image`)return null;let r;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(pl,{}),t[0]=r):r=t[0],r}function BI(e){return(0,$.jsx)(KP,{id:`app-sidebar-panel`,order:1,ref:e.sidebarPanelRef,defaultSize:e.showProjectsFullScreen||e.useMobileLayout?100:25,minSize:e.showProjectsFullScreen||e.useMobileLayout?50:12,maxSize:e.showProjectsFullScreen||e.useMobileLayout?100:32,collapsible:!0,collapsedSize:0,className:G(`border-r border-transparent`,e.useMobileLayout&&!e.sidebarOpen&&`hidden`),children:(0,$.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,$.jsx)(Ol,{projects:e.projects,selectedThreadId:e.selectedThreadId,selectedProjectId:e.selectedProjectId,deletingProjectIds:e.deletingProjectIds,onSelectProject:e.handleSelectProject,onCreateProject:e.openCreateProjectDialog,onOpenFolder:e.handleOpenFolderProject,onSelectZip:e.handleSelectZip,onDeleteProject:e.handleDeleteProject,collapsed:!e.sidebarOpen,updateAvailable:e.updateAvailable,updatingApp:e.updatingApp,onUpdateApp:e.handleUpdateApp,isDevMode:e.healthStatus?.isDevMode===!0})})})}function VI(e){let t=(0,Q.c)(16),n=e.projectsHomeTakingScreen?0:40,r=e.projectsHomeTakingScreen&&`hidden`,i;t[0]===r?i=t[1]:(i=G(`overflow-hidden`,r),t[0]=r,t[1]=i);let a;t[2]!==e.handleBackToProjects||t[3]!==e.handleCreateFolder||t[4]!==e.handleCreateProject||t[5]!==e.handleCreateThreadDirect||t[6]!==e.handleCreateWebApp||t[7]!==e.handleOpenFolder||t[8]!==e.handleSelectProject||t[9]!==e.isReviewRoute||t[10]!==e.selectedProjectId?(a=(0,$.jsx)(yv,{children:(0,$.jsx)(zC,{children:(0,$.jsx)(MM,{selectedProjectId:e.selectedProjectId,isReviewRoute:e.isReviewRoute,onCreateThread:e.handleCreateThreadDirect,onBackToProjects:e.handleBackToProjects,onSelectProject:e.handleSelectProject,onSubmitClone:e.handleCreateProject,onSubmitWebApp:e.handleCreateWebApp,onSubmitFolder:e.handleCreateFolder,onOpenFolder:e.handleOpenFolder})})}),t[2]=e.handleBackToProjects,t[3]=e.handleCreateFolder,t[4]=e.handleCreateProject,t[5]=e.handleCreateThreadDirect,t[6]=e.handleCreateWebApp,t[7]=e.handleOpenFolder,t[8]=e.handleSelectProject,t[9]=e.isReviewRoute,t[10]=e.selectedProjectId,t[11]=a):a=t[11];let o;return t[12]!==n||t[13]!==i||t[14]!==a?(o=(0,$.jsx)(KP,{id:`app-main-panel`,order:2,minSize:n,className:i,children:a}),t[12]=n,t[13]=i,t[14]=a,t[15]=o):o=t[15],o}function HI(e){let t=(0,Q.c)(58),n;t[0]===e.wallpaperMode?n=t[1]:(n=RI(e.wallpaperMode),t[0]=e.wallpaperMode,t[1]=n);let r;t[2]===e.wallpaperMode?r=t[3]:(r=(0,$.jsx)(zI,{wallpaperMode:e.wallpaperMode}),t[2]=e.wallpaperMode,t[3]=r);let i=e.selectedThreadId??void 0,a;t[4]!==e.selectedProjectId||t[5]!==e.selectedThreadId?(a=e.selectedThreadId&&e.selectedProjectId?(0,$.jsx)(PF,{threadId:e.selectedThreadId,projectId:e.selectedProjectId}):null,t[4]=e.selectedProjectId,t[5]=e.selectedThreadId,t[6]=a):a=t[6];let o;t[7]===e?o=t[8]:(o=!e.vscodeEmbed&&!e.showingProjectDetails&&(0,$.jsx)(BI,{...e}),t[7]=e,t[8]=o);let s;t[9]!==e.showingProjectDetails||t[10]!==e.vscodeEmbed?(s=!e.vscodeEmbed&&!e.showingProjectDetails&&(0,$.jsx)(qP,{id:`app-sidebar-resize-handle`}),t[9]=e.showingProjectDetails,t[10]=e.vscodeEmbed,t[11]=s):s=t[11];let c;t[12]===e?c=t[13]:(c=(0,$.jsx)(VI,{...e}),t[12]=e,t[13]=c);let l=e.deleteProject?.deletesFolder??!0,u,d;t[14]===e?(u=t[15],d=t[16]):(u=t=>!t&&e.setDeleteProject(null),d=()=>{e.deleteProject&&e.runDeleteProject(e.deleteProject.id,e.deleteProject.name)},t[14]=e,t[15]=u,t[16]=d);let f;t[17]===e.pendingZipOverride?f=t[18]:(f=e.pendingZipOverride?{existingProjectId:e.pendingZipOverride.existingProjectId,existingProjectName:e.pendingZipOverride.existingProjectName,zipFilename:e.pendingZipOverride.filename}:null,t[17]=e.pendingZipOverride,t[18]=f);let p;t[19]===e?p=t[20]:(p=()=>{e.refreshProjects()},t[19]=e,t[20]=p);let m;t[21]!==e.createProjectInitialMode||t[22]!==e.deleteProgress||t[23]!==e.deleteProject||t[24]!==e.deleteProjectBlockReason||t[25]!==e.deleteProjectBlocked||t[26]!==e.handleCreateFolder||t[27]!==e.handleCreateProject||t[28]!==e.handleCreateProjectOpenChange||t[29]!==e.handleCreateWebApp||t[30]!==e.handleDeleteProjectProgressClose||t[31]!==e.handleDeleteProjectRetry||t[32]!==e.onDialogDismissed||t[33]!==e.pendingSetupScriptConfirmation||t[34]!==e.resolveSetupScriptConfirmation||t[35]!==e.resolveZipOverride||t[36]!==e.setShowOnboarding||t[37]!==e.showCreateProject||t[38]!==e.showOnboarding||t[39]!==f||t[40]!==p||t[41]!==l||t[42]!==u||t[43]!==d?(m=(0,$.jsx)(yP,{showCreateProject:e.showCreateProject,createProjectInitialMode:e.createProjectInitialMode,onCreateProjectOpenChange:e.handleCreateProjectOpenChange,onCreateDialogDismissed:e.onDialogDismissed,onSubmitClone:e.handleCreateProject,onSubmitWebApp:e.handleCreateWebApp,onSubmitFolder:e.handleCreateFolder,deleteProject:e.deleteProject,deleteProjectBlocked:e.deleteProjectBlocked,deleteProjectBlockReason:e.deleteProjectBlockReason,deleteProjectDeletesFolder:l,onDeleteProjectOpenChange:u,onConfirmDeleteProject:d,deleteProjectProgress:e.deleteProgress,onDeleteProjectRetry:e.handleDeleteProjectRetry,onDeleteProjectProgressClose:e.handleDeleteProjectProgressClose,pendingSetupScriptConfirmation:e.pendingSetupScriptConfirmation,onResolveSetupScriptConfirmation:e.resolveSetupScriptConfirmation,pendingZipOverride:f,onResolveZipOverride:e.resolveZipOverride,showOnboarding:e.showOnboarding,onOnboardingOpenChange:e.setShowOnboarding,onOnboardingComplete:p}),t[21]=e.createProjectInitialMode,t[22]=e.deleteProgress,t[23]=e.deleteProject,t[24]=e.deleteProjectBlockReason,t[25]=e.deleteProjectBlocked,t[26]=e.handleCreateFolder,t[27]=e.handleCreateProject,t[28]=e.handleCreateProjectOpenChange,t[29]=e.handleCreateWebApp,t[30]=e.handleDeleteProjectProgressClose,t[31]=e.handleDeleteProjectRetry,t[32]=e.onDialogDismissed,t[33]=e.pendingSetupScriptConfirmation,t[34]=e.resolveSetupScriptConfirmation,t[35]=e.resolveZipOverride,t[36]=e.setShowOnboarding,t[37]=e.showCreateProject,t[38]=e.showOnboarding,t[39]=f,t[40]=p,t[41]=l,t[42]=u,t[43]=d,t[44]=m):m=t[44];let h;t[45]!==m||t[46]!==o||t[47]!==s||t[48]!==c?(h=(0,$.jsxs)(GP,{id:`app-shell-panels`,direction:`horizontal`,className:`relative z-10 h-full`,children:[o,s,c,m]}),t[45]=m,t[46]=o,t[47]=s,t[48]=c,t[49]=h):h=t[49];let g;t[50]!==h||t[51]!==i||t[52]!==a?(g=(0,$.jsxs)(ME,{threadId:i,children:[a,h]}),t[50]=h,t[51]=i,t[52]=a,t[53]=g):g=t[53];let _;return t[54]!==n||t[55]!==r||t[56]!==g?(_=(0,$.jsxs)(`div`,{className:n,children:[r,g]}),t[54]=n,t[55]=r,t[56]=g,t[57]=_):_=t[57],_}function UI(e){let t=(0,Q.c)(25),n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(wI,{}),r=(0,$.jsx)(TI,{}),i=(0,$.jsx)(Xc,{}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(aw,{})}),t[3]=a):a=t[3];let o;t[4]===e?o=t[5]:(o=(0,$.jsx)(HI,{...e}),t[4]=e,t[5]=o);let s;t[6]===e.selectedProject?s=t[7]:(s=e.selectedProject?Ke(e.selectedProject):null,t[6]=e.selectedProject,t[7]=s);let c;t[8]===e?c=t[9]:(c=()=>e.setPendingPluginImportUrl(null),t[8]=e,t[9]=c);let l;t[10]!==e.handleSelectProject||t[11]!==e.pendingPluginImportUrl||t[12]!==e.projects||t[13]!==e.selectedProjectId||t[14]!==s||t[15]!==c?(l=(0,$.jsx)(xI,{url:e.pendingPluginImportUrl,projectId:e.selectedProjectId,projectName:s,projects:e.projects,onSelectProject:e.handleSelectProject,onClose:c}),t[10]=e.handleSelectProject,t[11]=e.pendingPluginImportUrl,t[12]=e.projects,t[13]=e.selectedProjectId,t[14]=s,t[15]=c,t[16]=l):l=t[16];let u,d;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(JP,{}),d=(0,$.jsx)(fI,{}),t[17]=u,t[18]=d):(u=t[17],d=t[18]);let f;t[19]!==o||t[20]!==l?(f=(0,$.jsxs)($.Fragment,{children:[n,r,i,a,(0,$.jsxs)(Zo,{delayDuration:200,children:[o,l,u,d]})]}),t[19]=o,t[20]=l,t[21]=f):f=t[21];let p;return t[22]!==e.handleDeleteProjectRequest||t[23]!==f?(p=(0,$.jsx)(SI.Provider,{value:e.handleDeleteProjectRequest,children:f}),t[22]=e.handleDeleteProjectRequest,t[23]=f,t[24]=p):p=t[24],p}function WI(){let e=(0,Q.c)(80),t=Ks(),n=Yn(),r=Gn(),i=X(QI),a=X(ZI),o=X(XI),s=X(YI),c=X(JI),l=X(qI),u=X(KI),d=X(GI),{pendingPluginImportUrl:f,setPendingPluginImportUrl:p}=OI(),{devServerProjectId:m,devServerState:h}=yw(),g=kI(),_;e[0]===g?_=e[1]:(_={onProjectCreated:g,onThreadCreateStart:g},e[0]=g,e[1]=_);let{projects:v,handleSelectThread:y,handleCreateProject:b,cancelProjectCreation:x,handleCreateWebApp:S,handleCreateFolder:C,handleCreateZip:w,handleOpenFolder:T,handleOpenPath:E,handleCreateThread:D,confirmDeleteProject:O,refreshProjects:k,pendingSetupScriptConfirmation:A,resolveSetupScriptConfirmation:j}=uw(_),M;if(e[2]!==v||e[3]!==a){let t;e[5]===a?t=e[6]:(t=e=>e.projectId===a,e[5]=a,e[6]=t),M=v.find(t),e[2]=v,e[3]=a,e[4]=M}else M=e[4];let N=M,P;e[7]!==i||e[8]!==o?(P={selectedThreadId:i,sidebarOpen:o},e[7]=i,e[8]=o,e[9]=P):P=e[9];let F=LI(P),I;e[10]!==x||e[11]!==w||e[12]!==T||e[13]!==v?(I={handleOpenFolder:T,handleCreateZip:w,projects:v,onDialogDismissed:x},e[10]=x,e[11]=w,e[12]=T,e[13]=v,e[14]=I):I=e[14];let L=AI(I),R;e[15]!==u||e[16]!==O||e[17]!==m||e[18]!==h||e[19]!==A||e[20]!==d||e[21]!==v?(R={projects:v,cloneRootPath:u,processingThreadIds:d,devServerProjectId:m,devServerState:h,pendingSetupScriptConfirmation:A,confirmDeleteProject:O},e[15]=u,e[16]=O,e[17]=m,e[18]=h,e[19]=A,e[20]=d,e[21]=v,e[22]=R):R=e[22];let z=jI(R),{clearCompleted:B}=aF(),{setActiveMainTab:V}=mc(),{triggerBrowserReset:H}=rk(),{showOnboarding:ee,setShowOnboarding:te,updateAvailable:ne,updatingApp:re,handleUpdateApp:ie}=lF();DF(E);let ae;e[23]!==l||e[24]!==v?(ae=l==null?void 0:v.find(e=>e.projectId===l),e[23]=l,e[24]=v,e[25]=ae):ae=e[25];let oe=ae,se=(0,Z.useRef)(null),U;e[26]!==B||e[27]!==t||e[28]!==D||e[29]!==y||e[30]!==r||e[31]!==n||e[32]!==g||e[33]!==l||e[34]!==c||e[35]!==v||e[36]!==a||e[37]!==i||e[38]!==V||e[39]!==o||e[40]!==H||e[41]!==F.useMobileLayout?(U={dispatch:t,navigate:n,location:r,projects:v,selectedThreadId:i,selectedProjectId:a,projectPanelView:c,projectPanelProjectId:l,sidebarOpen:o,useMobileLayout:F.useMobileLayout,clearCompleted:B,setActiveMainTab:V,triggerBrowserReset:H,handleSelectThread:y,handleCreateThread:D,openProjectActions:g},e[26]=B,e[27]=t,e[28]=D,e[29]=y,e[30]=r,e[31]=n,e[32]=g,e[33]=l,e[34]=c,e[35]=v,e[36]=a,e[37]=i,e[38]=V,e[39]=o,e[40]=H,e[41]=F.useMobileLayout,e[42]=U):U=e[42];let ce=FI(U),le;e[43]!==oe||e[44]!==t||e[45]!==l||e[46]!==c||e[47]!==a||e[48]!==i||e[49]!==ce.handleBackToProjects||e[50]!==o||e[51]!==F.showProjectsFullScreen||e[52]!==F.showingProjectDetails||e[53]!==F.useMobileLayout?(le={dispatch:t,handleBackToProjects:ce.handleBackToProjects,selectedProjectId:a,selectedThreadId:i,projectPanelView:c,projectPanelProjectId:l,actionsProject:oe,sidebarOpen:o,sidebarPanelRef:se,showProjectsFullScreen:F.showProjectsFullScreen,showingProjectDetails:F.showingProjectDetails,useMobileLayout:F.useMobileLayout},e[43]=oe,e[44]=t,e[45]=l,e[46]=c,e[47]=a,e[48]=i,e[49]=ce.handleBackToProjects,e[50]=o,e[51]=F.showProjectsFullScreen,e[52]=F.showingProjectDetails,e[53]=F.useMobileLayout,e[54]=le):le=e[54],II(le);let ue;return e[55]!==L||e[56]!==z||e[57]!==s||e[58]!==C||e[59]!==b||e[60]!==S||e[61]!==T||e[62]!==ie||e[63]!==f||e[64]!==A||e[65]!==v||e[66]!==k||e[67]!==j||e[68]!==N||e[69]!==a||e[70]!==i||e[71]!==ce||e[72]!==p||e[73]!==te||e[74]!==ee||e[75]!==o||e[76]!==ne||e[77]!==re||e[78]!==F?(ue={...F,...L,...z,...ce,sidebarOpen:o,selectedThreadId:i,selectedProjectId:a,deletingProjectIds:s,sidebarPanelRef:se,projects:v,selectedProject:N,updateAvailable:ne,updatingApp:re,handleUpdateApp:ie,handleCreateProject:b,handleCreateWebApp:S,handleCreateFolder:C,handleOpenFolder:T,showOnboarding:ee,setShowOnboarding:te,refreshProjects:k,pendingSetupScriptConfirmation:A,resolveSetupScriptConfirmation:j,pendingPluginImportUrl:f,setPendingPluginImportUrl:p},e[55]=L,e[56]=z,e[57]=s,e[58]=C,e[59]=b,e[60]=S,e[61]=T,e[62]=ie,e[63]=f,e[64]=A,e[65]=v,e[66]=k,e[67]=j,e[68]=N,e[69]=a,e[70]=i,e[71]=ce,e[72]=p,e[73]=te,e[74]=ee,e[75]=o,e[76]=ne,e[77]=re,e[78]=F,e[79]=ue):ue=e[79],ue}function GI(e){return e.processingThreadIds}function KI(e){return e.cloneRootPath}function qI(e){return e.projectPanelProjectId}function JI(e){return e.projectPanelView}function YI(e){return e.deletingProjectIds}function XI(e){return e.sidebarOpen}function ZI(e){return e.selectedProjectId}function QI(e){return e.selectedThreadId}function $I(){let e=(0,Q.c)(2),t=WI(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(UI,{...t}),e[0]=t,e[1]=n),n}function eL(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(LF,{children:(0,$.jsx)($I,{})}),e[0]=t):t=e[0],t}function tL(){let e=(0,Q.c)(3),[t]=(0,Z.useState)(qs),n=jO(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(eL,{}),e[0]=r):r=e[0];let i;return e[1]===t?i=e[2]:(i=(0,$.jsx)($P,{attribute:`class`,defaultTheme:n?`dark`:`system`,enableSystem:!0,storageKey:n?`tarsk-theme-vscode`:`tarsk-theme`,children:(0,$.jsx)(ZP,{children:(0,$.jsx)(Zs.Provider,{value:t,children:r})})}),e[1]=t,e[2]=i),i}var nL=75,rL=125,iL=100;function aL(){return window.matchMedia(`(max-width: 767px)`).matches}function oL(e){let t=C(e,aL());document.documentElement.style.fontSize=`${t}%`}var sL=!1;function cL(){sL||(sL=!0,window.matchMedia(`(max-width: 767px)`).addEventListener(`change`,()=>{oL(Vi(iL))}))}function lL(){let[e,t]=(0,Z.useState)(()=>Vi(iL));(0,Z.useEffect)(()=>{cL(),oL(e)},[e]);function n(e){let n=Math.max(nL,Math.min(rL,Math.round(e)));t(n),Ta(n)}return{scale:e,updateScale:n,resetScale:(0,Z.useCallback)(()=>{n(iL)},[]),min:nL,max:rL,default:iL}}function uL(){cL(),oL(Vi(iL))}var dL=60,fL=100,pL=80,mL=`--frosted-panel-opacity`;function hL(e){document.documentElement.style.setProperty(mL,String(e/100))}function gL(){let[e,t]=(0,Z.useState)(()=>Gi(pL));(0,Z.useEffect)(()=>{hL(e)},[e]);function n(e){let n=Math.max(dL,Math.min(fL,Math.round(e)));t(n),Pa(n)}return{opacity:e,updateOpacity:n,resetOpacity:(0,Z.useCallback)(()=>{n(pL)},[]),min:dL,max:fL,default:pL}}function _L(){hL(Gi(pL))}var vL=`--brand`,yL=`--brand-foreground`,bL=`0 0% 9%`,xL=`0 0% 100%`,SL=jr(),CL=new Set;function wL(){for(let e of CL)e()}function TL(e){let t=pO(e);if(!t)return;document.documentElement.style.setProperty(vL,t);let n=fO(e);document.documentElement.style.setProperty(yL,n!==null&&n>140?bL:xL)}function EL(){return SL}function DL(e){return CL.add(e),function(){CL.delete(e)}}function OL(e){let t=uO(e);t===null||SL===t||(SL=t,xa(t),TL(t),wL())}function kL(){let e=(0,Q.c)(2),t=(0,Z.useSyncExternalStore)(DL,EL,EL),n=jL,r=AL,i;return e[0]===t?i=e[1]:(i={color:t,updateColor:n,resetColor:r,default:Ja},e[0]=t,e[1]=i),i}function AL(){OL(Ja)}function jL(e){OL(e)}function ML(){SL=jr(),TL(SL)}var NL;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(NL||={});var PL;(function(e){e.None=`NONE`,e.Slide=`SLIDE`,e.Fade=`FADE`})(PL||={});var FL=Ag(`StatusBar`),IL=`--app-viewport-height`;function LL(){let e=window.visualViewport,t=Math.round(Lr()===`ios`?window.innerHeight:e?.height??window.innerHeight);document.documentElement.style.setProperty(IL,`${t}px`)}function RL(){LL(),requestAnimationFrame(LL)}function zL(){document.documentElement.dataset.nativeShell=`true`,RL(),window.addEventListener(`resize`,LL),window.addEventListener(`orientationchange`,RL);let e=window.visualViewport;e?.addEventListener(`resize`,LL),e?.addEventListener(`scroll`,LL)}async function BL(){try{await FL.setOverlaysWebView({overlay:!0}),await FL.show(),RL()}catch{}}async function VL(){try{let e=Lr()===`ios`?rD.None:rD.Body;await iD.setResizeMode({mode:e})}catch{}}function HL(){Za()&&(zL(),BL(),VL(),document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState===`visible`){RL(),BL();return}Jg()}))}var UL=class extends Z.Component{state={hasError:!1,report:null};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){this.setState({report:aI(e,{source:`react`,componentStack:t.componentStack??void 0})})}handleReload=()=>{window.location.reload()};render(){return this.state.hasError?this.state.report?(0,$.jsx)(lI,{open:!0,report:this.state.report,variant:`current-session`,onDismiss:this.handleReload,onReload:this.handleReload}):null:this.props.children}};uL(),_L(),ML(),OO(),HL();function WL(e){if(!(e instanceof Error))return!1;let t=e.message;return t.includes(`valid JavaScript MIME type`)||t.includes(`Failed to fetch dynamically imported module`)||t.includes(`Importing a module script failed`)}function GL(){sessionStorage.getItem(KL)||(sessionStorage.setItem(KL,`1`),window.location.reload())}var KL=`tarsk-chunk-reload`;function qL(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function JL(e){if(!jO())return;let t=document.activeElement;!(e.metaKey||e.ctrlKey)||e.altKey||e.key.toLowerCase()!==`v`||!qL(t)||(e.preventDefault(),window.parent.postMessage({type:`tarsk-paste-request`},`*`))}function YL(e){let t=document.activeElement;if(!qL(t)||t.disabled||t.readOnly)return;let n=t.selectionStart??t.value.length,r=t.selectionEnd??n,i=t.value.slice(0,n)+e+t.value.slice(r),a=t instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype;(Object.getOwnPropertyDescriptor(a,`value`)?.set)?.call(t,i),t.setSelectionRange(n+e.length,n+e.length),t.dispatchEvent(new Event(`input`,{bubbles:!0}))}jO()&&(window.addEventListener(`keydown`,JL,!0),window.addEventListener(`message`,e=>{e.data?.type===`tarsk-clipboard-paste`&&typeof e.data.text==`string`&&YL(e.data.text)})),sI({shouldIgnore:WL}),window.addEventListener(`unhandledrejection`,e=>{WL(e.reason)&&(e.preventDefault(),GL())}),window.addEventListener(`vite:preloadError`,e=>{e.preventDefault(),GL()}),sessionStorage.removeItem(KL);var XL=!1;window.addEventListener(`resize`,()=>{XL||=(window.__electrobunWebviewId&&(document.body.style.height=`calc(100%)`),!0)});var ZL=Za()?Bn:gn;(0,Wc.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(Z.StrictMode,{children:(0,$.jsx)(UL,{children:(0,$.jsx)(ZL,{children:(0,$.jsx)(tL,{})})})}));export{CS as $,AA as A,Fp as At,Pw as B,xl as Bt,Dj as C,B_ as Ct,fj as D,T_ as Dt,wj as E,H_ as Et,$O as F,Fd as Ft,dw as G,vl as Gt,Nw as H,Tl as Ht,XO as I,ku as It,zC as J,Yc as Jt,fw as K,gl as Kt,wO as L,hl as Lt,jA as M,dp as Mt,MA as N,Wd as Nt,QA as O,jg as Ot,rk as P,Pd as Pt,wS as Q,WE as R,Sl as Rt,yM as S,K_ as St,Tj as T,U_ as Tt,Sw as U,_l as Ut,Fw as V,wl as Vt,yw as W,yl as Wt,OS as X,kS as Y,DS as Z,vM as _,bv as _t,xI as a,fS as at,bM as b,Y_ as bt,qP as c,gS as ct,jP as d,ox as dt,_S as et,MP as f,ix as ft,lM as g,wv as gt,jN as h,Sv as ht,CI as i,pS as it,NA as j,Pp as jt,BA as k,Np as kt,KP as l,mS as lt,sP as m,_y as mt,gL as n,hS as nt,wF as o,xS as ot,aP as p,Vb as pt,uw as q,el as qt,lL as r,yS as rt,sF as s,SS as st,kL as t,bS as tt,GP as u,oS as ut,dM as v,J_ as vt,Ej as w,q_ as wt,_M as x,G_ as xt,mM as y,V_ as yt,fE as z,bl as zt};