tarsk 0.5.64 → 0.5.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/public/assets/{browser-tab-D-Lv93tm.js → browser-tab-hcbTzpVn.js} +1 -1
  2. package/dist/public/assets/{commit-dialog-CoiwuVLU.js → commit-dialog-DK-NP7EN.js} +1 -1
  3. package/dist/public/assets/{conversation-history-view-C1Wu4_VR.js → conversation-history-view-YGPt-fC9.js} +1 -1
  4. package/dist/public/assets/{create-project-dialog-DfvqFmmy.js → create-project-dialog-DW4oGrl2.js} +1 -1
  5. package/dist/public/assets/{create-repo-dialog-wIb4blPC.js → create-repo-dialog-BFBOFZ2W.js} +1 -1
  6. package/dist/public/assets/{diff-view-P5m6sKUJ.js → diff-view-Cy5PjlG_.js} +1 -1
  7. package/dist/public/assets/{explorer-tab-view-B6z1DZzq.js → explorer-tab-view-D6t9Ce05.js} +2 -2
  8. package/dist/public/assets/{explorer-tree-BK2uuzSQ.js → explorer-tree-BCs2U0De.js} +1 -1
  9. package/dist/public/assets/{explorer-view-D5F0ifAy.js → explorer-view-CxN4GRyn.js} +1 -1
  10. package/dist/public/assets/{git-ops-button-sVka4_mz.js → git-ops-button-DO1ng45p.js} +2 -2
  11. package/dist/public/assets/{index-zVJV2Bjj.js → index-B7qJtiRL.js} +8 -8
  12. package/dist/public/assets/{index-zilB0ZSo.css → index-GYexJ6QO.css} +1 -1
  13. package/dist/public/assets/{project-settings-view-Dte7mVE6.js → project-settings-view-DKkLgg3C.js} +1 -1
  14. package/dist/public/assets/{project-tools-view-BOszAFSe.js → project-tools-view-C44y08lY.js} +1 -1
  15. package/dist/public/assets/{providers-list-view-B1qojjPs.js → providers-list-view-BEXiqKg8.js} +1 -1
  16. package/dist/public/assets/pull-request-dialog-BOl1VloY.js +1 -0
  17. package/dist/public/assets/{settings-general-view-DCRKEVJG.js → settings-general-view-LnCQ2zkv.js} +1 -1
  18. package/dist/public/assets/{settings-instructions-view-C3WTfmcU.js → settings-instructions-view-B7lADJZh.js} +1 -1
  19. package/dist/public/assets/{settings-mcp-servers-view-B9H8QqOa.js → settings-mcp-servers-view-CN7JO2UD.js} +1 -1
  20. package/dist/public/assets/{settings-models-view-D0QpnAvv.js → settings-models-view-CswWfeDN.js} +1 -1
  21. package/dist/public/assets/{settings-rules-view-CbjVigsB.js → settings-rules-view-__5f33ot.js} +1 -1
  22. package/dist/public/assets/{settings-skills-view-BGztTaqQ.js → settings-skills-view-Dvfrl9kz.js} +1 -1
  23. package/dist/public/assets/{settings-slash-commands-view-DHsB_RxG.js → settings-slash-commands-view-B1pO-Yie.js} +1 -1
  24. package/dist/public/assets/{settings-storage-view-CAFIGn34.js → settings-storage-view-CHpGieRu.js} +1 -1
  25. package/dist/public/assets/{settings-subagents-view-5V5RzBgw.js → settings-subagents-view-CFggo62r.js} +1 -1
  26. package/dist/public/assets/{settings-system-prompt-view-BiGYDmSw.js → settings-system-prompt-view-BWD6RrX8.js} +1 -1
  27. package/dist/public/assets/{settings-view-CAvpL6Tc.js → settings-view-ZgVxZhur.js} +2 -2
  28. package/dist/public/assets/{tasks-view-C6z5quOD.js → tasks-view-4yyCDYbV.js} +1 -1
  29. package/dist/public/assets/{use-installed-ai-files-CQzyZpa8.js → use-installed-ai-files-CZIOFhcX.js} +1 -1
  30. package/dist/public/assets/{web-CzV4mQzJ.js → web-CxBqU2BU.js} +1 -1
  31. package/dist/public/assets/{web-g0yy51Pa.js → web-D8z4Nni0.js} +1 -1
  32. package/dist/public/assets/{web-B_HK2K2n.js → web-DTwF_7w-.js} +1 -1
  33. package/dist/public/assets/{web-C8pB6Hir.js → web-Q-tJsXNN.js} +1 -1
  34. package/dist/public/index.html +2 -2
  35. package/package.json +1 -1
  36. package/dist/public/assets/pull-request-dialog-D_KiLAdI.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-oojFghRi.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vosk-speech-Fi-g2v8n.js","assets/git-ops-button-sVka4_mz.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/onboarding-dbhmRuxw.js","assets/interactive-WtOIgeV4.js","assets/use-toast-BFQ85Ly5.js","assets/store-CSyJjyNs.js","assets/terminal-panel-BxUHr-tZ.js","assets/chat-dock-context-yQDhSXnw.js","assets/main-tab-context-DHeKIUsf.js","assets/use-active-dock-panel-instance-BE69kVdb.js","assets/terminal-panel-BrP-ENHg.css","assets/diff-view-P5m6sKUJ.js","assets/async-error-boundary-B0tQed36.js","assets/card-xQfAy2Rx.js","assets/context-menu-M5y1Qb8G.js","assets/react-vendor-wGLyNWf9.js","assets/use-suspense-resource-rX-GqyWi.js","assets/monaco-setup-x3evbdq3.js","assets/utils-Rlf65JHq.js","assets/explorer-tab-view-B6z1DZzq.js","assets/explorer-tab-context-8bs_tiCO.js","assets/browser-tab-D-Lv93tm.js","assets/tasks-view-C6z5quOD.js","assets/commit-method-fields-DG3NtLE2.js","assets/ndjson-stream-DeGpE5o5.js","assets/create-project-dialog-DfvqFmmy.js","assets/settings-view-CAvpL6Tc.js","assets/skeleton-B_xdlo2b.js","assets/merged-pr-dialog-Bi5pJzTO.js"])))=>i.map(i=>d[i]);
2
- import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{$ as n,$n as r,$t as i,A as a,An as o,B as s,Bn as c,Br as l,Bt as u,Ci as d,Cn as f,Cr as p,Ct as m,D as h,Dn as g,Dt as _,Et as v,F as y,Fr as b,Ft as x,G as S,Gr as C,Gt as w,Hn as T,Hr as E,Ht as D,I as O,Ir as k,It as A,J as j,Jn as M,Jr as N,Jt as P,K as F,Kr as I,Kt as L,Lt as R,M as z,Mr as B,Mt as V,N as H,Nr as U,Nt as ee,O as te,On as ne,P as re,Pt as ie,Qn as ae,Qr as oe,Qt as se,R as ce,Rr as le,Rt as ue,Si as de,Sr as fe,St as pe,Ti as me,Tn as he,Tt as ge,U as _e,Un as ve,Ur as ye,Ut as be,Vn as xe,Vr as Se,Vt as Ce,W,Wn as we,Wr as Te,Wt as Ee,X as De,Xn as Oe,Xr as ke,Y as Ae,Yr as je,Yt as Me,Z as Ne,Zn as Pe,Zr as Fe,_i as Ie,_n as Le,_r as Re,_t as ze,a as Be,an as Ve,at as He,b as Ue,bi as We,bn as Ge,c as Ke,ci as qe,cn as Je,ct as Ye,dn as Xe,dr as Ze,dt as Qe,en as $e,et,f as tt,fn as nt,ft as rt,g as it,gi as at,gr as ot,gt as st,hi as ct,hn as lt,ht as ut,i as G,ii as dt,in as ft,ir as pt,j as mt,jn as ht,jr as gt,jt as _t,kn as vt,kr as yt,kt as bt,ln as xt,lt as St,m as Ct,mi as wt,mn as Tt,mr as Et,mt as K,n as q,ni as Dt,nr as Ot,o as kt,oi as At,on as jt,pr as Mt,qn as Nt,qr as Pt,qt as Ft,r as It,rn as Lt,s as Rt,si as zt,st as Bt,t as Vt,ti as Ht,tr as Ut,u as Wt,ui as Gt,un as Kt,ur as qt,ut as Jt,v as Yt,vi as Xt,vr as Zt,vt as Qt,w as $t,wi as en,wr as tn,x as nn,xn as rn,xt as an,y as on,z as sn,zt as cn}from"./interactive-WtOIgeV4.js";import{A as ln,At as un,B as dn,Bt as fn,Ct as pn,D as mn,Dt as hn,E as gn,Et as _n,F as J,Ft as vn,G as yn,H as bn,Ht as xn,I as Sn,It as Cn,K as wn,L as Tn,Lt as En,M as Dn,Mt as On,N as kn,Nt as An,O as jn,Ot as Mn,P as Nn,Pt as Pn,R as Fn,Rt as In,St as Ln,T as Rn,Tt as zn,U as Bn,Ut as Vn,V as Hn,Vt as Un,W as Wn,Wt as Gn,_t as Kn,at as qn,bt as Jn,ct as Yn,dt as Xn,ft as Zn,gt as Qn,ht as $n,it as er,j as tr,jt as nr,k as rr,kt as ir,lt as ar,mt as or,ot as sr,pt as cr,q as lr,qt as ur,rt as dr,st as fr,ut as pr,vt as mr,wt as hr,xt as gr,yt as _r,z as vr,zt as yr}from"./react-vendor-wGLyNWf9.js";import{$a as br,$n as xr,$r as Sr,$t as Cr,A as wr,Aa as Tr,Ao as Er,Ar as Dr,Ba as Or,Br as kr,Ca as Ar,Ci as jr,Co as Mr,Cr as Nr,Ct as Pr,D as Fr,Da as Ir,Dr as Lr,E as Rr,Ea as zr,Ei as Br,En as Vr,Eo as Hr,F as Ur,Fn as Wr,Fr as Gr,Ga as Kr,Gn as qr,Gr as Jr,H as Yr,Ha as Xr,Hn as Zr,Hr as Qr,I as $r,Ia as ei,Ir as ti,Ja as ni,Jt as ri,Ka as ii,Kn as ai,Kr as oi,L as si,La as ci,Ln as li,Lr as ui,M as di,Ma as fi,Mr as pi,N as mi,Na as hi,Nr as gi,O as _i,Oa as vi,Oi as yi,Or as bi,Pr as xi,Qi as Si,Qr as Ci,Ra as wi,Rn as Ti,Rr as Ei,S as Di,Sa as Oi,Si as ki,So as Ai,Sr as ji,St as Mi,T as Ni,Ta as Pi,Ti as Fi,Tt as Ii,U as Li,Un as Ri,Va as zi,Vn as Bi,Vr as Vi,Wi as Hi,Wn as Ui,Xa as Wi,Xn as Gi,Xr as Ki,Ya as qi,Yn as Ji,Yr as Yi,Yt as Xi,Zr as Zi,Zt as Qi,_ as $i,_a as ea,_i as ta,ai as na,ao as ra,ar as ia,b as aa,ba as oa,bn as sa,bt as ca,c as la,ca as ua,ci as da,cn as fa,co as pa,da as ma,di as ha,dt as ga,ea as _a,ei as va,f as ya,fa as ba,fo as xa,fr as Sa,ga as Ca,gi as wa,gn as Ta,go as Ea,gr as Da,gt as Oa,h as ka,hi as Aa,ho as ja,hr as Ma,ht as Na,in as Pa,io as Fa,ir as Ia,it as La,j as Ra,jn as za,k as Ba,ka as Va,ki as Ha,kr as Ua,la as Wa,li as Ga,ln as Ka,lo as qa,lr as Ja,m as Ya,ma as Xa,mi as Za,mo as Qa,mr as $a,no as eo,nr as to,nt as no,oi as ro,on as io,oo as ao,p as oo,pa as so,pi as co,pn as lo,pt as uo,qn as fo,ro as po,rr as mo,rt as ho,s as go,sa as _o,sn as vo,sr as yo,tn as bo,tr as xo,ua as So,ui as Co,un as wo,uo as To,v as Eo,vi as Do,vn as Oo,vr as ko,w as Ao,wa as jo,wn as Mo,wo as No,wr as Po,wt as Fo,x as Io,xa as Lo,xt as Ro,yi as zo,yn as Bo,yo as Vo,zn as Ho,zr as Uo}from"./onboarding-dbhmRuxw.js";import{l as Wo}from"./monaco-D1hpqXQ0.js";import{A as Go,B as Ko,C as qo,D as Jo,E as Yo,F as Xo,G as Zo,H as Qo,I as $o,J as es,K as ts,L as ns,M as rs,N as is,O as as,P as os,R as ss,S as cs,T as ls,U as us,V as ds,W as fs,_ as ps,a as ms,b as hs,c as gs,d as _s,f as vs,g as ys,h as bs,i as xs,j as Ss,k as Cs,l as ws,m as Ts,n as Es,o as Ds,p as Os,q as Y,r as X,s as ks,t as As,u as js,v as Ms,w as Ns,x as Ps,y as Fs,z as Is}from"./store-CSyJjyNs.js";import{n as Ls,t as Rs}from"./use-toast-BFQ85Ly5.js";import{a as zs,c as Bs,i as Vs,n as Hs,o as Us,r as Ws,s as Gs,t as Ks}from"./alert-dialog-Ge-FFGao.js";import{n as qs,t as Js}from"./main-tab-context-DHeKIUsf.js";import{n as Ys,t as Xs}from"./chat-dock-context-yQDhSXnw.js";import{n as Zs,t as Qs}from"./explorer-tab-context-8bs_tiCO.js";import{n as $s,r as ec,t as tc}from"./local-tool-blocks-DlqmJ7__.js";import{a as nc,c as rc,i as ic,l as ac,n as oc,o as sc,r as cc,s as lc,t as uc}from"./thread-tool-blocks-BfowiaTH.js";import{d as dc}from"./api-BsPadLpi.js";import{n as fc,t as pc}from"./ndjson-stream-DeGpE5o5.js";import{r as mc,t as hc}from"./use-suspense-resource-rX-GqyWi.js";import{n as gc,t as _c}from"./utils-Rlf65JHq.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 vc=class extends Ln{#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||yc(),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=pn({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),zn.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function yc(){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 En{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 vc({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=xc(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=xc(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=xc(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=xc(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){zn.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=>un(t,e))}findAll(e={}){return this.getAll().filter(t=>un(e,t))}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return zn.batch(()=>Promise.all(e.map(e=>e.continue().catch(On))))}};function xc(e){return e.options.scope?.id}var Sc=class extends En{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Mn(r,t),a=this.get(i);return a||(a=new gr({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(){zn.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=>nr(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>nr(e,t)):t}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){zn.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){zn.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Cc=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Sc,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=Cn.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=hr.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(Pn(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=_n(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return zn.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;zn.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return zn.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=zn.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(On).catch(On)}invalidateQueries(e,t={}){return zn.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=zn.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(On)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(On)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Pn(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(On).catch(On)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(On).catch(On)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return hr.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(hn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{An(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(hn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{An(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||=Mn(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===vn&&(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(me(),1),wc=ur(),Q=en(),$=d(),Tc=`lg-filter-project-icon`,Ec=`blur(2px) url(#${Tc}) blur(4px) saturate(1.5) brightness(1.1)`,Dc=`blur(16px) saturate(1.8) brightness(1.15) contrast(1.05)`,Oc=`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 kc(e){let t=(0,Q.c)(22),{project:n,isSelected:r,isDeleting:i,elevated:a,className:o,iconClassName:s}=e,c=r===void 0?!1:r,l=i===void 0?!1:i,u=a===void 0?!0:a,d;t[0]===n?d=t[1]:(d=qt(Ke(n)),t[0]=n,t[1]=d);let f=d,p=n.gitUrl?ie:V,m=c&&`ring-2 ring-brand/40`,h;t[2]!==o||t[3]!==m?(h=G(`relative flex aspect-square items-center justify-center overflow-hidden rounded-[1.15rem] text-foreground/70 dark:text-white`,m,o),t[2]=o,t[3]=m,t[4]=h):h=t[4];let g=`linear-gradient(150deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), ${f}`,_=u?`${Oc}, 0 8px 32px rgba(0, 0, 0, 0.2)`:`${Oc}, 0 1px 2px rgba(0, 0, 0, 0.15)`,v;t[5]!==g||t[6]!==_?(v={backgroundColor:`rgba(255, 255, 255, 0.17)`,backgroundImage:g,backdropFilter:Ec,WebkitBackdropFilter:Dc,boxShadow:_},t[5]=g,t[6]=_,t[7]=v):v=t[7];let y;t[8]!==l||t[9]!==n.projectIcon?(y=n.projectIcon&&!l&&(0,$.jsx)(`img`,{src:n.projectIcon,alt:``,className:`absolute inset-0 h-full w-full object-cover`}),t[8]=l,t[9]=n.projectIcon,t[10]=y):y=t[10];let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-black/55`}),t[11]=b):b=t[11];let x;t[12]!==p||t[13]!==s||t[14]!==l||t[15]!==n.projectIcon?(x=l?(0,$.jsx)(K,{className:G(`relative h-8 w-8 animate-spin text-muted-foreground`,s)}):n.projectIcon?null:(0,$.jsx)(p,{className:G(`relative h-8 w-8`,s),strokeWidth:1.5}),t[12]=p,t[13]=s,t[14]=l,t[15]=n.projectIcon,t[16]=x):x=t[16];let S;return t[17]!==y||t[18]!==x||t[19]!==h||t[20]!==v?(S=(0,$.jsxs)(`div`,{className:h,style:v,children:[y,b,x]}),t[17]=y,t[18]=x,t[19]=h,t[20]=v,t[21]=S):S=t[21],S}function Ac(){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:Tc,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 jc(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(b.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)(Nc,{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 Mc(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(b.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 Nc(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)(kc,{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)(Fo,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(on,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete project`})]})}),(0,$.jsx)(Pr,{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)(Mc,{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 Pc(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 Fc(e){let t=(0,Q.c)(4),{className:n}=e;if(!Lo())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 Ic=`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,Lc=`0 0% 9%`,Rc=`0 0% 98%`;function zc(e){let t=e<=140;return{foreground:t?Rc:Lc,inverse:t?Lc:Rc}}function Bc(e,t){document.documentElement.style.setProperty(`--scenic-foreground`,e),document.documentElement.style.setProperty(`--scenic-foreground-inverse`,t)}function Vc(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}=zc(i/a);Bc(o,s)}catch{}}function Hc(e){Vc(e.currentTarget)}var Uc=[`/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 Wc(){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 Uc[n%Uc.length]}var Gc=Wc(),Kc=new Image;Kc.src=Gc;function qc(){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:Gc,alt:``,className:`h-full w-full object-cover`,onLoad:Hc})}),e[0]=t):t=e[0],t}function Jc(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 Yc(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=Li(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,$.jsx)(Xn,{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 Xc=Qn,Zc=cr,Qc=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(b.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)(nt,{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)($n,{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});Qc.displayName=$n.displayName;var $c=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)(or,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$c.displayName=or.displayName;var el=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)(ar,{children:(0,$.jsx)(qn,{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});el.displayName=qn.displayName;var tl=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(b.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)(sr,{ref:t,className:o,...a}),n[7]=a,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});tl.displayName=sr.displayName;var nl=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(b.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)(fr,{children:(0,$.jsx)(lt,{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)(er,{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});nl.displayName=er.displayName;var rl=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(b.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)(fr,{children:(0,$.jsx)(jt,{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)(pr,{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});rl.displayName=pr.displayName;var il=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(b.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)(Yn,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});il.displayName=Yn.displayName;var al=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)(Zn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});al.displayName=Zn.displayName;var ol=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(b.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};ol.displayName=`DropdownMenuShortcut`;function sl(e){let t=(0,Q.c)(30),{onSelectMode:r,onOpenFolder:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{className:`gap-1`,children:[`New Project`,(0,$.jsx)(Tt,{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(b.body,`gap-2`),t[1]=o):o=t[1];let s;t[2]===r?s=t[3]:(s=()=>r(`folder`),t[2]=r,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Ae,{className:`h-4 w-4 shrink-0`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[7]=u):u=t[7];let d;t[8]===r?d=t[9]:(d=()=>r(`clone`),t[8]=r,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(_t,{className:`h-4 w-4 shrink-0`}),t[10]=f):f=t[10];let p;t[11]===d?p=t[12]:(p=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[13]=m):m=t[13];let h;t[14]===i?h=t[15]:(h=()=>{i()},t[14]=i,t[15]=h);let g;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ee,{className:`h-4 w-4 shrink-0`}),t[16]=g):g=t[16];let _;t[17]===h?_=t[18]:(_=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[19]=v):v=t[19];let y;t[20]===r?y=t[21]:(y=()=>r(`webapp`),t[20]=r,t[21]=y);let x;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(n,{className:`h-4 w-4 shrink-0`}),t[22]=x):x=t[22];let S;t[23]===y?S=t[24]:(S=(0,$.jsxs)(tl,{className:v,onSelect:y,children:[x,`New App`]}),t[23]=y,t[24]=S);let C;return t[25]!==_||t[26]!==S||t[27]!==l||t[28]!==p?(C=(0,$.jsxs)(Yc,{children:[a,(0,$.jsxs)(el,{align:`end`,className:`w-44`,children:[l,p,_,S]})]}),t[25]=_,t[26]=S,t[27]=l,t[28]=p,t[29]=C):C=t[29],C}function cl(e){let t=(0,Q.c)(40),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onCreateProject:s,onOpenFolder:c,onDeleteProject:l,updateAvailable:u,updatingApp:d,onUpdateApp:f,isDevMode:p}=e,m=Gn(),h=X(ul),[g,_]=(0,Z.useState)(!h),v;t[0]===n?v=t[1]:(v=[...n].sort(ll),t[0]=n,t[1]=v);let x=v;!h&&!g&&_(!0);let S;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){Gr(`https://tarsk.io/`)},t[2]=S):S=t[2];let C=S;if(!g){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Fc,{}),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)(K,{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)(Fc,{}),t[5]=w):w=t[5];let T;t[6]===m?T=t[7]:(T=()=>void m(`/settings/general`),t[6]=m,t[7]=T);let E;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(y,{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)(No,{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]===p?k=t[13]:(k=p?(0,$.jsx)(`p`,{className:G(b.label,`mt-2 text-destructive dark:text-red-400`),children:`Dev Mode`}):null,t[12]=p,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?(j=(0,$.jsx)(ho,{title:`Projects`,action:(0,$.jsx)(sl,{onSelectMode:s,onOpenFolder:c}),sticky:!0}),t[16]=s,t[17]=c,t[18]=j):j=t[18];let M;t[19]!==a||t[20]!==l||t[21]!==o||t[22]!==i||t[23]!==r||t[24]!==x?(M=(0,$.jsx)(jc,{projects:x,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:l}),t[19]=a,t[20]=l,t[21]=o,t[22]=i,t[23]=r,t[24]=x,t[25]=M):M=t[25];let N;t[26]!==j||t[27]!==M?(N=(0,$.jsxs)(Jc,{className:`px-6 pb-6 pt-16`,children:[j,M]}),t[26]=j,t[27]=M,t[28]=N):N=t[28];let P;t[29]!==N||t[30]!==A?(P=(0,$.jsx)(uo,{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)(ga,{className:`w-full max-w-4xl mx-auto py-10`,children:(0,$.jsxs)(`div`,{className:`relative pt-10`,children:[A,N]})})})}),t[29]=N,t[30]=A,t[31]=P):P=t[31];let F;t[32]!==f||t[33]!==u||t[34]!==d?(F=u?(0,$.jsx)(`div`,{className:`relative z-10 flex flex-shrink-0 justify-end px-4 pb-4 pt-2`,children:(0,$.jsxs)(No,{variant:`outline`,className:`text-emerald-600 dark:text-emerald-400`,onClick:f,disabled:d,children:[d?(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)($e,{className:`h-4 w-4`}),d?`Updating...`:`Upgrade to Latest`]})}):null,t[32]=f,t[33]=u,t[34]=d,t[35]=F):F=t[35];let I;return t[36]!==P||t[37]!==F||t[38]!==D?(I=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,children:[w,D,P,F]}),t[36]=P,t[37]=F,t[38]=D,t[39]=I):I=t[39],I}function ll(e,t){return Ke(e).localeCompare(Ke(t))}function ul(e){return e.projectsLoading}var dl=e(Er(),1),fl=.1,pl=10,ml=1.25,hl=.001;function gl(){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=_l,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*ml)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/ml)),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*hl;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 _l(e){return Math.min(Math.max(e,fl),pl)}var vl=M(`app.mermaid-renderer.ui`);function yl(){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}function bl(e,t){let[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!1);return(0,Z.useEffect)(()=>{let n=!1;async function i(){try{let{renderMermaidSVG:i}=await Wo(async()=>{let{renderMermaidSVG:e}=await import(`./dist-oojFghRi.js`);return{renderMermaidSVG:e}},__vite__mapDeps([0,1])),o=i(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});n||(r(o),a(!1))}catch(e){vl.error(`Mermaid render error:`,e),n||a(!0)}}return i(),()=>{n=!0}},[e,t]),{svgOutput:n,renderError:i}}function xl(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}=gl(),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)(Sl,g);let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:G(b.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)(Bt,{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 x;t[7]===l?x=t[8]:(x=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[v,y]})}),t[7]=l,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Pr,{children:`Zoom out`}),t[9]=S):S=t[9];let C;t[10]===x?C=t[11]:(C=(0,$.jsxs)(Mi,{children:[x,S]}),t[10]=x,t[11]=C);let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=G(b.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=w):w=t[12];let T;t[13]===i?T=t[14]:(T=Math.round(i*100),t[13]=i,t[14]=T);let E;t[15]!==u||t[16]!==T?(E=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:u,className:w,children:[T,`%`]})}),t[15]=u,t[16]=T,t[17]=E):E=t[17];let D;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Pr,{children:`Reset zoom`}),t[18]=D):D=t[18];let O;t[19]===E?O=t[20]:(O=(0,$.jsxs)(Mi,{children:[E,D]}),t[19]=E,t[20]=O);let k,A;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(Ae,{className:`h-3.5 w-3.5`}),A=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=k,t[22]=A):(k=t[21],A=t[22]);let j;t[23]===c?j=t[24]:(j=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:c,children:[k,A]})}),t[23]=c,t[24]=j);let M;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Pr,{children:`Zoom in`}),t[25]=M):M=t[25];let N;t[26]===j?N=t[27]:(N=(0,$.jsxs)(Mi,{children:[j,M]}),t[26]=j,t[27]=N);let P,F;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(_e,{className:`h-3.5 w-3.5`}),F=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=P,t[29]=F):(P=t[28],F=t[29]);let I;t[30]===u?I=t[31]:(I=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[P,F]})}),t[30]=u,t[31]=I);let L;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(Pr,{children:`Reset view`}),t[32]=L):L=t[32];let R;t[33]===I?R=t[34]:(R=(0,$.jsxs)(Mi,{children:[I,L]}),t[33]=I,t[34]=R);let z;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=z):z=t[35];let B,V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(tt,{className:`h-3.5 w-3.5`}),V=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=B,t[37]=V):(B=t[36],V=t[37]);let H;t[38]===r?H=t[39]:(H=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[B,V]})}),t[38]=r,t[39]=H);let U;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(Pr,{children:`Close (Esc)`}),t[40]=U):U=t[40];let ee;t[41]===H?ee=t[42]:(ee=(0,$.jsxs)(Mi,{children:[H,U]}),t[41]=H,t[42]=ee);let te;t[43]!==O||t[44]!==N||t[45]!==R||t[46]!==ee||t[47]!==C?(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:[C,O,N,R,z,ee]})]}),t[43]=O,t[44]=N,t[45]=R,t[46]=ee,t[47]=C,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(b.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 de;return t[67]!==te||t[68]!==le?(de=(0,dl.createPortal)((0,$.jsx)(Fo,{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]=de):de=t[69],de}function Sl(){return document.body.style.overflow=`hidden`,Cl}function Cl(){document.body.style.overflow=``}function wl(e){let t=(0,Q.c)(53),{content:n,className:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),{svgOutput:c,renderError:l}=bl(n,yl()),u;t[0]===n?u=t[1]:(u=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=G(b.compact,`font-mono text-muted-foreground`),t[2]=f):f=t[2];let p=l?`mermaid (render error)`:`mermaid diagram`,m;t[3]===p?m=t[4]:(m=(0,$.jsx)(`span`,{className:f,children:p}),t[3]=p,t[4]=m);let h;t[5]!==l||t[6]!==c?(h=c&&!l&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-xs`,onClick:()=>s(!0),children:[(0,$.jsx)(rt,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(Pr,{children:`View fullscreen`})]}),t[5]=l,t[6]=c,t[7]=h):h=t[7];let g;t[8]===i?g=t[9]:(g=i?(0,$.jsx)(lt,{}):(0,$.jsx)(ft,{}),t[8]=i,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=_):_=t[10];let v;t[11]!==d||t[12]!==g?(v=(0,$.jsxs)(No,{variant:`action`,size:`icon-xs`,onClick:d,children:[g,_]}),t[11]=d,t[12]=g,t[13]=v):v=t[13];let y;t[14]!==h||t[15]!==v?(y=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[h,v]}),t[14]=h,t[15]=v,t[16]=y):y=t[16];let x;t[17]!==m||t[18]!==y?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[m,y]}),t[17]=m,t[18]=y,t[19]=x):x=t[19];let S=x;if(l){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(b.compact,`font-mono text-foreground leading-relaxed`),t[22]=i):i=t[22];let a;t[23]===n?a=t[24]:(a=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:i,children:n})}),t[23]=n,t[24]=a);let o;return t[25]!==S||t[26]!==e||t[27]!==a?(o=(0,$.jsxs)(`div`,{className:e,children:[S,a]}),t[25]=S,t[26]=e,t[27]=a,t[28]=o):o=t[28],o}if(!c){let e;t[29]===r?e=t[30]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[29]=r,t[30]=e);let n;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:G(b.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[31]=n):n=t[31];let i;return t[32]!==S||t[33]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[S,n]}),t[32]=S,t[33]=e,t[34]=i):i=t[34],i}let C;t[35]===r?C=t[36]:(C=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[35]=r,t[36]=C);let w;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>s(!0),t[37]=w):w=t[37];let T;t[38]===c?T=t[39]:(T=(0,$.jsx)(Ii,{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[38]=c,t[39]=T);let E;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Pr,{children:`Click to view fullscreen`}),t[40]=E):E=t[40];let D;t[41]===T?D=t[42]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[41]=T,t[42]=D);let O;t[43]!==S||t[44]!==C||t[45]!==D?(O=(0,$.jsxs)(`div`,{className:C,children:[S,D]}),t[43]=S,t[44]=C,t[45]=D,t[46]=O):O=t[46];let k;t[47]!==o||t[48]!==c?(k=o&&(0,$.jsx)(xl,{svgOutput:c,onClose:()=>s(!1)}),t[47]=o,t[48]=c,t[49]=k):k=t[49];let A;return t[50]!==O||t[51]!==k?(A=(0,$.jsxs)(Fo,{children:[O,k]}),t[50]=O,t[51]=k,t[52]=A):A=t[52],A}function Tl(e){let t=e.trim();if(t.startsWith(`/`)){let e=Xa().replace(/\/$/,``);return l(`${e}${t}`,e)}return l(t,Xa())}function El(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(le(e.hostname))return!0;let n=new URL(Xa());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Dl(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:Lo()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):El(t)}function Ol(e){let t=Tl(e);return Ir()&&!Lo()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):Gr(t)}function kl(e){return!!(le(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function Al(e){return decodeURIComponent(e.replace(/^\/+/,``))}function jl(e){let t=e.trim();if(!t||t.includes(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-oojFghRi.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vosk-speech-Fi-g2v8n.js","assets/git-ops-button-DO1ng45p.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/onboarding-dbhmRuxw.js","assets/interactive-WtOIgeV4.js","assets/use-toast-BFQ85Ly5.js","assets/store-CSyJjyNs.js","assets/terminal-panel-BxUHr-tZ.js","assets/chat-dock-context-yQDhSXnw.js","assets/main-tab-context-DHeKIUsf.js","assets/use-active-dock-panel-instance-BE69kVdb.js","assets/terminal-panel-BrP-ENHg.css","assets/diff-view-Cy5PjlG_.js","assets/async-error-boundary-B0tQed36.js","assets/card-xQfAy2Rx.js","assets/context-menu-M5y1Qb8G.js","assets/react-vendor-wGLyNWf9.js","assets/use-suspense-resource-rX-GqyWi.js","assets/monaco-setup-x3evbdq3.js","assets/utils-Rlf65JHq.js","assets/explorer-tab-view-D6t9Ce05.js","assets/explorer-tab-context-8bs_tiCO.js","assets/browser-tab-hcbTzpVn.js","assets/tasks-view-4yyCDYbV.js","assets/commit-method-fields-DG3NtLE2.js","assets/ndjson-stream-DeGpE5o5.js","assets/create-project-dialog-DW4oGrl2.js","assets/settings-view-ZgVxZhur.js","assets/skeleton-B_xdlo2b.js","assets/merged-pr-dialog-Bi5pJzTO.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{$ as n,$n as r,$t as i,A as a,An as o,B as s,Bn as c,Br as l,Bt as u,Ci as d,Cn as f,Cr as p,Ct as m,D as h,Dn as g,Dt as _,Et as v,F as y,Fr as b,Ft as x,G as S,Gr as C,Gt as w,Hn as T,Hr as E,Ht as D,I as O,Ir as k,It as A,J as j,Jn as M,Jr as N,Jt as P,K as F,Kr as I,Kt as L,Lt as R,M as z,Mr as B,Mt as V,N as H,Nr as U,Nt as ee,O as te,On as ne,P as re,Pt as ie,Qn as ae,Qr as oe,Qt as se,R as ce,Rr as le,Rt as ue,Si as de,Sr as fe,St as pe,Ti as me,Tn as he,Tt as ge,U as _e,Un as ve,Ur as ye,Ut as be,Vn as xe,Vr as Se,Vt as Ce,W,Wn as we,Wr as Te,Wt as Ee,X as De,Xn as Oe,Xr as ke,Y as Ae,Yr as je,Yt as Me,Z as Ne,Zn as Pe,Zr as Fe,_i as Ie,_n as Le,_r as Re,_t as ze,a as Be,an as Ve,at as He,b as Ue,bi as We,bn as Ge,c as Ke,ci as qe,cn as Je,ct as Ye,dn as Xe,dr as Ze,dt as Qe,en as $e,et,f as tt,fn as nt,ft as rt,g as it,gi as at,gr as ot,gt as st,hi as ct,hn as lt,ht as ut,i as G,ii as dt,in as ft,ir as pt,j as mt,jn as ht,jr as gt,jt as _t,kn as vt,kr as yt,kt as bt,ln as xt,lt as St,m as Ct,mi as wt,mn as Tt,mr as Et,mt as K,n as q,ni as Dt,nr as Ot,o as kt,oi as At,on as jt,pr as Mt,qn as Nt,qr as Pt,qt as Ft,r as It,rn as Lt,s as Rt,si as zt,st as Bt,t as Vt,ti as Ht,tr as Ut,u as Wt,ui as Gt,un as Kt,ur as qt,ut as Jt,v as Yt,vi as Xt,vr as Zt,vt as Qt,w as $t,wi as en,wr as tn,x as nn,xn as rn,xt as an,y as on,z as sn,zt as cn}from"./interactive-WtOIgeV4.js";import{A as ln,At as un,B as dn,Bt as fn,Ct as pn,D as mn,Dt as hn,E as gn,Et as _n,F as J,Ft as vn,G as yn,H as bn,Ht as xn,I as Sn,It as Cn,K as wn,L as Tn,Lt as En,M as Dn,Mt as On,N as kn,Nt as An,O as jn,Ot as Mn,P as Nn,Pt as Pn,R as Fn,Rt as In,St as Ln,T as Rn,Tt as zn,U as Bn,Ut as Vn,V as Hn,Vt as Un,W as Wn,Wt as Gn,_t as Kn,at as qn,bt as Jn,ct as Yn,dt as Xn,ft as Zn,gt as Qn,ht as $n,it as er,j as tr,jt as nr,k as rr,kt as ir,lt as ar,mt as or,ot as sr,pt as cr,q as lr,qt as ur,rt as dr,st as fr,ut as pr,vt as mr,wt as hr,xt as gr,yt as _r,z as vr,zt as yr}from"./react-vendor-wGLyNWf9.js";import{$a as br,$n as xr,$r as Sr,$t as Cr,A as wr,Aa as Tr,Ao as Er,Ar as Dr,Ba as Or,Br as kr,Ca as Ar,Ci as jr,Co as Mr,Cr as Nr,Ct as Pr,D as Fr,Da as Ir,Dr as Lr,E as Rr,Ea as zr,Ei as Br,En as Vr,Eo as Hr,F as Ur,Fn as Wr,Fr as Gr,Ga as Kr,Gn as qr,Gr as Jr,H as Yr,Ha as Xr,Hn as Zr,Hr as Qr,I as $r,Ia as ei,Ir as ti,Ja as ni,Jt as ri,Ka as ii,Kn as ai,Kr as oi,L as si,La as ci,Ln as li,Lr as ui,M as di,Ma as fi,Mr as pi,N as mi,Na as hi,Nr as gi,O as _i,Oa as vi,Oi as yi,Or as bi,Pr as xi,Qi as Si,Qr as Ci,Ra as wi,Rn as Ti,Rr as Ei,S as Di,Sa as Oi,Si as ki,So as Ai,Sr as ji,St as Mi,T as Ni,Ta as Pi,Ti as Fi,Tt as Ii,U as Li,Un as Ri,Va as zi,Vn as Bi,Vr as Vi,Wi as Hi,Wn as Ui,Xa as Wi,Xn as Gi,Xr as Ki,Ya as qi,Yn as Ji,Yr as Yi,Yt as Xi,Zr as Zi,Zt as Qi,_ as $i,_a as ea,_i as ta,ai as na,ao as ra,ar as ia,b as aa,ba as oa,bn as sa,bt as ca,c as la,ca as ua,ci as da,cn as fa,co as pa,da as ma,di as ha,dt as ga,ea as _a,ei as va,f as ya,fa as ba,fo as xa,fr as Sa,ga as Ca,gi as wa,gn as Ta,go as Ea,gr as Da,gt as Oa,h as ka,hi as Aa,ho as ja,hr as Ma,ht as Na,in as Pa,io as Fa,ir as Ia,it as La,j as Ra,jn as za,k as Ba,ka as Va,ki as Ha,kr as Ua,la as Wa,li as Ga,ln as Ka,lo as qa,lr as Ja,m as Ya,ma as Xa,mi as Za,mo as Qa,mr as $a,no as eo,nr as to,nt as no,oi as ro,on as io,oo as ao,p as oo,pa as so,pi as co,pn as lo,pt as uo,qn as fo,ro as po,rr as mo,rt as ho,s as go,sa as _o,sn as vo,sr as yo,tn as bo,tr as xo,ua as So,ui as Co,un as wo,uo as To,v as Eo,vi as Do,vn as Oo,vr as ko,w as Ao,wa as jo,wn as Mo,wo as No,wr as Po,wt as Fo,x as Io,xa as Lo,xt as Ro,yi as zo,yn as Bo,yo as Vo,zn as Ho,zr as Uo}from"./onboarding-dbhmRuxw.js";import{l as Wo}from"./monaco-D1hpqXQ0.js";import{A as Go,B as Ko,C as qo,D as Jo,E as Yo,F as Xo,G as Zo,H as Qo,I as $o,J as es,K as ts,L as ns,M as rs,N as is,O as as,P as os,R as ss,S as cs,T as ls,U as us,V as ds,W as fs,_ as ps,a as ms,b as hs,c as gs,d as _s,f as vs,g as ys,h as bs,i as xs,j as Ss,k as Cs,l as ws,m as Ts,n as Es,o as Ds,p as Os,q as Y,r as X,s as ks,t as As,u as js,v as Ms,w as Ns,x as Ps,y as Fs,z as Is}from"./store-CSyJjyNs.js";import{n as Ls,t as Rs}from"./use-toast-BFQ85Ly5.js";import{a as zs,c as Bs,i as Vs,n as Hs,o as Us,r as Ws,s as Gs,t as Ks}from"./alert-dialog-Ge-FFGao.js";import{n as qs,t as Js}from"./main-tab-context-DHeKIUsf.js";import{n as Ys,t as Xs}from"./chat-dock-context-yQDhSXnw.js";import{n as Zs,t as Qs}from"./explorer-tab-context-8bs_tiCO.js";import{n as $s,r as ec,t as tc}from"./local-tool-blocks-DlqmJ7__.js";import{a as nc,c as rc,i as ic,l as ac,n as oc,o as sc,r as cc,s as lc,t as uc}from"./thread-tool-blocks-BfowiaTH.js";import{d as dc}from"./api-BsPadLpi.js";import{n as fc,t as pc}from"./ndjson-stream-DeGpE5o5.js";import{r as mc,t as hc}from"./use-suspense-resource-rX-GqyWi.js";import{n as gc,t as _c}from"./utils-Rlf65JHq.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 vc=class extends Ln{#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||yc(),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=pn({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),zn.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function yc(){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 En{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 vc({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=xc(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=xc(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=xc(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=xc(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){zn.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=>un(t,e))}findAll(e={}){return this.getAll().filter(t=>un(e,t))}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return zn.batch(()=>Promise.all(e.map(e=>e.continue().catch(On))))}};function xc(e){return e.options.scope?.id}var Sc=class extends En{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Mn(r,t),a=this.get(i);return a||(a=new gr({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(){zn.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=>nr(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>nr(e,t)):t}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){zn.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){zn.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Cc=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Sc,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=Cn.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=hr.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(Pn(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=_n(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return zn.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;zn.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return zn.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=zn.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(On).catch(On)}invalidateQueries(e,t={}){return zn.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=zn.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(On)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(On)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Pn(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(On).catch(On)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(On).catch(On)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return hr.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(hn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{An(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(hn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{An(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||=Mn(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===vn&&(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(me(),1),wc=ur(),Q=en(),$=d(),Tc=`lg-filter-project-icon`,Ec=`blur(2px) url(#${Tc}) blur(4px) saturate(1.5) brightness(1.1)`,Dc=`blur(16px) saturate(1.8) brightness(1.15) contrast(1.05)`,Oc=`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 kc(e){let t=(0,Q.c)(21),{project:n,isSelected:r,isDeleting:i,elevated:a,className:o,iconClassName:s}=e,c=r===void 0?!1:r,l=i===void 0?!1:i,u=a===void 0?!0:a,d;t[0]===n?d=t[1]:(d=qt(Ke(n)),t[0]=n,t[1]=d);let f=d,p=n.gitUrl?ie:V,m=c&&`ring-2 ring-brand/40`,h;t[2]!==o||t[3]!==m?(h=G(`relative flex aspect-square items-center justify-center overflow-hidden rounded-[1.15rem] text-foreground/70 dark:text-white`,m,o),t[2]=o,t[3]=m,t[4]=h):h=t[4];let g=`linear-gradient(150deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), ${f}`,_=u?`${Oc}, 0 8px 32px rgba(0, 0, 0, 0.2)`:`${Oc}, 0 1px 2px rgba(0, 0, 0, 0.15)`,v;t[5]!==g||t[6]!==_?(v={backgroundColor:`rgba(255, 255, 255, 0.17)`,backgroundImage:g,backdropFilter:Ec,WebkitBackdropFilter:Dc,boxShadow:_},t[5]=g,t[6]=_,t[7]=v):v=t[7];let y;t[8]!==l||t[9]!==n.projectIcon?(y=n.projectIcon&&!l&&(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]=l,t[9]=n.projectIcon,t[10]=y):y=t[10];let b;t[11]!==p||t[12]!==s||t[13]!==l||t[14]!==n.projectIcon?(b=l?(0,$.jsx)(K,{className:G(`relative h-8 w-8 animate-spin text-muted-foreground`,s)}):n.projectIcon?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 dark:bg-black/50`}),(0,$.jsx)(p,{className:G(`relative h-8 w-8`,s),strokeWidth:1.5})]}),t[11]=p,t[12]=s,t[13]=l,t[14]=n.projectIcon,t[15]=b):b=t[15];let x;return t[16]!==y||t[17]!==b||t[18]!==h||t[19]!==v?(x=(0,$.jsxs)(`div`,{className:h,style:v,children:[y,b]}),t[16]=y,t[17]=b,t[18]=h,t[19]=v,t[20]=x):x=t[20],x}function Ac(){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:Tc,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 jc(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(b.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)(Nc,{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 Mc(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(b.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 Nc(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)(kc,{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)(Fo,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(on,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete project`})]})}),(0,$.jsx)(Pr,{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)(Mc,{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 Pc(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 Fc(e){let t=(0,Q.c)(4),{className:n}=e;if(!Lo())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 Ic=`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`,Lc=`0 0% 9%`,Rc=`0 0% 98%`;function zc(e){let t=e<=140;return{foreground:t?Rc:Lc,inverse:t?Lc:Rc}}function Bc(e,t){document.documentElement.style.setProperty(`--scenic-foreground`,e),document.documentElement.style.setProperty(`--scenic-foreground-inverse`,t)}function Vc(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}=zc(i/a);Bc(o,s)}catch{}}function Hc(e){Vc(e.currentTarget)}var Uc=[`/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 Wc(){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 Uc[n%Uc.length]}var Gc=Wc(),Kc=new Image;Kc.src=Gc;function qc(){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:Gc,alt:``,className:`h-full w-full object-cover`,onLoad:Hc})}),e[0]=t):t=e[0],t}function Jc(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 Yc(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=Li(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,$.jsx)(Xn,{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 Xc=Qn,Zc=cr,Qc=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(b.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)(nt,{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)($n,{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});Qc.displayName=$n.displayName;var $c=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)(or,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$c.displayName=or.displayName;var el=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)(ar,{children:(0,$.jsx)(qn,{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});el.displayName=qn.displayName;var tl=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(b.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)(sr,{ref:t,className:o,...a}),n[7]=a,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});tl.displayName=sr.displayName;var nl=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(b.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)(fr,{children:(0,$.jsx)(lt,{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)(er,{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});nl.displayName=er.displayName;var rl=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(b.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)(fr,{children:(0,$.jsx)(jt,{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)(pr,{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});rl.displayName=pr.displayName;var il=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(b.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)(Yn,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});il.displayName=Yn.displayName;var al=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)(Zn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});al.displayName=Zn.displayName;var ol=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(b.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};ol.displayName=`DropdownMenuShortcut`;function sl(e){let t=(0,Q.c)(30),{onSelectMode:r,onOpenFolder:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{className:`gap-1`,children:[`New Project`,(0,$.jsx)(Tt,{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(b.body,`gap-2`),t[1]=o):o=t[1];let s;t[2]===r?s=t[3]:(s=()=>r(`folder`),t[2]=r,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Ae,{className:`h-4 w-4 shrink-0`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[7]=u):u=t[7];let d;t[8]===r?d=t[9]:(d=()=>r(`clone`),t[8]=r,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(_t,{className:`h-4 w-4 shrink-0`}),t[10]=f):f=t[10];let p;t[11]===d?p=t[12]:(p=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[13]=m):m=t[13];let h;t[14]===i?h=t[15]:(h=()=>{i()},t[14]=i,t[15]=h);let g;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ee,{className:`h-4 w-4 shrink-0`}),t[16]=g):g=t[16];let _;t[17]===h?_=t[18]:(_=(0,$.jsxs)(tl,{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(b.body,`gap-2`),t[19]=v):v=t[19];let y;t[20]===r?y=t[21]:(y=()=>r(`webapp`),t[20]=r,t[21]=y);let x;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(n,{className:`h-4 w-4 shrink-0`}),t[22]=x):x=t[22];let S;t[23]===y?S=t[24]:(S=(0,$.jsxs)(tl,{className:v,onSelect:y,children:[x,`New App`]}),t[23]=y,t[24]=S);let C;return t[25]!==_||t[26]!==S||t[27]!==l||t[28]!==p?(C=(0,$.jsxs)(Yc,{children:[a,(0,$.jsxs)(el,{align:`end`,className:`w-44`,children:[l,p,_,S]})]}),t[25]=_,t[26]=S,t[27]=l,t[28]=p,t[29]=C):C=t[29],C}function cl(e){let t=(0,Q.c)(40),{projects:n,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onCreateProject:s,onOpenFolder:c,onDeleteProject:l,updateAvailable:u,updatingApp:d,onUpdateApp:f,isDevMode:p}=e,m=Gn(),h=X(ul),[g,_]=(0,Z.useState)(!h),v;t[0]===n?v=t[1]:(v=[...n].sort(ll),t[0]=n,t[1]=v);let x=v;!h&&!g&&_(!0);let S;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){Gr(`https://tarsk.io/`)},t[2]=S):S=t[2];let C=S;if(!g){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Fc,{}),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)(K,{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)(Fc,{}),t[5]=w):w=t[5];let T;t[6]===m?T=t[7]:(T=()=>void m(`/settings/general`),t[6]=m,t[7]=T);let E;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(y,{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)(No,{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]===p?k=t[13]:(k=p?(0,$.jsx)(`p`,{className:G(b.label,`mt-2 text-destructive dark:text-red-400`),children:`Dev Mode`}):null,t[12]=p,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?(j=(0,$.jsx)(ho,{title:`Projects`,action:(0,$.jsx)(sl,{onSelectMode:s,onOpenFolder:c}),sticky:!0}),t[16]=s,t[17]=c,t[18]=j):j=t[18];let M;t[19]!==a||t[20]!==l||t[21]!==o||t[22]!==i||t[23]!==r||t[24]!==x?(M=(0,$.jsx)(jc,{projects:x,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:a,onSelectProject:o,onDeleteProject:l}),t[19]=a,t[20]=l,t[21]=o,t[22]=i,t[23]=r,t[24]=x,t[25]=M):M=t[25];let N;t[26]!==j||t[27]!==M?(N=(0,$.jsxs)(Jc,{className:`px-6 pb-6 pt-16`,children:[j,M]}),t[26]=j,t[27]=M,t[28]=N):N=t[28];let P;t[29]!==N||t[30]!==A?(P=(0,$.jsx)(uo,{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)(ga,{className:`w-full max-w-4xl mx-auto py-10`,children:(0,$.jsxs)(`div`,{className:`relative pt-10`,children:[A,N]})})})}),t[29]=N,t[30]=A,t[31]=P):P=t[31];let F;t[32]!==f||t[33]!==u||t[34]!==d?(F=u?(0,$.jsx)(`div`,{className:`relative z-10 flex flex-shrink-0 justify-end px-4 pb-4 pt-2`,children:(0,$.jsxs)(No,{variant:`outline`,className:`text-emerald-600 dark:text-emerald-400`,onClick:f,disabled:d,children:[d?(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)($e,{className:`h-4 w-4`}),d?`Updating...`:`Upgrade to Latest`]})}):null,t[32]=f,t[33]=u,t[34]=d,t[35]=F):F=t[35];let I;return t[36]!==P||t[37]!==F||t[38]!==D?(I=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,children:[w,D,P,F]}),t[36]=P,t[37]=F,t[38]=D,t[39]=I):I=t[39],I}function ll(e,t){return Ke(e).localeCompare(Ke(t))}function ul(e){return e.projectsLoading}var dl=e(Er(),1),fl=.1,pl=10,ml=1.25,hl=.001;function gl(){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=_l,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*ml)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/ml)),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*hl;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 _l(e){return Math.min(Math.max(e,fl),pl)}var vl=M(`app.mermaid-renderer.ui`);function yl(){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}function bl(e,t){let[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!1);return(0,Z.useEffect)(()=>{let n=!1;async function i(){try{let{renderMermaidSVG:i}=await Wo(async()=>{let{renderMermaidSVG:e}=await import(`./dist-oojFghRi.js`);return{renderMermaidSVG:e}},__vite__mapDeps([0,1])),o=i(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});n||(r(o),a(!1))}catch(e){vl.error(`Mermaid render error:`,e),n||a(!0)}}return i(),()=>{n=!0}},[e,t]),{svgOutput:n,renderError:i}}function xl(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}=gl(),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)(Sl,g);let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:G(b.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)(Bt,{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 x;t[7]===l?x=t[8]:(x=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[v,y]})}),t[7]=l,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Pr,{children:`Zoom out`}),t[9]=S):S=t[9];let C;t[10]===x?C=t[11]:(C=(0,$.jsxs)(Mi,{children:[x,S]}),t[10]=x,t[11]=C);let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=G(b.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=w):w=t[12];let T;t[13]===i?T=t[14]:(T=Math.round(i*100),t[13]=i,t[14]=T);let E;t[15]!==u||t[16]!==T?(E=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:u,className:w,children:[T,`%`]})}),t[15]=u,t[16]=T,t[17]=E):E=t[17];let D;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Pr,{children:`Reset zoom`}),t[18]=D):D=t[18];let O;t[19]===E?O=t[20]:(O=(0,$.jsxs)(Mi,{children:[E,D]}),t[19]=E,t[20]=O);let k,A;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(Ae,{className:`h-3.5 w-3.5`}),A=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=k,t[22]=A):(k=t[21],A=t[22]);let j;t[23]===c?j=t[24]:(j=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:c,children:[k,A]})}),t[23]=c,t[24]=j);let M;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Pr,{children:`Zoom in`}),t[25]=M):M=t[25];let N;t[26]===j?N=t[27]:(N=(0,$.jsxs)(Mi,{children:[j,M]}),t[26]=j,t[27]=N);let P,F;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(_e,{className:`h-3.5 w-3.5`}),F=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=P,t[29]=F):(P=t[28],F=t[29]);let I;t[30]===u?I=t[31]:(I=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[P,F]})}),t[30]=u,t[31]=I);let L;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(Pr,{children:`Reset view`}),t[32]=L):L=t[32];let R;t[33]===I?R=t[34]:(R=(0,$.jsxs)(Mi,{children:[I,L]}),t[33]=I,t[34]=R);let z;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=z):z=t[35];let B,V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(tt,{className:`h-3.5 w-3.5`}),V=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=B,t[37]=V):(B=t[36],V=t[37]);let H;t[38]===r?H=t[39]:(H=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[B,V]})}),t[38]=r,t[39]=H);let U;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(Pr,{children:`Close (Esc)`}),t[40]=U):U=t[40];let ee;t[41]===H?ee=t[42]:(ee=(0,$.jsxs)(Mi,{children:[H,U]}),t[41]=H,t[42]=ee);let te;t[43]!==O||t[44]!==N||t[45]!==R||t[46]!==ee||t[47]!==C?(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:[C,O,N,R,z,ee]})]}),t[43]=O,t[44]=N,t[45]=R,t[46]=ee,t[47]=C,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(b.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 de;return t[67]!==te||t[68]!==le?(de=(0,dl.createPortal)((0,$.jsx)(Fo,{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]=de):de=t[69],de}function Sl(){return document.body.style.overflow=`hidden`,Cl}function Cl(){document.body.style.overflow=``}function wl(e){let t=(0,Q.c)(53),{content:n,className:r}=e,[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),{svgOutput:c,renderError:l}=bl(n,yl()),u;t[0]===n?u=t[1]:(u=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=G(b.compact,`font-mono text-muted-foreground`),t[2]=f):f=t[2];let p=l?`mermaid (render error)`:`mermaid diagram`,m;t[3]===p?m=t[4]:(m=(0,$.jsx)(`span`,{className:f,children:p}),t[3]=p,t[4]=m);let h;t[5]!==l||t[6]!==c?(h=c&&!l&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-xs`,onClick:()=>s(!0),children:[(0,$.jsx)(rt,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(Pr,{children:`View fullscreen`})]}),t[5]=l,t[6]=c,t[7]=h):h=t[7];let g;t[8]===i?g=t[9]:(g=i?(0,$.jsx)(lt,{}):(0,$.jsx)(ft,{}),t[8]=i,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=_):_=t[10];let v;t[11]!==d||t[12]!==g?(v=(0,$.jsxs)(No,{variant:`action`,size:`icon-xs`,onClick:d,children:[g,_]}),t[11]=d,t[12]=g,t[13]=v):v=t[13];let y;t[14]!==h||t[15]!==v?(y=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[h,v]}),t[14]=h,t[15]=v,t[16]=y):y=t[16];let x;t[17]!==m||t[18]!==y?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[m,y]}),t[17]=m,t[18]=y,t[19]=x):x=t[19];let S=x;if(l){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(b.compact,`font-mono text-foreground leading-relaxed`),t[22]=i):i=t[22];let a;t[23]===n?a=t[24]:(a=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:i,children:n})}),t[23]=n,t[24]=a);let o;return t[25]!==S||t[26]!==e||t[27]!==a?(o=(0,$.jsxs)(`div`,{className:e,children:[S,a]}),t[25]=S,t[26]=e,t[27]=a,t[28]=o):o=t[28],o}if(!c){let e;t[29]===r?e=t[30]:(e=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[29]=r,t[30]=e);let n;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:G(b.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[31]=n):n=t[31];let i;return t[32]!==S||t[33]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[S,n]}),t[32]=S,t[33]=e,t[34]=i):i=t[34],i}let C;t[35]===r?C=t[36]:(C=G(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[35]=r,t[36]=C);let w;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>s(!0),t[37]=w):w=t[37];let T;t[38]===c?T=t[39]:(T=(0,$.jsx)(Ii,{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[38]=c,t[39]=T);let E;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Pr,{children:`Click to view fullscreen`}),t[40]=E):E=t[40];let D;t[41]===T?D=t[42]:(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[41]=T,t[42]=D);let O;t[43]!==S||t[44]!==C||t[45]!==D?(O=(0,$.jsxs)(`div`,{className:C,children:[S,D]}),t[43]=S,t[44]=C,t[45]=D,t[46]=O):O=t[46];let k;t[47]!==o||t[48]!==c?(k=o&&(0,$.jsx)(xl,{svgOutput:c,onClose:()=>s(!1)}),t[47]=o,t[48]=c,t[49]=k):k=t[49];let A;return t[50]!==O||t[51]!==k?(A=(0,$.jsxs)(Fo,{children:[O,k]}),t[50]=O,t[51]=k,t[52]=A):A=t[52],A}function Tl(e){let t=e.trim();if(t.startsWith(`/`)){let e=Xa().replace(/\/$/,``);return l(`${e}${t}`,e)}return l(t,Xa())}function El(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(le(e.hostname))return!0;let n=new URL(Xa());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Dl(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:Lo()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):El(t)}function Ol(e){let t=Tl(e);return Ir()&&!Lo()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):Gr(t)}function kl(e){return!!(le(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function Al(e){return decodeURIComponent(e.replace(/^\/+/,``))}function jl(e){let t=e.trim();if(!t||t.includes(`
3
3
  `))return null;let n=Et(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 Ml(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(!kl(e))return null;r=Al(e.pathname)}else r=Al(n);let i=Et(r);return!i||t&&i!==t?null:{path:r,kind:i}}function Nl(e,t){return Tl(`/api/threads/${encodeURIComponent(e)}/explorer/media?path=${encodeURIComponent(t)}`)}function Pl(e){if(!e.startsWith(`/`))return!1;let t=e.split(`/`)[1]??``;return[`Users`,`tmp`,`var`,`private`,`Volumes`,`home`].includes(t)}function Fl(e,t){if(!e||e.startsWith(`data:`))return e;if(t){if(Pl(e)&&Et(e))return Nl(t,e);let n=Ml(e);if(n)return Nl(t,n.path)}return e.startsWith(`/`)?Tl(e):l(e,Xa())}function Il(e,t){return Fl(e,t)}function Ll(e){let t=Se(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 Rl(e,t){let n=Ll(e)??Ll(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 zl(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}`:Il(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=k(u)??`generated-image-${Date.now()}.png`,{path:t}=await Ci(u.startsWith(`data:`)?{imageData:u.replace(/^data:[^;]+;base64,/,``),filename:e}:{imageUrl:u,filename:e});Rs({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 vo(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)($e,{className:`h-3.5 w-3.5`}),t[12]=_):_=t[12];let v;t[13]===f?v=t[14]:(v=(0,$.jsx)(Ii,{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)(Pr,{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)(lt,{className:`h-3.5 w-3.5 text-green-500`}):(0,$.jsx)(ft,{className:`h-3.5 w-3.5`}),t[18]=s,t[19]=x);let S;t[20]!==m||t[21]!==x?(S=(0,$.jsx)(Ii,{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)(Pr,{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)(Fo,{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 Bl=M(`chat.media`);function Vl(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 Hl(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 Ul(e){Bl.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:Vl(e.mediaError)}:void 0,probeResult:e.probeResult})}function Wl(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 Hl(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 Hl(e);Ul({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 Gl(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}=Wl(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(Kl)},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;Ul({kind:`video`,src:n,label:r,mediaError:t,probeResult:await Hl(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 x=r?`Play ${r}`:`Play video`,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(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)(De,{className:`h-7 w-7 fill-current`})}),t[6]=S):S=t[6];let C;t[7]===x?C=t[8]:(C=(0,$.jsx)(`button`,{type:`button`,onClick:y,"aria-label":x,className:`flex min-h-32 w-full items-center justify-center rounded-md bg-muted/30 transition-colors hover:bg-muted/50`,children:S}),t[7]=x,t[8]=C);let w=o?`h-dvh w-dvw max-w-none rounded-none`:`max-w-[min(92vw,960px)]`,T;t[9]===w?T=t[10]:(T=G(`gap-0 overflow-hidden border-none bg-black p-0 sm:rounded-lg`,w),t[9]=w,t[10]=T);let E;t[11]===v?E=t[12]:(E=(0,$.jsx)(Ra,{className:`sr-only`,children:v}),t[11]=v,t[12]=E);let D;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(_i,{className:`sr-only`,children:`Video player`}),t[13]=D):D=t[13];let O=o?`Shrink video`:`Expand video`,k;t[14]===o?k=t[15]:(k=o?(0,$.jsx)(Ye,{className:`h-4 w-4`}):(0,$.jsx)(rt,{className:`h-4 w-4`}),t[14]=o,t[15]=k);let A;t[16]!==O||t[17]!==k?(A=(0,$.jsx)(`button`,{type:`button`,onClick:h,"aria-label":O,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:k}),t[16]=O,t[17]=k,t[18]=A):A=t[18];let j;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(Rr,{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)(tt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[19]=j):j=t[19];let M;t[20]===A?M=t[21]:(M=(0,$.jsxs)(`div`,{className:`absolute right-4 top-4 z-10 flex items-center gap-1`,children:[A,j]}),t[20]=A,t[21]=M);let N=o?`h-full`:`min-h-[240px]`,P;t[22]===N?P=t[23]:(P=G(`flex items-center justify-center p-3 pt-12 sm:p-4`,N),t[22]=N,t[23]=P);let F;t[24]!==o||t[25]!==_||t[26]!==u||t[27]!==d||t[28]!==l?(F=d?(0,$.jsx)(`p`,{className:G(b.compact,`text-white/80`),children:`Loading video...`}):u?(0,$.jsxs)(`p`,{className:G(b.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]=F):F=t[29];let I;t[30]!==P||t[31]!==F?(I=(0,$.jsx)(`div`,{className:P,children:F}),t[30]=P,t[31]=F,t[32]=I):I=t[32];let L;t[33]!==E||t[34]!==M||t[35]!==I||t[36]!==T?(L=(0,$.jsxs)(Fr,{hideClose:!0,className:T,children:[E,D,M,I]}),t[33]=E,t[34]=M,t[35]=I,t[36]=T,t[37]=L):L=t[37];let R;t[38]!==i||t[39]!==L?(R=(0,$.jsx)(Ni,{open:i,onOpenChange:p,children:L}),t[38]=i,t[39]=L,t[40]=R):R=t[40];let z;return t[41]!==R||t[42]!==C?(z=(0,$.jsxs)($.Fragment,{children:[C,R]}),t[41]=R,t[42]=C,t[43]=z):z=t[43],z}function Kl(e){return!e}function ql(e){let t=(0,Q.c)(12),{src:n,label:r}=e,{objectUrl:i,loadError:a,loading:o}=Wl(n,!0,`audio`,r),s;t[0]!==r||t[1]!==n?(s=async function(e){let t=e.currentTarget.error;Ul({kind:`audio`,src:n,label:r,mediaError:t,probeResult:await Hl(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(b.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(b.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 Jl(e){let t=(0,Q.c)(13),{src:n,kind:r,label:i}=e;if(!n)return null;let a=r===`video`?u:Ee,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(b.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)(Gl,{src:n,label:i}):(0,$.jsx)(ql,{src:n,label:i}),t[5]=r,t[6]=i,t[7]=n,t[8]=l):l=t[8];let d;return t[9]!==s||t[10]!==c||t[11]!==l?(d=(0,$.jsxs)(`div`,{className:s,children:[c,l]}),t[9]=s,t[10]=c,t[11]=l,t[12]=d):d=t[12],d}var Yl=`graph.flowchart.sequenceDiagram.classDiagram.stateDiagram.erDiagram.journey.gantt.pie.quadrantChart.requirementDiagram.gitgraph.mindmap.timeline.zenuml.sankey.block.architecture.c4.packet.circuit.flowchart LR.flowchart TD.flowchart BT.flowchart RL.graph LR.graph TD.graph BT.graph RL`.split(`.`),Xl=[/-->/,/--\./,/-\./,/==>/,/--\|/,/\w+\[\w+\]/,/\w+\(\w+\)/,/\w+\{\w+\}/,/\w+>\w+\]/,/\w+\(\w+\)/,/\w+\[\(\w+\)\]/,/participant\s+\w+/,/actor\s+\w+/,/Note over \w+/,/loop\s+/,/alt\s+/,/opt\s+/,/class\s+\w+/,/interface\s+\w+/,/enum\s+\w+/,/\[\*\]/,/\[\*\]/,/title\s+/,/direction\s+/,/subgraph\s+/];function Zl(e){if(!e||typeof e!=`string`)return!1;let t=e.split(`
4
4
  `).map(e=>e.trim()).filter(e=>e.length>0);if(t.length===0)return!1;if(/```mermaid\s*\n([\s\S]*?)\n```/.test(e))return!0;let n=t[0].toLowerCase();if(Yl.some(e=>n===e.toLowerCase()||n.startsWith(e.toLowerCase()+` `)))return!0;let r=0;for(let t of Xl)t.test(e)&&r++;return r>=2}function Ql(e){if(!Zl(e))return null;let t=/```mermaid\s*\n([\s\S]*?)\n```/.exec(e);if(t)return t[1].trim();let n=e.split(`
5
5
  `).map(e=>e.trim()).filter(e=>e.length>0)[0].toLowerCase();return Yl.some(e=>n===e.toLowerCase()||n.startsWith(e.toLowerCase()+` `))?e.trim():null}function $l(e){let t=(0,Q.c)(14),{href:n,children:r}=e,i;t[0]===n?i=t[1]:(i=Tl(n),t[0]=n,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=Dl(n),t[2]=n,t[3]=o);let s=o,c;t[4]!==n||t[5]!==s?(c=function(e){s&&(e.preventDefault(),Ol(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 eu=/^(\s*)([-*+]|\d+\.)\s+(.*)$/,tu=/^!\[([^\]]*)\]\(([^)]+)\)\s*$/,nu=/[.,!?;:]+$/,ru=(0,Z.memo)(function(e){let t=(0,Q.c)(14),{content:n,className:r,enableMermaid:i,threadId:a,compact:o,bodyClassName:s}=e,c=i===void 0?!1:i,l=o===void 0?!1:o,u;bb0:{if(!n||typeof n!=`string`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],u=e;break bb0}let e;t[1]!==n||t[2]!==c?(e=du(n,c),t[1]=n,t[2]=c,t[3]=e):e=t[3],u=e}let d=u;if(d.length===0)return null;let f;t[4]===r?f=t[5]:(f=G(`prose-custom min-w-0 break-words`,r),t[4]=r,t[5]=f);let p;t[6]!==d||t[7]!==s||t[8]!==l||t[9]!==a?(p=d.map((e,t)=>(0,$.jsx)(`div`,{className:uu(t,d,l),children:(0,$.jsx)(mu,{block:e,threadId:a,compact:l,bodyClassName:s})},t)),t[6]=d,t[7]=s,t[8]=l,t[9]=a,t[10]=p):p=t[10];let m;return t[11]!==f||t[12]!==p?(m=(0,$.jsx)(`div`,{className:f,children:p}),t[11]=f,t[12]=p,t[13]=m):m=t[13],m});function iu(e){let t=e.match(tu);return t?{alt:t[1],src:t[2]}:null}function au(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 ou(e){return e.replace(/\t/g,` `).length}function su(e){return/^\d+\.$/.test(e)?Number.parseInt(e,10):1}function cu(e,t){return ou(e)>t}function lu(e,t){let n=e[t]?.match(eu);if(!n)return{block:{type:`paragraph`,text:``},nextIndex:t+1};let[,r,i,a]=n,o={ordered:/^\d+\.$/.test(i),start:su(i),items:[{text:a,children:[]}]},s=[{indent:ou(r),item:o.items[0]}],c=t+1;for(;c<e.length;){let t=e[c],n=t.match(eu);if(n){let[,e,t,r]=n,i=ou(e),a=/^\d+\.$/.test(t),l={text:r,children:[]};for(;s.length>0&&i<s[s.length-1].indent;)s.pop();if(s.length===0)break;let u=s[s.length-1],d=i===u.indent,f=cu(e,u.indent);if(d){let e=s[s.length-2]?.childList??o;if(e.ordered!==a)break;e.items.push(l),s[s.length-1]={indent:i,item:l},c++;continue}if(!f)break;let p=u.childList;(!p||p.ordered!==a)&&(p={ordered:a,start:su(t),items:[]},u.item.children.push(p),u.childList=p),p.items.push(l),s.push({indent:i,item:l}),c++;continue}if(t.trim()===``){let t=e[c+1];if(!t||!eu.test(t))break;c++;continue}let r=ou(t.match(/^(\s*)/)?.[1]??``),i=s[s.length-1];if(r>i.indent){i.item.text=`${i.item.text}\n${t.trim()}`,c++;continue}break}return{block:{type:`list`,list:o},nextIndex:c}}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 du(e,t=!1){let n=e.split(`
@@ -3251,7 +3251,7 @@ self.onmessage = async function (event) {
3251
3251
  self.postMessage({ type: "error", toolCallId: toolCallId, error: errMsg });
3252
3252
  }
3253
3253
  };
3254
- `;function Fp(e,t){return e?.status===`running`?`skip-running`:(e?.status===`success`||e?.status===`error`)&&e.code===t?`skip-same-code`:`start`}function Ip(e,t){return e===`running`?!0:e===`success`||e===`error`?!1:t}function Lp(e,t){return`${e}\0${t}`}var Rp=new Map,zp=new Map,Bp=new Map,Vp=M(`browser.js-executor`),Hp=new Map,Up=null;function Wp(){return Up||=URL.createObjectURL(new Blob([Pp],{type:`application/javascript`})),Up}function Gp(e,t){return Rp.get(Lp(t,e))}function Kp(e,t){return Rp.get(Lp(t,e))?.proxiedCalls??[]}function qp(e,t,n){let r=Lp(t,e),i=Hp.get(r);return i||(i=new Set,Hp.set(r,i)),i.add(n),()=>{i.delete(n),i.size===0&&Hp.delete(r)}}function Jp(e){let t=Hp.get(e);if(t)for(let e of t)e()}function Yp(e){let t=Bp.get(e);t&&(clearInterval(t),Bp.delete(e))}function Xp(e){if(Bp.has(e))return;let t=setInterval(()=>{let t=Rp.get(e);if(!t||t.status!==`running`){Yp(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&&Jp(e)},6e4);Bp.set(e,t)}function Zp(e,t){Yp(e),zp.delete(e),Rp.set(e,t),Jp(e)}var Qp=new Map;async function $p(e,t){let n=Qp.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 Vp.warn(`Failed to load Smart JS catalog`,e),{smartJsEnabled:!1,tools:[]}}finally{Qp.get(t)===r&&Qp.delete(t)}})(),Qp.set(t,r),r}async function em(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=tn(e,fe,`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=tn(o,p);return c.truncated?{text:c.text,error:null,details:{...s,proxyTruncated:!0,totalBytes:c.totalBytes}}:{text:o,error:null,details:s}}function tm(e,t,n){let r=Lp(n,e),i=Fp(Rp.get(r),t);if(i===`skip-running`){Xi(e,n).catch(e=>{Vp.warn(`Failed to re-acknowledge in-flight run_js`,e)});return}if(i===`skip-same-code`)return;let a=zp.get(r);a&&(a.terminate(),zp.delete(r)),Yp(r),Rp.set(r,{status:`running`,code:t,proxiedCalls:[]}),Jp(r);let o=Xa();Xi(e,n).catch(e=>{Vp.warn(`Failed to acknowledge run_js start`,e)}),(async()=>{let i=new Worker(Wp());zp.set(r,i);try{let a=await $p(o,n),s=async a=>{let s=a.data;if(s.type===`callTool`&&s.id&&s.toolName){let e=Rp.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],Jp(r),s.toolName===`bash`&&Xp(r));let a=await em(o,n,s.toolName,s.params),c=Rp.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),Jp(r)),i.postMessage({type:`callToolResult`,id:s.id,result:a});return}if(s.type===`done`&&s.toolCallId===e){i.terminate(),Zp(r,{status:`success`,code:t,result:s.result,proxiedCalls:Rp.get(r)?.proxiedCalls??[]}),await Za(e,s.result,n);return}if(s.type===`error`&&s.toolCallId===e){i.terminate();let a=s.error??`Unknown worker error`;Zp(r,{status:`error`,code:t,error:a,proxiedCalls:Rp.get(r)?.proxiedCalls??[]});try{await Za(e,{error:a},n)}catch(e){Vp.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`;Zp(r,{status:`error`,code:t,error:o,proxiedCalls:Rp.get(r)?.proxiedCalls??[]}),i.terminate(),Za(e,{error:o},n).catch(e=>{Vp.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);Zp(r,{status:`error`,code:t,error:o,proxiedCalls:Rp.get(r)?.proxiedCalls??[]});try{await Za(e,{error:o},n)}catch(e){Vp.error(`Failed to submit browser JS error result`,e)}}})()}var nm=`run_js`;function rm(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e,null,2)}function im(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 am(e){return e.toolName===`bash`&&e.status===`running`&&e.longRunningMinutes!=null&&e.longRunningMinutes>=1?`${im(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 om(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?gt(n.toolName):B(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=am(n),t[3]=n,t[4]=s);let c=s,l;t[5]!==n.toolName||t[6]!==o||t[7]!==r?(l=(0,$.jsx)(Zd,{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(b.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)(tt,{"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 sm({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)($f),l=(0,Z.useRef)(new Set),u=(0,Z.useRef)(s);u.current=s;let d=r!==void 0,f=o?Gp(e,o):void 0,[p,m]=(0,Z.useState)(()=>f?.status?f.status:d?i?`error`:`success`:a?`running`:`success`),[h,g]=(0,Z.useState)(()=>f?.status===`success`?rm(f.result):d&&!i&&r||null),[_,v]=(0,Z.useState)(()=>f?.error?f.error:d&&i?r||`Run JS failed`:null),[y,x]=(0,Z.useState)(()=>o?Kp(e,o):[]),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{l.current=new Set},[e,o]),(0,Z.useEffect)(()=>{if(o)return qp(e,o,()=>{let t=Gp(e,o);t&&(m(t.status),x(t.proxiedCalls),t.status===`success`?g(rm(t.result)):t.status===`error`&&v(t.error??null))})},[e,o]),(0,Z.useEffect)(()=>{let e=u.current,t=!1;for(let n of y){if(n.toolName!==`todo`||n.status!==`success`||l.current.has(n.id))continue;let r=np(e,n);l.current.add(n.id),r&&(e=r,t=!0)}t&&c(e,Date.now())},[y,c]),(0,Z.useEffect)(()=>{!o||!a||tm(e,n,o)},[e,n,o,a]);let w=o?Gp(e,o)?.status:void 0,T=Ip(w,a),E=(w??p)===`error`,D=T?gt(nm):B(nm),O=t.trim()||(T?null:`View output`),k=!T&&!!(n||h||_);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full flex-wrap`,children:[(0,$.jsx)(Zd,{toolName:nm,displayName:D,isActive:T,showProgress:!1,className:`shrink-0`}),O?k?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>C(!0),className:G(b.caption,`font-mono hover:underline truncate whitespace-nowrap min-w-0 flex-1 cursor-pointer text-left`),children:O})}),(0,$.jsx)(Pr,{children:`View code and result`})]}):(0,$.jsx)(`span`,{className:G(b.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:O}):null,E?(0,$.jsx)(tt,{"aria-label":`Run JS failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null]}),y.length>0?(0,$.jsx)(`div`,{className:`flex flex-col min-w-0 w-full border-l border-border/60 ml-2`,children:y.map(e=>(0,$.jsx)(om,{call:e},e.id))}):null,k?(0,$.jsx)(Rd,{open:S,onOpenChange:C,title:t.trim()||D,content:``,body:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[n?(0,$.jsx)(`pre`,{className:Ld({padding:`3`}),children:n}):null,_?(0,$.jsx)(`pre`,{className:Ld({padding:`3`,className:`text-destructive`}),children:_}):null,h==null?null:(0,$.jsx)(`pre`,{className:Ld({padding:`3`}),children:h})]})}):null]})}function cm(e){let t=(0,Q.c)(12),{url:n,title:r}=e,i;t[0]!==r||t[1]!==n?(i=os(r,n),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(b.label,`flex cursor-default items-center gap-2 py-2`),s=(0,$.jsx)(Qt,{className:`h-4 w-4 shrink-0 text-brand`}),t[3]=o,t[4]=s):(o=t[3],s=t[4]);let c;t[5]===a?c=t[6]:(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`div`,{className:o,children:[s,(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:a})]})}),t[5]=a,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,$.jsx)(Pr,{className:`max-w-md break-all`,children:n}),t[7]=n,t[8]=l);let u;return t[9]!==c||t[10]!==l?(u=(0,$.jsx)(`div`,{className:`my-1 overflow-hidden`,children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u}var lm=new Set,um=new Map,dm=5e3;function fm(e){lm.add(e);let t=um.get(e);t&&clearTimeout(t),um.set(e,setTimeout(()=>{lm.delete(e),um.delete(e)},dm))}function pm(e){return lm.has(e)}function mm(e){return e.filter(e=>!lm.has(e))}var hm;(function(e){e.Unimplemented=`UNIMPLEMENTED`,e.Unavailable=`UNAVAILABLE`})(hm||={});var gm=class extends Error{constructor(e,t,n){super(e),this.message=e,this.code=t,this.data=n}},_m=e=>e?.androidBridge?`android`:e?.webkit?.messageHandlers?.bridge?`ios`:`web`,vm=e=>{let t=e.CapacitorCustomPlatform||null,n=e.Capacitor||{},r=n.Plugins=n.Plugins||{},i=()=>t===null?_m(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 gm(`"${e}" plugin is not implemented on ${c}`,hm.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 gm(`"${e}.${t}()" is not implemented on ${c}`,hm.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=gm,n.DEBUG=!!n.DEBUG,n.isLoggingEnabled=!!n.isLoggingEnabled,n},ym=(e=>e.Capacitor=vm(e))(typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}),bm=ym.registerPlugin,xm=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 ym.Exception(e,hm.Unimplemented)}unavailable(e=`not available`){return new ym.Exception(e,hm.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)}))}},Sm=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),Cm=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),wm=class extends xm{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=Cm(n).trim(),r=Cm(r).trim(),t[n]=r}),t}async setCookie(e){try{let t=Sm(e.key),n=Sm(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)}}};bm(`CapacitorCookies`,{web:()=>new wm});var Tm=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)}),Em=(e={})=>{let t=Object.keys(e);return Object.keys(e).map(e=>e.toLocaleLowerCase()).reduce((n,r,i)=>(n[r]=e[t[i]],n),{})},Dm=(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,Om=(e,t={})=>{let n=Object.assign({method:e.method||`GET`,headers:e.headers},t),r=Em(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},km=class extends xm{async request(e){let t=Om(e,e.webFetchExtra),n=Dm(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 Tm(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`}))}};bm(`CapacitorHttp`,{web:()=>new km});var Am;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(Am||={});var jm;(function(e){e.StatusBar=`StatusBar`,e.NavigationBar=`NavigationBar`})(jm||={});var Mm=class extends xm{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`)}};bm(`SystemBars`,{web:()=>new Mm});var Nm=bm(`KeepAwake`,{web:()=>Wo(()=>import(`./web-CzV4mQzJ.js`).then(e=>new e.KeepAwakeWeb),[])}),Pm=0;function Fm(){return typeof window<`u`&&Ir()}async function Im(){if(Fm()&&(Pm+=1,!(Pm>1)))try{await Nm.keepAwake()}catch{Pm=0}}async function Lm(){if(Fm()&&Pm!==0&&(--Pm,!(Pm>0)))try{await Nm.allowSleep()}catch{Pm=0}}async function Rm(){if(Pm=0,Fm())try{await Nm.allowSleep()}catch{}}var zm=M(`app.use-chat-handlers.hook`),Bm=M(`git.checkpoint`);async function Vm(e,t,n,r,i,a){let o=await qr(t,r);if(t===i.current&&!a?.isStale?.()){if(n!==es){e({type:Y.SetPaneMessages,paneId:n,messages:o.messages});return}e({type:Y.SetMessages,messages:o.messages})}}function Hm(e,t,n){return{...e,threadId:t,paneId:n}}var Um=/^\/compact(?:\s+(.*))?$/i,Wm=/^\/send-event(?:\s+([a-zA-Z0-9._:-]+))?(?:\s+([\s\S]+))?$/i,Gm=`[Compact] Compaction in progress...`;function Km(e,t,n){let r={type:`thinking`,content:Gm,model:n};e(Hm({type:Y.SetStreaming,isStreaming:!0},t,`primary`)),e(Hm({type:Y.SetStreamModel,model:n},t,`primary`)),e(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r.content??``,segments:bs([],`thinking`,r.content??``)},t,`primary`))}var qm=8e3;async function Jm(e,t){try{let n=await Promise.race([Hi(e,t),new Promise(e=>{setTimeout(()=>e(null),qm)})]);if(n===null){Bm.warn(`Checkpoint creation timed out`,{threadId:e,messageId:t});return}if(n.success&&n.checkpointRef)return n.stashed||Bm.debug(`Checkpoint recorded with clean working tree`,{threadId:e,messageId:t}),n.checkpointRef;`error`in n&&n.error?Bm.warn(`Checkpoint creation failed`,{threadId:e,messageId:t,error:n.error}):n.success||Bm.debug(`Checkpoint skipped`,{threadId:e,messageId:t,reason:n.reason})}catch(n){Bm.warn(`Checkpoint creation errored`,{threadId:e,messageId:t,error:n instanceof Error?n.message:String(n)})}}var Ym=25e3,Xm=12e3,Zm=`0 0 0.5rem 0.5rem`,Qm=3e3,$m=`tarsk-widget-layer`,eh=M(`widget.bridge`);function th(e,t){eh.info(e,t)}function nh(e,t){eh.warn(e,t)}function rh(e,t){eh.error(e,t)}var ih=new Map,ah=new Map,oh=new Set,sh=new Map,ch=null,lh=!1,uh=!1;function dh(e){return e.trim().replace(/\/+$/,``)}function fh(e){try{return new URL(e).origin}catch{return``}}function ph(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function mh(e){let t=Xa().replace(/\/$/,``);try{let n=new URL(e);return`${t}/api/widget/proxy/${ph(n.origin)}${`${n.pathname}${n.search}`}`}catch{return e}}function hh(){return typeof window>`u`?``:window.location.origin}function gh(){return`wreq-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function _h(e){return ih.get(dh(e))}function vh(e,t){let n=dh(e),r=sh.get(n);return r||(r=new Set,sh.set(n,r)),r.add(t),t(),()=>{r.delete(t),r.size===0&&sh.delete(n)}}function yh(e){let t=sh.get(e);if(t)for(let e of t)e()}function bh(e,t,n){e.status=t,e.error=n,t===`error`?rh(`Status changed to error for ${e.url}`,n):th(`Status changed to ${t} for ${e.url}`),yh(dh(e.url))}function xh(){return ch&&document.body.contains(ch)?ch:(ch=document.createElement(`div`),ch.id=$m,ch.style.position=`fixed`,ch.style.top=`0`,ch.style.left=`0`,ch.style.width=`0`,ch.style.height=`0`,ch.style.zIndex=`20`,ch.style.pointerEvents=`none`,document.body.appendChild(ch),ch)}function Sh(e,t,n){e.lastVisible!==t&&(e.lastVisible=t,t&&n?th(`iframe visible for ${e.url} at`,`${Math.round(n.left)},${Math.round(n.top)} ${Math.round(n.width)}x${Math.round(n.height)}`):th(`Iframe hidden for ${e.url}`,{reason:`no-anchor-or-off-screen`}))}function Ch(){for(let e of ih.values()){let{iframe:t,anchor:n}=e;if(!n||!n.isConnected){t.style.display=`none`,Sh(e,!1);continue}let r=n.getBoundingClientRect();if(!(r.bottom>0&&r.top<window.innerHeight&&r.right>0&&r.left<window.innerWidth&&r.width>0&&r.height>0)){t.style.display=`none`,Sh(e,!1);continue}t.style.display=`block`,t.style.position=`fixed`,t.style.top=`${r.top}px`,t.style.left=`${r.left}px`,t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,t.style.borderRadius=Zm,t.style.overflow=`hidden`,t.style.pointerEvents=`auto`,Sh(e,!0,r)}}function wh(){uh&&(Ch(),requestAnimationFrame(wh))}function Th(){uh||(uh=!0,requestAnimationFrame(wh))}function Eh(){lh||typeof window>`u`||(lh=!0,window.addEventListener(`message`,e=>{let t=e.data,n=Oh(e.origin);n&&(n.messagesReceived+=1);{let n=t&&typeof t==`object`?{source:t.source,action:t.action}:typeof t;th(`raw message from ${e.origin}`,n)}if(r(t)){let t=Oh(e.origin);if(!t){nh(`Received widgetReady from unknown origin ${e.origin}`);return}th(`Received widgetReady from ${e.origin}`),kh(t);return}if(!ae(t))return;if(th(`Received message "${t.action}" from ${e.origin}`,{requestId:t.requestId}),t.action!==Oe.getToolsResponse&&t.action!==Oe.callToolResponse){th(`Ignoring message with unexpected action "${t.action}"`);return}let i=ah.get(t.requestId);if(!i){nh(`Ignoring response with no pending request for requestId ${t.requestId}`);return}let a=ih.get(i.widgetId);if(a&&a.origin&&e.origin!==a.origin){nh(`Ignoring response due to origin mismatch`,{expectedOrigin:a.origin,actualOrigin:e.origin});return}clearTimeout(i.timeout),ah.delete(t.requestId),i.resolve(t)}),th(`message listener attached`))}function Dh(e){let t=dh(e),n=ih.get(t);if(n)return n;Eh();let r=xh(),i=mh(e),a=fh(i)||hh();th(`mounting widget ${e}`,{proxySrc:i,origin:a,appOrigin:hh(),electrobun:Lo()});let o=document.createElement(`iframe`);o.title=`Widget`,o.setAttribute(`sandbox`,`allow-scripts allow-same-origin allow-forms allow-popups`),o.style.border=`none`,o.style.display=`none`,o.style.background=`transparent`;let s,c={url:e,origin:a,iframe:o,loaded:new Promise(e=>{s=e}),markLoaded:s,hasLoaded:!1,readyReceived:!1,readyResolvers:[],messagesReceived:0,tools:[],status:`loading`,anchor:null};return o.addEventListener(`load`,()=>{c.hasLoaded=!0,th(`Iframe load fired for ${e}`),s()},{once:!0}),o.addEventListener(`error`,t=>{rh(`Iframe error event for ${e}`,t)}),r.appendChild(o),o.src=i,ih.set(t,c),Th(),c}function Oh(e){if(e){for(let t of ih.values())if(t.origin===e)return t}}function kh(e){if(e.readyReceived)return;e.readyReceived=!0;let t=e.readyResolvers.splice(0);for(let e of t)e()}function Ah(e){return e.readyReceived?Promise.resolve():new Promise(t=>{let n=!1,r,i=()=>{n||(n=!0,clearTimeout(a),r&&clearTimeout(r),e.readyResolvers=e.readyResolvers.filter(e=>e!==i),t())};e.readyResolvers.push(i),e.loaded.then(()=>{n||e.readyReceived||(r=setTimeout(()=>{e.readyReceived||nh(`No widgetReady received within ${Qm}ms after load for ${e.url}; proceeding without it because the widget may not implement the readiness beacon.`),i()},Qm))});let a=setTimeout(()=>{if(n)return;let t=Lo()?`running in the Electrobun desktop build, which may block embedding external sites in an iframe`:`the site may block embedding (X-Frame-Options / CSP frame-ancestors) or be unreachable`;nh(`no widgetReady within ${Xm}ms for ${e.url} — ${t}. Attempting the handshake anyway.`),i()},Xm)})}function jh(e,t){let n=Dh(e);n.anchor=t,th(`Anchor ${t?`set`:`cleared`} for ${e}`),Ch()}function Mh(e){let t=dh(e),n=ih.get(t);if(n){n.anchor=null,n.iframe.remove(),ih.delete(t),sh.delete(t);for(let[e,n]of ah.entries())n.widgetId===t&&(clearTimeout(n.timeout),ah.delete(e));th(`Closed widget ${e}`),ih.size===0?(uh=!1,ch&&=(ch.remove(),null)):Ch()}}function Nh(e,t,n,r,i=Ym){return new Promise((a,o)=>{let s=setTimeout(()=>{ah.delete(r);let n=`iframeLoaded=${e.hasLoaded}, widgetReady=${e.readyReceived}, messagesFromIframe=${e.messagesReceived}`;o(Error(`Widget did not respond to "${t}" within ${i}ms (no ${t}Response received) [${n}]`))},i);ah.set(r,{widgetId:dh(e.url),resolve:a,reject:o,timeout:s});let c=e.iframe.contentWindow;if(!c){clearTimeout(s),ah.delete(r),o(Error(`Widget iframe has no content window`));return}th(`Posting message "${t}"`,{requestId:r,targetOrigin:e.origin||`*`,iframeSrc:e.iframe.getAttribute(`src`),readyReceived:e.readyReceived,hasLoaded:e.hasLoaded}),c.postMessage(n,e.origin||`*`)})}async function Ph(e,t){if(oh.has(e)){th(`Skipping duplicate discoverWidgetTools call`,{toolCallId:e});return}oh.add(e),th(`Starting widget tool discovery`,{toolCallId:e,url:t});let n=Dh(t);try{await Ah(n),bh(n,`discovering`);let r,i;for(let e=1;e<=3;e++){let a=gh();try{r=await Nh(n,Oe.getTools,{source:Pe,requestId:a,action:Oe.getTools,options:{fromOrigins:[hh()]}},a,7e3);break}catch(n){i=n,nh(`getTools attempt ${e}/3 failed for ${t}`,n)}}if(!r)throw i instanceof Error?i:Error(String(i));let a=Array.isArray(r.tools)?r.tools:[];th(`discovered ${a.length} tool(s) for ${t}:`,a.map(e=>e.name)),n.tools=a,bh(n,`ready`),await Do(e,{tools:a})}catch(t){let r=t instanceof Error?t.message:String(t);bh(n,`error`,r);try{await Do(e,{error:r})}catch(e){rh(`Failed to submit discovery error`,e)}}}async function Fh(e,t,n,r){if(oh.has(e)){th(`Skipping duplicate callWidgetTool call`,{toolCallId:e});return}oh.add(e),th(`Starting widget tool call`,{toolCallId:e,url:t,tool:n,input:r});let i=Dh(t);try{await Ah(i);let t=gh(),a=await Nh(i,Oe.callTool,{source:Pe,requestId:t,action:Oe.callTool,name:n,arguments:r},t);if(a.error||a.isError){let t=a.error??Ih(a.result)??`Widget tool failed`;nh(`Widget tool "${n}" returned error`,t),await Do(e,{error:t});return}th(`Widget tool "${n}" succeeded`),await Do(e,{result:a.result})}catch(t){let r=t instanceof Error?t.message:String(t);rh(`Widget tool "${n}" failed`,r);try{await Do(e,{error:r})}catch(e){rh(`Failed to submit widget call error`,e)}}}function Ih(e){if(e&&typeof e==`object`&&`content`in e){let t=e.content;if(Array.isArray(t)){let e=t.find(e=>e?.type===`text`&&typeof e.text==`string`);if(e?.text)return e.text}}return null}var Lh=`tarsk-browser-tool-request`,Rh=`tarsk-ask-user-prompt`,zh=new Set,Bh=new Set,Vh=new Map,Hh=new Map,Uh=new Map,Wh=`tarsk.ask-user-tool-ownership.v1`,Gh=1440*60*1e3;function Kh(){if(!(typeof window>`u`))try{let e=window.localStorage.getItem(Wh);if(!e)return;let t=JSON.parse(e),n=Date.now()-Gh;for(let[e,r]of Object.entries(t.askUser??{}))r.updatedAt>=n&&r.paneId&&(Hh.set(e,r.paneId),r.threadId&&Vh.set(e,r.threadId));for(let[e,r]of Object.entries(t.subagents??{}))r.updatedAt>=n&&r.paneId&&Uh.set(e,r.paneId)}catch{}}var qh=!1;function Jh(){typeof window>`u`||qh||(qh=!0,window.setTimeout(()=>{qh=!1;try{let e=Date.now(),t={};for(let[n,r]of Hh)t[n]={paneId:r,threadId:Vh.get(n),updatedAt:e};let n={};for(let[t,r]of Uh)n[t]={paneId:r,updatedAt:e};window.localStorage.setItem(Wh,JSON.stringify({askUser:t,subagents:n}))}catch{}},0))}Kh();function Yh(e,t){Uh.set(e,t),Jh()}function Xh(e){return Uh.get(e)}function Zh(e){Lo()&&window.dispatchEvent(new CustomEvent(Lh,{detail:e}))}function Qh(e,t,n){!Lo()||zh.has(e)||t.action&&(zh.add(e),Zh({toolCallId:e,input:t,threadId:n}))}function $h(e,t,n){Vh.set(e,t),n&&(Hh.set(e,n),Jh())}function eg(e,t,n){$h(e,t,n),!Bh.has(e)&&(Bh.add(e),window.dispatchEvent(new CustomEvent(Rh,{detail:{toolCallId:e,threadId:t,paneId:n}})))}function tg(e){return Vh.get(e)}function ng(e){return Hh.get(e)}function rg(){return Lo()?`views://public/browser-preview-rpc.js`:`${Xa()}/browser-preview-rpc.js`}async function ig(e,t){await oi(e,t)}async function ag(e,t){await Jr(e,t)}function og(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function sg(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t==`string`&&t.length>0?t:null}function cg(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||!og(e.name))continue;let r=sg(e.input??e.arguments);r&&t.push({id:e.id,code:r})}return t}function lg(e,t){if(t)for(let n of e)tm(n.id,n.code,t)}function ug(e,t){if(!(!t||!e.includes(`"run_js"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;lg(cg(n),t)}catch{}}function dg(e,t){if(!t||!e||!og(e.toolName))return;let n=e.partial?.content;Array.isArray(n)&&lg(cg(n),t)}function fg(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&&Qh(e.id,e.input,t)}catch{}}function pg(e,t){if(!(!e.includes(`"open_widget"`)&&!e.includes(`"call_widget_tool"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;for(let e of n)if(!(e?.type!==`tool_use`||!e?.id)){if(e.name===`open_widget`&&typeof e.input?.url==`string`)t({type:Y.AddOpenWidget,widget:{id:e.id,url:e.input.url,title:typeof e.input.title==`string`?e.input.title:void 0}}),Ph(e.id,e.input.url);else if(e.name===`call_widget_tool`&&typeof e.input?.url==`string`&&typeof e.input?.tool==`string`){let t=e.input.input&&typeof e.input.input==`object`?e.input.input:{};Fh(e.id,e.input.url,e.input.tool,t)}}}catch{}}function mg(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&&eg(e.id,t,n)}catch{}}function hg(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`&&jd(e.id,e.input.command)}catch{}}function gg(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`&&Md(e.toolCallId)}catch{}}function _g(e){let{dispatch:t,streamSessionsRef:n,connectThreadStreamRef:r,selectedThreadIdRef:i}=e;function a(e,o,s){let c=Is(e,s.paneId);if(s.pendingTransientRecovery){s.pendingTransientRecovery=!1,(async()=>{try{if((await ia()).includes(e)){r.current?.(e,t=>zo(e,t,s.conversationId),o,s.paneId,s.conversationId);return}}catch(e){zm.error(`Failed to recover chat stream after disconnect:`,e)}a(e,o,s)})();return}if(n.current.get(c)!==s){n.current.has(c)||(fm(e),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.RemoveProcessingThread,threadId:e}));return}if(n.current.delete(c),t({type:Y.ClearToolCallProgress}),s.keepsDeviceAwake&&(s.keepsDeviceAwake=!1,Lm()),fm(e),s.error&&!s.stopHandled){let n={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${s.error}`,contentType:`text`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1};t({type:Y.AddMessage,message:n,threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s.stopHandled){if(s.segments.length>0){let n=ks(s.segments);t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:n,contentType:`markdown`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1},threadId:e,paneId:s.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:o||`default`,isThinking:!1},threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:s.paneId}),t({type:Y.RemoveProcessingThread,threadId:e});return}let l=ks(s.segments)||`...`,u={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:l,contentType:`markdown`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1};async function d(){let r=!1;for(let a=0;a<4;a++){if(a>0&&await new Promise(e=>setTimeout(e,150*a)),n.current.has(c))return;try{if(await Vm(t,e,s.paneId,s.conversationId,i,{isStale:()=>n.current.has(c)}),n.current.has(c))return;r=!0;break}catch(e){zm.error(`Failed to reload chat history after stream:`,e);break}}n.current.has(c)||(r||t({type:Y.AddMessage,message:u,threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:s.paneId}),t({type:Y.RemoveProcessingThread,threadId:e}))}d()}return a}function vg(e){let{dispatch:t,streamSessionsRef:n,selectedThreadIdRef:r,setError:i,setShowEmptyBalanceDialog:a,finalizeThreadStream:o}=e;function s(e,s,l,u,d){let f=Is(e,u),p=n.current.get(f);p&&(p.controller.abort(),p.cancel?.());let m=new AbortController,h={controller:m,cancel:null,segments:[],assistantMessage:``,assistantThinking:``,hasStructuredContent:!1,error:null,stopHandled:!1,pendingTransientRecovery:!1,activeSubagentToolCallId:null,paneId:u,conversationId:d,keepsDeviceAwake:!1};return n.current.set(f,h),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.AddProcessingThread,threadId:e}),t(Hm({type:Y.SetStreaming,isStreaming:!0},e,u)),t({type:Y.SetActiveStreamPane,paneId:u}),Im().then(()=>{h.keepsDeviceAwake=!0}),s(m.signal).then(n=>{if(!n||m.signal.aborted){o(e,l,h);return}h.cancel=Wa(n,n=>{if(t(Hm({type:Y.IncrementStreamEventCount},e,u)),n.type===`error`){let t=c(n.content?.trim()||n.error?.message?.trim()||n.message?.trim()||`Unknown error occurred`);h.error=t,e===r.current&&i(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`);h.segments=bs(h.segments,`thinking`,`[Auto-compacted] ${i}\n`),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:h.segments},e,u));return}if(n.type===`long_running_confirmation`){let r=n.prompt;if(!r)return;h.segments=ys(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}if(n.type===`shell_permission`){let r=n.shellPermission;if(!r)return;h.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:h.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for shell approval: ${r.command}\n`}),h.segments=hs(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}let a=n;if(a.type===`seatbelt_escalation`){let n=a.seatbeltEscalation;if(!n)return;h.segments=Ms(h.segments,n),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}if(n.type===`web_fetch_permission`){let r=n.webFetchPermission;if(!r)return;h.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:h.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for approval to fetch ${r.hostname}\n`}),h.segments=Ps(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));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}),dg(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){h.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(Yh(n.toolCallId,h.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&&(mg(r,e,h.paneId),ug(r,e))}let r=wf(n);r&&t({type:Y.AppendToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,delta:r})}return}if(n.type===`subagent_complete`){n.toolCallId&&(h.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(Hm({type:Y.SetContextUsage,contextUsage:n.contextUsage},e,u));return}if(n.model&&t(Hm({type:Y.SetStreamModel,model:n.model},e,u)),n.type===`thinking`||n.isThinking){let r=n.content??``;if(ug(r,e),fg(r,e),mg(r,e,h.paneId),pg(r,t),gs(r)){hg(r),gg(r),h.hasStructuredContent=!0,h.segments=ps(h.segments,r),h.assistantMessage=vs(h.segments),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}h.assistantThinking+=r,h.segments=bs(h.segments,`thinking`,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r,segments:h.segments},e,u))}else if(n.type===`result`){h.hasStructuredContent=!0;let r=n.content??``;h.assistantMessage=r,h.segments=Fs(h.segments,r),t(Hm({type:Y.SetStreamContent,content:r},e,u)),typeof r==`string`&&(ug(r,e),fg(r,e),mg(r,e,h.paneId),pg(r,t))}else{if(h.hasStructuredContent)return;let r=n.content??``;h.assistantMessage+=r,h.segments=bs(h.segments,`content`,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:r,segments:h.segments},e,u))}},()=>{o(e,l,h)},t=>{if(t.includes(`AbortError`)||t.includes(`canceled`)||t.includes(`BodyStreamBuffer was aborted`)){o(e,l,h);return}if(ua(t)){h.pendingTransientRecovery=!0;return}let n=c(t.trim()||`Unknown error (no error details in response)`);h.error=n,e===r.current&&i(n),o(e,l,h)},n=>{if(t(Hm({type:Y.IncrementStreamEventCount},e,u)),n.role===`assistant`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);if(n.isThinking??!1){ug(i,e),fg(i,e),mg(i,e,h.paneId),pg(i,t),h.assistantThinking+=i,h.segments=bs(h.segments,`thinking`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:h.segments},e,u));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?(h.hasStructuredContent=!0,h.assistantMessage=i,h.segments=Fs(h.segments,i),t(Hm({type:Y.SetStreamContent,content:i},e,u)),ug(i,e),fg(i,e),mg(i,e,h.paneId),pg(i,t)):(h.assistantMessage+=i,h.segments=bs(h.segments,`content`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:h.segments},e,u)))}else if(n.role===`tool`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);i&&(hg(i),gg(i),gs(i)?(h.hasStructuredContent=!0,h.segments=ps(h.segments,i),h.assistantMessage=vs(h.segments),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u))):i.trim().startsWith(`[`)||(h.assistantMessage+=i,h.segments=bs(h.segments,`content`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:h.segments},e,u))))}})}).catch(s=>{if(s instanceof Error&&s.name===`AbortError`){if(h.stopHandled||!n.current.has(f))return;n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s instanceof ri){n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e}),a(!0);return}if(s instanceof Error&&s.message.includes(`not currently processing`)){n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s instanceof Error&&ua(s.message)){h.pendingTransientRecovery=!0,o(e,l,h);return}let d=c((s instanceof Error?s.message:``).trim()||`Unknown error (no error details in response)`);h.error=d,e===r.current&&i(d),zm.error(`Failed to subscribe to chat stream:`,s),o(e,l,h)}),m}return s}async function yg(e){return so(`api/projects/${ba(e)}/tasks`)}async function bg(e,t,n){return ea(`api/projects/${ba(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 xg(e,t,n){return Ca(`api/projects/${ba(e)}/tasks/${ba(t)}`,n)}async function Sg(e,t){return Ca(`api/projects/${ba(e)}/tasks/${ba(t)}`,{runNow:!0})}async function Cg(e,t,n){return ea(`api/projects/${ba(e)}/events/dispatch`,{eventKey:t,payload:n})}async function wg(e,t){await ma(`api/projects/${ba(e)}/tasks/${ba(t)}`)}async function Tg(e){return so(`api/projects/${ba(e)}/tags`)}async function Eg(e,t,n){return Ca(`api/projects/${ba(e)}/tags/${ba(t)}`,{name:n})}async function Dg(e,t){return ea(`api/projects/${ba(e)}/tags`,{name:t})}async function Og(e,t){await ma(`api/projects/${ba(e)}/tags/${ba(t)}`)}function kg(e){return e.trim().replace(/\n/g,` `).slice(0,100)}function Ag(e,t,n,r,i,a){i&&(yi(n,{chatTitles:{...a,[r]:i}}).catch(e=>{zm.error(`Failed to update chat title:`,e)}),e({type:Y.UpdateChatTitle,projectId:t,threadId:n,paneId:r,title:i}))}function jg(e){let{selectedThreadId:t,selectedProjectId:n,processingThreadIds:r,dispatch:i,toast:a,connectThreadStream:o,onPlanModeConsumed:s,setError:c,setStopRequestedForThreadId:l,getPaneMessages:u,isPaneStreaming:d,getChatTitles:f}=e;return(0,Z.useCallback)(async(e,p,m,h,g,_,v,y,b,x)=>{if(!t)return;let S=t,C=u(e);c(null),l(null);let w=m.trim().match(Um);if(w){if(e!==`primary`)return;if(C.filter(e=>e.sender===`agent`).length<2){a({title:`Nothing to compact`,description:`Start a conversation with at least two exchanges first.`});return}if(r.includes(S)||d(S,e)){a({title:`Agent is busy`,description:`Wait for the agent to finish before compacting.`});return}let t=w[1]?.trim();Km(i,S,h);try{let n=await io(S,{model:h,provider:_,instructions:t});i({type:Y.SetMessages,messages:n.messages}),i(Hm({type:Y.ResetStream},S,e)),a({title:`Conversation compacted`,description:`${n.messagesBefore} messages → ${n.messagesAfter} summary`})}catch(t){i(Hm({type:Y.ResetStream},S,e)),a({title:`Compaction failed`,description:t instanceof Error?t.message:`Failed to compact conversation`,variant:`destructive`})}return}let T=m.trim().match(Wm);if(T){if(e!==`primary`)return;if(!n){a({title:`No project selected`,description:`Open a project thread before sending an event.`,variant:`destructive`});return}let t=T[1]?.trim();if(!t){a({title:`Event key required`,description:`Use /send-event door.opened or /send-event door.opened {"doorId":"front"}`,variant:`destructive`});return}let r,i=T[2]?.trim();if(i)try{r=JSON.parse(i)}catch{a({title:`Invalid JSON payload`,description:`The optional payload after the event key must be valid JSON.`,variant:`destructive`});return}try{let e=await Cg(n,t,r);a({title:`Event sent`,description:`Matched ${e.matched}, launched ${e.launched}, skipped ${e.skipped}`})}catch(e){a({title:`Event failed`,description:e instanceof Error?e.message:`Failed to send event`,variant:`destructive`})}return}let E=`msg-${Date.now()}`,D={messageId:E,sender:`user`,content:m,contentType:`text`,timestamp:new Date().toISOString(),model:h,attachments:g.map(e=>({fileName:e.fileName,content:e.content,mimeType:e.mimeType}))};i({type:Y.AddMessage,message:D,threadId:S,paneId:e});let O=await Jm(S,E);if(O&&i({type:Y.UpdateMessageCheckpointRef,messageId:E,threadId:S,paneId:e,checkpointRef:O}),n){let t=kg(m);Ag(i,n,S,e,t,f(S)),Ho(S,m,{provider:_,model:h}).then(r=>{r&&r!==t&&Ag(i,n,S,e,r,f(S))}).catch(e=>{zm.error(`Failed to generate chat title:`,e)})}if(y){let t=_??void 0;if(!t&&typeof h==`string`){let e=h.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:h,isThinking:!1};i({type:Y.AddMessage,message:t,threadId:S,paneId:e}),i(Hm({type:Y.ResetStream},S,e)),i({type:Y.SetActiveStreamPane,paneId:null});return}i(Hm({type:Y.SetStreaming,isStreaming:!0},S,e)),i({type:Y.SetActiveStreamPane,paneId:e});try{let n=await Ti(m,h,t,S),r={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:m,contentType:`text`,timestamp:new Date().toISOString(),model:h,mode:`image`,isThinking:!1,generatedImageUrl:n.imageUrl,generatedImageData:n.imageData};i({type:Y.AddMessage,message:r,threadId:S,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:h,isThinking:!1};i({type:Y.AddMessage,message:r,threadId:S,paneId:e})}finally{i(Hm({type:Y.ResetStream},S,e)),i({type:Y.SetActiveStreamPane,paneId:null})}return}o(S,e=>ro(S,m,h,g,e,_,v,b,O,p,x),h,e,p),i(Hm({type:Y.SetStreamAgentMode,mode:At({planMode:v,ralphMode:b,orchestrateMode:x})},S,e)),v&&s?.()},[t,n,i,o,r,a,s,u,d,f,c,l])}var Mg=M(`app.use-chat-handlers.hook`);function Ng(e){let t=Es(),{toast:n}=Ls(),r=xs(),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(null),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),h=X(e=>e.selectedThreadId),g=X(e=>e.selectedProjectId),_=X(e=>e.queuedChatMessages),v=X(e=>e.pendingChatMessage),y=X(e=>e.processingThreadIds);u.current=h;function b(e){return ns(r.getState(),e)}function x(e){return $o(r.getState(),e)}function S(e,t){return ds(r.getState().threadStreamingStates,e,t).isStreaming}function C(e,t){return ds(r.getState().threadStreamingStates,e,t).streamingModel||`default`}function w(e){let t=r.getState();for(let n of t.projects){let t=n.threads.find(t=>t.threadId===e);if(t)return t.chatTitles}}let T=(0,Z.useCallback)(e=>h?_.filter(t=>t.threadId===h&&t.paneId===e):[],[_,h]),E=(0,Z.useCallback)(_g({dispatch:t,streamSessionsRef:d,connectThreadStreamRef:f,selectedThreadIdRef:u}),[t]),D=(0,Z.useCallback)(e=>{if(!h)return;l(h);let n=Is(h,e),r=d.current.get(n),i=C(h,e),a=r?.conversationId??x(e);if(Ga(h,a?{conversationId:a}:void 0),r){r.stopHandled=!0,E(h,i,r),r.controller.abort(),r.cancel?.();return}t(Hm({type:Y.ResetStream},h,e))},[h,t,E]);(0,Z.useEffect)(()=>()=>{for(let[e,n]of d.current.entries()){n.controller.abort(),n.cancel?.(),n.keepsDeviceAwake&&(n.keepsDeviceAwake=!1,Lm());let[r,i]=e.split(`:`);t(Hm({type:Y.ResetStream},r,i))}d.current.clear()},[t]);let O=(0,Z.useCallback)(vg({dispatch:t,streamSessionsRef:d,selectedThreadIdRef:u,setError:a,setShowEmptyBalanceDialog:s,finalizeThreadStream:E}),[t,E]);f.current=O,(0,Z.useEffect)(()=>{let e=!1,n=new Set(y);for(let e of m.current)n.has(e)||m.current.delete(e);async function i(i){if(!(e||m.current.has(i))&&!pm(i)&&!lc(r.getState().threadToolSessions[i])&&!Zo(i,{hasSession:e=>d.current.has(Is(i,e)),streamingStates:r.getState().threadStreamingStates,sessionPaneIds:[...d.current.keys()].filter(e=>e.startsWith(`${i}:`)).map(e=>e.slice(i.length+1))})){m.current.add(i);try{let a=await Po(i);if(e||!n.has(i))return;let o=a.currentConversationId?.trim()||(i===r.getState().selectedThreadId?$o(r.getState(),`primary`):void 0);o&&i===r.getState().selectedThreadId&&t({type:Y.SetPrimaryConversationId,conversationId:o}),O(i,e=>zo(i,e,o),`default`,`primary`,o)}catch(e){m.current.delete(i),Mg.error(`Failed to resolve conversation before subscribing:`,e)}}}for(let e of y)i(e);return()=>{e=!0}},[O,t,y,r]);let k=jg({selectedThreadId:h,selectedProjectId:g,processingThreadIds:y,dispatch:t,toast:n,connectThreadStream:O,onPlanModeConsumed:e,setError:a,setStopRequestedForThreadId:l,getPaneMessages:b,isPaneStreaming:S,getChatTitles:w});return(0,Z.useEffect)(()=>{let e=v;if(!e||e.threadId!==h||S(h??``,`primary`))return;let n=setTimeout(()=>{t({type:Y.ClearPendingChatMessage}),k(`primary`,void 0,e.message,e.model,[],e.provider)},100);return()=>clearTimeout(n)},[v,h,t,k,r]),(0,Z.useEffect)(()=>{if(!h)return;let e={},n=new Set([`primary`,...Xo(r.getState()),..._.filter(e=>e.threadId===h).map(e=>e.paneId)]);for(let r of n){let n=T(r);if(n.length===0||S(h,r)||p.current[r])continue;let[i]=n;p.current[r]=!0,e[r]=setTimeout(()=>{p.current[r]=!1,t({type:Y.RemoveQueuedChatMessage,queuedMessageId:i.id}),k(r,x(r),i.message,i.model,i.attachments,i.provider,i.planMode,i.imageMode,i.ralphMode,i.orchestrateMode)},0)}return()=>{for(let t of n){let n=e[t];n&&clearTimeout(n)}}},[t,T,k,_,h,r]),{error:i,setError:a,handleSend:k,handleStop:D,getQueuedMessagesForPane:T,handleRemoveQueuedMessage:(0,Z.useCallback)((e,n)=>{let r=T(e).find(e=>e.id===n);t({type:Y.RemoveQueuedChatMessage,queuedMessageId:n}),!(!r||S(h??``,e)||b(e).length>0||!h)&&k(e,x(e),r.message,r.model,r.attachments,r.provider,r.planMode,r.imageMode,r.ralphMode,r.orchestrateMode)},[t,T,k,h,r]),showEmptyBalanceDialog:o,setShowEmptyBalanceDialog:s}}var Pg=(0,Z.createContext)(void 0);function Fg(e){let t=(0,Q.c)(3),{children:n}=e,r=Ng(),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(Pg.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function Ig(){let e=(0,Z.useContext)(Pg);if(e===void 0)throw Error(`useChatHandlersContext must be used within a ChatHandlersProvider`);return e}var Lg=(0,Z.createContext)(void 0);function Rg(e){let t=(0,Q.c)(12),{paneId:n,conversationId:r,fillPane:i,children:a}=e,o=i===void 0?!1:i,s=Es(),c=X(zg),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)(Lg.Provider,{value:p,children:a}),t[9]=a,t[10]=p,t[11]=m):m=t[11],m}function zg(e){return e.focusedPane}function Bg(){let e=(0,Q.c)(1),t=(0,Z.useContext)(Lg);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:Vg},e[0]=t):t=e[0],t}return t}function Vg(){}function Hg(e){let t=(0,Q.c)(66),{toolCall:n,className:r}=e,{paneId:i}=Bg(),{handleStop:a}=Ig(),[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??gt(n.name),t[2]=n.activeDisplayName,t[3]=n.name,t[4]=u):u=t[4];let d=u,f=ld(n.name)?`searching`:`working`,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{s(Wg)},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,_=Ug,v=n.name===`bash`&&typeof n.input?.command==`string`?n.input.command:null,y;t[9]===v?y=t[10]:(y=v===null?null:dd(v),t[9]=v,t[10]=y);let x=y,S=n.name===`fetch`&&typeof n.input?.url==`string`?n.input.url:null,C=n.name===`web_search`&&typeof n.input?.query==`string`?n.input.query:null,w=!v&&typeof n.input?.description==`string`?n.input.description:null,T;t[11]===r?T=t[12]:(T=G(`overflow-hidden mb-2`,r),t[11]=r,t[12]=T);let E;t[13]===d?E=t[14]:(E=(0,$.jsx)(`span`,{className:b.bodyMuted,children:d}),t[13]=d,t[14]=E);let D;t[15]===f?D=t[16]:(D=(0,$.jsx)(Xd,{state:f}),t[15]=f,t[16]=D);let O;t[17]!==E||t[18]!==D?(O=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[E,D]})}),t[17]=E,t[18]=D,t[19]=O):O=t[19];let k;t[20]===n.name?k=t[21]:(k=(0,$.jsx)(Pr,{children:n.name}),t[20]=n.name,t[21]=k);let A;t[22]!==k||t[23]!==O?(A=(0,$.jsxs)(Mi,{children:[O,k]}),t[22]=k,t[23]=O,t[24]=A):A=t[24];let j;t[25]===x?j=t[26]:(j=x!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`truncate whitespace-nowrap rounded bg-muted/60 px-1 py-0.5 max-w-full`),children:x.label}),t[25]=x,t[26]=j);let M;t[27]===S?M=t[28]:(M=S!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:S.length>60?`${S.slice(0,59)}…`:S}),t[27]=S,t[28]=M);let N;t[29]===C?N=t[30]:(N=C!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:C.length>60?`${C.slice(0,59)}…`:C}),t[29]=C,t[30]=N);let P;t[31]===w?P=t[32]:(P=w!==null&&(0,$.jsx)(`span`,{className:b.bodyMuted,children:w}),t[31]=w,t[32]=P);let F;t[33]===o?F=t[34]:(F=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:`p-1 hover:bg-muted/50 rounded transition-colors`,children:o?(0,$.jsx)(Xe,{className:`h-3 w-3`}):(0,$.jsx)(Tt,{className:`h-3 w-3`})})}),t[33]=o,t[34]=F);let I=o?`Collapse`:`Expand`,L;t[35]===I?L=t[36]:(L=(0,$.jsx)(Pr,{children:I}),t[35]=I,t[36]=L);let R;t[37]!==F||t[38]!==L?(R=(0,$.jsxs)(Mi,{children:[F,L]}),t[37]=F,t[38]=L,t[39]=R):R=t[39];let z;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(tt,{className:`h-3 w-3`}),t[40]=z):z=t[40];let B;t[41]===g?B=t[42]:(B=(0,$.jsx)(Ii,{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:z})}),t[41]=g,t[42]=B);let V;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Pr,{className:`bg-red-600 text-white border-red-600`,children:`Stop this process`}),t[43]=V):V=t[43];let H;t[44]===B?H=t[45]:(H=(0,$.jsxs)(Mi,{children:[B,V]}),t[44]=B,t[45]=H);let U;t[46]!==R||t[47]!==H?(U=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 ml-auto shrink-0`,children:[R,H]}),t[46]=R,t[47]=H,t[48]=U):U=t[48];let ee;t[49]!==A||t[50]!==j||t[51]!==M||t[52]!==N||t[53]!==P||t[54]!==U?(ee=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 flex-wrap`,children:[A,j,M,N,P,U]}),t[49]=A,t[50]=j,t[51]=M,t[52]=N,t[53]=P,t[54]=U,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(b.compact,b.bodyMuted,`mb-2 font-mono`),children:[`ID: `,n.id]}),(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(b.compact,b.label,`text-muted-foreground mb-1`),children:`Input:`}),(0,$.jsx)(`pre`,{className:Ld({className:`border border-border`}),children:_(n.input)})]}),l&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(b.compact,b.label,`text-muted-foreground mb-1`),children:`Progress:`}),(0,$.jsxs)(`div`,{className:G(b.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(b.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(b.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(b.compact,`flex items-center gap-1.5 text-muted-foreground`),children:[(0,$.jsx)(Xd,{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 ne;return t[62]!==ee||t[63]!==te||t[64]!==T?(ne=(0,$.jsxs)(`div`,{className:T,children:[ee,te]}),t[62]=ee,t[63]=te,t[64]=T,t[65]=ne):ne=t[65],ne}function Ug(e){return JSON.stringify(e,null,2)}function Wg(e){return!e}function Gg(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 Kg(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.question!=`string`||!t.question.trim())return null;let n=Gg(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 qg(e){if(Array.isArray(e.questions))return e.questions.map(e=>Kg(e)).filter(e=>e!==null);if(typeof e.question==`string`&&e.question.trim()){let t=Gg(e.options);return[{question:e.question,header:typeof e.context==`string`?e.context:void 0,options:t.length>0?t:void 0}]}return[]}function Jg(e){let t=qg(e),n=t[0];return{questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header}}function Yg(e){return{intention:typeof e.intention==`string`?e.intention:``,code:typeof e.code==`string`?e.code:``}}function Xg(e){return{url:typeof e.url==`string`?e.url:``,title:typeof e.title==`string`?e.title:void 0}}function Zg(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)(wp,{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 Qg(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)(Ap,{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 $g(e){let t=(0,Q.c)(2),{prompt:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(jp,{...n}),t[0]=n,t[1]=r),r}function e_(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)(Np,{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 t_(e,t){if(e.name!==`ask_user`)return null;let n=Jg(e.input);return(0,$.jsx)(wp,{toolCallId:e.id,questions:n.questions,answeredText:t,interactive:!1})}function n_(e,t,n,r){if(e.name!==`run_js`&&e.name!==`run_web_worker`)return null;let i=Yg(e.input);return(0,$.jsx)(sm,{toolCallId:e.id,intention:i.intention,code:i.code,resultContent:t,resultIsError:n,showActive:r===!0})}function r_(e){if(e.name!==`open_widget`)return null;let t=Xg(e.input);return t.url?(0,$.jsx)(cm,{url:t.url,title:t.title}):null}function i_(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=mp(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`||Cf(n.name,n.input);if(f&&!p){let e;return t[6]===n?e=t[7]:(e=(0,$.jsx)(Hg,{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)(Xf,{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 a_(e){let t=(0,Q.c)(21),{block:n,showActive:r,resultContent:i,resultIsError:a,observation:o}=e,s;t[0]!==n||t[1]!==i?(s=t_(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=n_(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;let d;t[8]===n?d=t[9]:(d=r_(n),t[8]=n,t[9]=d);let f=d;if(f)return f;if(n.name===`call_widget_tool`)return null;if(r){let e;return t[10]!==n||t[11]!==o||t[12]!==i||t[13]!==a||t[14]!==r?(e=(0,$.jsx)(i_,{block:n,resultContent:i,resultIsError:a,observation:o,showActive:r}),t[10]=n,t[11]=o,t[12]=i,t[13]=a,t[14]=r,t[15]=e):e=t[15],e}let p;return t[16]!==n||t[17]!==o||t[18]!==i||t[19]!==a?(p=(0,$.jsx)(Xf,{inline:!0,block:n,resultContent:i,resultIsError:a,isActive:!1,observation:o}),t[16]=n,t[17]=o,t[18]=i,t[19]=a,t[20]=p):p=t[20],p}function o_(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)(op,{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 s_(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=rs(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=js(h,{showActive:u}),t[4]=u,t[5]=h,t[6]=g):g=t[6];let _=g,v=_.activeLabel!==null,y=v&&!d,x;t[7]===f?x=t[8]:(x=()=>p(!f),t[7]=f,t[8]=x);let S;t[9]===f?S=t[10]:(S=f?(0,$.jsx)(Tt,{className:`h-3 w-3 text-muted-foreground shrink-0`}):(0,$.jsx)(nt,{className:`h-3 w-3 text-muted-foreground shrink-0`}),t[9]=f,t[10]=S);let C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(b.caption,`min-w-0 truncate`),t[11]=C):C=t[11];let w;t[12]!==_.lineStats||t[13]!==h?(w=_.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]=w):w=t[14];let T;t[15]!==_.text||t[16]!==w?(T=(0,$.jsxs)(`span`,{className:C,children:[_.text,w]}),t[15]=_.text,t[16]=w,t[17]=T):T=t[17];let E;t[18]!==_.activeLabel||t[19]!==y?(E=y?(0,$.jsx)(`span`,{className:G(b.caption,`shrink-0`),children:_.activeLabel}):null,t[18]=_.activeLabel,t[19]=y,t[20]=E):E=t[20];let D;t[21]===v?D=t[22]:(D=v?(0,$.jsx)(Xd,{state:`working`,className:`shrink-0`}):null,t[21]=v,t[22]=D);let O;t[23]!==f||t[24]!==T||t[25]!==E||t[26]!==D||t[27]!==x||t[28]!==S?(O=(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 cursor-pointer select-none text-left w-full min-w-0`,onClick:x,"aria-expanded":f,children:[S,T,E,D]}),t[23]=f,t[24]=T,t[25]=E,t[26]=D,t[27]=x,t[28]=S,t[29]=O):O=t[29];let k=f?`flex`:`hidden`,A;t[30]===k?A=t[31]:(A=G(`ml-5 flex-col gap-0.5`,k),t[30]=k,t[31]=A);let j;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),j=n.map(e),t[32]=n,t[33]=l,t[34]=j}else j=t[34];let M;t[37]!==A||t[38]!==j?(M=(0,$.jsx)(`div`,{className:A,children:j}),t[37]=A,t[38]=j,t[39]=M):M=t[39];let N;return t[40]!==O||t[41]!==M?(N=(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[O,M]}),t[40]=O,t[41]=M,t[42]=N):N=t[42],N}function c_(e){let t=e.length-1;for(;t>=0;){let n=e[t];if(!n||Yo(n)||n.type!==`text`)break;--t}return t+1}function l_(e,t){return t?e.some(e=>!ls(e)&&as(e)&&e.id===t):!1}function u_(e,t=0){if(ls(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??pp(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-${pp(e.text.slice(0,128))}`}}function d_(e,t,n){let{lookupBlocks:r,isStreaming:i,threadId:a,projectId:o,messageIndex:s,message:c,activeLocalToolCallId:l,completedToolCallIds:u,completedToolCallResults:d}=n;if(as(e)&&e.name===`todo`)return null;if(Jo(e)){if(e.toolName===`todo`)return(0,$.jsx)(o_,{sequence:s,block:e,params:r.find(t=>as(t)&&t.id===e.toolCallId)?.input},t);if(e.toolName===`ask_user`||e.toolName===`open_widget`||e.toolName===`call_widget_tool`)return null}switch(e.type){case`long_running_confirmation`:return(0,$.jsx)(Zg,{prompt:e.prompt,answeredText:xp(r,e.prompt.toolCallId)},t);case`shell_permission`:return(0,$.jsx)(Qg,{prompt:e.prompt,projectId:o,resolvedDecision:yp(r,e.prompt.toolCallId,`shell`)},t);case`seatbelt_escalation`:return(0,$.jsx)($g,{prompt:e.prompt},t);case`web_fetch_permission`:return(0,$.jsx)(e_,{prompt:e.prompt,projectId:o,resolvedDecision:yp(r,e.prompt.toolCallId,`web_fetch`)},t);case`text`:return(0,$.jsx)(yu,{content:e.text,threadId:a},t);case`tool_use`:{let n=d?.get(e.id),a=hp(r,e.id)??n?.resultContent,o=_p(r,e.id)||(n?.resultIsError??!1),s=gp(r,e.id)??n?.observation;return(0,$.jsx)(a_,{block:e,showActive:!(u?.has(e.id)===!0||n!==void 0)&&bp(r,c,e.id,l,i),resultContent:a,resultIsError:o,observation:s},t)}case`tool-result`:return(0,$.jsx)(o_,{block:e},t)}}function f_({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=t||!!a?.isThinking,u=(0,Z.useRef)(new Set),d=(0,Z.useRef)(new Map);for(let e of c)if(Jo(e)){u.current.add(e.toolCallId);let t=hp(c,e.toolCallId),n=_p(c,e.toolCallId),r=gp(c,e.toolCallId);t!==void 0&&d.current.set(e.toolCallId,{resultContent:t,resultIsError:n,observation:r})}let f=u.current,p=d.current,m=(0,Z.useMemo)(()=>qo(cs(c,l)),[c,l]),h=0;function g(e){let o=ls(e)?u_(e,++h):u_(e);return ls(e)?(0,$.jsx)(fp,{text:e.text,label:e.label,isStreaming:e.isCurrentlyStreaming,threadId:n},o):d_(e,o,{lookupBlocks:c,isStreaming:t,threadId:n,projectId:r,messageIndex:i,message:a,activeLocalToolCallId:s,completedToolCallIds:f,completedToolCallResults:p})}function _(e,n){return Yo(e)?(0,$.jsx)(s_,{items:e.items,allBlocks:c,completedToolCallIds:f,isStreaming:l,showActiveSummary:l||l_(e.items,s),hideActiveLabel:t,renderItem:g},`tool-group-${i}-${n}`):g(e)}let v=o?c_(m):m.length,y=m.slice(0,v),b=m.slice(v),x=!!o&&b.length>0&&b.every(e=>!Yo(e)&&e.type===`text`);return(0,$.jsxs)($.Fragment,{children:[y.map((e,t)=>_(e,t)),x&&o?(0,$.jsx)(Xu,{text:o,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:b.map((e,t)=>_(e,v+t))})}):b.map((e,t)=>_(e,v+t))]})}function p_(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(m_)},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(b.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 x;return t[17]!==v||t[18]!==y?(x=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[v,y]}),t[17]=v,t[18]=y,t[19]=x):x=t[19],x}function m_(e){return!e}function h_(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)(f_,{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(b.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)(yu,{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)(f_,{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)(yu,{content:n.content,threadId:r,className:b.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)(Xu,{text:s,children:l}),t[18]=s,t[19]=l,t[20]=e):e=t[20],e}return l}function g_(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:Go(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?Os(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)(h_,{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,x=d&&`flex justify-end`,S;t[18]===x?S=t[19]:(S=G(`group px-4 py-4`,x),t[18]=x,t[19]=S);let C=d&&`items-end`,w;t[20]===C?w=t[21]:(w=G(`flex flex-col gap-1 min-w-0 max-w-full`,C),t[20]=C,t[21]=w);let T;t[22]!==o||t[23]!==n||t[24]!==l||t[25]!==r?(T=(0,$.jsx)(Yu,{message:n,threadId:r,showCheckpointRestore:l,checkpointRestoreTooltip:o}),t[22]=o,t[23]=n,t[24]=l,t[25]=r,t[26]=T):T=t[26];let E=d&&`rounded-xl px-4 py-3 bg-foreground text-background`,D;t[27]===E?D=t[28]:(D=G(`flex flex-col gap-0.5 min-w-0`,b.conversationBody,E),t[27]=E,t[28]=D);let O;t[29]!==y||t[30]!==d||t[31]!==n.content?(O=d?(0,$.jsx)(p_,{content:n.content,children:y}):y,t[29]=y,t[30]=d,t[31]=n.content,t[32]=O):O=t[32];let k;t[33]!==D||t[34]!==O?(k=(0,$.jsx)(`div`,{className:D,children:O}),t[33]=D,t[34]=O,t[35]=k):k=t[35];let A;t[36]!==n.generatedImageData||t[37]!==n.generatedImageUrl||t[38]!==r?(A=(n.generatedImageUrl||n.generatedImageData)&&(0,$.jsx)(Zu,{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]=A):A=t[39];let j;t[40]===n.attachments?j=t[41]:(j=n.attachments&&n.attachments.length>0&&(0,$.jsx)(wu,{attachments:n.attachments}),t[40]=n.attachments,t[41]=j);let M;t[42]!==w||t[43]!==T||t[44]!==k||t[45]!==A||t[46]!==j?(M=(0,$.jsxs)(`div`,{className:w,children:[T,k,A,j]}),t[42]=w,t[43]=T,t[44]=k,t[45]=A,t[46]=j,t[47]=M):M=t[47];let N;return t[48]!==M||t[49]!==S?(N=(0,$.jsx)(`div`,{className:S,children:M}),t[48]=M,t[49]=S,t[50]=N):N=t[50],N}function __(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 v_(e){let t=(0,Z.useRef)(new Map);return(0,Z.useMemo)(()=>{let n=t.current,r=[],i=new Set;for(let t of e){if(i.add(t),t.type===`long_running_confirmation`){r.push({type:`long_running_confirmation`,prompt:t.prompt});continue}if(t.type===`shell_permission`){r.push({type:`shell_permission`,prompt:t.prompt});continue}if(t.type===`seatbelt_escalation`){r.push({type:`seatbelt_escalation`,prompt:t.prompt});continue}if(t.type===`web_fetch_permission`){r.push({type:`web_fetch_permission`,prompt:t.prompt});continue}let e=t.chunks.join(``),a=e.length,o=n.get(t);if(o&&o.chunks===t.chunks&&o.chunkCount===t.chunks.length&&o.contentLength===a){r.push(...o.blocks);continue}let s;s=t.type===`thinking`?Ss(e)??[]:Go(e)??(e.trim()?[{type:`text`,text:e}]:[]),n.set(t,{chunks:t.chunks,chunkCount:t.chunks.length,contentLength:a,blocks:s}),r.push(...s)}for(let e of n.keys())i.has(e)||n.delete(e);return r},[e,__(e)])}function y_(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=v_(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(b.compact,`font-medium text-foreground`),t[2]=g):g=t[2];let _;t[3]===i?_=t[4]:(_=dt(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(b.compact,`flex items-center gap-1 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity`),children:[(0,$.jsx)(Lt,{className:`h-2.5 w-2.5`}),Ao(r)]}),t[7]=r,t[8]=y);let x;t[9]!==v||t[10]!==y?(x=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=x):x=t[11];let S;t[12]!==s||t[13]!==c||t[14]!==p||t[15]!==o||t[16]!==a||t[17]!==d?(S=p.length>0?(0,$.jsx)(`div`,{className:G(`flex flex-col gap-0.5 min-w-0`,b.conversationBody),children:(0,$.jsx)(f_,{blocks:p,isStreaming:!0,threadId:a,projectId:o,messageIndex:d})}):s||c?(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(fp,{isStreaming:!0})}):null,t[12]=s,t[13]=c,t[14]=p,t[15]=o,t[16]=a,t[17]=d,t[18]=S):S=t[18];let C;t[19]!==S||t[20]!==x?(C=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[x,S]}),t[19]=S,t[20]=x,t[21]=C):C=t[21];let w;return t[22]!==C||t[23]!==h?(w=(0,$.jsx)(`div`,{className:h,children:C}),t[22]=C,t[23]=h,t[24]=w):w=t[24],w}var b_=3e3;function x_(e){let t=e?Te.filter(t=>t!==e):Te;return t[Math.floor(Math.random()*t.length)]}function S_(e){let t=(0,Q.c)(3),[n,r]=(0,Z.useState)(ye),i=(0,Z.useRef)(ye),a,o;return t[0]===e?(a=t[1],o=t[2]):(a=()=>{if(!e){r(ye),i.current=ye;return}let t=setInterval(()=>{let e=i.current===`Processing...`?x_():x_(i.current);i.current=e,r(e)},b_);return()=>clearInterval(t)},o=[e],t[0]=e,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o),n}function C_(e){let t=(0,Q.c)(9),{active:n,label:r,className:i}=e,a=n===void 0?!0:n,o=S_(a&&!r),s=a?`animate-shimmer`:void 0,c;t[0]===s?c=t[1]:(c=G(b.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 w_(e){let t=(0,Q.c)(34),{projects:r,onSelectProject:i,onCreateThread:a,onConnectRepo:o,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(b.pageTitle,`tracking-tight text-balance`),children:`Let's build it!`}),t[1]=u):u=t[1];let d=r.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 ${b.pageSubtitle}`,children:d})]})]}),t[2]=d,t[3]=f);let p;if(t[4]!==a||t[5]!==i||t[6]!==r){let e;t[8]!==a||t[9]!==i?(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?a(e.projectId):i(e.projectId,e.threads[0].threadId)},children:[(0,$.jsx)(ie,{className:`h-5 w-5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:e.name}),(0,$.jsxs)(`span`,{className:b.caption,children:[e.threads.length,` thread`,e.threads.length===1?``:`s`]})]},e.projectId),t[8]=a,t[9]=i,t[10]=e):e=t[10],p=r.map(e),t[4]=a,t[5]=i,t[6]=r,t[7]=p}else p=t[7];let m,h,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(_t,{className:`h-5 w-5 text-muted-foreground`}),h=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`Connect a repo`}),g=(0,$.jsx)(`span`,{className:b.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]===o?_=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:o,children:[m,h,g]}),t[14]=o,t[15]=_);let v,y,x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(n,{className:`h-5 w-5 text-muted-foreground`}),y=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`New App`}),x=(0,$.jsx)(`span`,{className:b.caption,children:`Create a new project from template`}),t[16]=v,t[17]=y,t[18]=x):(v=t[16],y=t[17],x=t[18]);let S;t[19]===s?S=t[20]:(S=(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,x]}),t[19]=s,t[20]=S);let C,w,T;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(ee,{className:`h-5 w-5 text-muted-foreground`}),w=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`Open Folder`}),T=(0,$.jsx)(`span`,{className:b.caption,children:`Use an existing local folder`}),t[21]=C,t[22]=w,t[23]=T):(C=t[21],w=t[22],T=t[23]);let E;t[24]===c?E=t[25]:(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:c,children:[C,w,T]}),t[24]=c,t[25]=E);let D;t[26]!==S||t[27]!==E||t[28]!==p||t[29]!==_?(D=(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-3`,children:[p,_,S,E]}),t[26]=S,t[27]=E,t[28]=p,t[29]=_,t[30]=D):D=t[30];let O;return t[31]!==D||t[32]!==f?(O=(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,D]}),t[31]=D,t[32]=f,t[33]=O):O=t[33],O}var T_=`md:mr-4`,E_=`cubic-bezier(0.22, 0.61, 0.36, 1)`,D_=`animate-in fade-in duration-200 ease-out`,O_=`[data-composer-surface]`;function k_(e){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`}function A_(e){return e?`w-full min-w-0 px-4`:`mx-auto max-w-3xl w-full min-w-0`}function j_(e){return G(e?`relative w-full min-w-0 pl-4`:`relative mx-auto w-full max-w-3xl min-w-0`,T_)}function M_(e){return`relative w-full min-w-0`}function N_(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 P_(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 F_={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e]},userTasks:e=>[`user-tasks`,e],conversations:{recent:()=>[`conversations`,`recent`]}};function I_(e){let t=(0,Q.c)(10),n;t[0]===e?n=t[1]:(n=F_.models.enabled(e),t[0]=e,t[1]=n);let r;t[2]===n?r=t[3]:(r={queryKey:n,queryFn:Ri,placeholderData:ir},t[2]=n,t[3]=r);let i=mr(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}var L_=M(`chat.input-state`);function R_(e,t){return t===`primary`?e:`${e}:${t}`}function z_({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 B_({initialValue:e}={}){let t=Es(),{paneId:n}=Bg(),r=X(e=>e.selectedThreadId),i=X(e=>e.selectedProjectId),a=X(e=>e.projects),o=X(e=>e.projectModelSelections),s=X(e=>e.paneModelSelections),c=X(e=>e.chatInputDrafts),l=X(e=>e.configUpdatedAt),u=X(e=>e.focusChatInput),d=X(e=>e.focusedPane),f=X(e=>ds(e.threadStreamingStates,e.selectedThreadId,n).isStreaming),{models:p,isFetched:m}=I_(l),[h,g]=(0,Z.useState)(()=>{if(r){let e=R_(r,n);if(c[e])return c[e]}return e??``}),[_,v]=(0,Z.useState)(-1),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(h);(0,Z.useEffect)(()=>{C.current=h},[h]);let w=(0,Z.useRef)(c);(0,Z.useEffect)(()=>{w.current=c},[c]);let T=(0,Z.useRef)(!0);(0,Z.useEffect)(()=>(T.current=!0,()=>{T.current=!1}),[]);let[E,D]=(0,Z.useState)([]),[O,k]=(0,Z.useState)(()=>(r?s[n]??o[r]:void 0)??null),A=(0,Z.useRef)(O?.id??``),j=(0,Z.useRef)(O?.provider??``),M=(0,Z.useRef)(null),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(!1),[L,R]=(0,Z.useState)([]),z=a.find(e=>e.projectId===i),B=z?.defaultChatMode??`auto`,V=(0,Z.useRef)(qe(B)).current,[H,U]=(0,Z.useState)(V.planMode),[ee,te]=(0,Z.useState)(V.ralphMode),[ne,re]=(0,Z.useState)(V.orchestrateMode),[ie,ae]=(0,Z.useState)(V.autoMode),[oe,se]=(0,Z.useState)(V.imageMode),ce=(0,Z.useCallback)(function(e){let t=qe(e);U(t.planMode),se(t.imageMode),te(t.ralphMode),re(t.orchestrateMode),ae(t.autoMode)},[]),[le,ue]=(0,Z.useState)([]),[de,fe]=(0,Z.useState)(null),[pe,me]=(0,Z.useState)([]),[he,ge]=(0,Z.useState)(!1),[_e,ve]=(0,Z.useState)(``),[ye,be]=(0,Z.useState)(0),[xe,Se]=(0,Z.useState)([]),[Ce,W]=(0,Z.useState)([]),[we,Te]=(0,Z.useState)([]),[Ee,De]=(0,Z.useState)(!1),[Oe,ke]=(0,Z.useState)(!1),[Ae,je]=(0,Z.useState)(``),Me=(0,Z.useRef)(null),Ne=(0,Z.useRef)(null),Pe=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Ie=(0,Z.useRef)(null),Le=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{A.current=O?.id??``,j.current=O?.provider??``},[O?.id,O?.provider]);let Re=(0,Z.useCallback)((e,a)=>{k(e);let o=r;if(!o)return;let s=a?.persist!==!1,c=a?.pinPane??!0;if((c||s)&&t({type:Y.SetProjectModel,threadId:o,model:e,...c?{paneId:n}:{}}),!s)return;let l=`${o}:${e.provider??``}:${e.id}`;M.current!==l&&(M.current=l,L_.info(`Persisting model to thread`,{threadId:o,model:{id:e.id,provider:e.provider}}),yi(o,{model:e.id,modelProvider:e.provider}).then(()=>{let t=i;t&&jr(t,{lastSelectedModel:e.id,lastSelectedModelProvider:e.provider}).catch(e=>{L_.error(`Failed to save model to project`,{err:e})}),M.current===l&&(M.current=null),L_.info(`Model persisted successfully`)}).catch(e=>{M.current===l&&(M.current=null),L_.error(`Failed to save model to thread`,{err:e})}))},[t,n,i,r]),ze=(0,Z.useCallback)(async function(e,i){if(!e.provider)return;try{await va(e.provider,e.id,{reasoningEffort:i})}catch(e){L_.error(`Failed to save model reasoning effort`,{err:e});return}function a(t){return t.id!==e.id||t.provider!==e.provider?t:{...t,settings:{...t.settings,reasoningEffort:i}}}D(e=>e.map(a)),k(e=>e&&a(e)),ue(e=>e.map(a)),fe(e=>e&&a(e));let c=r;if(c){let r=s[n],i=r??o[c];i&&i.id===e.id&&i.provider===e.provider&&t({type:Y.SetProjectModel,threadId:c,model:a(i),...r?{paneId:n}:{}})}},[t,n,s,o,r]);(0,Z.useEffect)(()=>{let e=i?a.find(e=>e.projectId===i):void 0,t=e?.threads.find(e=>e.threadId===r),c=r?s[n]:void 0,l=r?o[r]:void 0;if(p.length===0){m&&(D([]),k(null));return}D(p);let u=z_({availableModels:p,paneModel:c,storedThreadModel:l,currentThreadModelId:t?.model,currentThreadModelProvider:t?.modelProvider,projectLastSelectedModelId:e?.lastSelectedModel,projectLastSelectedModelProvider:e?.lastSelectedModelProvider}),d=u.model;if(!d)return;let f=A.current===d.id&&j.current===d.provider;if(u.pinPane||u.persistFallback){Re(d,{persist:u.persistFallback,pinPane:u.pinPane});return}f||k(d)},[r,i,a,o,n,s,p,m,Re]),(0,Z.useEffect)(()=>{!oe||le.length>0||(async()=>{try{let e=await Zr(),t=Object.values(e).flat();t.length>0&&(ue(t),fe(e=>e??t[0]))}catch(e){L_.error(`Failed to load image models`,{err:e})}})()},[oe,le.length]);let[Be,Ve]=(0,Z.useState)(r);(0,Z.useEffect)(()=>{if(r!==Be){Be&&C.current.trim()&&w.current[R_(Be,n)]!==C.current&&t({type:Y.SetChatInputDraft,threadId:R_(Be,n),draft:C.current});let e=!1;return queueMicrotask(()=>{e||!T.current||(Ve(r),g(r?w.current[R_(r,n)]??``:``),me([]),ge(!1),Se([]),W([]),Te([]),De(!1),ke(!1),ce(B))}),()=>{e=!0}}},[r,Be,n,t,ce,B]);let He=(0,Z.useRef)(z?i:null);(0,Z.useEffect)(()=>{!i||!z||He.current!==i&&(He.current=i,ce(B))},[i,z,B,ce]),(0,Z.useEffect)(()=>{r&&ji(r).then(({commands:e,skills:t,bundledSkills:n})=>{L_.debug(`Loaded slash commands and skills`,{commands:e,skills:t,bundledSkills:n}),Se(e),W(t),Te(n)}).catch(e=>L_.error(`Failed to load slash commands and skills`,{err:e}))},[r]);let Ue=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{Oe&&!Ue.current&&r&&ji(r).then(({commands:e,skills:t,bundledSkills:n})=>{Se(e),W(t),Te(n)}).catch(e=>L_.error(`Failed to refresh slash commands and skills:`,e)),Ue.current=Oe},[Oe,r]);let We=r?c[R_(r,n)]??``:``;return(0,Z.useEffect)(()=>{r&&g(We)},[r,We,n]),(0,Z.useLayoutEffect)(()=>{let e=Ne.current;e&&k_(e)},[h]),(0,Z.useEffect)(()=>{if(!u||!r||f||n!==d)return;let e=Ne.current;e&&(e.focus(),t({type:Y.ClearFocusChatInput}))},[u,r,f,n,d,t]),(0,Z.useEffect)(()=>{let e=r,i=e?R_(e,n):null;return()=>{i&&C.current.trim()&&w.current[i]!==C.current&&t({type:Y.SetChatInputDraft,threadId:i,draft:C.current})}},[r,n,t]),(0,Z.useEffect)(()=>{let e=e=>{Pe.current&&!Pe.current.contains(e.target)&&P(!1),Fe.current&&!Fe.current.contains(e.target)&&I(!1)};if(N||F)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[N,F]),{message:h,setMessage:g,historyIndex:_,setHistoryIndex:v,draftMessage:y,setDraftMessage:b,cursorPosition:x,setCursorPosition:S,availableModels:E,setAvailableModels:D,selectedModel:O,setSelectedModel:Re,updateModelReasoningEffort:ze,selectedModelIdRef:A,showModelMenu:N,setShowModelMenu:P,showPlusMenu:F,setShowPlusMenu:I,attachments:L,setAttachments:R,planMode:H,setPlanMode:U,ralphMode:ee,setRalphMode:te,orchestrateMode:ne,setOrchestrateMode:re,autoMode:ie,setAutoMode:ae,imageMode:oe,setImageMode:se,availableImageModels:le,setAvailableImageModels:ue,selectedImageModel:de,setSelectedImageModel:fe,allFiles:pe,setAllFiles:me,showSuggestions:he,setShowSuggestions:ge,suggestionQuery:_e,setSuggestionQuery:ve,selectedIndex:ye,setSelectedIndex:be,slashCommands:xe,setSlashCommands:Se,skills:Ce,setSkills:W,bundledSkills:we,setBundledSkills:Te,bundledSkillMode:Ee,setBundledSkillMode:De,showCommandSuggestions:Oe,setShowCommandSuggestions:ke,commandQuery:Ae,setCommandQuery:je,messageRef:C,fileInputRef:Me,textareaRef:Ne,modelMenuRef:Pe,plusMenuRef:Fe,suggestionsRef:Ie,commandSuggestionsRef:Le,selectedThreadId:r,dispatch:t}}var V_=e=>{hi(e)},H_=`pending-auto-route`;function U_(e){return{messageId:H_,sender:`user`,content:e.prompt,contentType:`text`,timestamp:e.startedAt,attachments:e.attachments}}function W_(e){return{id:e.model,provider:e.provider}}function G_(e,t,n){switch(e){case`cheap`:{let r=Ie(`cheap`,t);return{decision:e,model:r?W_(r):n}}case`smart`:{let r=Xt(t);return{decision:e,model:r?W_(r):n}}default:return{decision:`default`,model:n}}}var K_=`/orchestrate`,q_=/^\s*\/orchestrate(?:\s|$)/i;function J_(e){return q_.test(e)}function Y_(e){if(J_(e))return e;let t=e.trimStart();return t?`${K_} ${t}`:`${K_} `}var X_=M(`app.use-chat-input-handlers.hook`);function Z_(e,t){return t===`primary`?e:`${e}:${t}`}function Q_({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:U,setOrchestrateMode:ee,autoMode:te,setAutoMode:ne,modelAliases:re,onAutoRouteResolved:ie,ensureCanOrchestrate:ae,requestOrchestrateMode:oe,imageMode:se,setImageMode:ce,selectedImageModel:le,hasConversationMessages:ue,isFirstUserPrompt:de}){let{paneId:fe}=Bg(),{toast:pe}=Ls(),[me,he]=(0,Z.useState)(!1),ge=(0,Z.useCallback)(()=>{t(``),I.current=``,R([]),m(-1),g(``),c&&f({type:Y.ClearChatInputDraft,threadId:Z_(c,fe)}),L.current&&(L.current.style.height=`auto`)},[f,I,fe,c,R,g,m,t,L]),_e=(0,Z.useCallback)((e,n)=>{I.current.trim()||(t(e),I.current=e,R(n),L.current?.focus())},[I,R,t,L]),ve=(0,Z.useCallback)(async()=>{if(me||!e.trim()&&i.length===0||!c)return;let t=se?le:a;if(!t)return;let p=e,m=i,h=te&&!se&&de,g=h&&!s;function _(){!g||!c||f({type:Y.EndAutoRoute,threadId:c,paneId:fe})}function v(){_(),g&&_e(p,m)}let y=null;if(h){he(!0),g&&(ge(),f({type:Y.StartAutoRoute,route:{threadId:c,paneId:fe,prompt:p,attachments:m,startedAt:new Date().toISOString()}}));try{y=G_(await Yi(c,p),re,t),ie?.(y)}catch(e){X_.warn(`Auto routing failed; returning the prompt to the composer`,{err:e}),v(),pe({title:`Couldn't pick a model`,description:`Send again, or choose a model yourself.`,variant:`destructive`});return}finally{he(!1)}}let b=y?.model??t;if(U&&!ae()){v();return}let x=U?Y_(p):p;l&&(u(),d()),s?f({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:c,paneId:fe,message:x,model:b.id,attachments:m,provider:b.provider,planMode:z,imageMode:se,ralphMode:V,orchestrateMode:U}}):o(x,b.id,m,b.provider,z,se,V,U),_(),V_(p),g||ge();let S=n.find(e=>e.content===x);S&&r?.(S)},[e,i,a,o,l,u,d,s,f,c,fe,ge,_e,pe,z,V,U,te,re,ie,ae,se,le,n,r,me,de]),ye=(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]),be=(0,Z.useCallback)(n=>{let r=n.metadata.mode===`orchestrate`;if(r&&!oe()){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),ee(!1),ce(!1),ne(!1)):n.metadata.mode===`ralph`?(H(!0),B(!1),ee(!1),ce(!1),ne(!1)):n.metadata.mode===`orchestrate`&&(B(!1),H(!1),ce(!1),ne(!1))},[e,_,k,t,O,B,H,ee,ce,ne,oe,L]),xe=(0,Z.useCallback)(e=>e.scope===`bundled`?`//${e.name}`:e.name.includes(` `)?`/"${e.name}"`:`/${e.name}`,[]),Se=(0,Z.useCallback)(n=>{let r=P?k.length+2:k.length+1,i=e.substring(0,_-r),a=e.substring(_),o=xe(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,xe,t,O,F,L]),Ce=(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]),W=(0,Z.useCallback)(n=>{let r=xe(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,_,xe,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`?be(e.data):Se(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]&&ye(Ae[T]);return}if(n.key===`Escape`){b(!1);return}}if(n.key===`Enter`&&!n.shiftKey){n.preventDefault(),ve();return}let r=Kr();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),k_(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&&Lr(c).then(e=>{w(e)}).catch(e=>X_.error(`Failed to fetch files:`,e)))}else b(!1)}else b(!1)}k_(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:ve,handleKeyDown:we,handleTextareaInput:Te,insertFileReference:ye,insertCommand:be,insertSkill:Se,insertSkillAtCursor:W,insertSlashCommandAtCursor:Ce,allSuggestions:ke,fileSuggestions:Ae,isRouting:me}}var $_=1;function ev(e){let t=window.getComputedStyle(e);return(parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5)+parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}function tv(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>ev(e)+$_;return e.style.width=n,e.style.minHeight=i,e.style.height=r,a}function nv({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)),k_(i);return}let t=c.current;if(t===null){k_(i);return}let n=!tv(i,Math.max(0,l.clientWidth-t));n!==e&&(o.current=n,a(n)),k_(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 rv(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(b.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),m=(0,$.jsx)(nn,{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(b.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(b.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:b.compact,children:t.metadata.argumentHint})]}),t.metadata.description&&(0,$.jsx)(`span`,{className:b.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:b.compact,children:t.description})]},`skill-${t.name}`))}}),e})():(0,$.jsxs)(`div`,{className:G(b.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:b.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 iv(e){return e.startsWith(`image/`)}function av(e){return e.startsWith(`video/`)}function ov(e){return e.startsWith(`audio/`)}function sv(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(b.compact,`group relative flex items-center gap-1 rounded-md bg-muted text-muted-foreground`),children:iv(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)(tt,{className:`h-2.5 w-2.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):av(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(u,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):ov(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(Ee,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{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)(et,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{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 cv(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function lv(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}K`:e.toString()}var uv=[{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 dv(e){return typeof e.effectiveWindow==`number`&&e.effectiveWindow>0?e.effectiveWindow:e.contextWindow}function fv(e,t=e.actualUsage){return t?{tokens:t.tokens,contextWindow:t.contextWindow,percent:Math.round(t.percent),isActual:!0}:{tokens:e.totalTokens,contextWindow:dv(e),percent:e.percentageFull,isActual:!1}}function pv({breakdown:e,actualUsage:t=e.actualUsage,threadId:n,conversationId:r,onClose:i,onToolDefinitionsOpen:a}){let{categories:o}=e,s=fv(e,t),c=s.tokens,l=s.percent,u=s.contextWindow,d=uv.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:b.label,children:`Context`}),i&&(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,onClick:i,children:[(0,$.jsx)(tt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]}),(0,$.jsxs)(`div`,{className:G(b.compact,`flex items-center justify-between text-muted-foreground`),children:[(0,$.jsxs)(`span`,{children:[l,`% Full`]}),(0,$.jsxs)(`span`,{children:[s.isActual?``:`~`,cv(c),` / `,lv(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:uv.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(b.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)(nt,{className:`h-3.5 w-3.5 shrink-0`})]}),(0,$.jsx)(`span`,{className:`tabular-nums`,children:cv(o[e.key])})]},e.key)})})]})}var mv=bn,hv=Bn,gv=Hn,_v=M(`app.tool-definitions-dialog.ui`);function vv(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function yv(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=vv(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(b.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(b.compact,`shrink-0 tabular-nums text-muted-foreground`),t[5]=u):u=t[5];let d;t[6]===n.tokens?d=t[7]:(d=cv(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(b.compact,`mt-2 whitespace-pre-wrap text-muted-foreground select-text`),children:n.description}):(0,$.jsx)(`p`,{className:G(b.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)(mv,{open:r,onOpenChange:i,className:`mt-2`,children:[(0,$.jsxs)(hv,{className:G(b.compact,`flex items-center gap-1 text-muted-foreground hover:text-foreground`),children:[(0,$.jsx)(Tt,{className:G(`h-3.5 w-3.5 transition-transform`,r&&`rotate-180`)}),`Parameters`]}),(0,$.jsx)(gv,{children:(0,$.jsx)(Oa,{className:`mt-2 h-48 rounded bg-muted`,children:(0,$.jsx)(`pre`,{className:G(b.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 bv({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 bi(n,r);if(t)return;o(e.tools),c(e.totalTokens)}catch(e){_v.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)(Fr,{className:`flex h-[80dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsx)(wr,{className:`shrink-0`,children:(0,$.jsxs)(Ra,{children:[`Tool definitions · `,cv(s),` tokens`]})}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[l&&(0,$.jsx)(`p`,{className:G(b.compact,`text-muted-foreground`),children:`Loading tools...`}),d&&!l&&(0,$.jsx)(`p`,{className:G(b.compact,`text-destructive`),children:d}),!l&&!d&&(0,$.jsx)(Oa,{className:`min-h-0 flex-1`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:a.length===0?(0,$.jsx)(`p`,{className:G(b.compact,`text-muted-foreground`),children:`No tools loaded for this conversation.`}):a.map(e=>(0,$.jsx)(yv,{tool:e},e.name))})})]})]})})}var xv=M(`app.token-usage-tooltip.ui`);function Sv({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 fo(e,r,{forceRefresh:!0});if(n)return;s(t),_(r),y(i)}catch(e){if(xv.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)(ff,{open:f,onOpenChange:p,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(pf,{asChild:!0,children:a})}),(0,$.jsx)(Pr,{side:`top`,className:`bg-popover text-popover-foreground`,children:`Show context usage`})]}),(0,$.jsxs)(mf,{side:`top`,align:`end`,className:`w-auto p-4`,children:[c&&(0,$.jsxs)(`div`,{className:G(b.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Le,{className:`h-3 w-3 animate-pulse`}),(0,$.jsx)(`span`,{children:`Loading context...`})]}),u&&!c&&(0,$.jsxs)(`div`,{className:G(b.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Le,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:u})]}),!c&&!u&&o&&(0,$.jsx)(pv,{breakdown:o,actualUsage:r,threadId:e,conversationId:t,onClose:()=>p(!1),onToolDefinitionsOpen:()=>h(!0)})]})]}),t&&(0,$.jsx)(bv,{open:m,onOpenChange:h,threadId:e,conversationId:t,expectedTotalTokens:o?.categories.toolDefinitions??0})]})}var Cv=M(`app.token-usage-icon.ui`);function wv(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 Tv(e){return e>75?`text-red-500`:e>50?`text-orange-500`:`text-muted-foreground`}function Ev(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=Tv(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 Dv=500;function Ov(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=wv(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)},Dv),()=>{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&&(So.invalidate(`thread-${y.current}`),So.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 Po(n);if(e)return;d(t.currentConversationId)}catch(e){let t=e;Cv.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 fo(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}Cv.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)(Ev,{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)(No,{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)(Sv,{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 kv(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 Av(e){return Promise.all(e.map(kv))}function jv(e,t){let n=e.target.files;if(!n||n.length===0)return;let r=Array.from(n);e.target.value=``,Av(r).then(t)}function Mv(e,t){switch(e){case`archive`:return(0,$.jsx)(Me,{className:t});case`audio`:return(0,$.jsx)(Ce,{className:t});case`code`:return(0,$.jsx)(L,{className:t});case`config`:return(0,$.jsx)(w,{className:t});case`data`:return(0,$.jsx)(Ft,{className:t});case`document`:return(0,$.jsx)(R,{className:t});case`image`:return(0,$.jsx)(be,{className:t});case`json`:return(0,$.jsx)(P,{className:t});case`presentation`:return(0,$.jsx)(j,{className:t});case`security`:return(0,$.jsx)(D,{className:t});case`spreadsheet`:return(0,$.jsx)(cn,{className:t});case`text`:return(0,$.jsx)(ue,{className:t});case`video`:return(0,$.jsx)(A,{className:t});case`web`:return(0,$.jsx)(L,{className:t});case`file`:return(0,$.jsx)(x,{className:t})}}function Nv({filename:e,className:t}){let n=`file`,r=`text-muted-foreground`;try{if(typeof Mt==`function`&&e){let t=Mt(e);n=t.name,r=t.className??r}}catch{}let i=G(`h-4 w-4 flex-shrink-0`,r,t);return Mv(n,i)}function Pv(e){let t=(0,Q.c)(17),{showSuggestions:n,fileSuggestions:r,suggestionQuery:i,selectedIndex:a,onSelectFile:o,onMouseEnterSuggestion:s,containerRef:c}=e;if(!n||r.length===0)return null;let l,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=G(b.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),u=(0,$.jsx)(sn,{className:`h-3 w-3`}),t[0]=l,t[1]=u):(l=t[0],u=t[1]);let d;t[2]===i?d=t[3]:(d=(0,$.jsxs)(`div`,{className:l,children:[u,`Files matching "`,i,`"`]}),t[2]=i,t[3]=d);let f;if(t[4]!==r||t[5]!==s||t[6]!==o||t[7]!==a){let e;t[9]!==s||t[10]!==o||t[11]!==a?(e=(e,t)=>{let n=e.split(`/`).pop()??e,r=t===a;return(0,$.jsxs)(`button`,{type:`button`,className:G(b.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:()=>o(e),onMouseEnter:()=>s(t),children:[(0,$.jsx)(Nv,{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(b.compact,`truncate text-muted-foreground opacity-70`),children:e})]})]},e)},t[9]=s,t[10]=o,t[11]=a,t[12]=e):e=t[12],f=r.map(e),t[4]=r,t[5]=s,t[6]=o,t[7]=a,t[8]=f}else f=t[8];let p;return t[13]!==c||t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{ref:c,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:[d,f]}),t[13]=c,t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Fv(e){return[`off`,...e]}function Iv(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=Fv(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)(Di,{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(b.dropdownGroupHeading,`pb-1 uppercase tracking-wide`),children:`Reasoning`}),t[15]=f):f=t[15],o=oo,c=m,l=g;let _;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=G(b.body,`h-9 w-full bg-popover text-popover-foreground`),t[16]=_):_=t[16];let v;t[17]===m?v=t[18]:(v=We(m),t[17]=m,t[18]=v),t[19]===v?u=t[20]:(u=(0,$.jsx)($i,{"aria-label":`Reasoning effort`,className:_,children:(0,$.jsx)(`span`,{children:v})}),t[19]=v,t[20]=u),a=Ya;let y;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=function(e){return(0,$.jsx)(ka,{value:e,className:b.body,children:We(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 Lv(e){let t=(0,Q.c)(5),{providerSlug:n}=e;if(!n)return null;let r;t[0]===n?r=t[1]:(r=$a(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:Rv}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Rv(e){e.currentTarget.style.visibility=`hidden`}function zv(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(b.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)(Lv,{providerSlug:n}),t[1]=n,t[2]=s);let c;t[3]!==o||t[4]!==s?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(yr,{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)(Pr,{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)(Fo,{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)(la,{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 Bv(e){let t=e.pricing?.prompt;return t==null?null:Math.ceil(t*3)}function Vv(e){return`$${Be(e)}`}function Hv(e,t){return e.pricing?(0,$.jsxs)(`div`,{className:G(b.body,`max-w-64 whitespace-normal break-words text-left leading-relaxed`),children:[(0,$.jsx)(`div`,{children:`${Vv(e.pricing.prompt??0)} input per million tokens`}),(0,$.jsx)(`div`,{children:`${Vv(e.pricing.completion??0)} output per million tokens`}),(0,$.jsx)(`div`,{children:`Displayed value of ${t} is a relative price.`})]}):null}function Uv(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=(Bv(e)??2**53-1)-(Bv(n)??2**53-1);if(t!==0)return t}return Ao(e.id).localeCompare(Ao(n.id))})}function Wv(e){if(!e)return`Select Model`;let t=`${e.provider??`unknown`}/${e.id}`;return(e.supportedReasoningEfforts?.length??0)>0?`${t} ${We(de(e.settings,e.supportedReasoningEfforts??[]))}`:t}function Gv(e){return e instanceof Element&&!!(e.closest(`[data-radix-select-content]`)||e.closest(`[data-radix-popper-content-wrapper]`)||e.closest(`[role="listbox"]`))}function Kv(e){let t=(0,Q.c)(45),{availableModels:n,selectedModel:r,onModelSelect:i,onReasoningEffortChange:a}=e,[o,s]=Z.useState(!1),[c,l]=Z.useState(`relative-price`),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,t[0]=u):u=t[0];let[d,f]=Z.useState(u),p=Z.useRef(null),m,h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{Ma().then(function(e){f(new Map(e.map(Yv)))})},h=[],t[1]=m,t[2]=h):(m=t[1],h=t[2]),Z.useEffect(m,h);let g,_;t[3]===o?(g=t[4],_=t[5]):(g=()=>{let e=function(e){Gv(e.target)||p.current&&!p.current.contains(e.target)&&s(!1)};if(o)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},_=[o],t[3]=o,t[4]=g,t[5]=_),Z.useEffect(g,_);let v;t[6]===i?v=t[7]:(v=function(e){i(e),s(!1)},t[6]=i,t[7]=v);let y=v,x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=function(){l(function(e){return e===`relative-price`?`alphabetical`:`relative-price`})},t[8]=x):x=t[8];let S=x,C;t[9]!==n||t[10]!==c?(C=Uv(n,c),t[9]=n,t[10]=c,t[11]=C):C=t[11];let w=C,T=c===`relative-price`?Ge:he,E=c===`relative-price`?`Sort by relative price`:`Sort alphabetically`,D,O;t[12]===n.length?(D=t[13],O=t[14]):(O=()=>{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(Jv))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[n.length],t[12]=n.length,t[13]=D,t[14]=O),Z.useEffect(O,D);let k;t[15]===o?k=t[16]:(k=()=>s(!o),t[15]=o,t[16]=k);let A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=G(b.body,`font-normal`),t[17]=A):A=t[17];let j;t[18]===r?j=t[19]:(j=r?Ao(r.id):`No model`,t[18]=r,t[19]=j);let M;t[20]===j?M=t[21]:(M=(0,$.jsx)(`span`,{className:A,children:j}),t[20]=j,t[21]=M);let N;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Xe,{className:`h-3 w-3`}),t[22]=N):N=t[22];let P;t[23]!==k||t[24]!==M?(P=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-sm`,className:`gap-1 w-auto px-2`,onClick:k,children:[M,N]})}),t[23]=k,t[24]=M,t[25]=P):P=t[25];let F;t[26]===r?F=t[27]:(F=Wv(r),t[26]=r,t[27]=F);let I;t[28]===F?I=t[29]:(I=(0,$.jsx)(Pr,{children:F}),t[28]=F,t[29]=I);let L;t[30]!==P||t[31]!==I?(L=(0,$.jsxs)(Mi,{children:[P,I]}),t[30]=P,t[31]=I,t[32]=L):L=t[32];let R;t[33]!==T||t[34]!==y||t[35]!==a||t[36]!==d||t[37]!==r||t[38]!==o||t[39]!==E||t[40]!==w?(R=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)(Fo,{children:[(0,$.jsx)(`div`,{className:`-mb-3 flex justify-end px-1 pb-1`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":E,className:`rounded-md p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:S,children:(0,$.jsx)(T,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Pr,{side:`left`,align:`start`,sideOffset:8,children:E})]})}),Object.entries(w.reduce(qv,{})).map((e,t)=>{let[n,i]=e;return(0,$.jsxs)(`div`,{children:[t>0&&(0,$.jsx)(Di,{className:`my-1`}),(0,$.jsx)(zv,{providerSlug:n,providerData:d.get(n)}),i.map(e=>{let t=Bv(e),n=t==null?null:Hv(e,t),i=e.id===r?.id&&e.provider===r?.provider,a=Ao(e.id);return(0,$.jsxs)(`button`,{type:`button`,className:G(b.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:()=>y(e),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:a}),t!=null&&n&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`span`,{className:G(b.compact,`shrink-0 text-muted-foreground`),children:t})}),(0,$.jsx)(Pr,{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)(Iv,{selectedEffort:de(r.settings,r.supportedReasoningEfforts??[]),supportedEfforts:r.supportedReasoningEfforts??[],onReasoningEffortChange:e=>a(r,e)})})]})}),t[33]=T,t[34]=y,t[35]=a,t[36]=d,t[37]=r,t[38]=o,t[39]=E,t[40]=w,t[41]=R):R=t[41];let z;return t[42]!==L||t[43]!==R?(z=(0,$.jsxs)(`div`,{className:`relative`,ref:p,children:[L,R]}),t[42]=L,t[43]=R,t[44]=z):z=t[44],z}function qv(e,t){let n=t.provider??`Other`;return e[n]||(e[n]=[]),e[n].push(t),e}function Jv(e){return!e}function Yv(e){return[e.slug,e]}function Xv(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)(lt,{"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)(No,{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 Zv=M(`app.use-seatbelt-sandbox.hook`);function Qv(){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 Bi();e||(t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage))}catch(e){Zv.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 ki({seatbeltSandboxEnabled:e});t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage)}catch(e){throw Zv.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 $v=M(`app.session-learnings-dialog.ui`);function ey({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 ko(t);r||i(e)}catch(e){$v.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)(Fr,{className:`flex max-h-[80dvh] max-w-lg flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(wr,{className:`shrink-0`,children:[(0,$.jsx)(Ra,{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(b.bodyMuted),children:`Loading learnings…`}),s&&!a&&(0,$.jsx)(`p`,{className:G(b.body,`text-destructive`),children:s}),!a&&!s&&(0,$.jsx)(Oa,{className:`min-h-0 max-h-[50dvh] flex-1`,children:r.length===0?(0,$.jsx)(`p`,{className:G(b.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(b.body,`rounded-md border border-border/60 px-3 py-2 whitespace-pre-wrap select-text`),children:e},`${t}-${e}`))})})]})]})})}var ty=[{value:`auto`,label:`Auto`,icon:mt,description:`Picks the model for a thread's first prompt`},{value:`build`,label:`Build`,icon:ge,description:`Executes code changes and implements features`},{value:`plan`,label:`Plan`,icon:ze,description:`Creates implementation plans without making changes`},{value:`image`,label:`Image`,icon:an,description:`Generates and edits images`},{value:`ralph`,label:`Ralph`,icon:W,description:`Implements todo stories one-by-one with a fresh context each iteration`},{value:`orchestrate`,label:`Orchestrate`,icon:Ct,description:`Plans on a smart model and delegates implementation to a cheap model`}],ny={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 ry(e){let t=(0,Q.c)(17),{requirement:n,onOpenChange:r,onOpenSettings:i}=e,a=ny[n??`orchestrate`],o=n!==null,s;t[0]===a.title?s=t[1]:(s=(0,$.jsx)(Bs,{children:a.title}),t[0]=a.title,t[1]=s);let c;t[2]===a.description?c=t[3]:(c=(0,$.jsx)(zs,{children:a.description}),t[2]=a.description,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,$.jsxs)(Gs,{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)(Ws,{children:`Cancel`}),t[7]=u):u=t[7];let d;t[8]===i?d=t[9]:(d=(0,$.jsxs)(Us,{children:[u,(0,$.jsx)(Hs,{onClick:i,children:`Open Project Settings`})]}),t[8]=i,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(Vs,{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)(Ks,{open:o,onOpenChange:r,children:f}),t[13]=r,t[14]=o,t[15]=f,t[16]=p):p=t[16],p}var iy=M(`app.use-mode-menu.ui`);function ay(e,t,n){return t?`${e}: ${t.provider}/${t.model}`:`${e}: ${n}`}function oy({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=Es(),m=X(function(e){if(d)return e.projects.find(e=>e.projectId===d)}),[h,g]=Z.useState(!0),[_,v]=Z.useState(!1),[y,x]=Z.useState(null),S=zt({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i}),C=ty.find(e=>e.value===S),w=wt(m?.modelAliases),T=w||i?ty:ty.filter(e=>e.value!==`auto`),E=S===`auto`&&u?`last picked ${Dt[u]}`:C.description,D=at(m?.modelAliases),O=S===`auto`?[D?`Decides with: ${D.provider}/${D.model}`:`Decides with: Fast or Cheap, neither is set`,ay(Gt.cheap,Ie(`cheap`,m?.modelAliases),`not set`),ay(Gt.smart,Xt(m?.modelAliases),`not set, uses your selected model`)]:[],k=(0,$.jsxs)(`div`,{className:G(b.body,`max-w-64 whitespace-normal text-left leading-relaxed`),children:[(0,$.jsx)(`p`,{children:`${C.label} - ${E}`}),O.map(e=>(0,$.jsx)(`p`,{children:e},e))]});Z.useEffect(()=>{m&&g(m.allowAllCommands===!1)},[m]),Z.useEffect(()=>{m&&i&&!w&&l(!1)},[i,w,m,l]);async function A(){if(!d||_)return;let e=!h;g(e),v(!0);try{await jr(d,{allowAllCommands:!e}),pi(d);let t=await Sa();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(t){g(!e),iy.error(`Failed to update command confirmation setting:`,t)}finally{v(!1)}}function j(e){let t=qe(e);a(t.planMode),o(t.imageMode),s(t.ralphMode),c(t.orchestrateMode),l(t.autoMode)}async function M(e){if(d)try{await jr(d,{defaultChatMode:e}),pi(d);let t=await Sa();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){iy.error(`Failed to save the project's default mode:`,e)}}function N(){j(`orchestrate`)}function P(){return ct(m?.modelAliases)?!0:(x(`orchestrate`),!1)}function F(){return P()?(N(),!0):!1}function I(){return P()?(N(),!0):!1}function L(e){if(e===`orchestrate`){F()&&M(e);return}if(e===`auto`&&!w){x(`auto`);return}j(e),M(e)}function R(){x(null),d&&f&&f(d)}return{chatModes:T,confirmCommands:h,currentConfig:C,currentMode:S,modeTooltipContent:k,isUpdatingConfirmCommands:_,selectMode:L,trySelectOrchestrate:F,ensureCanOrchestrate:P,requestOrchestrateMode:I,toggleConfirmCommands:A,cheapAliasDialog:(0,$.jsx)(ry,{requirement:y,onOpenChange:e=>{e||x(null)},onOpenSettings:R})}}function sy(e){return e.replace(/[-_]+/g,` `).trim().split(/\s+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function cy(e,t){return t&&e.skillPath.startsWith(`${t}/`)?`${e.skillPath.slice(t.length+1)}/SKILL.md`:`.agents/skills/${e.name}/SKILL.md`}function ly(e){let t=(0,Q.c)(11),{skill:n,onOpen:r}=e,i;t[0]===n.name?i=t[1]:(i=sy(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)(se,{}),t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==o?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`action`,size:`icon-xs`,className:`ml-auto shrink-0`,"aria-label":a,onClick:o,onPointerDown:uy,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)(Pr,{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 uy(e){e.stopPropagation()}function dy(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)(Xv,{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:fy,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)(tl,{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 fy(e){e.stopPropagation()}function py(e){let t=(0,Q.c)(145),{planMode:n,imageMode:r,ralphMode:i,orchestrateMode:o,autoMode:s,setPlanMode:c,setImageMode:l,setRalphMode:u,setOrchestrateMode:d,setAutoMode:f,lastAutoRouteDecision:p,projectId:m,disabled:h,canAddTask:g,skills:_,onSelectSkill:v,slashCommands:y,onSelectSlashCommand:x,onFileAttach:S,onAddTask:C}=e,w=p===void 0?null:p,T=h===void 0?!1:h,E=Gn(),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(!1),{isEnabled:j,isSupported:M,isHealthy:N,isLoading:P,isSaving:F,updateIsEnabled:I}=Qv(),{setPendingExplorerPath:L}=Zs(),{openChatDockPanel:R}=$u(),B=X(vy),V=X(_y),H;t[0]!==s||t[1]!==r||t[2]!==w||t[3]!==E||t[4]!==o||t[5]!==n||t[6]!==m||t[7]!==i||t[8]!==f||t[9]!==l||t[10]!==d||t[11]!==c||t[12]!==u?(H={planMode:n,imageMode:r,ralphMode:i,orchestrateMode:o,autoMode:s,setPlanMode:c,setImageMode:l,setRalphMode:u,setOrchestrateMode:d,setAutoMode:f,lastAutoRouteDecision:w,projectId:m,onOpenProjectSettings(e){E(`/settings/project/${e}/model-aliases`)}},t[0]=s,t[1]=r,t[2]=w,t[3]=E,t[4]=o,t[5]=n,t[6]=m,t[7]=i,t[8]=f,t[9]=l,t[10]=d,t[11]=c,t[12]=u,t[13]=H):H=t[13];let{chatModes:U,confirmCommands:ee,currentConfig:ne,currentMode:re,modeTooltipContent:ie,isUpdatingConfirmCommands:ae,selectMode:oe,toggleConfirmCommands:se,cheapAliasDialog:ce}=oy(H),le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,W;if(t[14]!==U||t[15]!==ee||t[16]!==ne.icon||t[17]!==ne.label||t[18]!==re||t[19]!==T||t[20]!==P||t[21]!==F||t[22]!==ae||t[23]!==D||t[24]!==ie||t[25]!==v||t[26]!==R||t[27]!==m||t[28]!==V||t[29]!==j||t[30]!==N||t[31]!==M||t[32]!==oe||t[33]!==L||t[34]!==_||t[35]!==se||t[36]!==I){let e=[..._].sort(gy),n;t[53]!==R||t[54]!==V||t[55]!==L?(n=function(e){L(cy(e,V)),R(`explorer`),O(!1)},t[53]=R,t[54]=V,t[55]=L,t[56]=n):n=t[56];let r=n;fe=Yc,ge=D,_e=O;let i;t[57]===ne.icon?i=t[58]:(i=(0,$.jsx)(ne.icon,{className:`h-4 w-4`}),t[57]=ne.icon,t[58]=i);let a;t[59]===ne.label?a=t[60]:(a=(0,$.jsxs)(`span`,{className:`sr-only`,children:[ne.label,` mode`]}),t[59]=ne.label,t[60]=a);let o;t[61]!==T||t[62]!==i||t[63]!==a?(o=(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-sm`,disabled:T,children:[i,a]})}),t[61]=T,t[62]=i,t[63]=a,t[64]=o):o=t[64];let s;t[65]!==P||t[66]!==j||t[67]!==M?(s=M&&!P&&!j&&(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[65]=P,t[66]=j,t[67]=M,t[68]=s):s=t[68];let c;t[69]!==o||t[70]!==s?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`div`,{className:`relative`,children:[o,s]})}),t[69]=o,t[70]=s,t[71]=c):c=t[71];let l;if(t[72]===ie?l=t[73]:(l=(0,$.jsx)(Pr,{children:ie}),t[72]=ie,t[73]=l),t[74]!==c||t[75]!==l?(ve=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[74]=c,t[75]=l,t[76]=ve):ve=t[76],de=el,Se=`start`,Ce=`top`,W=`w-64`,t[77]!==ee||t[78]!==P||t[79]!==F||t[80]!==ae||t[81]!==m||t[82]!==j||t[83]!==N||t[84]!==M||t[85]!==se||t[86]!==I?(pe=(m||M&&!P)&&(0,$.jsxs)($.Fragment,{children:[m&&(0,$.jsx)(dy,{icon:nn,label:`Confirm Commands`,value:ee,onChange:()=>{se()},disabled:ae,ariaLabel:`Confirm Commands`}),M&&!P&&(0,$.jsx)(dy,{icon:z,iconClassName:G(j&&N?`text-brand`:`text-destructive`),label:`Sandbox`,value:j&&N,onChange:e=>{e&&!N||I(e).catch(hy)},disabled:F||!N&&!j,disableOn:!N,ariaLabel:`Sandbox`}),(0,$.jsx)(al,{})]}),t[77]=ee,t[78]=P,t[79]=F,t[80]=ae,t[81]=m,t[82]=j,t[83]=N,t[84]=M,t[85]=se,t[86]=I,t[87]=pe):pe=t[87],t[88]!==U||t[89]!==re||t[90]!==oe){let e;t[92]!==re||t[93]!==oe?(e=e=>{let t=e.icon,n=e.value===re;return(0,$.jsxs)(tl,{onClick:()=>oe(e.value),className:G(n&&`bg-accent`),children:[(0,$.jsx)(t,{className:`h-3.5 w-3.5`}),e.label,n&&(0,$.jsx)(lt,{className:`ml-auto h-3.5 w-3.5`})]},e.value)},t[92]=re,t[93]=oe,t[94]=e):e=t[94],me=U.map(e),t[88]=U,t[89]=re,t[90]=oe,t[91]=me}else me=t[91];t[95]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(al,{}),t[95]=he):he=t[95],ue=Zc,t[96]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsxs)(Qc,{children:[(0,$.jsx)(te,{className:`h-3.5 w-3.5`}),`Skills`]}),t[96]=xe):xe=t[96],le=$c,ye=`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,be=e.length===0?(0,$.jsx)(tl,{disabled:!0,children:`No skills available`}):e.map(e=>(0,$.jsxs)(tl,{onClick:()=>v(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:sy(e.name)}),(0,$.jsx)(ly,{skill:e,onOpen:()=>r(e)})]},e.skillPath)),t[14]=U,t[15]=ee,t[16]=ne.icon,t[17]=ne.label,t[18]=re,t[19]=T,t[20]=P,t[21]=F,t[22]=ae,t[23]=D,t[24]=ie,t[25]=v,t[26]=R,t[27]=m,t[28]=V,t[29]=j,t[30]=N,t[31]=M,t[32]=oe,t[33]=L,t[34]=_,t[35]=se,t[36]=I,t[37]=le,t[38]=ue,t[39]=de,t[40]=fe,t[41]=pe,t[42]=me,t[43]=he,t[44]=ge,t[45]=_e,t[46]=ve,t[47]=ye,t[48]=be,t[49]=xe,t[50]=Se,t[51]=Ce,t[52]=W}else le=t[37],ue=t[38],de=t[39],fe=t[40],pe=t[41],me=t[42],he=t[43],ge=t[44],_e=t[45],ve=t[46],ye=t[47],be=t[48],xe=t[49],Se=t[50],Ce=t[51],W=t[52];let we;t[97]!==le||t[98]!==ye||t[99]!==be?(we=(0,$.jsx)(le,{className:ye,children:be}),t[97]=le,t[98]=ye,t[99]=be,t[100]=we):we=t[100];let Te;t[101]!==ue||t[102]!==we||t[103]!==xe?(Te=(0,$.jsxs)(ue,{children:[xe,we]}),t[101]=ue,t[102]=we,t[103]=xe,t[104]=Te):Te=t[104];let Ee;t[105]!==x||t[106]!==y?(Ee=y.length>0&&(0,$.jsxs)(Zc,{children:[(0,$.jsxs)(Qc,{children:[(0,$.jsx)(a,{className:`h-3.5 w-3.5`}),`Slash Commands`]}),(0,$.jsx)($c,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:[...y].sort(my).map(e=>(0,$.jsxs)(tl,{onClick:()=>x(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(b.compact,`text-muted-foreground truncate`),children:e.metadata.description})]},e.filePath))})]}),t[105]=x,t[106]=y,t[107]=Ee):Ee=t[107];let De=!B,Oe,ke;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=()=>{A(!0)},ke=(0,$.jsx)(Le,{className:`h-3.5 w-3.5`}),t[108]=Oe,t[109]=ke):(Oe=t[108],ke=t[109]);let Ae;t[110]===De?Ae=t[111]:(Ae=(0,$.jsxs)(tl,{disabled:De,onClick:Oe,children:[ke,`Learnings`]}),t[110]=De,t[111]=Ae);let je;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(al,{}),t[112]=je):je=t[112];let Me;t[113]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(et,{className:`h-3.5 w-3.5`}),t[113]=Me):Me=t[113];let Ne;t[114]===S?Ne=t[115]:(Ne=(0,$.jsxs)(tl,{onClick:S,children:[Me,`Attach File`]}),t[114]=S,t[115]=Ne);let Pe;t[116]!==g||t[117]!==C?(Pe=g&&(0,$.jsxs)(tl,{onClick:C,children:[(0,$.jsx)(st,{className:`h-3.5 w-3.5`}),`Add Prompt`]}),t[116]=g,t[117]=C,t[118]=Pe):Pe=t[118];let Fe;t[119]!==de||t[120]!==pe||t[121]!==me||t[122]!==he||t[123]!==Te||t[124]!==Ee||t[125]!==Ae||t[126]!==Ne||t[127]!==Pe||t[128]!==Se||t[129]!==Ce||t[130]!==W?(Fe=(0,$.jsxs)(de,{align:Se,side:Ce,className:W,children:[pe,me,he,Te,Ee,Ae,je,Ne,Pe]}),t[119]=de,t[120]=pe,t[121]=me,t[122]=he,t[123]=Te,t[124]=Ee,t[125]=Ae,t[126]=Ne,t[127]=Pe,t[128]=Se,t[129]=Ce,t[130]=W,t[131]=Fe):Fe=t[131];let Ie;t[132]!==fe||t[133]!==ge||t[134]!==_e||t[135]!==ve||t[136]!==Fe?(Ie=(0,$.jsxs)(fe,{open:ge,onOpenChange:_e,children:[ve,Fe]}),t[132]=fe,t[133]=ge,t[134]=_e,t[135]=ve,t[136]=Fe,t[137]=Ie):Ie=t[137];let Re;t[138]!==k||t[139]!==B?(Re=(0,$.jsx)(ey,{open:k,onOpenChange:A,threadId:B}),t[138]=k,t[139]=B,t[140]=Re):Re=t[140];let ze;return t[141]!==ce||t[142]!==Ie||t[143]!==Re?(ze=(0,$.jsxs)($.Fragment,{children:[Ie,ce,Re]}),t[141]=ce,t[142]=Ie,t[143]=Re,t[144]=ze):ze=t[144],ze}function my(e,t){return e.name.localeCompare(t.name)}function hy(){}function gy(e,t){return sy(e.name).localeCompare(sy(t.name))}function _y(e){return e.projects.find(t=>t.projectId===e.selectedProjectId)?.threads.find(t=>t.threadId===e.selectedThreadId)?.path}function vy(e){return e.selectedThreadId}function yy(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function by(){return yy()!==null}function xy(){let e=yy();return e?new e:null}var Sy=!1;function Cy(){Sy||typeof globalThis.fetch!=`function`||(Nt(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{}}),Sy=!0)}function wy(e){Cy();let t=M(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 Ty=wy(`voice.stt.web`);function Ey(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 Dy(e){let t=``;for(let n=0;n<e.results.length;n+=1)t+=e.results[n][0]?.transcript??``;return t}function Oy(){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=xy();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=Dy(e).trim();t&&a(t)},e.onerror=e=>{let t=Ey(e.error);Ty.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}Ty.info(`Web Speech recognition ended — restarting`),u()},c.current=e;try{e.start(),t(`recording`),Ty.info(`Web Speech recognition started`)}catch(e){c.current=null,l.current=!1;let n=e instanceof Error?e.message:`Unknown error`;Ty.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),Ty.info(`Checking Web Speech API support`,{userAgent:navigator.userAgent,platform:navigator.platform});let n=by();return r(n),n?(Ty.info(`Web Speech API available — ready`),t(`ready`),`ready`):(Ty.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(``),Ty.info(`Starting Web Speech recognition`),u()},[u]),stopListening:(0,Z.useCallback)(async()=>{l.current=!1,c.current?.stop(),c.current=null,t(`ready`),Ty.info(`Web Speech recognition stopped`)},[]),requestModelDownload:(0,Z.useCallback)(async()=>{},[]),ensureReady:d,resetTranscript:(0,Z.useCallback)(()=>{a(``),s(null)},[])}}var ky=class{cacheEnabled=!0;log=M(`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})}}})}},Ay=wy(`voice.stt.vosk`),jy=new URL(`data:text/javascript;base64,Y2xhc3MgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7CiAgICBzdXBlcihvcHRpb25zKTsKICAgIHRoaXMucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLl9wcm9jZXNzTWVzc2FnZS5iaW5kKHRoaXMpOwogIH0KCiAgX3Byb2Nlc3NNZXNzYWdlKGV2ZW50KSB7CiAgICBpZiAoZXZlbnQuZGF0YS5hY3Rpb24gPT09ICJpbml0IikgewogICAgICB0aGlzLl9yZWNvZ25pemVySWQgPSBldmVudC5kYXRhLnJlY29nbml6ZXJJZDsKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQgPSBldmVudC5wb3J0c1swXTsKICAgIH0KICB9CgogIHByb2Nlc3MoaW5wdXRzKSB7CiAgICBjb25zdCBkYXRhID0gaW5wdXRzWzBdWzBdOwogICAgaWYgKHRoaXMuX3JlY29nbml6ZXJQb3J0ICYmIGRhdGEpIHsKICAgICAgY29uc3QgYXVkaW9BcnJheSA9IGRhdGEubWFwKCh2YWx1ZSkgPT4gdmFsdWUgKiAweDgwMDApOwoKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQucG9zdE1lc3NhZ2UoCiAgICAgICAgewogICAgICAgICAgYWN0aW9uOiAiYXVkaW9DaHVuayIsCiAgICAgICAgICBkYXRhOiBhdWRpb0FycmF5LAogICAgICAgICAgcmVjb2duaXplcklkOiB0aGlzLl9yZWNvZ25pemVySWQsCiAgICAgICAgICBzYW1wbGVSYXRlLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgdHJhbnNmZXI6IFthdWRpb0FycmF5LmJ1ZmZlcl0sCiAgICAgICAgfSwKICAgICAgKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoInJlY29nbml6ZXItcHJvY2Vzc29yIiwgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yKTsK`,``+import.meta.url);async function My(t){let{createModel:n}=await Wo(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 Ny=class{model=null;modelBlobUrl=null;checkSupport(){return typeof WebAssembly<`u`&&typeof Worker<`u`&&typeof indexedDB<`u`}async initModel(e){Ay.info(`Initializing Vosk model`,{modelUrl:e});try{this.model=await My(e),Ay.info(`Vosk model ready`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Ay.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 Py(i,t,a,o);return s.audioNode.connect(i.destination),Ay.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(),Ay.info(`Vosk mic pipeline stopped`)}}}terminate(){this.model?.terminate(),this.model=null,this.revokeModelBlobUrl()}revokeModelBlobUrl(){this.modelBlobUrl&&=(URL.revokeObjectURL(this.modelBlobUrl),null)}};async function Py(e,t,n,r){return await Fy(e,t,n,r)||(Ay.warn(`AudioWorklet unavailable — falling back to ScriptProcessorNode`),Iy(e,n,r))}async function Fy(e,t,n,r){if(!e.audioWorklet)return null;try{await e.audioWorklet.addModule(jy);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 Ay.warn(`Failed to initialize AudioWorklet pipeline`,{error:e instanceof Error?e.message:String(e)}),null}}function Iy(e,t,n){let r=e.createScriptProcessor(4096,1,1);return r.onaudioprocess=e=>{try{t.acceptWaveform(e.inputBuffer)}catch(e){Ay.error(`acceptWaveform failed`,{error:e instanceof Error?e.message:String(e)})}},n.connect(r),{audioNode:r,processorType:`scriptprocessor`}}var Ly=`/api/voice-model/download`;function Ry(){return Ly}var zy=wy(`voice.stt.vosk-hook`);function By(e,t){let n=e.trim(),r=t.trim();return n&&r?`${n} ${r}`:n||r}function Vy(){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(By(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=Ry();async function i(){t(`checking-support`),_(!1),l(0),s(null),zy.separator(`VOICE SESSION START`),zy.info(`Checking Vosk support`,{userAgent:navigator.userAgent,platform:navigator.platform,url:n});try{let e=new Ny;u.current=e;let i=e.checkSupport();if(r(i),!i)return zy.error(`Vosk not supported in this environment`),t(`error`),s(`Local speech recognition is not supported in this environment.`),`error`;let a=new ky;d.current=a,zy.info(`Checking IndexedDB model cache`,{url:n});let o=await a.getCachedModelByUrl(n);return o?(zy.info(`Cached model found — initializing Vosk`,{sizeBytes:o.byteLength,sizeMB:(o.byteLength/1024/1024).toFixed(2)}),_(!0),t(`initializing`),await e.initModelFromBytes(o),zy.info(`Vosk model initialized from cache — ready`),t(`ready`),`ready`):(zy.info(`Model not in cache — download required`),t(`needs-model`),`needs-model`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;return zy.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=Ry();t(`downloading-model`),l(0),s(null),zy.info(`Model download requested`,{url:e});try{let n=await d.current.loadModelByUrl(e,e=>{l(e),e%10==0&&zy.debug(`Model download progress`,{progress:e})});zy.info(`Model download complete — initializing Vosk`,{sizeBytes:n.byteLength,sizeMB:(n.byteLength/1024/1024).toFixed(2)}),t(`initializing`),await u.current.initModelFromBytes(n),zy.info(`Vosk model initialized after download — ready`),_(!0),t(`ready`)}catch(e){let n=e instanceof Error?e.message:`An unknown error occurred.`;zy.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(``),zy.separator(`RECORDING START`),!navigator.mediaDevices?.getUserMedia){zy.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`),zy.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){zy.info(`stopListening called but no active recording`),m.current&&t(`ready`);return}t(`transcribing`),zy.info(`Stopping recording`);try{await f.current.stop(),g.current=``,v(),t(`ready`),zy.info(`Recording stopped`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;zy.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 Hy(){let e=(0,Q.c)(22),t=Vy(),n=Oy();if(Lo()){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 Uy=new Map;function Wy(e){let t=Uy.get(e);if(t)return t;let n=M(e);return Uy.set(e,n),n}function Gy({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=Wy(n);async function o(){try{let n=await Bi();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=Wy(n);l(!0);try{a((await ki({[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 Ky(){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],Gy(t)}var qy=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)(vr,{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)(dn,{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});qy.displayName=dn.displayName;function Jy(e,t,n){return t?`Preparing voice input…`:n<100?`Downloading voice model… ${n}%`:e?`Finishing download…`:`Downloading voice model…`}function Yy(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)(Ra,{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)(wr,{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)(no,{variant:`error`,className:`mb-0`,children:c}),(0,$.jsxs)(Ba,{children:[(0,$.jsx)(No,{variant:`outline`,onClick:()=>r(!1),children:`Cancel`}),(0,$.jsx)(No,{onClick:i,children:`Try again`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(no,{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)(La,{title:Jy(a,o,s)}),(0,$.jsx)(qy,{value:o?100:s,className:`w-full`}),(0,$.jsx)(`p`,{className:G(b.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)(Fr,{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 Xy({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}=Hy(),{isEnabled:_}=Ky(),{toast:v}=Ls(),[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),Qr(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)(K,{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)(St,{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:`
3254
+ `;function Fp(e,t){return e?.status===`running`?`skip-running`:(e?.status===`success`||e?.status===`error`)&&e.code===t?`skip-same-code`:`start`}function Ip(e,t){return e===`running`?!0:e===`success`||e===`error`?!1:t}function Lp(e,t){return`${e}\0${t}`}var Rp=new Map,zp=new Map,Bp=new Map,Vp=M(`browser.js-executor`),Hp=new Map,Up=null;function Wp(){return Up||=URL.createObjectURL(new Blob([Pp],{type:`application/javascript`})),Up}function Gp(e,t){return Rp.get(Lp(t,e))}function Kp(e,t){return Rp.get(Lp(t,e))?.proxiedCalls??[]}function qp(e,t,n){let r=Lp(t,e),i=Hp.get(r);return i||(i=new Set,Hp.set(r,i)),i.add(n),()=>{i.delete(n),i.size===0&&Hp.delete(r)}}function Jp(e){let t=Hp.get(e);if(t)for(let e of t)e()}function Yp(e){let t=Bp.get(e);t&&(clearInterval(t),Bp.delete(e))}function Xp(e){if(Bp.has(e))return;let t=setInterval(()=>{let t=Rp.get(e);if(!t||t.status!==`running`){Yp(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&&Jp(e)},6e4);Bp.set(e,t)}function Zp(e,t){Yp(e),zp.delete(e),Rp.set(e,t),Jp(e)}var Qp=new Map;async function $p(e,t){let n=Qp.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 Vp.warn(`Failed to load Smart JS catalog`,e),{smartJsEnabled:!1,tools:[]}}finally{Qp.get(t)===r&&Qp.delete(t)}})(),Qp.set(t,r),r}async function em(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=tn(e,fe,`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=tn(o,p);return c.truncated?{text:c.text,error:null,details:{...s,proxyTruncated:!0,totalBytes:c.totalBytes}}:{text:o,error:null,details:s}}function tm(e,t,n){let r=Lp(n,e),i=Fp(Rp.get(r),t);if(i===`skip-running`){Xi(e,n).catch(e=>{Vp.warn(`Failed to re-acknowledge in-flight run_js`,e)});return}if(i===`skip-same-code`)return;let a=zp.get(r);a&&(a.terminate(),zp.delete(r)),Yp(r),Rp.set(r,{status:`running`,code:t,proxiedCalls:[]}),Jp(r);let o=Xa();Xi(e,n).catch(e=>{Vp.warn(`Failed to acknowledge run_js start`,e)}),(async()=>{let i=new Worker(Wp());zp.set(r,i);try{let a=await $p(o,n),s=async a=>{let s=a.data;if(s.type===`callTool`&&s.id&&s.toolName){let e=Rp.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],Jp(r),s.toolName===`bash`&&Xp(r));let a=await em(o,n,s.toolName,s.params),c=Rp.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),Jp(r)),i.postMessage({type:`callToolResult`,id:s.id,result:a});return}if(s.type===`done`&&s.toolCallId===e){i.terminate(),Zp(r,{status:`success`,code:t,result:s.result,proxiedCalls:Rp.get(r)?.proxiedCalls??[]}),await Za(e,s.result,n);return}if(s.type===`error`&&s.toolCallId===e){i.terminate();let a=s.error??`Unknown worker error`;Zp(r,{status:`error`,code:t,error:a,proxiedCalls:Rp.get(r)?.proxiedCalls??[]});try{await Za(e,{error:a},n)}catch(e){Vp.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`;Zp(r,{status:`error`,code:t,error:o,proxiedCalls:Rp.get(r)?.proxiedCalls??[]}),i.terminate(),Za(e,{error:o},n).catch(e=>{Vp.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);Zp(r,{status:`error`,code:t,error:o,proxiedCalls:Rp.get(r)?.proxiedCalls??[]});try{await Za(e,{error:o},n)}catch(e){Vp.error(`Failed to submit browser JS error result`,e)}}})()}var nm=`run_js`;function rm(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e,null,2)}function im(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 am(e){return e.toolName===`bash`&&e.status===`running`&&e.longRunningMinutes!=null&&e.longRunningMinutes>=1?`${im(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 om(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?gt(n.toolName):B(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=am(n),t[3]=n,t[4]=s);let c=s,l;t[5]!==n.toolName||t[6]!==o||t[7]!==r?(l=(0,$.jsx)(Zd,{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(b.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)(tt,{"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 sm({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)($f),l=(0,Z.useRef)(new Set),u=(0,Z.useRef)(s);u.current=s;let d=r!==void 0,f=o?Gp(e,o):void 0,[p,m]=(0,Z.useState)(()=>f?.status?f.status:d?i?`error`:`success`:a?`running`:`success`),[h,g]=(0,Z.useState)(()=>f?.status===`success`?rm(f.result):d&&!i&&r||null),[_,v]=(0,Z.useState)(()=>f?.error?f.error:d&&i?r||`Run JS failed`:null),[y,x]=(0,Z.useState)(()=>o?Kp(e,o):[]),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{l.current=new Set},[e,o]),(0,Z.useEffect)(()=>{if(o)return qp(e,o,()=>{let t=Gp(e,o);t&&(m(t.status),x(t.proxiedCalls),t.status===`success`?g(rm(t.result)):t.status===`error`&&v(t.error??null))})},[e,o]),(0,Z.useEffect)(()=>{let e=u.current,t=!1;for(let n of y){if(n.toolName!==`todo`||n.status!==`success`||l.current.has(n.id))continue;let r=np(e,n);l.current.add(n.id),r&&(e=r,t=!0)}t&&c(e,Date.now())},[y,c]),(0,Z.useEffect)(()=>{!o||!a||tm(e,n,o)},[e,n,o,a]);let w=o?Gp(e,o)?.status:void 0,T=Ip(w,a),E=(w??p)===`error`,D=T?gt(nm):B(nm),O=t.trim()||(T?null:`View output`),k=!T&&!!(n||h||_);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 min-w-0 w-full flex-wrap`,children:[(0,$.jsx)(Zd,{toolName:nm,displayName:D,isActive:T,showProgress:!1,className:`shrink-0`}),O?k?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>C(!0),className:G(b.caption,`font-mono hover:underline truncate whitespace-nowrap min-w-0 flex-1 cursor-pointer text-left`),children:O})}),(0,$.jsx)(Pr,{children:`View code and result`})]}):(0,$.jsx)(`span`,{className:G(b.caption,`font-mono truncate whitespace-nowrap min-w-0 flex-1`),children:O}):null,E?(0,$.jsx)(tt,{"aria-label":`Run JS failed`,className:`h-3.5 w-3.5 shrink-0 text-destructive`}):null]}),y.length>0?(0,$.jsx)(`div`,{className:`flex flex-col min-w-0 w-full border-l border-border/60 ml-2`,children:y.map(e=>(0,$.jsx)(om,{call:e},e.id))}):null,k?(0,$.jsx)(Rd,{open:S,onOpenChange:C,title:t.trim()||D,content:``,body:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[n?(0,$.jsx)(`pre`,{className:Ld({padding:`3`}),children:n}):null,_?(0,$.jsx)(`pre`,{className:Ld({padding:`3`,className:`text-destructive`}),children:_}):null,h==null?null:(0,$.jsx)(`pre`,{className:Ld({padding:`3`}),children:h})]})}):null]})}function cm(e){let t=(0,Q.c)(12),{url:n,title:r}=e,i;t[0]!==r||t[1]!==n?(i=os(r,n),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=G(b.label,`flex cursor-default items-center gap-2 py-2`),s=(0,$.jsx)(Qt,{className:`h-4 w-4 shrink-0 text-brand`}),t[3]=o,t[4]=s):(o=t[3],s=t[4]);let c;t[5]===a?c=t[6]:(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`div`,{className:o,children:[s,(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:a})]})}),t[5]=a,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,$.jsx)(Pr,{className:`max-w-md break-all`,children:n}),t[7]=n,t[8]=l);let u;return t[9]!==c||t[10]!==l?(u=(0,$.jsx)(`div`,{className:`my-1 overflow-hidden`,children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u}var lm=new Set,um=new Map,dm=5e3;function fm(e){lm.add(e);let t=um.get(e);t&&clearTimeout(t),um.set(e,setTimeout(()=>{lm.delete(e),um.delete(e)},dm))}function pm(e){return lm.has(e)}function mm(e){return e.filter(e=>!lm.has(e))}var hm;(function(e){e.Unimplemented=`UNIMPLEMENTED`,e.Unavailable=`UNAVAILABLE`})(hm||={});var gm=class extends Error{constructor(e,t,n){super(e),this.message=e,this.code=t,this.data=n}},_m=e=>e?.androidBridge?`android`:e?.webkit?.messageHandlers?.bridge?`ios`:`web`,vm=e=>{let t=e.CapacitorCustomPlatform||null,n=e.Capacitor||{},r=n.Plugins=n.Plugins||{},i=()=>t===null?_m(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 gm(`"${e}" plugin is not implemented on ${c}`,hm.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 gm(`"${e}.${t}()" is not implemented on ${c}`,hm.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=gm,n.DEBUG=!!n.DEBUG,n.isLoggingEnabled=!!n.isLoggingEnabled,n},ym=(e=>e.Capacitor=vm(e))(typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}),bm=ym.registerPlugin,xm=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 ym.Exception(e,hm.Unimplemented)}unavailable(e=`not available`){return new ym.Exception(e,hm.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)}))}},Sm=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),Cm=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),wm=class extends xm{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=Cm(n).trim(),r=Cm(r).trim(),t[n]=r}),t}async setCookie(e){try{let t=Sm(e.key),n=Sm(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)}}};bm(`CapacitorCookies`,{web:()=>new wm});var Tm=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)}),Em=(e={})=>{let t=Object.keys(e);return Object.keys(e).map(e=>e.toLocaleLowerCase()).reduce((n,r,i)=>(n[r]=e[t[i]],n),{})},Dm=(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,Om=(e,t={})=>{let n=Object.assign({method:e.method||`GET`,headers:e.headers},t),r=Em(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},km=class extends xm{async request(e){let t=Om(e,e.webFetchExtra),n=Dm(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 Tm(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`}))}};bm(`CapacitorHttp`,{web:()=>new km});var Am;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(Am||={});var jm;(function(e){e.StatusBar=`StatusBar`,e.NavigationBar=`NavigationBar`})(jm||={});var Mm=class extends xm{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`)}};bm(`SystemBars`,{web:()=>new Mm});var Nm=bm(`KeepAwake`,{web:()=>Wo(()=>import(`./web-CxBqU2BU.js`).then(e=>new e.KeepAwakeWeb),[])}),Pm=0;function Fm(){return typeof window<`u`&&Ir()}async function Im(){if(Fm()&&(Pm+=1,!(Pm>1)))try{await Nm.keepAwake()}catch{Pm=0}}async function Lm(){if(Fm()&&Pm!==0&&(--Pm,!(Pm>0)))try{await Nm.allowSleep()}catch{Pm=0}}async function Rm(){if(Pm=0,Fm())try{await Nm.allowSleep()}catch{}}var zm=M(`app.use-chat-handlers.hook`),Bm=M(`git.checkpoint`);async function Vm(e,t,n,r,i,a){let o=await qr(t,r);if(t===i.current&&!a?.isStale?.()){if(n!==es){e({type:Y.SetPaneMessages,paneId:n,messages:o.messages});return}e({type:Y.SetMessages,messages:o.messages})}}function Hm(e,t,n){return{...e,threadId:t,paneId:n}}var Um=/^\/compact(?:\s+(.*))?$/i,Wm=/^\/send-event(?:\s+([a-zA-Z0-9._:-]+))?(?:\s+([\s\S]+))?$/i,Gm=`[Compact] Compaction in progress...`;function Km(e,t,n){let r={type:`thinking`,content:Gm,model:n};e(Hm({type:Y.SetStreaming,isStreaming:!0},t,`primary`)),e(Hm({type:Y.SetStreamModel,model:n},t,`primary`)),e(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r.content??``,segments:bs([],`thinking`,r.content??``)},t,`primary`))}var qm=8e3;async function Jm(e,t){try{let n=await Promise.race([Hi(e,t),new Promise(e=>{setTimeout(()=>e(null),qm)})]);if(n===null){Bm.warn(`Checkpoint creation timed out`,{threadId:e,messageId:t});return}if(n.success&&n.checkpointRef)return n.stashed||Bm.debug(`Checkpoint recorded with clean working tree`,{threadId:e,messageId:t}),n.checkpointRef;`error`in n&&n.error?Bm.warn(`Checkpoint creation failed`,{threadId:e,messageId:t,error:n.error}):n.success||Bm.debug(`Checkpoint skipped`,{threadId:e,messageId:t,reason:n.reason})}catch(n){Bm.warn(`Checkpoint creation errored`,{threadId:e,messageId:t,error:n instanceof Error?n.message:String(n)})}}var Ym=25e3,Xm=12e3,Zm=`0 0 0.5rem 0.5rem`,Qm=3e3,$m=`tarsk-widget-layer`,eh=M(`widget.bridge`);function th(e,t){eh.info(e,t)}function nh(e,t){eh.warn(e,t)}function rh(e,t){eh.error(e,t)}var ih=new Map,ah=new Map,oh=new Set,sh=new Map,ch=null,lh=!1,uh=!1;function dh(e){return e.trim().replace(/\/+$/,``)}function fh(e){try{return new URL(e).origin}catch{return``}}function ph(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function mh(e){let t=Xa().replace(/\/$/,``);try{let n=new URL(e);return`${t}/api/widget/proxy/${ph(n.origin)}${`${n.pathname}${n.search}`}`}catch{return e}}function hh(){return typeof window>`u`?``:window.location.origin}function gh(){return`wreq-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function _h(e){return ih.get(dh(e))}function vh(e,t){let n=dh(e),r=sh.get(n);return r||(r=new Set,sh.set(n,r)),r.add(t),t(),()=>{r.delete(t),r.size===0&&sh.delete(n)}}function yh(e){let t=sh.get(e);if(t)for(let e of t)e()}function bh(e,t,n){e.status=t,e.error=n,t===`error`?rh(`Status changed to error for ${e.url}`,n):th(`Status changed to ${t} for ${e.url}`),yh(dh(e.url))}function xh(){return ch&&document.body.contains(ch)?ch:(ch=document.createElement(`div`),ch.id=$m,ch.style.position=`fixed`,ch.style.top=`0`,ch.style.left=`0`,ch.style.width=`0`,ch.style.height=`0`,ch.style.zIndex=`20`,ch.style.pointerEvents=`none`,document.body.appendChild(ch),ch)}function Sh(e,t,n){e.lastVisible!==t&&(e.lastVisible=t,t&&n?th(`iframe visible for ${e.url} at`,`${Math.round(n.left)},${Math.round(n.top)} ${Math.round(n.width)}x${Math.round(n.height)}`):th(`Iframe hidden for ${e.url}`,{reason:`no-anchor-or-off-screen`}))}function Ch(){for(let e of ih.values()){let{iframe:t,anchor:n}=e;if(!n||!n.isConnected){t.style.display=`none`,Sh(e,!1);continue}let r=n.getBoundingClientRect();if(!(r.bottom>0&&r.top<window.innerHeight&&r.right>0&&r.left<window.innerWidth&&r.width>0&&r.height>0)){t.style.display=`none`,Sh(e,!1);continue}t.style.display=`block`,t.style.position=`fixed`,t.style.top=`${r.top}px`,t.style.left=`${r.left}px`,t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,t.style.borderRadius=Zm,t.style.overflow=`hidden`,t.style.pointerEvents=`auto`,Sh(e,!0,r)}}function wh(){uh&&(Ch(),requestAnimationFrame(wh))}function Th(){uh||(uh=!0,requestAnimationFrame(wh))}function Eh(){lh||typeof window>`u`||(lh=!0,window.addEventListener(`message`,e=>{let t=e.data,n=Oh(e.origin);n&&(n.messagesReceived+=1);{let n=t&&typeof t==`object`?{source:t.source,action:t.action}:typeof t;th(`raw message from ${e.origin}`,n)}if(r(t)){let t=Oh(e.origin);if(!t){nh(`Received widgetReady from unknown origin ${e.origin}`);return}th(`Received widgetReady from ${e.origin}`),kh(t);return}if(!ae(t))return;if(th(`Received message "${t.action}" from ${e.origin}`,{requestId:t.requestId}),t.action!==Oe.getToolsResponse&&t.action!==Oe.callToolResponse){th(`Ignoring message with unexpected action "${t.action}"`);return}let i=ah.get(t.requestId);if(!i){nh(`Ignoring response with no pending request for requestId ${t.requestId}`);return}let a=ih.get(i.widgetId);if(a&&a.origin&&e.origin!==a.origin){nh(`Ignoring response due to origin mismatch`,{expectedOrigin:a.origin,actualOrigin:e.origin});return}clearTimeout(i.timeout),ah.delete(t.requestId),i.resolve(t)}),th(`message listener attached`))}function Dh(e){let t=dh(e),n=ih.get(t);if(n)return n;Eh();let r=xh(),i=mh(e),a=fh(i)||hh();th(`mounting widget ${e}`,{proxySrc:i,origin:a,appOrigin:hh(),electrobun:Lo()});let o=document.createElement(`iframe`);o.title=`Widget`,o.setAttribute(`sandbox`,`allow-scripts allow-same-origin allow-forms allow-popups`),o.style.border=`none`,o.style.display=`none`,o.style.background=`transparent`;let s,c={url:e,origin:a,iframe:o,loaded:new Promise(e=>{s=e}),markLoaded:s,hasLoaded:!1,readyReceived:!1,readyResolvers:[],messagesReceived:0,tools:[],status:`loading`,anchor:null};return o.addEventListener(`load`,()=>{c.hasLoaded=!0,th(`Iframe load fired for ${e}`),s()},{once:!0}),o.addEventListener(`error`,t=>{rh(`Iframe error event for ${e}`,t)}),r.appendChild(o),o.src=i,ih.set(t,c),Th(),c}function Oh(e){if(e){for(let t of ih.values())if(t.origin===e)return t}}function kh(e){if(e.readyReceived)return;e.readyReceived=!0;let t=e.readyResolvers.splice(0);for(let e of t)e()}function Ah(e){return e.readyReceived?Promise.resolve():new Promise(t=>{let n=!1,r,i=()=>{n||(n=!0,clearTimeout(a),r&&clearTimeout(r),e.readyResolvers=e.readyResolvers.filter(e=>e!==i),t())};e.readyResolvers.push(i),e.loaded.then(()=>{n||e.readyReceived||(r=setTimeout(()=>{e.readyReceived||nh(`No widgetReady received within ${Qm}ms after load for ${e.url}; proceeding without it because the widget may not implement the readiness beacon.`),i()},Qm))});let a=setTimeout(()=>{if(n)return;let t=Lo()?`running in the Electrobun desktop build, which may block embedding external sites in an iframe`:`the site may block embedding (X-Frame-Options / CSP frame-ancestors) or be unreachable`;nh(`no widgetReady within ${Xm}ms for ${e.url} — ${t}. Attempting the handshake anyway.`),i()},Xm)})}function jh(e,t){let n=Dh(e);n.anchor=t,th(`Anchor ${t?`set`:`cleared`} for ${e}`),Ch()}function Mh(e){let t=dh(e),n=ih.get(t);if(n){n.anchor=null,n.iframe.remove(),ih.delete(t),sh.delete(t);for(let[e,n]of ah.entries())n.widgetId===t&&(clearTimeout(n.timeout),ah.delete(e));th(`Closed widget ${e}`),ih.size===0?(uh=!1,ch&&=(ch.remove(),null)):Ch()}}function Nh(e,t,n,r,i=Ym){return new Promise((a,o)=>{let s=setTimeout(()=>{ah.delete(r);let n=`iframeLoaded=${e.hasLoaded}, widgetReady=${e.readyReceived}, messagesFromIframe=${e.messagesReceived}`;o(Error(`Widget did not respond to "${t}" within ${i}ms (no ${t}Response received) [${n}]`))},i);ah.set(r,{widgetId:dh(e.url),resolve:a,reject:o,timeout:s});let c=e.iframe.contentWindow;if(!c){clearTimeout(s),ah.delete(r),o(Error(`Widget iframe has no content window`));return}th(`Posting message "${t}"`,{requestId:r,targetOrigin:e.origin||`*`,iframeSrc:e.iframe.getAttribute(`src`),readyReceived:e.readyReceived,hasLoaded:e.hasLoaded}),c.postMessage(n,e.origin||`*`)})}async function Ph(e,t){if(oh.has(e)){th(`Skipping duplicate discoverWidgetTools call`,{toolCallId:e});return}oh.add(e),th(`Starting widget tool discovery`,{toolCallId:e,url:t});let n=Dh(t);try{await Ah(n),bh(n,`discovering`);let r,i;for(let e=1;e<=3;e++){let a=gh();try{r=await Nh(n,Oe.getTools,{source:Pe,requestId:a,action:Oe.getTools,options:{fromOrigins:[hh()]}},a,7e3);break}catch(n){i=n,nh(`getTools attempt ${e}/3 failed for ${t}`,n)}}if(!r)throw i instanceof Error?i:Error(String(i));let a=Array.isArray(r.tools)?r.tools:[];th(`discovered ${a.length} tool(s) for ${t}:`,a.map(e=>e.name)),n.tools=a,bh(n,`ready`),await Do(e,{tools:a})}catch(t){let r=t instanceof Error?t.message:String(t);bh(n,`error`,r);try{await Do(e,{error:r})}catch(e){rh(`Failed to submit discovery error`,e)}}}async function Fh(e,t,n,r){if(oh.has(e)){th(`Skipping duplicate callWidgetTool call`,{toolCallId:e});return}oh.add(e),th(`Starting widget tool call`,{toolCallId:e,url:t,tool:n,input:r});let i=Dh(t);try{await Ah(i);let t=gh(),a=await Nh(i,Oe.callTool,{source:Pe,requestId:t,action:Oe.callTool,name:n,arguments:r},t);if(a.error||a.isError){let t=a.error??Ih(a.result)??`Widget tool failed`;nh(`Widget tool "${n}" returned error`,t),await Do(e,{error:t});return}th(`Widget tool "${n}" succeeded`),await Do(e,{result:a.result})}catch(t){let r=t instanceof Error?t.message:String(t);rh(`Widget tool "${n}" failed`,r);try{await Do(e,{error:r})}catch(e){rh(`Failed to submit widget call error`,e)}}}function Ih(e){if(e&&typeof e==`object`&&`content`in e){let t=e.content;if(Array.isArray(t)){let e=t.find(e=>e?.type===`text`&&typeof e.text==`string`);if(e?.text)return e.text}}return null}var Lh=`tarsk-browser-tool-request`,Rh=`tarsk-ask-user-prompt`,zh=new Set,Bh=new Set,Vh=new Map,Hh=new Map,Uh=new Map,Wh=`tarsk.ask-user-tool-ownership.v1`,Gh=1440*60*1e3;function Kh(){if(!(typeof window>`u`))try{let e=window.localStorage.getItem(Wh);if(!e)return;let t=JSON.parse(e),n=Date.now()-Gh;for(let[e,r]of Object.entries(t.askUser??{}))r.updatedAt>=n&&r.paneId&&(Hh.set(e,r.paneId),r.threadId&&Vh.set(e,r.threadId));for(let[e,r]of Object.entries(t.subagents??{}))r.updatedAt>=n&&r.paneId&&Uh.set(e,r.paneId)}catch{}}var qh=!1;function Jh(){typeof window>`u`||qh||(qh=!0,window.setTimeout(()=>{qh=!1;try{let e=Date.now(),t={};for(let[n,r]of Hh)t[n]={paneId:r,threadId:Vh.get(n),updatedAt:e};let n={};for(let[t,r]of Uh)n[t]={paneId:r,updatedAt:e};window.localStorage.setItem(Wh,JSON.stringify({askUser:t,subagents:n}))}catch{}},0))}Kh();function Yh(e,t){Uh.set(e,t),Jh()}function Xh(e){return Uh.get(e)}function Zh(e){Lo()&&window.dispatchEvent(new CustomEvent(Lh,{detail:e}))}function Qh(e,t,n){!Lo()||zh.has(e)||t.action&&(zh.add(e),Zh({toolCallId:e,input:t,threadId:n}))}function $h(e,t,n){Vh.set(e,t),n&&(Hh.set(e,n),Jh())}function eg(e,t,n){$h(e,t,n),!Bh.has(e)&&(Bh.add(e),window.dispatchEvent(new CustomEvent(Rh,{detail:{toolCallId:e,threadId:t,paneId:n}})))}function tg(e){return Vh.get(e)}function ng(e){return Hh.get(e)}function rg(){return Lo()?`views://public/browser-preview-rpc.js`:`${Xa()}/browser-preview-rpc.js`}async function ig(e,t){await oi(e,t)}async function ag(e,t){await Jr(e,t)}function og(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function sg(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t==`string`&&t.length>0?t:null}function cg(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||!og(e.name))continue;let r=sg(e.input??e.arguments);r&&t.push({id:e.id,code:r})}return t}function lg(e,t){if(t)for(let n of e)tm(n.id,n.code,t)}function ug(e,t){if(!(!t||!e.includes(`"run_js"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;lg(cg(n),t)}catch{}}function dg(e,t){if(!t||!e||!og(e.toolName))return;let n=e.partial?.content;Array.isArray(n)&&lg(cg(n),t)}function fg(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&&Qh(e.id,e.input,t)}catch{}}function pg(e,t){if(!(!e.includes(`"open_widget"`)&&!e.includes(`"call_widget_tool"`)))try{let n=JSON.parse(e.trim());if(!Array.isArray(n))return;for(let e of n)if(!(e?.type!==`tool_use`||!e?.id)){if(e.name===`open_widget`&&typeof e.input?.url==`string`)t({type:Y.AddOpenWidget,widget:{id:e.id,url:e.input.url,title:typeof e.input.title==`string`?e.input.title:void 0}}),Ph(e.id,e.input.url);else if(e.name===`call_widget_tool`&&typeof e.input?.url==`string`&&typeof e.input?.tool==`string`){let t=e.input.input&&typeof e.input.input==`object`?e.input.input:{};Fh(e.id,e.input.url,e.input.tool,t)}}}catch{}}function mg(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&&eg(e.id,t,n)}catch{}}function hg(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`&&jd(e.id,e.input.command)}catch{}}function gg(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`&&Md(e.toolCallId)}catch{}}function _g(e){let{dispatch:t,streamSessionsRef:n,connectThreadStreamRef:r,selectedThreadIdRef:i}=e;function a(e,o,s){let c=Is(e,s.paneId);if(s.pendingTransientRecovery){s.pendingTransientRecovery=!1,(async()=>{try{if((await ia()).includes(e)){r.current?.(e,t=>zo(e,t,s.conversationId),o,s.paneId,s.conversationId);return}}catch(e){zm.error(`Failed to recover chat stream after disconnect:`,e)}a(e,o,s)})();return}if(n.current.get(c)!==s){n.current.has(c)||(fm(e),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.RemoveProcessingThread,threadId:e}));return}if(n.current.delete(c),t({type:Y.ClearToolCallProgress}),s.keepsDeviceAwake&&(s.keepsDeviceAwake=!1,Lm()),fm(e),s.error&&!s.stopHandled){let n={messageId:`msg-${Date.now()}-error`,sender:`agent`,content:`Error: ${s.error}`,contentType:`text`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1};t({type:Y.AddMessage,message:n,threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s.stopHandled){if(s.segments.length>0){let n=ks(s.segments);t({type:Y.AddMessage,message:{messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:n,contentType:`markdown`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1},threadId:e,paneId:s.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:o||`default`,isThinking:!1},threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:s.paneId}),t({type:Y.RemoveProcessingThread,threadId:e});return}let l=ks(s.segments)||`...`,u={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:l,contentType:`markdown`,timestamp:new Date().toISOString(),model:o||`default`,isThinking:!1};async function d(){let r=!1;for(let a=0;a<4;a++){if(a>0&&await new Promise(e=>setTimeout(e,150*a)),n.current.has(c))return;try{if(await Vm(t,e,s.paneId,s.conversationId,i,{isStale:()=>n.current.has(c)}),n.current.has(c))return;r=!0;break}catch(e){zm.error(`Failed to reload chat history after stream:`,e);break}}n.current.has(c)||(r||t({type:Y.AddMessage,message:u,threadId:e,paneId:s.paneId}),t(Hm({type:Y.ResetStream},e,s.paneId)),t({type:Y.SetActiveStreamPane,paneId:null}),t({type:Y.MarkThreadCompleted,threadId:e,paneId:s.paneId}),t({type:Y.RemoveProcessingThread,threadId:e}))}d()}return a}function vg(e){let{dispatch:t,streamSessionsRef:n,selectedThreadIdRef:r,setError:i,setShowEmptyBalanceDialog:a,finalizeThreadStream:o}=e;function s(e,s,l,u,d){let f=Is(e,u),p=n.current.get(f);p&&(p.controller.abort(),p.cancel?.());let m=new AbortController,h={controller:m,cancel:null,segments:[],assistantMessage:``,assistantThinking:``,hasStructuredContent:!1,error:null,stopHandled:!1,pendingTransientRecovery:!1,activeSubagentToolCallId:null,paneId:u,conversationId:d,keepsDeviceAwake:!1};return n.current.set(f,h),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.AddProcessingThread,threadId:e}),t(Hm({type:Y.SetStreaming,isStreaming:!0},e,u)),t({type:Y.SetActiveStreamPane,paneId:u}),Im().then(()=>{h.keepsDeviceAwake=!0}),s(m.signal).then(n=>{if(!n||m.signal.aborted){o(e,l,h);return}h.cancel=Wa(n,n=>{if(t(Hm({type:Y.IncrementStreamEventCount},e,u)),n.type===`error`){let t=c(n.content?.trim()||n.error?.message?.trim()||n.message?.trim()||`Unknown error occurred`);h.error=t,e===r.current&&i(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`);h.segments=bs(h.segments,`thinking`,`[Auto-compacted] ${i}\n`),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:h.segments},e,u));return}if(n.type===`long_running_confirmation`){let r=n.prompt;if(!r)return;h.segments=ys(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}if(n.type===`shell_permission`){let r=n.shellPermission;if(!r)return;h.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:h.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for shell approval: ${r.command}\n`}),h.segments=hs(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}let a=n;if(a.type===`seatbelt_escalation`){let n=a.seatbeltEscalation;if(!n)return;h.segments=Ms(h.segments,n),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}if(n.type===`web_fetch_permission`){let r=n.webFetchPermission;if(!r)return;h.activeSubagentToolCallId&&t({type:Y.AppendToolExecutionOutput,toolCallId:h.activeSubagentToolCallId,threadId:e,toolName:`agent`,delta:`\n⏳ Waiting for approval to fetch ${r.hostname}\n`}),h.segments=Ps(h.segments,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));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}),dg(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){h.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(Yh(n.toolCallId,h.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&&(mg(r,e,h.paneId),ug(r,e))}let r=wf(n);r&&t({type:Y.AppendToolExecutionOutput,toolCallId:n.toolCallId,threadId:e,toolName:`agent`,delta:r})}return}if(n.type===`subagent_complete`){n.toolCallId&&(h.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(Hm({type:Y.SetContextUsage,contextUsage:n.contextUsage},e,u));return}if(n.model&&t(Hm({type:Y.SetStreamModel,model:n.model},e,u)),n.type===`thinking`||n.isThinking){let r=n.content??``;if(ug(r,e),fg(r,e),mg(r,e,h.paneId),pg(r,t),gs(r)){hg(r),gg(r),h.hasStructuredContent=!0,h.segments=ps(h.segments,r),h.assistantMessage=vs(h.segments),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u));return}h.assistantThinking+=r,h.segments=bs(h.segments,`thinking`,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:r,segments:h.segments},e,u))}else if(n.type===`result`){h.hasStructuredContent=!0;let r=n.content??``;h.assistantMessage=r,h.segments=Fs(h.segments,r),t(Hm({type:Y.SetStreamContent,content:r},e,u)),typeof r==`string`&&(ug(r,e),fg(r,e),mg(r,e,h.paneId),pg(r,t))}else{if(h.hasStructuredContent)return;let r=n.content??``;h.assistantMessage+=r,h.segments=bs(h.segments,`content`,r),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:r,segments:h.segments},e,u))}},()=>{o(e,l,h)},t=>{if(t.includes(`AbortError`)||t.includes(`canceled`)||t.includes(`BodyStreamBuffer was aborted`)){o(e,l,h);return}if(ua(t)){h.pendingTransientRecovery=!0;return}let n=c(t.trim()||`Unknown error (no error details in response)`);h.error=n,e===r.current&&i(n),o(e,l,h)},n=>{if(t(Hm({type:Y.IncrementStreamEventCount},e,u)),n.role===`assistant`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);if(n.isThinking??!1){ug(i,e),fg(i,e),mg(i,e,h.paneId),pg(i,t),h.assistantThinking+=i,h.segments=bs(h.segments,`thinking`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`thinking`,content:i,segments:h.segments},e,u));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?(h.hasStructuredContent=!0,h.assistantMessage=i,h.segments=Fs(h.segments,i),t(Hm({type:Y.SetStreamContent,content:i},e,u)),ug(i,e),fg(i,e),mg(i,e,h.paneId),pg(i,t)):(h.assistantMessage+=i,h.segments=bs(h.segments,`content`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:h.segments},e,u)))}else if(n.role===`tool`){let r=n.content??``,i=typeof r==`string`?r:JSON.stringify(r);i&&(hg(i),gg(i),gs(i)?(h.hasStructuredContent=!0,h.segments=ps(h.segments,i),h.assistantMessage=vs(h.segments),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:``,segments:h.segments},e,u))):i.trim().startsWith(`[`)||(h.assistantMessage+=i,h.segments=bs(h.segments,`content`,i),t(Hm({type:Y.AppendStreamChunk,chunkType:`content`,content:i,segments:h.segments},e,u))))}})}).catch(s=>{if(s instanceof Error&&s.name===`AbortError`){if(h.stopHandled||!n.current.has(f))return;n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s instanceof ri){n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e}),a(!0);return}if(s instanceof Error&&s.message.includes(`not currently processing`)){n.current.delete(f),t(Hm({type:Y.ResetStream},e,u)),t({type:Y.RemoveProcessingThread,threadId:e});return}if(s instanceof Error&&ua(s.message)){h.pendingTransientRecovery=!0,o(e,l,h);return}let d=c((s instanceof Error?s.message:``).trim()||`Unknown error (no error details in response)`);h.error=d,e===r.current&&i(d),zm.error(`Failed to subscribe to chat stream:`,s),o(e,l,h)}),m}return s}async function yg(e){return so(`api/projects/${ba(e)}/tasks`)}async function bg(e,t,n){return ea(`api/projects/${ba(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 xg(e,t,n){return Ca(`api/projects/${ba(e)}/tasks/${ba(t)}`,n)}async function Sg(e,t){return Ca(`api/projects/${ba(e)}/tasks/${ba(t)}`,{runNow:!0})}async function Cg(e,t,n){return ea(`api/projects/${ba(e)}/events/dispatch`,{eventKey:t,payload:n})}async function wg(e,t){await ma(`api/projects/${ba(e)}/tasks/${ba(t)}`)}async function Tg(e){return so(`api/projects/${ba(e)}/tags`)}async function Eg(e,t,n){return Ca(`api/projects/${ba(e)}/tags/${ba(t)}`,{name:n})}async function Dg(e,t){return ea(`api/projects/${ba(e)}/tags`,{name:t})}async function Og(e,t){await ma(`api/projects/${ba(e)}/tags/${ba(t)}`)}function kg(e){return e.trim().replace(/\n/g,` `).slice(0,100)}function Ag(e,t,n,r,i,a){i&&(yi(n,{chatTitles:{...a,[r]:i}}).catch(e=>{zm.error(`Failed to update chat title:`,e)}),e({type:Y.UpdateChatTitle,projectId:t,threadId:n,paneId:r,title:i}))}function jg(e){let{selectedThreadId:t,selectedProjectId:n,processingThreadIds:r,dispatch:i,toast:a,connectThreadStream:o,onPlanModeConsumed:s,setError:c,setStopRequestedForThreadId:l,getPaneMessages:u,isPaneStreaming:d,getChatTitles:f}=e;return(0,Z.useCallback)(async(e,p,m,h,g,_,v,y,b,x)=>{if(!t)return;let S=t,C=u(e);c(null),l(null);let w=m.trim().match(Um);if(w){if(e!==`primary`)return;if(C.filter(e=>e.sender===`agent`).length<2){a({title:`Nothing to compact`,description:`Start a conversation with at least two exchanges first.`});return}if(r.includes(S)||d(S,e)){a({title:`Agent is busy`,description:`Wait for the agent to finish before compacting.`});return}let t=w[1]?.trim();Km(i,S,h);try{let n=await io(S,{model:h,provider:_,instructions:t});i({type:Y.SetMessages,messages:n.messages}),i(Hm({type:Y.ResetStream},S,e)),a({title:`Conversation compacted`,description:`${n.messagesBefore} messages → ${n.messagesAfter} summary`})}catch(t){i(Hm({type:Y.ResetStream},S,e)),a({title:`Compaction failed`,description:t instanceof Error?t.message:`Failed to compact conversation`,variant:`destructive`})}return}let T=m.trim().match(Wm);if(T){if(e!==`primary`)return;if(!n){a({title:`No project selected`,description:`Open a project thread before sending an event.`,variant:`destructive`});return}let t=T[1]?.trim();if(!t){a({title:`Event key required`,description:`Use /send-event door.opened or /send-event door.opened {"doorId":"front"}`,variant:`destructive`});return}let r,i=T[2]?.trim();if(i)try{r=JSON.parse(i)}catch{a({title:`Invalid JSON payload`,description:`The optional payload after the event key must be valid JSON.`,variant:`destructive`});return}try{let e=await Cg(n,t,r);a({title:`Event sent`,description:`Matched ${e.matched}, launched ${e.launched}, skipped ${e.skipped}`})}catch(e){a({title:`Event failed`,description:e instanceof Error?e.message:`Failed to send event`,variant:`destructive`})}return}let E=`msg-${Date.now()}`,D={messageId:E,sender:`user`,content:m,contentType:`text`,timestamp:new Date().toISOString(),model:h,attachments:g.map(e=>({fileName:e.fileName,content:e.content,mimeType:e.mimeType}))};i({type:Y.AddMessage,message:D,threadId:S,paneId:e});let O=await Jm(S,E);if(O&&i({type:Y.UpdateMessageCheckpointRef,messageId:E,threadId:S,paneId:e,checkpointRef:O}),n){let t=kg(m);Ag(i,n,S,e,t,f(S)),Ho(S,m,{provider:_,model:h}).then(r=>{r&&r!==t&&Ag(i,n,S,e,r,f(S))}).catch(e=>{zm.error(`Failed to generate chat title:`,e)})}if(y){let t=_??void 0;if(!t&&typeof h==`string`){let e=h.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:h,isThinking:!1};i({type:Y.AddMessage,message:t,threadId:S,paneId:e}),i(Hm({type:Y.ResetStream},S,e)),i({type:Y.SetActiveStreamPane,paneId:null});return}i(Hm({type:Y.SetStreaming,isStreaming:!0},S,e)),i({type:Y.SetActiveStreamPane,paneId:e});try{let n=await Ti(m,h,t,S),r={messageId:`msg-${Date.now()}-agent`,sender:`agent`,content:m,contentType:`text`,timestamp:new Date().toISOString(),model:h,mode:`image`,isThinking:!1,generatedImageUrl:n.imageUrl,generatedImageData:n.imageData};i({type:Y.AddMessage,message:r,threadId:S,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:h,isThinking:!1};i({type:Y.AddMessage,message:r,threadId:S,paneId:e})}finally{i(Hm({type:Y.ResetStream},S,e)),i({type:Y.SetActiveStreamPane,paneId:null})}return}o(S,e=>ro(S,m,h,g,e,_,v,b,O,p,x),h,e,p),i(Hm({type:Y.SetStreamAgentMode,mode:At({planMode:v,ralphMode:b,orchestrateMode:x})},S,e)),v&&s?.()},[t,n,i,o,r,a,s,u,d,f,c,l])}var Mg=M(`app.use-chat-handlers.hook`);function Ng(e){let t=Es(),{toast:n}=Ls(),r=xs(),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(null),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),h=X(e=>e.selectedThreadId),g=X(e=>e.selectedProjectId),_=X(e=>e.queuedChatMessages),v=X(e=>e.pendingChatMessage),y=X(e=>e.processingThreadIds);u.current=h;function b(e){return ns(r.getState(),e)}function x(e){return $o(r.getState(),e)}function S(e,t){return ds(r.getState().threadStreamingStates,e,t).isStreaming}function C(e,t){return ds(r.getState().threadStreamingStates,e,t).streamingModel||`default`}function w(e){let t=r.getState();for(let n of t.projects){let t=n.threads.find(t=>t.threadId===e);if(t)return t.chatTitles}}let T=(0,Z.useCallback)(e=>h?_.filter(t=>t.threadId===h&&t.paneId===e):[],[_,h]),E=(0,Z.useCallback)(_g({dispatch:t,streamSessionsRef:d,connectThreadStreamRef:f,selectedThreadIdRef:u}),[t]),D=(0,Z.useCallback)(e=>{if(!h)return;l(h);let n=Is(h,e),r=d.current.get(n),i=C(h,e),a=r?.conversationId??x(e);if(Ga(h,a?{conversationId:a}:void 0),r){r.stopHandled=!0,E(h,i,r),r.controller.abort(),r.cancel?.();return}t(Hm({type:Y.ResetStream},h,e))},[h,t,E]);(0,Z.useEffect)(()=>()=>{for(let[e,n]of d.current.entries()){n.controller.abort(),n.cancel?.(),n.keepsDeviceAwake&&(n.keepsDeviceAwake=!1,Lm());let[r,i]=e.split(`:`);t(Hm({type:Y.ResetStream},r,i))}d.current.clear()},[t]);let O=(0,Z.useCallback)(vg({dispatch:t,streamSessionsRef:d,selectedThreadIdRef:u,setError:a,setShowEmptyBalanceDialog:s,finalizeThreadStream:E}),[t,E]);f.current=O,(0,Z.useEffect)(()=>{let e=!1,n=new Set(y);for(let e of m.current)n.has(e)||m.current.delete(e);async function i(i){if(!(e||m.current.has(i))&&!pm(i)&&!lc(r.getState().threadToolSessions[i])&&!Zo(i,{hasSession:e=>d.current.has(Is(i,e)),streamingStates:r.getState().threadStreamingStates,sessionPaneIds:[...d.current.keys()].filter(e=>e.startsWith(`${i}:`)).map(e=>e.slice(i.length+1))})){m.current.add(i);try{let a=await Po(i);if(e||!n.has(i))return;let o=a.currentConversationId?.trim()||(i===r.getState().selectedThreadId?$o(r.getState(),`primary`):void 0);o&&i===r.getState().selectedThreadId&&t({type:Y.SetPrimaryConversationId,conversationId:o}),O(i,e=>zo(i,e,o),`default`,`primary`,o)}catch(e){m.current.delete(i),Mg.error(`Failed to resolve conversation before subscribing:`,e)}}}for(let e of y)i(e);return()=>{e=!0}},[O,t,y,r]);let k=jg({selectedThreadId:h,selectedProjectId:g,processingThreadIds:y,dispatch:t,toast:n,connectThreadStream:O,onPlanModeConsumed:e,setError:a,setStopRequestedForThreadId:l,getPaneMessages:b,isPaneStreaming:S,getChatTitles:w});return(0,Z.useEffect)(()=>{let e=v;if(!e||e.threadId!==h||S(h??``,`primary`))return;let n=setTimeout(()=>{t({type:Y.ClearPendingChatMessage}),k(`primary`,void 0,e.message,e.model,[],e.provider)},100);return()=>clearTimeout(n)},[v,h,t,k,r]),(0,Z.useEffect)(()=>{if(!h)return;let e={},n=new Set([`primary`,...Xo(r.getState()),..._.filter(e=>e.threadId===h).map(e=>e.paneId)]);for(let r of n){let n=T(r);if(n.length===0||S(h,r)||p.current[r])continue;let[i]=n;p.current[r]=!0,e[r]=setTimeout(()=>{p.current[r]=!1,t({type:Y.RemoveQueuedChatMessage,queuedMessageId:i.id}),k(r,x(r),i.message,i.model,i.attachments,i.provider,i.planMode,i.imageMode,i.ralphMode,i.orchestrateMode)},0)}return()=>{for(let t of n){let n=e[t];n&&clearTimeout(n)}}},[t,T,k,_,h,r]),{error:i,setError:a,handleSend:k,handleStop:D,getQueuedMessagesForPane:T,handleRemoveQueuedMessage:(0,Z.useCallback)((e,n)=>{let r=T(e).find(e=>e.id===n);t({type:Y.RemoveQueuedChatMessage,queuedMessageId:n}),!(!r||S(h??``,e)||b(e).length>0||!h)&&k(e,x(e),r.message,r.model,r.attachments,r.provider,r.planMode,r.imageMode,r.ralphMode,r.orchestrateMode)},[t,T,k,h,r]),showEmptyBalanceDialog:o,setShowEmptyBalanceDialog:s}}var Pg=(0,Z.createContext)(void 0);function Fg(e){let t=(0,Q.c)(3),{children:n}=e,r=Ng(),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(Pg.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function Ig(){let e=(0,Z.useContext)(Pg);if(e===void 0)throw Error(`useChatHandlersContext must be used within a ChatHandlersProvider`);return e}var Lg=(0,Z.createContext)(void 0);function Rg(e){let t=(0,Q.c)(12),{paneId:n,conversationId:r,fillPane:i,children:a}=e,o=i===void 0?!1:i,s=Es(),c=X(zg),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)(Lg.Provider,{value:p,children:a}),t[9]=a,t[10]=p,t[11]=m):m=t[11],m}function zg(e){return e.focusedPane}function Bg(){let e=(0,Q.c)(1),t=(0,Z.useContext)(Lg);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:Vg},e[0]=t):t=e[0],t}return t}function Vg(){}function Hg(e){let t=(0,Q.c)(66),{toolCall:n,className:r}=e,{paneId:i}=Bg(),{handleStop:a}=Ig(),[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??gt(n.name),t[2]=n.activeDisplayName,t[3]=n.name,t[4]=u):u=t[4];let d=u,f=ld(n.name)?`searching`:`working`,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{s(Wg)},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,_=Ug,v=n.name===`bash`&&typeof n.input?.command==`string`?n.input.command:null,y;t[9]===v?y=t[10]:(y=v===null?null:dd(v),t[9]=v,t[10]=y);let x=y,S=n.name===`fetch`&&typeof n.input?.url==`string`?n.input.url:null,C=n.name===`web_search`&&typeof n.input?.query==`string`?n.input.query:null,w=!v&&typeof n.input?.description==`string`?n.input.description:null,T;t[11]===r?T=t[12]:(T=G(`overflow-hidden mb-2`,r),t[11]=r,t[12]=T);let E;t[13]===d?E=t[14]:(E=(0,$.jsx)(`span`,{className:b.bodyMuted,children:d}),t[13]=d,t[14]=E);let D;t[15]===f?D=t[16]:(D=(0,$.jsx)(Xd,{state:f}),t[15]=f,t[16]=D);let O;t[17]!==E||t[18]!==D?(O=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[E,D]})}),t[17]=E,t[18]=D,t[19]=O):O=t[19];let k;t[20]===n.name?k=t[21]:(k=(0,$.jsx)(Pr,{children:n.name}),t[20]=n.name,t[21]=k);let A;t[22]!==k||t[23]!==O?(A=(0,$.jsxs)(Mi,{children:[O,k]}),t[22]=k,t[23]=O,t[24]=A):A=t[24];let j;t[25]===x?j=t[26]:(j=x!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`truncate whitespace-nowrap rounded bg-muted/60 px-1 py-0.5 max-w-full`),children:x.label}),t[25]=x,t[26]=j);let M;t[27]===S?M=t[28]:(M=S!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:S.length>60?`${S.slice(0,59)}…`:S}),t[27]=S,t[28]=M);let N;t[29]===C?N=t[30]:(N=C!==null&&(0,$.jsx)(`code`,{className:G(b.mono,b.bodyMuted,`break-all rounded bg-muted/60 px-1 py-0.5`),children:C.length>60?`${C.slice(0,59)}…`:C}),t[29]=C,t[30]=N);let P;t[31]===w?P=t[32]:(P=w!==null&&(0,$.jsx)(`span`,{className:b.bodyMuted,children:w}),t[31]=w,t[32]=P);let F;t[33]===o?F=t[34]:(F=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:`p-1 hover:bg-muted/50 rounded transition-colors`,children:o?(0,$.jsx)(Xe,{className:`h-3 w-3`}):(0,$.jsx)(Tt,{className:`h-3 w-3`})})}),t[33]=o,t[34]=F);let I=o?`Collapse`:`Expand`,L;t[35]===I?L=t[36]:(L=(0,$.jsx)(Pr,{children:I}),t[35]=I,t[36]=L);let R;t[37]!==F||t[38]!==L?(R=(0,$.jsxs)(Mi,{children:[F,L]}),t[37]=F,t[38]=L,t[39]=R):R=t[39];let z;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(tt,{className:`h-3 w-3`}),t[40]=z):z=t[40];let B;t[41]===g?B=t[42]:(B=(0,$.jsx)(Ii,{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:z})}),t[41]=g,t[42]=B);let V;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Pr,{className:`bg-red-600 text-white border-red-600`,children:`Stop this process`}),t[43]=V):V=t[43];let H;t[44]===B?H=t[45]:(H=(0,$.jsxs)(Mi,{children:[B,V]}),t[44]=B,t[45]=H);let U;t[46]!==R||t[47]!==H?(U=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 ml-auto shrink-0`,children:[R,H]}),t[46]=R,t[47]=H,t[48]=U):U=t[48];let ee;t[49]!==A||t[50]!==j||t[51]!==M||t[52]!==N||t[53]!==P||t[54]!==U?(ee=(0,$.jsxs)(`div`,{className:`py-0.5 flex items-center gap-2 flex-wrap`,children:[A,j,M,N,P,U]}),t[49]=A,t[50]=j,t[51]=M,t[52]=N,t[53]=P,t[54]=U,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(b.compact,b.bodyMuted,`mb-2 font-mono`),children:[`ID: `,n.id]}),(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(b.compact,b.label,`text-muted-foreground mb-1`),children:`Input:`}),(0,$.jsx)(`pre`,{className:Ld({className:`border border-border`}),children:_(n.input)})]}),l&&(0,$.jsxs)(`div`,{className:`mb-2`,children:[(0,$.jsx)(`div`,{className:G(b.compact,b.label,`text-muted-foreground mb-1`),children:`Progress:`}),(0,$.jsxs)(`div`,{className:G(b.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(b.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(b.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(b.compact,`flex items-center gap-1.5 text-muted-foreground`),children:[(0,$.jsx)(Xd,{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 ne;return t[62]!==ee||t[63]!==te||t[64]!==T?(ne=(0,$.jsxs)(`div`,{className:T,children:[ee,te]}),t[62]=ee,t[63]=te,t[64]=T,t[65]=ne):ne=t[65],ne}function Ug(e){return JSON.stringify(e,null,2)}function Wg(e){return!e}function Gg(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 Kg(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.question!=`string`||!t.question.trim())return null;let n=Gg(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 qg(e){if(Array.isArray(e.questions))return e.questions.map(e=>Kg(e)).filter(e=>e!==null);if(typeof e.question==`string`&&e.question.trim()){let t=Gg(e.options);return[{question:e.question,header:typeof e.context==`string`?e.context:void 0,options:t.length>0?t:void 0}]}return[]}function Jg(e){let t=qg(e),n=t[0];return{questions:t,question:n?.question??``,options:n?.options?.map(e=>e.label),context:n?.header}}function Yg(e){return{intention:typeof e.intention==`string`?e.intention:``,code:typeof e.code==`string`?e.code:``}}function Xg(e){return{url:typeof e.url==`string`?e.url:``,title:typeof e.title==`string`?e.title:void 0}}function Zg(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)(wp,{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 Qg(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)(Ap,{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 $g(e){let t=(0,Q.c)(2),{prompt:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(jp,{...n}),t[0]=n,t[1]=r),r}function e_(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)(Np,{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 t_(e,t){if(e.name!==`ask_user`)return null;let n=Jg(e.input);return(0,$.jsx)(wp,{toolCallId:e.id,questions:n.questions,answeredText:t,interactive:!1})}function n_(e,t,n,r){if(e.name!==`run_js`&&e.name!==`run_web_worker`)return null;let i=Yg(e.input);return(0,$.jsx)(sm,{toolCallId:e.id,intention:i.intention,code:i.code,resultContent:t,resultIsError:n,showActive:r===!0})}function r_(e){if(e.name!==`open_widget`)return null;let t=Xg(e.input);return t.url?(0,$.jsx)(cm,{url:t.url,title:t.title}):null}function i_(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=mp(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`||Cf(n.name,n.input);if(f&&!p){let e;return t[6]===n?e=t[7]:(e=(0,$.jsx)(Hg,{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)(Xf,{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 a_(e){let t=(0,Q.c)(21),{block:n,showActive:r,resultContent:i,resultIsError:a,observation:o}=e,s;t[0]!==n||t[1]!==i?(s=t_(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=n_(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;let d;t[8]===n?d=t[9]:(d=r_(n),t[8]=n,t[9]=d);let f=d;if(f)return f;if(n.name===`call_widget_tool`)return null;if(r){let e;return t[10]!==n||t[11]!==o||t[12]!==i||t[13]!==a||t[14]!==r?(e=(0,$.jsx)(i_,{block:n,resultContent:i,resultIsError:a,observation:o,showActive:r}),t[10]=n,t[11]=o,t[12]=i,t[13]=a,t[14]=r,t[15]=e):e=t[15],e}let p;return t[16]!==n||t[17]!==o||t[18]!==i||t[19]!==a?(p=(0,$.jsx)(Xf,{inline:!0,block:n,resultContent:i,resultIsError:a,isActive:!1,observation:o}),t[16]=n,t[17]=o,t[18]=i,t[19]=a,t[20]=p):p=t[20],p}function o_(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)(op,{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 s_(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=rs(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=js(h,{showActive:u}),t[4]=u,t[5]=h,t[6]=g):g=t[6];let _=g,v=_.activeLabel!==null,y=v&&!d,x;t[7]===f?x=t[8]:(x=()=>p(!f),t[7]=f,t[8]=x);let S;t[9]===f?S=t[10]:(S=f?(0,$.jsx)(Tt,{className:`h-3 w-3 text-muted-foreground shrink-0`}):(0,$.jsx)(nt,{className:`h-3 w-3 text-muted-foreground shrink-0`}),t[9]=f,t[10]=S);let C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(b.caption,`min-w-0 truncate`),t[11]=C):C=t[11];let w;t[12]!==_.lineStats||t[13]!==h?(w=_.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]=w):w=t[14];let T;t[15]!==_.text||t[16]!==w?(T=(0,$.jsxs)(`span`,{className:C,children:[_.text,w]}),t[15]=_.text,t[16]=w,t[17]=T):T=t[17];let E;t[18]!==_.activeLabel||t[19]!==y?(E=y?(0,$.jsx)(`span`,{className:G(b.caption,`shrink-0`),children:_.activeLabel}):null,t[18]=_.activeLabel,t[19]=y,t[20]=E):E=t[20];let D;t[21]===v?D=t[22]:(D=v?(0,$.jsx)(Xd,{state:`working`,className:`shrink-0`}):null,t[21]=v,t[22]=D);let O;t[23]!==f||t[24]!==T||t[25]!==E||t[26]!==D||t[27]!==x||t[28]!==S?(O=(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 cursor-pointer select-none text-left w-full min-w-0`,onClick:x,"aria-expanded":f,children:[S,T,E,D]}),t[23]=f,t[24]=T,t[25]=E,t[26]=D,t[27]=x,t[28]=S,t[29]=O):O=t[29];let k=f?`flex`:`hidden`,A;t[30]===k?A=t[31]:(A=G(`ml-5 flex-col gap-0.5`,k),t[30]=k,t[31]=A);let j;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),j=n.map(e),t[32]=n,t[33]=l,t[34]=j}else j=t[34];let M;t[37]!==A||t[38]!==j?(M=(0,$.jsx)(`div`,{className:A,children:j}),t[37]=A,t[38]=j,t[39]=M):M=t[39];let N;return t[40]!==O||t[41]!==M?(N=(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[O,M]}),t[40]=O,t[41]=M,t[42]=N):N=t[42],N}function c_(e){let t=e.length-1;for(;t>=0;){let n=e[t];if(!n||Yo(n)||n.type!==`text`)break;--t}return t+1}function l_(e,t){return t?e.some(e=>!ls(e)&&as(e)&&e.id===t):!1}function u_(e,t=0){if(ls(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??pp(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-${pp(e.text.slice(0,128))}`}}function d_(e,t,n){let{lookupBlocks:r,isStreaming:i,threadId:a,projectId:o,messageIndex:s,message:c,activeLocalToolCallId:l,completedToolCallIds:u,completedToolCallResults:d}=n;if(as(e)&&e.name===`todo`)return null;if(Jo(e)){if(e.toolName===`todo`)return(0,$.jsx)(o_,{sequence:s,block:e,params:r.find(t=>as(t)&&t.id===e.toolCallId)?.input},t);if(e.toolName===`ask_user`||e.toolName===`open_widget`||e.toolName===`call_widget_tool`)return null}switch(e.type){case`long_running_confirmation`:return(0,$.jsx)(Zg,{prompt:e.prompt,answeredText:xp(r,e.prompt.toolCallId)},t);case`shell_permission`:return(0,$.jsx)(Qg,{prompt:e.prompt,projectId:o,resolvedDecision:yp(r,e.prompt.toolCallId,`shell`)},t);case`seatbelt_escalation`:return(0,$.jsx)($g,{prompt:e.prompt},t);case`web_fetch_permission`:return(0,$.jsx)(e_,{prompt:e.prompt,projectId:o,resolvedDecision:yp(r,e.prompt.toolCallId,`web_fetch`)},t);case`text`:return(0,$.jsx)(yu,{content:e.text,threadId:a},t);case`tool_use`:{let n=d?.get(e.id),a=hp(r,e.id)??n?.resultContent,o=_p(r,e.id)||(n?.resultIsError??!1),s=gp(r,e.id)??n?.observation;return(0,$.jsx)(a_,{block:e,showActive:!(u?.has(e.id)===!0||n!==void 0)&&bp(r,c,e.id,l,i),resultContent:a,resultIsError:o,observation:s},t)}case`tool-result`:return(0,$.jsx)(o_,{block:e},t)}}function f_({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=t||!!a?.isThinking,u=(0,Z.useRef)(new Set),d=(0,Z.useRef)(new Map);for(let e of c)if(Jo(e)){u.current.add(e.toolCallId);let t=hp(c,e.toolCallId),n=_p(c,e.toolCallId),r=gp(c,e.toolCallId);t!==void 0&&d.current.set(e.toolCallId,{resultContent:t,resultIsError:n,observation:r})}let f=u.current,p=d.current,m=(0,Z.useMemo)(()=>qo(cs(c,l)),[c,l]),h=0;function g(e){let o=ls(e)?u_(e,++h):u_(e);return ls(e)?(0,$.jsx)(fp,{text:e.text,label:e.label,isStreaming:e.isCurrentlyStreaming,threadId:n},o):d_(e,o,{lookupBlocks:c,isStreaming:t,threadId:n,projectId:r,messageIndex:i,message:a,activeLocalToolCallId:s,completedToolCallIds:f,completedToolCallResults:p})}function _(e,n){return Yo(e)?(0,$.jsx)(s_,{items:e.items,allBlocks:c,completedToolCallIds:f,isStreaming:l,showActiveSummary:l||l_(e.items,s),hideActiveLabel:t,renderItem:g},`tool-group-${i}-${n}`):g(e)}let v=o?c_(m):m.length,y=m.slice(0,v),b=m.slice(v),x=!!o&&b.length>0&&b.every(e=>!Yo(e)&&e.type===`text`);return(0,$.jsxs)($.Fragment,{children:[y.map((e,t)=>_(e,t)),x&&o?(0,$.jsx)(Xu,{text:o,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:b.map((e,t)=>_(e,v+t))})}):b.map((e,t)=>_(e,v+t))]})}function p_(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(m_)},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(b.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 x;return t[17]!==v||t[18]!==y?(x=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[v,y]}),t[17]=v,t[18]=y,t[19]=x):x=t[19],x}function m_(e){return!e}function h_(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)(f_,{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(b.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)(yu,{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)(f_,{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)(yu,{content:n.content,threadId:r,className:b.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)(Xu,{text:s,children:l}),t[18]=s,t[19]=l,t[20]=e):e=t[20],e}return l}function g_(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:Go(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?Os(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)(h_,{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,x=d&&`flex justify-end`,S;t[18]===x?S=t[19]:(S=G(`group px-4 py-4`,x),t[18]=x,t[19]=S);let C=d&&`items-end`,w;t[20]===C?w=t[21]:(w=G(`flex flex-col gap-1 min-w-0 max-w-full`,C),t[20]=C,t[21]=w);let T;t[22]!==o||t[23]!==n||t[24]!==l||t[25]!==r?(T=(0,$.jsx)(Yu,{message:n,threadId:r,showCheckpointRestore:l,checkpointRestoreTooltip:o}),t[22]=o,t[23]=n,t[24]=l,t[25]=r,t[26]=T):T=t[26];let E=d&&`rounded-xl px-4 py-3 bg-foreground text-background`,D;t[27]===E?D=t[28]:(D=G(`flex flex-col gap-0.5 min-w-0`,b.conversationBody,E),t[27]=E,t[28]=D);let O;t[29]!==y||t[30]!==d||t[31]!==n.content?(O=d?(0,$.jsx)(p_,{content:n.content,children:y}):y,t[29]=y,t[30]=d,t[31]=n.content,t[32]=O):O=t[32];let k;t[33]!==D||t[34]!==O?(k=(0,$.jsx)(`div`,{className:D,children:O}),t[33]=D,t[34]=O,t[35]=k):k=t[35];let A;t[36]!==n.generatedImageData||t[37]!==n.generatedImageUrl||t[38]!==r?(A=(n.generatedImageUrl||n.generatedImageData)&&(0,$.jsx)(Zu,{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]=A):A=t[39];let j;t[40]===n.attachments?j=t[41]:(j=n.attachments&&n.attachments.length>0&&(0,$.jsx)(wu,{attachments:n.attachments}),t[40]=n.attachments,t[41]=j);let M;t[42]!==w||t[43]!==T||t[44]!==k||t[45]!==A||t[46]!==j?(M=(0,$.jsxs)(`div`,{className:w,children:[T,k,A,j]}),t[42]=w,t[43]=T,t[44]=k,t[45]=A,t[46]=j,t[47]=M):M=t[47];let N;return t[48]!==M||t[49]!==S?(N=(0,$.jsx)(`div`,{className:S,children:M}),t[48]=M,t[49]=S,t[50]=N):N=t[50],N}function __(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 v_(e){let t=(0,Z.useRef)(new Map);return(0,Z.useMemo)(()=>{let n=t.current,r=[],i=new Set;for(let t of e){if(i.add(t),t.type===`long_running_confirmation`){r.push({type:`long_running_confirmation`,prompt:t.prompt});continue}if(t.type===`shell_permission`){r.push({type:`shell_permission`,prompt:t.prompt});continue}if(t.type===`seatbelt_escalation`){r.push({type:`seatbelt_escalation`,prompt:t.prompt});continue}if(t.type===`web_fetch_permission`){r.push({type:`web_fetch_permission`,prompt:t.prompt});continue}let e=t.chunks.join(``),a=e.length,o=n.get(t);if(o&&o.chunks===t.chunks&&o.chunkCount===t.chunks.length&&o.contentLength===a){r.push(...o.blocks);continue}let s;s=t.type===`thinking`?Ss(e)??[]:Go(e)??(e.trim()?[{type:`text`,text:e}]:[]),n.set(t,{chunks:t.chunks,chunkCount:t.chunks.length,contentLength:a,blocks:s}),r.push(...s)}for(let e of n.keys())i.has(e)||n.delete(e);return r},[e,__(e)])}function y_(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=v_(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(b.compact,`font-medium text-foreground`),t[2]=g):g=t[2];let _;t[3]===i?_=t[4]:(_=dt(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(b.compact,`flex items-center gap-1 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity`),children:[(0,$.jsx)(Lt,{className:`h-2.5 w-2.5`}),Ao(r)]}),t[7]=r,t[8]=y);let x;t[9]!==v||t[10]!==y?(x=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=x):x=t[11];let S;t[12]!==s||t[13]!==c||t[14]!==p||t[15]!==o||t[16]!==a||t[17]!==d?(S=p.length>0?(0,$.jsx)(`div`,{className:G(`flex flex-col gap-0.5 min-w-0`,b.conversationBody),children:(0,$.jsx)(f_,{blocks:p,isStreaming:!0,threadId:a,projectId:o,messageIndex:d})}):s||c?(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(fp,{isStreaming:!0})}):null,t[12]=s,t[13]=c,t[14]=p,t[15]=o,t[16]=a,t[17]=d,t[18]=S):S=t[18];let C;t[19]!==S||t[20]!==x?(C=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[x,S]}),t[19]=S,t[20]=x,t[21]=C):C=t[21];let w;return t[22]!==C||t[23]!==h?(w=(0,$.jsx)(`div`,{className:h,children:C}),t[22]=C,t[23]=h,t[24]=w):w=t[24],w}var b_=3e3;function x_(e){let t=e?Te.filter(t=>t!==e):Te;return t[Math.floor(Math.random()*t.length)]}function S_(e){let t=(0,Q.c)(3),[n,r]=(0,Z.useState)(ye),i=(0,Z.useRef)(ye),a,o;return t[0]===e?(a=t[1],o=t[2]):(a=()=>{if(!e){r(ye),i.current=ye;return}let t=setInterval(()=>{let e=i.current===`Processing...`?x_():x_(i.current);i.current=e,r(e)},b_);return()=>clearInterval(t)},o=[e],t[0]=e,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o),n}function C_(e){let t=(0,Q.c)(9),{active:n,label:r,className:i}=e,a=n===void 0?!0:n,o=S_(a&&!r),s=a?`animate-shimmer`:void 0,c;t[0]===s?c=t[1]:(c=G(b.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 w_(e){let t=(0,Q.c)(34),{projects:r,onSelectProject:i,onCreateThread:a,onConnectRepo:o,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(b.pageTitle,`tracking-tight text-balance`),children:`Let's build it!`}),t[1]=u):u=t[1];let d=r.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 ${b.pageSubtitle}`,children:d})]})]}),t[2]=d,t[3]=f);let p;if(t[4]!==a||t[5]!==i||t[6]!==r){let e;t[8]!==a||t[9]!==i?(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?a(e.projectId):i(e.projectId,e.threads[0].threadId)},children:[(0,$.jsx)(ie,{className:`h-5 w-5 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:e.name}),(0,$.jsxs)(`span`,{className:b.caption,children:[e.threads.length,` thread`,e.threads.length===1?``:`s`]})]},e.projectId),t[8]=a,t[9]=i,t[10]=e):e=t[10],p=r.map(e),t[4]=a,t[5]=i,t[6]=r,t[7]=p}else p=t[7];let m,h,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(_t,{className:`h-5 w-5 text-muted-foreground`}),h=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`Connect a repo`}),g=(0,$.jsx)(`span`,{className:b.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]===o?_=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:o,children:[m,h,g]}),t[14]=o,t[15]=_);let v,y,x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(n,{className:`h-5 w-5 text-muted-foreground`}),y=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`New App`}),x=(0,$.jsx)(`span`,{className:b.caption,children:`Create a new project from template`}),t[16]=v,t[17]=y,t[18]=x):(v=t[16],y=t[17],x=t[18]);let S;t[19]===s?S=t[20]:(S=(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,x]}),t[19]=s,t[20]=S);let C,w,T;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(ee,{className:`h-5 w-5 text-muted-foreground`}),w=(0,$.jsx)(`span`,{className:`${b.body} text-foreground leading-snug font-medium`,children:`Open Folder`}),T=(0,$.jsx)(`span`,{className:b.caption,children:`Use an existing local folder`}),t[21]=C,t[22]=w,t[23]=T):(C=t[21],w=t[22],T=t[23]);let E;t[24]===c?E=t[25]:(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:c,children:[C,w,T]}),t[24]=c,t[25]=E);let D;t[26]!==S||t[27]!==E||t[28]!==p||t[29]!==_?(D=(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-3`,children:[p,_,S,E]}),t[26]=S,t[27]=E,t[28]=p,t[29]=_,t[30]=D):D=t[30];let O;return t[31]!==D||t[32]!==f?(O=(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,D]}),t[31]=D,t[32]=f,t[33]=O):O=t[33],O}var T_=`md:mr-4`,E_=`cubic-bezier(0.22, 0.61, 0.36, 1)`,D_=`animate-in fade-in duration-200 ease-out`,O_=`[data-composer-surface]`;function k_(e){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`}function A_(e){return e?`w-full min-w-0 px-4`:`mx-auto max-w-3xl w-full min-w-0`}function j_(e){return G(e?`relative w-full min-w-0 pl-4`:`relative mx-auto w-full max-w-3xl min-w-0`,T_)}function M_(e){return`relative w-full min-w-0`}function N_(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 P_(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 F_={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e]},userTasks:e=>[`user-tasks`,e],conversations:{recent:()=>[`conversations`,`recent`]}};function I_(e){let t=(0,Q.c)(10),n;t[0]===e?n=t[1]:(n=F_.models.enabled(e),t[0]=e,t[1]=n);let r;t[2]===n?r=t[3]:(r={queryKey:n,queryFn:Ri,placeholderData:ir},t[2]=n,t[3]=r);let i=mr(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}var L_=M(`chat.input-state`);function R_(e,t){return t===`primary`?e:`${e}:${t}`}function z_({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 B_({initialValue:e}={}){let t=Es(),{paneId:n}=Bg(),r=X(e=>e.selectedThreadId),i=X(e=>e.selectedProjectId),a=X(e=>e.projects),o=X(e=>e.projectModelSelections),s=X(e=>e.paneModelSelections),c=X(e=>e.chatInputDrafts),l=X(e=>e.configUpdatedAt),u=X(e=>e.focusChatInput),d=X(e=>e.focusedPane),f=X(e=>ds(e.threadStreamingStates,e.selectedThreadId,n).isStreaming),{models:p,isFetched:m}=I_(l),[h,g]=(0,Z.useState)(()=>{if(r){let e=R_(r,n);if(c[e])return c[e]}return e??``}),[_,v]=(0,Z.useState)(-1),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(h);(0,Z.useEffect)(()=>{C.current=h},[h]);let w=(0,Z.useRef)(c);(0,Z.useEffect)(()=>{w.current=c},[c]);let T=(0,Z.useRef)(!0);(0,Z.useEffect)(()=>(T.current=!0,()=>{T.current=!1}),[]);let[E,D]=(0,Z.useState)([]),[O,k]=(0,Z.useState)(()=>(r?s[n]??o[r]:void 0)??null),A=(0,Z.useRef)(O?.id??``),j=(0,Z.useRef)(O?.provider??``),M=(0,Z.useRef)(null),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(!1),[L,R]=(0,Z.useState)([]),z=a.find(e=>e.projectId===i),B=z?.defaultChatMode??`auto`,V=(0,Z.useRef)(qe(B)).current,[H,U]=(0,Z.useState)(V.planMode),[ee,te]=(0,Z.useState)(V.ralphMode),[ne,re]=(0,Z.useState)(V.orchestrateMode),[ie,ae]=(0,Z.useState)(V.autoMode),[oe,se]=(0,Z.useState)(V.imageMode),ce=(0,Z.useCallback)(function(e){let t=qe(e);U(t.planMode),se(t.imageMode),te(t.ralphMode),re(t.orchestrateMode),ae(t.autoMode)},[]),[le,ue]=(0,Z.useState)([]),[de,fe]=(0,Z.useState)(null),[pe,me]=(0,Z.useState)([]),[he,ge]=(0,Z.useState)(!1),[_e,ve]=(0,Z.useState)(``),[ye,be]=(0,Z.useState)(0),[xe,Se]=(0,Z.useState)([]),[Ce,W]=(0,Z.useState)([]),[we,Te]=(0,Z.useState)([]),[Ee,De]=(0,Z.useState)(!1),[Oe,ke]=(0,Z.useState)(!1),[Ae,je]=(0,Z.useState)(``),Me=(0,Z.useRef)(null),Ne=(0,Z.useRef)(null),Pe=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Ie=(0,Z.useRef)(null),Le=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{A.current=O?.id??``,j.current=O?.provider??``},[O?.id,O?.provider]);let Re=(0,Z.useCallback)((e,a)=>{k(e);let o=r;if(!o)return;let s=a?.persist!==!1,c=a?.pinPane??!0;if((c||s)&&t({type:Y.SetProjectModel,threadId:o,model:e,...c?{paneId:n}:{}}),!s)return;let l=`${o}:${e.provider??``}:${e.id}`;M.current!==l&&(M.current=l,L_.info(`Persisting model to thread`,{threadId:o,model:{id:e.id,provider:e.provider}}),yi(o,{model:e.id,modelProvider:e.provider}).then(()=>{let t=i;t&&jr(t,{lastSelectedModel:e.id,lastSelectedModelProvider:e.provider}).catch(e=>{L_.error(`Failed to save model to project`,{err:e})}),M.current===l&&(M.current=null),L_.info(`Model persisted successfully`)}).catch(e=>{M.current===l&&(M.current=null),L_.error(`Failed to save model to thread`,{err:e})}))},[t,n,i,r]),ze=(0,Z.useCallback)(async function(e,i){if(!e.provider)return;try{await va(e.provider,e.id,{reasoningEffort:i})}catch(e){L_.error(`Failed to save model reasoning effort`,{err:e});return}function a(t){return t.id!==e.id||t.provider!==e.provider?t:{...t,settings:{...t.settings,reasoningEffort:i}}}D(e=>e.map(a)),k(e=>e&&a(e)),ue(e=>e.map(a)),fe(e=>e&&a(e));let c=r;if(c){let r=s[n],i=r??o[c];i&&i.id===e.id&&i.provider===e.provider&&t({type:Y.SetProjectModel,threadId:c,model:a(i),...r?{paneId:n}:{}})}},[t,n,s,o,r]);(0,Z.useEffect)(()=>{let e=i?a.find(e=>e.projectId===i):void 0,t=e?.threads.find(e=>e.threadId===r),c=r?s[n]:void 0,l=r?o[r]:void 0;if(p.length===0){m&&(D([]),k(null));return}D(p);let u=z_({availableModels:p,paneModel:c,storedThreadModel:l,currentThreadModelId:t?.model,currentThreadModelProvider:t?.modelProvider,projectLastSelectedModelId:e?.lastSelectedModel,projectLastSelectedModelProvider:e?.lastSelectedModelProvider}),d=u.model;if(!d)return;let f=A.current===d.id&&j.current===d.provider;if(u.pinPane||u.persistFallback){Re(d,{persist:u.persistFallback,pinPane:u.pinPane});return}f||k(d)},[r,i,a,o,n,s,p,m,Re]),(0,Z.useEffect)(()=>{!oe||le.length>0||(async()=>{try{let e=await Zr(),t=Object.values(e).flat();t.length>0&&(ue(t),fe(e=>e??t[0]))}catch(e){L_.error(`Failed to load image models`,{err:e})}})()},[oe,le.length]);let[Be,Ve]=(0,Z.useState)(r);(0,Z.useEffect)(()=>{if(r!==Be){Be&&C.current.trim()&&w.current[R_(Be,n)]!==C.current&&t({type:Y.SetChatInputDraft,threadId:R_(Be,n),draft:C.current});let e=!1;return queueMicrotask(()=>{e||!T.current||(Ve(r),g(r?w.current[R_(r,n)]??``:``),me([]),ge(!1),Se([]),W([]),Te([]),De(!1),ke(!1),ce(B))}),()=>{e=!0}}},[r,Be,n,t,ce,B]);let He=(0,Z.useRef)(z?i:null);(0,Z.useEffect)(()=>{!i||!z||He.current!==i&&(He.current=i,ce(B))},[i,z,B,ce]),(0,Z.useEffect)(()=>{r&&ji(r).then(({commands:e,skills:t,bundledSkills:n})=>{L_.debug(`Loaded slash commands and skills`,{commands:e,skills:t,bundledSkills:n}),Se(e),W(t),Te(n)}).catch(e=>L_.error(`Failed to load slash commands and skills`,{err:e}))},[r]);let Ue=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{Oe&&!Ue.current&&r&&ji(r).then(({commands:e,skills:t,bundledSkills:n})=>{Se(e),W(t),Te(n)}).catch(e=>L_.error(`Failed to refresh slash commands and skills:`,e)),Ue.current=Oe},[Oe,r]);let We=r?c[R_(r,n)]??``:``;return(0,Z.useEffect)(()=>{r&&g(We)},[r,We,n]),(0,Z.useLayoutEffect)(()=>{let e=Ne.current;e&&k_(e)},[h]),(0,Z.useEffect)(()=>{if(!u||!r||f||n!==d)return;let e=Ne.current;e&&(e.focus(),t({type:Y.ClearFocusChatInput}))},[u,r,f,n,d,t]),(0,Z.useEffect)(()=>{let e=r,i=e?R_(e,n):null;return()=>{i&&C.current.trim()&&w.current[i]!==C.current&&t({type:Y.SetChatInputDraft,threadId:i,draft:C.current})}},[r,n,t]),(0,Z.useEffect)(()=>{let e=e=>{Pe.current&&!Pe.current.contains(e.target)&&P(!1),Fe.current&&!Fe.current.contains(e.target)&&I(!1)};if(N||F)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[N,F]),{message:h,setMessage:g,historyIndex:_,setHistoryIndex:v,draftMessage:y,setDraftMessage:b,cursorPosition:x,setCursorPosition:S,availableModels:E,setAvailableModels:D,selectedModel:O,setSelectedModel:Re,updateModelReasoningEffort:ze,selectedModelIdRef:A,showModelMenu:N,setShowModelMenu:P,showPlusMenu:F,setShowPlusMenu:I,attachments:L,setAttachments:R,planMode:H,setPlanMode:U,ralphMode:ee,setRalphMode:te,orchestrateMode:ne,setOrchestrateMode:re,autoMode:ie,setAutoMode:ae,imageMode:oe,setImageMode:se,availableImageModels:le,setAvailableImageModels:ue,selectedImageModel:de,setSelectedImageModel:fe,allFiles:pe,setAllFiles:me,showSuggestions:he,setShowSuggestions:ge,suggestionQuery:_e,setSuggestionQuery:ve,selectedIndex:ye,setSelectedIndex:be,slashCommands:xe,setSlashCommands:Se,skills:Ce,setSkills:W,bundledSkills:we,setBundledSkills:Te,bundledSkillMode:Ee,setBundledSkillMode:De,showCommandSuggestions:Oe,setShowCommandSuggestions:ke,commandQuery:Ae,setCommandQuery:je,messageRef:C,fileInputRef:Me,textareaRef:Ne,modelMenuRef:Pe,plusMenuRef:Fe,suggestionsRef:Ie,commandSuggestionsRef:Le,selectedThreadId:r,dispatch:t}}var V_=e=>{hi(e)},H_=`pending-auto-route`;function U_(e){return{messageId:H_,sender:`user`,content:e.prompt,contentType:`text`,timestamp:e.startedAt,attachments:e.attachments}}function W_(e){return{id:e.model,provider:e.provider}}function G_(e,t,n){switch(e){case`cheap`:{let r=Ie(`cheap`,t);return{decision:e,model:r?W_(r):n}}case`smart`:{let r=Xt(t);return{decision:e,model:r?W_(r):n}}default:return{decision:`default`,model:n}}}var K_=`/orchestrate`,q_=/^\s*\/orchestrate(?:\s|$)/i;function J_(e){return q_.test(e)}function Y_(e){if(J_(e))return e;let t=e.trimStart();return t?`${K_} ${t}`:`${K_} `}var X_=M(`app.use-chat-input-handlers.hook`);function Z_(e,t){return t===`primary`?e:`${e}:${t}`}function Q_({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:U,setOrchestrateMode:ee,autoMode:te,setAutoMode:ne,modelAliases:re,onAutoRouteResolved:ie,ensureCanOrchestrate:ae,requestOrchestrateMode:oe,imageMode:se,setImageMode:ce,selectedImageModel:le,hasConversationMessages:ue,isFirstUserPrompt:de}){let{paneId:fe}=Bg(),{toast:pe}=Ls(),[me,he]=(0,Z.useState)(!1),ge=(0,Z.useCallback)(()=>{t(``),I.current=``,R([]),m(-1),g(``),c&&f({type:Y.ClearChatInputDraft,threadId:Z_(c,fe)}),L.current&&(L.current.style.height=`auto`)},[f,I,fe,c,R,g,m,t,L]),_e=(0,Z.useCallback)((e,n)=>{I.current.trim()||(t(e),I.current=e,R(n),L.current?.focus())},[I,R,t,L]),ve=(0,Z.useCallback)(async()=>{if(me||!e.trim()&&i.length===0||!c)return;let t=se?le:a;if(!t)return;let p=e,m=i,h=te&&!se&&de,g=h&&!s;function _(){!g||!c||f({type:Y.EndAutoRoute,threadId:c,paneId:fe})}function v(){_(),g&&_e(p,m)}let y=null;if(h){he(!0),g&&(ge(),f({type:Y.StartAutoRoute,route:{threadId:c,paneId:fe,prompt:p,attachments:m,startedAt:new Date().toISOString()}}));try{y=G_(await Yi(c,p),re,t),ie?.(y)}catch(e){X_.warn(`Auto routing failed; returning the prompt to the composer`,{err:e}),v(),pe({title:`Couldn't pick a model`,description:`Send again, or choose a model yourself.`,variant:`destructive`});return}finally{he(!1)}}let b=y?.model??t;if(U&&!ae()){v();return}let x=U?Y_(p):p;l&&(u(),d()),s?f({type:Y.EnqueueChatMessage,message:{id:`queued-${Date.now()}`,threadId:c,paneId:fe,message:x,model:b.id,attachments:m,provider:b.provider,planMode:z,imageMode:se,ralphMode:V,orchestrateMode:U}}):o(x,b.id,m,b.provider,z,se,V,U),_(),V_(p),g||ge();let S=n.find(e=>e.content===x);S&&r?.(S)},[e,i,a,o,l,u,d,s,f,c,fe,ge,_e,pe,z,V,U,te,re,ie,ae,se,le,n,r,me,de]),ye=(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]),be=(0,Z.useCallback)(n=>{let r=n.metadata.mode===`orchestrate`;if(r&&!oe()){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),ee(!1),ce(!1),ne(!1)):n.metadata.mode===`ralph`?(H(!0),B(!1),ee(!1),ce(!1),ne(!1)):n.metadata.mode===`orchestrate`&&(B(!1),H(!1),ce(!1),ne(!1))},[e,_,k,t,O,B,H,ee,ce,ne,oe,L]),xe=(0,Z.useCallback)(e=>e.scope===`bundled`?`//${e.name}`:e.name.includes(` `)?`/"${e.name}"`:`/${e.name}`,[]),Se=(0,Z.useCallback)(n=>{let r=P?k.length+2:k.length+1,i=e.substring(0,_-r),a=e.substring(_),o=xe(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,xe,t,O,F,L]),Ce=(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]),W=(0,Z.useCallback)(n=>{let r=xe(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,_,xe,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`?be(e.data):Se(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]&&ye(Ae[T]);return}if(n.key===`Escape`){b(!1);return}}if(n.key===`Enter`&&!n.shiftKey){n.preventDefault(),ve();return}let r=Kr();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),k_(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&&Lr(c).then(e=>{w(e)}).catch(e=>X_.error(`Failed to fetch files:`,e)))}else b(!1)}else b(!1)}k_(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:ve,handleKeyDown:we,handleTextareaInput:Te,insertFileReference:ye,insertCommand:be,insertSkill:Se,insertSkillAtCursor:W,insertSlashCommandAtCursor:Ce,allSuggestions:ke,fileSuggestions:Ae,isRouting:me}}var $_=1;function ev(e){let t=window.getComputedStyle(e);return(parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5)+parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}function tv(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>ev(e)+$_;return e.style.width=n,e.style.minHeight=i,e.style.height=r,a}function nv({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)),k_(i);return}let t=c.current;if(t===null){k_(i);return}let n=!tv(i,Math.max(0,l.clientWidth-t));n!==e&&(o.current=n,a(n)),k_(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 rv(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(b.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),m=(0,$.jsx)(nn,{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(b.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(b.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:b.compact,children:t.metadata.argumentHint})]}),t.metadata.description&&(0,$.jsx)(`span`,{className:b.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:b.compact,children:t.description})]},`skill-${t.name}`))}}),e})():(0,$.jsxs)(`div`,{className:G(b.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:b.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 iv(e){return e.startsWith(`image/`)}function av(e){return e.startsWith(`video/`)}function ov(e){return e.startsWith(`audio/`)}function sv(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(b.compact,`group relative flex items-center gap-1 rounded-md bg-muted text-muted-foreground`),children:iv(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)(tt,{className:`h-2.5 w-2.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):av(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(u,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Remove attachment`})]})]}):ov(e.mimeType)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-2 py-1`,children:[(0,$.jsx)(Ee,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{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)(et,{className:`h-3 w-3`}),e.fileName,(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:`ml-1 hover:text-foreground`,children:[(0,$.jsx)(tt,{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 cv(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function lv(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}K`:e.toString()}var uv=[{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 dv(e){return typeof e.effectiveWindow==`number`&&e.effectiveWindow>0?e.effectiveWindow:e.contextWindow}function fv(e,t=e.actualUsage){return t?{tokens:t.tokens,contextWindow:t.contextWindow,percent:Math.round(t.percent),isActual:!0}:{tokens:e.totalTokens,contextWindow:dv(e),percent:e.percentageFull,isActual:!1}}function pv({breakdown:e,actualUsage:t=e.actualUsage,threadId:n,conversationId:r,onClose:i,onToolDefinitionsOpen:a}){let{categories:o}=e,s=fv(e,t),c=s.tokens,l=s.percent,u=s.contextWindow,d=uv.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:b.label,children:`Context`}),i&&(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-background`,onClick:i,children:[(0,$.jsx)(tt,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]}),(0,$.jsxs)(`div`,{className:G(b.compact,`flex items-center justify-between text-muted-foreground`),children:[(0,$.jsxs)(`span`,{children:[l,`% Full`]}),(0,$.jsxs)(`span`,{children:[s.isActual?``:`~`,cv(c),` / `,lv(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:uv.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(b.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)(nt,{className:`h-3.5 w-3.5 shrink-0`})]}),(0,$.jsx)(`span`,{className:`tabular-nums`,children:cv(o[e.key])})]},e.key)})})]})}var mv=bn,hv=Bn,gv=Hn,_v=M(`app.tool-definitions-dialog.ui`);function vv(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function yv(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=vv(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(b.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(b.compact,`shrink-0 tabular-nums text-muted-foreground`),t[5]=u):u=t[5];let d;t[6]===n.tokens?d=t[7]:(d=cv(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(b.compact,`mt-2 whitespace-pre-wrap text-muted-foreground select-text`),children:n.description}):(0,$.jsx)(`p`,{className:G(b.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)(mv,{open:r,onOpenChange:i,className:`mt-2`,children:[(0,$.jsxs)(hv,{className:G(b.compact,`flex items-center gap-1 text-muted-foreground hover:text-foreground`),children:[(0,$.jsx)(Tt,{className:G(`h-3.5 w-3.5 transition-transform`,r&&`rotate-180`)}),`Parameters`]}),(0,$.jsx)(gv,{children:(0,$.jsx)(Oa,{className:`mt-2 h-48 rounded bg-muted`,children:(0,$.jsx)(`pre`,{className:G(b.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 bv({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 bi(n,r);if(t)return;o(e.tools),c(e.totalTokens)}catch(e){_v.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)(Fr,{className:`flex h-[80dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsx)(wr,{className:`shrink-0`,children:(0,$.jsxs)(Ra,{children:[`Tool definitions · `,cv(s),` tokens`]})}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[l&&(0,$.jsx)(`p`,{className:G(b.compact,`text-muted-foreground`),children:`Loading tools...`}),d&&!l&&(0,$.jsx)(`p`,{className:G(b.compact,`text-destructive`),children:d}),!l&&!d&&(0,$.jsx)(Oa,{className:`min-h-0 flex-1`,children:(0,$.jsx)(`div`,{className:`space-y-2`,children:a.length===0?(0,$.jsx)(`p`,{className:G(b.compact,`text-muted-foreground`),children:`No tools loaded for this conversation.`}):a.map(e=>(0,$.jsx)(yv,{tool:e},e.name))})})]})]})})}var xv=M(`app.token-usage-tooltip.ui`);function Sv({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 fo(e,r,{forceRefresh:!0});if(n)return;s(t),_(r),y(i)}catch(e){if(xv.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)(ff,{open:f,onOpenChange:p,children:[(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(pf,{asChild:!0,children:a})}),(0,$.jsx)(Pr,{side:`top`,className:`bg-popover text-popover-foreground`,children:`Show context usage`})]}),(0,$.jsxs)(mf,{side:`top`,align:`end`,className:`w-auto p-4`,children:[c&&(0,$.jsxs)(`div`,{className:G(b.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Le,{className:`h-3 w-3 animate-pulse`}),(0,$.jsx)(`span`,{children:`Loading context...`})]}),u&&!c&&(0,$.jsxs)(`div`,{className:G(b.compact,`flex w-72 items-center gap-2 text-muted-foreground`),children:[(0,$.jsx)(Le,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{children:u})]}),!c&&!u&&o&&(0,$.jsx)(pv,{breakdown:o,actualUsage:r,threadId:e,conversationId:t,onClose:()=>p(!1),onToolDefinitionsOpen:()=>h(!0)})]})]}),t&&(0,$.jsx)(bv,{open:m,onOpenChange:h,threadId:e,conversationId:t,expectedTotalTokens:o?.categories.toolDefinitions??0})]})}var Cv=M(`app.token-usage-icon.ui`);function wv(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 Tv(e){return e>75?`text-red-500`:e>50?`text-orange-500`:`text-muted-foreground`}function Ev(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=Tv(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 Dv=500;function Ov(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=wv(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)},Dv),()=>{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&&(So.invalidate(`thread-${y.current}`),So.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 Po(n);if(e)return;d(t.currentConversationId)}catch(e){let t=e;Cv.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 fo(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}Cv.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)(Ev,{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)(No,{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)(Sv,{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 kv(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 Av(e){return Promise.all(e.map(kv))}function jv(e,t){let n=e.target.files;if(!n||n.length===0)return;let r=Array.from(n);e.target.value=``,Av(r).then(t)}function Mv(e,t){switch(e){case`archive`:return(0,$.jsx)(Me,{className:t});case`audio`:return(0,$.jsx)(Ce,{className:t});case`code`:return(0,$.jsx)(L,{className:t});case`config`:return(0,$.jsx)(w,{className:t});case`data`:return(0,$.jsx)(Ft,{className:t});case`document`:return(0,$.jsx)(R,{className:t});case`image`:return(0,$.jsx)(be,{className:t});case`json`:return(0,$.jsx)(P,{className:t});case`presentation`:return(0,$.jsx)(j,{className:t});case`security`:return(0,$.jsx)(D,{className:t});case`spreadsheet`:return(0,$.jsx)(cn,{className:t});case`text`:return(0,$.jsx)(ue,{className:t});case`video`:return(0,$.jsx)(A,{className:t});case`web`:return(0,$.jsx)(L,{className:t});case`file`:return(0,$.jsx)(x,{className:t})}}function Nv({filename:e,className:t}){let n=`file`,r=`text-muted-foreground`;try{if(typeof Mt==`function`&&e){let t=Mt(e);n=t.name,r=t.className??r}}catch{}let i=G(`h-4 w-4 flex-shrink-0`,r,t);return Mv(n,i)}function Pv(e){let t=(0,Q.c)(17),{showSuggestions:n,fileSuggestions:r,suggestionQuery:i,selectedIndex:a,onSelectFile:o,onMouseEnterSuggestion:s,containerRef:c}=e;if(!n||r.length===0)return null;let l,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=G(b.dropdownGroupHeading,`px-2 py-1.5 border-b border-border/50 mb-1 flex items-center gap-2`),u=(0,$.jsx)(sn,{className:`h-3 w-3`}),t[0]=l,t[1]=u):(l=t[0],u=t[1]);let d;t[2]===i?d=t[3]:(d=(0,$.jsxs)(`div`,{className:l,children:[u,`Files matching "`,i,`"`]}),t[2]=i,t[3]=d);let f;if(t[4]!==r||t[5]!==s||t[6]!==o||t[7]!==a){let e;t[9]!==s||t[10]!==o||t[11]!==a?(e=(e,t)=>{let n=e.split(`/`).pop()??e,r=t===a;return(0,$.jsxs)(`button`,{type:`button`,className:G(b.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:()=>o(e),onMouseEnter:()=>s(t),children:[(0,$.jsx)(Nv,{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(b.compact,`truncate text-muted-foreground opacity-70`),children:e})]})]},e)},t[9]=s,t[10]=o,t[11]=a,t[12]=e):e=t[12],f=r.map(e),t[4]=r,t[5]=s,t[6]=o,t[7]=a,t[8]=f}else f=t[8];let p;return t[13]!==c||t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{ref:c,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:[d,f]}),t[13]=c,t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Fv(e){return[`off`,...e]}function Iv(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=Fv(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)(Di,{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(b.dropdownGroupHeading,`pb-1 uppercase tracking-wide`),children:`Reasoning`}),t[15]=f):f=t[15],o=oo,c=m,l=g;let _;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=G(b.body,`h-9 w-full bg-popover text-popover-foreground`),t[16]=_):_=t[16];let v;t[17]===m?v=t[18]:(v=We(m),t[17]=m,t[18]=v),t[19]===v?u=t[20]:(u=(0,$.jsx)($i,{"aria-label":`Reasoning effort`,className:_,children:(0,$.jsx)(`span`,{children:v})}),t[19]=v,t[20]=u),a=Ya;let y;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=function(e){return(0,$.jsx)(ka,{value:e,className:b.body,children:We(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 Lv(e){let t=(0,Q.c)(5),{providerSlug:n}=e;if(!n)return null;let r;t[0]===n?r=t[1]:(r=$a(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:Rv}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Rv(e){e.currentTarget.style.visibility=`hidden`}function zv(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(b.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)(Lv,{providerSlug:n}),t[1]=n,t[2]=s);let c;t[3]!==o||t[4]!==s?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(yr,{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)(Pr,{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)(Fo,{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)(la,{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 Bv(e){let t=e.pricing?.prompt;return t==null?null:Math.ceil(t*3)}function Vv(e){return`$${Be(e)}`}function Hv(e,t){return e.pricing?(0,$.jsxs)(`div`,{className:G(b.body,`max-w-64 whitespace-normal break-words text-left leading-relaxed`),children:[(0,$.jsx)(`div`,{children:`${Vv(e.pricing.prompt??0)} input per million tokens`}),(0,$.jsx)(`div`,{children:`${Vv(e.pricing.completion??0)} output per million tokens`}),(0,$.jsx)(`div`,{children:`Displayed value of ${t} is a relative price.`})]}):null}function Uv(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=(Bv(e)??2**53-1)-(Bv(n)??2**53-1);if(t!==0)return t}return Ao(e.id).localeCompare(Ao(n.id))})}function Wv(e){if(!e)return`Select Model`;let t=`${e.provider??`unknown`}/${e.id}`;return(e.supportedReasoningEfforts?.length??0)>0?`${t} ${We(de(e.settings,e.supportedReasoningEfforts??[]))}`:t}function Gv(e){return e instanceof Element&&!!(e.closest(`[data-radix-select-content]`)||e.closest(`[data-radix-popper-content-wrapper]`)||e.closest(`[role="listbox"]`))}function Kv(e){let t=(0,Q.c)(45),{availableModels:n,selectedModel:r,onModelSelect:i,onReasoningEffortChange:a}=e,[o,s]=Z.useState(!1),[c,l]=Z.useState(`relative-price`),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,t[0]=u):u=t[0];let[d,f]=Z.useState(u),p=Z.useRef(null),m,h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{Ma().then(function(e){f(new Map(e.map(Yv)))})},h=[],t[1]=m,t[2]=h):(m=t[1],h=t[2]),Z.useEffect(m,h);let g,_;t[3]===o?(g=t[4],_=t[5]):(g=()=>{let e=function(e){Gv(e.target)||p.current&&!p.current.contains(e.target)&&s(!1)};if(o)return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},_=[o],t[3]=o,t[4]=g,t[5]=_),Z.useEffect(g,_);let v;t[6]===i?v=t[7]:(v=function(e){i(e),s(!1)},t[6]=i,t[7]=v);let y=v,x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=function(){l(function(e){return e===`relative-price`?`alphabetical`:`relative-price`})},t[8]=x):x=t[8];let S=x,C;t[9]!==n||t[10]!==c?(C=Uv(n,c),t[9]=n,t[10]=c,t[11]=C):C=t[11];let w=C,T=c===`relative-price`?Ge:he,E=c===`relative-price`?`Sort by relative price`:`Sort alphabetically`,D,O;t[12]===n.length?(D=t[13],O=t[14]):(O=()=>{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(Jv))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[n.length],t[12]=n.length,t[13]=D,t[14]=O),Z.useEffect(O,D);let k;t[15]===o?k=t[16]:(k=()=>s(!o),t[15]=o,t[16]=k);let A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=G(b.body,`font-normal`),t[17]=A):A=t[17];let j;t[18]===r?j=t[19]:(j=r?Ao(r.id):`No model`,t[18]=r,t[19]=j);let M;t[20]===j?M=t[21]:(M=(0,$.jsx)(`span`,{className:A,children:j}),t[20]=j,t[21]=M);let N;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Xe,{className:`h-3 w-3`}),t[22]=N):N=t[22];let P;t[23]!==k||t[24]!==M?(P=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-sm`,className:`gap-1 w-auto px-2`,onClick:k,children:[M,N]})}),t[23]=k,t[24]=M,t[25]=P):P=t[25];let F;t[26]===r?F=t[27]:(F=Wv(r),t[26]=r,t[27]=F);let I;t[28]===F?I=t[29]:(I=(0,$.jsx)(Pr,{children:F}),t[28]=F,t[29]=I);let L;t[30]!==P||t[31]!==I?(L=(0,$.jsxs)(Mi,{children:[P,I]}),t[30]=P,t[31]=I,t[32]=L):L=t[32];let R;t[33]!==T||t[34]!==y||t[35]!==a||t[36]!==d||t[37]!==r||t[38]!==o||t[39]!==E||t[40]!==w?(R=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)(Fo,{children:[(0,$.jsx)(`div`,{className:`-mb-3 flex justify-end px-1 pb-1`,children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":E,className:`rounded-md p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground`,onClick:S,children:(0,$.jsx)(T,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Pr,{side:`left`,align:`start`,sideOffset:8,children:E})]})}),Object.entries(w.reduce(qv,{})).map((e,t)=>{let[n,i]=e;return(0,$.jsxs)(`div`,{children:[t>0&&(0,$.jsx)(Di,{className:`my-1`}),(0,$.jsx)(zv,{providerSlug:n,providerData:d.get(n)}),i.map(e=>{let t=Bv(e),n=t==null?null:Hv(e,t),i=e.id===r?.id&&e.provider===r?.provider,a=Ao(e.id);return(0,$.jsxs)(`button`,{type:`button`,className:G(b.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:()=>y(e),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:a}),t!=null&&n&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`span`,{className:G(b.compact,`shrink-0 text-muted-foreground`),children:t})}),(0,$.jsx)(Pr,{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)(Iv,{selectedEffort:de(r.settings,r.supportedReasoningEfforts??[]),supportedEfforts:r.supportedReasoningEfforts??[],onReasoningEffortChange:e=>a(r,e)})})]})}),t[33]=T,t[34]=y,t[35]=a,t[36]=d,t[37]=r,t[38]=o,t[39]=E,t[40]=w,t[41]=R):R=t[41];let z;return t[42]!==L||t[43]!==R?(z=(0,$.jsxs)(`div`,{className:`relative`,ref:p,children:[L,R]}),t[42]=L,t[43]=R,t[44]=z):z=t[44],z}function qv(e,t){let n=t.provider??`Other`;return e[n]||(e[n]=[]),e[n].push(t),e}function Jv(e){return!e}function Yv(e){return[e.slug,e]}function Xv(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)(lt,{"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)(No,{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 Zv=M(`app.use-seatbelt-sandbox.hook`);function Qv(){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 Bi();e||(t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage))}catch(e){Zv.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 ki({seatbeltSandboxEnabled:e});t(n.seatbeltSandboxEnabled),r(n.seatbeltSandboxSupported),a(n.seatbeltSandboxHealthy),s(n.seatbeltSandboxMessage)}catch(e){throw Zv.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 $v=M(`app.session-learnings-dialog.ui`);function ey({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 ko(t);r||i(e)}catch(e){$v.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)(Fr,{className:`flex max-h-[80dvh] max-w-lg flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(wr,{className:`shrink-0`,children:[(0,$.jsx)(Ra,{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(b.bodyMuted),children:`Loading learnings…`}),s&&!a&&(0,$.jsx)(`p`,{className:G(b.body,`text-destructive`),children:s}),!a&&!s&&(0,$.jsx)(Oa,{className:`min-h-0 max-h-[50dvh] flex-1`,children:r.length===0?(0,$.jsx)(`p`,{className:G(b.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(b.body,`rounded-md border border-border/60 px-3 py-2 whitespace-pre-wrap select-text`),children:e},`${t}-${e}`))})})]})]})})}var ty=[{value:`auto`,label:`Auto`,icon:mt,description:`Picks the model for a thread's first prompt`},{value:`build`,label:`Build`,icon:ge,description:`Executes code changes and implements features`},{value:`plan`,label:`Plan`,icon:ze,description:`Creates implementation plans without making changes`},{value:`image`,label:`Image`,icon:an,description:`Generates and edits images`},{value:`ralph`,label:`Ralph`,icon:W,description:`Implements todo stories one-by-one with a fresh context each iteration`},{value:`orchestrate`,label:`Orchestrate`,icon:Ct,description:`Plans on a smart model and delegates implementation to a cheap model`}],ny={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 ry(e){let t=(0,Q.c)(17),{requirement:n,onOpenChange:r,onOpenSettings:i}=e,a=ny[n??`orchestrate`],o=n!==null,s;t[0]===a.title?s=t[1]:(s=(0,$.jsx)(Bs,{children:a.title}),t[0]=a.title,t[1]=s);let c;t[2]===a.description?c=t[3]:(c=(0,$.jsx)(zs,{children:a.description}),t[2]=a.description,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,$.jsxs)(Gs,{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)(Ws,{children:`Cancel`}),t[7]=u):u=t[7];let d;t[8]===i?d=t[9]:(d=(0,$.jsxs)(Us,{children:[u,(0,$.jsx)(Hs,{onClick:i,children:`Open Project Settings`})]}),t[8]=i,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(Vs,{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)(Ks,{open:o,onOpenChange:r,children:f}),t[13]=r,t[14]=o,t[15]=f,t[16]=p):p=t[16],p}var iy=M(`app.use-mode-menu.ui`);function ay(e,t,n){return t?`${e}: ${t.provider}/${t.model}`:`${e}: ${n}`}function oy({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=Es(),m=X(function(e){if(d)return e.projects.find(e=>e.projectId===d)}),[h,g]=Z.useState(!0),[_,v]=Z.useState(!1),[y,x]=Z.useState(null),S=zt({planMode:e,imageMode:t,ralphMode:n,orchestrateMode:r,autoMode:i}),C=ty.find(e=>e.value===S),w=wt(m?.modelAliases),T=w||i?ty:ty.filter(e=>e.value!==`auto`),E=S===`auto`&&u?`last picked ${Dt[u]}`:C.description,D=at(m?.modelAliases),O=S===`auto`?[D?`Decides with: ${D.provider}/${D.model}`:`Decides with: Fast or Cheap, neither is set`,ay(Gt.cheap,Ie(`cheap`,m?.modelAliases),`not set`),ay(Gt.smart,Xt(m?.modelAliases),`not set, uses your selected model`)]:[],k=(0,$.jsxs)(`div`,{className:G(b.body,`max-w-64 whitespace-normal text-left leading-relaxed`),children:[(0,$.jsx)(`p`,{children:`${C.label} - ${E}`}),O.map(e=>(0,$.jsx)(`p`,{children:e},e))]});Z.useEffect(()=>{m&&g(m.allowAllCommands===!1)},[m]),Z.useEffect(()=>{m&&i&&!w&&l(!1)},[i,w,m,l]);async function A(){if(!d||_)return;let e=!h;g(e),v(!0);try{await jr(d,{allowAllCommands:!e}),pi(d);let t=await Sa();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(t){g(!e),iy.error(`Failed to update command confirmation setting:`,t)}finally{v(!1)}}function j(e){let t=qe(e);a(t.planMode),o(t.imageMode),s(t.ralphMode),c(t.orchestrateMode),l(t.autoMode)}async function M(e){if(d)try{await jr(d,{defaultChatMode:e}),pi(d);let t=await Sa();p({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){iy.error(`Failed to save the project's default mode:`,e)}}function N(){j(`orchestrate`)}function P(){return ct(m?.modelAliases)?!0:(x(`orchestrate`),!1)}function F(){return P()?(N(),!0):!1}function I(){return P()?(N(),!0):!1}function L(e){if(e===`orchestrate`){F()&&M(e);return}if(e===`auto`&&!w){x(`auto`);return}j(e),M(e)}function R(){x(null),d&&f&&f(d)}return{chatModes:T,confirmCommands:h,currentConfig:C,currentMode:S,modeTooltipContent:k,isUpdatingConfirmCommands:_,selectMode:L,trySelectOrchestrate:F,ensureCanOrchestrate:P,requestOrchestrateMode:I,toggleConfirmCommands:A,cheapAliasDialog:(0,$.jsx)(ry,{requirement:y,onOpenChange:e=>{e||x(null)},onOpenSettings:R})}}function sy(e){return e.replace(/[-_]+/g,` `).trim().split(/\s+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function cy(e,t){return t&&e.skillPath.startsWith(`${t}/`)?`${e.skillPath.slice(t.length+1)}/SKILL.md`:`.agents/skills/${e.name}/SKILL.md`}function ly(e){let t=(0,Q.c)(11),{skill:n,onOpen:r}=e,i;t[0]===n.name?i=t[1]:(i=sy(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)(se,{}),t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==o?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`action`,size:`icon-xs`,className:`ml-auto shrink-0`,"aria-label":a,onClick:o,onPointerDown:uy,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)(Pr,{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 uy(e){e.stopPropagation()}function dy(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)(Xv,{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:fy,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)(tl,{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 fy(e){e.stopPropagation()}function py(e){let t=(0,Q.c)(145),{planMode:n,imageMode:r,ralphMode:i,orchestrateMode:o,autoMode:s,setPlanMode:c,setImageMode:l,setRalphMode:u,setOrchestrateMode:d,setAutoMode:f,lastAutoRouteDecision:p,projectId:m,disabled:h,canAddTask:g,skills:_,onSelectSkill:v,slashCommands:y,onSelectSlashCommand:x,onFileAttach:S,onAddTask:C}=e,w=p===void 0?null:p,T=h===void 0?!1:h,E=Gn(),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(!1),{isEnabled:j,isSupported:M,isHealthy:N,isLoading:P,isSaving:F,updateIsEnabled:I}=Qv(),{setPendingExplorerPath:L}=Zs(),{openChatDockPanel:R}=$u(),B=X(vy),V=X(_y),H;t[0]!==s||t[1]!==r||t[2]!==w||t[3]!==E||t[4]!==o||t[5]!==n||t[6]!==m||t[7]!==i||t[8]!==f||t[9]!==l||t[10]!==d||t[11]!==c||t[12]!==u?(H={planMode:n,imageMode:r,ralphMode:i,orchestrateMode:o,autoMode:s,setPlanMode:c,setImageMode:l,setRalphMode:u,setOrchestrateMode:d,setAutoMode:f,lastAutoRouteDecision:w,projectId:m,onOpenProjectSettings(e){E(`/settings/project/${e}/model-aliases`)}},t[0]=s,t[1]=r,t[2]=w,t[3]=E,t[4]=o,t[5]=n,t[6]=m,t[7]=i,t[8]=f,t[9]=l,t[10]=d,t[11]=c,t[12]=u,t[13]=H):H=t[13];let{chatModes:U,confirmCommands:ee,currentConfig:ne,currentMode:re,modeTooltipContent:ie,isUpdatingConfirmCommands:ae,selectMode:oe,toggleConfirmCommands:se,cheapAliasDialog:ce}=oy(H),le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,W;if(t[14]!==U||t[15]!==ee||t[16]!==ne.icon||t[17]!==ne.label||t[18]!==re||t[19]!==T||t[20]!==P||t[21]!==F||t[22]!==ae||t[23]!==D||t[24]!==ie||t[25]!==v||t[26]!==R||t[27]!==m||t[28]!==V||t[29]!==j||t[30]!==N||t[31]!==M||t[32]!==oe||t[33]!==L||t[34]!==_||t[35]!==se||t[36]!==I){let e=[..._].sort(gy),n;t[53]!==R||t[54]!==V||t[55]!==L?(n=function(e){L(cy(e,V)),R(`explorer`),O(!1)},t[53]=R,t[54]=V,t[55]=L,t[56]=n):n=t[56];let r=n;fe=Yc,ge=D,_e=O;let i;t[57]===ne.icon?i=t[58]:(i=(0,$.jsx)(ne.icon,{className:`h-4 w-4`}),t[57]=ne.icon,t[58]=i);let a;t[59]===ne.label?a=t[60]:(a=(0,$.jsxs)(`span`,{className:`sr-only`,children:[ne.label,` mode`]}),t[59]=ne.label,t[60]=a);let o;t[61]!==T||t[62]!==i||t[63]!==a?(o=(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{variant:`action`,size:`icon-sm`,disabled:T,children:[i,a]})}),t[61]=T,t[62]=i,t[63]=a,t[64]=o):o=t[64];let s;t[65]!==P||t[66]!==j||t[67]!==M?(s=M&&!P&&!j&&(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[65]=P,t[66]=j,t[67]=M,t[68]=s):s=t[68];let c;t[69]!==o||t[70]!==s?(c=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`div`,{className:`relative`,children:[o,s]})}),t[69]=o,t[70]=s,t[71]=c):c=t[71];let l;if(t[72]===ie?l=t[73]:(l=(0,$.jsx)(Pr,{children:ie}),t[72]=ie,t[73]=l),t[74]!==c||t[75]!==l?(ve=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[74]=c,t[75]=l,t[76]=ve):ve=t[76],de=el,Se=`start`,Ce=`top`,W=`w-64`,t[77]!==ee||t[78]!==P||t[79]!==F||t[80]!==ae||t[81]!==m||t[82]!==j||t[83]!==N||t[84]!==M||t[85]!==se||t[86]!==I?(pe=(m||M&&!P)&&(0,$.jsxs)($.Fragment,{children:[m&&(0,$.jsx)(dy,{icon:nn,label:`Confirm Commands`,value:ee,onChange:()=>{se()},disabled:ae,ariaLabel:`Confirm Commands`}),M&&!P&&(0,$.jsx)(dy,{icon:z,iconClassName:G(j&&N?`text-brand`:`text-destructive`),label:`Sandbox`,value:j&&N,onChange:e=>{e&&!N||I(e).catch(hy)},disabled:F||!N&&!j,disableOn:!N,ariaLabel:`Sandbox`}),(0,$.jsx)(al,{})]}),t[77]=ee,t[78]=P,t[79]=F,t[80]=ae,t[81]=m,t[82]=j,t[83]=N,t[84]=M,t[85]=se,t[86]=I,t[87]=pe):pe=t[87],t[88]!==U||t[89]!==re||t[90]!==oe){let e;t[92]!==re||t[93]!==oe?(e=e=>{let t=e.icon,n=e.value===re;return(0,$.jsxs)(tl,{onClick:()=>oe(e.value),className:G(n&&`bg-accent`),children:[(0,$.jsx)(t,{className:`h-3.5 w-3.5`}),e.label,n&&(0,$.jsx)(lt,{className:`ml-auto h-3.5 w-3.5`})]},e.value)},t[92]=re,t[93]=oe,t[94]=e):e=t[94],me=U.map(e),t[88]=U,t[89]=re,t[90]=oe,t[91]=me}else me=t[91];t[95]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(al,{}),t[95]=he):he=t[95],ue=Zc,t[96]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsxs)(Qc,{children:[(0,$.jsx)(te,{className:`h-3.5 w-3.5`}),`Skills`]}),t[96]=xe):xe=t[96],le=$c,ye=`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,be=e.length===0?(0,$.jsx)(tl,{disabled:!0,children:`No skills available`}):e.map(e=>(0,$.jsxs)(tl,{onClick:()=>v(e),className:`gap-2 [&_svg]:size-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:sy(e.name)}),(0,$.jsx)(ly,{skill:e,onOpen:()=>r(e)})]},e.skillPath)),t[14]=U,t[15]=ee,t[16]=ne.icon,t[17]=ne.label,t[18]=re,t[19]=T,t[20]=P,t[21]=F,t[22]=ae,t[23]=D,t[24]=ie,t[25]=v,t[26]=R,t[27]=m,t[28]=V,t[29]=j,t[30]=N,t[31]=M,t[32]=oe,t[33]=L,t[34]=_,t[35]=se,t[36]=I,t[37]=le,t[38]=ue,t[39]=de,t[40]=fe,t[41]=pe,t[42]=me,t[43]=he,t[44]=ge,t[45]=_e,t[46]=ve,t[47]=ye,t[48]=be,t[49]=xe,t[50]=Se,t[51]=Ce,t[52]=W}else le=t[37],ue=t[38],de=t[39],fe=t[40],pe=t[41],me=t[42],he=t[43],ge=t[44],_e=t[45],ve=t[46],ye=t[47],be=t[48],xe=t[49],Se=t[50],Ce=t[51],W=t[52];let we;t[97]!==le||t[98]!==ye||t[99]!==be?(we=(0,$.jsx)(le,{className:ye,children:be}),t[97]=le,t[98]=ye,t[99]=be,t[100]=we):we=t[100];let Te;t[101]!==ue||t[102]!==we||t[103]!==xe?(Te=(0,$.jsxs)(ue,{children:[xe,we]}),t[101]=ue,t[102]=we,t[103]=xe,t[104]=Te):Te=t[104];let Ee;t[105]!==x||t[106]!==y?(Ee=y.length>0&&(0,$.jsxs)(Zc,{children:[(0,$.jsxs)(Qc,{children:[(0,$.jsx)(a,{className:`h-3.5 w-3.5`}),`Slash Commands`]}),(0,$.jsx)($c,{className:`max-h-[min(400px,80vh)] w-64 overflow-y-auto`,children:[...y].sort(my).map(e=>(0,$.jsxs)(tl,{onClick:()=>x(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(b.compact,`text-muted-foreground truncate`),children:e.metadata.description})]},e.filePath))})]}),t[105]=x,t[106]=y,t[107]=Ee):Ee=t[107];let De=!B,Oe,ke;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=()=>{A(!0)},ke=(0,$.jsx)(Le,{className:`h-3.5 w-3.5`}),t[108]=Oe,t[109]=ke):(Oe=t[108],ke=t[109]);let Ae;t[110]===De?Ae=t[111]:(Ae=(0,$.jsxs)(tl,{disabled:De,onClick:Oe,children:[ke,`Learnings`]}),t[110]=De,t[111]=Ae);let je;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(al,{}),t[112]=je):je=t[112];let Me;t[113]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(et,{className:`h-3.5 w-3.5`}),t[113]=Me):Me=t[113];let Ne;t[114]===S?Ne=t[115]:(Ne=(0,$.jsxs)(tl,{onClick:S,children:[Me,`Attach File`]}),t[114]=S,t[115]=Ne);let Pe;t[116]!==g||t[117]!==C?(Pe=g&&(0,$.jsxs)(tl,{onClick:C,children:[(0,$.jsx)(st,{className:`h-3.5 w-3.5`}),`Add Prompt`]}),t[116]=g,t[117]=C,t[118]=Pe):Pe=t[118];let Fe;t[119]!==de||t[120]!==pe||t[121]!==me||t[122]!==he||t[123]!==Te||t[124]!==Ee||t[125]!==Ae||t[126]!==Ne||t[127]!==Pe||t[128]!==Se||t[129]!==Ce||t[130]!==W?(Fe=(0,$.jsxs)(de,{align:Se,side:Ce,className:W,children:[pe,me,he,Te,Ee,Ae,je,Ne,Pe]}),t[119]=de,t[120]=pe,t[121]=me,t[122]=he,t[123]=Te,t[124]=Ee,t[125]=Ae,t[126]=Ne,t[127]=Pe,t[128]=Se,t[129]=Ce,t[130]=W,t[131]=Fe):Fe=t[131];let Ie;t[132]!==fe||t[133]!==ge||t[134]!==_e||t[135]!==ve||t[136]!==Fe?(Ie=(0,$.jsxs)(fe,{open:ge,onOpenChange:_e,children:[ve,Fe]}),t[132]=fe,t[133]=ge,t[134]=_e,t[135]=ve,t[136]=Fe,t[137]=Ie):Ie=t[137];let Re;t[138]!==k||t[139]!==B?(Re=(0,$.jsx)(ey,{open:k,onOpenChange:A,threadId:B}),t[138]=k,t[139]=B,t[140]=Re):Re=t[140];let ze;return t[141]!==ce||t[142]!==Ie||t[143]!==Re?(ze=(0,$.jsxs)($.Fragment,{children:[Ie,ce,Re]}),t[141]=ce,t[142]=Ie,t[143]=Re,t[144]=ze):ze=t[144],ze}function my(e,t){return e.name.localeCompare(t.name)}function hy(){}function gy(e,t){return sy(e.name).localeCompare(sy(t.name))}function _y(e){return e.projects.find(t=>t.projectId===e.selectedProjectId)?.threads.find(t=>t.threadId===e.selectedThreadId)?.path}function vy(e){return e.selectedThreadId}function yy(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function by(){return yy()!==null}function xy(){let e=yy();return e?new e:null}var Sy=!1;function Cy(){Sy||typeof globalThis.fetch!=`function`||(Nt(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{}}),Sy=!0)}function wy(e){Cy();let t=M(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 Ty=wy(`voice.stt.web`);function Ey(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 Dy(e){let t=``;for(let n=0;n<e.results.length;n+=1)t+=e.results[n][0]?.transcript??``;return t}function Oy(){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=xy();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=Dy(e).trim();t&&a(t)},e.onerror=e=>{let t=Ey(e.error);Ty.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}Ty.info(`Web Speech recognition ended — restarting`),u()},c.current=e;try{e.start(),t(`recording`),Ty.info(`Web Speech recognition started`)}catch(e){c.current=null,l.current=!1;let n=e instanceof Error?e.message:`Unknown error`;Ty.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),Ty.info(`Checking Web Speech API support`,{userAgent:navigator.userAgent,platform:navigator.platform});let n=by();return r(n),n?(Ty.info(`Web Speech API available — ready`),t(`ready`),`ready`):(Ty.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(``),Ty.info(`Starting Web Speech recognition`),u()},[u]),stopListening:(0,Z.useCallback)(async()=>{l.current=!1,c.current?.stop(),c.current=null,t(`ready`),Ty.info(`Web Speech recognition stopped`)},[]),requestModelDownload:(0,Z.useCallback)(async()=>{},[]),ensureReady:d,resetTranscript:(0,Z.useCallback)(()=>{a(``),s(null)},[])}}var ky=class{cacheEnabled=!0;log=M(`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})}}})}},Ay=wy(`voice.stt.vosk`),jy=new URL(`data:text/javascript;base64,Y2xhc3MgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7CiAgICBzdXBlcihvcHRpb25zKTsKICAgIHRoaXMucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLl9wcm9jZXNzTWVzc2FnZS5iaW5kKHRoaXMpOwogIH0KCiAgX3Byb2Nlc3NNZXNzYWdlKGV2ZW50KSB7CiAgICBpZiAoZXZlbnQuZGF0YS5hY3Rpb24gPT09ICJpbml0IikgewogICAgICB0aGlzLl9yZWNvZ25pemVySWQgPSBldmVudC5kYXRhLnJlY29nbml6ZXJJZDsKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQgPSBldmVudC5wb3J0c1swXTsKICAgIH0KICB9CgogIHByb2Nlc3MoaW5wdXRzKSB7CiAgICBjb25zdCBkYXRhID0gaW5wdXRzWzBdWzBdOwogICAgaWYgKHRoaXMuX3JlY29nbml6ZXJQb3J0ICYmIGRhdGEpIHsKICAgICAgY29uc3QgYXVkaW9BcnJheSA9IGRhdGEubWFwKCh2YWx1ZSkgPT4gdmFsdWUgKiAweDgwMDApOwoKICAgICAgdGhpcy5fcmVjb2duaXplclBvcnQucG9zdE1lc3NhZ2UoCiAgICAgICAgewogICAgICAgICAgYWN0aW9uOiAiYXVkaW9DaHVuayIsCiAgICAgICAgICBkYXRhOiBhdWRpb0FycmF5LAogICAgICAgICAgcmVjb2duaXplcklkOiB0aGlzLl9yZWNvZ25pemVySWQsCiAgICAgICAgICBzYW1wbGVSYXRlLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgdHJhbnNmZXI6IFthdWRpb0FycmF5LmJ1ZmZlcl0sCiAgICAgICAgfSwKICAgICAgKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoInJlY29nbml6ZXItcHJvY2Vzc29yIiwgUmVjb2duaXplckF1ZGlvUHJvY2Vzc29yKTsK`,``+import.meta.url);async function My(t){let{createModel:n}=await Wo(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 Ny=class{model=null;modelBlobUrl=null;checkSupport(){return typeof WebAssembly<`u`&&typeof Worker<`u`&&typeof indexedDB<`u`}async initModel(e){Ay.info(`Initializing Vosk model`,{modelUrl:e});try{this.model=await My(e),Ay.info(`Vosk model ready`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Ay.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 Py(i,t,a,o);return s.audioNode.connect(i.destination),Ay.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(),Ay.info(`Vosk mic pipeline stopped`)}}}terminate(){this.model?.terminate(),this.model=null,this.revokeModelBlobUrl()}revokeModelBlobUrl(){this.modelBlobUrl&&=(URL.revokeObjectURL(this.modelBlobUrl),null)}};async function Py(e,t,n,r){return await Fy(e,t,n,r)||(Ay.warn(`AudioWorklet unavailable — falling back to ScriptProcessorNode`),Iy(e,n,r))}async function Fy(e,t,n,r){if(!e.audioWorklet)return null;try{await e.audioWorklet.addModule(jy);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 Ay.warn(`Failed to initialize AudioWorklet pipeline`,{error:e instanceof Error?e.message:String(e)}),null}}function Iy(e,t,n){let r=e.createScriptProcessor(4096,1,1);return r.onaudioprocess=e=>{try{t.acceptWaveform(e.inputBuffer)}catch(e){Ay.error(`acceptWaveform failed`,{error:e instanceof Error?e.message:String(e)})}},n.connect(r),{audioNode:r,processorType:`scriptprocessor`}}var Ly=`/api/voice-model/download`;function Ry(){return Ly}var zy=wy(`voice.stt.vosk-hook`);function By(e,t){let n=e.trim(),r=t.trim();return n&&r?`${n} ${r}`:n||r}function Vy(){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(By(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=Ry();async function i(){t(`checking-support`),_(!1),l(0),s(null),zy.separator(`VOICE SESSION START`),zy.info(`Checking Vosk support`,{userAgent:navigator.userAgent,platform:navigator.platform,url:n});try{let e=new Ny;u.current=e;let i=e.checkSupport();if(r(i),!i)return zy.error(`Vosk not supported in this environment`),t(`error`),s(`Local speech recognition is not supported in this environment.`),`error`;let a=new ky;d.current=a,zy.info(`Checking IndexedDB model cache`,{url:n});let o=await a.getCachedModelByUrl(n);return o?(zy.info(`Cached model found — initializing Vosk`,{sizeBytes:o.byteLength,sizeMB:(o.byteLength/1024/1024).toFixed(2)}),_(!0),t(`initializing`),await e.initModelFromBytes(o),zy.info(`Vosk model initialized from cache — ready`),t(`ready`),`ready`):(zy.info(`Model not in cache — download required`),t(`needs-model`),`needs-model`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;return zy.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=Ry();t(`downloading-model`),l(0),s(null),zy.info(`Model download requested`,{url:e});try{let n=await d.current.loadModelByUrl(e,e=>{l(e),e%10==0&&zy.debug(`Model download progress`,{progress:e})});zy.info(`Model download complete — initializing Vosk`,{sizeBytes:n.byteLength,sizeMB:(n.byteLength/1024/1024).toFixed(2)}),t(`initializing`),await u.current.initModelFromBytes(n),zy.info(`Vosk model initialized after download — ready`),_(!0),t(`ready`)}catch(e){let n=e instanceof Error?e.message:`An unknown error occurred.`;zy.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(``),zy.separator(`RECORDING START`),!navigator.mediaDevices?.getUserMedia){zy.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`),zy.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){zy.info(`stopListening called but no active recording`),m.current&&t(`ready`);return}t(`transcribing`),zy.info(`Stopping recording`);try{await f.current.stop(),g.current=``,v(),t(`ready`),zy.info(`Recording stopped`)}catch(e){let n=e instanceof Error?e.message:`Unknown error`;zy.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 Hy(){let e=(0,Q.c)(22),t=Vy(),n=Oy();if(Lo()){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 Uy=new Map;function Wy(e){let t=Uy.get(e);if(t)return t;let n=M(e);return Uy.set(e,n),n}function Gy({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=Wy(n);async function o(){try{let n=await Bi();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=Wy(n);l(!0);try{a((await ki({[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 Ky(){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],Gy(t)}var qy=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)(vr,{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)(dn,{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});qy.displayName=dn.displayName;function Jy(e,t,n){return t?`Preparing voice input…`:n<100?`Downloading voice model… ${n}%`:e?`Finishing download…`:`Downloading voice model…`}function Yy(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)(Ra,{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)(wr,{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)(no,{variant:`error`,className:`mb-0`,children:c}),(0,$.jsxs)(Ba,{children:[(0,$.jsx)(No,{variant:`outline`,onClick:()=>r(!1),children:`Cancel`}),(0,$.jsx)(No,{onClick:i,children:`Try again`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,$.jsx)(no,{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)(La,{title:Jy(a,o,s)}),(0,$.jsx)(qy,{value:o?100:s,className:`w-full`}),(0,$.jsx)(`p`,{className:G(b.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)(Fr,{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 Xy({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}=Hy(),{isEnabled:_}=Ky(),{toast:v}=Ls(),[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),Qr(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)(K,{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)(St,{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:`
3255
3255
  .recording-waveform {
3256
3256
  display: flex;
3257
3257
  align-items: center;
@@ -3279,9 +3279,9 @@ Server stopped.
3279
3279
  `}function x(e,t=!1){a(`failed`),s(e),c(t),Rs({title:`Dev server failed to start`,description:e,variant:`destructive`})}function S(e){if(m.current)return;m.current=!0;let n=y(e);Ox(t,e,n.trim()?n:`Dev server started.
3280
3280
  `),p.current?.abort(),p.current=null,a(`running`),c(!0),s(null)}function C(e,n){if(m.current)return;m.current=!0;let r=n!==void 0&&n!==0;Ox(t,e,b(e),r),c(!1),r?x(y(e).trim()||`Dev server failed to start.`,!1):(a(`idle`),s(null)),l(null)}async function w(e,n,r){if(_.current||(_.current=!0,!await f({projectId:e.projectId,port:n.port,pid:n.pid,command:n.command})))return!1;if(n.port==null)return Rs({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 li(e.projectId,n.port);if(!i.success){let e=i.killCommand??ht(n.port);return Rs({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 T(){h.current=!0}function E(e,n,a){return T(),ax({url:e,useBuiltInBrowser:n.useBuiltInBrowser!==!1,setDevServerUrl:i,openBrowserPanel:()=>{r(`browser`,{navigateToChat:!1})},openExternalUrl:Gr,onTerminalMessage:e=>{t({type:Y.AppendToolExecutionOutput,toolCallId:a.toolCallId,threadId:a.threadId,toolName:`bash`,delta:`${e}\n`})}}).then(()=>{S(a)})}async function D(n,r,i){_.current=!1,h.current=!1,g.current=!1,m.current=!1;let s,c=null;v.current=null;let u=setTimeout(()=>{if(h.current||i.aborted||m.current||g.current)return;let e=ne(y(r));if(e){E(e,n,r);return}g.current=!0,Rs({title:`No dev URL detected yet`,description:`Check the output or enter the URL manually in the Browser panel.`})},o);try{let o=await da(n.projectId,e??void 0,i);if(!o)return Ox(t,r,`Failed to start dev server.
3281
3281
  `,!0),x(`Failed to start dev server.`),m.current=!0,`failed`;a(`starting`),await jx(o,kx({dispatch:t,toolCallId:r.toolCallId,threadId:r.threadId,isUrlDetected:()=>h.current,markUrlDetected:T,onUrl:async e=>{await E(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.
3282
- `}),c||=w(n,e,r)},onExitCode:e=>{s=e}}),i);let u=v.current;if(u!=null&&!m.current){if(await c??!1)return`retry`;let e=Px(u.port);return Ox(t,r,`${y(r)}${e}\n`.trimStart(),!0),m.current=!0,x(e,!1),l(null),`failed`}return m.current||C(r,s),m.current&&s===0?`success`:`failed`}catch(e){return i.aborted&&m.current?`failed`:(Mx.error(`Failed to start dev server:`,e),m.current||=(Ox(t,r,`${y(r)}Failed to start dev server.\n`.trimStart(),!0),!0),x(`Failed to start dev server.`),l(null),`failed`)}finally{clearTimeout(u)}}let O=async n=>{if(!n?.runCommand||!n?.projectId||!e)return;d.current=!1,p.current?.abort(),p.current=new AbortController;try{(await gi(n.projectId)).isRunning&&await Co(n.projectId)}catch{}l(n.projectId),a(`starting`),s(null),c(!0);let r=wx(),i={threadId:e,toolCallId:r,messageId:`msg-dev-server-${r}`,command:n.runCommand};Ex(t,i);let o=0;for(;o<2;){o+=1;let e=new AbortController;if(p.current=e,await D(n,i,e.signal)!==`retry`)break}};async function k(e){d.current=!0,a(`stopping`);try{await Co(e);let t=Date.now();for(;Date.now()-t<vt&&(await gi(e)).isRunning;)await Nx(200);i(null),u(!0),a(`idle`),s(null),c(!1),l(null)}catch(e){Rs({title:`Error`,description:e instanceof Error?e.message:`Failed to stop dev server`,variant:`destructive`}),a(`running`)}}function A(){a(`idle`),s(null),c(!1),l(null)}return{startServer:O,stopServer:k,dismissFailed:A,setServerUrl:i}}var Ix=3e4,Lx=2e3,Rx=5e3;function zx(e,t,n){return!e||t!==e?!1:n!==`idle`}function Bx(e){let{devServerState:t,setDevServerState:n,devServerProjectId:r,setDevServerProjectId:i,setDevServerProcessAlive:a,setDevServerFailureReason:o}=ix(),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 gi(e),n=zx(e,f.current,d.current);if(!t.isRunning&&n&&d.current===`starting`||!t.isRunning&&d.current===`failed`)return;p(t.isRunning)}catch{zx(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>Ix){clearInterval(r);return}gi(e).then(e=>{e.isRunning&&(p(!0),clearInterval(r))}).catch(()=>{})},Lx);return()=>clearInterval(r)},[e,t,p]),(0,Z.useEffect)(()=>{if(!e||!s)return;let t=setInterval(()=>{gi(e).then(e=>{e.isRunning||p(!1)}).catch(()=>{})},Rx);return()=>clearInterval(t)},[e,s,p]),{isRunning:s,isLoading:c,isFailed:l,recheck:(0,Z.useCallback)(async()=>{if(e)try{p((await gi(e)).isRunning)}catch{p(!1)}},[e,p])}}function Vx(e){let t=(0,Q.c)(97),{projectId:n,runCommand:r,large:i,layout:a}=e,o=a===void 0?`bar`:a,s=X(Hx),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}=ix(),{startServer:m,stopServer:g,dismissFailed:_}=Fx();Bx(n);let v=jb(),y=u===`starting`,x=u===`stopping`,S=u===`running`,C=u===`failed`,w=y||x,T;t[5]!==n||t[6]!==r||t[7]!==l?.useBuiltInBrowser||t[8]!==m?(T=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]=T):T=t[9];let E=T,D;t[10]!==f||t[11]!==_||t[12]!==C||t[13]!==n||t[14]!==p||t[15]!==g?(D=async function(){if(C&&!f){_();return}p(n);try{await g(n)}catch(e){let t=e;Rs({title:`Error`,description:t instanceof Error?t.message:`Failed to stop dev server`,variant:`destructive`})}},t[10]=f,t[11]=_,t[12]=C,t[13]=n,t[14]=p,t[15]=g,t[16]=D):D=t[16];let O=D,k;t[17]!==E||t[18]!==O||t[19]!==C||t[20]!==S||t[21]!==y?(k=function(){if(C){E();return}if(S||y){O();return}E()},t[17]=E,t[18]=O,t[19]=C,t[20]=S,t[21]=y,t[22]=k):k=t[22];let A=k,j;t[23]===r?j=t[24]:(j=r?.trim(),t[23]=r,t[24]=j);let M=!!j,N=x?`Stopping...`:y?`Starting...`:C?`Retry dev server`:S?`Stop dev server`:`Start dev server`;if(v&&!M&&!S&&!w&&!C)return null;let P,F,I,L,R,z,B,V,H,U,ee;if(t[25]!==M||t[26]!==d||t[27]!==A||t[28]!==C||t[29]!==w||t[30]!==S||t[31]!==N||t[32]!==i||t[33]!==o||t[34]!==r||t[35]!==v){B=Symbol.for(`react.early_return_sentinel`);bb0:{let e=G(S&&`text-orange-500 bg-orange-500/10`,C&&`text-destructive bg-destructive/10`,!S&&!C&&(v?`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`:`text-muted-foreground`),S&&`before:absolute before:inset-[-1px] before:rounded-full before:border before:border-orange-500/60 before:animate-ping-subtle before:content-['']`),n;if(t[47]!==C||t[48]!==w||t[49]!==S?(n=w?(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}):C?(0,$.jsx)(Kt,{className:`h-4 w-4`}):S?(0,$.jsx)(h,{className:`h-4 w-4 fill-current`}):(0,$.jsx)(De,{className:`h-4 w-4`}),t[47]=C,t[48]=w,t[49]=S,t[50]=n):n=t[50],R=n,ee=C?d??`Dev server failed to start`:S?`Stop dev server`:M?`Start dev server: ${r}`:`Set run command in project settings`,i){let e=w||!S&&!C&&!M,n=`flex flex-col items-center gap-3 group disabled:opacity-40 disabled:cursor-not-allowed ${S?`text-orange-500`:C?`text-destructive`:`text-muted-foreground`}`,r;t[51]!==C||t[52]!==w||t[53]!==S?(r=w?(0,$.jsx)(K,{className:`h-10 w-10 animate-spin`}):C?(0,$.jsx)(Kt,{className:`h-10 w-10`}):S?(0,$.jsx)(h,{className:`h-10 w-10 fill-current`}):(0,$.jsx)(De,{className:`h-10 w-10 fill-current group-hover:text-foreground transition-colors`}),t[51]=C,t[52]=w,t[53]=S,t[54]=r):r=t[54];let i;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(i=G(b.body,`group-hover:text-foreground transition-colors`),t[55]=i):i=t[55];let a;t[56]===N?a=t[57]:(a=(0,$.jsx)(`span`,{className:i,children:N}),t[56]=N,t[57]=a);let o;t[58]!==A||t[59]!==e||t[60]!==n||t[61]!==r||t[62]!==a?(o=(0,$.jsxs)(`button`,{onClick:A,disabled:e,className:n,children:[r,a]}),t[58]=A,t[59]=e,t[60]=n,t[61]=r,t[62]=a,t[63]=o):o=t[63],B=o;break bb0}if(o===`menu`){let e=S&&`text-orange-500`,n=C&&`text-destructive`,r;t[64]!==e||t[65]!==n?(r=G(`w-full justify-start gap-2`,e,n),t[64]=e,t[65]=n,t[66]=r):r=t[66];let i=w||!S&&!C&&!M,a;t[67]!==A||t[68]!==R||t[69]!==N||t[70]!==r||t[71]!==i?(a=(0,$.jsxs)(No,{variant:`ghost`,size:`sm`,className:r,onClick:A,disabled:i,children:[R,N]}),t[67]=A,t[68]=R,t[69]=N,t[70]=r,t[71]=i,t[72]=a):a=t[72],B=a;break bb0}L=Fo,I=Mi,F=Ii,z=!0,P=No,V=`ghost`,H=`icon`,U=G(`relative h-8 w-8`,e)}t[25]=M,t[26]=d,t[27]=A,t[28]=C,t[29]=w,t[30]=S,t[31]=N,t[32]=i,t[33]=o,t[34]=r,t[35]=v,t[36]=P,t[37]=F,t[38]=I,t[39]=L,t[40]=R,t[41]=z,t[42]=B,t[43]=V,t[44]=H,t[45]=U,t[46]=ee}else P=t[36],F=t[37],I=t[38],L=t[39],R=t[40],z=t[41],B=t[42],V=t[43],H=t[44],U=t[45],ee=t[46];if(B!==Symbol.for(`react.early_return_sentinel`))return B;let te=w||!S&&!C&&!M,ne;t[73]===N?ne=t[74]:(ne=(0,$.jsx)(`span`,{className:`sr-only`,children:N}),t[73]=N,t[74]=ne);let re;t[75]!==P||t[76]!==A||t[77]!==R||t[78]!==te||t[79]!==ne||t[80]!==V||t[81]!==H||t[82]!==U?(re=(0,$.jsxs)(P,{variant:V,size:H,className:U,onClick:A,disabled:te,children:[R,ne]}),t[75]=P,t[76]=A,t[77]=R,t[78]=te,t[79]=ne,t[80]=V,t[81]=H,t[82]=U,t[83]=re):re=t[83];let ie;t[84]!==F||t[85]!==z||t[86]!==re?(ie=(0,$.jsx)(F,{asChild:z,children:re}),t[84]=F,t[85]=z,t[86]=re,t[87]=ie):ie=t[87];let ae;t[88]===ee?ae=t[89]:(ae=(0,$.jsx)(Pr,{children:ee}),t[88]=ee,t[89]=ae);let oe;t[90]!==I||t[91]!==ie||t[92]!==ae?(oe=(0,$.jsxs)(I,{children:[ie,ae]}),t[90]=I,t[91]=ie,t[92]=ae,t[93]=oe):oe=t[93];let se;return t[94]!==L||t[95]!==oe?(se=(0,$.jsx)(L,{children:oe}),t[94]=L,t[95]=oe,t[96]=se):se=t[96],se}function Hx(e){return e.projects}var Ux=(0,Z.lazy)(()=>Wo(()=>import(`./git-ops-button-sVka4_mz.js`).then(e=>({default:e.GitOpsButton})),__vite__mapDeps([3,1,4,5,6,7,8,9])));function Wx(e){return e===`menu`?`w-full justify-start gap-2`:`gap-2`}function Gx(e){let t=(0,Q.c)(4),{threadId:n,projectId:r,messages:i,userTasks:a}=e,{hasChanges:o}=Wu(),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 Kx(e){let t=(0,Q.c)(8),{hasMessages:n,onNewChat:r}=e,{isStartingNewChat:i}=tx();if(!n)return null;let a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:`outline`,size:`sm`,disabled:i,onClick:r,children:`New Chat`})}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o=i?`Starting Chat`:`New Chat`,s;t[3]===o?s=t[4]:(s=(0,$.jsx)(Pr,{children:o}),t[3]=o,t[4]=s);let c;return t[5]!==a||t[6]!==s?(c=(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)(Fo,{children:(0,$.jsxs)(Mi,{children:[a,s]})})}),t[5]=a,t[6]=s,t[7]=c):c=t[7],c}function qx(e){let t=(0,Q.c)(63),{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}=$u(),{isStartingNewChat:h}=tx(),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}=Gx(g),{changedFilesCount:b}=Wu(),x;t[5]===p?x=t[6]:(x=Wx(p),t[5]=p,t[6]=x);let S=x,C=X(Jx),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||!!(n&&r),O=p===`menu`;if(!y)return null;let k=p===`bar`&&`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`,A=p===`menu`&&`flex flex-col items-stretch gap-1 p-1 min-w-[220px]`,j;t[12]!==k||t[13]!==A?(j=G(k,A),t[12]=k,t[13]=A,t[14]=j):j=t[14];let M=p===`bar`?!0:void 0,N;t[15]!==_||t[16]!==h||t[17]!==p||t[18]!==c||t[19]!==S?(N=_&&(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:p===`menu`?`ghost`:`outline`,size:`sm`,className:S,disabled:h,onClick:c,children:`New Chat`})}),(0,$.jsx)(Pr,{children:h?`Starting Chat`:`New Chat`})]})}),t[15]=_,t[16]=h,t[17]=p,t[18]=c,t[19]=S,t[20]=N):N=t[20];let P;t[21]!==b||t[22]!==v||t[23]!==p||t[24]!==m||t[25]!==S?(P=v&&p===`menu`&&(0,$.jsxs)(No,{variant:`ghost`,size:`sm`,className:S,onClick:()=>{m(`review`)},children:[b,` `,b===1?`Change`:`Changes`]}),t[21]=b,t[22]=v,t[23]=p,t[24]=m,t[25]=S,t[26]=P):P=t[26];let F;t[27]!==o||t[28]!==s||t[29]!==p||t[30]!==d||t[31]!==l||t[32]!==u||t[33]!==n||t[34]!==a?(F=a.length>0&&(0,$.jsx)(Yb,{tasks:a,disabled:o||!n&&!s,onSelectTask:l,onTogglePinned:u,onRemoveTask:d,layout:p}),t[27]=o,t[28]=s,t[29]=p,t[30]=d,t[31]=l,t[32]=u,t[33]=n,t[34]=a,t[35]=F):F=t[35];let I;t[36]!==p||t[37]!==r||t[38]!==O||t[39]!==n?(I=n&&r&&O&&(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Ux,{projectId:r,threadId:n,layout:p},n)}),t[36]=p,t[37]=r,t[38]=O,t[39]=n,t[40]=I):I=t[40];let L;t[41]!==_||t[42]!==p?(L=_&&(0,$.jsx)(qb,{layout:p}),t[41]=_,t[42]=p,t[43]=L):L=t[43];let R;t[44]!==D||t[45]!==E?(R=E&&D&&(0,$.jsx)(al,{className:`my-1`}),t[44]=D,t[45]=E,t[46]=R):R=t[46];let z;t[47]!==r||t[48]!==T?.openWith||t[49]!==T?.runCommand||t[50]!==E||t[51]!==n?(z=E&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Vx,{projectId:r,runCommand:T?.runCommand,layout:`menu`}),(0,$.jsx)(hx,{threadId:n,layout:`menu`}),(0,$.jsx)(gx,{layout:`menu`}),(0,$.jsx)(Cx,{projectId:r,threadId:n,openWith:T?.openWith,layout:`menu`})]}),t[47]=r,t[48]=T?.openWith,t[49]=T?.runCommand,t[50]=E,t[51]=n,t[52]=z):z=t[52];let B;return t[53]!==P||t[54]!==F||t[55]!==I||t[56]!==L||t[57]!==R||t[58]!==z||t[59]!==j||t[60]!==M||t[61]!==N?(B=(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:j,"data-chat-toolbar":M,children:[N,P,F,I,L,R,z]})}),t[53]=P,t[54]=F,t[55]=I,t[56]=L,t[57]=R,t[58]=z,t[59]=j,t[60]=M,t[61]=N,t[62]=B):B=t[62],B}function Jx(e){return e.projects}function Yx(e){let t=(0,Q.c)(10),{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}=Gx(o);if(a===`newChatOnly`){let e;return t[5]!==s||t[6]!==i?(e=(0,$.jsx)(Kx,{hasMessages:s,onNewChat:i}),t[5]=s,t[6]=i,t[7]=e):e=t[7],e}let c;return t[8]===e?c=t[9]:(c=(0,$.jsx)(qx,{...e}),t[8]=e,t[9]=c),c}function Xx(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(Yx,{...e}),t[0]=e,t[1]=n),n}function Zx(e){let t=(0,Q.c)(29),{inPill:n}=e,r=n===void 0?!1:n,i=jb(),a=X(eS),o=X($x),s=X(Qx),{userTasks:c,handleNewChat:l,handleSelectUserTask:u,handleRemoveUserTask:d,toggleUserTaskPinned:f,effectiveIsStreaming:p,isCreatingProject:m}=tx(),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}=Gx(h);if(!a||!g)return null;let _=r||!i?`text-muted-foreground`:Ic,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)(Qe,{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)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{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)(el,{align:`end`,className:`electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(qx,{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)(Yc,{children:[x,T]}),t[26]=T,t[27]=x,t[28]=E):E=t[28],E}function Qx(e){return e.messages}function $x(e){return e.selectedProjectId}function eS(e){return e.selectedThreadId}function tS(e){let t=(0,Q.c)(3),{threadId:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Uu,{threadId:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function nS(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 rS=1500;function iS(e){let t=[];for(let n of e){let e=Go(n.content);e&&t.push(...e)}return t}function aS(e,t){let n=[];for(let[r,i]of Object.entries(e))!i||i.length===0||Xh(r)===t&&n.push(...Of(i));return n}function oS(e){let t=new Set;for(let n of e)Jo(n)&&t.add(n.toolCallId);let n=null;for(let r of e){if(!as(r)||r.name!==`ask_user`||t.has(r.id))continue;let e=Jg(r.input);e.questions.length!==0&&(n=nS(r.id,e.questions))}return n}function sS(e){return e.isThreadActive?oS([...e.messageBlocks,...Ts(e.streamingSegments),...aS(e.subagentTranscripts,e.paneId)]):null}function cS(e,t,n,r){if(t){let n=e.find(e=>e.toolCallId===t);if(n)return nS(n.toolCallId,n.questions)}if(!n)return null;let i=e.find(e=>ng(e.toolCallId)===r&&tg(e.toolCallId)===n);return i?nS(i.toolCallId,i.questions):null}function lS(e){let t=(0,Q.c)(24),{paneId:n}=Bg(),r=X(dS),i;t[0]!==n||t[1]!==r?(i=e=>ds(e.threadStreamingStates,r,n).streamingSegments,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=X(i),o=X(uS),s;t[3]!==n||t[4]!==r?(s=e=>us(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=iS(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=sS({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 Wr();if(e)return;if(t.length===0){_.current&&=(g(_.current),null),m(null);return}let i=cS(t,v,r,n);if(!i){_.current=null,m(null);return}_.current=i.toolCallId,m(nS(i.toolCallId,i.questions))}catch{}};t();let i=setInterval(()=>{t()},rS);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 uS(e){return e.subagentTranscripts}function dS(e){return e.selectedThreadId}function fS(e){let t=(0,Q.c)(10),{open:n,onClose:r}=e,i=Gn(),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)(Gs,{children:[(0,$.jsx)(Bs,{children:`Balance empty`}),(0,$.jsx)(zs,{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)(Vs,{children:[o,(0,$.jsx)(Us,{children:(0,$.jsx)(No,{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)(Ks,{open:n,onOpenChange:a,children:s}),t[6]=n,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function pS(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)(mS,{messages:i}),t[2]=i,t[3]=a),a}function mS(e){let t=(0,Q.c)(66),{messages:n}=e,{paneId:r,conversationId:i,fillPane:a}=Bg(),o=bb(),s=xb(),c=o?.placement===`footer`&&!o.embedded,l=o?.embedded??!1,u=!(c&&s!==`centered`),d=X(yS),f=X(vS),p=X(_S),m=X(gS),[h,g]=Z.useState(!1),{handleSend:_,handleStop:v,getQueuedMessagesForPane:y,handleRemoveQueuedMessage:b,showEmptyBalanceDialog:x,setShowEmptyBalanceDialog:S}=Ig(),{userTasks:C,setUserTasks:w,handleNewChat:T,handleSelectUserTask:E,handleRemoveUserTask:D,toggleUserTaskPinned:O,effectiveIsStreaming:k}=tx(),[A,j]=(0,Z.useState)(hS),M=lS(n),N;t[0]!==A||t[1]!==M?(N=M&&!A.has(M.toolCallId)?M:null,t[0]=A,t[1]=M,t[2]=N):N=t[2];let P=N,F;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(F=e=>{j(t=>{let n=new Set(t);return n.add(e),n})},t[3]=F):F=t[3];let I=F,L;t[4]!==i||t[5]!==_||t[6]!==r?(L=(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]=L):L=t[7];let R=L,z;t[8]!==v||t[9]!==r?(z=()=>{v(r)},t[8]=v,t[9]=r,t[10]=z):z=t[10];let B=z,V;t[11]!==P||t[12]!==B?(V=()=>{B(),P&&I(P.toolCallId)},t[11]=P,t[12]=B,t[13]=V):V=t[13];let H=V,U;t[14]!==b||t[15]!==r?(U=e=>{b(r,e)},t[14]=b,t[15]=r,t[16]=U):U=t[16];let ee=U,te=r===`primary`&&f&&(p||n.length>0||C.length>0),ne=r!==`primary`&&f&&n.length>0,re;t[17]===S?re=t[18]:(re=()=>S(!1),t[17]=S,t[18]=re);let ie;t[19]!==x||t[20]!==re?(ie=(0,$.jsx)(fS,{open:x,onClose:re}),t[19]=x,t[20]=re,t[21]=ie):ie=t[21];let ae;t[22]===a?ae=t[23]:(ae=M_(a),t[22]=a,t[23]=ae);let oe;t[24]!==k||t[25]!==T||t[26]!==D||t[27]!==E||t[28]!==d||t[29]!==n||t[30]!==r||t[31]!==p||t[32]!==f||t[33]!==ne||t[34]!==te||t[35]!==O||t[36]!==C?(oe=(te||ne)&&(0,$.jsx)(`div`,{className:`max-md:hidden`,children:(0,$.jsx)(Xx,{threadId:f,projectId:p??``,messages:n,userTasks:r===`primary`?C:[],effectiveIsStreaming:k,isCreatingProject:d,mode:r===`primary`?`full`:`newChatOnly`,onNewChat:()=>{T()},onSelectUserTask:E,onToggleUserTaskPinned:O,onRemoveUserTask:e=>{D(e)}})}),t[24]=k,t[25]=T,t[26]=D,t[27]=E,t[28]=d,t[29]=n,t[30]=r,t[31]=p,t[32]=f,t[33]=ne,t[34]=te,t[35]=O,t[36]=C,t[37]=oe):oe=t[37];let se;t[38]!==P||t[39]!==c||t[40]!==k||t[41]!==u||t[42]!==l||t[43]!==y||t[44]!==H||t[45]!==D||t[46]!==m||t[47]!==d||t[48]!==ee||t[49]!==R||t[50]!==B||t[51]!==r||t[52]!==h||t[53]!==f||t[54]!==w||t[55]!==C?(se=P?(0,$.jsx)(Ob,{toolCallId:P.toolCallId,questions:P.questions,onAnswered:I,onStop:H,elevated:u}):(0,$.jsx)(lb,{planMode:h,setPlanMode:g,onSend:R,onStop:B,isStreaming:k,disabled:!f&&!d||m,initialValue:``,queuedMessages:y(r),onRemoveQueuedMessage:ee,isOverlay:!1,centered:c,embedded:l,elevated:u,userTasks:C,onMatchedUserTaskSend:e=>{e.pinned||D(e.id)},onUserTaskCreated:e=>{w(t=>[...t,e])}}),t[38]=P,t[39]=c,t[40]=k,t[41]=u,t[42]=l,t[43]=y,t[44]=H,t[45]=D,t[46]=m,t[47]=d,t[48]=ee,t[49]=R,t[50]=B,t[51]=r,t[52]=h,t[53]=f,t[54]=w,t[55]=C,t[56]=se):se=t[56];let ce;t[57]!==oe||t[58]!==se?(ce=(0,$.jsxs)(`div`,{className:`relative`,children:[oe,se]}),t[57]=oe,t[58]=se,t[59]=ce):ce=t[59];let le;t[60]!==ce||t[61]!==ae?(le=(0,$.jsx)(`div`,{className:ae,children:ce}),t[60]=ce,t[61]=ae,t[62]=le):le=t[62];let ue;return t[63]!==le||t[64]!==ie?(ue=(0,$.jsxs)($.Fragment,{children:[ie,le]}),t[63]=le,t[64]=ie,t[65]=ue):ue=t[65],ue}function hS(){return new Set}function gS(e){return e.selectedThreadId?e.threadToolSessions[e.selectedThreadId]?.kind===`create-project`:!1}function _S(e){return e.selectedProjectId}function vS(e){return e.selectedThreadId}function yS(e){return e.isCreatingProject}function bS(e){let t=e?.querySelector(O_);return t?t.getBoundingClientRect().top:null}function xS(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=bS(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 SS(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=bS(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:E_});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 CS;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(CS||={});var wS;(function(e){e.Body=`body`,e.Ionic=`ionic`,e.Native=`native`,e.None=`none`})(wS||={});var TS=bm(`Keyboard`);function ES(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 DS(e,t){return zr()?t:e>0?e:t}function OS(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(ES(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 Ir()&&a.push(TS.addListener(`keyboardWillShow`,e=>{o(e.keyboardHeight)}),TS.addListener(`keyboardDidShow`,e=>{o(e.keyboardHeight)}),TS.addListener(`keyboardWillHide`,()=>{o(0)}),TS.addListener(`keyboardDidHide`,()=>{o(0)})),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n);for(let e of a)e.then(kS)}},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=DS(r,a),n[3]=r,n[4]=a,n[5]=u):u=n[5],u}function kS(e){e.remove()}function AS(e){let t=(0,Q.c)(53),{paneId:n,inline:r}=e,i=r===void 0?!1:r,a=X(MS),o=X(jS),s=n??o,c;t[0]===s?c=t[1]:(c=e=>$o(e,s),t[0]=s,t[1]=c);let l=X(c),u;t[2]===s?u=t[3]:(u=e=>ns(e,s),t[2]=s,t[3]=u);let d=X(u),f=bb(),p=xb(),m=Sb()?D_: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=OS(C);if(xS(x,S,i&&p===`centered`),SS(x,S,!i&&p===`moving-to-footer`),!a||!b)return null;let T;t[6]===d?T=t[7]:(T=(0,$.jsx)(ex,{children:(0,$.jsx)(pS,{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)(Rg,{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=j_(!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 jS(e){return e.focusedPane}function MS(e){return e.selectedThreadId}function NS(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 PS(e){let t=(0,Q.c)(47),{project:n}=e,r=jb(),{isRunning:i}=Bx(n?.projectId),{startServer:a}=Fx(),o=bb(),s=o!=null&&!o.embedded;n?.name;let c=n?.name??`your project`,l;t[0]===c?l=t[1]:(l=NS(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)(kc,{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(b.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(b.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(b.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)(AS,{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(b.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(b.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 x;t[35]!==_||t[36]!==y?(x=(0,$.jsxs)(`div`,{className:`text-center`,children:[_,y]}),t[35]=_,t[36]=y,t[37]=x):x=t[37];let S;t[38]!==p||t[39]!==d?(S=d&&(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(b.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]=S):S=t[40];let C;t[41]===s?C=t[42]:(C=s?(0,$.jsx)(AS,{inline:!0}):null,t[41]=s,t[42]=C);let w;return t[43]!==x||t[44]!==S||t[45]!==C?(w=(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,x,S,C]})}),t[43]=x,t[44]=S,t[45]=C,t[46]=w):w=t[46],w}function FS({virtuosoRef:e,selectedThreadId:t,messagesLoaded:n,messageCount:r,isStreaming:i,hasPendingMessage:a,streamingSegmentCount:o}){let s=(0,Z.useRef)(0),c=(0,Z.useRef)(!1),l=(0,Z.useRef)(!1),u=(0,Z.useRef)(!1),d=(0,Z.useRef)(0),f=(0,Z.useRef)(null),p=(0,Z.useCallback)(()=>{t&&e.current?.getState(e=>{Ea(t,e.scrollTop)})},[t,e]),m=(0,Z.useRef)(p);m.current=p;function h(){u.current&&m.current()}(0,Z.useEffect)(()=>{function e(){h()}return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[t]),(0,Z.useEffect)(()=>{let e=setInterval(()=>{h()},5e3);return()=>clearInterval(e)},[t]),(0,Z.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),(0,Z.useEffect)(()=>{l.current=!1,u.current=!1,s.current=0},[t]),(0,Z.useEffect)(()=>{if(!t||!n||r===0||l.current)return;l.current=!0,s.current=r;let i=Wi(t);if(i!==null&&i>0){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.current?.scrollTo({top:i,behavior:`auto`}),u.current=!0})});return}u.current=!0},[t,n,r,e]),(0,Z.useEffect)(()=>{if(!l.current)return;let t=r>s.current,n=c.current&&!i;if(i||a||t||n){d.current&&cancelAnimationFrame(d.current);let t=n?`smooth`:`auto`;d.current=requestAnimationFrame(()=>{e.current?.scrollTo({top:2**53-1,behavior:t}),d.current=0})}return s.current=r,c.current=i,()=>{d.current&&=(cancelAnimationFrame(d.current),0)}},[i,a,r,o,e]);function g(){f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{h(),f.current=null},150)}function _(e){e||h()}return{onRangeChanged:g,onScrollingStateChange:_}}function IS(e){return e.isCreatingProject||e.streamingSegmentCount>0?!0:e.lastMessageSender===`user`}function LS(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 RS(e){return{bottomInset:e.bottomInset,columnClassName:e.columnClassName,isStreaming:e.isStreaming,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread,hasPendingMessage:e.hasPendingMessage,isAutoRouting:e.isAutoRouting,hasActiveBlockingPrompt:Ns(e.streamingSegments),hasActiveToolSession:e.hasActiveToolSession,selectedProjectId:e.selectedProjectId,selectedThreadId:e.selectedThreadId,streamingSegments:e.streamingSegments,streamingModel:e.streamingModel,streamingAgentMode:e.streamingAgentMode,totalMessages:e.totalMessages,lastMessageSender:e.lastMessageSender,error:e.error,onClearError:e.onClearError,showCheckpointRestore:t=>t.sender===`user`&&!!t.checkpointRef&&!e.isStreaming&&!e.hasPendingMessage&&!e.isCreatingProject&&!e.isProcessingThread,getCheckpointTooltip:t=>LS({isUser:t.sender===`user`,hasCheckpointRef:!!t.checkpointRef,isStreaming:e.isStreaming,hasPendingMessage:e.hasPendingMessage,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread})}}function zS(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 BS(e){let t=(0,Q.c)(34),{context:n}=e;if(!n)return null;let{bottomInset:r,isStreaming:i,isCreatingProject:a,isProcessingThread:o,hasPendingMessage:s,isAutoRouting:c,hasActiveBlockingPrompt:l,hasActiveToolSession:u,selectedProjectId:d,selectedThreadId:f,streamingSegments:p,streamingModel:m,streamingAgentMode:h,totalMessages:g,lastMessageSender:_,error:v,onClearError:y}=n,x=p.length>0||a&&!u||o&&(i||s),S;t[0]!==a||t[1]!==_||t[2]!==p.length?(S=IS({isCreatingProject:a,streamingSegmentCount:p.length,lastMessageSender:_}),t[0]=a,t[1]=_,t[2]=p.length,t[3]=S):S=t[3];let C=S,w=c||x&&(i||a||o)&&C,T=c||(i||s)&&!l&&C,E;t[4]!==c||t[5]!==p?(E=c?null:_s(Ts(p)),t[4]=c,t[5]=p,t[6]=E):E=t[6];let D=c?Ht:E??void 0,O;t[7]===r?O=t[8]:(O={paddingBottom:r},t[7]=r,t[8]=O);let k;t[9]!==c||t[10]!==a||t[11]!==o||t[12]!==d||t[13]!==f||t[14]!==w||t[15]!==T||t[16]!==h||t[17]!==m||t[18]!==p||t[19]!==g?(k=w&&(0,$.jsx)(y_,{segments:p,model:m,mode:h,threadId:f,projectId:d,isCreatingProject:a,isProcessingThread:o&&!c,totalMessages:g,showProcessingLine:T}),t[9]=c,t[10]=a,t[11]=o,t[12]=d,t[13]=f,t[14]=w,t[15]=T,t[16]=h,t[17]=m,t[18]=p,t[19]=g,t[20]=k):k=t[20];let A;t[21]!==D||t[22]!==w||t[23]!==T?(A=T&&(0,$.jsx)(`div`,{className:G(`px-4 pb-4`,w?`pt-0`:`pt-2`),children:(0,$.jsx)(C_,{active:T,label:D})}),t[21]=D,t[22]=w,t[23]=T,t[24]=A):A=t[24];let j;t[25]!==v||t[26]!==y?(j=v&&(0,$.jsxs)(`div`,{className:`mx-4 my-2`,children:[(0,$.jsx)(no,{variant:`error`,className:`mb-0`,children:v}),(0,$.jsx)(`button`,{type:`button`,className:G(b.compact,`mt-1 text-destructive underline underline-offset-2 hover:text-destructive/80`),onClick:y,children:`Dismiss`})]}),t[25]=v,t[26]=y,t[27]=j):j=t[27];let M;return t[28]!==n.columnClassName||t[29]!==O||t[30]!==k||t[31]!==A||t[32]!==j?(M=(0,$.jsxs)(`div`,{className:n.columnClassName,style:O,children:[k,A,j]}),t[28]=n.columnClassName,t[29]=O,t[30]=k,t[31]=A,t[32]=j,t[33]=M):M=t[33],M}function VS(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)(g_,{message:t,threadId:n.selectedThreadId,messageIndex:e,showCheckpointRestore:n.showCheckpointRestore(t),checkpointRestoreTooltip:n.getCheckpointTooltip(t),showFinalProseCopy:a})}var HS=(0,Z.forwardRef)(function(e,t){let n=(0,Q.c)(66),{bottomInset:r,messages:i,isStreaming:a,streamingSegments:o,streamingModel:s,streamingAgentMode:c,isCreatingProject:l,isProcessingThread:u,hasPendingMessage:d,isAutoRouting:f,selectedThreadId:p,selectedProjectId:m,projects:h,projectsLoading:g,messagesLoaded:_,onSelectThread:v,onCreateThread:y,onConnectRepo:b,onNewApp:x,onOpenFolder:S,error:C,onClearError:w,onAtBottomChange:T,onAtTopChange:E,hideEmptyState:D}=e,O=r===void 0?0:r,k=D===void 0?!1:D,{fillPane:A}=Bg(),j=xb(),M;n[0]===A?M=n[1]:(M=A_(A),n[0]=A,n[1]=M);let N=M,P;n[2]===p?P=n[3]:(P=e=>p?!!e.threadToolSessions[p]:!1,n[2]=p,n[3]=P);let F=X(P),[I,L]=(0,Z.useState)(null),R=(0,Z.useRef)(null),z;n[4]===N?z=n[5]:(z=zS(N),n[4]=N,n[5]=z);let B;n[6]===z?B=n[7]:(B={List:z,Footer:BS},n[6]=z,n[7]=B);let V=B,H;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>({scrollToBottom:()=>{R.current?.scrollTo({top:2**53-1,behavior:`smooth`})},scrollToTop:()=>{R.current?.scrollTo({top:0,behavior:`smooth`})}}),n[8]=H):H=n[8],(0,Z.useImperativeHandle)(t,H);let U;n[9]!==d||n[10]!==a||n[11]!==i.length||n[12]!==_||n[13]!==p||n[14]!==o.length?(U={virtuosoRef:R,selectedThreadId:p,messagesLoaded:_,messageCount:i.length,isStreaming:a,hasPendingMessage:d,streamingSegmentCount:o.length},n[9]=d,n[10]=a,n[11]=i.length,n[12]=_,n[13]=p,n[14]=o.length,n[15]=U):U=n[15];let{onRangeChanged:ee,onScrollingStateChange:te}=FS(U),ne=!k&&i.length===0&&!a&&!l&&!p,re=!k&&_&&i.length===0&&!a&&!l&&!u&&!d&&p,ie;if(n[16]!==h||n[17]!==m){let e;n[19]===m?e=n[20]:(e=e=>e.projectId===m,n[19]=m,n[20]=e),ie=h.find(e),n[16]=h,n[17]=m,n[18]=ie}else ie=n[18];let ae=ie,oe=i.length>0?i[i.length-1].sender:null,se;n[21]!==O||n[22]!==N||n[23]!==C||n[24]!==F||n[25]!==d||n[26]!==f||n[27]!==l||n[28]!==u||n[29]!==a||n[30]!==oe||n[31]!==i.length||n[32]!==w||n[33]!==m||n[34]!==p||n[35]!==c||n[36]!==s||n[37]!==o?(se=RS({bottomInset:O,columnClassName:N,isStreaming:a,isCreatingProject:l,isProcessingThread:u,hasPendingMessage:d,isAutoRouting:f,streamingSegments:o,selectedProjectId:m,selectedThreadId:p,streamingModel:s,streamingAgentMode:c,totalMessages:i.length,lastMessageSender:oe,error:C,onClearError:w,hasActiveToolSession:F}),n[21]=O,n[22]=N,n[23]=C,n[24]=F,n[25]=d,n[26]=f,n[27]=l,n[28]=u,n[29]=a,n[30]=oe,n[31]=i.length,n[32]=w,n[33]=m,n[34]=p,n[35]=c,n[36]=s,n[37]=o,n[38]=se):se=n[38];let ce=se;if(ne){let e=`flex min-h-0 flex-1 self-stretch transition-opacity duration-500 ease-in-out ${g?`opacity-0`:`opacity-100`}`,t;n[39]!==b||n[40]!==y||n[41]!==x||n[42]!==S||n[43]!==v||n[44]!==h?(t=(0,$.jsx)(w_,{projects:h,onSelectProject:v,onCreateThread:y,onConnectRepo:b,onNewApp:x,onOpenFolder:S}),n[39]=b,n[40]=y,n[41]=x,n[42]=S,n[43]=v,n[44]=h,n[45]=t):t=n[45];let r;return n[46]!==e||n[47]!==t?(r=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col items-center overflow-hidden`,children:(0,$.jsx)(`div`,{className:e,children:t})}),n[46]=e,n[47]=t,n[48]=r):r=n[48],r}if(re){let e;return n[49]===ae?e=n[50]:(e=(0,$.jsx)(PS,{project:ae}),n[49]=ae,n[50]=e),e}let le=j===`moving-to-footer`&&`animate-in fade-in duration-300 ease-out`,ue;n[51]===le?ue=n[52]:(ue=G(`h-full overflow-hidden`,le),n[51]=le,n[52]=ue);let de=p??void 0,fe=I??void 0,pe;n[53]!==i||n[54]!==T||n[55]!==E||n[56]!==ee||n[57]!==te||n[58]!==de||n[59]!==fe||n[60]!==V||n[61]!==ce?(pe=(0,$.jsx)(Oa,{className:`h-full`,viewportRef:L,children:(0,$.jsx)(dr,{ref:R,customScrollParent:fe,data:i,computeItemKey:US,context:ce,itemContent:VS,overscan:500,components:V,atBottomStateChange:T,atTopStateChange:E,rangeChanged:ee,isScrolling:te},de)}),n[53]=i,n[54]=T,n[55]=E,n[56]=ee,n[57]=te,n[58]=de,n[59]=fe,n[60]=V,n[61]=ce,n[62]=pe):pe=n[62];let me;return n[63]!==ue||n[64]!==pe?(me=(0,$.jsx)(`div`,{className:ue,children:pe}),n[63]=ue,n[64]=pe,n[65]=me):me=n[65],me});function US(e,t){return t.messageId}var WS=M(`app.use-pane-chat-history.hook`);function GS(e){let t=(0,Q.c)(9),{paneId:n,conversationId:r}=e,i=Es(),a=X(KS),o;t[0]===n?o=t[1]:(o=e=>n===es||!!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===es||!s||!a||!r)return;let e=a,t=r,o=n,c=!1;return(async function(){try{let n=await qr(e,t);if(c)return;i({type:Y.SetPaneMessages,paneId:o,messages:n.messages})}catch(e){let t=e;WS.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 KS(e){return e.selectedThreadId}var qS=4,JS=8,YS=64,XS=`(max-width: 767px)`;function ZS(){return window.matchMedia(XS).matches?qS:YS}function QS(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(XS).matches?qS:0,s=window.matchMedia(XS).matches?0:JS;return Math.max(a+o+s,ZS())}function $S(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(ZS());return}let o=function(){let n=e.current,r=t.current;!n||!r||a(QS(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 eC=M(`app.chat-pane.ui`);function tC({paneId:e,conversationId:t,onCreateThread:n,showEmptyState:r=e===`primary`,fillPane:i=!1,hideInput:a=!0,onConnectRepo:o=()=>{},onNewApp:s=()=>{},onOpenFolder:c=()=>{}}){let l=Es(),{error:u,setError:d}=Ig(),f=X(e=>e.selectedThreadId),p=X(e=>e.selectedProjectId),m=X(e=>e.projects),h=X(e=>e.projectsLoading),g=X(e=>e.isCreatingProject),_=X(e=>e.processingThreadIds),v=X(e=>e.activeStreamPane),y=X(e=>e.focusedPane),b=X(e=>e.completedPaneIds),x=X(e=>e.pendingChatMessage),S=X(t=>f?ds(t.threadStreamingStates,f,e):null),C=X(t=>ts(t.pendingAutoRoutes,f,e)),w=X(e=>e.messages),T=X(e=>e.extraChatPanes),E=X(e=>e.messagesLoaded),D=e===`primary`?w:T[e]?.messages??[],O=C?[...D,U_(C)]:D,k=e===`primary`?E:T[e]?.messagesLoaded??!1,A=Qo(v,_,f,e),j=e===`primary`&&x?.threadId===f,M=S?.isStreaming??!1;GS({paneId:e,conversationId:t});let N=(0,Z.useRef)(null),P=(0,Z.useRef)(null),F=bb(),I=F?.overlayRef??{current:null},[L,R]=(0,Z.useState)(!0),[z,B]=(0,Z.useState)(!0),V=a&&!!f&&!!F,H=V&&F.placement===`overlay`,U=$S(N,I,V),ee=V&&!L;function te(){l({type:Y.CloseSidebar})}function ne(){y!==e&&b.includes(e)&&l({type:Y.ClearPaneCompleted,paneId:e}),l({type:Y.SetFocusedPane,paneId:e})}return(0,$.jsx)(Rg,{paneId:e,conversationId:t,fillPane:i,children:(0,$.jsxs)(`div`,{ref:N,className:`relative flex h-full min-w-0 flex-col`,onPointerDown:ne,children:[(0,$.jsx)(HS,{ref:P,bottomInset:U,messages:O,isStreaming:M,streamingSegments:M?S?.streamingSegments??[]:[],streamingModel:M?S?.streamingModel??``:``,streamingAgentMode:M?S?.streamingAgentMode??null:null,isCreatingProject:r?g:!1,isProcessingThread:A,hasPendingMessage:j,isAutoRouting:!!C,selectedThreadId:f,selectedProjectId:p,projects:m,projectsLoading:h,messagesLoaded:k,onSelectThread:(e,t)=>{te(),l({type:Y.SelectThread,projectId:e,threadId:t}),ia().then(e=>{l({type:Y.SetProcessingThreads,threadIds:e})}).catch(e=>{eC.error(`Failed to refresh processing threads after thread selection:`,e)})},onCreateThread:n,onConnectRepo:o,onNewApp:s,onOpenFolder:c,error:u,onClearError:()=>d(null),onAtBottomChange:R,onAtTopChange:B,hideEmptyState:!r}),!z&&O.length>0&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-3 z-20 flex justify-center`,children:(0,$.jsx)(No,{variant:`outline`,size:`icon-md`,onClick:()=>P.current?.scrollToTop(),className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to top`,children:(0,$.jsx)(Xe,{className:`h-4 w-4`})})}),ee&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 z-20 flex justify-center ${H?`bottom-24`:`bottom-2`}`,children:(0,$.jsx)(No,{variant:`outline`,size:`icon-md`,onClick:()=>P.current?.scrollToBottom(),className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to bottom`,children:(0,$.jsx)(Tt,{className:`h-4 w-4`})})})]})})}var nC=/^#([0-9a-f]{6})$/i;function rC(e){return nC.test(e)}function iC(e){return rC(e)?e.toLowerCase():null}function aC(e){let t=nC.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 oC(e){let t=aC(e);return t?.2126*t.r+.7152*t.g+.0722*t.b:null}function sC(e){let t=aC(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 cC=`--wallpaper-color`,lC={mode:po(),color:eo()},uC=new Set;function dC(){for(let e of uC)e()}function fC(e){let t=oC(e);return zc(t===null?0:t)}function pC(e){if(document.documentElement.dataset.wallpaper=e.mode,document.documentElement.style.setProperty(cC,e.color),e.mode===`color`){let{foreground:t,inverse:n}=fC(e.color);Bc(t,n)}}function mC(){return lC}function hC(e){return uC.add(e),function(){uC.delete(e)}}function gC(e){lC.mode!==e&&(lC={...lC,mode:e},Mr(e),pC(lC),dC())}function _C(e){let t=iC(e);t===null||lC.color===t||(lC={...lC,color:t},Ai(t),pC(lC),dC())}function vC(){let e=(0,Q.c)(3),t=(0,Z.useSyncExternalStore)(hC,mC,mC),n=xC,r=bC,i=yC,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:Tr},e[0]=t.color,e[1]=t.mode,e[2]=a):a=e[2],a}function yC(){lC={mode:`background`,color:Tr},Mr(`background`),Ai(Tr),pC(lC),dC()}function bC(e){_C(e)}function xC(e){gC(e)}function SC(){lC={mode:po(),color:eo()},pC(lC)}function CC(){return typeof window>`u`?null:T(window.location.search)}function wC(){return typeof window>`u`?null:ve(window.location.search)}function TC(){return CC()===xe}var EC=(0,Z.lazy)(()=>Wo(()=>import(`./terminal-panel-BxUHr-tZ.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([10,1,6,7,11,9,12,13,14]))),DC=(0,Z.lazy)(()=>Wo(()=>import(`./diff-view-P5m6sKUJ.js`),__vite__mapDeps([15,1,4,5,6,7,16,17,18,19,20,9,21,22]))),OC=(0,Z.lazy)(()=>Wo(()=>import(`./explorer-tab-view-B6z1DZzq.js`),__vite__mapDeps([23,1,4,5,6,7,16,17,8,24,9]))),kC=(0,Z.lazy)(()=>Wo(()=>import(`./browser-tab-D-Lv93tm.js`).then(e=>({default:e.BrowserTab})),__vite__mapDeps([25,1,6,7,8,13,11,9]))),AC=(0,Z.lazy)(()=>Wo(()=>import(`./tasks-view-C6z5quOD.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([26,1,4,5,27,6,7,16,17,11,9,20,28])));function jC(e){let t=(0,Q.c)(24),{panelId:n,instanceId:r,onClose:i}=e,a=X(PC),o=X(NC),s;t[0]===r?s=t[1]:(s=e=>$o(e,r),t[0]=r,t[1]=s);let c=X(s),{reviewRefreshTickByThread:l,tasksRefreshTick:u}=qs();if(n===`chat`){let e;return t[2]!==c||t[3]!==r?(e=(0,$.jsx)(tC,{paneId:r,fillPane:!0,conversationId:c,onCreateThread:MC,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)(EC,{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)(kC,{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)(FC,{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)(Ro,{}),children:(0,$.jsx)(OC,{})}),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)(FC,{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)(Ro,{}),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)(AC,{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)(FC,{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)(DC,{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)(Uu,{threadId:a,children:f}),t[21]=a,t[22]=f,t[23]=p):p=t[23],p}function MC(){}function NC(e){return e.selectedProjectId}function PC(e){return e.selectedThreadId}function FC(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 IC(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(b.label,`min-w-0 truncate leading-normal`),children:n}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:G(b.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)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:l,onDoubleClick:LC,disabled:h,children:[(0,$.jsx)(tt,{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 x;t[13]===d?x=t[14]:(x=d?(0,$.jsx)(`div`,{className:`shrink-0`,children:d}):null,t[13]=d,t[14]=x);let S;return t[15]!==s||t[16]!==_||t[17]!==v||t[18]!==y||t[19]!==x?(S=(0,$.jsxs)(`div`,{className:_,onPointerDown:s,children:[v,y,x]}),t[15]=s,t[16]=_,t[17]=v,t[18]=y,t[19]=x,t[20]=S):S=t[20],S}function LC(e){return e.stopPropagation()}var RC=[{id:`chat`,label:`Chat`,icon:Jt},{id:`explorer`,label:`Files`,icon:ee},{id:`browser`,label:`Browser`,icon:_},{id:`terminal`,label:`Terminal`,icon:nn},{id:`tasks`,label:`Tasks`,icon:ut},{id:`review`,label:`Review`,icon:bt}];function zC(e){return RC.find(t=>t.id===e)?.label??e}function BC(e){return e?.trim()||zC(`browser`)}function VC(e){return RC.find(t=>t.id===e)?.icon??Jt}var HC=(0,Z.createContext)(void 0);function UC(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)(HC.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function WC(){let e=(0,Z.useContext)(HC);if(e===void 0)throw Error(`useReviewStats must be used within a ReviewStatsProvider`);return e}var GC=(0,Z.createContext)(void 0);function KC(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)(GC.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function qC(){let e=(0,Z.useContext)(GC);if(e===void 0)throw Error(`useChatDockTitleActions must be used within a ChatDockTitleActionsProvider`);return e}var JC=(0,Z.createContext)(null);function YC(e){let t=(0,Q.c)(12),{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)(null),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{i(XC)},t[0]=_):_=t[0];let v=_,y;t[1]!==h||t[2]!==s||t[3]!==a||t[4]!==r||t[5]!==l||t[6]!==p||t[7]!==d?(y={browserResetTrigger:r,triggerBrowserReset:v,browserPageTitle:a,setBrowserPageTitle:o,browserDeviceMode:s,setBrowserDeviceMode:c,isSelectModeEnabled:l,setIsSelectModeEnabled:u,selectedBrowserElement:d,setSelectedBrowserElement:f,isSelectionPromptOpen:p,setIsSelectionPromptOpen:m,browserAgentProcessingThreadId:h,setBrowserAgentProcessingThreadId:g},t[1]=h,t[2]=s,t[3]=a,t[4]=r,t[5]=l,t[6]=p,t[7]=d,t[8]=y):y=t[8];let b=y,x;return t[9]!==n||t[10]!==b?(x=(0,$.jsx)(JC.Provider,{value:b,children:n}),t[9]=n,t[10]=b,t[11]=x):x=t[11],x}function XC(e){return e+1}function ZC(){let e=(0,Z.useContext)(JC);if(!e)throw Error(`useBrowserTab must be used within a BrowserTabProvider`);return e}function QC(){let e=(0,Q.c)(12),{stats:t}=WC();if(!t||t.fileCount===0)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=G(b.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 $C(e){let t=(0,Q.c)(60),{instanceId:n,panelId:r,footer:i}=e,a=Es(),{closeWindow:o,expandWindow:s,collapseLayout:c,isLayoutExpanded:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=Ys(),p=X(rw),m=X(nw),h=X(tw),g=X(ew),{triggerReviewRefresh:_}=qs(),{triggerExplorerRefresh:v}=Zs(),{browserPageTitle:y}=ZC(),b=r===`chat`,x=r===`tasks`,C;if(t[0]!==p||t[1]!==h){let e;t[3]===h?e=t[4]:(e=e=>e.projectId===h,t[3]=h,t[4]=e),C=p.find(e),t[0]=p,t[1]=h,t[2]=C}else C=t[2];let w=C?.tasksModifiedCount??0,T;t[5]!==y||t[6]!==n||t[7]!==b||t[8]!==x||t[9]!==r||t[10]!==p||t[11]!==m||t[12]!==w?(T=b?Rt(p,m,n):r===`browser`?BC(y):x?w>0?`Tasks (${w} modified recently)`:`Tasks`:zC(r),t[5]=y,t[6]=n,t[7]=b,t[8]=x,t[9]=r,t[10]=p,t[11]=m,t[12]=w,t[13]=T):T=t[13];let E=T,D=!l&&u===n,O;t[14]!==n||t[15]!==b||t[16]!==m||t[17]!==g?(O=b&&ds(g,m,n).isStreaming,t[14]=n,t[15]=b,t[16]=m,t[17]=g,t[18]=O):O=t[18];let k=O,A;if(t[19]!==o||t[20]!==a||t[21]!==n||t[22]!==x||t[23]!==h||t[24]!==w){A=function(){x&&h&&w>0&&e(h),o(n)};async function e(e){try{await Pa(e),pi();let t=await Sa();a({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch{try{pi();let e=await Sa();a({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch{}}}t[19]=o,t[20]=a,t[21]=n,t[22]=x,t[23]=h,t[24]=w,t[25]=A}else A=t[25];let j;t[26]!==a||t[27]!==n||t[28]!==b||t[29]!==f||t[30]!==d?(j=function(){d(n),f(n),b&&a({type:Y.SetFocusedPane,paneId:n})},t[26]=a,t[27]=n,t[28]=b,t[29]=f,t[30]=d,t[31]=j):j=t[31];let M=j,N;t[32]!==c||t[33]!==s||t[34]!==M||t[35]!==n||t[36]!==l?(N=function(){if(l){c();return}M(),s(n)},t[32]=c,t[33]=s,t[34]=M,t[35]=n,t[36]=l,t[37]=N):N=t[37];let P=N,{actions:F}=qC(),I;t[38]===r?I=t[39]:(I=r===`review`?(0,$.jsx)(QC,{}):void 0,t[38]=r,t[39]=I);let L=I,R;t[40]!==r||t[41]!==m||t[42]!==v||t[43]!==_?(R=r===`review`&&m?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>_(m),children:[(0,$.jsx)(_e,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Pr,{children:`Refresh changes`})]}):r===`explorer`?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:v,children:[(0,$.jsx)(S,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Pr,{children:`Refresh`})]}):void 0,t[40]=r,t[41]=m,t[42]=v,t[43]=_,t[44]=R):R=t[44];let z=R??F,B;t[45]!==A||t[46]!==n||t[47]!==r?(B=(0,$.jsx)(jC,{panelId:r,instanceId:n,onClose:A}),t[45]=A,t[46]=n,t[47]=r,t[48]=B):B=t[48];let V;return t[49]!==i||t[50]!==A||t[51]!==M||t[52]!==P||t[53]!==k||t[54]!==E||t[55]!==D||t[56]!==B||t[57]!==z||t[58]!==L?(V=(0,$.jsx)(IC,{title:E,titleSuffix:L,titleActions:z,showTitle:!0,selected:D,onSelect:M,onTitleDoubleClick:P,onClose:A,disableClose:k,footer:i,className:`h-full overflow-hidden rounded-lg border border-border bg-background`,children:B}),t[49]=i,t[50]=A,t[51]=M,t[52]=P,t[53]=k,t[54]=E,t[55]=D,t[56]=B,t[57]=z,t[58]=L,t[59]=V):V=t[59],V}function ew(e){return e.threadStreamingStates}function tw(e){return e.selectedProjectId}function nw(e){return e.selectedThreadId}function rw(e){return e.projects}function iw(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(UC,{children:(0,$.jsx)(KC,{children:(0,$.jsx)($C,{...e})})}),t[0]=e,t[1]=n),n}function aw(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}var ow=`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`,sw=`flex items-center rounded-full bg-transparent scenic-chrome-button shadow-none backdrop-blur-none`,cw=`h-10`,lw=`max-w-[12rem] justify-start gap-1.5 px-3`,uw=`h-3.5 w-3.5 shrink-0 opacity-60`,dw=`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,fw=[`Removing threads`,`Deleting storage`,`Removing project`];function pw(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=fw[Math.min(o,fw.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)(Bs,{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)(zs,{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)(Gs,{children:[m,h]}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==s||t[16]!==o?(_=fw.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)(lt,{className:`h-4 w-4 text-emerald-500`}):i?(0,$.jsx)(Kt,{className:`h-4 w-4 text-destructive`}):(0,$.jsx)(K,{className:G(`h-4 w-4 text-muted-foreground`,n&&`animate-spin text-foreground`)}),(0,$.jsxs)(`span`,{className:G(b.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)(Us,{children:[(0,$.jsx)(Ws,{onClick:i,children:`Close`}),(0,$.jsx)(Hs,{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 x;t[24]!==f||t[25]!==g||t[26]!==v||t[27]!==y?(x=(0,$.jsxs)(Vs,{onEscapeKeyDown:f,children:[g,v,y]}),t[24]=f,t[25]=g,t[26]=v,t[27]=y,t[28]=x):x=t[28];let S;return t[29]!==d||t[30]!==x?(S=(0,$.jsx)(Ks,{open:!0,onOpenChange:d,children:x}),t[29]=d,t[30]=x,t[31]=S):S=t[31],S}var mw=J,hw=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)(Fn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});hw.displayName=Fn.displayName;var gw=Hr(`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`}}),_w=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(gw({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)(Sn,{ref:t,className:o,...i}),n[7]=i,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});_w.displayName=Sn.displayName;var vw=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`,b.body,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Dn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vw.displayName=Dn.displayName;var yw=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)(tt,{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)(kn,{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});yw.displayName=kn.displayName;var bw=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(b.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Tn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});bw.displayName=Tn.displayName;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(b.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)(Nn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});xw.displayName=Nn.displayName;function Sw(e){return(e?.match(/Removing (.+?)\.\.\./))?.[1]?.trim()||void 0}function Cw(e,t){let n=Sw(t),r=e.trim().toLowerCase();return ua(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}:ua(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 ww(e,t){return[`Thread deletion failed (${e})`,t.summary,`Cause: ${t.cause}`,`What to do: ${t.guidance.join(` `)}`].join(`
3283
- `)}function Tw(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 Ew(e,t,n){let r=crypto.randomUUID(),i=n.message.trim()||`Unknown error`,a=Cw(i,n.progressOutput),o=ww(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),kr({level:`ERROR`,context:`app.use-projects.hook`,message:o,data:s}),Rs({variant:`destructive`,title:`Failed to delete thread`,description:`Error ID: ${r}\n${a.summary}`,action:(0,$.jsx)(vw,{altText:`Go to Logs`,onClick:()=>{t(`/settings/logs?q=${encodeURIComponent(r)}`)},children:`Go to Logs`})}),r}var Dw=M(`app.use-projects.hook`),Ow=0;function kw(){let e=(0,Q.c)(17),t=Es(),n=X(Nw),r=X(Mw),i=X(jw);i>0&&pi();let a=hc(`projects:bootstrap:${i}`,Sa),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 jw(e){return e.configUpdatedAt}function Mw(e){return e.selectedProjectId}function Nw(e){return e.selectedThreadId}function Pw(e){let t=Es(),n=X(e=>e.projects),r=X(e=>e.selectedProjectId),i=X(e=>e.selectedThreadId),{toast:a}=Ls(),o=Gn(),s=Vn(),[c,l]=(0,Z.useState)(null),u=(0,Z.useCallback)(async()=>{let e=++Ow;try{t({type:Y.SetProjectsLoading,projectsLoading:!0}),pi(),mc(`projects:bootstrap:`);let n=await Sa();return e===Ow&&t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),n.projects}catch(e){return Dw.error(`Failed to refresh projects:`,e),[]}finally{e===Ow&&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}),na(e,n).catch(e=>{Dw.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,s=e=>{if(!e)return;let n=`${e}\n`;i+=n;let a=r.current;a&&uc(t,a.toolCallId,a.threadId,n)};try{let c=await n.apiCall();if(!c){t({type:Y.SetCreatingProject,isCreating:!1}),await u();return}let d=null,f=!1,p=null,m=null;await pc(c,i=>{if(!i||typeof i!=`object`)return;let c=i;try{if(c.type===`progress`){if(!f&&typeof c.threadId==`string`&&typeof c.projectId==`string`){f=!0,p=c.projectId,m=c.threadId,t({type:Y.AddCreatingProject,projectId:c.projectId,threadId:c.threadId,projectName:n.optimisticProjectName,gitUrl:n.gitUrl??``}),t({type:Y.AddProcessingThread,threadId:c.threadId}),e?.onProjectCreated?.(c.projectId);let i=oc({mode:n.mode,threadId:c.threadId,projectId:c.projectId,projectName:n.optimisticProjectName});r.current=i,rc(t,i,`${n.initialMessage}\n`)}s(typeof c.message==`string`?c.message:``)}else if(c.type===`complete`){o=!0;let e=c.project;if(e){if(d=e.id,s(`Project created successfully at: ${n.includeThreadPath&&e.threads&&e.threads.length>0?`${e.path}/${e.threads[0]}`:e.path}`),r.current&&n.mode===`folder`){let t=e.path.split(/[/\\]/).filter(Boolean).pop();t&&t!==n.optimisticProjectName&&(r.current={...r.current,projectName:t})}n.handleSetupScript&&typeof c.suggestedSetupScript==`string`&&l({projectId:e.id,command:c.suggestedSetupScript,remainingScripts:e.pendingSetupScripts??[]})}}else if(c.type===`error`){let e=typeof c.message==`string`?c.message:`Unknown error`;f&&p&&(t({type:Y.RemoveCreatingProject,projectId:p}),m&&t({type:Y.RemoveProcessingThread,threadId:m})),s(`Error: ${e}`),r.current||a({title:`Project Creation Failed`,description:e,variant:`destructive`})}}catch(e){Dw.error(`Failed to parse ${n.logTag} event`,e)}}),t({type:Y.SetCreatingProject,isCreating:!1});let h=r.current;h&&(sc(t,h,i,{isError:!o}),t({type:Y.RemoveProcessingThread,threadId:h.threadId})),pi();let g=await Sa();if(t({type:Y.SetProjects,projects:g.projects,cloneRootPath:g.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1}),d){let n=g.projects.find(e=>e.projectId===d);if(n&&n.threads.length>0){let e=n.threads[0].threadId;h?.threadId===e?t({type:Y.FocusChatInput}):t({type:Y.SelectThread,threadId:e,projectId:d,focusInput:!0})}e?.onProjectCreated?.(d)}}catch(e){Dw.error(`Failed to ${n.logTag}:`,e),t({type:Y.SetCreatingProject,isCreating:!1});let o=r.current;o?(s(`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`),sc(t,o,i,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:o.threadId})):a({title:`Project Creation Failed`,description:`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`,variant:`destructive`})}},[t,u,e?.onProjectCreated,a]),m=(0,Z.useCallback)(async(e,t)=>{let n=e.split(`/`).pop()?.replace(`.git`,``)??`project`;await p({apiCall:()=>Ka(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:()=>wo(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:()=>fa(e),initialMessage:`Creating folder "${e}"...`,optimisticProjectName:e,mode:`folder`,handleSetupScript:!1,logTag:`create folder`,catchErrorPrefix:`Failed to create folder`})},[p]),_=(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 lo(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}),uc(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=cc({threadId:e,projectId:r,projectName:c});o.current=n,rc(t,n,g)}function y(e){t({type:Y.RemoveCreatingThread,projectId:r,threadId:e}),t({type:Y.SelectProject,projectId:r})}try{await pc(d,e=>{if(!e||typeof e!=`object`){typeof e==`string`&&Dw.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`),Dw.error(`Thread creation error:`,e),a({title:`Thread Creation Failed`,description:e,variant:`destructive`}),f=!1}});let e=o.current;e&&(sc(t,e,g,{branch:p,isError:!f}),t({type:Y.RemoveProcessingThread,threadId:e.threadId}),f||y(e.threadId)),pi(),await u()}catch(e){let n=e instanceof Error?e.message:String(e),r=o.current;throw r&&(_(`Error: ${n}`,`error`),sc(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){Dw.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]),v=(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?ic({threadId:r,projectId:e,projectName:s}):null,f=``,p=!0;function m(e){e.trim()&&(f+=`${e}\n`,d&&uc(t,d.toolCallId,d.threadId,`${e}\n`))}d&&ac(t,d,`Deleting thread "${c}"...\n`);try{let n=await Mo(e,r);n&&await pc(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=Tw(n);m(`Error: ${t}`),Ew(Dw,o,{projectId:e,threadId:r,threadTitle:c,message:t,progressOutput:f,...i}),p=!1}}),d&&sc(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=Tw(n);if(ua(i)){m(`Deletion is still running on the server. Open Workspaces to refresh the list.`),d&&sc(t,d,f,{isError:!1}),Dw.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&&sc(t,d,f,{isError:!0}),Ew(Dw,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]),y=(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,fw.length-1),r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`})},450);try{await sa(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),Dw.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]),b=(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 Br(r,n,!0);s&&await fc(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}),Dw.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,handleOpenFolder:(0,Z.useCallback)(async()=>{await p({apiCall:ti,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:()=>ui(e),initialMessage:`Opening folder: ${e}...`,optimisticProjectName:t,mode:`folder`,handleSetupScript:!0,logTag:`open path`,catchErrorPrefix:`Failed to open folder path`})},[p]),handleCreateThread:_,handleDeleteThread:v,confirmDeleteProject:y,pendingSetupScriptConfirmation:c,resolveSetupScriptConfirmation:b}}function Fw(){let e=(0,Q.c)(83),t=Es(),n=jb(),r=X(Uw),i=X(Hw),a=X(Vw),o=X(Bw),s=X(zw),c=X(Rw),l=X(Lw),u=X(Iw),{handleSelectThread:d,handleCreateThread:f,handleDeleteThread:p,refreshWorkspaces:m}=Pw(),h=Lu(a??void 0),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C,w,T,E,D,O,k,A,j,M,N,P;if(e[0]!==s||e[1]!==c||e[2]!==t||e[3]!==f||e[4]!==p||e[5]!==d||e[6]!==g||e[7]!==u||e[8]!==x||e[9]!==o||e[10]!==r||e[11]!==m||e[12]!==h||e[13]!==i||e[14]!==a||e[15]!==n||e[16]!==l||e[17]!==v){P=Symbol.for(`react.early_return_sentinel`);bb0:{let F;e[30]===i?F=e[31]:(F=e=>e.projectId===i,e[30]=i,e[31]=F);let I=r.find(F);if(!I){P=null;break bb0}let L=I.projectId,R;e[32]===a?R=e[33]:(R=e=>e.threadId===a,e[32]=a,e[33]=R);let z=I.threads.find(R),B=(a?h.currentBranch||z?.currentBranch:void 0)||z?.title||`Branches`,V;e[34]===c?V=e[35]:(V=e=>c.includes(e.threadId),e[34]=c,e[35]=V);let H=I.threads.some(V),U=n?sw:ow,ee;e[36]!==t||e[37]!==d?(ee=function(e,n){t({type:Y.ClearThreadCompleted,threadId:n}),d(e,n),_(!1)},e[36]=t,e[37]=d,e[38]=ee):ee=e[38];let te=ee,ne=function(){f(L,void 0),_(!1)},re=function(e,t){if(e.gitStatusDot){_(!1),S({threadId:e.threadId,displayName:t});return}p(L,e.threadId).then(()=>m())},ie=x!==null,ae;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{e||S(null)},e[39]=ae):ae=e[39];let oe;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Bs,{children:`Delete Branch`}),e[40]=oe):oe=e[40];let se=x?.displayName,ce;e[41]===se?ce=e[42]:(ce=(0,$.jsxs)(zs,{children:[`Are you sure you want to delete "`,se,`" and all its files? This action cannot be undone.`]}),e[41]=se,e[42]=ce);let le;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(Ws,{children:`Cancel`}),e[43]=le):le=e[43];let ue=(0,$.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[le,(0,$.jsx)(Hs,{onClick:()=>{x&&p(L,x.threadId).then(()=>m()),S(null)},className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),de;e[44]!==ce||e[45]!==ue?(de=(0,$.jsxs)(Vs,{children:[oe,ce,ue]}),e[44]=ce,e[45]=ue,e[46]=de):de=e[46],e[47]!==ie||e[48]!==de?(N=(0,$.jsx)(Ks,{open:ie,onOpenChange:ae,children:de}),e[47]=ie,e[48]=de,e[49]=N):N=e[49],w=ff,A=g,e[50]===m?j=e[51]:(j=e=>{_(e),e&&(y(!1),m())},e[50]=m,e[51]=j);let fe=!g&&v,pe=G(U,cw,`w-10 justify-center md:w-auto`,lw,H&&`disabled:opacity-50`),me;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(me=G(b.compact,`hidden truncate md:inline`),e[52]=me):me=e[52];let he;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(Xe,{className:G(uw,`hidden md:block`)}),e[53]=he):he=e[53];let ge=(0,$.jsx)(pf,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Branches`,disabled:H,className:pe,children:[H?(0,$.jsx)(K,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(_t,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:me,children:B}),he]})}),_e;e[54]===ge?_e=e[55]:(_e=(0,$.jsx)(Ii,{asChild:!0,children:ge}),e[54]=ge,e[55]=_e);let ve=H?`Deleting branch...`:`Workspaces`,ye;e[56]===ve?ye=e[57]:(ye=(0,$.jsx)(Pr,{side:`top`,children:ve}),e[56]=ve,e[57]=ye),e[58]!==fe||e[59]!==_e||e[60]!==ye?(M=(0,$.jsxs)(Mi,{open:fe,onOpenChange:y,children:[_e,ye]}),e[58]=fe,e[59]=_e,e[60]=ye,e[61]=M):M=e[61],C=mf,T=`end`,E=`top`,D=`w-72 p-1`;let be;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`span`,{className:G(b.label,`text-muted-foreground font-medium`),children:`Workspaces`}),e[62]=be):be=e[62];let xe;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Ae,{}),e[63]=xe):xe=e[63];let Se=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:`action`,size:`icon-sm`,className:`shrink-0`,"aria-label":`Create a new workspace & branch (⌘⇧T)`,onClick:ne,children:xe})}),Ce;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Pr,{side:`top`,children:`Create a new workspace & branch`}),e[64]=Ce):Ce=e[64],e[65]===Se?O=e[66]:(O=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-2 py-1.5`,children:[be,(0,$.jsxs)(Mi,{children:[Se,Ce]})]}),e[65]=Se,e[66]=O),k=I.threads.length===0?(0,$.jsx)(`p`,{className:G(b.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:I.threads.map(e=>(0,$.jsx)(Gw,{thread:e,projectId:L,selectedThreadId:a,isProcessing:fs(e.threadId,o,l,u),isDeleting:c.includes(e.threadId),isCompleted:s.includes(e.threadId),branchName:e.threadId===a&&h.currentBranch||e.currentBranch,onSelectThread:te,onRequestDelete:re},e.threadId))})}e[0]=s,e[1]=c,e[2]=t,e[3]=f,e[4]=p,e[5]=d,e[6]=g,e[7]=u,e[8]=x,e[9]=o,e[10]=r,e[11]=m,e[12]=h,e[13]=i,e[14]=a,e[15]=n,e[16]=l,e[17]=v,e[18]=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]=M,e[28]=N,e[29]=P}else C=e[18],w=e[19],T=e[20],E=e[21],D=e[22],O=e[23],k=e[24],A=e[25],j=e[26],M=e[27],N=e[28],P=e[29];if(P!==Symbol.for(`react.early_return_sentinel`))return P;let F;e[67]!==C||e[68]!==T||e[69]!==E||e[70]!==D||e[71]!==O||e[72]!==k?(F=(0,$.jsxs)(C,{align:T,side:E,className:D,children:[O,k]}),e[67]=C,e[68]=T,e[69]=E,e[70]=D,e[71]=O,e[72]=k,e[73]=F):F=e[73];let I;e[74]!==w||e[75]!==F||e[76]!==A||e[77]!==j||e[78]!==M?(I=(0,$.jsxs)(w,{open:A,onOpenChange:j,children:[M,F]}),e[74]=w,e[75]=F,e[76]=A,e[77]=j,e[78]=M,e[79]=I):I=e[79];let L;return e[80]!==I||e[81]!==N?(L=(0,$.jsxs)($.Fragment,{children:[N,I]}),e[80]=I,e[81]=N,e[82]=L):L=e[82],L}function Iw(e){return e.pendingChatMessage}function Lw(e){return e.threadStreamingStates}function Rw(e){return e.deletingThreadIds}function zw(e){return e.completedThreadIds}function Bw(e){return e.processingThreadIds}function Vw(e){return e.selectedThreadId}function Hw(e){return e.selectedProjectId}function Uw(e){return e.projects}function Ww(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`:Ut(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)(aw,{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,Ot(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)(Ii,{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)(Pr,{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 Gw(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)(Ww,{gitStatusDot:n.gitStatusDot,isProcessing:a,isDeleting:o}),t[11]=o,t[12]=a,t[13]=n.gitStatusDot,t[14]=y):y=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=G(b.body,`min-w-0 flex-1 truncate text-left`),t[15]=x):x=t[15];let S;t[16]===p?S=t[17]:(S=(0,$.jsx)(`span`,{className:x,children:p}),t[16]=p,t[17]=S);let C;t[18]===s?C=t[19]:(C=s?(0,$.jsx)(lt,{className:`ml-auto h-3 w-3 shrink-0 text-green-500`}):null,t[18]=s,t[19]=C);let w;t[20]!==f||t[21]!==v||t[22]!==y||t[23]!==S||t[24]!==C?(w=(0,$.jsxs)(ya,{selected:f,className:`min-w-0 flex-1 items-center rounded-md`,onClick:v,children:[y,S,C]}),t[20]=f,t[21]=v,t[22]=y,t[23]=S,t[24]=C,t[25]=w):w=t[25];let T;t[26]!==_||t[27]!==s||t[28]!==o||t[29]!==a?(T=!a&&!o&&!s&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(on,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete branch`})]})}),(0,$.jsx)(Pr,{side:`left`,children:`Delete branch and files from the repo`})]}),t[26]=_,t[27]=s,t[28]=o,t[29]=a,t[30]=T):T=t[30];let E;return t[31]!==T||t[32]!==w?(E=(0,$.jsxs)(`div`,{ref:d,className:`group flex min-w-0 items-center`,children:[w,T]}),t[31]=T,t[32]=w,t[33]=E):E=t[33],E}function Kw(){let e=(0,Q.c)(108),t=Es(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,isPanelOpen:c,isPrimaryChatOpen:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=Ys(),{openChatDockPanel:p}=$u(),m=X(nT),h=X(tT),g=X(eT),_=X($w),v=X(Qw),y=X(Zw),x=X(Xw),S=X(Yw),C=X(Jw),w=X(qw),T;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),T=m.find(t),e[0]=m,e[1]=h,e[2]=T}else T=e[2];let E=T,D=E?.useBuiltInBrowser!==!1,{browserPageTitle:O}=ZC(),{hasChanges:k,changedFilesCount:A}=Lu(g??void 0),j=E?.tasksModifiedCount??0,M;e[5]!==C||e[6]!==S||e[7]!==x?.threadId||e[8]!==v||e[9]!==g||e[10]!==_?(M=function(e,t){return t===`chat`?e===`primary`?g?x?.threadId===g||C===es&&v.includes(g)?!0:ds(_,g).isStreaming:!1:!S[e]||!g?!1:C===e&&v.includes(g)?!0:ds(_,g,e).isStreaming:!1},e[5]=C,e[6]=S,e[7]=x?.threadId,e[8]=v,e[9]=g,e[10]=_,e[11]=M):M=e[11];let N=M,P,F,I,L,R,z,B,V,H,U,ee,te,ne,re;if(e[12]!==O||e[13]!==A||e[14]!==s||e[15]!==y||e[16]!==t||e[17]!==o||e[18]!==a||e[19]!==w||e[20]!==k||e[21]!==r||e[22]!==i||e[23]!==c||e[24]!==l||e[25]!==N||e[26]!==p||e[27]!==m||e[28]!==f||e[29]!==d||e[30]!==g||e[31]!==u||e[32]!==D||e[33]!==j||e[34]!==n){let h;e[49]!==g||e[50]!==D?(h=e=>!(e.id===`browser`&&!D||e.id===`chat`&&!g),e[49]=g,e[50]=D,e[51]=h):h=e[51];let _=RC.filter(h),v=[...l?[{id:Ze,panelId:`chat`,title:Rt(m,g,Ze)}]:[],...n.map(e=>({id:e.id,panelId:e.panelId,title:e.panelId===`chat`?Rt(m,g,e.id):e.panelId===`browser`?BC(O):zC(e.panelId)}))],x;e[52]===c?x=e[53]:(x=function(e){return c(e)},e[52]=c,e[53]=x);let S=x,C;e[54]===S?C=e[55]:(C=e=>!S(e.id),e[54]=S,e[55]=C);let T=_.filter(C),E=function(e){return i?a===e:u===e},M=function(e){d(e.id),f(e.id),e.panelId===`chat`&&(w!==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 de=v.map(e=>{let t=VC(e.panelId),n=E(e.id),r=e.panelId===`review`,i=e.panelId===`tasks`,a=r&&k,o=e.panelId===`chat`&&y.includes(e.id),s=i&&j>0,c=N(e.id,e.panelId),l=o?`Chat completed — needs attention`:r&&a?`${A} changed file${A===1?``:`s`}`:i&&s?`${j} task${j===1?``:`s`} modified recently`:e.title;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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`),onClick:()=>M(e),children:[(0,$.jsx)(`span`,{className:`relative inline-flex items-center justify-center`,children:c&&e.panelId===`chat`?(0,$.jsx)(Xd,{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:j})]})}),(0,$.jsx)(Pr,{side:`top`,children:l})]},e.id)});e[69]===de?I=e[70]:(I=(0,$.jsx)(`div`,{role:`tablist`,"aria-label":`Open windows`,className:`flex items-center gap-0.5`,children:de}),e[69]=de,e[70]=I),L=T.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:T.map(e=>{let t=e.icon,n=e.id===`review`,r=e.id===`tasks`,i=n&&k,a=r&&j>0,o=n&&i?`${A} changed file${A===1?``:`s`}`:r&&a?`${j} task${j===1?``:`s`} modified recently`:e.label;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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:j})]})}),(0,$.jsx)(Pr,{side:`top`,children:o})]},e.id)})})]}):null,e[71]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),e[71]=R):R=e[71];let fe=r&&!i,pe=!r,me=r&&!i&&`bg-foreground text-background hover:bg-foreground hover:text-background`,he;e[72]===me?he=e[73]:(he=G(`rounded-full`,me),e[72]=me,e[73]=he);let ge;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(Qt,{className:`h-4 w-4`}),e[74]=ge):ge=e[74];let _e;e[75]!==le||e[76]!==ue||e[77]!==fe||e[78]!==pe||e[79]!==he?(_e=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":ue,"aria-pressed":fe,disabled:pe,className:he,onClick:le,children:ge})}),e[75]=le,e[76]=ue,e[77]=fe,e[78]=pe,e[79]=he,e[80]=_e):_e=e[80];let ve;e[81]===ue?ve=e[82]:(ve=(0,$.jsx)(Pr,{side:`top`,children:ue}),e[81]=ue,e[82]=ve),e[83]!==_e||e[84]!==ve?(z=(0,$.jsxs)(Mi,{children:[_e,ve]}),e[83]=_e,e[84]=ve,e[85]=z):z=e[85],F=Yc,e[86]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Add window`,className:`rounded-full`,children:(0,$.jsx)(Ae,{className:`h-4 w-4`})})})}),(0,$.jsx)(Pr,{side:`top`,children:`Add window`})]}),e[86]=ee):ee=e[86],P=el,B=`top`,V=`center`,H=`w-44 p-1`;let ye;e[87]===se?ye=e[88]:(ye=e=>{let t=e.icon;return(0,$.jsxs)(tl,{className:G(b.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]=ye),U=_.map(ye),e[12]=O,e[13]=A,e[14]=s,e[15]=y,e[16]=t,e[17]=o,e[18]=a,e[19]=w,e[20]=k,e[21]=r,e[22]=i,e[23]=c,e[24]=l,e[25]=N,e[26]=p,e[27]=m,e[28]=f,e[29]=d,e[30]=g,e[31]=u,e[32]=D,e[33]=j,e[34]=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]=U,e[45]=ee,e[46]=te,e[47]=ne,e[48]=re}else P=e[35],F=e[36],I=e[37],L=e[38],R=e[39],z=e[40],B=e[41],V=e[42],H=e[43],U=e[44],ee=e[45],te=e[46],ne=e[47],re=e[48];let ie;e[89]!==P||e[90]!==B||e[91]!==V||e[92]!==H||e[93]!==U?(ie=(0,$.jsx)(P,{side:B,align:V,className:H,children:U}),e[89]=P,e[90]=B,e[91]=V,e[92]=H,e[93]=U,e[94]=ie):ie=e[94];let ae;e[95]!==F||e[96]!==ie||e[97]!==ee?(ae=(0,$.jsxs)(F,{children:[ee,ie]}),e[95]=F,e[96]=ie,e[97]=ee,e[98]=ae):ae=e[98];let oe;return e[99]!==I||e[100]!==L||e[101]!==R||e[102]!==z||e[103]!==ae||e[104]!==te||e[105]!==ne||e[106]!==re?(oe=(0,$.jsxs)(`div`,{role:te,"aria-label":ne,className:re,children:[I,L,R,z,ae]}),e[99]=I,e[100]=L,e[101]=R,e[102]=z,e[103]=ae,e[104]=te,e[105]=ne,e[106]=re,e[107]=oe):oe=e[107],oe}function qw(e){return e.focusedPane}function Jw(e){return e.activeStreamPane}function Yw(e){return e.extraChatPanes}function Xw(e){return e.pendingChatMessage}function Zw(e){return e.completedPaneIds}function Qw(e){return e.processingThreadIds}function $w(e){return e.threadStreamingStates}function eT(e){return e.selectedThreadId}function tT(e){return e.selectedProjectId}function nT(e){return e.projects}var rT=`pointer-events-none absolute inset-0 rounded-2xl border border-border frosted-surface shadow-lg backdrop-blur-sm`,iT=(0,Z.lazy)(()=>Wo(()=>import(`./git-ops-button-sVka4_mz.js`).then(e=>({default:e.GitOpsButton})),__vite__mapDeps([3,1,4,5,6,7,8,9]))),aT=`h-full overflow-hidden rounded-lg border border-border bg-background`;function oT(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 sT(e){let t=(0,Q.c)(105),{children:n}=e,r=Es(),{windows:i,hasOpenWindows:a,isLayoutExpanded:o,expandedWindowId:s,expandWindow:c,collapseLayout:l,pendingScrollWindowId:u,clearPendingScrollWindow:d,selectedWindowId:f,selectWindow:p,revealWindow:m,closeWindow:h,isPrimaryChatOpen:g}=Ys(),_=X(_T),v=X(gT),y=X(hT),b=X(mT),x=X(pT),S=X(fT),C=X(dT),w=X(uT),T=X(lT),E;t[0]===v?E=t[1]:(E=e=>v?ds(e.threadStreamingStates,v,Ze).isStreaming:!1,t[0]=v,t[1]=E);let D=X(E),O;t[2]===v?O=t[3]:(O=e=>v?Zo(v,{hasSession:cT,streamingStates:e.threadStreamingStates}):!1,t[2]=v,t[3]=O);let k=X(O),A;t[4]!==_||t[5]!==v?(A=Rt(_,v,`primary`),t[4]=_,t[5]=v,t[6]=A):A=t[6];let j=A,M;t[7]!==T||t[8]!==D||t[9]!==w?.threadId||t[10]!==C||t[11]!==v?(M=v&&(w?.threadId===v||(T===null||T===es)&&C.includes(v)||D),t[7]=T,t[8]=D,t[9]=w?.threadId,t[10]=C,t[11]=v,t[12]=M):M=t[12];let N=!!M,P=(0,Z.useRef)(null),F=!!(v&&y),I;t[13]!==a||t[14]!==S||t[15]!==D||t[16]!==b||t[17]!==w?.threadId||t[18]!==C||t[19]!==v?(I=!a&&!!v&&b.length===0&&!D&&!S&&!(v&&C.includes(v))&&w?.threadId!==v,t[13]=a,t[14]=S,t[15]=D,t[16]=b,t[17]=w?.threadId,t[18]=C,t[19]=v,t[20]=I):I=t[20];let L=I,R=L&&x,z=L&&!x&&!k,B;t[21]!==z||t[22]!==v||t[23]!==R?(B={centered:R,loading:z,threadId:v},t[21]=z,t[22]=v,t[23]=R,t[24]=B):B=t[24];let{phase:V,reveal:H}=Tb(B),U=jb(),{mode:ee}=vC(),te;t[25]!==V||t[26]!==U||t[27]!==ee?(te=U&&(ee!==`background`||Cb(V)),t[25]=V,t[26]=U,t[27]=ee,t[28]=te):te=t[28];let ne=te,re=ee===`background`&&V===`moving-to-footer`,ie=(0,Z.useRef)(U),ae=(0,Z.useRef)(!1),oe,se;t[29]!==V||t[30]!==r?(oe=()=>{if(V===`moving-to-footer`&&!ae.current){ae.current=!0,r({type:Y.FocusChatInput});return}V===`centered`&&(ae.current=!1)},se=[V,r],t[29]=V,t[30]=r,t[31]=oe,t[32]=se):(oe=t[31],se=t[32]),(0,Z.useEffect)(oe,se);let ce;t[33]!==d||t[34]!==o||t[35]!==u?(ce=()=>{if(!u||!P.current||o){u&&o&&d();return}let e=P.current,t=e.querySelector(`[data-window-id="${u}"]`);t&&(oT(e,t),d())},t[33]=d,t[34]=o,t[35]=u,t[36]=ce):ce=t[36];let le;t[37]!==d||t[38]!==o||t[39]!==u||t[40]!==i?(le=[d,o,u,i],t[37]=d,t[38]=o,t[39]=u,t[40]=i,t[41]=le):le=t[41],(0,Z.useEffect)(ce,le);let ue;t[42]!==a||t[43]!==o||t[44]!==f||t[45]!==U?(ue=()=>{let e=ie.current;if(ie.current=U,e||!U||!a||o)return;let t=P.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="${f}"]`);return e?(oT(n,e),!0):!1};if(r())return;let i=new ResizeObserver(()=>{r()&&i.disconnect()});return i.observe(n),()=>i.disconnect()},t[42]=a,t[43]=o,t[44]=f,t[45]=U,t[46]=ue):ue=t[46];let de;t[47]!==a||t[48]!==o||t[49]!==f||t[50]!==U||t[51]!==i?(de=[a,o,f,U,i],t[47]=a,t[48]=o,t[49]=f,t[50]=U,t[51]=i,t[52]=de):de=t[52],(0,Z.useEffect)(ue,de);let fe=!o&&f===`primary`,pe;t[53]!==r||t[54]!==m||t[55]!==p?(pe=()=>{p(Ze),m(Ze),r({type:Y.SetFocusedPane,paneId:`primary`})},t[53]=r,t[54]=m,t[55]=p,t[56]=pe):pe=t[56];let me;t[57]!==l||t[58]!==r||t[59]!==c||t[60]!==o||t[61]!==p?(me=()=>{if(o){l();return}p(Ze),r({type:Y.SetFocusedPane,paneId:`primary`}),c(Ze)},t[57]=l,t[58]=r,t[59]=c,t[60]=o,t[61]=p,t[62]=me):me=t[62];let he;t[63]===h?he=t[64]:(he=()=>h(Ze),t[63]=h,t[64]=he);let ge;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(AS,{paneId:Ze}),t[65]=ge):ge=t[65];let _e;t[66]!==n||t[67]!==N||t[68]!==j||t[69]!==fe||t[70]!==pe||t[71]!==me||t[72]!==he?(_e=(0,$.jsx)(IC,{title:j,showTitle:!0,selected:fe,onSelect:pe,onTitleDoubleClick:me,onClose:he,disableClose:N,footer:ge,className:aT,children:n}),t[66]=n,t[67]=N,t[68]=j,t[69]=fe,t[70]=pe,t[71]=me,t[72]=he,t[73]=_e):_e=t[73];let ve=_e,ye;t[74]!==n||t[75]!==V||t[76]!==s||t[77]!==re||t[78]!==a||t[79]!==o||t[80]!==g||t[81]!==ve||t[82]!==ne||t[83]!==i?(ye=a?(0,$.jsxs)(`div`,{ref:P,className:G(`h-full min-h-0`,o?`overflow-hidden`:`grid gap-3 overflow-auto p-3`),style:o?void 0:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 24rem), 1fr))`,gridAutoRows:`minmax(min(100%, 20rem), 1fr)`},children:[g?(0,$.jsx)(`div`,{"data-window-id":Ze,className:G(`min-h-0 min-w-0`,o&&`box-border h-full w-full p-3`,o&&s!==`primary`&&`hidden`),children:ve}):null,i.map(e=>{let t=e.panelId===`chat`?(0,$.jsx)(AS,{paneId:e.id}):void 0;return(0,$.jsx)(`div`,{"data-window-id":e.id,className:G(`min-h-0 min-w-0`,o&&`box-border h-full w-full p-3`,o&&s!==e.id&&`hidden`),children:(0,$.jsx)(iw,{instanceId:e.id,panelId:e.panelId,footer:t})},e.id)})]}):(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:G(`relative flex h-full min-h-0 flex-col`,A_(!1)),children:[ne?(0,$.jsx)(`div`,{"aria-hidden":!0,className:G(rT,re&&`animate-in fade-in duration-300 ease-out`)}):null,(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1 overflow-hidden`,children:n}),Cb(V)?(0,$.jsx)(`div`,{className:`relative z-10`,children:(0,$.jsx)(AS,{})}):null]})}),t[74]=n,t[75]=V,t[76]=s,t[77]=re,t[78]=a,t[79]=o,t[80]=g,t[81]=ve,t[82]=ne,t[83]=i,t[84]=ye):ye=t[84];let be=ye,xe;t[85]===be?xe=t[86]:(xe=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1`,children:be}),t[85]=be,t[86]=xe);let Se;t[87]!==y||t[88]!==v||t[89]!==F?(Se=F&&v&&y?(0,$.jsx)(Uu,{threadId:v,children:(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(iT,{projectId:y,threadId:v,layout:`bar`},v)})}):null,t[87]=y,t[88]=v,t[89]=F,t[90]=Se):Se=t[90];let Ce;t[91]===Se?Ce=t[92]:(Ce=(0,$.jsx)(`div`,{className:`hidden justify-self-start md:block`,children:Se}),t[91]=Se,t[92]=Ce);let W;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(`div`,{className:`justify-self-center md:col-start-2`,children:(0,$.jsx)(Kw,{})}),t[93]=W):W=t[93];let we;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(`div`,{className:`flex items-center justify-end gap-2 justify-self-end`,children:TC()?null:(0,$.jsx)(Fw,{})}),t[94]=we):we=t[94];let Te;t[95]===Ce?Te=t[96]:(Te=(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:[Ce,W,we]}),t[95]=Ce,t[96]=Te);let Ee;t[97]!==xe||t[98]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[xe,Te]}),t[97]=xe,t[98]=Te,t[99]=Ee):Ee=t[99];let De;return t[100]!==V||t[101]!==H||t[102]!==a||t[103]!==Ee?(De=(0,$.jsx)(yb,{placement:`footer`,embedded:a,composerPhase:V,composerReveal:H,children:Ee}),t[100]=V,t[101]=H,t[102]=a,t[103]=Ee,t[104]=De):De=t[104],De}function cT(){return!1}function lT(e){return e.activeStreamPane}function uT(e){return e.pendingChatMessage}function dT(e){return e.processingThreadIds}function fT(e){return e.isCreatingProject}function pT(e){return ss(e,Ze)}function mT(e){return ns(e,Ze)}function hT(e){return e.selectedProjectId}function gT(e){return e.selectedThreadId}function _T(e){return e.projects}function vT(e,t){for(let n of e){if(n.type!==`tool_use`||n.name!==`open_widget`)continue;let e=Xg(n.input);e.url&&t.push({id:n.id,url:e.url,title:e.title})}}function yT(e){let t=[],n=new Set;for(let r of e){let e=Go(r.content);if(!e)continue;let i=t.length;vT(e,t);for(let e=i;e<t.length;e++){let r=t[e];if(n.has(r.id)){t.splice(e,1),--e;continue}n.add(r.id)}}return t}function bT(){let e=(0,Q.c)(5),t=Es(),n=X(ST),r=X(xT),i,a;e[0]!==t||e[1]!==n||e[2]!==r?(i=()=>{if(!r)return;let e=yT(n);e.length!==0&&t({type:Y.SyncOpenWidgetsFromMessages,widgets:e})},a=[t,n,r],e[0]=t,e[1]=n,e[2]=r,e[3]=i,e[4]=a):(i=e[3],a=e[4]),(0,Z.useEffect)(i,a)}function xT(e){return e.messagesLoaded}function ST(e){return e.messages}var CT=768;function wT(){let e=(0,Q.c)(2),[t,n]=Z.useState(TT),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${CT-1}px)`),t=()=>{n(window.innerWidth<CT)};return e.addEventListener(`change`,t),n(window.innerWidth<CT),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),t}function TT(){return typeof window>`u`?!1:window.innerWidth<CT}function ET(){let e=(0,Q.c)(7),t=Es(),n=wT(),r=X(OT),i=X(DT),a=i.length>0&&!n&&!!r,o;e[0]!==t||e[1]!==i?(o=e=>{let n=i.find(t=>t.id===e);n&&(i.some(t=>t.id!==e&&is(t.url)===is(n.url))||Mh(n.url),t({type:Y.CloseWidget,id:e}))},e[0]=t,e[1]=i,e[2]=o):o=e[2];let s=o,c;return e[3]!==s||e[4]!==a||e[5]!==i?(c={openWidgets:i,isWidgetPanelOpen:a,closeWidget:s},e[3]=s,e[4]=a,e[5]=i,e[6]=c):c=e[6],c}function DT(e){return e.openWidgets}function OT(e){return e.selectedThreadId}var kT=320;function AT(e){let t=(0,Q.c)(45),{widget:n,onClose:r}=e,{url:i,title:a,id:o}=n,s=(0,Z.useRef)(null),c;t[0]===i?c=t[1]:(c=()=>_h(i)?.status,t[0]=i,t[1]=c);let[l,u]=(0,Z.useState)(c),d;t[2]===i?d=t[3]:(d=()=>_h(i)?.error,t[2]=i,t[3]=d);let[f,p]=(0,Z.useState)(d),m,h;t[4]===i?(m=t[5],h=t[6]):(m=()=>vh(i,()=>{let e=_h(i);u(e?.status),p(e?.error)}),h=[i],t[4]=i,t[5]=m,t[6]=h),(0,Z.useEffect)(m,h);let g,_;t[7]===i?(g=t[8],_=t[9]):(g=()=>{let e=s.current;return jh(i,e),()=>{jh(i,null)}},_=[i],t[7]=i,t[8]=g,t[9]=_),(0,Z.useEffect)(g,_);let v;t[10]!==a||t[11]!==i?(v=os(a,i),t[10]=a,t[11]=i,t[12]=v):v=t[12];let y=v,x=l===`loading`||l===`discovering`,S=l===void 0||l===`loading`||l===`discovering`,C,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(b.label,`flex items-center gap-2 border-b border-border px-3 py-2`),w=(0,$.jsx)(Qt,{className:`h-4 w-4 shrink-0 text-brand`}),t[13]=C,t[14]=w):(C=t[13],w=t[14]);let T;t[15]===y?T=t[16]:(T=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate cursor-default`,children:y})}),t[15]=y,t[16]=T);let E;t[17]===i?E=t[18]:(E=(0,$.jsx)(Pr,{className:`max-w-md break-all`,children:i}),t[17]=i,t[18]=E);let D;t[19]!==T||t[20]!==E?(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[19]=T,t[20]=E,t[21]=D):D=t[21];let O;t[22]===x?O=t[23]:(O=x&&(0,$.jsx)(K,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground`}),t[22]=x,t[23]=O);let k;t[24]!==o||t[25]!==r?(k=()=>r(o),t[24]=o,t[25]=r,t[26]=k):k=t[26];let A=`Close ${y}`,j;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(tt,{className:`h-4 w-4`}),t[27]=j):j=t[27];let M;t[28]!==k||t[29]!==A?(M=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:k,"aria-label":A,children:j})}),t[28]=k,t[29]=A,t[30]=M):M=t[30];let N;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Pr,{children:`Close widget`}),t[31]=N):N=t[31];let P;t[32]===M?P=t[33]:(P=(0,$.jsxs)(Mi,{children:[M,N]}),t[32]=M,t[33]=P);let F;t[34]!==D||t[35]!==O||t[36]!==P?(F=(0,$.jsxs)(`div`,{className:C,children:[w,D,O,P]}),t[34]=D,t[35]=O,t[36]=P,t[37]=F):F=t[37];let I;t[38]!==f||t[39]!==S||t[40]!==l?(I=l===`error`?(0,$.jsxs)(`div`,{className:G(b.bodyMuted,`border-destructive/40 bg-destructive/5 space-y-1 p-3`),children:[(0,$.jsx)(`div`,{className:`font-medium text-destructive`,children:`Failed to load widget`}),(0,$.jsx)(`div`,{className:`break-words`,children:f??`Unknown error`})]}):(0,$.jsx)(`div`,{ref:s,className:`flex items-center justify-center overflow-hidden rounded-b-lg bg-background`,style:{height:kT},children:S&&(0,$.jsx)(K,{className:`h-5 w-5 animate-spin text-muted-foreground`,"aria-label":`Loading widget`})}),t[38]=f,t[39]=S,t[40]=l,t[41]=I):I=t[41];let L;return t[42]!==F||t[43]!==I?(L=(0,$.jsxs)(`div`,{className:`min-w-0 max-w-full flex-[1_1_380px] overflow-hidden rounded-lg border border-border bg-background`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44],L}function jT(){let e=(0,Q.c)(7),{openWidgets:t,closeWidget:n}=ET();if(t.length===0)return null;let r;if(e[0]!==n||e[1]!==t){let i;e[3]===n?i=e[4]:(i=e=>(0,$.jsx)(AT,{widget:e,onClose:n},e.id),e[3]=n,e[4]=i),r=t.map(i),e[0]=n,e[1]=t,e[2]=r}else r=e[2];let i;return e[5]===r?i=e[6]:(i=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-4 p-4`,children:r}),e[5]=r,e[6]=i),i}function MT(){let e=(0,Q.c)(1);bT();let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:(0,$.jsx)(Na,{className:`min-h-0 flex-1`,children:(0,$.jsx)(jT,{})})}),e[0]=t):t=e[0],t}var NT=768;function PT(){let e=(0,Q.c)(2),[t,n]=Z.useState(void 0),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${NT-1}px)`),t=()=>{n(window.innerWidth<NT)};return e.addEventListener(`change`,t),n(window.innerWidth<NT),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),!!t}var FT=M(`app.use-chat-history.hook`);function IT(){let e=Es(),t=xs(),n=X(e=>e.selectedThreadId);(0,Z.useEffect)(()=>{if(!n)return;let r=n,i=!1;async function a(){if(!lc(t.getState().threadToolSessions[r]))try{let[n,a]=await Promise.all([qr(r),Po(r).catch(e=>(FT.error(`Failed to load thread metadata for conversation id:`,e),null))]);if(i)return;let o=Zo(r,{hasSession:()=>!1,streamingStates:t.getState().threadStreamingStates});o||e({type:Y.SetMessages,messages:n.messages});let s=a?.currentConversationId?.trim()||void 0;if(s&&e({type:Y.SetPrimaryConversationId,conversationId:s}),o)return;So.invalidate(`processing-threads`);let c=await ia();if(i)return;e({type:Y.SetProcessingThreads,threadIds:c})}catch(t){FT.error(`Failed to load chat history:`,t),i||(e({type:Y.SetMessages,messages:[]}),e({type:Y.ResetStream,threadId:r,paneId:`primary`}))}}return a(),()=>{i=!0}},[n,X(e=>e.selectedProjectId),e,t])}function LT(){let e=(0,Q.c)(8),t=Es(),n=xs(),r=X(RT),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,nc(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 RT(e){if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];return t&&lc(t)?t:null}var zT=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)(ln,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a},BT=rr,VT=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)(v,{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)(tr,{className:a,...r,children:o}),t[8]=r,t[9]=a,t[10]=o,t[11]=s):s=t[11],s},HT=(0,Z.lazy)(()=>Wo(()=>import(`./diff-view-P5m6sKUJ.js`),__vite__mapDeps([15,1,4,5,6,7,16,17,18,19,20,9,21,22]))),UT=(0,Z.lazy)(()=>Wo(()=>import(`./create-project-dialog-DfvqFmmy.js`),__vite__mapDeps([29,1,27,6,7]))),WT=M(`chat.area`);function GT(e){let t=(0,Q.c)(45),{onCreateThread:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}=e,s=Es(),c=Gn(),l=Vn(),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),m=X(XT),{isWidgetPanelOpen:h}=ET(),g=PT(),_;t[0]===s?_=t[1]:(_=()=>{s({type:Y.CloseSidebar})},t[0]=s,t[1]=_);let v=_,y;t[2]===v?y=t[3]:(y=()=>{v(),p(`clone`),d(!0)},t[2]=v,t[3]=y);let b=y,x;t[4]===v?x=t[5]:(x=()=>{v(),p(`webapp`),d(!0)},t[4]=v,t[5]=x);let S=x,C;t[6]===r?C=t[7]:(C=async(e,t)=>{d(!1),p(null),await r(e,t).catch(YT)},t[6]=r,t[7]=C);let w=C,T;t[8]===i?T=t[9]:(T=async(e,t,n)=>{d(!1),p(null),await i(e,t,n).catch(JT)},t[8]=i,t[9]=T);let E=T,D;t[10]!==v||t[11]!==o?(D=async()=>{v(),d(!1),p(null),await o().catch(qT)},t[10]=v,t[11]=o,t[12]=D):D=t[12];let O=D,k;t[13]===a?k=t[14]:(k=async e=>{d(!1),p(null),await a(e).catch(KT)},t[13]=a,t[14]=k);let A=k,j=l.pathname===`/review`,M;t[15]===c?M=t[16]:(M=()=>{c(`/`)},t[15]=c,t[16]=M);let N=M;IT(),LT();let P=!j,F=P&&h&&!g,I;t[17]!==b||t[18]!==S||t[19]!==O||t[20]!==n||t[21]!==F?(I=(0,$.jsx)(tC,{paneId:`primary`,fillPane:F,onCreateThread:n,showEmptyState:!0,hideInput:!0,onConnectRepo:b,onNewApp:S,onOpenFolder:O}),t[17]=b,t[18]=S,t[19]=O,t[20]=n,t[21]=F,t[22]=I):I=t[22];let L=I,R;t[23]!==L||t[24]!==P||t[25]!==F?(R=F?(0,$.jsxs)(zT,{direction:`horizontal`,className:`h-full`,children:[(0,$.jsx)(BT,{defaultSize:55,minSize:30,children:L}),(0,$.jsx)(VT,{withHandle:!0}),(0,$.jsx)(BT,{defaultSize:45,minSize:25,className:`border-l border-border`,children:(0,$.jsx)(MT,{})})]}):P?L:null,t[23]=L,t[24]=P,t[25]=F,t[26]=R):R=t[26];let z=R,B;t[27]!==z||t[28]!==N||t[29]!==j||t[30]!==m||t[31]!==P?(B=j&&m?(0,$.jsx)(Uu,{threadId:m,children:(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(ca,{}),children:(0,$.jsx)(HT,{threadId:m,onExit:N})})}):P?(0,$.jsx)(sT,{children:z}):null,t[27]=z,t[28]=N,t[29]=j,t[30]=m,t[31]=P,t[32]=B):B=t[32];let V=f??void 0,H;t[33]!==u||t[34]!==A||t[35]!==w||t[36]!==E||t[37]!==V?(H=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(UT,{open:u,onOpenChange:d,initialMode:V,onSubmitClone:w,onSubmitWebApp:E,onSubmitFolder:A})}),t[33]=u,t[34]=A,t[35]=w,t[36]=E,t[37]=V,t[38]=H):H=t[38];let U;t[39]!==B||t[40]!==H?(U=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[B,H]}),t[39]=B,t[40]=H,t[41]=U):U=t[41];let ee;return t[42]!==m||t[43]!==U?(ee=(0,$.jsx)(ep,{threadId:m,children:U}),t[42]=m,t[43]=U,t[44]=ee):ee=t[44],ee}function KT(e){WT.error(`Failed to create folder`,{err:e})}function qT(e){WT.error(`Failed to open folder`,{err:e})}function JT(e){WT.error(`Failed to create project`,{err:e})}function YT(e){WT.error(`Failed to clone repository`,{err:e})}function XT(e){return e.selectedThreadId}var ZT=1e3;function QT(e){return!Number.isFinite(e)||e<=0?`+$0.00`:`+$${(Math.round(e*100)/100).toFixed(2)}`}function $T(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 eE(e){return 300+(Math.max(e,1)-1)*30}function tE(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(b.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 nE(e){return ke(e).split(``)}function rE(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 iE(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=nE(n),i=nE(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)(rE,{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}var aE=mn,oE=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)(gn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});oE.displayName=gn.displayName;var sE=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)(jn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});sE.displayName=jn.displayName;var cE=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)(Rn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});cE.displayName=Rn.displayName;var lE=M(`app.use-current-conversation-spend.hook`);function uE(e,t=``){let n=X(e=>e.focusedPane),r=X(e=>n===es?void 0:$o(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)(!1),S=n===es?i:r;(0,Z.useEffect)(()=>{let t=!1;async function r(){if(!e||n!==es){a(void 0);return}try{let n=await Po(e);if(t)return;a(n.currentConversationId)}catch(e){lE.error(`Failed to resolve current conversation id`,e),t||a(void 0)}}return r(),()=>{t=!0}},[n,t,e]);let C=(0,Z.useCallback)(async function(){if(!e||!S){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x(!1);return}x(!0);try{let t=await Ji(e,S);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)}catch(e){if(e instanceof Error&&e.message===`Conversation not found`){s(0),l(0),d(0),p(0),h(0),_(0),y(0);return}lE.error(`Failed to load current conversation spend`,e),s(0),l(0),d(0),p(0),h(0),_(0),y(0)}finally{x(!1)}},[S,e]);return(0,Z.useEffect)(()=>{C()},[C,t]),{conversationId:S,totalCost:o,inputTokens:c,outputTokens:u,cacheReadTokens:f,cacheWriteTokens:m,cacheReadCost:g,cacheWriteCost:v,isLoading:b,refresh:C}}var dE=M(`app.use-daily-spend.hook`);function fE(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)(!0),[F,I]=(0,Z.useState)(0),L=(0,Z.useRef)(0),R=(0,Z.useCallback)(async function(){let e=++L.current;try{let t=await Nr();if(e!==L.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),I(e=>e+1)}catch(t){if(e!==L.current)return;dE.error(`Failed to load daily spend summary`,t)}finally{e===L.current&&P(!1)}},[]);return(0,Z.useEffect)(()=>{R()},[R,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,isLoading:N,refreshGeneration:F,refresh:R}}function pE(){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 mE({todayFromApi:e,refreshSignal:t,refreshGeneration:n,isLoading:r}){let i=pE(),[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=eE(ke(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)},ZT)},(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=$T(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?QT(l):null,flipFromAmount:a,flipToAmount:a+l,isFlipping:s===`flip`,flipKey:d}}function hE(){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],Gy(t)}var gE=`h-auto rounded-full border bg-muted/40`,_E=`rounded-full px-4 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:shadow-sm`;function vE(e){return!Number.isFinite(e)||e<=0?`0%`:`${(e*100).toFixed(1)}%`}function yE(e){let t=(0,Q.c)(39),{todayInputTokens:n,todayCacheReadTokens:r,todayCacheWriteTokens:i,todayCacheReadCost:a,todayCacheWriteCost:o}=e,s,c,l,u,d,f,p,m,h,g;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=Pt(r,I(n,r,i));g=`space-y-1 pt-3`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:b.label,children:`Prompt cache`}),t[13]=c):c=t[13],s=b.bodyMuted,t[14]===r?l=t[15]:(l=Fe(r),t[14]=r,t[15]=l),u=` cache read /`,d=` `,t[16]===i?f=t[17]:(f=Fe(i),t[16]=i,t[17]=f),p=` cache write tokens ·`,m=` `,h=vE(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}else s=t[3],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];let _;t[18]!==s||t[19]!==l||t[20]!==u||t[21]!==d||t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h?(_=(0,$.jsxs)(`div`,{className:s,children:[l,u,d,f,p,m,h,` hit rate`]}),t[18]=s,t[19]=l,t[20]=u,t[21]=d,t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=_):_=t[26];let v;t[27]===a?v=t[28]:(v=ke(a),t[27]=a,t[28]=v);let y;t[29]===o?y=t[30]:(y=ke(o),t[29]=o,t[30]=y);let x;t[31]!==v||t[32]!==y?(x=(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[v,` cache read cost /`,` `,y,` cache write cost`]}),t[31]=v,t[32]=y,t[33]=x):x=t[33];let S;return t[34]!==c||t[35]!==_||t[36]!==x||t[37]!==g?(S=(0,$.jsxs)(`div`,{className:g,children:[c,_,x]}),t[34]=c,t[35]=_,t[36]=x,t[37]=g,t[38]=S):S=t[38],S}function bE(e){let t=(0,Q.c)(39),{last30DaysInputTokens:n,last30DaysCacheReadTokens:r,last30DaysCacheWriteTokens:i,last30DaysCacheReadCost:a,last30DaysCacheWriteCost:o}=e,s,c,l,u,d,f,p,m,h,g;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=Pt(r,I(n,r,i));g=`space-y-1 pt-3`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:b.label,children:`Prompt cache`}),t[13]=c):c=t[13],s=b.bodyMuted,t[14]===r?l=t[15]:(l=Fe(r),t[14]=r,t[15]=l),u=` cache read /`,d=` `,t[16]===i?f=t[17]:(f=Fe(i),t[16]=i,t[17]=f),p=` cache write tokens ·`,m=` `,h=vE(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}else s=t[3],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];let _;t[18]!==s||t[19]!==l||t[20]!==u||t[21]!==d||t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h?(_=(0,$.jsxs)(`div`,{className:s,children:[l,u,d,f,p,m,h,` hit rate`]}),t[18]=s,t[19]=l,t[20]=u,t[21]=d,t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=_):_=t[26];let v;t[27]===a?v=t[28]:(v=ke(a),t[27]=a,t[28]=v);let y;t[29]===o?y=t[30]:(y=ke(o),t[29]=o,t[30]=y);let x;t[31]!==v||t[32]!==y?(x=(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[v,` cache read cost /`,` `,y,` cache write cost`]}),t[31]=v,t[32]=y,t[33]=x):x=t[33];let S;return t[34]!==c||t[35]!==_||t[36]!==x||t[37]!==g?(S=(0,$.jsxs)(`div`,{className:g,children:[c,_,x]}),t[34]=c,t[35]=_,t[36]=x,t[37]=g,t[38]=S):S=t[38],S}function xE(e){let t=(0,Q.c)(21),{todayLabel:n,todayInputTokens:r,todayOutputTokens:i,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c,todayCompressionBytesSaved:l}=e,u=r>0||i>0||a>0||o>0,d=a>0||o>0||s>0||c>0,f=l>0,p;t[0]===n?p=t[1]:(p=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[n,` spent`]})}),t[0]=n,t[1]=p);let m;t[2]!==u||t[3]!==r||t[4]!==i?(m=u?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(r),` input / `,Fe(i),` `,`output tokens`]})]}):null,t[2]=u,t[3]=r,t[4]=i,t[5]=m):m=t[5];let h;t[6]!==d||t[7]!==s||t[8]!==a||t[9]!==c||t[10]!==o||t[11]!==r?(h=d?(0,$.jsx)(yE,{todayInputTokens:r,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c}):null,t[6]=d,t[7]=s,t[8]=a,t[9]=c,t[10]=o,t[11]=r,t[12]=h):h=t[12];let g;t[13]!==f||t[14]!==l?(g=f?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[je(l),` saved`]})]}):null,t[13]=f,t[14]=l,t[15]=g):g=t[15];let _;return t[16]!==p||t[17]!==m||t[18]!==h||t[19]!==g?(_=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,m,h,g]}),t[16]=p,t[17]=m,t[18]=h,t[19]=g,t[20]=_):_=t[20],_}function SE(e){let t=(0,Q.c)(21),{totalCost:n,inputTokens:r,outputTokens:i,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,hasConversation:l,isLoading:u}=e;if(!l){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:b.bodyMuted,children:`Start a conversation to see spend for the current chat.`}),t[0]=e):e=t[0],e}if(u){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:b.bodyMuted,children:`Loading current chat spend…`}),t[1]=e):e=t[1],e}let d;t[2]===n?d=t[3]:(d=ke(n),t[2]=n,t[3]=d);let f=d,p=r>0||i>0||a>0||o>0,m=a>0||o>0||s>0||c>0,h=n>0?`${f} spent`:`No spend recorded yet`,g;t[4]===h?g=t[5]:(g=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`div`,{children:h})}),t[4]=h,t[5]=g);let _;t[6]!==p||t[7]!==r||t[8]!==i?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(r),` input / `,Fe(i),` output tokens`]})]}):null,t[6]=p,t[7]=r,t[8]=i,t[9]=_):_=t[9];let v;t[10]!==s||t[11]!==a||t[12]!==c||t[13]!==o||t[14]!==m||t[15]!==r?(v=m?(0,$.jsx)(yE,{todayInputTokens:r,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c}):null,t[10]=s,t[11]=a,t[12]=c,t[13]=o,t[14]=m,t[15]=r,t[16]=v):v=t[16];let y;return t[17]!==g||t[18]!==_||t[19]!==v?(y=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v]}),t[17]=g,t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function CE(e){let t=(0,Q.c)(22),{last30DaysLabel:n,averagePerDayLabel:r,last30DaysInputTokens:i,last30DaysOutputTokens:a,last30DaysCacheReadTokens:o,last30DaysCacheWriteTokens:s,last30DaysCacheReadCost:c,last30DaysCacheWriteCost:l,last30DaysCompressionBytesSaved:u}=e,d=i>0||a>0||o>0||s>0,f=o>0||s>0||c>0||l>0,p=u>0,m;t[0]!==r||t[1]!==n?(m=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[n,` spent · `,r,`/day average`]})}),t[0]=r,t[1]=n,t[2]=m):m=t[2];let h;t[3]!==d||t[4]!==i||t[5]!==a?(h=d?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(i),` input /`,` `,Fe(a),` output tokens`]})]}):null,t[3]=d,t[4]=i,t[5]=a,t[6]=h):h=t[6];let g;t[7]!==f||t[8]!==c||t[9]!==o||t[10]!==l||t[11]!==s||t[12]!==i?(g=f?(0,$.jsx)(bE,{last30DaysInputTokens:i,last30DaysCacheReadTokens:o,last30DaysCacheWriteTokens:s,last30DaysCacheReadCost:c,last30DaysCacheWriteCost:l}):null,t[7]=f,t[8]=c,t[9]=o,t[10]=l,t[11]=s,t[12]=i,t[13]=g):g=t[13];let _;t[14]!==p||t[15]!==u?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[je(u),` saved`]})]}):null,t[14]=p,t[15]=u,t[16]=_):_=t[16];let v;return t[17]!==m||t[18]!==h||t[19]!==g||t[20]!==_?(v=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[m,h,g,_]}),t[17]=m,t[18]=h,t[19]=g,t[20]=_,t[21]=v):v=t[21],v}function wE(){let e=(0,Q.c)(94),t=X(EE),n=X(TE),r=jb(),i;e[0]===t?i=e[1]:(i=t.join(`,`),e[0]=t,e[1]=i);let a=i,{isEnabled:o,isLoading:s}=hE(),{today:c,last30Days:l,todayInputTokens:u,todayOutputTokens:d,last30DaysInputTokens:f,last30DaysOutputTokens:p,todayCacheReadTokens:m,todayCacheWriteTokens:h,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,todayCacheReadCost:v,todayCacheWriteCost:y,last30DaysCacheReadCost:x,last30DaysCacheWriteCost:S,todayCompressionBytesSaved:C,last30DaysCompressionBytesSaved:w,isLoading:T,refreshGeneration:E}=fE(a),D;e[2]!==T||e[3]!==E||e[4]!==a||e[5]!==c?(D={todayFromApi:c,refreshSignal:a,refreshGeneration:E,isLoading:T},e[2]=T,e[3]=E,e[4]=a,e[5]=c,e[6]=D):D=e[6];let{isAnimating:O,phase:k,deltaLabel:A,flipFromAmount:j,flipToAmount:M,isFlipping:N,flipKey:P}=mE(D),{conversationId:F,totalCost:I,inputTokens:L,outputTokens:R,cacheReadTokens:z,cacheWriteTokens:B,cacheReadCost:V,cacheWriteCost:H,isLoading:U}=uE(n,a),[ee,te]=(0,Z.useState)(!1);if(!o||s||T||c===0&&!O)return null;let ne=l/30,re;e[7]===c?re=e[8]:(re=ke(c),e[7]=c,e[8]=re);let ie=re,ae;e[9]===l?ae=e[10]:(ae=ke(l),e[9]=l,e[10]=ae);let oe=ae,se;e[11]===ne?se=e[12]:(se=ke(ne),e[11]=ne,e[12]=se);let ce=se,le;e[13]===I?le=e[14]:(le=ke(I),e[13]=I,e[14]=le);let ue=le,de=r?Ic:`text-foreground hover:text-foreground/80`,fe;e[15]===de?fe=e[16]:(fe=G(b.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`,de),e[15]=de,e[16]=fe);let pe;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(pe=()=>te(!0),e[17]=pe):pe=e[17];let me;e[18]!==j||e[19]!==P||e[20]!==M||e[21]!==N?(me=(0,$.jsx)(`span`,{className:`col-start-1 row-start-1`,children:(0,$.jsx)(iE,{fromAmount:j,toAmount:M,isFlipping:N,flipKey:P})}),e[18]=j,e[19]=P,e[20]=M,e[21]=N,e[22]=me):me=e[22];let he;e[23]!==A||e[24]!==k?(he=A&&(k===`hold`||k===`fade`)?(0,$.jsx)(`span`,{className:`col-start-1 row-start-1 invisible font-bold`,"aria-hidden":`true`,children:A}):null,e[23]=A,e[24]=k,e[25]=he):he=e[25];let ge;e[26]!==he||e[27]!==me?(ge=(0,$.jsxs)(`span`,{className:`inline-grid items-center justify-items-center`,children:[me,he]}),e[26]=he,e[27]=me,e[28]=ge):ge=e[28];let _e;e[29]!==A||e[30]!==k?(_e=A?(0,$.jsx)(tE,{deltaLabel:A,phase:k}):null,e[29]=A,e[30]=k,e[31]=_e):_e=e[31];let ve;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(`span`,{className:`sr-only`,children:`View spend details`}),e[32]=ve):ve=e[32];let ye;e[33]!==ge||e[34]!==_e||e[35]!==fe?(ye=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:fe,onClick:pe,children:[ge,_e,ve]})}),e[33]=ge,e[34]=_e,e[35]=fe,e[36]=ye):ye=e[36];let be;e[37]===ie?be=e[38]:(be=(0,$.jsxs)(`div`,{children:[ie,` spent today`]}),e[37]=ie,e[38]=be);let xe;e[39]===ue?xe=e[40]:(xe=(0,$.jsxs)(`div`,{children:[ue,` · This Chat`]}),e[39]=ue,e[40]=xe);let Se;e[41]===oe?Se=e[42]:(Se=(0,$.jsxs)(`div`,{children:[oe,` spend last 30 days`]}),e[41]=oe,e[42]=Se);let Ce;e[43]===ce?Ce=e[44]:(Ce=(0,$.jsxs)(`div`,{children:[ce,` average per day`]}),e[43]=ce,e[44]=Ce);let W;e[45]!==be||e[46]!==xe||e[47]!==Se||e[48]!==Ce?(W=(0,$.jsxs)(Pr,{className:`space-y-1`,children:[be,xe,Se,Ce]}),e[45]=be,e[46]=xe,e[47]=Se,e[48]=Ce,e[49]=W):W=e[49];let we;e[50]!==ye||e[51]!==W?(we=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[ye,W]})}),e[50]=ye,e[51]=W,e[52]=we):we=e[52];let Te;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(wr,{children:(0,$.jsx)(Ra,{children:`Spend`})}),e[53]=Te):Te=e[53];let Ee;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsxs)(oE,{className:gE,children:[(0,$.jsx)(sE,{value:`today`,className:_E,children:`Today`}),(0,$.jsx)(sE,{value:`currentChat`,className:_E,children:`This Chat`}),(0,$.jsx)(sE,{value:`last30Days`,className:_E,children:`Last 30 Days`})]}),e[54]=Ee):Ee=e[54];let De;e[55]!==v||e[56]!==m||e[57]!==y||e[58]!==h||e[59]!==C||e[60]!==u||e[61]!==ie||e[62]!==d?(De=(0,$.jsx)(cE,{value:`today`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(xE,{todayLabel:ie,todayInputTokens:u,todayOutputTokens:d,todayCacheReadTokens:m,todayCacheWriteTokens:h,todayCacheReadCost:v,todayCacheWriteCost:y,todayCompressionBytesSaved:C})}),e[55]=v,e[56]=m,e[57]=y,e[58]=h,e[59]=C,e[60]=u,e[61]=ie,e[62]=d,e[63]=De):De=e[63];let Oe=!!(n&&F),Ae;e[64]!==V||e[65]!==z||e[66]!==H||e[67]!==B||e[68]!==I||e[69]!==L||e[70]!==R||e[71]!==U||e[72]!==Oe?(Ae=(0,$.jsx)(cE,{value:`currentChat`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(SE,{totalCost:I,inputTokens:L,outputTokens:R,cacheReadTokens:z,cacheWriteTokens:B,cacheReadCost:V,cacheWriteCost:H,hasConversation:Oe,isLoading:U})}),e[64]=V,e[65]=z,e[66]=H,e[67]=B,e[68]=I,e[69]=L,e[70]=R,e[71]=U,e[72]=Oe,e[73]=Ae):Ae=e[73];let je;e[74]!==ce||e[75]!==x||e[76]!==g||e[77]!==S||e[78]!==_||e[79]!==w||e[80]!==f||e[81]!==oe||e[82]!==p?(je=(0,$.jsx)(cE,{value:`last30Days`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(CE,{last30DaysLabel:oe,averagePerDayLabel:ce,last30DaysInputTokens:f,last30DaysOutputTokens:p,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,last30DaysCacheReadCost:x,last30DaysCacheWriteCost:S,last30DaysCompressionBytesSaved:w})}),e[74]=ce,e[75]=x,e[76]=g,e[77]=S,e[78]=_,e[79]=w,e[80]=f,e[81]=oe,e[82]=p,e[83]=je):je=e[83];let Me;e[84]!==De||e[85]!==Ae||e[86]!==je?(Me=(0,$.jsxs)(Fr,{className:`max-w-xl`,children:[Te,(0,$.jsxs)(aE,{defaultValue:`today`,className:`h-[400px] max-h-[90vh]`,children:[Ee,De,Ae,je]})]}),e[84]=De,e[85]=Ae,e[86]=je,e[87]=Me):Me=e[87];let Ne;e[88]!==ee||e[89]!==Me?(Ne=(0,$.jsx)(Ni,{open:ee,onOpenChange:te,children:Me}),e[88]=ee,e[89]=Me,e[90]=Ne):Ne=e[90];let Pe;return e[91]!==we||e[92]!==Ne?(Pe=(0,$.jsxs)($.Fragment,{children:[we,Ne]}),e[91]=we,e[92]=Ne,e[93]=Pe):Pe=e[93],Pe}function TE(e){return e.selectedThreadId}function EE(e){return e.completedThreadIds}function DE(){let e=(0,Q.c)(15),{resolvedTheme:t,setTheme:n}=gc(),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`,Ic),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)($t,{className:`h-4 w-4`}):(0,$.jsx)(He,{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)(Ii,{asChild:!0,children:(0,$.jsx)(No,{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)(Pr,{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 OE(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 kE(){let e=(0,Q.c)(15),t=Es(),n=xs(),r=Gn(),i=Vn(),{toast:a}=Ls(),{selectWindow:o,revealWindow:s,expandWindow:c,hasOpenWindows:l}=Ys(),{setActiveMainTab:u}=qs(),{handleSelectThread:d,refreshProjects:f}=Pw(),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=OE(n.getState().projects,e);if(p||=(await f(),OE(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(Ze);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=we();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 AE(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)(wr,{children:[(0,$.jsx)(Ra,{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)(aa,{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)(Io,{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)(aa,{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)(Io,{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)(aa,{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)(sx,{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)(K,{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)(Ba,{children:(0,$.jsx)(No,{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)(Fr,{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 jE({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),ai().then(e=>{t||r(e)}).catch(()=>{t||(r([]),Rs({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 xi(i),r(e=>e.filter(e=>e.id!==i)),a(null)}catch{Rs({title:`Unable to kill process`,description:`The process may have already exited.`,variant:`destructive`}),r(await ai().catch(()=>[])),a(null)}finally{l(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Fr,{children:[(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{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(b.bodyMuted,`flex items-center justify-center gap-2 py-10`),children:[(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}),`Loading processes...`]}):n.length===0?(0,$.jsx)(`div`,{className:G(b.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(b.label,`break-all font-mono select-text`),children:e.command}),(0,$.jsxs)(`span`,{className:G(b.caption,`break-all select-text`),children:[`PID `,e.pid,e.cwd?` · ${e.cwd}`:``]})]},e.id)})}),(0,$.jsx)(Ba,{children:(0,$.jsx)(No,{variant:`destructive`,disabled:!i||o||c,onClick:()=>void u(),children:c?`Killing...`:`Kill`})})]})})}var ME=M(`auth`);async function NE(e){await ea(`api/auth/request-code`,{email:e})}async function PE(e,t){return ea(`api/auth/verify`,{email:e,code:t})}async function FE(e){try{await ea(`api/auth/revoke`,{token:e})}catch(e){ME.error(`Failed to revoke auth token:`,e)}}async function IE(){try{return(await so(`api/auth/session`)).session??null}catch(e){return ME.error(`Failed to load auth session:`,e),null}}async function LE(e){await ea(`api/auth/session`,e)}async function RE(){await ea(`api/auth/logout`,{})}var zE=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function BE({open:e,onOpenChange:t,onVerified:n}){let[r,i]=(0,Z.useState)(`email`),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(null),[d,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1);function g(){i(`email`),c(``),u(null),p(!1),h(!1)}async function _(e){e.preventDefault();let t=a.trim().toLowerCase();if(!zE.test(t)){u(`Please enter a valid email address.`);return}u(null),p(!0);try{await NE(t),o(t),i(`code`)}catch(e){u(e instanceof Error?e.message:`Failed to send verification code.`)}finally{p(!1)}}async function v(e){if(!(e.length<6)){h(!0),u(null);try{let r=await PE(a,e);await n({token:r.token,expiresAt:r.expires_at,email:r.email,jti:r.jti}),t(!1),g()}catch(e){u(e instanceof Error?e.message:`That code didn't work. Try again.`),c(``)}finally{h(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:e=>{e||g(),t(e)},children:(0,$.jsxs)(Fr,{className:`max-w-md`,children:[(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{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 ${a}.`})]}),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)(aa,{htmlFor:`login-email`,children:`Email`}),(0,$.jsx)(Io,{id:`login-email`,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:a,onChange:e=>o(e.target.value),disabled:d})]}),l?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:l}):null,(0,$.jsx)(Ba,{children:(0,$.jsx)(No,{type:`submit`,disabled:d||!a.trim(),children:d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{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)(Vt,{maxLength:6,value:s,onChange:v,disabled:m,autoFocus:!0,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(It,{index:0}),(0,$.jsx)(It,{index:1}),(0,$.jsx)(It,{index:2}),(0,$.jsx)(It,{index:3}),(0,$.jsx)(It,{index:4}),(0,$.jsx)(It,{index:5})]})})}),l?(0,$.jsx)(`p`,{className:`text-center text-sm text-destructive`,role:`alert`,children:l}):null,(0,$.jsxs)(Ba,{className:`justify-between sm:justify-between`,children:[(0,$.jsxs)(No,{type:`button`,variant:`ghost`,onClick:()=>{i(`email`),c(``),u(null)},disabled:m,children:[(0,$.jsx)(f,{className:`h-4 w-4`}),`Back`]}),m?(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}),`Verifying...`]}):null]})]})]})})}function VE(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`,b.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 HE(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 UE(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)(VE,{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)(HE,{filled:o}),t[4]=o,t[5]=s);let c;t[6]!==r||t[7]!==n||t[8]!==i?(c=(0,$.jsx)(VE,{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 WE={session:null,isLoading:!0},GE=new Set;function KE(){for(let e of GE)e()}function qE(){return WE}function JE(e){return GE.add(e),()=>GE.delete(e)}var YE=null;function XE(){return YE||=IE().then(e=>{WE={session:e,isLoading:!1}}).catch(()=>{WE={session:null,isLoading:!1}}).finally(()=>{KE()}),YE}function ZE(){let e=(0,Q.c)(4),{session:t,isLoading:n}=(0,Z.useSyncExternalStore)(JE,qE),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0],(0,Z.useEffect)(eD,r);let i=$E,a=QE,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 QE(){let e=WE.session?.token;e&&await FE(e),await RE(),WE={session:null,isLoading:!1},KE()}async function $E(e){await LE(e),WE={session:e,isLoading:!1},KE()}function eD(){XE()}function tD(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 xr(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 nD(){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),Ia().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 rD(e,t,n){await Sr(e,t,n)}async function iD(e,t){await Bo(e,t)}function aD(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 oD(e){return e.url?e.url:`${e.command??``} ${e.args?.join(` `)??``}`.trim()||void 0}function sD(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 cD(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 lD(e){return e.length?e.slice(0,3).map(e=>e.path?`${e.path}: ${e.message}`:e.message).join(`; `):`Check the validation details.`}function uD(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function dD(e){let t=(0,Q.c)(15),{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)(Xv,{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]===Symbol.for(`react.memo_cache_sentinel`)?(s=G(b.body,`truncate`),t[4]=s):s=t[4];let c;t[5]===n.name?c=t[6]:(c=(0,$.jsx)(`div`,{className:s,children:n.name}),t[5]=n.name,t[6]=c);let l;t[7]===n.detail?l=t[8]:(l=n.detail?(0,$.jsx)(`div`,{className:G(b.compact,`truncate font-mono text-muted-foreground`),children:n.detail}):null,t[7]=n.detail,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==o||t[13]!==u?(d=(0,$.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[o,u]}),t[12]=o,t[13]=u,t[14]=d):d=t[14],d}function fD({open:e,onOpenChange:t}){let{session:n,login:r,logout:i}=ZE(),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}=tD(o?.projectPath),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)([]),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(new Set),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(``),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(`1.0.0`),[k,A]=(0,Z.useState)(1);(0,Z.useEffect)(()=>{let e=!1;return a?(_(!0),yo(a).then(t=>{e||h(aD(t))}).catch(()=>{e||h([])}).finally(()=>{e||_(!1)}),()=>{e=!0}):(h([]),_(!1),()=>{e=!0})},[a]);let j=c.map(e=>({id:`mcp:${e.name}`,name:e.name,detail:oD(e.config)})).sort((e,t)=>e.name.localeCompare(t.name)),M=[...m,...j],N=M.map(e=>e.id),P=m.filter(e=>v.has(e.id)).map(e=>e.name),F=j.filter(e=>v.has(e.id)).map(e=>e.name),I=!g&&!l&&M.length>0,L=sD(x),R=L.length>0&&!!a,z=sD(s?`${s} Plugins`:``);function B(e){return e===1?k===2:I}function V(e){A(e)}function H(){k===2?A(1):t(!1)}(0,Z.useEffect)(()=>{e&&(y(new Set(N)),A(1),S(s?`${s} Plugins`:``),E(!1),O(`1.0.0`))},[e,a,m,c]),(0,Z.useEffect)(()=>{!e||T||w(cD(P,F))},[e,P,F,T]);function U(e,t){y(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})}async function ee(){if(!(!a||!z)){p(!0);try{uD(await za(a,{skillNames:P,mcpServerNames:F,manifest:{name:z,description:cD(P,F),version:`1.0.0`}}),`${z}.zip`),Rs({title:`Downloaded ${z}.zip`,description:`The plugin package was saved to your downloads.`})}catch(e){Rs({title:`Failed to export plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function te(){if(!(!a||!R)){if(!n){d(!0);return}p(!0);try{let e=await Ha(a,{skillNames:P,mcpServerNames:F,manifest:{name:L,description:C.trim(),version:D.trim()}});e.valid?(t(!1),Rs({title:`Shared ${e.filename}`,description:`Your plugin passed validation.`})):Rs({title:`Plugin failed validation`,description:lD(e.errors),variant:`destructive`})}catch(e){Rs({title:`Failed to share plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Fr,{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)(UE,{currentStep:k,canGoToStep:B,onGoToStep:V}),(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{children:k===1?`Share`:`Share Plugin`}),(0,$.jsx)(_i,{children:k===1?`Select the project tools to include.`:`Add a name and description for your plugin.`})]})]}),k===1?(0,$.jsx)(Oa,{className:`min-h-0 flex-1`,children:g||l?(0,$.jsxs)(`div`,{className:`flex items-center justify-center px-6 py-8 text-muted-foreground`,children:[(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}),`Loading project tools...`]}):M.length===0?(0,$.jsx)(`p`,{className:G(b.bodyMuted,`px-6 py-8 text-center`),children:`No project tools configured.`}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:G(b.label,`mb-1`),children:`Skills`}),(0,$.jsx)(`div`,{className:`divide-y divide-table-border`,children:m.length>0?m.map(e=>(0,$.jsx)(dD,{item:e,checked:v.has(e.id),onCheckedChange:t=>U(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(b.bodyMuted,`py-2`),children:`No skills configured.`})})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:G(b.label,`mb-1`),children:`MCP Servers`}),(0,$.jsx)(`div`,{className:`divide-y divide-table-border`,children:j.length>0?j.map(e=>(0,$.jsx)(dD,{item:e,checked:v.has(e.id),onCheckedChange:t=>U(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(b.bodyMuted,`py-2`),children:`No MCP servers configured.`})})]})]})}):(0,$.jsx)(Oa,{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)(aa,{htmlFor:`pluginName`,children:`Plugin name`}),(0,$.jsx)(Io,{id:`pluginName`,placeholder:`my-plugin`,value:x,onChange:e=>S(e.target.value),onKeyDown:e=>e.key===`Enter`&&R&&!f&&void te(),autoFocus:!0,className:`w-full`}),(0,$.jsxs)(`p`,{className:G(b.bodyMuted,b.caption),children:[`Slug: `,L||`my-plugin`]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(aa,{htmlFor:`pluginDescription`,children:`Description`}),(0,$.jsx)(Io,{id:`pluginDescription`,placeholder:`What this plugin provides`,value:C,onChange:e=>{E(!0),w(e.target.value)},className:`w-full`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(aa,{htmlFor:`pluginVersion`,children:`Version`}),(0,$.jsx)(Io,{id:`pluginVersion`,placeholder:`1.0.0`,value:D,onChange:e=>O(e.target.value),className:`w-full`})]})]})}),k===2?(0,$.jsx)(`div`,{className:`px-6 pb-3`,children:n?(0,$.jsxs)(`p`,{className:G(b.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)(No,{type:`button`,variant:`link`,size:`sm`,onClick:()=>void i(),children:`Log out`})]}):(0,$.jsx)(`p`,{className:G(b.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)(Ba,{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)(No,{type:`button`,variant:`ghost`,onClick:H,children:k===1?`Cancel`:`Back`})}),k===1?(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(No,{type:`button`,variant:`outline`,onClick:()=>void ee(),disabled:!I||!z||f,children:`Download`}),(0,$.jsx)(No,{type:`button`,onClick:()=>A(2),disabled:!I,children:`Next >`})]}):(0,$.jsxs)(No,{type:`button`,onClick:()=>void te(),disabled:!R||f,children:[f?(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}):null,`Share`]})]})})]})}),(0,$.jsx)(BE,{open:u,onOpenChange:d,onVerified:e=>r(e)})]})}function pD(){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),Gi().then(e=>{t&&(r(t=>t||e.name),a(t=>t||e.email))}).catch(()=>{t&&Rs({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){Rs({title:`Feedback required`,description:`Please enter your feedback before submitting.`,variant:`destructive`});return}d(!0);try{await ea(`api/feedback`,{name:n.trim(),email:i.trim(),feedback:e}),Rs({title:`Feedback sent`,description:`Thanks for sharing your feedback.`}),s(``),t(!1)}catch(e){Rs({title:`Failed to send feedback`,description:e instanceof Error?e.message:`Please try again.`,variant:`destructive`})}finally{d(!1)}}}}function mD(){let e=(0,Q.c)(93),t=Gn(),n=Es(),r=jb(),{openConversation:a}=kE(),o=X(gD),s=X(hD),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],e[0]=h):h=e[0];let[_,v]=(0,Z.useState)(h),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),{showFeedback:T,feedbackName:E,setFeedbackName:D,feedbackEmail:k,setFeedbackEmail:A,feedbackText:j,setFeedbackText:M,loadingFeedbackUser:N,submittingFeedback:P,handleFeedbackDialogChange:F,handleSubmitFeedback:I}=pD(),L;if(e[1]!==s||e[2]!==o){let t;e[4]===o?t=e[5]:(t=e=>e.projectId===o,e[4]=o,e[5]=t),L=s.find(t),e[1]=s,e[2]=o,e[3]=L}else L=e[3];let R=L,z;e[6]===R?.commands?z=e[7]:(z=R?.commands??[],e[6]=R?.commands,e[7]=z);let B=z,V;if(e[8]!==x){let t=function(){x||Da(20).then(e=>{v(e.conversations??[]),S(!0)}).catch(()=>{S(!1)})};V=function(e){w(e),e&&t()},e[8]=x,e[9]=V}else V=e[9];let H=V,U=r?`ghost`:`outline`,ee=r?Ic:`border-transparent`,te;e[10]===ee?te=e[11]:(te=G(`h-8 w-8 px-0`,ee),e[10]=ee,e[11]=te);let ne;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(i,{className:`h-4 w-4`}),e[12]=ne):ne=e[12];let ie;e[13]!==U||e[14]!==te?(ie=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsx)(No,{variant:U,size:`sm`,className:te,"aria-label":`More options`,children:ne})})}),e[13]=U,e[14]=te,e[15]=ie):ie=e[15];let ae;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(Pr,{children:`More options`}),e[16]=ae):ae=e[16];let oe;e[17]===ie?oe=e[18]:(oe=(0,$.jsxs)(Mi,{children:[ie,ae]}),e[17]=ie,e[18]=oe);let se;e[19]!==H||e[20]!==x||e[21]!==C||e[22]!==t||e[23]!==a||e[24]!==_||e[25]!==o?(se=o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(il,{className:b.body,children:`Project`}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>void t(`/settings/project/${o}`),children:[(0,$.jsx)(y,{className:`h-4 w-4 shrink-0`}),`Settings`]}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>l(!0),children:[(0,$.jsx)(O,{className:`h-4 w-4 shrink-0`}),`Commands`]}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>p(!0),children:[(0,$.jsx)(re,{className:`h-4 w-4 shrink-0`}),`Share`]}),(0,$.jsxs)(Zc,{open:C,onOpenChange:H,children:[(0,$.jsxs)(Qc,{className:G(b.body,`gap-2`),children:[(0,$.jsx)(m,{className:`h-4 w-4 shrink-0`}),`History`]}),(0,$.jsx)($c,{className:`w-96 max-h-80 overflow-y-auto`,children:x?_.length===0?(0,$.jsx)(tl,{disabled:!0,className:b.bodyMuted,children:`No recent conversations`}):_.map(e=>(0,$.jsxs)(tl,{className:G(b.body,`gap-2 cursor-pointer`),onSelect:()=>a(e),children:[(0,$.jsx)(Jt,{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(b.bodyMuted,`ml-auto shrink-0 tabular-nums`),children:kt(e.lastMessageAt)})]},e.conversationId)):(0,$.jsx)(tl,{disabled:!0,className:b.bodyMuted,children:`Loading...`})})]})]}):null,e[19]=H,e[20]=x,e[21]=C,e[22]=t,e[23]=a,e[24]=_,e[25]=o,e[26]=se):se=e[26];let ce,le;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(al,{}),le=(0,$.jsx)(il,{className:b.body,children:`General`}),e[27]=ce,e[28]=le):(ce=e[27],le=e[28]);let ue;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(ue=G(b.body,`gap-2`),e[29]=ue):ue=e[29];let de;e[30]===t?de=e[31]:(de=()=>void t(`/settings/general`),e[30]=t,e[31]=de);let fe;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(y,{className:`h-4 w-4 shrink-0`}),e[32]=fe):fe=e[32];let pe;e[33]===de?pe=e[34]:(pe=(0,$.jsxs)(tl,{className:ue,onSelect:de,children:[fe,`Settings`]}),e[33]=de,e[34]=pe);let me;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(me=G(b.body,`gap-2`),e[35]=me):me=e[35];let he;e[36]===t?he=e[37]:(he=()=>void t(`/settings/providers`),e[36]=t,e[37]=he);let ge;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(Lt,{className:`h-4 w-4 shrink-0`}),e[38]=ge):ge=e[38];let _e;e[39]===he?_e=e[40]:(_e=(0,$.jsxs)(tl,{className:me,onSelect:he,children:[ge,`Providers`]}),e[39]=he,e[40]=_e);let ve;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(ve=G(b.body,`gap-2`),e[41]=ve):ve=e[41];let ye;e[42]===t?ye=e[43]:(ye=()=>void t(`/settings/account`),e[42]=t,e[43]=ye);let be;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(it,{className:`h-4 w-4 shrink-0`}),e[44]=be):be=e[44];let xe;e[45]===ye?xe=e[46]:(xe=(0,$.jsxs)(tl,{className:ve,onSelect:ye,children:[be,`Account`]}),e[45]=ye,e[46]=xe);let Se;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(Se=G(b.body,`gap-2`),e[47]=Se):Se=e[47];let Ce;e[48]===F?Ce=e[49]:(Ce=()=>F(!0),e[48]=F,e[49]=Ce);let W;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(Jt,{className:`h-4 w-4 shrink-0`}),e[50]=W):W=e[50];let we;e[51]===Ce?we=e[52]:(we=(0,$.jsxs)(tl,{className:Se,onSelect:Ce,children:[W,`Feedback`]}),e[51]=Ce,e[52]=we);let Te;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(al,{}),e[53]=Te):Te=e[53];let Ee;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>d(!0),children:[(0,$.jsx)(g,{className:`h-4 w-4 shrink-0`}),`Processes`]}),e[54]=Ee):Ee=e[54];let De;e[55]!==se||e[56]!==pe||e[57]!==_e||e[58]!==xe||e[59]!==we?(De=(0,$.jsxs)(el,{align:`end`,className:`w-52`,children:[se,ce,le,pe,_e,xe,we,Te,Ee]}),e[55]=se,e[56]=pe,e[57]=_e,e[58]=xe,e[59]=we,e[60]=De):De=e[60];let Oe;e[61]!==oe||e[62]!==De?(Oe=(0,$.jsxs)(Yc,{children:[oe,De]}),e[61]=oe,e[62]=De,e[63]=Oe):Oe=e[63];let ke;e[64]!==B||e[65]!==n||e[66]!==o||e[67]!==c?(ke=o?(0,$.jsx)(ux,{open:c,onOpenChange:l,projectId:o,commands:B,onRefresh:()=>n({type:Y.ConfigUpdated})}):null,e[64]=B,e[65]=n,e[66]=o,e[67]=c,e[68]=ke):ke=e[68];let Ae;e[69]===u?Ae=e[70]:(Ae=(0,$.jsx)(jE,{open:u,onOpenChange:d}),e[69]=u,e[70]=Ae);let je;e[71]===f?je=e[72]:(je=(0,$.jsx)(fD,{open:f,onOpenChange:p}),e[71]=f,e[72]=je);let Me;e[73]===I?Me=e[74]:(Me=()=>void I(),e[73]=I,e[74]=Me);let Ne;e[75]!==k||e[76]!==E||e[77]!==j||e[78]!==F||e[79]!==N||e[80]!==A||e[81]!==D||e[82]!==M||e[83]!==T||e[84]!==P||e[85]!==Me?(Ne=(0,$.jsx)(AE,{open:T,onOpenChange:F,feedbackName:E,onFeedbackNameChange:D,feedbackEmail:k,onFeedbackEmailChange:A,feedbackText:j,onFeedbackTextChange:M,loadingFeedbackUser:N,submittingFeedback:P,onSubmit:Me}),e[75]=k,e[76]=E,e[77]=j,e[78]=F,e[79]=N,e[80]=A,e[81]=D,e[82]=M,e[83]=T,e[84]=P,e[85]=Me,e[86]=Ne):Ne=e[86];let Pe;return e[87]!==Oe||e[88]!==ke||e[89]!==Ae||e[90]!==je||e[91]!==Ne?(Pe=(0,$.jsxs)($.Fragment,{children:[Oe,ke,Ae,je,Ne]}),e[87]=Oe,e[88]=ke,e[89]=Ae,e[90]=je,e[91]=Ne,e[92]=Pe):Pe=e[92],Pe}function hD(e){return e.projects}function gD(e){return e.selectedProjectId}function _D(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}var vD;(function(e){e.Heavy=`HEAVY`,e.Medium=`MEDIUM`,e.Light=`LIGHT`})(vD||={});var yD;(function(e){e.Success=`SUCCESS`,e.Warning=`WARNING`,e.Error=`ERROR`})(yD||={});var bD=bm(`Haptics`,{web:()=>Wo(()=>import(`./web-B_HK2K2n.js`).then(e=>new e.HapticsWeb),[])});function xD(){return typeof window<`u`&&Ir()}function SD(e=vD.Medium){xD()&&bD.impact({style:e}).catch(()=>{})}function CD(e){let t=(0,Q.c)(12),{className:n}=e,r=Gn(),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)(y,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(Pr,{children:`Settings`}),t[9]=l):l=t[9];let u;return t[10]===c?u=t[11]:(u=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[10]=c,t[11]=u),u}function wD(e){let t=(0,Q.c)(15),{className:n}=e,r=Gn(),i=X(TD),a=jb(),o=a?`ghost`:`outline`,s=a?Ic:`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)(y,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(Pr,{children:`Project Settings`}),t[12]=p):p=t[12];let m;return t[13]===f?m=t[14]:(m=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[13]=f,t[14]=m),m}function TD(e){return e.selectedProjectId}function ED(e){let t=(0,Q.c)(70),{onBackToProjects:n,onSelectProject:r}=e,i=jb(),a=X(jD),o=X(AD),s=X(kD),c=X(OD),{handleNewChat:l,isStartingNewChat:u}=tx(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=TC(),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,x,S;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=Lo(),c;if(t[22]!==n||t[23]!==r||t[24]!==s||t[25]!==h||t[26]!==o||t[27]!==i){let e=[...s].sort(DD),a;t[30]!==n||t[31]!==i?(a=!f&&n?(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon`,className:G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,i?Ic:`text-muted-foreground`),onClick:n,children:[(0,$.jsx)(pe,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Back to projects`})]})}),(0,$.jsx)(Pr,{children:`Projects`})]})}):null,t[30]=n,t[31]=i,t[32]=a):a=t[32],v=a,c=h&&r&&!(f&&i)?(0,$.jsxs)(Yc,{children:[(0,$.jsx)(Xc,{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:[i?null:(0,$.jsx)(kc,{project:h,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),(0,$.jsx)(`span`,{className:G(i?b.body:b.sectionTitle,`truncate min-w-0`,!i&&`text-foreground`),children:Ke(h)}),(0,$.jsx)(Tt,{className:G(`h-4 w-4 shrink-0`,i?`scenic-foreground-muted`:`text-muted-foreground`)}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Switch project`})]})}),(0,$.jsx)(el,{align:i?`center`:`start`,collisionPadding:12,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-64 overflow-y-auto`,children:e.map(e=>{let t=e.gitUrl?ie:V,n=e.projectId===o;return(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>r(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)(lt,{className:`ml-auto h-4 w-4 shrink-0`}):null]},e.projectId)})})]}):h?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[i?null:(0,$.jsx)(kc,{project:h,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),(0,$.jsx)(`span`,{className:G(i?b.body:b.sectionTitle,`truncate min-w-0`,!i&&`text-foreground`),children:Ke(h)})]}):null,t[22]=n,t[23]=r,t[24]=s,t[25]=h,t[26]=o,t[27]=i,t[28]=v,t[29]=c}else v=t[28],c=t[29];x=c;let d;t[33]!==x||t[34]!==i?(d=x?(0,$.jsxs)($.Fragment,{children:[i?null:(0,$.jsx)(nt,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),x]}):null,t[33]=x,t[34]=i,t[35]=d):d=t[35];let m;t[36]!==v||t[37]!==d?(m=(0,$.jsxs)($.Fragment,{children:[v,d]}),t[36]=v,t[37]=d,t[38]=m):m=t[38],y=m;let C=!!a&&(p||!!o),w;t[39]===i?w=t[40]:(w=i&&oa()?(0,$.jsx)(`div`,{className:`hidden shrink-0 md:flex`,children:(0,$.jsx)(DE,{})}):null,t[39]=i,t[40]=w);let T;t[41]!==l||t[42]!==p||t[43]!==u||t[44]!==C||t[45]!==i?(T=C?(0,$.jsxs)(_D,{className:G(`md:hidden electrobun-webkit-app-region-no-drag`,i&&`frosted-surface p-1 text-foreground backdrop-blur-sm electrobun-webkit-app-region-no-drag`),children:[p?(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:i?`ghost`:`outline`,size:`icon-sm`,disabled:u,className:G(i?Ic:`rounded-full bg-background text-foreground hover:bg-accent hover:text-accent-foreground`),onClick:()=>{SD(),l()},children:[(0,$.jsx)(Ae,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`New Chat`})]})}),(0,$.jsx)(Pr,{children:u?`Starting Chat`:`New Chat`})]})}):null,(0,$.jsx)(Zx,{inPill:i})]}):null,t[41]=l,t[42]=p,t[43]=u,t[44]=C,t[45]=i,t[46]=T):T=t[46];let E;t[47]!==h?.openWith||t[48]!==h?.runCommand||t[49]!==o||t[50]!==a||t[51]!==i?(E=o&&(0,$.jsxs)(_D,{className:G(`electrobun-webkit-app-region-no-drag`,i&&`bg-transparent scenic-foreground shadow-none backdrop-blur-none electrobun-webkit-app-region-no-drag`),children:[(0,$.jsx)(wE,{}),(0,$.jsx)(Vx,{projectId:o,runCommand:h?.runCommand}),a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(hx,{threadId:a}),(0,$.jsx)(gx,{})]}),!f&&a?(0,$.jsx)(Cx,{projectId:o,threadId:a,openWith:h?.openWith}):null,f?null:(0,$.jsx)(wD,{}),f?null:(0,$.jsx)(mD,{})]}),t[47]=h?.openWith,t[48]=h?.runCommand,t[49]=o,t[50]=a,t[51]=i,t[52]=E):E=t[52];let D;t[53]===E?D=t[54]:(D=(0,$.jsx)(`div`,{className:`hidden md:flex flex-wrap items-center justify-end gap-2`,children:E}),t[53]=E,t[54]=D);let O;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(O=f&&(0,$.jsx)(CD,{}),t[55]=O):O=t[55];let k;t[56]!==D||t[57]!==w||t[58]!==T?(k=(0,$.jsxs)($.Fragment,{children:[w,T,D,O]}),t[56]=D,t[57]=w,t[58]=T,t[59]=k):k=t[59],_=k,g=Pc,S=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]=x,t[21]=S}else g=t[16],_=t[17],v=t[18],y=t[19],x=t[20],S=t[21];let C;t[60]!==_||t[61]!==v||t[62]!==y||t[63]!==x||t[64]!==i?(C=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&&x?(0,$.jsx)(nt,{className:`h-4 w-4 shrink-0 scenic-foreground-muted`}):null,x]})}),(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[60]=_,t[61]=v,t[62]=y,t[63]=x,t[64]=i,t[65]=C):C=t[65];let w;return t[66]!==g||t[67]!==S||t[68]!==C?(w=(0,$.jsx)(g,{className:S,children:C}),t[66]=g,t[67]=S,t[68]=C,t[69]=w):w=t[69],w}function DD(e,t){return Ke(e).localeCompare(Ke(t))}function OD(e){return e.messages}function kD(e){return e.projects}function AD(e){return e.selectedProjectId}function jD(e){return e.selectedThreadId}var MD=`tarsk-browser-element-selected`;function ND(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(`
3284
- `)}function PD(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`}function FD(e){if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`tarsk-browser-element-selected`||!PD(t.payload)?null:t.payload}function ID(e){window.dispatchEvent(new CustomEvent(MD,{detail:e}))}function LD(e){return FD(e)??(PD(e)?e:null)}function RD(e,t){let n=t.trim();return n?`${e}\n\n${n}`:e}function zD(e){if(Lo()){(e?.querySelector(`electrobun-webview`))?.executeJavascript?.(`(function(){window.__tarskBrowserPreview?.setSelectMode?.(false,false);})();`);return}(e?.querySelector(`iframe`)?.contentWindow?.__tarskBrowserPreview)?.setSelectMode?.(!1,!1)}function BD(e){let t=(0,Q.c)(39),{container:n}=e,r=Es(),i=X(UD),a=X(HD),{selectedBrowserElement:o,isSelectionPromptOpen:s,setIsSelectionPromptOpen:c,setSelectedBrowserElement:l,setBrowserAgentProcessingThreadId:u}=ZC(),{paneId:d,conversationId:f}=Bg(),{handleSend:p,handleStop:m,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:g}=Ig(),{userTasks:_,setUserTasks:v,effectiveIsStreaming:y,handleRemoveUserTask:b}=tx(),[x,S]=Z.useState(0),C;t[0]===o?C=t[1]:(C=o?ND(o):``,t[0]=o,t[1]=C);let w=C,T;t[2]===s?T=t[3]:(T=()=>{s&&S(VD)},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||(zD(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,RD(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),zD(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)(Ur,{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)(mi,{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)(Ra,{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)(tt,{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)(lb,{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)(si,{open:j,onOpenChange:O,children:M}),t[35]=O,t[36]=j,t[37]=M,t[38]=N):N=t[38],N}function VD(e){return e+1}function HD(e){return e.selectedProjectId}function UD(e){return e.selectedThreadId}function WD(){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 GD=(0,Z.lazy)(()=>Wo(()=>import(`./settings-view-CAvpL6Tc.js`),__vite__mapDeps([30,1,4,5,6,7,31,9,19]))),KD=`animate-in fade-in duration-200`,qD=`animate-out fade-out duration-200 fill-mode-forwards pointer-events-none`;function JD(){let e=(0,Q.c)(22);Yr(!0);let t=Gn(),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?qD:KD,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)(WD,{}),children:(0,$.jsx)(GD,{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 YD(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}=Ys(),f=jb(),p=!r,m=p&&!f,[h,g]=(0,Z.useState)(null),_=X(XD),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)(ED,{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)(GT,{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)(Un,{path:`/settings/providers/:providerSlug`,element:(0,$.jsx)(JD,{})}),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Un,{path:`/settings/project/:projectId/tools`,element:(0,$.jsx)(JD,{})}),t[20]=D):D=t[20];let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Un,{path:`/settings/project/:projectId/model-aliases`,element:(0,$.jsx)(JD,{})}),t[21]=O):O=t[21];let k;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(Un,{path:`/settings/project/:projectId/env-vars`,element:(0,$.jsx)(JD,{})}),t[22]=k):k=t[22];let A;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(Un,{path:`/settings/project/:projectId`,element:(0,$.jsx)(JD,{})}),t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(xn,{children:[E,D,O,k,A,(0,$.jsx)(Un,{path:`/settings/:tab?`,element:(0,$.jsx)(JD,{})})]}),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)(BD,{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 XD(e){return e.projects}function ZD(e){let t=(0,Q.c)(21),{open:n,projectName:r,onOpenChange:i,onConfirm:a,blocked:o,blockReason:s}=e,c=o===void 0?!1:o,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Bs,{children:`Delete Project`}),t[0]=l):l=t[0];let u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(b.body,`font-semibold text-foreground`),t[1]=u):u=t[1];let d;t[2]===r?d=t[3]:(d=(0,$.jsxs)(zs,{children:[`Are you sure you want to delete`,` `,(0,$.jsxs)(`span`,{className:u,children:[`"`,r,`"`]}),`? This will remove the project and all its data. This action cannot be undone.`]}),t[2]=r,t[3]=d);let f;t[4]!==s||t[5]!==c?(f=c&&s&&(0,$.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:s}),t[4]=s,t[5]=c,t[6]=f):f=t[6];let p;t[7]!==d||t[8]!==f?(p=(0,$.jsxs)(Gs,{children:[l,d,f]}),t[7]=d,t[8]=f,t[9]=p):p=t[9];let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Ws,{children:`Cancel`}),t[10]=m):m=t[10];let h;t[11]!==c||t[12]!==a?(h=(0,$.jsxs)(Us,{children:[m,(0,$.jsx)(Hs,{onClick:a,disabled:c,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),t[11]=c,t[12]=a,t[13]=h):h=t[13];let g;t[14]!==p||t[15]!==h?(g=(0,$.jsxs)(Vs,{children:[p,h]}),t[14]=p,t[15]=h,t[16]=g):g=t[16];let _;return t[17]!==i||t[18]!==n||t[19]!==g?(_=(0,$.jsx)(Ks,{open:n,onOpenChange:i,children:g}),t[17]=i,t[18]=n,t[19]=g,t[20]=_):_=t[20],_}function QD(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)(Bs,{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)(Gs,{children:[o,(0,$.jsxs)(zs,{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($D),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)(Ws,{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)(Hs,{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)(Us,{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)(Vs,{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)(Ks,{open:n,onOpenChange:a,children:h}),t[24]=n,t[25]=a,t[26]=h,t[27]=g):g=t[27],g}function $D(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:b.label,children:r||`root`}),(0,$.jsx)(`div`,{className:b.bodyMuted,children:i})]})]})},t)}var eO;(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`})(eO||={});var tO=new Map([[eO.QR_CODE,`QR_CODE`],[eO.AZTEC,`AZTEC`],[eO.CODABAR,`CODABAR`],[eO.CODE_39,`CODE_39`],[eO.CODE_93,`CODE_93`],[eO.CODE_128,`CODE_128`],[eO.DATA_MATRIX,`DATA_MATRIX`],[eO.MAXICODE,`MAXICODE`],[eO.ITF,`ITF`],[eO.EAN_13,`EAN_13`],[eO.EAN_8,`EAN_8`],[eO.PDF_417,`PDF_417`],[eO.RSS_14,`RSS_14`],[eO.RSS_EXPANDED,`RSS_EXPANDED`],[eO.UPC_A,`UPC_A`],[eO.UPC_E,`UPC_E`],[eO.UPC_EAN_EXTENSION,`UPC_EAN_EXTENSION`]]),nO;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.URL=1]=`URL`})(nO||={});function rO(e){return Object.values(eO).includes(e)}var iO;(function(e){e[e.SCAN_TYPE_CAMERA=0]=`SCAN_TYPE_CAMERA`,e[e.SCAN_TYPE_FILE=1]=`SCAN_TYPE_FILE`})(iO||={});var aO=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=[iO.SCAN_TYPE_CAMERA,iO.SCAN_TYPE_FILE],e}(),oO=function(){function e(e,t){this.format=e,this.formatName=t}return e.prototype.toString=function(){return this.formatName},e.create=function(t){if(!tO.has(t))throw`${t} not in html5QrcodeSupportedFormatsTextMap`;return new e(t,tO.get(t))},e}(),sO=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}(),cO;(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`})(cO||={});var lO=function(){function e(){}return e.createFrom=function(e){return{errorMessage:e,type:cO.UNKWOWN_ERROR}},e}(),uO=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 dO(e){return e==null}function fO(e,t,n){return e>n?n:e<t?t:e}var pO=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}(),mO=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}(),hO=function(){function e(){}return e.poweredBy=function(){return`Powered by `},e.reportIssues=function(){return`Report issues`},e}(),gO=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}(),_O=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)===`
3282
+ `}),c||=w(n,e,r)},onExitCode:e=>{s=e}}),i);let u=v.current;if(u!=null&&!m.current){if(await c??!1)return`retry`;let e=Px(u.port);return Ox(t,r,`${y(r)}${e}\n`.trimStart(),!0),m.current=!0,x(e,!1),l(null),`failed`}return m.current||C(r,s),m.current&&s===0?`success`:`failed`}catch(e){return i.aborted&&m.current?`failed`:(Mx.error(`Failed to start dev server:`,e),m.current||=(Ox(t,r,`${y(r)}Failed to start dev server.\n`.trimStart(),!0),!0),x(`Failed to start dev server.`),l(null),`failed`)}finally{clearTimeout(u)}}let O=async n=>{if(!n?.runCommand||!n?.projectId||!e)return;d.current=!1,p.current?.abort(),p.current=new AbortController;try{(await gi(n.projectId)).isRunning&&await Co(n.projectId)}catch{}l(n.projectId),a(`starting`),s(null),c(!0);let r=wx(),i={threadId:e,toolCallId:r,messageId:`msg-dev-server-${r}`,command:n.runCommand};Ex(t,i);let o=0;for(;o<2;){o+=1;let e=new AbortController;if(p.current=e,await D(n,i,e.signal)!==`retry`)break}};async function k(e){d.current=!0,a(`stopping`);try{await Co(e);let t=Date.now();for(;Date.now()-t<vt&&(await gi(e)).isRunning;)await Nx(200);i(null),u(!0),a(`idle`),s(null),c(!1),l(null)}catch(e){Rs({title:`Error`,description:e instanceof Error?e.message:`Failed to stop dev server`,variant:`destructive`}),a(`running`)}}function A(){a(`idle`),s(null),c(!1),l(null)}return{startServer:O,stopServer:k,dismissFailed:A,setServerUrl:i}}var Ix=3e4,Lx=2e3,Rx=5e3;function zx(e,t,n){return!e||t!==e?!1:n!==`idle`}function Bx(e){let{devServerState:t,setDevServerState:n,devServerProjectId:r,setDevServerProjectId:i,setDevServerProcessAlive:a,setDevServerFailureReason:o}=ix(),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 gi(e),n=zx(e,f.current,d.current);if(!t.isRunning&&n&&d.current===`starting`||!t.isRunning&&d.current===`failed`)return;p(t.isRunning)}catch{zx(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>Ix){clearInterval(r);return}gi(e).then(e=>{e.isRunning&&(p(!0),clearInterval(r))}).catch(()=>{})},Lx);return()=>clearInterval(r)},[e,t,p]),(0,Z.useEffect)(()=>{if(!e||!s)return;let t=setInterval(()=>{gi(e).then(e=>{e.isRunning||p(!1)}).catch(()=>{})},Rx);return()=>clearInterval(t)},[e,s,p]),{isRunning:s,isLoading:c,isFailed:l,recheck:(0,Z.useCallback)(async()=>{if(e)try{p((await gi(e)).isRunning)}catch{p(!1)}},[e,p])}}function Vx(e){let t=(0,Q.c)(97),{projectId:n,runCommand:r,large:i,layout:a}=e,o=a===void 0?`bar`:a,s=X(Hx),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}=ix(),{startServer:m,stopServer:g,dismissFailed:_}=Fx();Bx(n);let v=jb(),y=u===`starting`,x=u===`stopping`,S=u===`running`,C=u===`failed`,w=y||x,T;t[5]!==n||t[6]!==r||t[7]!==l?.useBuiltInBrowser||t[8]!==m?(T=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]=T):T=t[9];let E=T,D;t[10]!==f||t[11]!==_||t[12]!==C||t[13]!==n||t[14]!==p||t[15]!==g?(D=async function(){if(C&&!f){_();return}p(n);try{await g(n)}catch(e){let t=e;Rs({title:`Error`,description:t instanceof Error?t.message:`Failed to stop dev server`,variant:`destructive`})}},t[10]=f,t[11]=_,t[12]=C,t[13]=n,t[14]=p,t[15]=g,t[16]=D):D=t[16];let O=D,k;t[17]!==E||t[18]!==O||t[19]!==C||t[20]!==S||t[21]!==y?(k=function(){if(C){E();return}if(S||y){O();return}E()},t[17]=E,t[18]=O,t[19]=C,t[20]=S,t[21]=y,t[22]=k):k=t[22];let A=k,j;t[23]===r?j=t[24]:(j=r?.trim(),t[23]=r,t[24]=j);let M=!!j,N=x?`Stopping...`:y?`Starting...`:C?`Retry dev server`:S?`Stop dev server`:`Start dev server`;if(v&&!M&&!S&&!w&&!C)return null;let P,F,I,L,R,z,B,V,H,U,ee;if(t[25]!==M||t[26]!==d||t[27]!==A||t[28]!==C||t[29]!==w||t[30]!==S||t[31]!==N||t[32]!==i||t[33]!==o||t[34]!==r||t[35]!==v){B=Symbol.for(`react.early_return_sentinel`);bb0:{let e=G(S&&`text-orange-500 bg-orange-500/10`,C&&`text-destructive bg-destructive/10`,!S&&!C&&(v?`scenic-chrome-button hover:!bg-[hsl(var(--scenic-foreground))] hover:!text-[hsl(var(--scenic-foreground-inverse))]`:`text-muted-foreground`),S&&`before:absolute before:inset-[-1px] before:rounded-full before:border before:border-orange-500/60 before:animate-ping-subtle before:content-['']`),n;if(t[47]!==C||t[48]!==w||t[49]!==S?(n=w?(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}):C?(0,$.jsx)(Kt,{className:`h-4 w-4`}):S?(0,$.jsx)(h,{className:`h-4 w-4 fill-current`}):(0,$.jsx)(De,{className:`h-4 w-4`}),t[47]=C,t[48]=w,t[49]=S,t[50]=n):n=t[50],R=n,ee=C?d??`Dev server failed to start`:S?`Stop dev server`:M?`Start dev server: ${r}`:`Set run command in project settings`,i){let e=w||!S&&!C&&!M,n=`flex flex-col items-center gap-3 group disabled:opacity-40 disabled:cursor-not-allowed ${S?`text-orange-500`:C?`text-destructive`:`text-muted-foreground`}`,r;t[51]!==C||t[52]!==w||t[53]!==S?(r=w?(0,$.jsx)(K,{className:`h-10 w-10 animate-spin`}):C?(0,$.jsx)(Kt,{className:`h-10 w-10`}):S?(0,$.jsx)(h,{className:`h-10 w-10 fill-current`}):(0,$.jsx)(De,{className:`h-10 w-10 fill-current group-hover:text-foreground transition-colors`}),t[51]=C,t[52]=w,t[53]=S,t[54]=r):r=t[54];let i;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(i=G(b.body,`group-hover:text-foreground transition-colors`),t[55]=i):i=t[55];let a;t[56]===N?a=t[57]:(a=(0,$.jsx)(`span`,{className:i,children:N}),t[56]=N,t[57]=a);let o;t[58]!==A||t[59]!==e||t[60]!==n||t[61]!==r||t[62]!==a?(o=(0,$.jsxs)(`button`,{onClick:A,disabled:e,className:n,children:[r,a]}),t[58]=A,t[59]=e,t[60]=n,t[61]=r,t[62]=a,t[63]=o):o=t[63],B=o;break bb0}if(o===`menu`){let e=S&&`text-orange-500`,n=C&&`text-destructive`,r;t[64]!==e||t[65]!==n?(r=G(`w-full justify-start gap-2`,e,n),t[64]=e,t[65]=n,t[66]=r):r=t[66];let i=w||!S&&!C&&!M,a;t[67]!==A||t[68]!==R||t[69]!==N||t[70]!==r||t[71]!==i?(a=(0,$.jsxs)(No,{variant:`ghost`,size:`sm`,className:r,onClick:A,disabled:i,children:[R,N]}),t[67]=A,t[68]=R,t[69]=N,t[70]=r,t[71]=i,t[72]=a):a=t[72],B=a;break bb0}L=Fo,I=Mi,F=Ii,z=!0,P=No,V=`ghost`,H=`icon`,U=G(`relative h-8 w-8`,e)}t[25]=M,t[26]=d,t[27]=A,t[28]=C,t[29]=w,t[30]=S,t[31]=N,t[32]=i,t[33]=o,t[34]=r,t[35]=v,t[36]=P,t[37]=F,t[38]=I,t[39]=L,t[40]=R,t[41]=z,t[42]=B,t[43]=V,t[44]=H,t[45]=U,t[46]=ee}else P=t[36],F=t[37],I=t[38],L=t[39],R=t[40],z=t[41],B=t[42],V=t[43],H=t[44],U=t[45],ee=t[46];if(B!==Symbol.for(`react.early_return_sentinel`))return B;let te=w||!S&&!C&&!M,ne;t[73]===N?ne=t[74]:(ne=(0,$.jsx)(`span`,{className:`sr-only`,children:N}),t[73]=N,t[74]=ne);let re;t[75]!==P||t[76]!==A||t[77]!==R||t[78]!==te||t[79]!==ne||t[80]!==V||t[81]!==H||t[82]!==U?(re=(0,$.jsxs)(P,{variant:V,size:H,className:U,onClick:A,disabled:te,children:[R,ne]}),t[75]=P,t[76]=A,t[77]=R,t[78]=te,t[79]=ne,t[80]=V,t[81]=H,t[82]=U,t[83]=re):re=t[83];let ie;t[84]!==F||t[85]!==z||t[86]!==re?(ie=(0,$.jsx)(F,{asChild:z,children:re}),t[84]=F,t[85]=z,t[86]=re,t[87]=ie):ie=t[87];let ae;t[88]===ee?ae=t[89]:(ae=(0,$.jsx)(Pr,{children:ee}),t[88]=ee,t[89]=ae);let oe;t[90]!==I||t[91]!==ie||t[92]!==ae?(oe=(0,$.jsxs)(I,{children:[ie,ae]}),t[90]=I,t[91]=ie,t[92]=ae,t[93]=oe):oe=t[93];let se;return t[94]!==L||t[95]!==oe?(se=(0,$.jsx)(L,{children:oe}),t[94]=L,t[95]=oe,t[96]=se):se=t[96],se}function Hx(e){return e.projects}var Ux=(0,Z.lazy)(()=>Wo(()=>import(`./git-ops-button-DO1ng45p.js`).then(e=>({default:e.GitOpsButton})),__vite__mapDeps([3,1,4,5,6,7,8,9])));function Wx(e){return e===`menu`?`w-full justify-start gap-2`:`gap-2`}function Gx(e){let t=(0,Q.c)(4),{threadId:n,projectId:r,messages:i,userTasks:a}=e,{hasChanges:o}=Wu(),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 Kx(e){let t=(0,Q.c)(8),{hasMessages:n,onNewChat:r}=e,{isStartingNewChat:i}=tx();if(!n)return null;let a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:`outline`,size:`sm`,disabled:i,onClick:r,children:`New Chat`})}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o=i?`Starting Chat`:`New Chat`,s;t[3]===o?s=t[4]:(s=(0,$.jsx)(Pr,{children:o}),t[3]=o,t[4]=s);let c;return t[5]!==a||t[6]!==s?(c=(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)(Fo,{children:(0,$.jsxs)(Mi,{children:[a,s]})})}),t[5]=a,t[6]=s,t[7]=c):c=t[7],c}function qx(e){let t=(0,Q.c)(63),{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}=$u(),{isStartingNewChat:h}=tx(),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}=Gx(g),{changedFilesCount:b}=Wu(),x;t[5]===p?x=t[6]:(x=Wx(p),t[5]=p,t[6]=x);let S=x,C=X(Jx),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||!!(n&&r),O=p===`menu`;if(!y)return null;let k=p===`bar`&&`absolute -top-12 left-0 z-10 ml-8 flex flex-wrap items-center gap-2`,A=p===`menu`&&`flex flex-col items-stretch gap-1 p-1 min-w-[220px]`,j;t[12]!==k||t[13]!==A?(j=G(k,A),t[12]=k,t[13]=A,t[14]=j):j=t[14];let M=p===`bar`?!0:void 0,N;t[15]!==_||t[16]!==h||t[17]!==p||t[18]!==c||t[19]!==S?(N=_&&(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:p===`menu`?`ghost`:`outline`,size:`sm`,className:S,disabled:h,onClick:c,children:`New Chat`})}),(0,$.jsx)(Pr,{children:h?`Starting Chat`:`New Chat`})]})}),t[15]=_,t[16]=h,t[17]=p,t[18]=c,t[19]=S,t[20]=N):N=t[20];let P;t[21]!==b||t[22]!==v||t[23]!==p||t[24]!==m||t[25]!==S?(P=v&&p===`menu`&&(0,$.jsxs)(No,{variant:`ghost`,size:`sm`,className:S,onClick:()=>{m(`review`)},children:[b,` `,b===1?`Change`:`Changes`]}),t[21]=b,t[22]=v,t[23]=p,t[24]=m,t[25]=S,t[26]=P):P=t[26];let F;t[27]!==o||t[28]!==s||t[29]!==p||t[30]!==d||t[31]!==l||t[32]!==u||t[33]!==n||t[34]!==a?(F=a.length>0&&(0,$.jsx)(Yb,{tasks:a,disabled:o||!n&&!s,onSelectTask:l,onTogglePinned:u,onRemoveTask:d,layout:p}),t[27]=o,t[28]=s,t[29]=p,t[30]=d,t[31]=l,t[32]=u,t[33]=n,t[34]=a,t[35]=F):F=t[35];let I;t[36]!==p||t[37]!==r||t[38]!==O||t[39]!==n?(I=n&&r&&O&&(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Ux,{projectId:r,threadId:n,layout:p},n)}),t[36]=p,t[37]=r,t[38]=O,t[39]=n,t[40]=I):I=t[40];let L;t[41]!==_||t[42]!==p?(L=_&&(0,$.jsx)(qb,{layout:p}),t[41]=_,t[42]=p,t[43]=L):L=t[43];let R;t[44]!==D||t[45]!==E?(R=E&&D&&(0,$.jsx)(al,{className:`my-1`}),t[44]=D,t[45]=E,t[46]=R):R=t[46];let z;t[47]!==r||t[48]!==T?.openWith||t[49]!==T?.runCommand||t[50]!==E||t[51]!==n?(z=E&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Vx,{projectId:r,runCommand:T?.runCommand,layout:`menu`}),(0,$.jsx)(hx,{threadId:n,layout:`menu`}),(0,$.jsx)(gx,{layout:`menu`}),(0,$.jsx)(Cx,{projectId:r,threadId:n,openWith:T?.openWith,layout:`menu`})]}),t[47]=r,t[48]=T?.openWith,t[49]=T?.runCommand,t[50]=E,t[51]=n,t[52]=z):z=t[52];let B;return t[53]!==P||t[54]!==F||t[55]!==I||t[56]!==L||t[57]!==R||t[58]!==z||t[59]!==j||t[60]!==M||t[61]!==N?(B=(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{className:j,"data-chat-toolbar":M,children:[N,P,F,I,L,R,z]})}),t[53]=P,t[54]=F,t[55]=I,t[56]=L,t[57]=R,t[58]=z,t[59]=j,t[60]=M,t[61]=N,t[62]=B):B=t[62],B}function Jx(e){return e.projects}function Yx(e){let t=(0,Q.c)(10),{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}=Gx(o);if(a===`newChatOnly`){let e;return t[5]!==s||t[6]!==i?(e=(0,$.jsx)(Kx,{hasMessages:s,onNewChat:i}),t[5]=s,t[6]=i,t[7]=e):e=t[7],e}let c;return t[8]===e?c=t[9]:(c=(0,$.jsx)(qx,{...e}),t[8]=e,t[9]=c),c}function Xx(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(Yx,{...e}),t[0]=e,t[1]=n),n}function Zx(e){let t=(0,Q.c)(29),{inPill:n}=e,r=n===void 0?!1:n,i=jb(),a=X(eS),o=X($x),s=X(Qx),{userTasks:c,handleNewChat:l,handleSelectUserTask:u,handleRemoveUserTask:d,toggleUserTaskPinned:f,effectiveIsStreaming:p,isCreatingProject:m}=tx(),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}=Gx(h);if(!a||!g)return null;let _=r||!i?`text-muted-foreground`:Ic,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)(Qe,{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)(Xc,{asChild:!0,children:(0,$.jsxs)(No,{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)(el,{align:`end`,className:`electrobun-webkit-app-region-no-drag`,children:(0,$.jsx)(qx,{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)(Yc,{children:[x,T]}),t[26]=T,t[27]=x,t[28]=E):E=t[28],E}function Qx(e){return e.messages}function $x(e){return e.selectedProjectId}function eS(e){return e.selectedThreadId}function tS(e){let t=(0,Q.c)(3),{threadId:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,$.jsx)(Uu,{threadId:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function nS(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 rS=1500;function iS(e){let t=[];for(let n of e){let e=Go(n.content);e&&t.push(...e)}return t}function aS(e,t){let n=[];for(let[r,i]of Object.entries(e))!i||i.length===0||Xh(r)===t&&n.push(...Of(i));return n}function oS(e){let t=new Set;for(let n of e)Jo(n)&&t.add(n.toolCallId);let n=null;for(let r of e){if(!as(r)||r.name!==`ask_user`||t.has(r.id))continue;let e=Jg(r.input);e.questions.length!==0&&(n=nS(r.id,e.questions))}return n}function sS(e){return e.isThreadActive?oS([...e.messageBlocks,...Ts(e.streamingSegments),...aS(e.subagentTranscripts,e.paneId)]):null}function cS(e,t,n,r){if(t){let n=e.find(e=>e.toolCallId===t);if(n)return nS(n.toolCallId,n.questions)}if(!n)return null;let i=e.find(e=>ng(e.toolCallId)===r&&tg(e.toolCallId)===n);return i?nS(i.toolCallId,i.questions):null}function lS(e){let t=(0,Q.c)(24),{paneId:n}=Bg(),r=X(dS),i;t[0]!==n||t[1]!==r?(i=e=>ds(e.threadStreamingStates,r,n).streamingSegments,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=X(i),o=X(uS),s;t[3]!==n||t[4]!==r?(s=e=>us(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=iS(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=sS({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 Wr();if(e)return;if(t.length===0){_.current&&=(g(_.current),null),m(null);return}let i=cS(t,v,r,n);if(!i){_.current=null,m(null);return}_.current=i.toolCallId,m(nS(i.toolCallId,i.questions))}catch{}};t();let i=setInterval(()=>{t()},rS);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 uS(e){return e.subagentTranscripts}function dS(e){return e.selectedThreadId}function fS(e){let t=(0,Q.c)(10),{open:n,onClose:r}=e,i=Gn(),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)(Gs,{children:[(0,$.jsx)(Bs,{children:`Balance empty`}),(0,$.jsx)(zs,{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)(Vs,{children:[o,(0,$.jsx)(Us,{children:(0,$.jsx)(No,{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)(Ks,{open:n,onOpenChange:a,children:s}),t[6]=n,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function pS(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)(mS,{messages:i}),t[2]=i,t[3]=a),a}function mS(e){let t=(0,Q.c)(66),{messages:n}=e,{paneId:r,conversationId:i,fillPane:a}=Bg(),o=bb(),s=xb(),c=o?.placement===`footer`&&!o.embedded,l=o?.embedded??!1,u=!(c&&s!==`centered`),d=X(yS),f=X(vS),p=X(_S),m=X(gS),[h,g]=Z.useState(!1),{handleSend:_,handleStop:v,getQueuedMessagesForPane:y,handleRemoveQueuedMessage:b,showEmptyBalanceDialog:x,setShowEmptyBalanceDialog:S}=Ig(),{userTasks:C,setUserTasks:w,handleNewChat:T,handleSelectUserTask:E,handleRemoveUserTask:D,toggleUserTaskPinned:O,effectiveIsStreaming:k}=tx(),[A,j]=(0,Z.useState)(hS),M=lS(n),N;t[0]!==A||t[1]!==M?(N=M&&!A.has(M.toolCallId)?M:null,t[0]=A,t[1]=M,t[2]=N):N=t[2];let P=N,F;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(F=e=>{j(t=>{let n=new Set(t);return n.add(e),n})},t[3]=F):F=t[3];let I=F,L;t[4]!==i||t[5]!==_||t[6]!==r?(L=(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]=L):L=t[7];let R=L,z;t[8]!==v||t[9]!==r?(z=()=>{v(r)},t[8]=v,t[9]=r,t[10]=z):z=t[10];let B=z,V;t[11]!==P||t[12]!==B?(V=()=>{B(),P&&I(P.toolCallId)},t[11]=P,t[12]=B,t[13]=V):V=t[13];let H=V,U;t[14]!==b||t[15]!==r?(U=e=>{b(r,e)},t[14]=b,t[15]=r,t[16]=U):U=t[16];let ee=U,te=r===`primary`&&f&&(p||n.length>0||C.length>0),ne=r!==`primary`&&f&&n.length>0,re;t[17]===S?re=t[18]:(re=()=>S(!1),t[17]=S,t[18]=re);let ie;t[19]!==x||t[20]!==re?(ie=(0,$.jsx)(fS,{open:x,onClose:re}),t[19]=x,t[20]=re,t[21]=ie):ie=t[21];let ae;t[22]===a?ae=t[23]:(ae=M_(a),t[22]=a,t[23]=ae);let oe;t[24]!==k||t[25]!==T||t[26]!==D||t[27]!==E||t[28]!==d||t[29]!==n||t[30]!==r||t[31]!==p||t[32]!==f||t[33]!==ne||t[34]!==te||t[35]!==O||t[36]!==C?(oe=(te||ne)&&(0,$.jsx)(`div`,{className:`max-md:hidden`,children:(0,$.jsx)(Xx,{threadId:f,projectId:p??``,messages:n,userTasks:r===`primary`?C:[],effectiveIsStreaming:k,isCreatingProject:d,mode:r===`primary`?`full`:`newChatOnly`,onNewChat:()=>{T()},onSelectUserTask:E,onToggleUserTaskPinned:O,onRemoveUserTask:e=>{D(e)}})}),t[24]=k,t[25]=T,t[26]=D,t[27]=E,t[28]=d,t[29]=n,t[30]=r,t[31]=p,t[32]=f,t[33]=ne,t[34]=te,t[35]=O,t[36]=C,t[37]=oe):oe=t[37];let se;t[38]!==P||t[39]!==c||t[40]!==k||t[41]!==u||t[42]!==l||t[43]!==y||t[44]!==H||t[45]!==D||t[46]!==m||t[47]!==d||t[48]!==ee||t[49]!==R||t[50]!==B||t[51]!==r||t[52]!==h||t[53]!==f||t[54]!==w||t[55]!==C?(se=P?(0,$.jsx)(Ob,{toolCallId:P.toolCallId,questions:P.questions,onAnswered:I,onStop:H,elevated:u}):(0,$.jsx)(lb,{planMode:h,setPlanMode:g,onSend:R,onStop:B,isStreaming:k,disabled:!f&&!d||m,initialValue:``,queuedMessages:y(r),onRemoveQueuedMessage:ee,isOverlay:!1,centered:c,embedded:l,elevated:u,userTasks:C,onMatchedUserTaskSend:e=>{e.pinned||D(e.id)},onUserTaskCreated:e=>{w(t=>[...t,e])}}),t[38]=P,t[39]=c,t[40]=k,t[41]=u,t[42]=l,t[43]=y,t[44]=H,t[45]=D,t[46]=m,t[47]=d,t[48]=ee,t[49]=R,t[50]=B,t[51]=r,t[52]=h,t[53]=f,t[54]=w,t[55]=C,t[56]=se):se=t[56];let ce;t[57]!==oe||t[58]!==se?(ce=(0,$.jsxs)(`div`,{className:`relative`,children:[oe,se]}),t[57]=oe,t[58]=se,t[59]=ce):ce=t[59];let le;t[60]!==ce||t[61]!==ae?(le=(0,$.jsx)(`div`,{className:ae,children:ce}),t[60]=ce,t[61]=ae,t[62]=le):le=t[62];let ue;return t[63]!==le||t[64]!==ie?(ue=(0,$.jsxs)($.Fragment,{children:[ie,le]}),t[63]=le,t[64]=ie,t[65]=ue):ue=t[65],ue}function hS(){return new Set}function gS(e){return e.selectedThreadId?e.threadToolSessions[e.selectedThreadId]?.kind===`create-project`:!1}function _S(e){return e.selectedProjectId}function vS(e){return e.selectedThreadId}function yS(e){return e.isCreatingProject}function bS(e){let t=e?.querySelector(O_);return t?t.getBoundingClientRect().top:null}function xS(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=bS(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 SS(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=bS(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:E_});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 CS;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(CS||={});var wS;(function(e){e.Body=`body`,e.Ionic=`ionic`,e.Native=`native`,e.None=`none`})(wS||={});var TS=bm(`Keyboard`);function ES(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 DS(e,t){return zr()?t:e>0?e:t}function OS(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(ES(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 Ir()&&a.push(TS.addListener(`keyboardWillShow`,e=>{o(e.keyboardHeight)}),TS.addListener(`keyboardDidShow`,e=>{o(e.keyboardHeight)}),TS.addListener(`keyboardWillHide`,()=>{o(0)}),TS.addListener(`keyboardDidHide`,()=>{o(0)})),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n);for(let e of a)e.then(kS)}},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=DS(r,a),n[3]=r,n[4]=a,n[5]=u):u=n[5],u}function kS(e){e.remove()}function AS(e){let t=(0,Q.c)(53),{paneId:n,inline:r}=e,i=r===void 0?!1:r,a=X(MS),o=X(jS),s=n??o,c;t[0]===s?c=t[1]:(c=e=>$o(e,s),t[0]=s,t[1]=c);let l=X(c),u;t[2]===s?u=t[3]:(u=e=>ns(e,s),t[2]=s,t[3]=u);let d=X(u),f=bb(),p=xb(),m=Sb()?D_: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=OS(C);if(xS(x,S,i&&p===`centered`),SS(x,S,!i&&p===`moving-to-footer`),!a||!b)return null;let T;t[6]===d?T=t[7]:(T=(0,$.jsx)(ex,{children:(0,$.jsx)(pS,{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)(Rg,{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=j_(!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 jS(e){return e.focusedPane}function MS(e){return e.selectedThreadId}function NS(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 PS(e){let t=(0,Q.c)(47),{project:n}=e,r=jb(),{isRunning:i}=Bx(n?.projectId),{startServer:a}=Fx(),o=bb(),s=o!=null&&!o.embedded;n?.name;let c=n?.name??`your project`,l;t[0]===c?l=t[1]:(l=NS(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)(kc,{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(b.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(b.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(b.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)(AS,{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(b.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(b.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 x;t[35]!==_||t[36]!==y?(x=(0,$.jsxs)(`div`,{className:`text-center`,children:[_,y]}),t[35]=_,t[36]=y,t[37]=x):x=t[37];let S;t[38]!==p||t[39]!==d?(S=d&&(0,$.jsx)(`button`,{type:`button`,onClick:p,className:G(b.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]=S):S=t[40];let C;t[41]===s?C=t[42]:(C=s?(0,$.jsx)(AS,{inline:!0}):null,t[41]=s,t[42]=C);let w;return t[43]!==x||t[44]!==S||t[45]!==C?(w=(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,x,S,C]})}),t[43]=x,t[44]=S,t[45]=C,t[46]=w):w=t[46],w}function FS({virtuosoRef:e,selectedThreadId:t,messagesLoaded:n,messageCount:r,isStreaming:i,hasPendingMessage:a,streamingSegmentCount:o}){let s=(0,Z.useRef)(0),c=(0,Z.useRef)(!1),l=(0,Z.useRef)(!1),u=(0,Z.useRef)(!1),d=(0,Z.useRef)(0),f=(0,Z.useRef)(null),p=(0,Z.useCallback)(()=>{t&&e.current?.getState(e=>{Ea(t,e.scrollTop)})},[t,e]),m=(0,Z.useRef)(p);m.current=p;function h(){u.current&&m.current()}(0,Z.useEffect)(()=>{function e(){h()}return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[t]),(0,Z.useEffect)(()=>{let e=setInterval(()=>{h()},5e3);return()=>clearInterval(e)},[t]),(0,Z.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),(0,Z.useEffect)(()=>{l.current=!1,u.current=!1,s.current=0},[t]),(0,Z.useEffect)(()=>{if(!t||!n||r===0||l.current)return;l.current=!0,s.current=r;let i=Wi(t);if(i!==null&&i>0){requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.current?.scrollTo({top:i,behavior:`auto`}),u.current=!0})});return}u.current=!0},[t,n,r,e]),(0,Z.useEffect)(()=>{if(!l.current)return;let t=r>s.current,n=c.current&&!i;if(i||a||t||n){d.current&&cancelAnimationFrame(d.current);let t=n?`smooth`:`auto`;d.current=requestAnimationFrame(()=>{e.current?.scrollTo({top:2**53-1,behavior:t}),d.current=0})}return s.current=r,c.current=i,()=>{d.current&&=(cancelAnimationFrame(d.current),0)}},[i,a,r,o,e]);function g(){f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{h(),f.current=null},150)}function _(e){e||h()}return{onRangeChanged:g,onScrollingStateChange:_}}function IS(e){return e.isCreatingProject||e.streamingSegmentCount>0?!0:e.lastMessageSender===`user`}function LS(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 RS(e){return{bottomInset:e.bottomInset,columnClassName:e.columnClassName,isStreaming:e.isStreaming,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread,hasPendingMessage:e.hasPendingMessage,isAutoRouting:e.isAutoRouting,hasActiveBlockingPrompt:Ns(e.streamingSegments),hasActiveToolSession:e.hasActiveToolSession,selectedProjectId:e.selectedProjectId,selectedThreadId:e.selectedThreadId,streamingSegments:e.streamingSegments,streamingModel:e.streamingModel,streamingAgentMode:e.streamingAgentMode,totalMessages:e.totalMessages,lastMessageSender:e.lastMessageSender,error:e.error,onClearError:e.onClearError,showCheckpointRestore:t=>t.sender===`user`&&!!t.checkpointRef&&!e.isStreaming&&!e.hasPendingMessage&&!e.isCreatingProject&&!e.isProcessingThread,getCheckpointTooltip:t=>LS({isUser:t.sender===`user`,hasCheckpointRef:!!t.checkpointRef,isStreaming:e.isStreaming,hasPendingMessage:e.hasPendingMessage,isCreatingProject:e.isCreatingProject,isProcessingThread:e.isProcessingThread})}}function zS(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 BS(e){let t=(0,Q.c)(34),{context:n}=e;if(!n)return null;let{bottomInset:r,isStreaming:i,isCreatingProject:a,isProcessingThread:o,hasPendingMessage:s,isAutoRouting:c,hasActiveBlockingPrompt:l,hasActiveToolSession:u,selectedProjectId:d,selectedThreadId:f,streamingSegments:p,streamingModel:m,streamingAgentMode:h,totalMessages:g,lastMessageSender:_,error:v,onClearError:y}=n,x=p.length>0||a&&!u||o&&(i||s),S;t[0]!==a||t[1]!==_||t[2]!==p.length?(S=IS({isCreatingProject:a,streamingSegmentCount:p.length,lastMessageSender:_}),t[0]=a,t[1]=_,t[2]=p.length,t[3]=S):S=t[3];let C=S,w=c||x&&(i||a||o)&&C,T=c||(i||s)&&!l&&C,E;t[4]!==c||t[5]!==p?(E=c?null:_s(Ts(p)),t[4]=c,t[5]=p,t[6]=E):E=t[6];let D=c?Ht:E??void 0,O;t[7]===r?O=t[8]:(O={paddingBottom:r},t[7]=r,t[8]=O);let k;t[9]!==c||t[10]!==a||t[11]!==o||t[12]!==d||t[13]!==f||t[14]!==w||t[15]!==T||t[16]!==h||t[17]!==m||t[18]!==p||t[19]!==g?(k=w&&(0,$.jsx)(y_,{segments:p,model:m,mode:h,threadId:f,projectId:d,isCreatingProject:a,isProcessingThread:o&&!c,totalMessages:g,showProcessingLine:T}),t[9]=c,t[10]=a,t[11]=o,t[12]=d,t[13]=f,t[14]=w,t[15]=T,t[16]=h,t[17]=m,t[18]=p,t[19]=g,t[20]=k):k=t[20];let A;t[21]!==D||t[22]!==w||t[23]!==T?(A=T&&(0,$.jsx)(`div`,{className:G(`px-4 pb-4`,w?`pt-0`:`pt-2`),children:(0,$.jsx)(C_,{active:T,label:D})}),t[21]=D,t[22]=w,t[23]=T,t[24]=A):A=t[24];let j;t[25]!==v||t[26]!==y?(j=v&&(0,$.jsxs)(`div`,{className:`mx-4 my-2`,children:[(0,$.jsx)(no,{variant:`error`,className:`mb-0`,children:v}),(0,$.jsx)(`button`,{type:`button`,className:G(b.compact,`mt-1 text-destructive underline underline-offset-2 hover:text-destructive/80`),onClick:y,children:`Dismiss`})]}),t[25]=v,t[26]=y,t[27]=j):j=t[27];let M;return t[28]!==n.columnClassName||t[29]!==O||t[30]!==k||t[31]!==A||t[32]!==j?(M=(0,$.jsxs)(`div`,{className:n.columnClassName,style:O,children:[k,A,j]}),t[28]=n.columnClassName,t[29]=O,t[30]=k,t[31]=A,t[32]=j,t[33]=M):M=t[33],M}function VS(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)(g_,{message:t,threadId:n.selectedThreadId,messageIndex:e,showCheckpointRestore:n.showCheckpointRestore(t),checkpointRestoreTooltip:n.getCheckpointTooltip(t),showFinalProseCopy:a})}var HS=(0,Z.forwardRef)(function(e,t){let n=(0,Q.c)(66),{bottomInset:r,messages:i,isStreaming:a,streamingSegments:o,streamingModel:s,streamingAgentMode:c,isCreatingProject:l,isProcessingThread:u,hasPendingMessage:d,isAutoRouting:f,selectedThreadId:p,selectedProjectId:m,projects:h,projectsLoading:g,messagesLoaded:_,onSelectThread:v,onCreateThread:y,onConnectRepo:b,onNewApp:x,onOpenFolder:S,error:C,onClearError:w,onAtBottomChange:T,onAtTopChange:E,hideEmptyState:D}=e,O=r===void 0?0:r,k=D===void 0?!1:D,{fillPane:A}=Bg(),j=xb(),M;n[0]===A?M=n[1]:(M=A_(A),n[0]=A,n[1]=M);let N=M,P;n[2]===p?P=n[3]:(P=e=>p?!!e.threadToolSessions[p]:!1,n[2]=p,n[3]=P);let F=X(P),[I,L]=(0,Z.useState)(null),R=(0,Z.useRef)(null),z;n[4]===N?z=n[5]:(z=zS(N),n[4]=N,n[5]=z);let B;n[6]===z?B=n[7]:(B={List:z,Footer:BS},n[6]=z,n[7]=B);let V=B,H;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>({scrollToBottom:()=>{R.current?.scrollTo({top:2**53-1,behavior:`smooth`})},scrollToTop:()=>{R.current?.scrollTo({top:0,behavior:`smooth`})}}),n[8]=H):H=n[8],(0,Z.useImperativeHandle)(t,H);let U;n[9]!==d||n[10]!==a||n[11]!==i.length||n[12]!==_||n[13]!==p||n[14]!==o.length?(U={virtuosoRef:R,selectedThreadId:p,messagesLoaded:_,messageCount:i.length,isStreaming:a,hasPendingMessage:d,streamingSegmentCount:o.length},n[9]=d,n[10]=a,n[11]=i.length,n[12]=_,n[13]=p,n[14]=o.length,n[15]=U):U=n[15];let{onRangeChanged:ee,onScrollingStateChange:te}=FS(U),ne=!k&&i.length===0&&!a&&!l&&!p,re=!k&&_&&i.length===0&&!a&&!l&&!u&&!d&&p,ie;if(n[16]!==h||n[17]!==m){let e;n[19]===m?e=n[20]:(e=e=>e.projectId===m,n[19]=m,n[20]=e),ie=h.find(e),n[16]=h,n[17]=m,n[18]=ie}else ie=n[18];let ae=ie,oe=i.length>0?i[i.length-1].sender:null,se;n[21]!==O||n[22]!==N||n[23]!==C||n[24]!==F||n[25]!==d||n[26]!==f||n[27]!==l||n[28]!==u||n[29]!==a||n[30]!==oe||n[31]!==i.length||n[32]!==w||n[33]!==m||n[34]!==p||n[35]!==c||n[36]!==s||n[37]!==o?(se=RS({bottomInset:O,columnClassName:N,isStreaming:a,isCreatingProject:l,isProcessingThread:u,hasPendingMessage:d,isAutoRouting:f,streamingSegments:o,selectedProjectId:m,selectedThreadId:p,streamingModel:s,streamingAgentMode:c,totalMessages:i.length,lastMessageSender:oe,error:C,onClearError:w,hasActiveToolSession:F}),n[21]=O,n[22]=N,n[23]=C,n[24]=F,n[25]=d,n[26]=f,n[27]=l,n[28]=u,n[29]=a,n[30]=oe,n[31]=i.length,n[32]=w,n[33]=m,n[34]=p,n[35]=c,n[36]=s,n[37]=o,n[38]=se):se=n[38];let ce=se;if(ne){let e=`flex min-h-0 flex-1 self-stretch transition-opacity duration-500 ease-in-out ${g?`opacity-0`:`opacity-100`}`,t;n[39]!==b||n[40]!==y||n[41]!==x||n[42]!==S||n[43]!==v||n[44]!==h?(t=(0,$.jsx)(w_,{projects:h,onSelectProject:v,onCreateThread:y,onConnectRepo:b,onNewApp:x,onOpenFolder:S}),n[39]=b,n[40]=y,n[41]=x,n[42]=S,n[43]=v,n[44]=h,n[45]=t):t=n[45];let r;return n[46]!==e||n[47]!==t?(r=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col items-center overflow-hidden`,children:(0,$.jsx)(`div`,{className:e,children:t})}),n[46]=e,n[47]=t,n[48]=r):r=n[48],r}if(re){let e;return n[49]===ae?e=n[50]:(e=(0,$.jsx)(PS,{project:ae}),n[49]=ae,n[50]=e),e}let le=j===`moving-to-footer`&&`animate-in fade-in duration-300 ease-out`,ue;n[51]===le?ue=n[52]:(ue=G(`h-full overflow-hidden`,le),n[51]=le,n[52]=ue);let de=p??void 0,fe=I??void 0,pe;n[53]!==i||n[54]!==T||n[55]!==E||n[56]!==ee||n[57]!==te||n[58]!==de||n[59]!==fe||n[60]!==V||n[61]!==ce?(pe=(0,$.jsx)(Oa,{className:`h-full`,viewportRef:L,children:(0,$.jsx)(dr,{ref:R,customScrollParent:fe,data:i,computeItemKey:US,context:ce,itemContent:VS,overscan:500,components:V,atBottomStateChange:T,atTopStateChange:E,rangeChanged:ee,isScrolling:te},de)}),n[53]=i,n[54]=T,n[55]=E,n[56]=ee,n[57]=te,n[58]=de,n[59]=fe,n[60]=V,n[61]=ce,n[62]=pe):pe=n[62];let me;return n[63]!==ue||n[64]!==pe?(me=(0,$.jsx)(`div`,{className:ue,children:pe}),n[63]=ue,n[64]=pe,n[65]=me):me=n[65],me});function US(e,t){return t.messageId}var WS=M(`app.use-pane-chat-history.hook`);function GS(e){let t=(0,Q.c)(9),{paneId:n,conversationId:r}=e,i=Es(),a=X(KS),o;t[0]===n?o=t[1]:(o=e=>n===es||!!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===es||!s||!a||!r)return;let e=a,t=r,o=n,c=!1;return(async function(){try{let n=await qr(e,t);if(c)return;i({type:Y.SetPaneMessages,paneId:o,messages:n.messages})}catch(e){let t=e;WS.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 KS(e){return e.selectedThreadId}var qS=4,JS=8,YS=64,XS=`(max-width: 767px)`;function ZS(){return window.matchMedia(XS).matches?qS:YS}function QS(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(XS).matches?qS:0,s=window.matchMedia(XS).matches?0:JS;return Math.max(a+o+s,ZS())}function $S(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(ZS());return}let o=function(){let n=e.current,r=t.current;!n||!r||a(QS(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 eC=M(`app.chat-pane.ui`);function tC({paneId:e,conversationId:t,onCreateThread:n,showEmptyState:r=e===`primary`,fillPane:i=!1,hideInput:a=!0,onConnectRepo:o=()=>{},onNewApp:s=()=>{},onOpenFolder:c=()=>{}}){let l=Es(),{error:u,setError:d}=Ig(),f=X(e=>e.selectedThreadId),p=X(e=>e.selectedProjectId),m=X(e=>e.projects),h=X(e=>e.projectsLoading),g=X(e=>e.isCreatingProject),_=X(e=>e.processingThreadIds),v=X(e=>e.activeStreamPane),y=X(e=>e.focusedPane),b=X(e=>e.completedPaneIds),x=X(e=>e.pendingChatMessage),S=X(t=>f?ds(t.threadStreamingStates,f,e):null),C=X(t=>ts(t.pendingAutoRoutes,f,e)),w=X(e=>e.messages),T=X(e=>e.extraChatPanes),E=X(e=>e.messagesLoaded),D=e===`primary`?w:T[e]?.messages??[],O=C?[...D,U_(C)]:D,k=e===`primary`?E:T[e]?.messagesLoaded??!1,A=Qo(v,_,f,e),j=e===`primary`&&x?.threadId===f,M=S?.isStreaming??!1;GS({paneId:e,conversationId:t});let N=(0,Z.useRef)(null),P=(0,Z.useRef)(null),F=bb(),I=F?.overlayRef??{current:null},[L,R]=(0,Z.useState)(!0),[z,B]=(0,Z.useState)(!0),V=a&&!!f&&!!F,H=V&&F.placement===`overlay`,U=$S(N,I,V),ee=V&&!L;function te(){l({type:Y.CloseSidebar})}function ne(){y!==e&&b.includes(e)&&l({type:Y.ClearPaneCompleted,paneId:e}),l({type:Y.SetFocusedPane,paneId:e})}return(0,$.jsx)(Rg,{paneId:e,conversationId:t,fillPane:i,children:(0,$.jsxs)(`div`,{ref:N,className:`relative flex h-full min-w-0 flex-col`,onPointerDown:ne,children:[(0,$.jsx)(HS,{ref:P,bottomInset:U,messages:O,isStreaming:M,streamingSegments:M?S?.streamingSegments??[]:[],streamingModel:M?S?.streamingModel??``:``,streamingAgentMode:M?S?.streamingAgentMode??null:null,isCreatingProject:r?g:!1,isProcessingThread:A,hasPendingMessage:j,isAutoRouting:!!C,selectedThreadId:f,selectedProjectId:p,projects:m,projectsLoading:h,messagesLoaded:k,onSelectThread:(e,t)=>{te(),l({type:Y.SelectThread,projectId:e,threadId:t}),ia().then(e=>{l({type:Y.SetProcessingThreads,threadIds:e})}).catch(e=>{eC.error(`Failed to refresh processing threads after thread selection:`,e)})},onCreateThread:n,onConnectRepo:o,onNewApp:s,onOpenFolder:c,error:u,onClearError:()=>d(null),onAtBottomChange:R,onAtTopChange:B,hideEmptyState:!r}),!z&&O.length>0&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-3 z-20 flex justify-center`,children:(0,$.jsx)(No,{variant:`outline`,size:`icon-md`,onClick:()=>P.current?.scrollToTop(),className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to top`,children:(0,$.jsx)(Xe,{className:`h-4 w-4`})})}),ee&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 z-20 flex justify-center ${H?`bottom-24`:`bottom-2`}`,children:(0,$.jsx)(No,{variant:`outline`,size:`icon-md`,onClick:()=>P.current?.scrollToBottom(),className:`pointer-events-auto bg-background shadow-md`,"aria-label":`Scroll to bottom`,children:(0,$.jsx)(Tt,{className:`h-4 w-4`})})})]})})}var nC=/^#([0-9a-f]{6})$/i;function rC(e){return nC.test(e)}function iC(e){return rC(e)?e.toLowerCase():null}function aC(e){let t=nC.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 oC(e){let t=aC(e);return t?.2126*t.r+.7152*t.g+.0722*t.b:null}function sC(e){let t=aC(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 cC=`--wallpaper-color`,lC={mode:po(),color:eo()},uC=new Set;function dC(){for(let e of uC)e()}function fC(e){let t=oC(e);return zc(t===null?0:t)}function pC(e){if(document.documentElement.dataset.wallpaper=e.mode,document.documentElement.style.setProperty(cC,e.color),e.mode===`color`){let{foreground:t,inverse:n}=fC(e.color);Bc(t,n)}}function mC(){return lC}function hC(e){return uC.add(e),function(){uC.delete(e)}}function gC(e){lC.mode!==e&&(lC={...lC,mode:e},Mr(e),pC(lC),dC())}function _C(e){let t=iC(e);t===null||lC.color===t||(lC={...lC,color:t},Ai(t),pC(lC),dC())}function vC(){let e=(0,Q.c)(3),t=(0,Z.useSyncExternalStore)(hC,mC,mC),n=xC,r=bC,i=yC,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:Tr},e[0]=t.color,e[1]=t.mode,e[2]=a):a=e[2],a}function yC(){lC={mode:`background`,color:Tr},Mr(`background`),Ai(Tr),pC(lC),dC()}function bC(e){_C(e)}function xC(e){gC(e)}function SC(){lC={mode:po(),color:eo()},pC(lC)}function CC(){return typeof window>`u`?null:T(window.location.search)}function wC(){return typeof window>`u`?null:ve(window.location.search)}function TC(){return CC()===xe}var EC=(0,Z.lazy)(()=>Wo(()=>import(`./terminal-panel-BxUHr-tZ.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([10,1,6,7,11,9,12,13,14]))),DC=(0,Z.lazy)(()=>Wo(()=>import(`./diff-view-Cy5PjlG_.js`),__vite__mapDeps([15,1,4,5,6,7,16,17,18,19,20,9,21,22]))),OC=(0,Z.lazy)(()=>Wo(()=>import(`./explorer-tab-view-D6t9Ce05.js`),__vite__mapDeps([23,1,4,5,6,7,16,17,8,24,9]))),kC=(0,Z.lazy)(()=>Wo(()=>import(`./browser-tab-hcbTzpVn.js`).then(e=>({default:e.BrowserTab})),__vite__mapDeps([25,1,6,7,8,13,11,9]))),AC=(0,Z.lazy)(()=>Wo(()=>import(`./tasks-view-4yyCDYbV.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([26,1,4,5,27,6,7,16,17,11,9,20,28])));function jC(e){let t=(0,Q.c)(24),{panelId:n,instanceId:r,onClose:i}=e,a=X(PC),o=X(NC),s;t[0]===r?s=t[1]:(s=e=>$o(e,r),t[0]=r,t[1]=s);let c=X(s),{reviewRefreshTickByThread:l,tasksRefreshTick:u}=qs();if(n===`chat`){let e;return t[2]!==c||t[3]!==r?(e=(0,$.jsx)(tC,{paneId:r,fillPane:!0,conversationId:c,onCreateThread:MC,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)(EC,{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)(kC,{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)(FC,{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)(Ro,{}),children:(0,$.jsx)(OC,{})}),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)(FC,{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)(Ro,{}),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)(AC,{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)(FC,{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)(DC,{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)(Uu,{threadId:a,children:f}),t[21]=a,t[22]=f,t[23]=p):p=t[23],p}function MC(){}function NC(e){return e.selectedProjectId}function PC(e){return e.selectedThreadId}function FC(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 IC(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(b.label,`min-w-0 truncate leading-normal`),children:n}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:G(b.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)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:l,onDoubleClick:LC,disabled:h,children:[(0,$.jsx)(tt,{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 x;t[13]===d?x=t[14]:(x=d?(0,$.jsx)(`div`,{className:`shrink-0`,children:d}):null,t[13]=d,t[14]=x);let S;return t[15]!==s||t[16]!==_||t[17]!==v||t[18]!==y||t[19]!==x?(S=(0,$.jsxs)(`div`,{className:_,onPointerDown:s,children:[v,y,x]}),t[15]=s,t[16]=_,t[17]=v,t[18]=y,t[19]=x,t[20]=S):S=t[20],S}function LC(e){return e.stopPropagation()}var RC=[{id:`chat`,label:`Chat`,icon:Jt},{id:`explorer`,label:`Files`,icon:ee},{id:`browser`,label:`Browser`,icon:_},{id:`terminal`,label:`Terminal`,icon:nn},{id:`tasks`,label:`Tasks`,icon:ut},{id:`review`,label:`Review`,icon:bt}];function zC(e){return RC.find(t=>t.id===e)?.label??e}function BC(e){return e?.trim()||zC(`browser`)}function VC(e){return RC.find(t=>t.id===e)?.icon??Jt}var HC=(0,Z.createContext)(void 0);function UC(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)(HC.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function WC(){let e=(0,Z.useContext)(HC);if(e===void 0)throw Error(`useReviewStats must be used within a ReviewStatsProvider`);return e}var GC=(0,Z.createContext)(void 0);function KC(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)(GC.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function qC(){let e=(0,Z.useContext)(GC);if(e===void 0)throw Error(`useChatDockTitleActions must be used within a ChatDockTitleActionsProvider`);return e}var JC=(0,Z.createContext)(null);function YC(e){let t=(0,Q.c)(12),{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)(null),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{i(XC)},t[0]=_):_=t[0];let v=_,y;t[1]!==h||t[2]!==s||t[3]!==a||t[4]!==r||t[5]!==l||t[6]!==p||t[7]!==d?(y={browserResetTrigger:r,triggerBrowserReset:v,browserPageTitle:a,setBrowserPageTitle:o,browserDeviceMode:s,setBrowserDeviceMode:c,isSelectModeEnabled:l,setIsSelectModeEnabled:u,selectedBrowserElement:d,setSelectedBrowserElement:f,isSelectionPromptOpen:p,setIsSelectionPromptOpen:m,browserAgentProcessingThreadId:h,setBrowserAgentProcessingThreadId:g},t[1]=h,t[2]=s,t[3]=a,t[4]=r,t[5]=l,t[6]=p,t[7]=d,t[8]=y):y=t[8];let b=y,x;return t[9]!==n||t[10]!==b?(x=(0,$.jsx)(JC.Provider,{value:b,children:n}),t[9]=n,t[10]=b,t[11]=x):x=t[11],x}function XC(e){return e+1}function ZC(){let e=(0,Z.useContext)(JC);if(!e)throw Error(`useBrowserTab must be used within a BrowserTabProvider`);return e}function QC(){let e=(0,Q.c)(12),{stats:t}=WC();if(!t||t.fileCount===0)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=G(b.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 $C(e){let t=(0,Q.c)(60),{instanceId:n,panelId:r,footer:i}=e,a=Es(),{closeWindow:o,expandWindow:s,collapseLayout:c,isLayoutExpanded:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=Ys(),p=X(rw),m=X(nw),h=X(tw),g=X(ew),{triggerReviewRefresh:_}=qs(),{triggerExplorerRefresh:v}=Zs(),{browserPageTitle:y}=ZC(),b=r===`chat`,x=r===`tasks`,C;if(t[0]!==p||t[1]!==h){let e;t[3]===h?e=t[4]:(e=e=>e.projectId===h,t[3]=h,t[4]=e),C=p.find(e),t[0]=p,t[1]=h,t[2]=C}else C=t[2];let w=C?.tasksModifiedCount??0,T;t[5]!==y||t[6]!==n||t[7]!==b||t[8]!==x||t[9]!==r||t[10]!==p||t[11]!==m||t[12]!==w?(T=b?Rt(p,m,n):r===`browser`?BC(y):x?w>0?`Tasks (${w} modified recently)`:`Tasks`:zC(r),t[5]=y,t[6]=n,t[7]=b,t[8]=x,t[9]=r,t[10]=p,t[11]=m,t[12]=w,t[13]=T):T=t[13];let E=T,D=!l&&u===n,O;t[14]!==n||t[15]!==b||t[16]!==m||t[17]!==g?(O=b&&ds(g,m,n).isStreaming,t[14]=n,t[15]=b,t[16]=m,t[17]=g,t[18]=O):O=t[18];let k=O,A;if(t[19]!==o||t[20]!==a||t[21]!==n||t[22]!==x||t[23]!==h||t[24]!==w){A=function(){x&&h&&w>0&&e(h),o(n)};async function e(e){try{await Pa(e),pi();let t=await Sa();a({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch{try{pi();let e=await Sa();a({type:Y.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch{}}}t[19]=o,t[20]=a,t[21]=n,t[22]=x,t[23]=h,t[24]=w,t[25]=A}else A=t[25];let j;t[26]!==a||t[27]!==n||t[28]!==b||t[29]!==f||t[30]!==d?(j=function(){d(n),f(n),b&&a({type:Y.SetFocusedPane,paneId:n})},t[26]=a,t[27]=n,t[28]=b,t[29]=f,t[30]=d,t[31]=j):j=t[31];let M=j,N;t[32]!==c||t[33]!==s||t[34]!==M||t[35]!==n||t[36]!==l?(N=function(){if(l){c();return}M(),s(n)},t[32]=c,t[33]=s,t[34]=M,t[35]=n,t[36]=l,t[37]=N):N=t[37];let P=N,{actions:F}=qC(),I;t[38]===r?I=t[39]:(I=r===`review`?(0,$.jsx)(QC,{}):void 0,t[38]=r,t[39]=I);let L=I,R;t[40]!==r||t[41]!==m||t[42]!==v||t[43]!==_?(R=r===`review`&&m?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>_(m),children:[(0,$.jsx)(_e,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Pr,{children:`Refresh changes`})]}):r===`explorer`?(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:v,children:[(0,$.jsx)(S,{className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh`})]})}),(0,$.jsx)(Pr,{children:`Refresh`})]}):void 0,t[40]=r,t[41]=m,t[42]=v,t[43]=_,t[44]=R):R=t[44];let z=R??F,B;t[45]!==A||t[46]!==n||t[47]!==r?(B=(0,$.jsx)(jC,{panelId:r,instanceId:n,onClose:A}),t[45]=A,t[46]=n,t[47]=r,t[48]=B):B=t[48];let V;return t[49]!==i||t[50]!==A||t[51]!==M||t[52]!==P||t[53]!==k||t[54]!==E||t[55]!==D||t[56]!==B||t[57]!==z||t[58]!==L?(V=(0,$.jsx)(IC,{title:E,titleSuffix:L,titleActions:z,showTitle:!0,selected:D,onSelect:M,onTitleDoubleClick:P,onClose:A,disableClose:k,footer:i,className:`h-full overflow-hidden rounded-lg border border-border bg-background`,children:B}),t[49]=i,t[50]=A,t[51]=M,t[52]=P,t[53]=k,t[54]=E,t[55]=D,t[56]=B,t[57]=z,t[58]=L,t[59]=V):V=t[59],V}function ew(e){return e.threadStreamingStates}function tw(e){return e.selectedProjectId}function nw(e){return e.selectedThreadId}function rw(e){return e.projects}function iw(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(UC,{children:(0,$.jsx)(KC,{children:(0,$.jsx)($C,{...e})})}),t[0]=e,t[1]=n),n}function aw(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}var ow=`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`,sw=`flex items-center rounded-full bg-transparent scenic-chrome-button shadow-none backdrop-blur-none`,cw=`h-10`,lw=`max-w-[12rem] justify-start gap-1.5 px-3`,uw=`h-3.5 w-3.5 shrink-0 opacity-60`,dw=`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,fw=[`Removing threads`,`Deleting storage`,`Removing project`];function pw(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=fw[Math.min(o,fw.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)(Bs,{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)(zs,{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)(Gs,{children:[m,h]}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==s||t[16]!==o?(_=fw.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)(lt,{className:`h-4 w-4 text-emerald-500`}):i?(0,$.jsx)(Kt,{className:`h-4 w-4 text-destructive`}):(0,$.jsx)(K,{className:G(`h-4 w-4 text-muted-foreground`,n&&`animate-spin text-foreground`)}),(0,$.jsxs)(`span`,{className:G(b.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)(Us,{children:[(0,$.jsx)(Ws,{onClick:i,children:`Close`}),(0,$.jsx)(Hs,{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 x;t[24]!==f||t[25]!==g||t[26]!==v||t[27]!==y?(x=(0,$.jsxs)(Vs,{onEscapeKeyDown:f,children:[g,v,y]}),t[24]=f,t[25]=g,t[26]=v,t[27]=y,t[28]=x):x=t[28];let S;return t[29]!==d||t[30]!==x?(S=(0,$.jsx)(Ks,{open:!0,onOpenChange:d,children:x}),t[29]=d,t[30]=x,t[31]=S):S=t[31],S}var mw=J,hw=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)(Fn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});hw.displayName=Fn.displayName;var gw=Hr(`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`}}),_w=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(gw({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)(Sn,{ref:t,className:o,...i}),n[7]=i,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});_w.displayName=Sn.displayName;var vw=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`,b.body,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Dn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vw.displayName=Dn.displayName;var yw=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)(tt,{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)(kn,{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});yw.displayName=kn.displayName;var bw=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(b.dialogTitle,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(Tn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});bw.displayName=Tn.displayName;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(b.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)(Nn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});xw.displayName=Nn.displayName;function Sw(e){return(e?.match(/Removing (.+?)\.\.\./))?.[1]?.trim()||void 0}function Cw(e,t){let n=Sw(t),r=e.trim().toLowerCase();return ua(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}:ua(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 ww(e,t){return[`Thread deletion failed (${e})`,t.summary,`Cause: ${t.cause}`,`What to do: ${t.guidance.join(` `)}`].join(`
3283
+ `)}function Tw(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 Ew(e,t,n){let r=crypto.randomUUID(),i=n.message.trim()||`Unknown error`,a=Cw(i,n.progressOutput),o=ww(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),kr({level:`ERROR`,context:`app.use-projects.hook`,message:o,data:s}),Rs({variant:`destructive`,title:`Failed to delete thread`,description:`Error ID: ${r}\n${a.summary}`,action:(0,$.jsx)(vw,{altText:`Go to Logs`,onClick:()=>{t(`/settings/logs?q=${encodeURIComponent(r)}`)},children:`Go to Logs`})}),r}var Dw=M(`app.use-projects.hook`),Ow=0;function kw(){let e=(0,Q.c)(17),t=Es(),n=X(Nw),r=X(Mw),i=X(jw);i>0&&pi();let a=hc(`projects:bootstrap:${i}`,Sa),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 jw(e){return e.configUpdatedAt}function Mw(e){return e.selectedProjectId}function Nw(e){return e.selectedThreadId}function Pw(e){let t=Es(),n=X(e=>e.projects),r=X(e=>e.selectedProjectId),i=X(e=>e.selectedThreadId),{toast:a}=Ls(),o=Gn(),s=Vn(),[c,l]=(0,Z.useState)(null),u=(0,Z.useCallback)(async()=>{let e=++Ow;try{t({type:Y.SetProjectsLoading,projectsLoading:!0}),pi(),mc(`projects:bootstrap:`);let n=await Sa();return e===Ow&&t({type:Y.SetProjects,projects:n.projects,cloneRootPath:n.cloneRootPath}),n.projects}catch(e){return Dw.error(`Failed to refresh projects:`,e),[]}finally{e===Ow&&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}),na(e,n).catch(e=>{Dw.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,s=e=>{if(!e)return;let n=`${e}\n`;i+=n;let a=r.current;a&&uc(t,a.toolCallId,a.threadId,n)};try{let c=await n.apiCall();if(!c){t({type:Y.SetCreatingProject,isCreating:!1}),await u();return}let d=null,f=!1,p=null,m=null;await pc(c,i=>{if(!i||typeof i!=`object`)return;let c=i;try{if(c.type===`progress`){if(!f&&typeof c.threadId==`string`&&typeof c.projectId==`string`){f=!0,p=c.projectId,m=c.threadId,t({type:Y.AddCreatingProject,projectId:c.projectId,threadId:c.threadId,projectName:n.optimisticProjectName,gitUrl:n.gitUrl??``}),t({type:Y.AddProcessingThread,threadId:c.threadId}),e?.onProjectCreated?.(c.projectId);let i=oc({mode:n.mode,threadId:c.threadId,projectId:c.projectId,projectName:n.optimisticProjectName});r.current=i,rc(t,i,`${n.initialMessage}\n`)}s(typeof c.message==`string`?c.message:``)}else if(c.type===`complete`){o=!0;let e=c.project;if(e){if(d=e.id,s(`Project created successfully at: ${n.includeThreadPath&&e.threads&&e.threads.length>0?`${e.path}/${e.threads[0]}`:e.path}`),r.current&&n.mode===`folder`){let t=e.path.split(/[/\\]/).filter(Boolean).pop();t&&t!==n.optimisticProjectName&&(r.current={...r.current,projectName:t})}n.handleSetupScript&&typeof c.suggestedSetupScript==`string`&&l({projectId:e.id,command:c.suggestedSetupScript,remainingScripts:e.pendingSetupScripts??[]})}}else if(c.type===`error`){let e=typeof c.message==`string`?c.message:`Unknown error`;f&&p&&(t({type:Y.RemoveCreatingProject,projectId:p}),m&&t({type:Y.RemoveProcessingThread,threadId:m})),s(`Error: ${e}`),r.current||a({title:`Project Creation Failed`,description:e,variant:`destructive`})}}catch(e){Dw.error(`Failed to parse ${n.logTag} event`,e)}}),t({type:Y.SetCreatingProject,isCreating:!1});let h=r.current;h&&(sc(t,h,i,{isError:!o}),t({type:Y.RemoveProcessingThread,threadId:h.threadId})),pi();let g=await Sa();if(t({type:Y.SetProjects,projects:g.projects,cloneRootPath:g.cloneRootPath}),t({type:Y.SetProjectsLoading,projectsLoading:!1}),d){let n=g.projects.find(e=>e.projectId===d);if(n&&n.threads.length>0){let e=n.threads[0].threadId;h?.threadId===e?t({type:Y.FocusChatInput}):t({type:Y.SelectThread,threadId:e,projectId:d,focusInput:!0})}e?.onProjectCreated?.(d)}}catch(e){Dw.error(`Failed to ${n.logTag}:`,e),t({type:Y.SetCreatingProject,isCreating:!1});let o=r.current;o?(s(`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`),sc(t,o,i,{isError:!0}),t({type:Y.RemoveProcessingThread,threadId:o.threadId})):a({title:`Project Creation Failed`,description:`${n.catchErrorPrefix}: ${e instanceof Error?e.message:`Unknown error`}`,variant:`destructive`})}},[t,u,e?.onProjectCreated,a]),m=(0,Z.useCallback)(async(e,t)=>{let n=e.split(`/`).pop()?.replace(`.git`,``)??`project`;await p({apiCall:()=>Ka(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:()=>wo(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:()=>fa(e),initialMessage:`Creating folder "${e}"...`,optimisticProjectName:e,mode:`folder`,handleSetupScript:!1,logTag:`create folder`,catchErrorPrefix:`Failed to create folder`})},[p]),_=(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 lo(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}),uc(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=cc({threadId:e,projectId:r,projectName:c});o.current=n,rc(t,n,g)}function y(e){t({type:Y.RemoveCreatingThread,projectId:r,threadId:e}),t({type:Y.SelectProject,projectId:r})}try{await pc(d,e=>{if(!e||typeof e!=`object`){typeof e==`string`&&Dw.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`),Dw.error(`Thread creation error:`,e),a({title:`Thread Creation Failed`,description:e,variant:`destructive`}),f=!1}});let e=o.current;e&&(sc(t,e,g,{branch:p,isError:!f}),t({type:Y.RemoveProcessingThread,threadId:e.threadId}),f||y(e.threadId)),pi(),await u()}catch(e){let n=e instanceof Error?e.message:String(e),r=o.current;throw r&&(_(`Error: ${n}`,`error`),sc(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){Dw.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]),v=(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?ic({threadId:r,projectId:e,projectName:s}):null,f=``,p=!0;function m(e){e.trim()&&(f+=`${e}\n`,d&&uc(t,d.toolCallId,d.threadId,`${e}\n`))}d&&ac(t,d,`Deleting thread "${c}"...\n`);try{let n=await Mo(e,r);n&&await pc(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=Tw(n);m(`Error: ${t}`),Ew(Dw,o,{projectId:e,threadId:r,threadTitle:c,message:t,progressOutput:f,...i}),p=!1}}),d&&sc(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=Tw(n);if(ua(i)){m(`Deletion is still running on the server. Open Workspaces to refresh the list.`),d&&sc(t,d,f,{isError:!1}),Dw.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&&sc(t,d,f,{isError:!0}),Ew(Dw,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]),y=(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,fw.length-1),r?.({projectId:e,projectName:i?.name??``,step:c,status:`progressing`})},450);try{await sa(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),Dw.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]),b=(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 Br(r,n,!0);s&&await fc(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}),Dw.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,handleOpenFolder:(0,Z.useCallback)(async()=>{await p({apiCall:ti,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:()=>ui(e),initialMessage:`Opening folder: ${e}...`,optimisticProjectName:t,mode:`folder`,handleSetupScript:!0,logTag:`open path`,catchErrorPrefix:`Failed to open folder path`})},[p]),handleCreateThread:_,handleDeleteThread:v,confirmDeleteProject:y,pendingSetupScriptConfirmation:c,resolveSetupScriptConfirmation:b}}function Fw(){let e=(0,Q.c)(83),t=Es(),n=jb(),r=X(Uw),i=X(Hw),a=X(Vw),o=X(Bw),s=X(zw),c=X(Rw),l=X(Lw),u=X(Iw),{handleSelectThread:d,handleCreateThread:f,handleDeleteThread:p,refreshWorkspaces:m}=Pw(),h=Lu(a??void 0),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C,w,T,E,D,O,k,A,j,M,N,P;if(e[0]!==s||e[1]!==c||e[2]!==t||e[3]!==f||e[4]!==p||e[5]!==d||e[6]!==g||e[7]!==u||e[8]!==x||e[9]!==o||e[10]!==r||e[11]!==m||e[12]!==h||e[13]!==i||e[14]!==a||e[15]!==n||e[16]!==l||e[17]!==v){P=Symbol.for(`react.early_return_sentinel`);bb0:{let F;e[30]===i?F=e[31]:(F=e=>e.projectId===i,e[30]=i,e[31]=F);let I=r.find(F);if(!I){P=null;break bb0}let L=I.projectId,R;e[32]===a?R=e[33]:(R=e=>e.threadId===a,e[32]=a,e[33]=R);let z=I.threads.find(R),B=(a?h.currentBranch||z?.currentBranch:void 0)||z?.title||`Branches`,V;e[34]===c?V=e[35]:(V=e=>c.includes(e.threadId),e[34]=c,e[35]=V);let H=I.threads.some(V),U=n?sw:ow,ee;e[36]!==t||e[37]!==d?(ee=function(e,n){t({type:Y.ClearThreadCompleted,threadId:n}),d(e,n),_(!1)},e[36]=t,e[37]=d,e[38]=ee):ee=e[38];let te=ee,ne=function(){f(L,void 0),_(!1)},re=function(e,t){if(e.gitStatusDot){_(!1),S({threadId:e.threadId,displayName:t});return}p(L,e.threadId).then(()=>m())},ie=x!==null,ae;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{e||S(null)},e[39]=ae):ae=e[39];let oe;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Bs,{children:`Delete Branch`}),e[40]=oe):oe=e[40];let se=x?.displayName,ce;e[41]===se?ce=e[42]:(ce=(0,$.jsxs)(zs,{children:[`Are you sure you want to delete "`,se,`" and all its files? This action cannot be undone.`]}),e[41]=se,e[42]=ce);let le;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(Ws,{children:`Cancel`}),e[43]=le):le=e[43];let ue=(0,$.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[le,(0,$.jsx)(Hs,{onClick:()=>{x&&p(L,x.threadId).then(()=>m()),S(null)},className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),de;e[44]!==ce||e[45]!==ue?(de=(0,$.jsxs)(Vs,{children:[oe,ce,ue]}),e[44]=ce,e[45]=ue,e[46]=de):de=e[46],e[47]!==ie||e[48]!==de?(N=(0,$.jsx)(Ks,{open:ie,onOpenChange:ae,children:de}),e[47]=ie,e[48]=de,e[49]=N):N=e[49],w=ff,A=g,e[50]===m?j=e[51]:(j=e=>{_(e),e&&(y(!1),m())},e[50]=m,e[51]=j);let fe=!g&&v,pe=G(U,cw,`w-10 justify-center md:w-auto`,lw,H&&`disabled:opacity-50`),me;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(me=G(b.compact,`hidden truncate md:inline`),e[52]=me):me=e[52];let he;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(Xe,{className:G(uw,`hidden md:block`)}),e[53]=he):he=e[53];let ge=(0,$.jsx)(pf,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Branches`,disabled:H,className:pe,children:[H?(0,$.jsx)(K,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,$.jsx)(_t,{className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:me,children:B}),he]})}),_e;e[54]===ge?_e=e[55]:(_e=(0,$.jsx)(Ii,{asChild:!0,children:ge}),e[54]=ge,e[55]=_e);let ve=H?`Deleting branch...`:`Workspaces`,ye;e[56]===ve?ye=e[57]:(ye=(0,$.jsx)(Pr,{side:`top`,children:ve}),e[56]=ve,e[57]=ye),e[58]!==fe||e[59]!==_e||e[60]!==ye?(M=(0,$.jsxs)(Mi,{open:fe,onOpenChange:y,children:[_e,ye]}),e[58]=fe,e[59]=_e,e[60]=ye,e[61]=M):M=e[61],C=mf,T=`end`,E=`top`,D=`w-72 p-1`;let be;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`span`,{className:G(b.label,`text-muted-foreground font-medium`),children:`Workspaces`}),e[62]=be):be=e[62];let xe;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Ae,{}),e[63]=xe):xe=e[63];let Se=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{variant:`action`,size:`icon-sm`,className:`shrink-0`,"aria-label":`Create a new workspace & branch (⌘⇧T)`,onClick:ne,children:xe})}),Ce;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Pr,{side:`top`,children:`Create a new workspace & branch`}),e[64]=Ce):Ce=e[64],e[65]===Se?O=e[66]:(O=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-2 py-1.5`,children:[be,(0,$.jsxs)(Mi,{children:[Se,Ce]})]}),e[65]=Se,e[66]=O),k=I.threads.length===0?(0,$.jsx)(`p`,{className:G(b.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:I.threads.map(e=>(0,$.jsx)(Gw,{thread:e,projectId:L,selectedThreadId:a,isProcessing:fs(e.threadId,o,l,u),isDeleting:c.includes(e.threadId),isCompleted:s.includes(e.threadId),branchName:e.threadId===a&&h.currentBranch||e.currentBranch,onSelectThread:te,onRequestDelete:re},e.threadId))})}e[0]=s,e[1]=c,e[2]=t,e[3]=f,e[4]=p,e[5]=d,e[6]=g,e[7]=u,e[8]=x,e[9]=o,e[10]=r,e[11]=m,e[12]=h,e[13]=i,e[14]=a,e[15]=n,e[16]=l,e[17]=v,e[18]=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]=M,e[28]=N,e[29]=P}else C=e[18],w=e[19],T=e[20],E=e[21],D=e[22],O=e[23],k=e[24],A=e[25],j=e[26],M=e[27],N=e[28],P=e[29];if(P!==Symbol.for(`react.early_return_sentinel`))return P;let F;e[67]!==C||e[68]!==T||e[69]!==E||e[70]!==D||e[71]!==O||e[72]!==k?(F=(0,$.jsxs)(C,{align:T,side:E,className:D,children:[O,k]}),e[67]=C,e[68]=T,e[69]=E,e[70]=D,e[71]=O,e[72]=k,e[73]=F):F=e[73];let I;e[74]!==w||e[75]!==F||e[76]!==A||e[77]!==j||e[78]!==M?(I=(0,$.jsxs)(w,{open:A,onOpenChange:j,children:[M,F]}),e[74]=w,e[75]=F,e[76]=A,e[77]=j,e[78]=M,e[79]=I):I=e[79];let L;return e[80]!==I||e[81]!==N?(L=(0,$.jsxs)($.Fragment,{children:[N,I]}),e[80]=I,e[81]=N,e[82]=L):L=e[82],L}function Iw(e){return e.pendingChatMessage}function Lw(e){return e.threadStreamingStates}function Rw(e){return e.deletingThreadIds}function zw(e){return e.completedThreadIds}function Bw(e){return e.processingThreadIds}function Vw(e){return e.selectedThreadId}function Hw(e){return e.selectedProjectId}function Uw(e){return e.projects}function Ww(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`:Ut(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)(aw,{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,Ot(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)(Ii,{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)(Pr,{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 Gw(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)(Ww,{gitStatusDot:n.gitStatusDot,isProcessing:a,isDeleting:o}),t[11]=o,t[12]=a,t[13]=n.gitStatusDot,t[14]=y):y=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=G(b.body,`min-w-0 flex-1 truncate text-left`),t[15]=x):x=t[15];let S;t[16]===p?S=t[17]:(S=(0,$.jsx)(`span`,{className:x,children:p}),t[16]=p,t[17]=S);let C;t[18]===s?C=t[19]:(C=s?(0,$.jsx)(lt,{className:`ml-auto h-3 w-3 shrink-0 text-green-500`}):null,t[18]=s,t[19]=C);let w;t[20]!==f||t[21]!==v||t[22]!==y||t[23]!==S||t[24]!==C?(w=(0,$.jsxs)(ya,{selected:f,className:`min-w-0 flex-1 items-center rounded-md`,onClick:v,children:[y,S,C]}),t[20]=f,t[21]=v,t[22]=y,t[23]=S,t[24]=C,t[25]=w):w=t[25];let T;t[26]!==_||t[27]!==s||t[28]!==o||t[29]!==a?(T=!a&&!o&&!s&&(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(on,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Delete branch`})]})}),(0,$.jsx)(Pr,{side:`left`,children:`Delete branch and files from the repo`})]}),t[26]=_,t[27]=s,t[28]=o,t[29]=a,t[30]=T):T=t[30];let E;return t[31]!==T||t[32]!==w?(E=(0,$.jsxs)(`div`,{ref:d,className:`group flex min-w-0 items-center`,children:[w,T]}),t[31]=T,t[32]=w,t[33]=E):E=t[33],E}function Kw(){let e=(0,Q.c)(108),t=Es(),{windows:n,hasOpenWindows:r,isLayoutExpanded:i,expandedWindowId:a,expandWindow:o,collapseLayout:s,isPanelOpen:c,isPrimaryChatOpen:l,selectedWindowId:u,selectWindow:d,revealWindow:f}=Ys(),{openChatDockPanel:p}=$u(),m=X(nT),h=X(tT),g=X(eT),_=X($w),v=X(Qw),y=X(Zw),x=X(Xw),S=X(Yw),C=X(Jw),w=X(qw),T;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),T=m.find(t),e[0]=m,e[1]=h,e[2]=T}else T=e[2];let E=T,D=E?.useBuiltInBrowser!==!1,{browserPageTitle:O}=ZC(),{hasChanges:k,changedFilesCount:A}=Lu(g??void 0),j=E?.tasksModifiedCount??0,M;e[5]!==C||e[6]!==S||e[7]!==x?.threadId||e[8]!==v||e[9]!==g||e[10]!==_?(M=function(e,t){return t===`chat`?e===`primary`?g?x?.threadId===g||C===es&&v.includes(g)?!0:ds(_,g).isStreaming:!1:!S[e]||!g?!1:C===e&&v.includes(g)?!0:ds(_,g,e).isStreaming:!1},e[5]=C,e[6]=S,e[7]=x?.threadId,e[8]=v,e[9]=g,e[10]=_,e[11]=M):M=e[11];let N=M,P,F,I,L,R,z,B,V,H,U,ee,te,ne,re;if(e[12]!==O||e[13]!==A||e[14]!==s||e[15]!==y||e[16]!==t||e[17]!==o||e[18]!==a||e[19]!==w||e[20]!==k||e[21]!==r||e[22]!==i||e[23]!==c||e[24]!==l||e[25]!==N||e[26]!==p||e[27]!==m||e[28]!==f||e[29]!==d||e[30]!==g||e[31]!==u||e[32]!==D||e[33]!==j||e[34]!==n){let h;e[49]!==g||e[50]!==D?(h=e=>!(e.id===`browser`&&!D||e.id===`chat`&&!g),e[49]=g,e[50]=D,e[51]=h):h=e[51];let _=RC.filter(h),v=[...l?[{id:Ze,panelId:`chat`,title:Rt(m,g,Ze)}]:[],...n.map(e=>({id:e.id,panelId:e.panelId,title:e.panelId===`chat`?Rt(m,g,e.id):e.panelId===`browser`?BC(O):zC(e.panelId)}))],x;e[52]===c?x=e[53]:(x=function(e){return c(e)},e[52]=c,e[53]=x);let S=x,C;e[54]===S?C=e[55]:(C=e=>!S(e.id),e[54]=S,e[55]=C);let T=_.filter(C),E=function(e){return i?a===e:u===e},M=function(e){d(e.id),f(e.id),e.panelId===`chat`&&(w!==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 de=v.map(e=>{let t=VC(e.panelId),n=E(e.id),r=e.panelId===`review`,i=e.panelId===`tasks`,a=r&&k,o=e.panelId===`chat`&&y.includes(e.id),s=i&&j>0,c=N(e.id,e.panelId),l=o?`Chat completed — needs attention`:r&&a?`${A} changed file${A===1?``:`s`}`:i&&s?`${j} task${j===1?``:`s`} modified recently`:e.title;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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:()=>M(e),children:[(0,$.jsx)(`span`,{className:`relative inline-flex items-center justify-center`,children:c&&e.panelId===`chat`?(0,$.jsx)(Xd,{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:j})]})}),(0,$.jsx)(Pr,{side:`top`,children:l})]},e.id)});e[69]===de?I=e[70]:(I=(0,$.jsx)(`div`,{role:`tablist`,"aria-label":`Open windows`,className:`flex items-center gap-0.5`,children:de}),e[69]=de,e[70]=I),L=T.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:T.map(e=>{let t=e.icon,n=e.id===`review`,r=e.id===`tasks`,i=n&&k,a=r&&j>0,o=n&&i?`${A} changed file${A===1?``:`s`}`:r&&a?`${j} task${j===1?``:`s`} modified recently`:e.label;return(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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:j})]})}),(0,$.jsx)(Pr,{side:`top`,children:o})]},e.id)})})]}):null,e[71]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`div`,{className:`mx-0.5 h-4 w-px shrink-0 bg-border`,"aria-hidden":!0}),e[71]=R):R=e[71];let fe=r&&!i,pe=!r,me=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`,he;e[72]===me?he=e[73]:(he=G(`rounded-full`,me),e[72]=me,e[73]=he);let ge;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(Qt,{className:`h-4 w-4`}),e[74]=ge):ge=e[74];let _e;e[75]!==le||e[76]!==ue||e[77]!==fe||e[78]!==pe||e[79]!==he?(_e=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":ue,"aria-pressed":fe,disabled:pe,className:he,onClick:le,children:ge})}),e[75]=le,e[76]=ue,e[77]=fe,e[78]=pe,e[79]=he,e[80]=_e):_e=e[80];let ve;e[81]===ue?ve=e[82]:(ve=(0,$.jsx)(Pr,{side:`top`,children:ue}),e[81]=ue,e[82]=ve),e[83]!==_e||e[84]!==ve?(z=(0,$.jsxs)(Mi,{children:[_e,ve]}),e[83]=_e,e[84]=ve,e[85]=z):z=e[85],F=Yc,e[86]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Add window`,className:`rounded-full`,children:(0,$.jsx)(Ae,{className:`h-4 w-4`})})})}),(0,$.jsx)(Pr,{side:`top`,children:`Add window`})]}),e[86]=ee):ee=e[86],P=el,B=`top`,V=`center`,H=`w-44 p-1`;let ye;e[87]===se?ye=e[88]:(ye=e=>{let t=e.icon;return(0,$.jsxs)(tl,{className:G(b.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]=ye),U=_.map(ye),e[12]=O,e[13]=A,e[14]=s,e[15]=y,e[16]=t,e[17]=o,e[18]=a,e[19]=w,e[20]=k,e[21]=r,e[22]=i,e[23]=c,e[24]=l,e[25]=N,e[26]=p,e[27]=m,e[28]=f,e[29]=d,e[30]=g,e[31]=u,e[32]=D,e[33]=j,e[34]=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]=U,e[45]=ee,e[46]=te,e[47]=ne,e[48]=re}else P=e[35],F=e[36],I=e[37],L=e[38],R=e[39],z=e[40],B=e[41],V=e[42],H=e[43],U=e[44],ee=e[45],te=e[46],ne=e[47],re=e[48];let ie;e[89]!==P||e[90]!==B||e[91]!==V||e[92]!==H||e[93]!==U?(ie=(0,$.jsx)(P,{side:B,align:V,className:H,children:U}),e[89]=P,e[90]=B,e[91]=V,e[92]=H,e[93]=U,e[94]=ie):ie=e[94];let ae;e[95]!==F||e[96]!==ie||e[97]!==ee?(ae=(0,$.jsxs)(F,{children:[ee,ie]}),e[95]=F,e[96]=ie,e[97]=ee,e[98]=ae):ae=e[98];let oe;return e[99]!==I||e[100]!==L||e[101]!==R||e[102]!==z||e[103]!==ae||e[104]!==te||e[105]!==ne||e[106]!==re?(oe=(0,$.jsxs)(`div`,{role:te,"aria-label":ne,className:re,children:[I,L,R,z,ae]}),e[99]=I,e[100]=L,e[101]=R,e[102]=z,e[103]=ae,e[104]=te,e[105]=ne,e[106]=re,e[107]=oe):oe=e[107],oe}function qw(e){return e.focusedPane}function Jw(e){return e.activeStreamPane}function Yw(e){return e.extraChatPanes}function Xw(e){return e.pendingChatMessage}function Zw(e){return e.completedPaneIds}function Qw(e){return e.processingThreadIds}function $w(e){return e.threadStreamingStates}function eT(e){return e.selectedThreadId}function tT(e){return e.selectedProjectId}function nT(e){return e.projects}var rT=`pointer-events-none absolute inset-0 rounded-2xl border border-border frosted-surface shadow-lg backdrop-blur-sm`,iT=(0,Z.lazy)(()=>Wo(()=>import(`./git-ops-button-DO1ng45p.js`).then(e=>({default:e.GitOpsButton})),__vite__mapDeps([3,1,4,5,6,7,8,9]))),aT=`h-full overflow-hidden rounded-lg border border-border bg-background`;function oT(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 sT(e){let t=(0,Q.c)(105),{children:n}=e,r=Es(),{windows:i,hasOpenWindows:a,isLayoutExpanded:o,expandedWindowId:s,expandWindow:c,collapseLayout:l,pendingScrollWindowId:u,clearPendingScrollWindow:d,selectedWindowId:f,selectWindow:p,revealWindow:m,closeWindow:h,isPrimaryChatOpen:g}=Ys(),_=X(_T),v=X(gT),y=X(hT),b=X(mT),x=X(pT),S=X(fT),C=X(dT),w=X(uT),T=X(lT),E;t[0]===v?E=t[1]:(E=e=>v?ds(e.threadStreamingStates,v,Ze).isStreaming:!1,t[0]=v,t[1]=E);let D=X(E),O;t[2]===v?O=t[3]:(O=e=>v?Zo(v,{hasSession:cT,streamingStates:e.threadStreamingStates}):!1,t[2]=v,t[3]=O);let k=X(O),A;t[4]!==_||t[5]!==v?(A=Rt(_,v,`primary`),t[4]=_,t[5]=v,t[6]=A):A=t[6];let j=A,M;t[7]!==T||t[8]!==D||t[9]!==w?.threadId||t[10]!==C||t[11]!==v?(M=v&&(w?.threadId===v||(T===null||T===es)&&C.includes(v)||D),t[7]=T,t[8]=D,t[9]=w?.threadId,t[10]=C,t[11]=v,t[12]=M):M=t[12];let N=!!M,P=(0,Z.useRef)(null),F=!!(v&&y),I;t[13]!==a||t[14]!==S||t[15]!==D||t[16]!==b||t[17]!==w?.threadId||t[18]!==C||t[19]!==v?(I=!a&&!!v&&b.length===0&&!D&&!S&&!(v&&C.includes(v))&&w?.threadId!==v,t[13]=a,t[14]=S,t[15]=D,t[16]=b,t[17]=w?.threadId,t[18]=C,t[19]=v,t[20]=I):I=t[20];let L=I,R=L&&x,z=L&&!x&&!k,B;t[21]!==z||t[22]!==v||t[23]!==R?(B={centered:R,loading:z,threadId:v},t[21]=z,t[22]=v,t[23]=R,t[24]=B):B=t[24];let{phase:V,reveal:H}=Tb(B),U=jb(),{mode:ee}=vC(),te;t[25]!==V||t[26]!==U||t[27]!==ee?(te=U&&(ee!==`background`||Cb(V)),t[25]=V,t[26]=U,t[27]=ee,t[28]=te):te=t[28];let ne=te,re=ee===`background`&&V===`moving-to-footer`,ie=(0,Z.useRef)(U),ae=(0,Z.useRef)(!1),oe,se;t[29]!==V||t[30]!==r?(oe=()=>{if(V===`moving-to-footer`&&!ae.current){ae.current=!0,r({type:Y.FocusChatInput});return}V===`centered`&&(ae.current=!1)},se=[V,r],t[29]=V,t[30]=r,t[31]=oe,t[32]=se):(oe=t[31],se=t[32]),(0,Z.useEffect)(oe,se);let ce;t[33]!==d||t[34]!==o||t[35]!==u?(ce=()=>{if(!u||!P.current||o){u&&o&&d();return}let e=P.current,t=e.querySelector(`[data-window-id="${u}"]`);t&&(oT(e,t),d())},t[33]=d,t[34]=o,t[35]=u,t[36]=ce):ce=t[36];let le;t[37]!==d||t[38]!==o||t[39]!==u||t[40]!==i?(le=[d,o,u,i],t[37]=d,t[38]=o,t[39]=u,t[40]=i,t[41]=le):le=t[41],(0,Z.useEffect)(ce,le);let ue;t[42]!==a||t[43]!==o||t[44]!==f||t[45]!==U?(ue=()=>{let e=ie.current;if(ie.current=U,e||!U||!a||o)return;let t=P.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="${f}"]`);return e?(oT(n,e),!0):!1};if(r())return;let i=new ResizeObserver(()=>{r()&&i.disconnect()});return i.observe(n),()=>i.disconnect()},t[42]=a,t[43]=o,t[44]=f,t[45]=U,t[46]=ue):ue=t[46];let de;t[47]!==a||t[48]!==o||t[49]!==f||t[50]!==U||t[51]!==i?(de=[a,o,f,U,i],t[47]=a,t[48]=o,t[49]=f,t[50]=U,t[51]=i,t[52]=de):de=t[52],(0,Z.useEffect)(ue,de);let fe=!o&&f===`primary`,pe;t[53]!==r||t[54]!==m||t[55]!==p?(pe=()=>{p(Ze),m(Ze),r({type:Y.SetFocusedPane,paneId:`primary`})},t[53]=r,t[54]=m,t[55]=p,t[56]=pe):pe=t[56];let me;t[57]!==l||t[58]!==r||t[59]!==c||t[60]!==o||t[61]!==p?(me=()=>{if(o){l();return}p(Ze),r({type:Y.SetFocusedPane,paneId:`primary`}),c(Ze)},t[57]=l,t[58]=r,t[59]=c,t[60]=o,t[61]=p,t[62]=me):me=t[62];let he;t[63]===h?he=t[64]:(he=()=>h(Ze),t[63]=h,t[64]=he);let ge;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(AS,{paneId:Ze}),t[65]=ge):ge=t[65];let _e;t[66]!==n||t[67]!==N||t[68]!==j||t[69]!==fe||t[70]!==pe||t[71]!==me||t[72]!==he?(_e=(0,$.jsx)(IC,{title:j,showTitle:!0,selected:fe,onSelect:pe,onTitleDoubleClick:me,onClose:he,disableClose:N,footer:ge,className:aT,children:n}),t[66]=n,t[67]=N,t[68]=j,t[69]=fe,t[70]=pe,t[71]=me,t[72]=he,t[73]=_e):_e=t[73];let ve=_e,ye;t[74]!==n||t[75]!==V||t[76]!==s||t[77]!==re||t[78]!==a||t[79]!==o||t[80]!==g||t[81]!==ve||t[82]!==ne||t[83]!==i?(ye=a?(0,$.jsxs)(`div`,{ref:P,className:G(`h-full min-h-0`,o?`overflow-hidden`:`grid gap-3 overflow-auto p-3`),style:o?void 0:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 24rem), 1fr))`,gridAutoRows:`minmax(min(100%, 20rem), 1fr)`},children:[g?(0,$.jsx)(`div`,{"data-window-id":Ze,className:G(`min-h-0 min-w-0`,o&&`box-border h-full w-full p-3`,o&&s!==`primary`&&`hidden`),children:ve}):null,i.map(e=>{let t=e.panelId===`chat`?(0,$.jsx)(AS,{paneId:e.id}):void 0;return(0,$.jsx)(`div`,{"data-window-id":e.id,className:G(`min-h-0 min-w-0`,o&&`box-border h-full w-full p-3`,o&&s!==e.id&&`hidden`),children:(0,$.jsx)(iw,{instanceId:e.id,panelId:e.panelId,footer:t})},e.id)})]}):(0,$.jsx)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:G(`relative flex h-full min-h-0 flex-col`,A_(!1)),children:[ne?(0,$.jsx)(`div`,{"aria-hidden":!0,className:G(rT,re&&`animate-in fade-in duration-300 ease-out`)}):null,(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1 overflow-hidden`,children:n}),Cb(V)?(0,$.jsx)(`div`,{className:`relative z-10`,children:(0,$.jsx)(AS,{})}):null]})}),t[74]=n,t[75]=V,t[76]=s,t[77]=re,t[78]=a,t[79]=o,t[80]=g,t[81]=ve,t[82]=ne,t[83]=i,t[84]=ye):ye=t[84];let be=ye,xe;t[85]===be?xe=t[86]:(xe=(0,$.jsx)(`div`,{className:`relative z-10 min-h-0 flex-1`,children:be}),t[85]=be,t[86]=xe);let Se;t[87]!==y||t[88]!==v||t[89]!==F?(Se=F&&v&&y?(0,$.jsx)(Uu,{threadId:v,children:(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(iT,{projectId:y,threadId:v,layout:`bar`},v)})}):null,t[87]=y,t[88]=v,t[89]=F,t[90]=Se):Se=t[90];let Ce;t[91]===Se?Ce=t[92]:(Ce=(0,$.jsx)(`div`,{className:`hidden justify-self-start md:block`,children:Se}),t[91]=Se,t[92]=Ce);let W;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(`div`,{className:`justify-self-center md:col-start-2`,children:(0,$.jsx)(Kw,{})}),t[93]=W):W=t[93];let we;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(`div`,{className:`flex items-center justify-end gap-2 justify-self-end`,children:TC()?null:(0,$.jsx)(Fw,{})}),t[94]=we):we=t[94];let Te;t[95]===Ce?Te=t[96]:(Te=(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:[Ce,W,we]}),t[95]=Ce,t[96]=Te);let Ee;t[97]!==xe||t[98]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[xe,Te]}),t[97]=xe,t[98]=Te,t[99]=Ee):Ee=t[99];let De;return t[100]!==V||t[101]!==H||t[102]!==a||t[103]!==Ee?(De=(0,$.jsx)(yb,{placement:`footer`,embedded:a,composerPhase:V,composerReveal:H,children:Ee}),t[100]=V,t[101]=H,t[102]=a,t[103]=Ee,t[104]=De):De=t[104],De}function cT(){return!1}function lT(e){return e.activeStreamPane}function uT(e){return e.pendingChatMessage}function dT(e){return e.processingThreadIds}function fT(e){return e.isCreatingProject}function pT(e){return ss(e,Ze)}function mT(e){return ns(e,Ze)}function hT(e){return e.selectedProjectId}function gT(e){return e.selectedThreadId}function _T(e){return e.projects}function vT(e,t){for(let n of e){if(n.type!==`tool_use`||n.name!==`open_widget`)continue;let e=Xg(n.input);e.url&&t.push({id:n.id,url:e.url,title:e.title})}}function yT(e){let t=[],n=new Set;for(let r of e){let e=Go(r.content);if(!e)continue;let i=t.length;vT(e,t);for(let e=i;e<t.length;e++){let r=t[e];if(n.has(r.id)){t.splice(e,1),--e;continue}n.add(r.id)}}return t}function bT(){let e=(0,Q.c)(5),t=Es(),n=X(ST),r=X(xT),i,a;e[0]!==t||e[1]!==n||e[2]!==r?(i=()=>{if(!r)return;let e=yT(n);e.length!==0&&t({type:Y.SyncOpenWidgetsFromMessages,widgets:e})},a=[t,n,r],e[0]=t,e[1]=n,e[2]=r,e[3]=i,e[4]=a):(i=e[3],a=e[4]),(0,Z.useEffect)(i,a)}function xT(e){return e.messagesLoaded}function ST(e){return e.messages}var CT=768;function wT(){let e=(0,Q.c)(2),[t,n]=Z.useState(TT),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${CT-1}px)`),t=()=>{n(window.innerWidth<CT)};return e.addEventListener(`change`,t),n(window.innerWidth<CT),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),t}function TT(){return typeof window>`u`?!1:window.innerWidth<CT}function ET(){let e=(0,Q.c)(7),t=Es(),n=wT(),r=X(OT),i=X(DT),a=i.length>0&&!n&&!!r,o;e[0]!==t||e[1]!==i?(o=e=>{let n=i.find(t=>t.id===e);n&&(i.some(t=>t.id!==e&&is(t.url)===is(n.url))||Mh(n.url),t({type:Y.CloseWidget,id:e}))},e[0]=t,e[1]=i,e[2]=o):o=e[2];let s=o,c;return e[3]!==s||e[4]!==a||e[5]!==i?(c={openWidgets:i,isWidgetPanelOpen:a,closeWidget:s},e[3]=s,e[4]=a,e[5]=i,e[6]=c):c=e[6],c}function DT(e){return e.openWidgets}function OT(e){return e.selectedThreadId}var kT=320;function AT(e){let t=(0,Q.c)(45),{widget:n,onClose:r}=e,{url:i,title:a,id:o}=n,s=(0,Z.useRef)(null),c;t[0]===i?c=t[1]:(c=()=>_h(i)?.status,t[0]=i,t[1]=c);let[l,u]=(0,Z.useState)(c),d;t[2]===i?d=t[3]:(d=()=>_h(i)?.error,t[2]=i,t[3]=d);let[f,p]=(0,Z.useState)(d),m,h;t[4]===i?(m=t[5],h=t[6]):(m=()=>vh(i,()=>{let e=_h(i);u(e?.status),p(e?.error)}),h=[i],t[4]=i,t[5]=m,t[6]=h),(0,Z.useEffect)(m,h);let g,_;t[7]===i?(g=t[8],_=t[9]):(g=()=>{let e=s.current;return jh(i,e),()=>{jh(i,null)}},_=[i],t[7]=i,t[8]=g,t[9]=_),(0,Z.useEffect)(g,_);let v;t[10]!==a||t[11]!==i?(v=os(a,i),t[10]=a,t[11]=i,t[12]=v):v=t[12];let y=v,x=l===`loading`||l===`discovering`,S=l===void 0||l===`loading`||l===`discovering`,C,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(C=G(b.label,`flex items-center gap-2 border-b border-border px-3 py-2`),w=(0,$.jsx)(Qt,{className:`h-4 w-4 shrink-0 text-brand`}),t[13]=C,t[14]=w):(C=t[13],w=t[14]);let T;t[15]===y?T=t[16]:(T=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate cursor-default`,children:y})}),t[15]=y,t[16]=T);let E;t[17]===i?E=t[18]:(E=(0,$.jsx)(Pr,{className:`max-w-md break-all`,children:i}),t[17]=i,t[18]=E);let D;t[19]!==T||t[20]!==E?(D=(0,$.jsxs)(Mi,{children:[T,E]}),t[19]=T,t[20]=E,t[21]=D):D=t[21];let O;t[22]===x?O=t[23]:(O=x&&(0,$.jsx)(K,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground`}),t[22]=x,t[23]=O);let k;t[24]!==o||t[25]!==r?(k=()=>r(o),t[24]=o,t[25]=r,t[26]=k):k=t[26];let A=`Close ${y}`,j;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(tt,{className:`h-4 w-4`}),t[27]=j):j=t[27];let M;t[28]!==k||t[29]!==A?(M=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:k,"aria-label":A,children:j})}),t[28]=k,t[29]=A,t[30]=M):M=t[30];let N;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Pr,{children:`Close widget`}),t[31]=N):N=t[31];let P;t[32]===M?P=t[33]:(P=(0,$.jsxs)(Mi,{children:[M,N]}),t[32]=M,t[33]=P);let F;t[34]!==D||t[35]!==O||t[36]!==P?(F=(0,$.jsxs)(`div`,{className:C,children:[w,D,O,P]}),t[34]=D,t[35]=O,t[36]=P,t[37]=F):F=t[37];let I;t[38]!==f||t[39]!==S||t[40]!==l?(I=l===`error`?(0,$.jsxs)(`div`,{className:G(b.bodyMuted,`border-destructive/40 bg-destructive/5 space-y-1 p-3`),children:[(0,$.jsx)(`div`,{className:`font-medium text-destructive`,children:`Failed to load widget`}),(0,$.jsx)(`div`,{className:`break-words`,children:f??`Unknown error`})]}):(0,$.jsx)(`div`,{ref:s,className:`flex items-center justify-center overflow-hidden rounded-b-lg bg-background`,style:{height:kT},children:S&&(0,$.jsx)(K,{className:`h-5 w-5 animate-spin text-muted-foreground`,"aria-label":`Loading widget`})}),t[38]=f,t[39]=S,t[40]=l,t[41]=I):I=t[41];let L;return t[42]!==F||t[43]!==I?(L=(0,$.jsxs)(`div`,{className:`min-w-0 max-w-full flex-[1_1_380px] overflow-hidden rounded-lg border border-border bg-background`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44],L}function jT(){let e=(0,Q.c)(7),{openWidgets:t,closeWidget:n}=ET();if(t.length===0)return null;let r;if(e[0]!==n||e[1]!==t){let i;e[3]===n?i=e[4]:(i=e=>(0,$.jsx)(AT,{widget:e,onClose:n},e.id),e[3]=n,e[4]=i),r=t.map(i),e[0]=n,e[1]=t,e[2]=r}else r=e[2];let i;return e[5]===r?i=e[6]:(i=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-4 p-4`,children:r}),e[5]=r,e[6]=i),i}function MT(){let e=(0,Q.c)(1);bT();let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:(0,$.jsx)(Na,{className:`min-h-0 flex-1`,children:(0,$.jsx)(jT,{})})}),e[0]=t):t=e[0],t}var NT=768;function PT(){let e=(0,Q.c)(2),[t,n]=Z.useState(void 0),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(max-width: ${NT-1}px)`),t=()=>{n(window.innerWidth<NT)};return e.addEventListener(`change`,t),n(window.innerWidth<NT),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),Z.useEffect(r,i),!!t}var FT=M(`app.use-chat-history.hook`);function IT(){let e=Es(),t=xs(),n=X(e=>e.selectedThreadId);(0,Z.useEffect)(()=>{if(!n)return;let r=n,i=!1;async function a(){if(!lc(t.getState().threadToolSessions[r]))try{let[n,a]=await Promise.all([qr(r),Po(r).catch(e=>(FT.error(`Failed to load thread metadata for conversation id:`,e),null))]);if(i)return;let o=Zo(r,{hasSession:()=>!1,streamingStates:t.getState().threadStreamingStates});o||e({type:Y.SetMessages,messages:n.messages});let s=a?.currentConversationId?.trim()||void 0;if(s&&e({type:Y.SetPrimaryConversationId,conversationId:s}),o)return;So.invalidate(`processing-threads`);let c=await ia();if(i)return;e({type:Y.SetProcessingThreads,threadIds:c})}catch(t){FT.error(`Failed to load chat history:`,t),i||(e({type:Y.SetMessages,messages:[]}),e({type:Y.ResetStream,threadId:r,paneId:`primary`}))}}return a(),()=>{i=!0}},[n,X(e=>e.selectedProjectId),e,t])}function LT(){let e=(0,Q.c)(8),t=Es(),n=xs(),r=X(RT),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,nc(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 RT(e){if(!e.selectedThreadId)return null;let t=e.threadToolSessions[e.selectedThreadId];return t&&lc(t)?t:null}var zT=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)(ln,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a},BT=rr,VT=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)(v,{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)(tr,{className:a,...r,children:o}),t[8]=r,t[9]=a,t[10]=o,t[11]=s):s=t[11],s},HT=(0,Z.lazy)(()=>Wo(()=>import(`./diff-view-Cy5PjlG_.js`),__vite__mapDeps([15,1,4,5,6,7,16,17,18,19,20,9,21,22]))),UT=(0,Z.lazy)(()=>Wo(()=>import(`./create-project-dialog-DW4oGrl2.js`),__vite__mapDeps([29,1,27,6,7]))),WT=M(`chat.area`);function GT(e){let t=(0,Q.c)(45),{onCreateThread:n,onSubmitClone:r,onSubmitWebApp:i,onSubmitFolder:a,onOpenFolder:o}=e,s=Es(),c=Gn(),l=Vn(),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),m=X(XT),{isWidgetPanelOpen:h}=ET(),g=PT(),_;t[0]===s?_=t[1]:(_=()=>{s({type:Y.CloseSidebar})},t[0]=s,t[1]=_);let v=_,y;t[2]===v?y=t[3]:(y=()=>{v(),p(`clone`),d(!0)},t[2]=v,t[3]=y);let b=y,x;t[4]===v?x=t[5]:(x=()=>{v(),p(`webapp`),d(!0)},t[4]=v,t[5]=x);let S=x,C;t[6]===r?C=t[7]:(C=async(e,t)=>{d(!1),p(null),await r(e,t).catch(YT)},t[6]=r,t[7]=C);let w=C,T;t[8]===i?T=t[9]:(T=async(e,t,n)=>{d(!1),p(null),await i(e,t,n).catch(JT)},t[8]=i,t[9]=T);let E=T,D;t[10]!==v||t[11]!==o?(D=async()=>{v(),d(!1),p(null),await o().catch(qT)},t[10]=v,t[11]=o,t[12]=D):D=t[12];let O=D,k;t[13]===a?k=t[14]:(k=async e=>{d(!1),p(null),await a(e).catch(KT)},t[13]=a,t[14]=k);let A=k,j=l.pathname===`/review`,M;t[15]===c?M=t[16]:(M=()=>{c(`/`)},t[15]=c,t[16]=M);let N=M;IT(),LT();let P=!j,F=P&&h&&!g,I;t[17]!==b||t[18]!==S||t[19]!==O||t[20]!==n||t[21]!==F?(I=(0,$.jsx)(tC,{paneId:`primary`,fillPane:F,onCreateThread:n,showEmptyState:!0,hideInput:!0,onConnectRepo:b,onNewApp:S,onOpenFolder:O}),t[17]=b,t[18]=S,t[19]=O,t[20]=n,t[21]=F,t[22]=I):I=t[22];let L=I,R;t[23]!==L||t[24]!==P||t[25]!==F?(R=F?(0,$.jsxs)(zT,{direction:`horizontal`,className:`h-full`,children:[(0,$.jsx)(BT,{defaultSize:55,minSize:30,children:L}),(0,$.jsx)(VT,{withHandle:!0}),(0,$.jsx)(BT,{defaultSize:45,minSize:25,className:`border-l border-border`,children:(0,$.jsx)(MT,{})})]}):P?L:null,t[23]=L,t[24]=P,t[25]=F,t[26]=R):R=t[26];let z=R,B;t[27]!==z||t[28]!==N||t[29]!==j||t[30]!==m||t[31]!==P?(B=j&&m?(0,$.jsx)(Uu,{threadId:m,children:(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(ca,{}),children:(0,$.jsx)(HT,{threadId:m,onExit:N})})}):P?(0,$.jsx)(sT,{children:z}):null,t[27]=z,t[28]=N,t[29]=j,t[30]=m,t[31]=P,t[32]=B):B=t[32];let V=f??void 0,H;t[33]!==u||t[34]!==A||t[35]!==w||t[36]!==E||t[37]!==V?(H=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(UT,{open:u,onOpenChange:d,initialMode:V,onSubmitClone:w,onSubmitWebApp:E,onSubmitFolder:A})}),t[33]=u,t[34]=A,t[35]=w,t[36]=E,t[37]=V,t[38]=H):H=t[38];let U;t[39]!==B||t[40]!==H?(U=(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[B,H]}),t[39]=B,t[40]=H,t[41]=U):U=t[41];let ee;return t[42]!==m||t[43]!==U?(ee=(0,$.jsx)(ep,{threadId:m,children:U}),t[42]=m,t[43]=U,t[44]=ee):ee=t[44],ee}function KT(e){WT.error(`Failed to create folder`,{err:e})}function qT(e){WT.error(`Failed to open folder`,{err:e})}function JT(e){WT.error(`Failed to create project`,{err:e})}function YT(e){WT.error(`Failed to clone repository`,{err:e})}function XT(e){return e.selectedThreadId}var ZT=1e3;function QT(e){return!Number.isFinite(e)||e<=0?`+$0.00`:`+$${(Math.round(e*100)/100).toFixed(2)}`}function $T(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 eE(e){return 300+(Math.max(e,1)-1)*30}function tE(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(b.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 nE(e){return ke(e).split(``)}function rE(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 iE(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=nE(n),i=nE(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)(rE,{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}var aE=mn,oE=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)(gn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});oE.displayName=gn.displayName;var sE=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)(jn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});sE.displayName=jn.displayName;var cE=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)(Rn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});cE.displayName=Rn.displayName;var lE=M(`app.use-current-conversation-spend.hook`);function uE(e,t=``){let n=X(e=>e.focusedPane),r=X(e=>n===es?void 0:$o(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)(!1),S=n===es?i:r;(0,Z.useEffect)(()=>{let t=!1;async function r(){if(!e||n!==es){a(void 0);return}try{let n=await Po(e);if(t)return;a(n.currentConversationId)}catch(e){lE.error(`Failed to resolve current conversation id`,e),t||a(void 0)}}return r(),()=>{t=!0}},[n,t,e]);let C=(0,Z.useCallback)(async function(){if(!e||!S){s(0),l(0),d(0),p(0),h(0),_(0),y(0),x(!1);return}x(!0);try{let t=await Ji(e,S);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)}catch(e){if(e instanceof Error&&e.message===`Conversation not found`){s(0),l(0),d(0),p(0),h(0),_(0),y(0);return}lE.error(`Failed to load current conversation spend`,e),s(0),l(0),d(0),p(0),h(0),_(0),y(0)}finally{x(!1)}},[S,e]);return(0,Z.useEffect)(()=>{C()},[C,t]),{conversationId:S,totalCost:o,inputTokens:c,outputTokens:u,cacheReadTokens:f,cacheWriteTokens:m,cacheReadCost:g,cacheWriteCost:v,isLoading:b,refresh:C}}var dE=M(`app.use-daily-spend.hook`);function fE(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)(!0),[F,I]=(0,Z.useState)(0),L=(0,Z.useRef)(0),R=(0,Z.useCallback)(async function(){let e=++L.current;try{let t=await Nr();if(e!==L.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),I(e=>e+1)}catch(t){if(e!==L.current)return;dE.error(`Failed to load daily spend summary`,t)}finally{e===L.current&&P(!1)}},[]);return(0,Z.useEffect)(()=>{R()},[R,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,isLoading:N,refreshGeneration:F,refresh:R}}function pE(){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 mE({todayFromApi:e,refreshSignal:t,refreshGeneration:n,isLoading:r}){let i=pE(),[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=eE(ke(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)},ZT)},(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=$T(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?QT(l):null,flipFromAmount:a,flipToAmount:a+l,isFlipping:s===`flip`,flipKey:d}}function hE(){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],Gy(t)}var gE=`h-auto rounded-full border bg-muted/40`,_E=`rounded-full px-4 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:shadow-sm`;function vE(e){return!Number.isFinite(e)||e<=0?`0%`:`${(e*100).toFixed(1)}%`}function yE(e){let t=(0,Q.c)(39),{todayInputTokens:n,todayCacheReadTokens:r,todayCacheWriteTokens:i,todayCacheReadCost:a,todayCacheWriteCost:o}=e,s,c,l,u,d,f,p,m,h,g;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=Pt(r,I(n,r,i));g=`space-y-1 pt-3`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:b.label,children:`Prompt cache`}),t[13]=c):c=t[13],s=b.bodyMuted,t[14]===r?l=t[15]:(l=Fe(r),t[14]=r,t[15]=l),u=` cache read /`,d=` `,t[16]===i?f=t[17]:(f=Fe(i),t[16]=i,t[17]=f),p=` cache write tokens ·`,m=` `,h=vE(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}else s=t[3],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];let _;t[18]!==s||t[19]!==l||t[20]!==u||t[21]!==d||t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h?(_=(0,$.jsxs)(`div`,{className:s,children:[l,u,d,f,p,m,h,` hit rate`]}),t[18]=s,t[19]=l,t[20]=u,t[21]=d,t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=_):_=t[26];let v;t[27]===a?v=t[28]:(v=ke(a),t[27]=a,t[28]=v);let y;t[29]===o?y=t[30]:(y=ke(o),t[29]=o,t[30]=y);let x;t[31]!==v||t[32]!==y?(x=(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[v,` cache read cost /`,` `,y,` cache write cost`]}),t[31]=v,t[32]=y,t[33]=x):x=t[33];let S;return t[34]!==c||t[35]!==_||t[36]!==x||t[37]!==g?(S=(0,$.jsxs)(`div`,{className:g,children:[c,_,x]}),t[34]=c,t[35]=_,t[36]=x,t[37]=g,t[38]=S):S=t[38],S}function bE(e){let t=(0,Q.c)(39),{last30DaysInputTokens:n,last30DaysCacheReadTokens:r,last30DaysCacheWriteTokens:i,last30DaysCacheReadCost:a,last30DaysCacheWriteCost:o}=e,s,c,l,u,d,f,p,m,h,g;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=Pt(r,I(n,r,i));g=`space-y-1 pt-3`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:b.label,children:`Prompt cache`}),t[13]=c):c=t[13],s=b.bodyMuted,t[14]===r?l=t[15]:(l=Fe(r),t[14]=r,t[15]=l),u=` cache read /`,d=` `,t[16]===i?f=t[17]:(f=Fe(i),t[16]=i,t[17]=f),p=` cache write tokens ·`,m=` `,h=vE(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}else s=t[3],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];let _;t[18]!==s||t[19]!==l||t[20]!==u||t[21]!==d||t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h?(_=(0,$.jsxs)(`div`,{className:s,children:[l,u,d,f,p,m,h,` hit rate`]}),t[18]=s,t[19]=l,t[20]=u,t[21]=d,t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=_):_=t[26];let v;t[27]===a?v=t[28]:(v=ke(a),t[27]=a,t[28]=v);let y;t[29]===o?y=t[30]:(y=ke(o),t[29]=o,t[30]=y);let x;t[31]!==v||t[32]!==y?(x=(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[v,` cache read cost /`,` `,y,` cache write cost`]}),t[31]=v,t[32]=y,t[33]=x):x=t[33];let S;return t[34]!==c||t[35]!==_||t[36]!==x||t[37]!==g?(S=(0,$.jsxs)(`div`,{className:g,children:[c,_,x]}),t[34]=c,t[35]=_,t[36]=x,t[37]=g,t[38]=S):S=t[38],S}function xE(e){let t=(0,Q.c)(21),{todayLabel:n,todayInputTokens:r,todayOutputTokens:i,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c,todayCompressionBytesSaved:l}=e,u=r>0||i>0||a>0||o>0,d=a>0||o>0||s>0||c>0,f=l>0,p;t[0]===n?p=t[1]:(p=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[n,` spent`]})}),t[0]=n,t[1]=p);let m;t[2]!==u||t[3]!==r||t[4]!==i?(m=u?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(r),` input / `,Fe(i),` `,`output tokens`]})]}):null,t[2]=u,t[3]=r,t[4]=i,t[5]=m):m=t[5];let h;t[6]!==d||t[7]!==s||t[8]!==a||t[9]!==c||t[10]!==o||t[11]!==r?(h=d?(0,$.jsx)(yE,{todayInputTokens:r,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c}):null,t[6]=d,t[7]=s,t[8]=a,t[9]=c,t[10]=o,t[11]=r,t[12]=h):h=t[12];let g;t[13]!==f||t[14]!==l?(g=f?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[je(l),` saved`]})]}):null,t[13]=f,t[14]=l,t[15]=g):g=t[15];let _;return t[16]!==p||t[17]!==m||t[18]!==h||t[19]!==g?(_=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[p,m,h,g]}),t[16]=p,t[17]=m,t[18]=h,t[19]=g,t[20]=_):_=t[20],_}function SE(e){let t=(0,Q.c)(21),{totalCost:n,inputTokens:r,outputTokens:i,cacheReadTokens:a,cacheWriteTokens:o,cacheReadCost:s,cacheWriteCost:c,hasConversation:l,isLoading:u}=e;if(!l){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:b.bodyMuted,children:`Start a conversation to see spend for the current chat.`}),t[0]=e):e=t[0],e}if(u){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:b.bodyMuted,children:`Loading current chat spend…`}),t[1]=e):e=t[1],e}let d;t[2]===n?d=t[3]:(d=ke(n),t[2]=n,t[3]=d);let f=d,p=r>0||i>0||a>0||o>0,m=a>0||o>0||s>0||c>0,h=n>0?`${f} spent`:`No spend recorded yet`,g;t[4]===h?g=t[5]:(g=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`div`,{children:h})}),t[4]=h,t[5]=g);let _;t[6]!==p||t[7]!==r||t[8]!==i?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(r),` input / `,Fe(i),` output tokens`]})]}):null,t[6]=p,t[7]=r,t[8]=i,t[9]=_):_=t[9];let v;t[10]!==s||t[11]!==a||t[12]!==c||t[13]!==o||t[14]!==m||t[15]!==r?(v=m?(0,$.jsx)(yE,{todayInputTokens:r,todayCacheReadTokens:a,todayCacheWriteTokens:o,todayCacheReadCost:s,todayCacheWriteCost:c}):null,t[10]=s,t[11]=a,t[12]=c,t[13]=o,t[14]=m,t[15]=r,t[16]=v):v=t[16];let y;return t[17]!==g||t[18]!==_||t[19]!==v?(y=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v]}),t[17]=g,t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function CE(e){let t=(0,Q.c)(22),{last30DaysLabel:n,averagePerDayLabel:r,last30DaysInputTokens:i,last30DaysOutputTokens:a,last30DaysCacheReadTokens:o,last30DaysCacheWriteTokens:s,last30DaysCacheReadCost:c,last30DaysCacheWriteCost:l,last30DaysCompressionBytesSaved:u}=e,d=i>0||a>0||o>0||s>0,f=o>0||s>0||c>0||l>0,p=u>0,m;t[0]!==r||t[1]!==n?(m=(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{children:[n,` spent · `,r,`/day average`]})}),t[0]=r,t[1]=n,t[2]=m):m=t[2];let h;t[3]!==d||t[4]!==i||t[5]!==a?(h=d?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tokens`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[Fe(i),` input /`,` `,Fe(a),` output tokens`]})]}):null,t[3]=d,t[4]=i,t[5]=a,t[6]=h):h=t[6];let g;t[7]!==f||t[8]!==c||t[9]!==o||t[10]!==l||t[11]!==s||t[12]!==i?(g=f?(0,$.jsx)(bE,{last30DaysInputTokens:i,last30DaysCacheReadTokens:o,last30DaysCacheWriteTokens:s,last30DaysCacheReadCost:c,last30DaysCacheWriteCost:l}):null,t[7]=f,t[8]=c,t[9]=o,t[10]=l,t[11]=s,t[12]=i,t[13]=g):g=t[13];let _;t[14]!==p||t[15]!==u?(_=p?(0,$.jsxs)(`div`,{className:`space-y-1 pt-3`,children:[(0,$.jsx)(`div`,{className:b.label,children:`Tool output compression`}),(0,$.jsxs)(`div`,{className:b.bodyMuted,children:[je(u),` saved`]})]}):null,t[14]=p,t[15]=u,t[16]=_):_=t[16];let v;return t[17]!==m||t[18]!==h||t[19]!==g||t[20]!==_?(v=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[m,h,g,_]}),t[17]=m,t[18]=h,t[19]=g,t[20]=_,t[21]=v):v=t[21],v}function wE(){let e=(0,Q.c)(94),t=X(EE),n=X(TE),r=jb(),i;e[0]===t?i=e[1]:(i=t.join(`,`),e[0]=t,e[1]=i);let a=i,{isEnabled:o,isLoading:s}=hE(),{today:c,last30Days:l,todayInputTokens:u,todayOutputTokens:d,last30DaysInputTokens:f,last30DaysOutputTokens:p,todayCacheReadTokens:m,todayCacheWriteTokens:h,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,todayCacheReadCost:v,todayCacheWriteCost:y,last30DaysCacheReadCost:x,last30DaysCacheWriteCost:S,todayCompressionBytesSaved:C,last30DaysCompressionBytesSaved:w,isLoading:T,refreshGeneration:E}=fE(a),D;e[2]!==T||e[3]!==E||e[4]!==a||e[5]!==c?(D={todayFromApi:c,refreshSignal:a,refreshGeneration:E,isLoading:T},e[2]=T,e[3]=E,e[4]=a,e[5]=c,e[6]=D):D=e[6];let{isAnimating:O,phase:k,deltaLabel:A,flipFromAmount:j,flipToAmount:M,isFlipping:N,flipKey:P}=mE(D),{conversationId:F,totalCost:I,inputTokens:L,outputTokens:R,cacheReadTokens:z,cacheWriteTokens:B,cacheReadCost:V,cacheWriteCost:H,isLoading:U}=uE(n,a),[ee,te]=(0,Z.useState)(!1);if(!o||s||T||c===0&&!O)return null;let ne=l/30,re;e[7]===c?re=e[8]:(re=ke(c),e[7]=c,e[8]=re);let ie=re,ae;e[9]===l?ae=e[10]:(ae=ke(l),e[9]=l,e[10]=ae);let oe=ae,se;e[11]===ne?se=e[12]:(se=ke(ne),e[11]=ne,e[12]=se);let ce=se,le;e[13]===I?le=e[14]:(le=ke(I),e[13]=I,e[14]=le);let ue=le,de=r?Ic:`text-foreground hover:text-foreground/80`,fe;e[15]===de?fe=e[16]:(fe=G(b.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`,de),e[15]=de,e[16]=fe);let pe;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(pe=()=>te(!0),e[17]=pe):pe=e[17];let me;e[18]!==j||e[19]!==P||e[20]!==M||e[21]!==N?(me=(0,$.jsx)(`span`,{className:`col-start-1 row-start-1`,children:(0,$.jsx)(iE,{fromAmount:j,toAmount:M,isFlipping:N,flipKey:P})}),e[18]=j,e[19]=P,e[20]=M,e[21]=N,e[22]=me):me=e[22];let he;e[23]!==A||e[24]!==k?(he=A&&(k===`hold`||k===`fade`)?(0,$.jsx)(`span`,{className:`col-start-1 row-start-1 invisible font-bold`,"aria-hidden":`true`,children:A}):null,e[23]=A,e[24]=k,e[25]=he):he=e[25];let ge;e[26]!==he||e[27]!==me?(ge=(0,$.jsxs)(`span`,{className:`inline-grid items-center justify-items-center`,children:[me,he]}),e[26]=he,e[27]=me,e[28]=ge):ge=e[28];let _e;e[29]!==A||e[30]!==k?(_e=A?(0,$.jsx)(tE,{deltaLabel:A,phase:k}):null,e[29]=A,e[30]=k,e[31]=_e):_e=e[31];let ve;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(`span`,{className:`sr-only`,children:`View spend details`}),e[32]=ve):ve=e[32];let ye;e[33]!==ge||e[34]!==_e||e[35]!==fe?(ye=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:fe,onClick:pe,children:[ge,_e,ve]})}),e[33]=ge,e[34]=_e,e[35]=fe,e[36]=ye):ye=e[36];let be;e[37]===ie?be=e[38]:(be=(0,$.jsxs)(`div`,{children:[ie,` spent today`]}),e[37]=ie,e[38]=be);let xe;e[39]===ue?xe=e[40]:(xe=(0,$.jsxs)(`div`,{children:[ue,` · This Chat`]}),e[39]=ue,e[40]=xe);let Se;e[41]===oe?Se=e[42]:(Se=(0,$.jsxs)(`div`,{children:[oe,` spend last 30 days`]}),e[41]=oe,e[42]=Se);let Ce;e[43]===ce?Ce=e[44]:(Ce=(0,$.jsxs)(`div`,{children:[ce,` average per day`]}),e[43]=ce,e[44]=Ce);let W;e[45]!==be||e[46]!==xe||e[47]!==Se||e[48]!==Ce?(W=(0,$.jsxs)(Pr,{className:`space-y-1`,children:[be,xe,Se,Ce]}),e[45]=be,e[46]=xe,e[47]=Se,e[48]=Ce,e[49]=W):W=e[49];let we;e[50]!==ye||e[51]!==W?(we=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[ye,W]})}),e[50]=ye,e[51]=W,e[52]=we):we=e[52];let Te;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(wr,{children:(0,$.jsx)(Ra,{children:`Spend`})}),e[53]=Te):Te=e[53];let Ee;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsxs)(oE,{className:gE,children:[(0,$.jsx)(sE,{value:`today`,className:_E,children:`Today`}),(0,$.jsx)(sE,{value:`currentChat`,className:_E,children:`This Chat`}),(0,$.jsx)(sE,{value:`last30Days`,className:_E,children:`Last 30 Days`})]}),e[54]=Ee):Ee=e[54];let De;e[55]!==v||e[56]!==m||e[57]!==y||e[58]!==h||e[59]!==C||e[60]!==u||e[61]!==ie||e[62]!==d?(De=(0,$.jsx)(cE,{value:`today`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(xE,{todayLabel:ie,todayInputTokens:u,todayOutputTokens:d,todayCacheReadTokens:m,todayCacheWriteTokens:h,todayCacheReadCost:v,todayCacheWriteCost:y,todayCompressionBytesSaved:C})}),e[55]=v,e[56]=m,e[57]=y,e[58]=h,e[59]=C,e[60]=u,e[61]=ie,e[62]=d,e[63]=De):De=e[63];let Oe=!!(n&&F),Ae;e[64]!==V||e[65]!==z||e[66]!==H||e[67]!==B||e[68]!==I||e[69]!==L||e[70]!==R||e[71]!==U||e[72]!==Oe?(Ae=(0,$.jsx)(cE,{value:`currentChat`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(SE,{totalCost:I,inputTokens:L,outputTokens:R,cacheReadTokens:z,cacheWriteTokens:B,cacheReadCost:V,cacheWriteCost:H,hasConversation:Oe,isLoading:U})}),e[64]=V,e[65]=z,e[66]=H,e[67]=B,e[68]=I,e[69]=L,e[70]=R,e[71]=U,e[72]=Oe,e[73]=Ae):Ae=e[73];let je;e[74]!==ce||e[75]!==x||e[76]!==g||e[77]!==S||e[78]!==_||e[79]!==w||e[80]!==f||e[81]!==oe||e[82]!==p?(je=(0,$.jsx)(cE,{value:`last30Days`,className:`h-[400px] max-h-[90vh] overflow-y-auto`,children:(0,$.jsx)(CE,{last30DaysLabel:oe,averagePerDayLabel:ce,last30DaysInputTokens:f,last30DaysOutputTokens:p,last30DaysCacheReadTokens:g,last30DaysCacheWriteTokens:_,last30DaysCacheReadCost:x,last30DaysCacheWriteCost:S,last30DaysCompressionBytesSaved:w})}),e[74]=ce,e[75]=x,e[76]=g,e[77]=S,e[78]=_,e[79]=w,e[80]=f,e[81]=oe,e[82]=p,e[83]=je):je=e[83];let Me;e[84]!==De||e[85]!==Ae||e[86]!==je?(Me=(0,$.jsxs)(Fr,{className:`max-w-xl`,children:[Te,(0,$.jsxs)(aE,{defaultValue:`today`,className:`h-[400px] max-h-[90vh]`,children:[Ee,De,Ae,je]})]}),e[84]=De,e[85]=Ae,e[86]=je,e[87]=Me):Me=e[87];let Ne;e[88]!==ee||e[89]!==Me?(Ne=(0,$.jsx)(Ni,{open:ee,onOpenChange:te,children:Me}),e[88]=ee,e[89]=Me,e[90]=Ne):Ne=e[90];let Pe;return e[91]!==we||e[92]!==Ne?(Pe=(0,$.jsxs)($.Fragment,{children:[we,Ne]}),e[91]=we,e[92]=Ne,e[93]=Pe):Pe=e[93],Pe}function TE(e){return e.selectedThreadId}function EE(e){return e.completedThreadIds}function DE(){let e=(0,Q.c)(15),{resolvedTheme:t,setTheme:n}=gc(),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`,Ic),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)($t,{className:`h-4 w-4`}):(0,$.jsx)(He,{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)(Ii,{asChild:!0,children:(0,$.jsx)(No,{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)(Pr,{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 OE(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 kE(){let e=(0,Q.c)(15),t=Es(),n=xs(),r=Gn(),i=Vn(),{toast:a}=Ls(),{selectWindow:o,revealWindow:s,expandWindow:c,hasOpenWindows:l}=Ys(),{setActiveMainTab:u}=qs(),{handleSelectThread:d,refreshProjects:f}=Pw(),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=OE(n.getState().projects,e);if(p||=(await f(),OE(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(Ze);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=we();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 AE(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)(wr,{children:[(0,$.jsx)(Ra,{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)(aa,{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)(Io,{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)(aa,{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)(Io,{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)(aa,{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)(sx,{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)(K,{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)(Ba,{children:(0,$.jsx)(No,{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)(Fr,{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 jE({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),ai().then(e=>{t||r(e)}).catch(()=>{t||(r([]),Rs({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 xi(i),r(e=>e.filter(e=>e.id!==i)),a(null)}catch{Rs({title:`Unable to kill process`,description:`The process may have already exited.`,variant:`destructive`}),r(await ai().catch(()=>[])),a(null)}finally{l(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Fr,{children:[(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{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(b.bodyMuted,`flex items-center justify-center gap-2 py-10`),children:[(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}),`Loading processes...`]}):n.length===0?(0,$.jsx)(`div`,{className:G(b.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(b.label,`break-all font-mono select-text`),children:e.command}),(0,$.jsxs)(`span`,{className:G(b.caption,`break-all select-text`),children:[`PID `,e.pid,e.cwd?` · ${e.cwd}`:``]})]},e.id)})}),(0,$.jsx)(Ba,{children:(0,$.jsx)(No,{variant:`destructive`,disabled:!i||o||c,onClick:()=>void u(),children:c?`Killing...`:`Kill`})})]})})}var ME=M(`auth`);async function NE(e){await ea(`api/auth/request-code`,{email:e})}async function PE(e,t){return ea(`api/auth/verify`,{email:e,code:t})}async function FE(e){try{await ea(`api/auth/revoke`,{token:e})}catch(e){ME.error(`Failed to revoke auth token:`,e)}}async function IE(){try{return(await so(`api/auth/session`)).session??null}catch(e){return ME.error(`Failed to load auth session:`,e),null}}async function LE(e){await ea(`api/auth/session`,e)}async function RE(){await ea(`api/auth/logout`,{})}var zE=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function BE({open:e,onOpenChange:t,onVerified:n}){let[r,i]=(0,Z.useState)(`email`),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(null),[d,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1);function g(){i(`email`),c(``),u(null),p(!1),h(!1)}async function _(e){e.preventDefault();let t=a.trim().toLowerCase();if(!zE.test(t)){u(`Please enter a valid email address.`);return}u(null),p(!0);try{await NE(t),o(t),i(`code`)}catch(e){u(e instanceof Error?e.message:`Failed to send verification code.`)}finally{p(!1)}}async function v(e){if(!(e.length<6)){h(!0),u(null);try{let r=await PE(a,e);await n({token:r.token,expiresAt:r.expires_at,email:r.email,jti:r.jti}),t(!1),g()}catch(e){u(e instanceof Error?e.message:`That code didn't work. Try again.`),c(``)}finally{h(!1)}}}return(0,$.jsx)(Ni,{open:e,onOpenChange:e=>{e||g(),t(e)},children:(0,$.jsxs)(Fr,{className:`max-w-md`,children:[(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{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 ${a}.`})]}),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)(aa,{htmlFor:`login-email`,children:`Email`}),(0,$.jsx)(Io,{id:`login-email`,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:a,onChange:e=>o(e.target.value),disabled:d})]}),l?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:l}):null,(0,$.jsx)(Ba,{children:(0,$.jsx)(No,{type:`submit`,disabled:d||!a.trim(),children:d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{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)(Vt,{maxLength:6,value:s,onChange:v,disabled:m,autoFocus:!0,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(It,{index:0}),(0,$.jsx)(It,{index:1}),(0,$.jsx)(It,{index:2}),(0,$.jsx)(It,{index:3}),(0,$.jsx)(It,{index:4}),(0,$.jsx)(It,{index:5})]})})}),l?(0,$.jsx)(`p`,{className:`text-center text-sm text-destructive`,role:`alert`,children:l}):null,(0,$.jsxs)(Ba,{className:`justify-between sm:justify-between`,children:[(0,$.jsxs)(No,{type:`button`,variant:`ghost`,onClick:()=>{i(`email`),c(``),u(null)},disabled:m,children:[(0,$.jsx)(f,{className:`h-4 w-4`}),`Back`]}),m?(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}),`Verifying...`]}):null]})]})]})})}function VE(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`,b.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 HE(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 UE(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)(VE,{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)(HE,{filled:o}),t[4]=o,t[5]=s);let c;t[6]!==r||t[7]!==n||t[8]!==i?(c=(0,$.jsx)(VE,{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 WE={session:null,isLoading:!0},GE=new Set;function KE(){for(let e of GE)e()}function qE(){return WE}function JE(e){return GE.add(e),()=>GE.delete(e)}var YE=null;function XE(){return YE||=IE().then(e=>{WE={session:e,isLoading:!1}}).catch(()=>{WE={session:null,isLoading:!1}}).finally(()=>{KE()}),YE}function ZE(){let e=(0,Q.c)(4),{session:t,isLoading:n}=(0,Z.useSyncExternalStore)(JE,qE),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0],(0,Z.useEffect)(eD,r);let i=$E,a=QE,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 QE(){let e=WE.session?.token;e&&await FE(e),await RE(),WE={session:null,isLoading:!1},KE()}async function $E(e){await LE(e),WE={session:e,isLoading:!1},KE()}function eD(){XE()}function tD(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 xr(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 nD(){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),Ia().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 rD(e,t,n){await Sr(e,t,n)}async function iD(e,t){await Bo(e,t)}function aD(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 oD(e){return e.url?e.url:`${e.command??``} ${e.args?.join(` `)??``}`.trim()||void 0}function sD(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 cD(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 lD(e){return e.length?e.slice(0,3).map(e=>e.path?`${e.path}: ${e.message}`:e.message).join(`; `):`Check the validation details.`}function uD(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function dD(e){let t=(0,Q.c)(15),{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)(Xv,{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]===Symbol.for(`react.memo_cache_sentinel`)?(s=G(b.body,`truncate`),t[4]=s):s=t[4];let c;t[5]===n.name?c=t[6]:(c=(0,$.jsx)(`div`,{className:s,children:n.name}),t[5]=n.name,t[6]=c);let l;t[7]===n.detail?l=t[8]:(l=n.detail?(0,$.jsx)(`div`,{className:G(b.compact,`truncate font-mono text-muted-foreground`),children:n.detail}):null,t[7]=n.detail,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==o||t[13]!==u?(d=(0,$.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[o,u]}),t[12]=o,t[13]=u,t[14]=d):d=t[14],d}function fD({open:e,onOpenChange:t}){let{session:n,login:r,logout:i}=ZE(),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}=tD(o?.projectPath),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)([]),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(new Set),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(``),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(`1.0.0`),[k,A]=(0,Z.useState)(1);(0,Z.useEffect)(()=>{let e=!1;return a?(_(!0),yo(a).then(t=>{e||h(aD(t))}).catch(()=>{e||h([])}).finally(()=>{e||_(!1)}),()=>{e=!0}):(h([]),_(!1),()=>{e=!0})},[a]);let j=c.map(e=>({id:`mcp:${e.name}`,name:e.name,detail:oD(e.config)})).sort((e,t)=>e.name.localeCompare(t.name)),M=[...m,...j],N=M.map(e=>e.id),P=m.filter(e=>v.has(e.id)).map(e=>e.name),F=j.filter(e=>v.has(e.id)).map(e=>e.name),I=!g&&!l&&M.length>0,L=sD(x),R=L.length>0&&!!a,z=sD(s?`${s} Plugins`:``);function B(e){return e===1?k===2:I}function V(e){A(e)}function H(){k===2?A(1):t(!1)}(0,Z.useEffect)(()=>{e&&(y(new Set(N)),A(1),S(s?`${s} Plugins`:``),E(!1),O(`1.0.0`))},[e,a,m,c]),(0,Z.useEffect)(()=>{!e||T||w(cD(P,F))},[e,P,F,T]);function U(e,t){y(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})}async function ee(){if(!(!a||!z)){p(!0);try{uD(await za(a,{skillNames:P,mcpServerNames:F,manifest:{name:z,description:cD(P,F),version:`1.0.0`}}),`${z}.zip`),Rs({title:`Downloaded ${z}.zip`,description:`The plugin package was saved to your downloads.`})}catch(e){Rs({title:`Failed to export plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}async function te(){if(!(!a||!R)){if(!n){d(!0);return}p(!0);try{let e=await Ha(a,{skillNames:P,mcpServerNames:F,manifest:{name:L,description:C.trim(),version:D.trim()}});e.valid?(t(!1),Rs({title:`Shared ${e.filename}`,description:`Your plugin passed validation.`})):Rs({title:`Plugin failed validation`,description:lD(e.errors),variant:`destructive`})}catch(e){Rs({title:`Failed to share plugin`,description:e instanceof Error?e.message:void 0,variant:`destructive`})}finally{p(!1)}}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{open:e,onOpenChange:t,children:(0,$.jsxs)(Fr,{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)(UE,{currentStep:k,canGoToStep:B,onGoToStep:V}),(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{children:k===1?`Share`:`Share Plugin`}),(0,$.jsx)(_i,{children:k===1?`Select the project tools to include.`:`Add a name and description for your plugin.`})]})]}),k===1?(0,$.jsx)(Oa,{className:`min-h-0 flex-1`,children:g||l?(0,$.jsxs)(`div`,{className:`flex items-center justify-center px-6 py-8 text-muted-foreground`,children:[(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}),`Loading project tools...`]}):M.length===0?(0,$.jsx)(`p`,{className:G(b.bodyMuted,`px-6 py-8 text-center`),children:`No project tools configured.`}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:G(b.label,`mb-1`),children:`Skills`}),(0,$.jsx)(`div`,{className:`divide-y divide-table-border`,children:m.length>0?m.map(e=>(0,$.jsx)(dD,{item:e,checked:v.has(e.id),onCheckedChange:t=>U(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(b.bodyMuted,`py-2`),children:`No skills configured.`})})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:G(b.label,`mb-1`),children:`MCP Servers`}),(0,$.jsx)(`div`,{className:`divide-y divide-table-border`,children:j.length>0?j.map(e=>(0,$.jsx)(dD,{item:e,checked:v.has(e.id),onCheckedChange:t=>U(e.id,t)},e.id)):(0,$.jsx)(`p`,{className:G(b.bodyMuted,`py-2`),children:`No MCP servers configured.`})})]})]})}):(0,$.jsx)(Oa,{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)(aa,{htmlFor:`pluginName`,children:`Plugin name`}),(0,$.jsx)(Io,{id:`pluginName`,placeholder:`my-plugin`,value:x,onChange:e=>S(e.target.value),onKeyDown:e=>e.key===`Enter`&&R&&!f&&void te(),autoFocus:!0,className:`w-full`}),(0,$.jsxs)(`p`,{className:G(b.bodyMuted,b.caption),children:[`Slug: `,L||`my-plugin`]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(aa,{htmlFor:`pluginDescription`,children:`Description`}),(0,$.jsx)(Io,{id:`pluginDescription`,placeholder:`What this plugin provides`,value:C,onChange:e=>{E(!0),w(e.target.value)},className:`w-full`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(aa,{htmlFor:`pluginVersion`,children:`Version`}),(0,$.jsx)(Io,{id:`pluginVersion`,placeholder:`1.0.0`,value:D,onChange:e=>O(e.target.value),className:`w-full`})]})]})}),k===2?(0,$.jsx)(`div`,{className:`px-6 pb-3`,children:n?(0,$.jsxs)(`p`,{className:G(b.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)(No,{type:`button`,variant:`link`,size:`sm`,onClick:()=>void i(),children:`Log out`})]}):(0,$.jsx)(`p`,{className:G(b.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)(Ba,{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)(No,{type:`button`,variant:`ghost`,onClick:H,children:k===1?`Cancel`:`Back`})}),k===1?(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(No,{type:`button`,variant:`outline`,onClick:()=>void ee(),disabled:!I||!z||f,children:`Download`}),(0,$.jsx)(No,{type:`button`,onClick:()=>A(2),disabled:!I,children:`Next >`})]}):(0,$.jsxs)(No,{type:`button`,onClick:()=>void te(),disabled:!R||f,children:[f?(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}):null,`Share`]})]})})]})}),(0,$.jsx)(BE,{open:u,onOpenChange:d,onVerified:e=>r(e)})]})}function pD(){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),Gi().then(e=>{t&&(r(t=>t||e.name),a(t=>t||e.email))}).catch(()=>{t&&Rs({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){Rs({title:`Feedback required`,description:`Please enter your feedback before submitting.`,variant:`destructive`});return}d(!0);try{await ea(`api/feedback`,{name:n.trim(),email:i.trim(),feedback:e}),Rs({title:`Feedback sent`,description:`Thanks for sharing your feedback.`}),s(``),t(!1)}catch(e){Rs({title:`Failed to send feedback`,description:e instanceof Error?e.message:`Please try again.`,variant:`destructive`})}finally{d(!1)}}}}function mD(){let e=(0,Q.c)(93),t=Gn(),n=Es(),r=jb(),{openConversation:a}=kE(),o=X(gD),s=X(hD),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],e[0]=h):h=e[0];let[_,v]=(0,Z.useState)(h),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),{showFeedback:T,feedbackName:E,setFeedbackName:D,feedbackEmail:k,setFeedbackEmail:A,feedbackText:j,setFeedbackText:M,loadingFeedbackUser:N,submittingFeedback:P,handleFeedbackDialogChange:F,handleSubmitFeedback:I}=pD(),L;if(e[1]!==s||e[2]!==o){let t;e[4]===o?t=e[5]:(t=e=>e.projectId===o,e[4]=o,e[5]=t),L=s.find(t),e[1]=s,e[2]=o,e[3]=L}else L=e[3];let R=L,z;e[6]===R?.commands?z=e[7]:(z=R?.commands??[],e[6]=R?.commands,e[7]=z);let B=z,V;if(e[8]!==x){let t=function(){x||Da(20).then(e=>{v(e.conversations??[]),S(!0)}).catch(()=>{S(!1)})};V=function(e){w(e),e&&t()},e[8]=x,e[9]=V}else V=e[9];let H=V,U=r?`ghost`:`outline`,ee=r?Ic:`border-transparent`,te;e[10]===ee?te=e[11]:(te=G(`h-8 w-8 px-0`,ee),e[10]=ee,e[11]=te);let ne;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(i,{className:`h-4 w-4`}),e[12]=ne):ne=e[12];let ie;e[13]!==U||e[14]!==te?(ie=(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsx)(Xc,{asChild:!0,children:(0,$.jsx)(No,{variant:U,size:`sm`,className:te,"aria-label":`More options`,children:ne})})}),e[13]=U,e[14]=te,e[15]=ie):ie=e[15];let ae;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(Pr,{children:`More options`}),e[16]=ae):ae=e[16];let oe;e[17]===ie?oe=e[18]:(oe=(0,$.jsxs)(Mi,{children:[ie,ae]}),e[17]=ie,e[18]=oe);let se;e[19]!==H||e[20]!==x||e[21]!==C||e[22]!==t||e[23]!==a||e[24]!==_||e[25]!==o?(se=o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(il,{className:b.body,children:`Project`}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>void t(`/settings/project/${o}`),children:[(0,$.jsx)(y,{className:`h-4 w-4 shrink-0`}),`Settings`]}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>l(!0),children:[(0,$.jsx)(O,{className:`h-4 w-4 shrink-0`}),`Commands`]}),(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>p(!0),children:[(0,$.jsx)(re,{className:`h-4 w-4 shrink-0`}),`Share`]}),(0,$.jsxs)(Zc,{open:C,onOpenChange:H,children:[(0,$.jsxs)(Qc,{className:G(b.body,`gap-2`),children:[(0,$.jsx)(m,{className:`h-4 w-4 shrink-0`}),`History`]}),(0,$.jsx)($c,{className:`w-96 max-h-80 overflow-y-auto`,children:x?_.length===0?(0,$.jsx)(tl,{disabled:!0,className:b.bodyMuted,children:`No recent conversations`}):_.map(e=>(0,$.jsxs)(tl,{className:G(b.body,`gap-2 cursor-pointer`),onSelect:()=>a(e),children:[(0,$.jsx)(Jt,{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(b.bodyMuted,`ml-auto shrink-0 tabular-nums`),children:kt(e.lastMessageAt)})]},e.conversationId)):(0,$.jsx)(tl,{disabled:!0,className:b.bodyMuted,children:`Loading...`})})]})]}):null,e[19]=H,e[20]=x,e[21]=C,e[22]=t,e[23]=a,e[24]=_,e[25]=o,e[26]=se):se=e[26];let ce,le;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(al,{}),le=(0,$.jsx)(il,{className:b.body,children:`General`}),e[27]=ce,e[28]=le):(ce=e[27],le=e[28]);let ue;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(ue=G(b.body,`gap-2`),e[29]=ue):ue=e[29];let de;e[30]===t?de=e[31]:(de=()=>void t(`/settings/general`),e[30]=t,e[31]=de);let fe;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(y,{className:`h-4 w-4 shrink-0`}),e[32]=fe):fe=e[32];let pe;e[33]===de?pe=e[34]:(pe=(0,$.jsxs)(tl,{className:ue,onSelect:de,children:[fe,`Settings`]}),e[33]=de,e[34]=pe);let me;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(me=G(b.body,`gap-2`),e[35]=me):me=e[35];let he;e[36]===t?he=e[37]:(he=()=>void t(`/settings/providers`),e[36]=t,e[37]=he);let ge;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsx)(Lt,{className:`h-4 w-4 shrink-0`}),e[38]=ge):ge=e[38];let _e;e[39]===he?_e=e[40]:(_e=(0,$.jsxs)(tl,{className:me,onSelect:he,children:[ge,`Providers`]}),e[39]=he,e[40]=_e);let ve;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(ve=G(b.body,`gap-2`),e[41]=ve):ve=e[41];let ye;e[42]===t?ye=e[43]:(ye=()=>void t(`/settings/account`),e[42]=t,e[43]=ye);let be;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(it,{className:`h-4 w-4 shrink-0`}),e[44]=be):be=e[44];let xe;e[45]===ye?xe=e[46]:(xe=(0,$.jsxs)(tl,{className:ve,onSelect:ye,children:[be,`Account`]}),e[45]=ye,e[46]=xe);let Se;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(Se=G(b.body,`gap-2`),e[47]=Se):Se=e[47];let Ce;e[48]===F?Ce=e[49]:(Ce=()=>F(!0),e[48]=F,e[49]=Ce);let W;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(Jt,{className:`h-4 w-4 shrink-0`}),e[50]=W):W=e[50];let we;e[51]===Ce?we=e[52]:(we=(0,$.jsxs)(tl,{className:Se,onSelect:Ce,children:[W,`Feedback`]}),e[51]=Ce,e[52]=we);let Te;e[53]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(al,{}),e[53]=Te):Te=e[53];let Ee;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>d(!0),children:[(0,$.jsx)(g,{className:`h-4 w-4 shrink-0`}),`Processes`]}),e[54]=Ee):Ee=e[54];let De;e[55]!==se||e[56]!==pe||e[57]!==_e||e[58]!==xe||e[59]!==we?(De=(0,$.jsxs)(el,{align:`end`,className:`w-52`,children:[se,ce,le,pe,_e,xe,we,Te,Ee]}),e[55]=se,e[56]=pe,e[57]=_e,e[58]=xe,e[59]=we,e[60]=De):De=e[60];let Oe;e[61]!==oe||e[62]!==De?(Oe=(0,$.jsxs)(Yc,{children:[oe,De]}),e[61]=oe,e[62]=De,e[63]=Oe):Oe=e[63];let ke;e[64]!==B||e[65]!==n||e[66]!==o||e[67]!==c?(ke=o?(0,$.jsx)(ux,{open:c,onOpenChange:l,projectId:o,commands:B,onRefresh:()=>n({type:Y.ConfigUpdated})}):null,e[64]=B,e[65]=n,e[66]=o,e[67]=c,e[68]=ke):ke=e[68];let Ae;e[69]===u?Ae=e[70]:(Ae=(0,$.jsx)(jE,{open:u,onOpenChange:d}),e[69]=u,e[70]=Ae);let je;e[71]===f?je=e[72]:(je=(0,$.jsx)(fD,{open:f,onOpenChange:p}),e[71]=f,e[72]=je);let Me;e[73]===I?Me=e[74]:(Me=()=>void I(),e[73]=I,e[74]=Me);let Ne;e[75]!==k||e[76]!==E||e[77]!==j||e[78]!==F||e[79]!==N||e[80]!==A||e[81]!==D||e[82]!==M||e[83]!==T||e[84]!==P||e[85]!==Me?(Ne=(0,$.jsx)(AE,{open:T,onOpenChange:F,feedbackName:E,onFeedbackNameChange:D,feedbackEmail:k,onFeedbackEmailChange:A,feedbackText:j,onFeedbackTextChange:M,loadingFeedbackUser:N,submittingFeedback:P,onSubmit:Me}),e[75]=k,e[76]=E,e[77]=j,e[78]=F,e[79]=N,e[80]=A,e[81]=D,e[82]=M,e[83]=T,e[84]=P,e[85]=Me,e[86]=Ne):Ne=e[86];let Pe;return e[87]!==Oe||e[88]!==ke||e[89]!==Ae||e[90]!==je||e[91]!==Ne?(Pe=(0,$.jsxs)($.Fragment,{children:[Oe,ke,Ae,je,Ne]}),e[87]=Oe,e[88]=ke,e[89]=Ae,e[90]=je,e[91]=Ne,e[92]=Pe):Pe=e[92],Pe}function hD(e){return e.projects}function gD(e){return e.selectedProjectId}function _D(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}var vD;(function(e){e.Heavy=`HEAVY`,e.Medium=`MEDIUM`,e.Light=`LIGHT`})(vD||={});var yD;(function(e){e.Success=`SUCCESS`,e.Warning=`WARNING`,e.Error=`ERROR`})(yD||={});var bD=bm(`Haptics`,{web:()=>Wo(()=>import(`./web-DTwF_7w-.js`).then(e=>new e.HapticsWeb),[])});function xD(){return typeof window<`u`&&Ir()}function SD(e=vD.Medium){xD()&&bD.impact({style:e}).catch(()=>{})}function CD(e){let t=(0,Q.c)(12),{className:n}=e,r=Gn(),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)(y,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(Pr,{children:`Settings`}),t[9]=l):l=t[9];let u;return t[10]===c?u=t[11]:(u=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[c,l]})}),t[10]=c,t[11]=u),u}function wD(e){let t=(0,Q.c)(15),{className:n}=e,r=Gn(),i=X(TD),a=jb(),o=a?`ghost`:`outline`,s=a?Ic:`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)(y,{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)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{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)(Pr,{children:`Project Settings`}),t[12]=p):p=t[12];let m;return t[13]===f?m=t[14]:(m=(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[f,p]})}),t[13]=f,t[14]=m),m}function TD(e){return e.selectedProjectId}function ED(e){let t=(0,Q.c)(70),{onBackToProjects:n,onSelectProject:r}=e,i=jb(),a=X(jD),o=X(AD),s=X(kD),c=X(OD),{handleNewChat:l,isStartingNewChat:u}=tx(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=TC(),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,x,S;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=Lo(),c;if(t[22]!==n||t[23]!==r||t[24]!==s||t[25]!==h||t[26]!==o||t[27]!==i){let e=[...s].sort(DD),a;t[30]!==n||t[31]!==i?(a=!f&&n?(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:`ghost`,size:`icon`,className:G(`h-8 w-8 shrink-0 electrobun-webkit-app-region-no-drag`,i?Ic:`text-muted-foreground`),onClick:n,children:[(0,$.jsx)(pe,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Back to projects`})]})}),(0,$.jsx)(Pr,{children:`Projects`})]})}):null,t[30]=n,t[31]=i,t[32]=a):a=t[32],v=a,c=h&&r&&!(f&&i)?(0,$.jsxs)(Yc,{children:[(0,$.jsx)(Xc,{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:[i?null:(0,$.jsx)(kc,{project:h,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),(0,$.jsx)(`span`,{className:G(i?b.body:b.sectionTitle,`truncate min-w-0`,!i&&`text-foreground`),children:Ke(h)}),(0,$.jsx)(Tt,{className:G(`h-4 w-4 shrink-0`,i?`scenic-foreground-muted`:`text-muted-foreground`)}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Switch project`})]})}),(0,$.jsx)(el,{align:i?`center`:`start`,collisionPadding:12,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-64 overflow-y-auto`,children:e.map(e=>{let t=e.gitUrl?ie:V,n=e.projectId===o;return(0,$.jsxs)(tl,{className:G(b.body,`gap-2`),onSelect:()=>r(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)(lt,{className:`ml-auto h-4 w-4 shrink-0`}):null]},e.projectId)})})]}):h?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[i?null:(0,$.jsx)(kc,{project:h,elevated:!1,className:`h-5 w-5 shrink-0 rounded`,iconClassName:`h-3 w-3`}),(0,$.jsx)(`span`,{className:G(i?b.body:b.sectionTitle,`truncate min-w-0`,!i&&`text-foreground`),children:Ke(h)})]}):null,t[22]=n,t[23]=r,t[24]=s,t[25]=h,t[26]=o,t[27]=i,t[28]=v,t[29]=c}else v=t[28],c=t[29];x=c;let d;t[33]!==x||t[34]!==i?(d=x?(0,$.jsxs)($.Fragment,{children:[i?null:(0,$.jsx)(nt,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),x]}):null,t[33]=x,t[34]=i,t[35]=d):d=t[35];let m;t[36]!==v||t[37]!==d?(m=(0,$.jsxs)($.Fragment,{children:[v,d]}),t[36]=v,t[37]=d,t[38]=m):m=t[38],y=m;let C=!!a&&(p||!!o),w;t[39]===i?w=t[40]:(w=i&&oa()?(0,$.jsx)(`div`,{className:`hidden shrink-0 md:flex`,children:(0,$.jsx)(DE,{})}):null,t[39]=i,t[40]=w);let T;t[41]!==l||t[42]!==p||t[43]!==u||t[44]!==C||t[45]!==i?(T=C?(0,$.jsxs)(_D,{className:G(`md:hidden electrobun-webkit-app-region-no-drag`,i&&`frosted-surface p-1 text-foreground backdrop-blur-sm electrobun-webkit-app-region-no-drag`),children:[p?(0,$.jsx)(Fo,{children:(0,$.jsxs)(Mi,{children:[(0,$.jsx)(Ii,{asChild:!0,children:(0,$.jsxs)(No,{variant:i?`ghost`:`outline`,size:`icon-sm`,disabled:u,className:G(i?Ic:`rounded-full bg-background text-foreground hover:bg-accent hover:text-accent-foreground`),onClick:()=>{SD(),l()},children:[(0,$.jsx)(Ae,{className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`New Chat`})]})}),(0,$.jsx)(Pr,{children:u?`Starting Chat`:`New Chat`})]})}):null,(0,$.jsx)(Zx,{inPill:i})]}):null,t[41]=l,t[42]=p,t[43]=u,t[44]=C,t[45]=i,t[46]=T):T=t[46];let E;t[47]!==h?.openWith||t[48]!==h?.runCommand||t[49]!==o||t[50]!==a||t[51]!==i?(E=o&&(0,$.jsxs)(_D,{className:G(`electrobun-webkit-app-region-no-drag`,i&&`bg-transparent scenic-foreground shadow-none backdrop-blur-none electrobun-webkit-app-region-no-drag`),children:[(0,$.jsx)(wE,{}),(0,$.jsx)(Vx,{projectId:o,runCommand:h?.runCommand}),a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(hx,{threadId:a}),(0,$.jsx)(gx,{})]}),!f&&a?(0,$.jsx)(Cx,{projectId:o,threadId:a,openWith:h?.openWith}):null,f?null:(0,$.jsx)(wD,{}),f?null:(0,$.jsx)(mD,{})]}),t[47]=h?.openWith,t[48]=h?.runCommand,t[49]=o,t[50]=a,t[51]=i,t[52]=E):E=t[52];let D;t[53]===E?D=t[54]:(D=(0,$.jsx)(`div`,{className:`hidden md:flex flex-wrap items-center justify-end gap-2`,children:E}),t[53]=E,t[54]=D);let O;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(O=f&&(0,$.jsx)(CD,{}),t[55]=O):O=t[55];let k;t[56]!==D||t[57]!==w||t[58]!==T?(k=(0,$.jsxs)($.Fragment,{children:[w,T,D,O]}),t[56]=D,t[57]=w,t[58]=T,t[59]=k):k=t[59],_=k,g=Pc,S=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]=x,t[21]=S}else g=t[16],_=t[17],v=t[18],y=t[19],x=t[20],S=t[21];let C;t[60]!==_||t[61]!==v||t[62]!==y||t[63]!==x||t[64]!==i?(C=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&&x?(0,$.jsx)(nt,{className:`h-4 w-4 shrink-0 scenic-foreground-muted`}):null,x]})}),(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[60]=_,t[61]=v,t[62]=y,t[63]=x,t[64]=i,t[65]=C):C=t[65];let w;return t[66]!==g||t[67]!==S||t[68]!==C?(w=(0,$.jsx)(g,{className:S,children:C}),t[66]=g,t[67]=S,t[68]=C,t[69]=w):w=t[69],w}function DD(e,t){return Ke(e).localeCompare(Ke(t))}function OD(e){return e.messages}function kD(e){return e.projects}function AD(e){return e.selectedProjectId}function jD(e){return e.selectedThreadId}var MD=`tarsk-browser-element-selected`;function ND(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(`
3284
+ `)}function PD(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`}function FD(e){if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`tarsk-browser-element-selected`||!PD(t.payload)?null:t.payload}function ID(e){window.dispatchEvent(new CustomEvent(MD,{detail:e}))}function LD(e){return FD(e)??(PD(e)?e:null)}function RD(e,t){let n=t.trim();return n?`${e}\n\n${n}`:e}function zD(e){if(Lo()){(e?.querySelector(`electrobun-webview`))?.executeJavascript?.(`(function(){window.__tarskBrowserPreview?.setSelectMode?.(false,false);})();`);return}(e?.querySelector(`iframe`)?.contentWindow?.__tarskBrowserPreview)?.setSelectMode?.(!1,!1)}function BD(e){let t=(0,Q.c)(39),{container:n}=e,r=Es(),i=X(UD),a=X(HD),{selectedBrowserElement:o,isSelectionPromptOpen:s,setIsSelectionPromptOpen:c,setSelectedBrowserElement:l,setBrowserAgentProcessingThreadId:u}=ZC(),{paneId:d,conversationId:f}=Bg(),{handleSend:p,handleStop:m,getQueuedMessagesForPane:h,handleRemoveQueuedMessage:g}=Ig(),{userTasks:_,setUserTasks:v,effectiveIsStreaming:y,handleRemoveUserTask:b}=tx(),[x,S]=Z.useState(0),C;t[0]===o?C=t[1]:(C=o?ND(o):``,t[0]=o,t[1]=C);let w=C,T;t[2]===s?T=t[3]:(T=()=>{s&&S(VD)},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||(zD(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,RD(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),zD(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)(Ur,{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)(mi,{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)(Ra,{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)(tt,{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)(lb,{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)(si,{open:j,onOpenChange:O,children:M}),t[35]=O,t[36]=j,t[37]=M,t[38]=N):N=t[38],N}function VD(e){return e+1}function HD(e){return e.selectedProjectId}function UD(e){return e.selectedThreadId}function WD(){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 GD=(0,Z.lazy)(()=>Wo(()=>import(`./settings-view-ZgVxZhur.js`),__vite__mapDeps([30,1,4,5,6,7,31,9,19]))),KD=`animate-in fade-in duration-200`,qD=`animate-out fade-out duration-200 fill-mode-forwards pointer-events-none`;function JD(){let e=(0,Q.c)(22);Yr(!0);let t=Gn(),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?qD:KD,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)(WD,{}),children:(0,$.jsx)(GD,{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 YD(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}=Ys(),f=jb(),p=!r,m=p&&!f,[h,g]=(0,Z.useState)(null),_=X(XD),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)(ED,{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)(GT,{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)(Un,{path:`/settings/providers/:providerSlug`,element:(0,$.jsx)(JD,{})}),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Un,{path:`/settings/project/:projectId/tools`,element:(0,$.jsx)(JD,{})}),t[20]=D):D=t[20];let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Un,{path:`/settings/project/:projectId/model-aliases`,element:(0,$.jsx)(JD,{})}),t[21]=O):O=t[21];let k;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(Un,{path:`/settings/project/:projectId/env-vars`,element:(0,$.jsx)(JD,{})}),t[22]=k):k=t[22];let A;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(Un,{path:`/settings/project/:projectId`,element:(0,$.jsx)(JD,{})}),t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(xn,{children:[E,D,O,k,A,(0,$.jsx)(Un,{path:`/settings/:tab?`,element:(0,$.jsx)(JD,{})})]}),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)(BD,{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 XD(e){return e.projects}function ZD(e){let t=(0,Q.c)(21),{open:n,projectName:r,onOpenChange:i,onConfirm:a,blocked:o,blockReason:s}=e,c=o===void 0?!1:o,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Bs,{children:`Delete Project`}),t[0]=l):l=t[0];let u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=G(b.body,`font-semibold text-foreground`),t[1]=u):u=t[1];let d;t[2]===r?d=t[3]:(d=(0,$.jsxs)(zs,{children:[`Are you sure you want to delete`,` `,(0,$.jsxs)(`span`,{className:u,children:[`"`,r,`"`]}),`? This will remove the project and all its data. This action cannot be undone.`]}),t[2]=r,t[3]=d);let f;t[4]!==s||t[5]!==c?(f=c&&s&&(0,$.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:s}),t[4]=s,t[5]=c,t[6]=f):f=t[6];let p;t[7]!==d||t[8]!==f?(p=(0,$.jsxs)(Gs,{children:[l,d,f]}),t[7]=d,t[8]=f,t[9]=p):p=t[9];let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(Ws,{children:`Cancel`}),t[10]=m):m=t[10];let h;t[11]!==c||t[12]!==a?(h=(0,$.jsxs)(Us,{children:[m,(0,$.jsx)(Hs,{onClick:a,disabled:c,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Delete`})]}),t[11]=c,t[12]=a,t[13]=h):h=t[13];let g;t[14]!==p||t[15]!==h?(g=(0,$.jsxs)(Vs,{children:[p,h]}),t[14]=p,t[15]=h,t[16]=g):g=t[16];let _;return t[17]!==i||t[18]!==n||t[19]!==g?(_=(0,$.jsx)(Ks,{open:n,onOpenChange:i,children:g}),t[17]=i,t[18]=n,t[19]=g,t[20]=_):_=t[20],_}function QD(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)(Bs,{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)(Gs,{children:[o,(0,$.jsxs)(zs,{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($D),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)(Ws,{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)(Hs,{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)(Us,{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)(Vs,{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)(Ks,{open:n,onOpenChange:a,children:h}),t[24]=n,t[25]=a,t[26]=h,t[27]=g):g=t[27],g}function $D(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:b.label,children:r||`root`}),(0,$.jsx)(`div`,{className:b.bodyMuted,children:i})]})]})},t)}var eO;(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`})(eO||={});var tO=new Map([[eO.QR_CODE,`QR_CODE`],[eO.AZTEC,`AZTEC`],[eO.CODABAR,`CODABAR`],[eO.CODE_39,`CODE_39`],[eO.CODE_93,`CODE_93`],[eO.CODE_128,`CODE_128`],[eO.DATA_MATRIX,`DATA_MATRIX`],[eO.MAXICODE,`MAXICODE`],[eO.ITF,`ITF`],[eO.EAN_13,`EAN_13`],[eO.EAN_8,`EAN_8`],[eO.PDF_417,`PDF_417`],[eO.RSS_14,`RSS_14`],[eO.RSS_EXPANDED,`RSS_EXPANDED`],[eO.UPC_A,`UPC_A`],[eO.UPC_E,`UPC_E`],[eO.UPC_EAN_EXTENSION,`UPC_EAN_EXTENSION`]]),nO;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.URL=1]=`URL`})(nO||={});function rO(e){return Object.values(eO).includes(e)}var iO;(function(e){e[e.SCAN_TYPE_CAMERA=0]=`SCAN_TYPE_CAMERA`,e[e.SCAN_TYPE_FILE=1]=`SCAN_TYPE_FILE`})(iO||={});var aO=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=[iO.SCAN_TYPE_CAMERA,iO.SCAN_TYPE_FILE],e}(),oO=function(){function e(e,t){this.format=e,this.formatName=t}return e.prototype.toString=function(){return this.formatName},e.create=function(t){if(!tO.has(t))throw`${t} not in html5QrcodeSupportedFormatsTextMap`;return new e(t,tO.get(t))},e}(),sO=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}(),cO;(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`})(cO||={});var lO=function(){function e(){}return e.createFrom=function(e){return{errorMessage:e,type:cO.UNKWOWN_ERROR}},e}(),uO=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 dO(e){return e==null}function fO(e,t,n){return e>n?n:e<t?t:e}var pO=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}(),mO=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}(),hO=function(){function e(){}return e.poweredBy=function(){return`Powered by `},e.reportIssues=function(){return`Report issues`},e}(),gO=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}(),_O=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)===`
3285
3285
  `||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=`
3286
3286
  `){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(`
3287
3287
  `)}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 U{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 ee{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 te{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=ee.addOrSubtract(n,r)}return n}n=t[0];let r=t.length,i=this.field;for(let a=1;a<r;a++)n=ee.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]=ee.addOrSubtract(t[e-i],n[e]);return new te(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]=ee.addOrSubtract(a[e+t],o.multiply(n,r[t]))}return new te(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 te(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 te(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 ne extends s{}ne.kind=`ArithmeticException`;class re extends ee{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 te(this,Int32Array.from([0])),this.one=new te(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 te(this,n)}inverse(e){if(e===0)throw new ne;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}}re.AZTEC_DATA_12=new re(4201,4096,1),re.AZTEC_DATA_10=new re(1033,1024,1),re.AZTEC_DATA_6=new re(67,64,1),re.AZTEC_PARAM=new re(19,16,1),re.QR_CODE_FIELD_256=new re(285,256,0),re.DATA_MATRIX_FIELD_256=new re(301,256,1),re.AZTEC_DATA_8=re.DATA_MATRIX_FIELD_256,re.MAXICODE_FIELD_64=re.AZTEC_DATA_6;class ie extends s{}ie.kind=`ReedSolomonException`;class ae extends s{}ae.kind=`IllegalStateException`;class oe{constructor(e){this.field=e}decode(e,t){let n=this.field,r=new te(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 te(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 ie(`Bad error location`);e[r]=re.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 ie(`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 ae(`Division algorithm failed to reduce polynomial?`)}let c=s.getCoefficient(0);if(c===0)throw new ie(`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 ie(`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 se;(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`})(se||={});class ce{decode(e){this.ddata=e;let t=e.getBits(),n=this.extractBits(t),r=this.correctBits(n),i=new U(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=se.UPPER,r=se.UPPER,i=``,a=0;for(;a<t;)if(r===se.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===se.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 se.LOWER;case`P`:return se.PUNCT;case`M`:return se.MIXED;case`D`:return se.DIGIT;case`B`:return se.BINARY;default:return se.UPPER}}static getCharacter(e,t){switch(e){case se.UPPER:return ce.UPPER_TABLE[t];case se.LOWER:return ce.LOWER_TABLE[t];case se.MIXED:return ce.MIXED_TABLE[t];case se.PUNCT:return ce.PUNCT_TABLE[t];case se.DIGIT:return ce.DIGIT_TABLE[t];default:throw new ae(`Bad table`)}}correctBits(e){let t,n;this.ddata.getNbLayers()<=2?(n=6,t=re.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(n=8,t=re.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(n=10,t=re.AZTEC_DATA_10):(n=12,t=re.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 oe(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. .
@@ -3300,8 +3300,8 @@ Server stopped.
3300
3300
  `),e.append(`>>
3301
3301
  `),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(re.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 ae;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 ae;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
3302
3302
  \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(`
3303
- `),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 re.AZTEC_PARAM;case 6:return re.AZTEC_DATA_6;case 8:return re.AZTEC_DATA_8;case 10:return re.AZTEC_DATA_10;case 12:return re.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 ae;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=ne,e.AztecCode=Hn,e.AztecCodeReader=xe,e.AztecCodeWriter=ar,e.AztecDecoder=ce,e.AztecDetector=be,e.AztecDetectorResult=pe,e.AztecEncoder=ir,e.AztecHighLevelEncoder=rr,e.AztecPoint=ye,e.BarcodeFormat=B,e.Binarizer=f,e.BinaryBitmap=u,e.BitArray=v,e.BitMatrix=O,e.BitSource=_t,e.BrowserAztecCodeReader=Se,e.BrowserBarcodeReader=dt,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=W,e.Code39Reader=we,e.DataMatrixDecodedBitStreamParser=yt,e.DataMatrixReader=St,e.DecodeHintType=b,e.DecoderResult=U,e.DefaultGridSampler=_e,e.DetectorResult=fe,e.EAN13Reader=je,e.EncodeHintType=En,e.Exception=s,e.FormatException=x,e.GenericGF=re,e.GenericGFPoly=te,e.GlobalHistogramBinarizer=A,e.GridSampler=he,e.GridSamplerInstance=ve,e.HTMLCanvasElementLuminanceSource=P,e.HybridBinarizer=j,e.ITFReader=Te,e.IllegalArgumentException=l,e.IllegalStateException=ae,e.InvertedLuminanceSource=N,e.LuminanceSource=M,e.MathUtils=le,e.MultiFormatOneDReader=G,e.MultiFormatReader=xn,e.MultiFormatWriter=Ln,e.NotFoundException=k,e.OneDReader=Ce,e.PDF417DecodedBitStreamParser=J,e.PDF417DecoderErrorCorrection=Xt,e.PDF417Reader=yn,e.PDF417ResultMetadata=sn,e.PerspectiveTransform=ge,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=oe,e.ReedSolomonEncoder=Dn,e.ReedSolomonException=ie,e.Result=R,e.ResultMetadataType=H,e.ResultPoint=de,e.StringUtils=E,e.UnsupportedOperationException=w,e.VideoInputDevice=F,e.WhiteRectangleDetector=me,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})}))}))()),vO=function(){function e(e,t,n){if(this.formatMap=new Map([[eO.QR_CODE,_O.BarcodeFormat.QR_CODE],[eO.AZTEC,_O.BarcodeFormat.AZTEC],[eO.CODABAR,_O.BarcodeFormat.CODABAR],[eO.CODE_39,_O.BarcodeFormat.CODE_39],[eO.CODE_93,_O.BarcodeFormat.CODE_93],[eO.CODE_128,_O.BarcodeFormat.CODE_128],[eO.DATA_MATRIX,_O.BarcodeFormat.DATA_MATRIX],[eO.MAXICODE,_O.BarcodeFormat.MAXICODE],[eO.ITF,_O.BarcodeFormat.ITF],[eO.EAN_13,_O.BarcodeFormat.EAN_13],[eO.EAN_8,_O.BarcodeFormat.EAN_8],[eO.PDF_417,_O.BarcodeFormat.PDF_417],[eO.RSS_14,_O.BarcodeFormat.RSS_14],[eO.RSS_EXPANDED,_O.BarcodeFormat.RSS_EXPANDED],[eO.UPC_A,_O.BarcodeFormat.UPC_A],[eO.UPC_E,_O.BarcodeFormat.UPC_E],[eO.UPC_EAN_EXTENSION,_O.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!_O)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(_O.DecodeHintType.POSSIBLE_FORMATS,r),i.set(_O.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 _O.MultiFormatReader(this.verbose,this.hints),n=new _O.HTMLCanvasElementLuminanceSource(e),r=new _O.BinaryBitmap(new _O.HybridBinarizer(n)),i=t.decode(r);return{text:i.text,format:oO.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}(),yO=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())})},bO=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}}},xO=function(){function e(t,n,r){if(this.formatMap=new Map([[eO.QR_CODE,`qr_code`],[eO.AZTEC,`aztec`],[eO.CODABAR,`codabar`],[eO.CODE_39,`code_39`],[eO.CODE_93,`code_93`],[eO.CODE_128,`code_128`],[eO.DATA_MATRIX,`data_matrix`],[eO.ITF,`itf`],[eO.EAN_13,`ean_13`],[eO.EAN_8,`ean_8`],[eO.PDF_417,`pdf417`],[eO.UPC_A,`upc_a`],[eO.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 yO(this,void 0,void 0,function(){var t,n;return bO(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:oO.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}(),SO=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())})},CO=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}}},wO=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&&xO.isSupported()?(this.primaryDecoder=new xO(e,n,r),this.secondaryDecoder=new vO(e,n,r)):this.primaryDecoder=new vO(e,n,r)}return e.prototype.decodeAsync=function(e){return SO(this,void 0,void 0,function(){var t;return CO(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 SO(this,void 0,void 0,function(){var t,n;return CO(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}(),TO=(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)}})(),EO=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())})},DO=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}}},OO=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}(),kO=function(e){TO(t,e);function t(t){return e.call(this,`zoom`,t)||this}return t}(function(e){TO(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}(OO)),AO=function(e){TO(t,e);function t(t){return e.call(this,`torch`,t)||this}return t}(OO),jO=function(){function e(e){this.track=e}return e.prototype.zoomFeature=function(){return new kO(this.track)},e.prototype.torchFeature=function(){return new AO(this.track)},e}(),MO=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 EO(this,void 0,void 0,function(){var a,o;return DO(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 EO(this,void 0,void 0,function(){return DO(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 jO(this.getFirstTrackOrFail())},e}(),NO=function(){function e(e){this.mediaStream=e}return e.prototype.render=function(e,t,n){return EO(this,void 0,void 0,function(){return DO(this,function(r){return[2,MO.create(e,this.mediaStream,t,n)]})})},e.create=function(t){return EO(this,void 0,void 0,function(){var n,r;return DO(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}(),PO=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())})},FO=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}}},IO=function(){function e(){}return e.failIfNotSupported=function(){return PO(this,void 0,void 0,function(){return FO(this,function(t){if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return[2,new e]})})},e.prototype.create=function(e){return PO(this,void 0,void 0,function(){return FO(this,function(t){return[2,NO.create(e)]})})},e}(),LO=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())})},RO=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}}},zO=function(){function e(){}return e.retrieve=function(){return navigator.mediaDevices?e.getCamerasFromMediaDevices():MediaStreamTrack&&MediaStreamTrack.getSources?e.getCamerasFromMediaStreamTrack():e.rejectWithError()},e.rejectWithError=function(){var t=pO.unableToQuerySupportedDevices();return e.isHttpsOrLocalhost()||(t=pO.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 LO(this,void 0,void 0,function(){var e,t,n,r,i,a,o;return RO(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}(),BO;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.NOT_STARTED=1]=`NOT_STARTED`,e[e.SCANNING=2]=`SCANNING`,e[e.PAUSED=3]=`PAUSED`})(BO||={});var VO=function(){function e(){this.state=BO.NOT_STARTED,this.onGoingTransactionNewState=BO.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===BO.UNKNOWN)throw`Transaction is already cancelled, cannot execute().`;var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=BO.UNKNOWN,this.directTransition(e)},e.prototype.cancel=function(){if(this.onGoingTransactionNewState===BO.UNKNOWN)throw`Transaction is already cancelled, cannot cancel().`;this.onGoingTransactionNewState=BO.UNKNOWN},e.prototype.getState=function(){return this.state},e.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==BO.UNKNOWN)throw`Cannot transition to a new state, already under transition`},e.prototype.validateTransition=function(e){switch(this.state){case BO.UNKNOWN:throw`Transition from unknown is not allowed`;case BO.NOT_STARTED:this.failIfNewStateIs(e,[BO.PAUSED]);break;case BO.SCANNING:break;case BO.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}(),HO=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()===BO.NOT_STARTED},e.prototype.isScanning=function(){return this.stateManager.getState()!==BO.NOT_STARTED},e.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===BO.SCANNING},e.prototype.isPaused=function(){return this.stateManager.getState()===BO.PAUSED},e}(),UO=function(){function e(){}return e.create=function(){return new HO(new VO)},e}(),WO=(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)}})(),GO=function(e){WO(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}(aO),KO=function(){function e(e,t){this.logger=t,this.fps=GO.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=GO.DEFAULT_DISABLE_FLIP}return e.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?gO.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError(`Empty videoConstraints`,!0),!1)},e.prototype.isShadedBoxEnabled=function(){return!dO(this.qrbox)},e.create=function(t,n){return new e(t,n)},e}(),qO=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 uO(this.verbose),this.qrcode=new wO(this.getSupportedFormats(t),this.getUseBarCodeDetectorIfSupported(n),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=UO.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=KO.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:GO.DEFAULT_WIDTH,l.style.position=`relative`,this.shouldScan=!0,this.element=l;var u=this,d=this.stateManagerProxy.startTransition(BO.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)}};IO.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(pO.errorGettingUserMedia(e))})}).catch(function(e){d.cancel(),r(pO.cameraStreamingNotSupported())})})},e.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw`Cannot pause, scanner is not scanning.`;this.stateManagerProxy.directTransition(BO.PAUSED),this.showPausedState(),(dO(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(BO.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(BO.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var n=function(){if(e.element){var t=document.getElementById(GO.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(dO(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:GO.DEFAULT_WIDTH,l=Math.max(s.clientHeight?s.clientHeight:o,GO.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=GO.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(sO.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 zO.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(!gO.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=[eO.QR_CODE,eO.AZTEC,eO.CODABAR,eO.CODE_39,eO.CODE_93,eO.CODE_128,eO.DATA_MATRIX,eO.MAXICODE,eO.ITF,eO.EAN_13,eO.EAN_8,eO.PDF_417,eO.RSS_14,eO.RSS_EXPANDED,eO.UPC_A,eO.UPC_E,eO.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];rO(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(dO(e))return!0;if(!dO(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if(dO(e.experimentalFeatures))return!0;var t=e.experimentalFeatures;return dO(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<GO.MIN_QR_BOX_SIZE)throw`minimum size of 'config.qrbox' dimension value is ${GO.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=dO(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=pO.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,sO.createFromQrcodeResult(t)),n.possiblyUpdateShaders(!0),!0}).catch(function(e){n.possiblyUpdateShaders(!1);var r=pO.codeParseError(e);return t(r,lO.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?GO.BORDER_SHADER_MATCH_COLOR:GO.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=dO(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=`${GO.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=GO.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}(),JO=`data:image/svg+xml;base64,`,YO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNzEuNjQzIDM3MS42NDMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM3MS42NDMgMzcxLjY0MyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTEwNS4wODQgMzguMjcxaDE2My43Njh2MjBIMTA1LjA4NHoiLz48cGF0aCBkPSJNMzExLjU5NiAxOTAuMTg5Yy03LjQ0MS05LjM0Ny0xOC40MDMtMTYuMjA2LTMyLjc0My0yMC41MjJWMzBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwSDEyNS4wODRjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHYxMjAuMTQzaC04LjI5NmMtMTYuNTQyIDAtMzAgMTMuNDU4LTMwIDMwdjEuMzMzYTI5LjgwNCAyOS44MDQgMCAwIDAgNC42MDMgMTUuOTM5Yy03LjM0IDUuNDc0LTEyLjEwMyAxNC4yMjEtMTIuMTAzIDI0LjA2MXYxLjMzM2MwIDkuODQgNC43NjMgMTguNTg3IDEyLjEwMyAyNC4wNjJhMjkuODEgMjkuODEgMCAwIDAtNC42MDMgMTUuOTM4djEuMzMzYzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMGg4LjMyNGMuNDI3IDExLjYzMSA3LjUwMyAyMS41ODcgMTcuNTM0IDI2LjE3Ny45MzEgMTAuNTAzIDQuMDg0IDMwLjE4NyAxNC43NjggNDUuNTM3YTkuOTg4IDkuOTg4IDAgMCAwIDguMjE2IDQuMjg4IDkuOTU4IDkuOTU4IDAgMCAwIDUuNzA0LTEuNzkzYzQuNTMzLTMuMTU1IDUuNjUtOS4zODggMi40OTUtMTMuOTIxLTYuNzk4LTkuNzY3LTkuNjAyLTIyLjYwOC0xMC43Ni0zMS40aDgyLjY4NWMuMjcyLjQxNC41NDUuODE4LjgxNSAxLjIxIDMuMTQyIDQuNTQxIDkuMzcyIDUuNjc5IDEzLjkxMyAyLjUzNCA0LjU0Mi0zLjE0MiA1LjY3Ny05LjM3MSAyLjUzNS0xMy45MTMtMTEuOTE5LTE3LjIyOS04Ljc4Ny0zNS44ODQgOS41ODEtNTcuMDEyIDMuMDY3LTIuNjUyIDEyLjMwNy0xMS43MzIgMTEuMjE3LTI0LjAzMy0uODI4LTkuMzQzLTcuMTA5LTE3LjE5NC0xOC42NjktMjMuMzM3YTkuODU3IDkuODU3IDAgMCAwLTEuMDYxLS40ODZjLS40NjYtLjE4Mi0xMS40MDMtNC41NzktOS43NDEtMTUuNzA2IDEuMDA3LTYuNzM3IDE0Ljc2OC04LjI3MyAyMy43NjYtNy42NjYgMjMuMTU2IDEuNTY5IDM5LjY5OCA3LjgwMyA0Ny44MzYgMTguMDI2IDUuNzUyIDcuMjI1IDcuNjA3IDE2LjYyMyA1LjY3MyAyOC43MzMtLjQxMyAyLjU4NS0uODI0IDUuMjQxLTEuMjQ1IDcuOTU5LTUuNzU2IDM3LjE5NC0xMi45MTkgODMuNDgzLTQ5Ljg3IDExNC42NjEtNC4yMjEgMy41NjEtNC43NTYgOS44Ny0xLjE5NCAxNC4wOTJhOS45OCA5Ljk4IDAgMCAwIDcuNjQ4IDMuNTUxIDkuOTU1IDkuOTU1IDAgMCAwIDYuNDQ0LTIuMzU4YzQyLjY3Mi0zNi4wMDUgNTAuODAyLTg4LjUzMyA1Ni43MzctMTI2Ljg4OC40MTUtMi42ODQuODIxLTUuMzA5IDEuMjI5LTcuODYzIDIuODM0LTE3LjcyMS0uNDU1LTMyLjY0MS05Ljc3Mi00NC4zNDV6bS0yMzIuMzA4IDQyLjYyYy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM2MwLTUuNTE0IDQuNDg2LTEwIDEwLTEwaDE1djIxLjMzM2gtMTV6bS0yLjUtNTIuNjY2YzAtNS41MTQgNC40ODYtMTAgMTAtMTBoNy41djIxLjMzM2gtNy41Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM3ptMTcuNSA5My45OTloLTcuNWMtNS41MTQgMC0xMC00LjQ4Ni0xMC0xMHYtMS4zMzNjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGg3LjV2MjEuMzMzem0zMC43OTYgMjguODg3Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi04LjI3MWg5MS40NTdjLS44NTEgNi42NjgtLjQzNyAxMi43ODcuNzMxIDE4LjI3MWgtODIuMTg4em03OS40ODItMTEzLjY5OGMtMy4xMjQgMjAuOTA2IDEyLjQyNyAzMy4xODQgMjEuNjI1IDM3LjA0IDUuNDQxIDIuOTY4IDcuNTUxIDUuNjQ3IDcuNzAxIDcuMTg4LjIxIDIuMTUtMi41NTMgNS42ODQtNC40NzcgNy4yNTEtLjQ4Mi4zNzgtLjkyOS44LTEuMzM1IDEuMjYxLTYuOTg3IDcuOTM2LTExLjk4MiAxNS41Mi0xNS40MzIgMjIuNjg4aC05Ny41NjRWMzBjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGgxMjMuNzY5YzUuNTE0IDAgMTAgNC40ODYgMTAgMTB2MTM1LjU3OWMtMy4wMzItLjM4MS02LjE1LS42OTQtOS4zODktLjkxNC0yNS4xNTktMS42OTQtNDIuMzcgNy43NDgtNDQuODk4IDI0LjY2NnoiLz48cGF0aCBkPSJNMTc5LjEyOSA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXpNMTcyLjYyOSAxNDIuODZoLTEyLjU2VjEzMC44YTUgNSAwIDEgMC0xMCAwdjE3LjA2MWE1IDUgMCAwIDAgNSA1aDE3LjU2YTUgNSAwIDEgMCAwLTEwLjAwMXpNMjE2LjU2OCA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXptLTUgMjQuMDYxaC0xNC4wNlY5My4xNjdoMTQuMDZ2MTQuMDYxek0yMTEuNjY5IDEyNS45MzZIMTk3LjQxYTUgNSAwIDAgMC01IDV2MTQuMjU3YTUgNSAwIDAgMCA1IDVoMTQuMjU5YTUgNSAwIDAgMCA1LTV2LTE0LjI1N2E1IDUgMCAwIDAtNS01eiIvPjwvc3ZnPg==`,XO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OS4wMTggNTkuMDE4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS4wMTggNTkuMDE4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJtNTguNzQxIDU0LjgwOS01Ljk2OS02LjI0NGExMC43NCAxMC43NCAwIDAgMCAyLjgyLTcuMjVjMC01Ljk1My00Ljg0My0xMC43OTYtMTAuNzk2LTEwLjc5NlMzNCAzNS4zNjEgMzQgNDEuMzE0IDM4Ljg0MyA1Mi4xMSA0NC43OTYgNTIuMTFjMi40NDEgMCA0LjY4OC0uODI0IDYuNDk5LTIuMTk2bDYuMDAxIDYuMjc3YS45OTguOTk4IDAgMCAwIDEuNDE0LjAzMiAxIDEgMCAwIDAgLjAzMS0xLjQxNHpNMzYgNDEuMzE0YzAtNC44NSAzLjk0Ni04Ljc5NiA4Ljc5Ni04Ljc5NnM4Ljc5NiAzLjk0NiA4Ljc5NiA4Ljc5Ni0zLjk0NiA4Ljc5Ni04Ljc5NiA4Ljc5NlMzNiA0Ni4xNjQgMzYgNDEuMzE0ek0xMC40MzEgMTYuMDg4YzAgMy4wNyAyLjQ5OCA1LjU2OCA1LjU2OSA1LjU2OHM1LjU2OS0yLjQ5OCA1LjU2OS01LjU2OGMwLTMuMDcxLTIuNDk4LTUuNTY5LTUuNTY5LTUuNTY5cy01LjU2OSAyLjQ5OC01LjU2OSA1LjU2OXptOS4xMzggMGMwIDEuOTY4LTEuNjAyIDMuNTY4LTMuNTY5IDMuNTY4cy0zLjU2OS0xLjYwMS0zLjU2OS0zLjU2OCAxLjYwMi0zLjU2OSAzLjU2OS0zLjU2OSAzLjU2OSAxLjYwMSAzLjU2OSAzLjU2OXoiLz48cGF0aCBkPSJtMzAuODgyIDI4Ljk4NyA5LjE4LTEwLjA1NCAxMS4yNjIgMTAuMzIzYTEgMSAwIDAgMCAxLjM1MS0xLjQ3NWwtMTItMTFhMSAxIDAgMCAwLTEuNDE0LjA2M2wtOS43OTQgMTAuNzI3LTQuNzQzLTQuNzQzYTEuMDAzIDEuMDAzIDAgMCAwLTEuMzY4LS4wNDRMNi4zMzkgMzcuNzY4YTEgMSAwIDEgMCAxLjMyMiAxLjUwMWwxNi4zMTMtMTQuMzYyIDcuMzE5IDcuMzE4YS45OTkuOTk5IDAgMSAwIDEuNDE0LTEuNDE0bC0xLjgyNS0xLjgyNHoiLz48cGF0aCBkPSJNMzAgNDYuNTE4SDJ2LTQyaDU0djI4YTEgMSAwIDEgMCAyIDB2LTI5YTEgMSAwIDAgMC0xLTFIMWExIDEgMCAwIDAtMSAxdjQ0YTEgMSAwIDAgMCAxIDFoMjlhMSAxIDAgMSAwIDAtMnoiLz48L3N2Zz4=`,ZO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NjAgNDYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NjAgNDYwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMjMwIDBDMTAyLjk3NSAwIDAgMTAyLjk3NSAwIDIzMHMxMDIuOTc1IDIzMCAyMzAgMjMwIDIzMC0xMDIuOTc0IDIzMC0yMzBTMzU3LjAyNSAwIDIzMCAwem0zOC4zMzMgMzc3LjM2YzAgOC42NzYtNy4wMzQgMTUuNzEtMTUuNzEgMTUuNzFoLTQzLjEwMWMtOC42NzYgMC0xNS43MS03LjAzNC0xNS43MS0xNS43MVYyMDIuNDc3YzAtOC42NzYgNy4wMzMtMTUuNzEgMTUuNzEtMTUuNzFoNDMuMTAxYzguNjc2IDAgMTUuNzEgNy4wMzMgMTUuNzEgMTUuNzFWMzc3LjM2ek0yMzAgMTU3Yy0yMS41MzkgMC0zOS0xNy40NjEtMzktMzlzMTcuNDYxLTM5IDM5LTM5IDM5IDE3LjQ2MSAzOSAzOS0xNy40NjEgMzktMzkgMzl6Ii8+PC9zdmc+`,QO=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAQgAAAEIBarqQRAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE1SURBVDiNfdI7S0NBEAXgLya1otFgpbYSbISAgpXYi6CmiH9KCAiChaVga6OiWPgfRDQ+0itaGVNosXtluWwcuMzePfM4M3sq8lbHBubwg1dc4m1E/J/N4ghDPOIsfk/4xiEao5KX0McFljN4C9d4QTPXuY99jP3DsIoDPGM6BY5i5yI5R7O4q+ImFkJY2DCh3cAH2klyB+9J1xUMMAG7eCh1a+Mr+k48b5diXrFVwwLuS+BJ9MfR7+G0FHOHhTHhnXNWS87VDF4pcnfQK4Ep7XScNLmPTZgURNKKYENYWDpzW1BhscS1WHS8CDgURFJQrWcoF3c13KKbgg1BYQfy8xZWEzTTw1QZbAoKu8FqJnktdu5hcVSHmchiILzzuaDQvjBzV2m8yohCE1jHfPx/xhU+y4G/D75ELlRJsSYAAAAASUVORK5CYII=`,$O=function(){function e(){}return e.createDefault=function(){return{hasPermission:!1,lastUsedCameraId:null}},e}(),ek=function(){function e(){this.data=$O.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=$O.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}(),tk=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=hO.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=hO.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}(),nk=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=ZO,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=QO,this.infoIcon.style.opacity=`1`):(this.isShowingInfoIcon=!0,this.onTapOut(),this.infoIcon.src=ZO,this.infoIcon.style.opacity=`0.6`)},e}(),rk=function(){function e(){var e=this;this.infoDiv=new tk,this.infoIcon=new nk(function(){e.infoDiv.show()},function(){e.infoDiv.hide()})}return e.prototype.renderInto=function(e){this.infoDiv.renderInto(e),this.infoIcon.renderInto(e)},e}(),ik=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())})},ak=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}}},ok=function(){function e(){}return e.hasPermissions=function(){return ik(this,void 0,void 0,function(){var e,t,n,r;return ak(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}(),sk=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===iO.SCAN_TYPE_CAMERA},e.isFileScanType=function(e){return e===iO.SCAN_TYPE_FILE},e.prototype.validateAndReturnScanTypes=function(e){if(!e||e.length===0)return aO.DEFAULT_SUPPORTED_SCAN_TYPE;var t=aO.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(!aO.DEFAULT_SUPPORTED_SCAN_TYPE.includes(i))throw`Unsupported scan type ${i}`}return e},e}(),ck=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}(),lk=function(){function e(){}return e.createElement=function(e,t){var n=document.createElement(e);return n.id=t,n.classList.add(ck.ALL_ELEMENT_CLASS),e===`button`&&n.setAttribute(`type`,`button`),n},e}(),uk=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())})},dk=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}}},fk=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 uk(this,void 0,void 0,function(){var e,t;return dk(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?mO.torchOffButton():mO.torchOnButton()),this.isTorchOn=t):this.propagateFailure(t),this.buttonController.enable()},e.prototype.propagateFailure=function(e,t){var n=e?mO.torchOnFailedMessage():mO.torchOffFailedMessage();t&&(n+=`; Error = `+t),this.onTorchActionFailureCallback(n)},e.prototype.reset=function(){this.isTorchOn=!1},e}(),pk=function(){function e(e,t){this.onTorchActionFailureCallback=t,this.torchButton=lk.createElement(`button`,ck.TORCH_BUTTON_ID),this.torchController=new fk(e,this,t)}return e.prototype.render=function(e,t){var n=this;this.torchButton.innerText=mO.torchOnButton(),this.torchButton.style.display=t.display,this.torchButton.style.marginLeft=t.marginLeft;var r=this;this.torchButton.addEventListener(`click`,function(e){return uk(n,void 0,void 0,function(){return dk(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(ck.TORCH_BUTTON_CLASS_TORCH_OFF),r.torchButton.classList.add(ck.TORCH_BUTTON_CLASS_TORCH_ON)):(r.torchButton.classList.remove(ck.TORCH_BUTTON_CLASS_TORCH_ON),r.torchButton.classList.add(ck.TORCH_BUTTON_CLASS_TORCH_OFF)),[2]}})})}),e.appendChild(this.torchButton)},e.prototype.updateTorchCapability=function(e){this.torchController=new fk(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=mO.torchOnButton(),this.torchController.reset()},e.create=function(t,n,r,i){var a=new e(n,i);return a.render(t,r),a},e}(),mk=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=lk.createElement(`button`,ck.FILE_SELECTION_BUTTON_ID),this.setInitialValueToButton(),this.fileSelectionButton.addEventListener(`click`,function(e){r.click()}),r.append(this.fileSelectionButton),this.fileScanInput=lk.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=mO.dragAndDropMessage();break}}o||(a.innerText=mO.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=mO.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=mO.fileSelectionChooseAnother()+` - `+e;this.fileSelectionButton.innerText=r},e.prototype.setInitialValueToButton=function(){var e=mO.fileSelectionChooseImage()+` - `+mO.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}(),hk=function(){function e(e){this.selectElement=lk.createElement(`select`,ck.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=`${mO.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=[mO.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}(),gk=function(){function e(){this.onChangeCallback=null,this.zoomElementContainer=document.createElement(`div`),this.rangeInput=lk.createElement(`input`,ck.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=mO.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=mO.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}(),_k;(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`})(_k||={});function vk(e){return{fps:e.fps,qrbox:e.qrbox,aspectRatio:e.aspectRatio,disableFlip:e.disableFlip,videoConstraints:e.videoConstraints}}function yk(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 sk(this.config.supportedScanTypes),this.currentScanType=this.scanTypeSelector.getDefaultScanType(),this.sectionSwapAllowed=!0,this.logger=new uO(this.verbose),this.persistedDataManager=new ek,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(mO.lastMatch(t),_k.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 qO(this.getScanRegionId(),yk(this.config,this.verbose))},e.prototype.pause=function(e){(dO(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||=aO.SCAN_DEFAULT_FPS,e.rememberLastUsedCamera!==!aO.DEFAULT_REMEMBER_LAST_CAMERA_USED&&(e.rememberLastUsedCamera=aO.DEFAULT_REMEMBER_LAST_CAMERA_USED),e.supportedScanTypes||=aO.DEFAULT_SUPPORTED_SCAN_TYPE,e):{fps:aO.SCAN_DEFAULT_FPS,rememberLastUsedCamera:aO.DEFAULT_REMEMBER_LAST_CAMERA_USED,supportedScanTypes:aO.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),sk.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 rk().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(mO.cameraPermissionRequesting());var i=function(){n||r.createPermissionButton(e,t)};qO.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(mO.noCameraFound(),_k.STATUS_WARNING),i())}).catch(function(e){r.persistedDataManager.setHasPermission(!1),n?n.disabled=!1:i(),r.setHeaderMessage(e,_k.STATUS_WARNING),r.showHideScanTypeSwapLink(!0)})},e.prototype.createPermissionButton=function(e,t){var n=this,r=lk.createElement(`button`,this.getCameraPermissionButtonId());r.innerText=mO.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(sk.isCameraScanType(this.currentScanType)&&this.persistedDataManager.hasCameraPermissions()){ok.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=sk.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=sk.isFileScanType(this.currentScanType),n=this,r=function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;sk.isFileScanType(n.currentScanType)&&(n.setHeaderMessage(mO.loadingImage()),n.html5Qrcode.scanFileV2(e,!0).then(function(e){n.resetHeaderMessage(),n.qrCodeSuccessCallback(e.decodedText,e)}).catch(function(e){n.setHeaderMessage(e,_k.STATUS_WARNING),n.qrCodeErrorCallback(e,lO.createFrom(e))}))};this.fileSelectionUi=mk.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=gk.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=fO(r,n.min(),n.max()),i.setValues(n.min(),n.max(),r,n.step()),i.show()}},o=hk.create(r,e),s=document.createElement(`span`),c=lk.createElement(`button`,ck.CAMERA_START_BUTTON_ID);c.innerText=mO.scanButtonStartScanningText(),s.appendChild(c);var l=lk.createElement(`button`,ck.CAMERA_STOP_BUTTON_ID);l.innerText=mO.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=pk.create(s,e.torchFeature(),{display:`none`,marginLeft:`5px`},function(e){n.setHeaderMessage(e,_k.STATUS_WARNING)}),u.show()};r.appendChild(s);var f=function(e){e||(c.style.display=`none`),c.innerText=mO.scanButtonStartScanningText(),c.style.opacity=`1`,c.disabled=!1,e&&(c.style.display=`inline-block`)};if(c.addEventListener(`click`,function(e){c.innerText=mO.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,vk(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,_k.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,_k.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=mO.textIfCameraScanSelected(),n=mO.textIfFileScanSelected(),r=document.getElementById(this.getDashboardSectionId()),i=document.createElement(`div`);i.style.textAlign=`center`;var a=lk.createElement(`span`,this.getDashboardSectionSwapLinkId());a.style.textDecoration=`underline`,a.style.cursor=`pointer`,a.innerText=sk.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,sk.isCameraScanType(e.currentScanType)?(e.clearScanRegion(),e.getCameraScanRegion().style.display=`none`,e.fileSelectionUi.show(),a.innerText=n,e.currentScanType=iO.SCAN_TYPE_FILE,e.insertFileScanImageToScanRegion()):(e.clearScanRegion(),e.getCameraScanRegion().style.display=`block`,e.fileSelectionUi.hide(),a.innerText=t,e.currentScanType=iO.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()){ok.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||=_k.STATUS_DEFAULT;var n=this.getHeaderMessageDiv();switch(n.innerText=e,n.style.display=`block`,t){case _k.STATUS_SUCCESS:n.style.background=`rgba(106, 175, 80, 0.26)`,n.style.color=`#477735`;break;case _k.STATUS_WARNING:n.style.background=`rgba(203, 36, 49, 0.14)`,n.style.color=`#cb2431`;break;case _k.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=YO,this.cameraScanImage.alt=mO.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=XO,this.fileScanImage.alt=mO.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 ck.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 ck.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 bk;(function(e){e[e.BACK=1]=`BACK`,e[e.FRONT=2]=`FRONT`})(bk||={});var xk;(function(e){e[e.PORTRAIT=1]=`PORTRAIT`,e[e.LANDSCAPE=2]=`LANDSCAPE`,e[e.ADAPTIVE=3]=`ADAPTIVE`})(xk||={});var Sk;(function(e){e[e.ALL=17]=`ALL`})(Sk||={});var Ck=Object.assign(Object.assign({},eO),Sk),wk;(function(e){e.ZXING=`zxing`,e.MLKIT=`mlkit`})(wk||={});var Tk=[{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 Ek(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 Dk=bm(`CapacitorBarcodeScanner`,{web:()=>(Ek(Tk),Wo(()=>import(`./web-C8pB6Hir.js`).then(e=>new e.CapacitorBarcodeScannerWeb),[]))}),Ok=class{static async scanBarcode(e){return e.scanInstructions=e.scanInstructions||` `,e.scanButton=e.scanButton||!1,e.scanText=e.scanText||` `,e.cameraDirection=e.cameraDirection||bk.BACK,e.scanOrientation=e.scanOrientation||xk.ADAPTIVE,Dk.scanBarcode(e)}};function kk(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 Ak(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 jk(){let[e,t]=(0,Z.useState)(!1);return{scan:(0,Z.useCallback)(async()=>{if(!Ir())return{value:null,error:null};t(!0);try{let e=await Ok.scanBarcode({hint:Ck.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 Ak(e)?{value:null,error:null}:kk(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:Ir()}}function Mk(){let[e,t]=(0,Z.useState)(!0),[n,r]=(0,Z.useState)(jo),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),u=jk();(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let n=await fetch(`${Xa()}/health`,{method:`GET`});e&&t(n.ok)}catch{e&&t(!1)}})(),()=>{e=!1}},[]);let d=(0,Z.useCallback)(async()=>{let e=Oi(n);if(e){a(null),l(!0);try{if(!await vi(e)){a(e);return}Ar(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=Oi(e.value);if(!t){s(`The scanned QR code did not contain a valid server address.`);return}l(!0);try{if(!await vi(t)){a(t);return}Ar(e.value)}finally{l(!1)}}},[u]);return e?null:(0,$.jsx)(Ks,{open:!0,children:(0,$.jsxs)(Vs,{children:[(0,$.jsxs)(Gs,{children:[(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`mx-auto h-16 w-16 rounded-lg`}),(0,$.jsx)(Bs,{children:`Connect to Tarsk`}),(0,$.jsx)(zs,{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)(Io,{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)(No,{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)(K,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(F,{className:`h-4 w-4`})})]}),o&&(0,$.jsxs)(no,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsx)(`p`,{className:`flex-1`,children:o}),(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>s(null),children:(0,$.jsx)(tt,{className:`h-4 w-4`})})]}),i&&(0,$.jsxs)(no,{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)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>a(null),children:(0,$.jsx)(tt,{className:`h-4 w-4`})})]}),(0,$.jsx)(Us,{children:(0,$.jsx)(No,{onClick:()=>void d(),disabled:!n.trim()||c,children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}),`Connecting...`]}):`Connect`})}),(0,$.jsxs)(no,{variant:`hint`,className:`mb-0`,children:[(0,$.jsx)(`p`,{className:b.bodyMuted,children:`Start the Tarsk server on your local machine by running:`}),(0,$.jsx)(`code`,{className:G(b.mono,`mt-2 block rounded bg-background/60 px-2 py-1 text-foreground`),children:`npx tarsk --server`})]})]})})}var Nk=(0,Z.lazy)(()=>Wo(()=>import(`./create-project-dialog-DfvqFmmy.js`),__vite__mapDeps([29,1,27,6,7]))),Pk=(0,Z.lazy)(()=>Wo(()=>import(`./onboarding-dbhmRuxw.js`).then(e=>e.t),__vite__mapDeps([6,1,7])));function Fk(e){let t=(0,Q.c)(35),{showCreateProject:n,createProjectInitialMode:r,onCreateProjectOpenChange:i,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s,deleteProject:c,deleteProjectBlocked:l,deleteProjectBlockReason:u,onDeleteProjectOpenChange:d,onConfirmDeleteProject:f,deleteProjectProgress:p,onDeleteProjectRetry:m,onDeleteProjectProgressClose:h,pendingSetupScriptConfirmation:g,onResolveSetupScriptConfirmation:_,showOnboarding:v,onOnboardingOpenChange:y,onOnboardingComplete:b}=e,x=r??void 0,S;t[0]!==i||t[1]!==a||t[2]!==s||t[3]!==o||t[4]!==n||t[5]!==x?(S=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Nk,{open:n,onOpenChange:i,initialMode:x,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s})}),t[0]=i,t[1]=a,t[2]=s,t[3]=o,t[4]=n,t[5]=x,t[6]=S):S=t[6];let C=c!==null,w=c?.name,T;t[7]!==u||t[8]!==l||t[9]!==f||t[10]!==d||t[11]!==C||t[12]!==w?(T=(0,$.jsx)(ZD,{open:C,projectName:w,onOpenChange:d,onConfirm:f,blocked:l,blockReason:u}),t[7]=u,t[8]=l,t[9]=f,t[10]=d,t[11]=C,t[12]=w,t[13]=T):T=t[13];let E;t[14]!==p||t[15]!==h||t[16]!==m?(E=(0,$.jsx)(pw,{progress:p,onRetry:m,onClose:h}),t[14]=p,t[15]=h,t[16]=m,t[17]=E):E=t[17];let D=g!==null,O;t[18]===g?O=t[19]:(O=g?[g.command,...g.remainingScripts||[]]:[],t[18]=g,t[19]=O);let k;t[20]!==_||t[21]!==D||t[22]!==O?(k=(0,$.jsx)(QD,{open:D,setupScripts:O,onConfirm:_}),t[20]=_,t[21]=D,t[22]=O,t[23]=k):k=t[23];let A;t[24]!==b||t[25]!==y||t[26]!==v?(A=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Pk,{open:v,onOpenChange:y,onComplete:b})}),t[24]=b,t[25]=y,t[26]=v,t[27]=A):A=t[27];let j;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Mk,{}),t[28]=j):j=t[28];let M;return t[29]!==A||t[30]!==S||t[31]!==T||t[32]!==E||t[33]!==k?(M=(0,$.jsxs)($.Fragment,{children:[S,T,E,k,A,j]}),t[29]=A,t[30]=S,t[31]=T,t[32]=E,t[33]=k,t[34]=M):M=t[34],M}function Ik(){let e=(0,Q.c)(7),{setIsSelectModeEnabled:t,setSelectedBrowserElement:n,setIsSelectionPromptOpen:r}=ZC(),i;e[0]!==t||e[1]!==r||e[2]!==n?(i=e=>{n(e),r(!0),t(!1)},e[0]=t,e[1]=r,e[2]=n,e[3]=i):i=e[3];let a=i,o,s;e[4]===a?(o=e[5],s=e[6]):(o=()=>{let e=function(e){let t=e.detail;PD(t)&&a(t)},t=function(e){let t=FD(e.data);t&&a(t)};return window.addEventListener(MD,e),window.addEventListener(`message`,t),function(){window.removeEventListener(MD,e),window.removeEventListener(`message`,t)}},s=[a],e[4]=a,e[5]=o,e[6]=s),(0,Z.useEffect)(o,s)}var Lk=`__tarskBrowserCapture`,Rk=15e3,zk=0,Bk=null,Vk=new Set;function Hk(){for(let e of Vk)e()}function Uk(){Bk!=null&&(clearTimeout(Bk),Bk=null)}function Wk(){Uk(),zk!==0&&(zk=0,Hk())}function Gk(){zk+=1,Uk(),Bk=setTimeout(Wk,Rk),zk===1&&Hk()}function Kk(){zk!==0&&(--zk,!(zk>0)&&(Uk(),Hk()))}function qk(){return zk>0}function Jk(e){return Vk.add(e),function(){Vk.delete(e)}}function Yk(e){if(e!=null){let t=document.getElementById(`electrobun-webview-${e}`);if(t)return t}return document.querySelector(`electrobun-webview`)}function Xk(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 Zk(e){let t=Yk(e);return t?Xk(t.getBoundingClientRect(),window):null}function Qk(){let e=window;return e[Lk]={begin:Gk,end:Kk,rect:Zk},function(){delete e[Lk],Wk()}}var $k=M(`app.use-browser-tool-listener.hook`);function eA(e){let t=e.trim();return t?t.startsWith(`http://`)||t.startsWith(`https://`)?t:`http://${t}`:``}function tA(){return document.querySelector(`electrobun-webview`)}function nA(e=2e4){return new Promise((t,n)=>{let r=Date.now();function i(){let a=tA();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 rA(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 iA(e){let t=Date.now();function n(){if(Date.now()-t>2e4){$k.error(`[browser-tool] timed out waiting for preview webview to mount (${e})`);return}let r=tA();if(!r||r.webviewId==null){requestAnimationFrame(n);return}ig(e,r.webviewId).catch(e=>{$k.error(`[browser-tool] failed to report preview webview ready`,e)})}requestAnimationFrame(n)}async function aA(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 nA();t.syncDimensions(!0),await ag(r,{action:`set_viewport`,preset:e,webview_id:t.webviewId})}catch(t){$k.error(`[browser-tool] failed to set viewport`,t),await ag(r,{action:`set_viewport`,preset:e,error:t instanceof Error?t.message:String(t)})}return}if(pt(i.action)){try{await ag(r,await rA(await nA(),i,t))}catch(e){$k.error(`[browser-tool] failed to execute host browser action`,e),await ag(r,{action:i.action,error:e instanceof Error?e.message:String(e)})}return}iA(r)}}function oA(){let{openChatDockPanel:e}=$u(),{expandWindow:t,hasOpenWindows:n}=Ys(),{setDevServerUrl:r,devServerUrl:i}=ix(),{setBrowserDeviceMode:a}=ZC(),o=(0,Z.useRef)(null),s=X(e=>{let t=o.current;return t?e.threadStreamingStates[Is(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(Ze)}(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(Rh,e),function(){window.removeEventListener(Rh,e)}},[]),(0,Z.useEffect)(()=>{if(Lo())return Qk()},[]),(0,Z.useEffect)(()=>{if(!Lo())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=eA(n);e&&f.current(e)}aA(t,c.current||``,p.current)}return window.addEventListener(Lh,e),function(){window.removeEventListener(Lh,e)}},[])}function sA(){let e=(0,Q.c)(5),{toasts:t}=Ls(),n;e[0]===t?n=e[1]:(n=t.map(cA),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(hw,{}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,$.jsxs)(mw,{duration:5e3,children:[n,r]}),e[3]=n,e[4]=i),i}function cA(e){let{id:t,title:n,description:r,action:i,variant:a,...o}=e,s=a===`destructive`,c=[n,r].filter(Boolean).join(`
3304
- `),l=s?(0,$.jsxs)(vw,{altText:`Copy error`,onClick:()=>{navigator.clipboard.writeText(c)},children:[(0,$.jsx)(ft,{className:`h-4 w-4`}),`Copy`]}):null;return(0,$.jsxs)(_w,{variant:a,...o,children:[(0,$.jsxs)(`div`,{className:`grid gap-1`,children:[n&&(0,$.jsx)(bw,{children:n}),r&&(0,$.jsx)(xw,{children:r})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[i,l]}),(0,$.jsx)(yw,{})]},t)}function lA(){return new Cc({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!0},mutations:{retry:0}}})}function uA(e){let t=(0,Q.c)(3),{children:n}=e,[r]=(0,Z.useState)(lA),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(_r,{client:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function dA(){let e=(0,Q.c)(4),{resolvedTheme:t,theme:n}=gc(),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 fA(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)(dA,{}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,$.jsxs)(_c,{...r,children:[i,n]}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function pA(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(mA),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 mA(){return document.hasFocus()}var hA=M(`chat.processing-threads`),gA=null;function _A(){gA??=new Audio(`/pop.wav`),gA.currentTime=0,gA.play().catch(e=>{hA.debug(`Could not play completion sound`,{err:e})})}function vA(){let e=Es(),t=xs(),n=X(e=>e.processingThreadIds),r=X(e=>e.completedThreadIds),i=pA(),{activeMainTab:a,setChatNotification:o}=qs(),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=mm(await ia()),r=t.getState().selectedThreadId,i=l.current.filter(e=>!n.includes(e)),a=r!==null&&i.includes(r);for(let t of i)t!==r&&e({type:Y.MarkThreadCompleted,threadId:t});if(n.length>0&&d.current!==`chat`&&o(!0),(n.length===0||a)&&o(!1),i.length>0&&!u.current&&_A(),i.length>0)try{pi();let t=await Sa();e({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){hA.error(`Failed to refresh projects after thread completion`,{err:e})}return l.current=n,e({type:Y.SetProcessingThreads,threadIds:n}),n}catch(e){return hA.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])}}function yA(){let e=(0,Q.c)(15),t=Es(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={queryKey:F_.onboarding.status(),queryFn:to,staleTime:1/0,retry:1},e[0]=o):o=e[0];let s=mr(o),c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c={queryKey:F_.app.update(),queryFn:Cr,staleTime:1/0,retry:!1},e[1]=c):c=e[1];let l=mr(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 Qi()}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 bA(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r=Gn(),i=Vn(),{activeMainTab:a,setActiveMainTab:o}=qs(),{openChatDockPanel:s}=$u(),{terminalState:c}=ms(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&&!Qu(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 xA(e,t){let n=(0,Q.c)(8),r=Es(),i=X(SA),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 SA(e){return e.sidebarOpen}var CA=bm(`App`,{web:()=>Wo(()=>import(`./web-g0yy51Pa.js`).then(e=>new e.AppWeb),[])}),wA=1e10,TA=1e3;function EA(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 DA(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=TA}=e;e.transport&&i(e.transport),e.requestHandler&&a(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let s=0;function c(){return s<=wA?++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 EA([`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 EA([`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 EA([`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 EA([`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 OA(e,t){let n=DA({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 kA=window.__electrobunWebviewId,AA=window.__electrobunRpcSocketPort,jA=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:${AA}/socket?webviewId=${kA}`);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 OA(`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))}})}})}},MA=null;function NA(e){MA?.send.setWindowLabel({label:e})}function PA(e){MA?.send.openProjectIconDialog({startingFolder:e})}function FA(e){let t=(0,Z.useRef)(e);t.current=e,(0,Z.useEffect)(()=>{window.__electrobunWebviewId&&(MA=jA.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 jA({rpc:MA}))},[]),(0,Z.useEffect)(()=>{if(!Ir())return;let e=CA.addListener(`backButton`,({canGoBack:e})=>{e?window.history.back():CA.exitApp()});return()=>{e.then(e=>e.remove())}},[])}var IA=M(`app.embed-host.hook`);function LA(e){let t=(0,Q.c)(7),n=Es(),r=X(RA),i=(0,Z.useRef)(null),a,o;t[0]===n?(a=t[1],o=t[2]):(a=()=>{TC()&&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(!TC()||r)return;let t=wC();!t||i.current===t||(i.current=t,e(t).catch(e=>{i.current=null,IA.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 RA(e){return e.projectsLoading}function zA(){return{autoGenerateCommitMessage:ei(),autoGeneratePRInfo:ci(),createBranchAfterPR:Or(),privateRepositoryDefault:qi(),newChatOnNewBranch:ii()}}function BA(e){e.autoGenerateCommitMessage!==void 0&&Fa(e.autoGenerateCommitMessage),e.autoGeneratePRInfo!==void 0&&ra(e.autoGeneratePRInfo),e.createBranchAfterPR!==void 0&&pa(e.createBranchAfterPR),e.privateRepositoryDefault!==void 0&&ja(e.privateRepositoryDefault),e.newChatOnNewBranch!==void 0&&xa(e.newChatOnNewBranch)}var VA=new Set;function HA(e){return VA.add(e),function(){VA.delete(e)}}function UA(){for(let e of VA)e()}var WA=M(`app.merged-pr-dialog-host.ui`),GA=(0,Z.lazy)(()=>Wo(()=>import(`./merged-pr-dialog-Bi5pJzTO.js`).then(e=>({default:e.MergedPRDialog})),__vite__mapDeps([32,6,1,7])));function KA({threadId:e,projectId:t}){let n=Es(),r=X(e=>e.projects.find(e=>e.projectId===t)),i=Wu(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),l=(0,Z.useRef)(null),[u,d]=(0,Z.useState)(()=>zA());(0,Z.useEffect)(()=>{BA(u)},[u]),(0,Z.useEffect)(()=>HA(()=>{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 _a(e);if(u.newChatOnNewBranch){let r=`New Chat`;await yi(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r}),await bo(e),n({type:Y.ClearMessages}),setTimeout(()=>{(async()=>{try{let t=await qr(e);n({type:Y.SetMessages,messages:t.messages})}catch(e){WA.error(`Failed to refresh chat history after starting new chat:`,e)}})()},0)}pi();let a=await Sa();n({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),Rs({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){WA.error(`Failed to create new branch:`,e),Rs({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)(GA,{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 qA(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 JA(){let e=(0,Q.c)(28),{portConflictPrompt:t,clearPortConflictPrompt:n}=ix(),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)(Bs,{children:`Port already in use`}),e[9]=u):u=e[9];let d;e[10]===t?d=e[11]:(d=t?qA(t):null,e[10]=t,e[11]=d);let f;e[12]===d?f=e[13]:(f=(0,$.jsxs)(Gs,{children:[u,(0,$.jsx)(zs,{children:d})]}),e[12]=d,e[13]=f);let p;e[14]===o?p=e[15]:(p=(0,$.jsx)(Ws,{onClick:o,children:`Cancel`}),e[14]=o,e[15]=p);let m;e[16]===c?m=e[17]:(m=(0,$.jsx)(Hs,{onClick:c,children:`Kill and retry`}),e[16]=c,e[17]=m);let h;e[18]!==p||e[19]!==m?(h=(0,$.jsxs)(Us,{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)(Vs,{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)(Ks,{open:l,onOpenChange:i,children:g}),e[24]=i,e[25]=g,e[26]=l,e[27]=_):_=e[27],_}function YA(e){let t=(0,Q.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(JA,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(Js,{children:(0,$.jsx)(Xs,{children:(0,$.jsxs)(rx,{children:[r,(0,$.jsx)(Qs,{children:(0,$.jsx)(YC,{children:n})})]})})}),t[1]=n,t[2]=i),i}function XA(e){let t=(0,Q.c)(5),n=Vn(),{windows:r,expandedWindowId:i}=Ys();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=zC(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 ZA(){let e=(0,Q.c)(6),t=X(ej),n=X($A),r=X(QA)===`projects`,i=XA(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}`,NA(`Projects`);return}let e=t.find(e=>e.projectId===n);if(!e){document.title=`Tarsk`,NA(`Projects`);return}let a=Ke(e);document.title=`${a} - ${i}`,NA(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 QA(e){return e.projectPanelView}function $A(e){return e.selectedProjectId}function ej(e){return e.projects}var tj=`tarsk.ui-crash-report`,nj=8e3,rj=2e3,ij=0,aj=``;function oj(e,t){if(e)return e.length<=t?e:`${e.slice(0,t)}…`}function sj(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 cj(e,t){return e instanceof Error&&e.name===`Canceled`?!0:t.trim()===`Canceled`}function lj(e,t){return e instanceof Error&&e.name===`Canceled`?!1:t.includes(`TextModel got disposed before DiffEditorWidget model got reset`)}function uj(e,t){return e instanceof Error?!1:t.trim().toLowerCase()===`script error.`}function dj(e){let{message:t}=fj(e);return t.includes(`ResizeObserver loop`)||sj(e,t)||cj(e,t)||lj(e,t)||uj(e,t)}function fj(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 pj(e,t,n){let r=fj(e);return{message:r.message,stack:oj(r.stack,nj),componentStack:oj(n?.trim(),nj),source:t,url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}function mj(e){let t=Date.now();return e===aj&&t-ij<rj?!0:(aj=e,ij=t,!1)}function hj(){if(typeof localStorage>`u`)return null;let e=localStorage.getItem(tj);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 gj(){typeof localStorage>`u`||localStorage.removeItem(tj)}function _j(e,t){let n=pj(e,t.source,t.componentStack);if(!mj(n.message)&&typeof localStorage<`u`)try{localStorage.setItem(tj,JSON.stringify(n))}catch{}return n}function vj(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(`
3303
+ `),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 re.AZTEC_PARAM;case 6:return re.AZTEC_DATA_6;case 8:return re.AZTEC_DATA_8;case 10:return re.AZTEC_DATA_10;case 12:return re.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 ae;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=ne,e.AztecCode=Hn,e.AztecCodeReader=xe,e.AztecCodeWriter=ar,e.AztecDecoder=ce,e.AztecDetector=be,e.AztecDetectorResult=pe,e.AztecEncoder=ir,e.AztecHighLevelEncoder=rr,e.AztecPoint=ye,e.BarcodeFormat=B,e.Binarizer=f,e.BinaryBitmap=u,e.BitArray=v,e.BitMatrix=O,e.BitSource=_t,e.BrowserAztecCodeReader=Se,e.BrowserBarcodeReader=dt,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=W,e.Code39Reader=we,e.DataMatrixDecodedBitStreamParser=yt,e.DataMatrixReader=St,e.DecodeHintType=b,e.DecoderResult=U,e.DefaultGridSampler=_e,e.DetectorResult=fe,e.EAN13Reader=je,e.EncodeHintType=En,e.Exception=s,e.FormatException=x,e.GenericGF=re,e.GenericGFPoly=te,e.GlobalHistogramBinarizer=A,e.GridSampler=he,e.GridSamplerInstance=ve,e.HTMLCanvasElementLuminanceSource=P,e.HybridBinarizer=j,e.ITFReader=Te,e.IllegalArgumentException=l,e.IllegalStateException=ae,e.InvertedLuminanceSource=N,e.LuminanceSource=M,e.MathUtils=le,e.MultiFormatOneDReader=G,e.MultiFormatReader=xn,e.MultiFormatWriter=Ln,e.NotFoundException=k,e.OneDReader=Ce,e.PDF417DecodedBitStreamParser=J,e.PDF417DecoderErrorCorrection=Xt,e.PDF417Reader=yn,e.PDF417ResultMetadata=sn,e.PerspectiveTransform=ge,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=oe,e.ReedSolomonEncoder=Dn,e.ReedSolomonException=ie,e.Result=R,e.ResultMetadataType=H,e.ResultPoint=de,e.StringUtils=E,e.UnsupportedOperationException=w,e.VideoInputDevice=F,e.WhiteRectangleDetector=me,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})}))}))()),vO=function(){function e(e,t,n){if(this.formatMap=new Map([[eO.QR_CODE,_O.BarcodeFormat.QR_CODE],[eO.AZTEC,_O.BarcodeFormat.AZTEC],[eO.CODABAR,_O.BarcodeFormat.CODABAR],[eO.CODE_39,_O.BarcodeFormat.CODE_39],[eO.CODE_93,_O.BarcodeFormat.CODE_93],[eO.CODE_128,_O.BarcodeFormat.CODE_128],[eO.DATA_MATRIX,_O.BarcodeFormat.DATA_MATRIX],[eO.MAXICODE,_O.BarcodeFormat.MAXICODE],[eO.ITF,_O.BarcodeFormat.ITF],[eO.EAN_13,_O.BarcodeFormat.EAN_13],[eO.EAN_8,_O.BarcodeFormat.EAN_8],[eO.PDF_417,_O.BarcodeFormat.PDF_417],[eO.RSS_14,_O.BarcodeFormat.RSS_14],[eO.RSS_EXPANDED,_O.BarcodeFormat.RSS_EXPANDED],[eO.UPC_A,_O.BarcodeFormat.UPC_A],[eO.UPC_E,_O.BarcodeFormat.UPC_E],[eO.UPC_EAN_EXTENSION,_O.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!_O)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(_O.DecodeHintType.POSSIBLE_FORMATS,r),i.set(_O.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 _O.MultiFormatReader(this.verbose,this.hints),n=new _O.HTMLCanvasElementLuminanceSource(e),r=new _O.BinaryBitmap(new _O.HybridBinarizer(n)),i=t.decode(r);return{text:i.text,format:oO.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}(),yO=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())})},bO=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}}},xO=function(){function e(t,n,r){if(this.formatMap=new Map([[eO.QR_CODE,`qr_code`],[eO.AZTEC,`aztec`],[eO.CODABAR,`codabar`],[eO.CODE_39,`code_39`],[eO.CODE_93,`code_93`],[eO.CODE_128,`code_128`],[eO.DATA_MATRIX,`data_matrix`],[eO.ITF,`itf`],[eO.EAN_13,`ean_13`],[eO.EAN_8,`ean_8`],[eO.PDF_417,`pdf417`],[eO.UPC_A,`upc_a`],[eO.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 yO(this,void 0,void 0,function(){var t,n;return bO(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:oO.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}(),SO=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())})},CO=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}}},wO=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&&xO.isSupported()?(this.primaryDecoder=new xO(e,n,r),this.secondaryDecoder=new vO(e,n,r)):this.primaryDecoder=new vO(e,n,r)}return e.prototype.decodeAsync=function(e){return SO(this,void 0,void 0,function(){var t;return CO(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 SO(this,void 0,void 0,function(){var t,n;return CO(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}(),TO=(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)}})(),EO=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())})},DO=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}}},OO=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}(),kO=function(e){TO(t,e);function t(t){return e.call(this,`zoom`,t)||this}return t}(function(e){TO(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}(OO)),AO=function(e){TO(t,e);function t(t){return e.call(this,`torch`,t)||this}return t}(OO),jO=function(){function e(e){this.track=e}return e.prototype.zoomFeature=function(){return new kO(this.track)},e.prototype.torchFeature=function(){return new AO(this.track)},e}(),MO=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 EO(this,void 0,void 0,function(){var a,o;return DO(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 EO(this,void 0,void 0,function(){return DO(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 jO(this.getFirstTrackOrFail())},e}(),NO=function(){function e(e){this.mediaStream=e}return e.prototype.render=function(e,t,n){return EO(this,void 0,void 0,function(){return DO(this,function(r){return[2,MO.create(e,this.mediaStream,t,n)]})})},e.create=function(t){return EO(this,void 0,void 0,function(){var n,r;return DO(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}(),PO=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())})},FO=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}}},IO=function(){function e(){}return e.failIfNotSupported=function(){return PO(this,void 0,void 0,function(){return FO(this,function(t){if(!navigator.mediaDevices)throw`navigator.mediaDevices not supported`;return[2,new e]})})},e.prototype.create=function(e){return PO(this,void 0,void 0,function(){return FO(this,function(t){return[2,NO.create(e)]})})},e}(),LO=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())})},RO=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}}},zO=function(){function e(){}return e.retrieve=function(){return navigator.mediaDevices?e.getCamerasFromMediaDevices():MediaStreamTrack&&MediaStreamTrack.getSources?e.getCamerasFromMediaStreamTrack():e.rejectWithError()},e.rejectWithError=function(){var t=pO.unableToQuerySupportedDevices();return e.isHttpsOrLocalhost()||(t=pO.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 LO(this,void 0,void 0,function(){var e,t,n,r,i,a,o;return RO(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}(),BO;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.NOT_STARTED=1]=`NOT_STARTED`,e[e.SCANNING=2]=`SCANNING`,e[e.PAUSED=3]=`PAUSED`})(BO||={});var VO=function(){function e(){this.state=BO.NOT_STARTED,this.onGoingTransactionNewState=BO.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===BO.UNKNOWN)throw`Transaction is already cancelled, cannot execute().`;var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=BO.UNKNOWN,this.directTransition(e)},e.prototype.cancel=function(){if(this.onGoingTransactionNewState===BO.UNKNOWN)throw`Transaction is already cancelled, cannot cancel().`;this.onGoingTransactionNewState=BO.UNKNOWN},e.prototype.getState=function(){return this.state},e.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==BO.UNKNOWN)throw`Cannot transition to a new state, already under transition`},e.prototype.validateTransition=function(e){switch(this.state){case BO.UNKNOWN:throw`Transition from unknown is not allowed`;case BO.NOT_STARTED:this.failIfNewStateIs(e,[BO.PAUSED]);break;case BO.SCANNING:break;case BO.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}(),HO=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()===BO.NOT_STARTED},e.prototype.isScanning=function(){return this.stateManager.getState()!==BO.NOT_STARTED},e.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===BO.SCANNING},e.prototype.isPaused=function(){return this.stateManager.getState()===BO.PAUSED},e}(),UO=function(){function e(){}return e.create=function(){return new HO(new VO)},e}(),WO=(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)}})(),GO=function(e){WO(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}(aO),KO=function(){function e(e,t){this.logger=t,this.fps=GO.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=GO.DEFAULT_DISABLE_FLIP}return e.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?gO.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError(`Empty videoConstraints`,!0),!1)},e.prototype.isShadedBoxEnabled=function(){return!dO(this.qrbox)},e.create=function(t,n){return new e(t,n)},e}(),qO=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 uO(this.verbose),this.qrcode=new wO(this.getSupportedFormats(t),this.getUseBarCodeDetectorIfSupported(n),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=UO.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=KO.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:GO.DEFAULT_WIDTH,l.style.position=`relative`,this.shouldScan=!0,this.element=l;var u=this,d=this.stateManagerProxy.startTransition(BO.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)}};IO.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(pO.errorGettingUserMedia(e))})}).catch(function(e){d.cancel(),r(pO.cameraStreamingNotSupported())})})},e.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw`Cannot pause, scanner is not scanning.`;this.stateManagerProxy.directTransition(BO.PAUSED),this.showPausedState(),(dO(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(BO.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(BO.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var n=function(){if(e.element){var t=document.getElementById(GO.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(dO(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:GO.DEFAULT_WIDTH,l=Math.max(s.clientHeight?s.clientHeight:o,GO.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=GO.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(sO.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 zO.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(!gO.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=[eO.QR_CODE,eO.AZTEC,eO.CODABAR,eO.CODE_39,eO.CODE_93,eO.CODE_128,eO.DATA_MATRIX,eO.MAXICODE,eO.ITF,eO.EAN_13,eO.EAN_8,eO.PDF_417,eO.RSS_14,eO.RSS_EXPANDED,eO.UPC_A,eO.UPC_E,eO.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];rO(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(dO(e))return!0;if(!dO(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if(dO(e.experimentalFeatures))return!0;var t=e.experimentalFeatures;return dO(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<GO.MIN_QR_BOX_SIZE)throw`minimum size of 'config.qrbox' dimension value is ${GO.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=dO(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=pO.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,sO.createFromQrcodeResult(t)),n.possiblyUpdateShaders(!0),!0}).catch(function(e){n.possiblyUpdateShaders(!1);var r=pO.codeParseError(e);return t(r,lO.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?GO.BORDER_SHADER_MATCH_COLOR:GO.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=dO(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=`${GO.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=GO.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}(),JO=`data:image/svg+xml;base64,`,YO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNzEuNjQzIDM3MS42NDMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM3MS42NDMgMzcxLjY0MyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTEwNS4wODQgMzguMjcxaDE2My43Njh2MjBIMTA1LjA4NHoiLz48cGF0aCBkPSJNMzExLjU5NiAxOTAuMTg5Yy03LjQ0MS05LjM0Ny0xOC40MDMtMTYuMjA2LTMyLjc0My0yMC41MjJWMzBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwSDEyNS4wODRjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHYxMjAuMTQzaC04LjI5NmMtMTYuNTQyIDAtMzAgMTMuNDU4LTMwIDMwdjEuMzMzYTI5LjgwNCAyOS44MDQgMCAwIDAgNC42MDMgMTUuOTM5Yy03LjM0IDUuNDc0LTEyLjEwMyAxNC4yMjEtMTIuMTAzIDI0LjA2MXYxLjMzM2MwIDkuODQgNC43NjMgMTguNTg3IDEyLjEwMyAyNC4wNjJhMjkuODEgMjkuODEgMCAwIDAtNC42MDMgMTUuOTM4djEuMzMzYzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMGg4LjMyNGMuNDI3IDExLjYzMSA3LjUwMyAyMS41ODcgMTcuNTM0IDI2LjE3Ny45MzEgMTAuNTAzIDQuMDg0IDMwLjE4NyAxNC43NjggNDUuNTM3YTkuOTg4IDkuOTg4IDAgMCAwIDguMjE2IDQuMjg4IDkuOTU4IDkuOTU4IDAgMCAwIDUuNzA0LTEuNzkzYzQuNTMzLTMuMTU1IDUuNjUtOS4zODggMi40OTUtMTMuOTIxLTYuNzk4LTkuNzY3LTkuNjAyLTIyLjYwOC0xMC43Ni0zMS40aDgyLjY4NWMuMjcyLjQxNC41NDUuODE4LjgxNSAxLjIxIDMuMTQyIDQuNTQxIDkuMzcyIDUuNjc5IDEzLjkxMyAyLjUzNCA0LjU0Mi0zLjE0MiA1LjY3Ny05LjM3MSAyLjUzNS0xMy45MTMtMTEuOTE5LTE3LjIyOS04Ljc4Ny0zNS44ODQgOS41ODEtNTcuMDEyIDMuMDY3LTIuNjUyIDEyLjMwNy0xMS43MzIgMTEuMjE3LTI0LjAzMy0uODI4LTkuMzQzLTcuMTA5LTE3LjE5NC0xOC42NjktMjMuMzM3YTkuODU3IDkuODU3IDAgMCAwLTEuMDYxLS40ODZjLS40NjYtLjE4Mi0xMS40MDMtNC41NzktOS43NDEtMTUuNzA2IDEuMDA3LTYuNzM3IDE0Ljc2OC04LjI3MyAyMy43NjYtNy42NjYgMjMuMTU2IDEuNTY5IDM5LjY5OCA3LjgwMyA0Ny44MzYgMTguMDI2IDUuNzUyIDcuMjI1IDcuNjA3IDE2LjYyMyA1LjY3MyAyOC43MzMtLjQxMyAyLjU4NS0uODI0IDUuMjQxLTEuMjQ1IDcuOTU5LTUuNzU2IDM3LjE5NC0xMi45MTkgODMuNDgzLTQ5Ljg3IDExNC42NjEtNC4yMjEgMy41NjEtNC43NTYgOS44Ny0xLjE5NCAxNC4wOTJhOS45OCA5Ljk4IDAgMCAwIDcuNjQ4IDMuNTUxIDkuOTU1IDkuOTU1IDAgMCAwIDYuNDQ0LTIuMzU4YzQyLjY3Mi0zNi4wMDUgNTAuODAyLTg4LjUzMyA1Ni43MzctMTI2Ljg4OC40MTUtMi42ODQuODIxLTUuMzA5IDEuMjI5LTcuODYzIDIuODM0LTE3LjcyMS0uNDU1LTMyLjY0MS05Ljc3Mi00NC4zNDV6bS0yMzIuMzA4IDQyLjYyYy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM2MwLTUuNTE0IDQuNDg2LTEwIDEwLTEwaDE1djIxLjMzM2gtMTV6bS0yLjUtNTIuNjY2YzAtNS41MTQgNC40ODYtMTAgMTAtMTBoNy41djIxLjMzM2gtNy41Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi0xLjMzM3ptMTcuNSA5My45OTloLTcuNWMtNS41MTQgMC0xMC00LjQ4Ni0xMC0xMHYtMS4zMzNjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGg3LjV2MjEuMzMzem0zMC43OTYgMjguODg3Yy01LjUxNCAwLTEwLTQuNDg2LTEwLTEwdi04LjI3MWg5MS40NTdjLS44NTEgNi42NjgtLjQzNyAxMi43ODcuNzMxIDE4LjI3MWgtODIuMTg4em03OS40ODItMTEzLjY5OGMtMy4xMjQgMjAuOTA2IDEyLjQyNyAzMy4xODQgMjEuNjI1IDM3LjA0IDUuNDQxIDIuOTY4IDcuNTUxIDUuNjQ3IDcuNzAxIDcuMTg4LjIxIDIuMTUtMi41NTMgNS42ODQtNC40NzcgNy4yNTEtLjQ4Mi4zNzgtLjkyOS44LTEuMzM1IDEuMjYxLTYuOTg3IDcuOTM2LTExLjk4MiAxNS41Mi0xNS40MzIgMjIuNjg4aC05Ny41NjRWMzBjMC01LjUxNCA0LjQ4Ni0xMCAxMC0xMGgxMjMuNzY5YzUuNTE0IDAgMTAgNC40ODYgMTAgMTB2MTM1LjU3OWMtMy4wMzItLjM4MS02LjE1LS42OTQtOS4zODktLjkxNC0yNS4xNTktMS42OTQtNDIuMzcgNy43NDgtNDQuODk4IDI0LjY2NnoiLz48cGF0aCBkPSJNMTc5LjEyOSA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXpNMTcyLjYyOSAxNDIuODZoLTEyLjU2VjEzMC44YTUgNSAwIDEgMC0xMCAwdjE3LjA2MWE1IDUgMCAwIDAgNSA1aDE3LjU2YTUgNSAwIDEgMCAwLTEwLjAwMXpNMjE2LjU2OCA4My4xNjdoLTI0LjA2YTUgNSAwIDAgMC01IDV2MjQuMDYxYTUgNSAwIDAgMCA1IDVoMjQuMDZhNSA1IDAgMCAwIDUtNVY4OC4xNjdhNSA1IDAgMCAwLTUtNXptLTUgMjQuMDYxaC0xNC4wNlY5My4xNjdoMTQuMDZ2MTQuMDYxek0yMTEuNjY5IDEyNS45MzZIMTk3LjQxYTUgNSAwIDAgMC01IDV2MTQuMjU3YTUgNSAwIDAgMCA1IDVoMTQuMjU5YTUgNSAwIDAgMCA1LTV2LTE0LjI1N2E1IDUgMCAwIDAtNS01eiIvPjwvc3ZnPg==`,XO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OS4wMTggNTkuMDE4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS4wMTggNTkuMDE4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJtNTguNzQxIDU0LjgwOS01Ljk2OS02LjI0NGExMC43NCAxMC43NCAwIDAgMCAyLjgyLTcuMjVjMC01Ljk1My00Ljg0My0xMC43OTYtMTAuNzk2LTEwLjc5NlMzNCAzNS4zNjEgMzQgNDEuMzE0IDM4Ljg0MyA1Mi4xMSA0NC43OTYgNTIuMTFjMi40NDEgMCA0LjY4OC0uODI0IDYuNDk5LTIuMTk2bDYuMDAxIDYuMjc3YS45OTguOTk4IDAgMCAwIDEuNDE0LjAzMiAxIDEgMCAwIDAgLjAzMS0xLjQxNHpNMzYgNDEuMzE0YzAtNC44NSAzLjk0Ni04Ljc5NiA4Ljc5Ni04Ljc5NnM4Ljc5NiAzLjk0NiA4Ljc5NiA4Ljc5Ni0zLjk0NiA4Ljc5Ni04Ljc5NiA4Ljc5NlMzNiA0Ni4xNjQgMzYgNDEuMzE0ek0xMC40MzEgMTYuMDg4YzAgMy4wNyAyLjQ5OCA1LjU2OCA1LjU2OSA1LjU2OHM1LjU2OS0yLjQ5OCA1LjU2OS01LjU2OGMwLTMuMDcxLTIuNDk4LTUuNTY5LTUuNTY5LTUuNTY5cy01LjU2OSAyLjQ5OC01LjU2OSA1LjU2OXptOS4xMzggMGMwIDEuOTY4LTEuNjAyIDMuNTY4LTMuNTY5IDMuNTY4cy0zLjU2OS0xLjYwMS0zLjU2OS0zLjU2OCAxLjYwMi0zLjU2OSAzLjU2OS0zLjU2OSAzLjU2OSAxLjYwMSAzLjU2OSAzLjU2OXoiLz48cGF0aCBkPSJtMzAuODgyIDI4Ljk4NyA5LjE4LTEwLjA1NCAxMS4yNjIgMTAuMzIzYTEgMSAwIDAgMCAxLjM1MS0xLjQ3NWwtMTItMTFhMSAxIDAgMCAwLTEuNDE0LjA2M2wtOS43OTQgMTAuNzI3LTQuNzQzLTQuNzQzYTEuMDAzIDEuMDAzIDAgMCAwLTEuMzY4LS4wNDRMNi4zMzkgMzcuNzY4YTEgMSAwIDEgMCAxLjMyMiAxLjUwMWwxNi4zMTMtMTQuMzYyIDcuMzE5IDcuMzE4YS45OTkuOTk5IDAgMSAwIDEuNDE0LTEuNDE0bC0xLjgyNS0xLjgyNHoiLz48cGF0aCBkPSJNMzAgNDYuNTE4SDJ2LTQyaDU0djI4YTEgMSAwIDEgMCAyIDB2LTI5YTEgMSAwIDAgMC0xLTFIMWExIDEgMCAwIDAtMSAxdjQ0YTEgMSAwIDAgMCAxIDFoMjlhMSAxIDAgMSAwIDAtMnoiLz48L3N2Zz4=`,ZO=JO+`PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NjAgNDYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NjAgNDYwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMjMwIDBDMTAyLjk3NSAwIDAgMTAyLjk3NSAwIDIzMHMxMDIuOTc1IDIzMCAyMzAgMjMwIDIzMC0xMDIuOTc0IDIzMC0yMzBTMzU3LjAyNSAwIDIzMCAwem0zOC4zMzMgMzc3LjM2YzAgOC42NzYtNy4wMzQgMTUuNzEtMTUuNzEgMTUuNzFoLTQzLjEwMWMtOC42NzYgMC0xNS43MS03LjAzNC0xNS43MS0xNS43MVYyMDIuNDc3YzAtOC42NzYgNy4wMzMtMTUuNzEgMTUuNzEtMTUuNzFoNDMuMTAxYzguNjc2IDAgMTUuNzEgNy4wMzMgMTUuNzEgMTUuNzFWMzc3LjM2ek0yMzAgMTU3Yy0yMS41MzkgMC0zOS0xNy40NjEtMzktMzlzMTcuNDYxLTM5IDM5LTM5IDM5IDE3LjQ2MSAzOSAzOS0xNy40NjEgMzktMzkgMzl6Ii8+PC9zdmc+`,QO=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAQgAAAEIBarqQRAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE1SURBVDiNfdI7S0NBEAXgLya1otFgpbYSbISAgpXYi6CmiH9KCAiChaVga6OiWPgfRDQ+0itaGVNosXtluWwcuMzePfM4M3sq8lbHBubwg1dc4m1E/J/N4ghDPOIsfk/4xiEao5KX0McFljN4C9d4QTPXuY99jP3DsIoDPGM6BY5i5yI5R7O4q+ImFkJY2DCh3cAH2klyB+9J1xUMMAG7eCh1a+Mr+k48b5diXrFVwwLuS+BJ9MfR7+G0FHOHhTHhnXNWS87VDF4pcnfQK4Ep7XScNLmPTZgURNKKYENYWDpzW1BhscS1WHS8CDgURFJQrWcoF3c13KKbgg1BYQfy8xZWEzTTw1QZbAoKu8FqJnktdu5hcVSHmchiILzzuaDQvjBzV2m8yohCE1jHfPx/xhU+y4G/D75ELlRJsSYAAAAASUVORK5CYII=`,$O=function(){function e(){}return e.createDefault=function(){return{hasPermission:!1,lastUsedCameraId:null}},e}(),ek=function(){function e(){this.data=$O.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=$O.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}(),tk=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=hO.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=hO.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}(),nk=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=ZO,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=QO,this.infoIcon.style.opacity=`1`):(this.isShowingInfoIcon=!0,this.onTapOut(),this.infoIcon.src=ZO,this.infoIcon.style.opacity=`0.6`)},e}(),rk=function(){function e(){var e=this;this.infoDiv=new tk,this.infoIcon=new nk(function(){e.infoDiv.show()},function(){e.infoDiv.hide()})}return e.prototype.renderInto=function(e){this.infoDiv.renderInto(e),this.infoIcon.renderInto(e)},e}(),ik=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())})},ak=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}}},ok=function(){function e(){}return e.hasPermissions=function(){return ik(this,void 0,void 0,function(){var e,t,n,r;return ak(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}(),sk=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===iO.SCAN_TYPE_CAMERA},e.isFileScanType=function(e){return e===iO.SCAN_TYPE_FILE},e.prototype.validateAndReturnScanTypes=function(e){if(!e||e.length===0)return aO.DEFAULT_SUPPORTED_SCAN_TYPE;var t=aO.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(!aO.DEFAULT_SUPPORTED_SCAN_TYPE.includes(i))throw`Unsupported scan type ${i}`}return e},e}(),ck=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}(),lk=function(){function e(){}return e.createElement=function(e,t){var n=document.createElement(e);return n.id=t,n.classList.add(ck.ALL_ELEMENT_CLASS),e===`button`&&n.setAttribute(`type`,`button`),n},e}(),uk=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())})},dk=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}}},fk=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 uk(this,void 0,void 0,function(){var e,t;return dk(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?mO.torchOffButton():mO.torchOnButton()),this.isTorchOn=t):this.propagateFailure(t),this.buttonController.enable()},e.prototype.propagateFailure=function(e,t){var n=e?mO.torchOnFailedMessage():mO.torchOffFailedMessage();t&&(n+=`; Error = `+t),this.onTorchActionFailureCallback(n)},e.prototype.reset=function(){this.isTorchOn=!1},e}(),pk=function(){function e(e,t){this.onTorchActionFailureCallback=t,this.torchButton=lk.createElement(`button`,ck.TORCH_BUTTON_ID),this.torchController=new fk(e,this,t)}return e.prototype.render=function(e,t){var n=this;this.torchButton.innerText=mO.torchOnButton(),this.torchButton.style.display=t.display,this.torchButton.style.marginLeft=t.marginLeft;var r=this;this.torchButton.addEventListener(`click`,function(e){return uk(n,void 0,void 0,function(){return dk(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(ck.TORCH_BUTTON_CLASS_TORCH_OFF),r.torchButton.classList.add(ck.TORCH_BUTTON_CLASS_TORCH_ON)):(r.torchButton.classList.remove(ck.TORCH_BUTTON_CLASS_TORCH_ON),r.torchButton.classList.add(ck.TORCH_BUTTON_CLASS_TORCH_OFF)),[2]}})})}),e.appendChild(this.torchButton)},e.prototype.updateTorchCapability=function(e){this.torchController=new fk(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=mO.torchOnButton(),this.torchController.reset()},e.create=function(t,n,r,i){var a=new e(n,i);return a.render(t,r),a},e}(),mk=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=lk.createElement(`button`,ck.FILE_SELECTION_BUTTON_ID),this.setInitialValueToButton(),this.fileSelectionButton.addEventListener(`click`,function(e){r.click()}),r.append(this.fileSelectionButton),this.fileScanInput=lk.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=mO.dragAndDropMessage();break}}o||(a.innerText=mO.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=mO.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=mO.fileSelectionChooseAnother()+` - `+e;this.fileSelectionButton.innerText=r},e.prototype.setInitialValueToButton=function(){var e=mO.fileSelectionChooseImage()+` - `+mO.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}(),hk=function(){function e(e){this.selectElement=lk.createElement(`select`,ck.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=`${mO.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=[mO.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}(),gk=function(){function e(){this.onChangeCallback=null,this.zoomElementContainer=document.createElement(`div`),this.rangeInput=lk.createElement(`input`,ck.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=mO.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=mO.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}(),_k;(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`})(_k||={});function vk(e){return{fps:e.fps,qrbox:e.qrbox,aspectRatio:e.aspectRatio,disableFlip:e.disableFlip,videoConstraints:e.videoConstraints}}function yk(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 sk(this.config.supportedScanTypes),this.currentScanType=this.scanTypeSelector.getDefaultScanType(),this.sectionSwapAllowed=!0,this.logger=new uO(this.verbose),this.persistedDataManager=new ek,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(mO.lastMatch(t),_k.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 qO(this.getScanRegionId(),yk(this.config,this.verbose))},e.prototype.pause=function(e){(dO(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||=aO.SCAN_DEFAULT_FPS,e.rememberLastUsedCamera!==!aO.DEFAULT_REMEMBER_LAST_CAMERA_USED&&(e.rememberLastUsedCamera=aO.DEFAULT_REMEMBER_LAST_CAMERA_USED),e.supportedScanTypes||=aO.DEFAULT_SUPPORTED_SCAN_TYPE,e):{fps:aO.SCAN_DEFAULT_FPS,rememberLastUsedCamera:aO.DEFAULT_REMEMBER_LAST_CAMERA_USED,supportedScanTypes:aO.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),sk.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 rk().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(mO.cameraPermissionRequesting());var i=function(){n||r.createPermissionButton(e,t)};qO.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(mO.noCameraFound(),_k.STATUS_WARNING),i())}).catch(function(e){r.persistedDataManager.setHasPermission(!1),n?n.disabled=!1:i(),r.setHeaderMessage(e,_k.STATUS_WARNING),r.showHideScanTypeSwapLink(!0)})},e.prototype.createPermissionButton=function(e,t){var n=this,r=lk.createElement(`button`,this.getCameraPermissionButtonId());r.innerText=mO.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(sk.isCameraScanType(this.currentScanType)&&this.persistedDataManager.hasCameraPermissions()){ok.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=sk.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=sk.isFileScanType(this.currentScanType),n=this,r=function(e){if(!n.html5Qrcode)throw`html5Qrcode not defined`;sk.isFileScanType(n.currentScanType)&&(n.setHeaderMessage(mO.loadingImage()),n.html5Qrcode.scanFileV2(e,!0).then(function(e){n.resetHeaderMessage(),n.qrCodeSuccessCallback(e.decodedText,e)}).catch(function(e){n.setHeaderMessage(e,_k.STATUS_WARNING),n.qrCodeErrorCallback(e,lO.createFrom(e))}))};this.fileSelectionUi=mk.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=gk.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=fO(r,n.min(),n.max()),i.setValues(n.min(),n.max(),r,n.step()),i.show()}},o=hk.create(r,e),s=document.createElement(`span`),c=lk.createElement(`button`,ck.CAMERA_START_BUTTON_ID);c.innerText=mO.scanButtonStartScanningText(),s.appendChild(c);var l=lk.createElement(`button`,ck.CAMERA_STOP_BUTTON_ID);l.innerText=mO.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=pk.create(s,e.torchFeature(),{display:`none`,marginLeft:`5px`},function(e){n.setHeaderMessage(e,_k.STATUS_WARNING)}),u.show()};r.appendChild(s);var f=function(e){e||(c.style.display=`none`),c.innerText=mO.scanButtonStartScanningText(),c.style.opacity=`1`,c.disabled=!1,e&&(c.style.display=`inline-block`)};if(c.addEventListener(`click`,function(e){c.innerText=mO.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,vk(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,_k.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,_k.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=mO.textIfCameraScanSelected(),n=mO.textIfFileScanSelected(),r=document.getElementById(this.getDashboardSectionId()),i=document.createElement(`div`);i.style.textAlign=`center`;var a=lk.createElement(`span`,this.getDashboardSectionSwapLinkId());a.style.textDecoration=`underline`,a.style.cursor=`pointer`,a.innerText=sk.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,sk.isCameraScanType(e.currentScanType)?(e.clearScanRegion(),e.getCameraScanRegion().style.display=`none`,e.fileSelectionUi.show(),a.innerText=n,e.currentScanType=iO.SCAN_TYPE_FILE,e.insertFileScanImageToScanRegion()):(e.clearScanRegion(),e.getCameraScanRegion().style.display=`block`,e.fileSelectionUi.hide(),a.innerText=t,e.currentScanType=iO.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()){ok.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||=_k.STATUS_DEFAULT;var n=this.getHeaderMessageDiv();switch(n.innerText=e,n.style.display=`block`,t){case _k.STATUS_SUCCESS:n.style.background=`rgba(106, 175, 80, 0.26)`,n.style.color=`#477735`;break;case _k.STATUS_WARNING:n.style.background=`rgba(203, 36, 49, 0.14)`,n.style.color=`#cb2431`;break;case _k.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=YO,this.cameraScanImage.alt=mO.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=XO,this.fileScanImage.alt=mO.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 ck.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 ck.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 bk;(function(e){e[e.BACK=1]=`BACK`,e[e.FRONT=2]=`FRONT`})(bk||={});var xk;(function(e){e[e.PORTRAIT=1]=`PORTRAIT`,e[e.LANDSCAPE=2]=`LANDSCAPE`,e[e.ADAPTIVE=3]=`ADAPTIVE`})(xk||={});var Sk;(function(e){e[e.ALL=17]=`ALL`})(Sk||={});var Ck=Object.assign(Object.assign({},eO),Sk),wk;(function(e){e.ZXING=`zxing`,e.MLKIT=`mlkit`})(wk||={});var Tk=[{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 Ek(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 Dk=bm(`CapacitorBarcodeScanner`,{web:()=>(Ek(Tk),Wo(()=>import(`./web-Q-tJsXNN.js`).then(e=>new e.CapacitorBarcodeScannerWeb),[]))}),Ok=class{static async scanBarcode(e){return e.scanInstructions=e.scanInstructions||` `,e.scanButton=e.scanButton||!1,e.scanText=e.scanText||` `,e.cameraDirection=e.cameraDirection||bk.BACK,e.scanOrientation=e.scanOrientation||xk.ADAPTIVE,Dk.scanBarcode(e)}};function kk(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 Ak(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 jk(){let[e,t]=(0,Z.useState)(!1);return{scan:(0,Z.useCallback)(async()=>{if(!Ir())return{value:null,error:null};t(!0);try{let e=await Ok.scanBarcode({hint:Ck.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 Ak(e)?{value:null,error:null}:kk(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:Ir()}}function Mk(){let[e,t]=(0,Z.useState)(!0),[n,r]=(0,Z.useState)(jo),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),u=jk();(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let n=await fetch(`${Xa()}/health`,{method:`GET`});e&&t(n.ok)}catch{e&&t(!1)}})(),()=>{e=!1}},[]);let d=(0,Z.useCallback)(async()=>{let e=Oi(n);if(e){a(null),l(!0);try{if(!await vi(e)){a(e);return}Ar(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=Oi(e.value);if(!t){s(`The scanned QR code did not contain a valid server address.`);return}l(!0);try{if(!await vi(t)){a(t);return}Ar(e.value)}finally{l(!1)}}},[u]);return e?null:(0,$.jsx)(Ks,{open:!0,children:(0,$.jsxs)(Vs,{children:[(0,$.jsxs)(Gs,{children:[(0,$.jsx)(`img`,{src:`/tarsk-color.svg`,alt:`Tarsk`,className:`mx-auto h-16 w-16 rounded-lg`}),(0,$.jsx)(Bs,{children:`Connect to Tarsk`}),(0,$.jsx)(zs,{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)(Io,{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)(No,{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)(K,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(F,{className:`h-4 w-4`})})]}),o&&(0,$.jsxs)(no,{variant:`error`,className:`mb-0 flex items-start gap-3`,children:[(0,$.jsx)(`p`,{className:`flex-1`,children:o}),(0,$.jsx)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>s(null),children:(0,$.jsx)(tt,{className:`h-4 w-4`})})]}),i&&(0,$.jsxs)(no,{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)(No,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,"aria-label":`Dismiss error`,onClick:()=>a(null),children:(0,$.jsx)(tt,{className:`h-4 w-4`})})]}),(0,$.jsx)(Us,{children:(0,$.jsx)(No,{onClick:()=>void d(),disabled:!n.trim()||c,children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{className:`mr-2 h-4 w-4 animate-spin`}),`Connecting...`]}):`Connect`})}),(0,$.jsxs)(no,{variant:`hint`,className:`mb-0`,children:[(0,$.jsx)(`p`,{className:b.bodyMuted,children:`Start the Tarsk server on your local machine by running:`}),(0,$.jsx)(`code`,{className:G(b.mono,`mt-2 block rounded bg-background/60 px-2 py-1 text-foreground`),children:`npx tarsk --server`})]})]})})}var Nk=(0,Z.lazy)(()=>Wo(()=>import(`./create-project-dialog-DW4oGrl2.js`),__vite__mapDeps([29,1,27,6,7]))),Pk=(0,Z.lazy)(()=>Wo(()=>import(`./onboarding-dbhmRuxw.js`).then(e=>e.t),__vite__mapDeps([6,1,7])));function Fk(e){let t=(0,Q.c)(35),{showCreateProject:n,createProjectInitialMode:r,onCreateProjectOpenChange:i,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s,deleteProject:c,deleteProjectBlocked:l,deleteProjectBlockReason:u,onDeleteProjectOpenChange:d,onConfirmDeleteProject:f,deleteProjectProgress:p,onDeleteProjectRetry:m,onDeleteProjectProgressClose:h,pendingSetupScriptConfirmation:g,onResolveSetupScriptConfirmation:_,showOnboarding:v,onOnboardingOpenChange:y,onOnboardingComplete:b}=e,x=r??void 0,S;t[0]!==i||t[1]!==a||t[2]!==s||t[3]!==o||t[4]!==n||t[5]!==x?(S=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Nk,{open:n,onOpenChange:i,initialMode:x,onSubmitClone:a,onSubmitWebApp:o,onSubmitFolder:s})}),t[0]=i,t[1]=a,t[2]=s,t[3]=o,t[4]=n,t[5]=x,t[6]=S):S=t[6];let C=c!==null,w=c?.name,T;t[7]!==u||t[8]!==l||t[9]!==f||t[10]!==d||t[11]!==C||t[12]!==w?(T=(0,$.jsx)(ZD,{open:C,projectName:w,onOpenChange:d,onConfirm:f,blocked:l,blockReason:u}),t[7]=u,t[8]=l,t[9]=f,t[10]=d,t[11]=C,t[12]=w,t[13]=T):T=t[13];let E;t[14]!==p||t[15]!==h||t[16]!==m?(E=(0,$.jsx)(pw,{progress:p,onRetry:m,onClose:h}),t[14]=p,t[15]=h,t[16]=m,t[17]=E):E=t[17];let D=g!==null,O;t[18]===g?O=t[19]:(O=g?[g.command,...g.remainingScripts||[]]:[],t[18]=g,t[19]=O);let k;t[20]!==_||t[21]!==D||t[22]!==O?(k=(0,$.jsx)(QD,{open:D,setupScripts:O,onConfirm:_}),t[20]=_,t[21]=D,t[22]=O,t[23]=k):k=t[23];let A;t[24]!==b||t[25]!==y||t[26]!==v?(A=(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Pk,{open:v,onOpenChange:y,onComplete:b})}),t[24]=b,t[25]=y,t[26]=v,t[27]=A):A=t[27];let j;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Mk,{}),t[28]=j):j=t[28];let M;return t[29]!==A||t[30]!==S||t[31]!==T||t[32]!==E||t[33]!==k?(M=(0,$.jsxs)($.Fragment,{children:[S,T,E,k,A,j]}),t[29]=A,t[30]=S,t[31]=T,t[32]=E,t[33]=k,t[34]=M):M=t[34],M}function Ik(){let e=(0,Q.c)(7),{setIsSelectModeEnabled:t,setSelectedBrowserElement:n,setIsSelectionPromptOpen:r}=ZC(),i;e[0]!==t||e[1]!==r||e[2]!==n?(i=e=>{n(e),r(!0),t(!1)},e[0]=t,e[1]=r,e[2]=n,e[3]=i):i=e[3];let a=i,o,s;e[4]===a?(o=e[5],s=e[6]):(o=()=>{let e=function(e){let t=e.detail;PD(t)&&a(t)},t=function(e){let t=FD(e.data);t&&a(t)};return window.addEventListener(MD,e),window.addEventListener(`message`,t),function(){window.removeEventListener(MD,e),window.removeEventListener(`message`,t)}},s=[a],e[4]=a,e[5]=o,e[6]=s),(0,Z.useEffect)(o,s)}var Lk=`__tarskBrowserCapture`,Rk=15e3,zk=0,Bk=null,Vk=new Set;function Hk(){for(let e of Vk)e()}function Uk(){Bk!=null&&(clearTimeout(Bk),Bk=null)}function Wk(){Uk(),zk!==0&&(zk=0,Hk())}function Gk(){zk+=1,Uk(),Bk=setTimeout(Wk,Rk),zk===1&&Hk()}function Kk(){zk!==0&&(--zk,!(zk>0)&&(Uk(),Hk()))}function qk(){return zk>0}function Jk(e){return Vk.add(e),function(){Vk.delete(e)}}function Yk(e){if(e!=null){let t=document.getElementById(`electrobun-webview-${e}`);if(t)return t}return document.querySelector(`electrobun-webview`)}function Xk(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 Zk(e){let t=Yk(e);return t?Xk(t.getBoundingClientRect(),window):null}function Qk(){let e=window;return e[Lk]={begin:Gk,end:Kk,rect:Zk},function(){delete e[Lk],Wk()}}var $k=M(`app.use-browser-tool-listener.hook`);function eA(e){let t=e.trim();return t?t.startsWith(`http://`)||t.startsWith(`https://`)?t:`http://${t}`:``}function tA(){return document.querySelector(`electrobun-webview`)}function nA(e=2e4){return new Promise((t,n)=>{let r=Date.now();function i(){let a=tA();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 rA(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 iA(e){let t=Date.now();function n(){if(Date.now()-t>2e4){$k.error(`[browser-tool] timed out waiting for preview webview to mount (${e})`);return}let r=tA();if(!r||r.webviewId==null){requestAnimationFrame(n);return}ig(e,r.webviewId).catch(e=>{$k.error(`[browser-tool] failed to report preview webview ready`,e)})}requestAnimationFrame(n)}async function aA(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 nA();t.syncDimensions(!0),await ag(r,{action:`set_viewport`,preset:e,webview_id:t.webviewId})}catch(t){$k.error(`[browser-tool] failed to set viewport`,t),await ag(r,{action:`set_viewport`,preset:e,error:t instanceof Error?t.message:String(t)})}return}if(pt(i.action)){try{await ag(r,await rA(await nA(),i,t))}catch(e){$k.error(`[browser-tool] failed to execute host browser action`,e),await ag(r,{action:i.action,error:e instanceof Error?e.message:String(e)})}return}iA(r)}}function oA(){let{openChatDockPanel:e}=$u(),{expandWindow:t,hasOpenWindows:n}=Ys(),{setDevServerUrl:r,devServerUrl:i}=ix(),{setBrowserDeviceMode:a}=ZC(),o=(0,Z.useRef)(null),s=X(e=>{let t=o.current;return t?e.threadStreamingStates[Is(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(Ze)}(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(Rh,e),function(){window.removeEventListener(Rh,e)}},[]),(0,Z.useEffect)(()=>{if(Lo())return Qk()},[]),(0,Z.useEffect)(()=>{if(!Lo())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=eA(n);e&&f.current(e)}aA(t,c.current||``,p.current)}return window.addEventListener(Lh,e),function(){window.removeEventListener(Lh,e)}},[])}function sA(){let e=(0,Q.c)(5),{toasts:t}=Ls(),n;e[0]===t?n=e[1]:(n=t.map(cA),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(hw,{}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,$.jsxs)(mw,{duration:5e3,children:[n,r]}),e[3]=n,e[4]=i),i}function cA(e){let{id:t,title:n,description:r,action:i,variant:a,...o}=e,s=a===`destructive`,c=[n,r].filter(Boolean).join(`
3304
+ `),l=s?(0,$.jsxs)(vw,{altText:`Copy error`,onClick:()=>{navigator.clipboard.writeText(c)},children:[(0,$.jsx)(ft,{className:`h-4 w-4`}),`Copy`]}):null;return(0,$.jsxs)(_w,{variant:a,...o,children:[(0,$.jsxs)(`div`,{className:`grid gap-1`,children:[n&&(0,$.jsx)(bw,{children:n}),r&&(0,$.jsx)(xw,{children:r})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[i,l]}),(0,$.jsx)(yw,{})]},t)}function lA(){return new Cc({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!0},mutations:{retry:0}}})}function uA(e){let t=(0,Q.c)(3),{children:n}=e,[r]=(0,Z.useState)(lA),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(_r,{client:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function dA(){let e=(0,Q.c)(4),{resolvedTheme:t,theme:n}=gc(),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 fA(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)(dA,{}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,$.jsxs)(_c,{...r,children:[i,n]}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function pA(){let e=(0,Q.c)(2),[t,n]=(0,Z.useState)(mA),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 mA(){return document.hasFocus()}var hA=M(`chat.processing-threads`),gA=null;function _A(){gA??=new Audio(`/pop.wav`),gA.currentTime=0,gA.play().catch(e=>{hA.debug(`Could not play completion sound`,{err:e})})}function vA(){let e=Es(),t=xs(),n=X(e=>e.processingThreadIds),r=X(e=>e.completedThreadIds),i=pA(),{activeMainTab:a,setChatNotification:o}=qs(),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=mm(await ia()),r=t.getState().selectedThreadId,i=l.current.filter(e=>!n.includes(e)),a=r!==null&&i.includes(r);for(let t of i)t!==r&&e({type:Y.MarkThreadCompleted,threadId:t});if(n.length>0&&d.current!==`chat`&&o(!0),(n.length===0||a)&&o(!1),i.length>0&&!u.current&&_A(),i.length>0)try{pi();let t=await Sa();e({type:Y.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){hA.error(`Failed to refresh projects after thread completion`,{err:e})}return l.current=n,e({type:Y.SetProcessingThreads,threadIds:n}),n}catch(e){return hA.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])}}function yA(){let e=(0,Q.c)(15),t=Es(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={queryKey:F_.onboarding.status(),queryFn:to,staleTime:1/0,retry:1},e[0]=o):o=e[0];let s=mr(o),c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c={queryKey:F_.app.update(),queryFn:Cr,staleTime:1/0,retry:!1},e[1]=c):c=e[1];let l=mr(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 Qi()}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 bA(e){let t=(0,Q.c)(22),{selectedThreadId:n}=e,r=Gn(),i=Vn(),{activeMainTab:a,setActiveMainTab:o}=qs(),{openChatDockPanel:s}=$u(),{terminalState:c}=ms(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&&!Qu(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 xA(e,t){let n=(0,Q.c)(8),r=Es(),i=X(SA),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 SA(e){return e.sidebarOpen}var CA=bm(`App`,{web:()=>Wo(()=>import(`./web-D8z4Nni0.js`).then(e=>new e.AppWeb),[])}),wA=1e10,TA=1e3;function EA(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 DA(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=TA}=e;e.transport&&i(e.transport),e.requestHandler&&a(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let s=0;function c(){return s<=wA?++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 EA([`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 EA([`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 EA([`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 EA([`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 OA(e,t){let n=DA({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 kA=window.__electrobunWebviewId,AA=window.__electrobunRpcSocketPort,jA=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:${AA}/socket?webviewId=${kA}`);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 OA(`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))}})}})}},MA=null;function NA(e){MA?.send.setWindowLabel({label:e})}function PA(e){MA?.send.openProjectIconDialog({startingFolder:e})}function FA(e){let t=(0,Z.useRef)(e);t.current=e,(0,Z.useEffect)(()=>{window.__electrobunWebviewId&&(MA=jA.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 jA({rpc:MA}))},[]),(0,Z.useEffect)(()=>{if(!Ir())return;let e=CA.addListener(`backButton`,({canGoBack:e})=>{e?window.history.back():CA.exitApp()});return()=>{e.then(e=>e.remove())}},[])}var IA=M(`app.embed-host.hook`);function LA(e){let t=(0,Q.c)(7),n=Es(),r=X(RA),i=(0,Z.useRef)(null),a,o;t[0]===n?(a=t[1],o=t[2]):(a=()=>{TC()&&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(!TC()||r)return;let t=wC();!t||i.current===t||(i.current=t,e(t).catch(e=>{i.current=null,IA.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 RA(e){return e.projectsLoading}function zA(){return{autoGenerateCommitMessage:ei(),autoGeneratePRInfo:ci(),createBranchAfterPR:Or(),privateRepositoryDefault:qi(),newChatOnNewBranch:ii()}}function BA(e){e.autoGenerateCommitMessage!==void 0&&Fa(e.autoGenerateCommitMessage),e.autoGeneratePRInfo!==void 0&&ra(e.autoGeneratePRInfo),e.createBranchAfterPR!==void 0&&pa(e.createBranchAfterPR),e.privateRepositoryDefault!==void 0&&ja(e.privateRepositoryDefault),e.newChatOnNewBranch!==void 0&&xa(e.newChatOnNewBranch)}var VA=new Set;function HA(e){return VA.add(e),function(){VA.delete(e)}}function UA(){for(let e of VA)e()}var WA=M(`app.merged-pr-dialog-host.ui`),GA=(0,Z.lazy)(()=>Wo(()=>import(`./merged-pr-dialog-Bi5pJzTO.js`).then(e=>({default:e.MergedPRDialog})),__vite__mapDeps([32,6,1,7])));function KA({threadId:e,projectId:t}){let n=Es(),r=X(e=>e.projects.find(e=>e.projectId===t)),i=Wu(),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),l=(0,Z.useRef)(null),[u,d]=(0,Z.useState)(()=>zA());(0,Z.useEffect)(()=>{BA(u)},[u]),(0,Z.useEffect)(()=>HA(()=>{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 _a(e);if(u.newChatOnNewBranch){let r=`New Chat`;await yi(e,{title:r}),n({type:Y.UpdateThreadTitle,projectId:t,threadId:e,title:r}),await bo(e),n({type:Y.ClearMessages}),setTimeout(()=>{(async()=>{try{let t=await qr(e);n({type:Y.SetMessages,messages:t.messages})}catch(e){WA.error(`Failed to refresh chat history after starting new chat:`,e)}})()},0)}pi();let a=await Sa();n({type:Y.SetProjects,projects:a.projects,cloneRootPath:a.cloneRootPath}),Rs({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){WA.error(`Failed to create new branch:`,e),Rs({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)(GA,{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 qA(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 JA(){let e=(0,Q.c)(28),{portConflictPrompt:t,clearPortConflictPrompt:n}=ix(),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)(Bs,{children:`Port already in use`}),e[9]=u):u=e[9];let d;e[10]===t?d=e[11]:(d=t?qA(t):null,e[10]=t,e[11]=d);let f;e[12]===d?f=e[13]:(f=(0,$.jsxs)(Gs,{children:[u,(0,$.jsx)(zs,{children:d})]}),e[12]=d,e[13]=f);let p;e[14]===o?p=e[15]:(p=(0,$.jsx)(Ws,{onClick:o,children:`Cancel`}),e[14]=o,e[15]=p);let m;e[16]===c?m=e[17]:(m=(0,$.jsx)(Hs,{onClick:c,children:`Kill and retry`}),e[16]=c,e[17]=m);let h;e[18]!==p||e[19]!==m?(h=(0,$.jsxs)(Us,{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)(Vs,{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)(Ks,{open:l,onOpenChange:i,children:g}),e[24]=i,e[25]=g,e[26]=l,e[27]=_):_=e[27],_}function YA(e){let t=(0,Q.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(JA,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsx)(Js,{children:(0,$.jsx)(Xs,{children:(0,$.jsxs)(rx,{children:[r,(0,$.jsx)(Qs,{children:(0,$.jsx)(YC,{children:n})})]})})}),t[1]=n,t[2]=i),i}function XA(e){let t=(0,Q.c)(5),n=Vn(),{windows:r,expandedWindowId:i}=Ys();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=zC(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 ZA(){let e=(0,Q.c)(6),t=X(ej),n=X($A),r=X(QA)===`projects`,i=XA(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}`,NA(`Projects`);return}let e=t.find(e=>e.projectId===n);if(!e){document.title=`Tarsk`,NA(`Projects`);return}let a=Ke(e);document.title=`${a} - ${i}`,NA(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 QA(e){return e.projectPanelView}function $A(e){return e.selectedProjectId}function ej(e){return e.projects}var tj=`tarsk.ui-crash-report`,nj=8e3,rj=2e3,ij=0,aj=``;function oj(e,t){if(e)return e.length<=t?e:`${e.slice(0,t)}…`}function sj(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 cj(e,t){return e instanceof Error&&e.name===`Canceled`?!0:t.trim()===`Canceled`}function lj(e,t){return e instanceof Error&&e.name===`Canceled`?!1:t.includes(`TextModel got disposed before DiffEditorWidget model got reset`)}function uj(e,t){return e instanceof Error?!1:t.trim().toLowerCase()===`script error.`}function dj(e){let{message:t}=fj(e);return t.includes(`ResizeObserver loop`)||sj(e,t)||cj(e,t)||lj(e,t)||uj(e,t)}function fj(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 pj(e,t,n){let r=fj(e);return{message:r.message,stack:oj(r.stack,nj),componentStack:oj(n?.trim(),nj),source:t,url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}function mj(e){let t=Date.now();return e===aj&&t-ij<rj?!0:(aj=e,ij=t,!1)}function hj(){if(typeof localStorage>`u`)return null;let e=localStorage.getItem(tj);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 gj(){typeof localStorage>`u`||localStorage.removeItem(tj)}function _j(e,t){let n=pj(e,t.source,t.componentStack);if(!mj(n.message)&&typeof localStorage<`u`)try{localStorage.setItem(tj,JSON.stringify(n))}catch{}return n}function vj(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(`
3305
3305
  `)}function yj(e){if(typeof window>`u`)return;let t=e?.shouldIgnore;window.addEventListener(`error`,e=>{let n=e.error??e.message;t?.(n)||dj(n)||_j(n,{source:`window.error`})}),window.addEventListener(`unhandledrejection`,e=>{if(t?.(e.reason)||dj(e.reason)){e.preventDefault();return}_j(e.reason,{source:`unhandledrejection`})})}function bj(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function xj({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(vj(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(`
3306
3306
 
3307
3307
  `);return(0,$.jsx)(Ks,{open:e,children:(0,$.jsxs)(Vs,{className:`flex max-h-[85dvh] max-w-2xl flex-col gap-4 overflow-hidden`,children:[(0,$.jsxs)(Gs,{className:`shrink-0`,children:[(0,$.jsx)(Bs,{children:n===`previous-session`?`Previous UI crash`:`UI crashed`}),(0,$.jsx)(zs,{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(b.label,`text-muted-foreground`),children:`Error`}),(0,$.jsx)(`p`,{className:G(b.body,`break-words`),children:t.message})]}),(0,$.jsxs)(`div`,{className:G(b.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:`}),` `,bj(t.timestamp)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:`Source:`}),` `,t.source]})]}),u?(0,$.jsx)(Oa,{className:`max-h-64 rounded-md border border-border bg-muted/40`,children:(0,$.jsx)(`pre`,{className:G(b.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),children:u})}):null]}),(0,$.jsxs)(Us,{className:`shrink-0 sm:justify-between`,children:[(0,$.jsxs)(No,{type:`button`,variant:`outline`,disabled:s,onClick:()=>void l(),children:[s?(0,$.jsx)(K,{className:`h-4 w-4 animate-spin`}):(0,$.jsx)(ft,{className:`h-4 w-4`}),a?`Copied`:`Copy details`]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[n===`previous-session`?(0,$.jsx)(No,{type:`button`,variant:`outline`,onClick:r,children:`Close`}):null,n===`current-session`&&i?(0,$.jsx)(No,{type:`button`,onClick:i,children:`Reload`}):null]})]})]})})}var Sj=Date.now();function Cj(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t<Sj-500:!0}function wj(){let e=(0,Q.c)(3),[t,n]=(0,Z.useState)(Tj);if(!t)return null;let r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=function(){gj(),n(null)},e[0]=r):r=e[0];let i=r,a;return e[1]===t?a=e[2]:(a=(0,$.jsx)(xj,{open:!0,report:t,variant:`previous-session`,onDismiss:i}),e[1]=t,e[2]=a),a}function Tj(){let e=hj();return!e||!Cj(e)?null:e}function Ej(e,t){for(let n of e)if(!(n.type!==`content`&&n.type!==`thinking`))for(let e of n.chunks)ug(e,t)}function Dj(e,t,n){for(let t of Object.values(n))t.threadId===e&&dg(t,e);for(let n of Ko(t,e)){let r=ds(t,e,n);r.streamingContent&&ug(r.streamingContent,e),Ej(r.streamingSegments,e)}}function Oj(){let e=(0,Q.c)(6),t=X(Mj),n=X(jj),r=X(Aj),i=X(kj),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)Dj(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 kj(e){return e.toolCallProgress}function Aj(e){return e.threadStreamingStates}function jj(e){return e.selectedThreadId}function Mj(e){return e.processingThreadIds}function Nj({url:e,projectId:t,projectName:n,projects:r,onSelectProject:i,onClose:a}){let[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)([]),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),g=(0,Z.useRef)(0);(0,Z.useEffect)(()=>{let n=++g.current;if(!e||!t){s(null),l(null),h(!1);return}s(null),l(null),h(!0),Vi(t,e).then(e=>{n===g.current&&(s(e),d(e.mcpServers.filter(e=>!e.conflict).map(e=>e.name)))}).catch(e=>{n===g.current&&l(e instanceof Error?e.message:`Unable to inspect plugin archive`)}).finally(()=>{n===g.current&&h(!1)})},[e,t]);async function _(){if(!(!e||!t||!o)){h(!0);try{await Dr(t,{url:e,skills:o.skills.map(e=>e.name),mcpServers:u,replace:f}),a()}catch(e){l(e instanceof Error?e.message:`Unable to install plugin archive`)}finally{h(!1)}}}return(0,$.jsx)(Ni,{open:!!e,onOpenChange:e=>{e||a()},children:(0,$.jsxs)(Fr,{children:[(0,$.jsxs)(wr,{children:[(0,$.jsx)(Ra,{children:`Install plugin`}),(0,$.jsx)(_i,{children:t?o?`${o.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)(oo,{value:void 0,onValueChange:i,children:[(0,$.jsx)($i,{children:(0,$.jsx)(Eo,{placeholder:`Select a project`})}),(0,$.jsx)(Ya,{children:r.map(e=>(0,$.jsx)(ka,{value:e.projectId,children:Ke(e)},e.projectId))})]}),c?(0,$.jsx)(`p`,{className:`text-destructive text-sm`,children:c}):null,o?(0,$.jsxs)(`div`,{className:`space-y-4 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{children:`Skills`}),(0,$.jsx)(`p`,{children:o.skills.map(e=>`${e.name}${e.conflict?` (already installed)`:``}`).join(`, `)||`None`})]}),o.mcpServers.length?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`strong`,{children:`MCP servers`}),o.mcpServers.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(go,{checked:u.includes(e.name),onCheckedChange:t=>d(n=>t?[...n,e.name]:n.filter(t=>t!==e.name)),id:`mcp-${e.name}`}),(0,$.jsxs)(aa,{htmlFor:`mcp-${e.name}`,children:[e.name,e.conflict?` (already configured)`:``]})]},e.name))]}):null,o.skills.some(e=>e.conflict)||o.mcpServers.some(e=>e.conflict)?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(go,{checked:f,onCheckedChange:e=>p(e===!0),id:`replace-plugin`}),(0,$.jsx)(aa,{htmlFor:`replace-plugin`,children:`Replace existing files and MCP servers`})]}):null]}):null,(0,$.jsxs)(Ba,{children:[(0,$.jsx)(No,{variant:`outline`,onClick:a,children:`Cancel`}),(0,$.jsx)(No,{disabled:!o||m,onClick:()=>void _(),children:`Install`})]})]})})}var Pj=(0,Z.createContext)(null);function Fj(){let e=(0,Z.useContext)(Pj);if(!e)throw Error(`useRequestDeleteProject must be used within a DeleteProjectRequestContext`);return e}function Ij(){return oA(),Ik(),null}function Lj(){return Oj(),null}function Rj(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`health-status`,Xa()],queryFn:zj,refetchInterval:3e4,retry:!1},e[0]=t):t=e[0],mr(t)}async function zj(){let e=await fetch(`${Xa()}/health`,{method:`GET`});if(!e.ok)throw Error(`Failed to load health status`);return e.json()}function Bj(){let e=Es(),t=Gn(),n=Vn(),r=X(e=>e.selectedThreadId),i=X(e=>e.selectedProjectId),a=X(e=>e.sidebarOpen),o=X(e=>e.deletingProjectIds),[s,c]=(0,Z.useState)(null);FA((0,Z.useCallback)(e=>{if(!e.startsWith(`tarsk://`))return;let n=e.slice(8);try{let e=new URL(`https://tarsk.invalid/${n}`);if(e.pathname===`/skill-install`&&e.searchParams.get(`url`)){c(e.searchParams.get(`url`));return}let r=/^https?:\/\//i.test(n)?new URL(n):e;t(`${r.pathname}${r.search}${r.hash}`||`/`)}catch{}},[t,c]));let{mode:l}=vC(),u=wT()||Ir(),{data:d}=Rj(),f=X(e=>e.projectPanelView),p=X(e=>e.projectPanelProjectId),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(null),{devServerProjectId:S,devServerState:C}=ix(),w=X(e=>e.processingThreadIds),T=(0,Z.useRef)(null),E=(0,Z.useRef)(()=>{}),D=(0,Z.useCallback)(t=>{e({type:Y.OpenProjectPanel,projectId:t})},[e]),{projects:O,handleSelectThread:k,handleCreateProject:A,handleCreateWebApp:j,handleCreateFolder:M,handleOpenFolder:N,handleOpenPath:P,handleCreateThread:F,confirmDeleteProject:I,refreshProjects:L,pendingSetupScriptConfirmation:R,resolveSetupScriptConfirmation:z}=Pw({onProjectCreated:D,onThreadCreateStart:D}),B=O.find(e=>e.projectId===i),V=(0,Z.useCallback)(e=>{h(e),e||_(null)},[]),H=(0,Z.useCallback)(e=>{_(e),h(!0)},[]),U=(0,Z.useCallback)(()=>{N()},[N]),{clearCompleted:ee}=vA(),{setActiveMainTab:te}=qs(),{triggerBrowserReset:ne}=ZC(),{showOnboarding:re,setShowOnboarding:ie,updateAvailable:ae,updatingApp:oe,handleUpdateApp:se}=yA();LA(P);let ce=TC(),{isSettingsRoute:le,isReviewRoute:ue}=bA({selectedThreadId:r});xA(le,ue),ZA();let de=(0,Z.useCallback)(e=>{let t=O.find(t=>t.projectId===e);t&&y({id:t.projectId,name:Ke(t)})},[O]),fe=(0,Z.useCallback)(e=>{y(e)},[]),pe=(0,Z.useMemo)(()=>{if(!v)return!1;let e=(O.find(e=>e.projectId===v.id)?.threads.map(e=>e.threadId)??[]).some(e=>w.includes(e)),t=S===v.id&&(C===`starting`||C===`running`||C===`stopping`),n=R?.projectId===v.id;return e||t||n},[v,O,w,S,C,R]),me=pe?`Stop or finish active sessions before deleting this project.`:null,he=(0,Z.useCallback)((e,t)=>{y(null),x({projectId:e,projectName:t,step:0,status:`progressing`}),I(e,e=>x(e)).catch(()=>{})},[I]),ge=(0,Z.useCallback)(()=>{if(!b)return;let{projectId:e,projectName:t}=b;x({projectId:e,projectName:t,step:0,status:`progressing`}),I(e,e=>x(e)).catch(()=>{})},[b,I]),_e=(0,Z.useCallback)(()=>{x(null)},[]);(0,Z.useEffect)(()=>{if(b?.status!==`done`)return;let e=window.setTimeout(()=>x(null),800);return()=>window.clearTimeout(e)},[b]);let ve=(0,Z.useCallback)(e=>{F(e,void 0)},[F]);E.current=ve;let ye=p??i;(0,Z.useEffect)(()=>{function e(e){let t=e.key.toLowerCase();!((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey)||t!==`t`||!ye||(e.preventDefault(),E.current(ye))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ye]);let be=(0,Z.useCallback)(()=>{e({type:Y.CloseProjectPanel}),a||e({type:Y.ToggleSidebar})},[e,a]),xe=(0,Z.useCallback)((i,a)=>{ee(a),n.pathname!==`/`&&t(`/`),te(`chat`),r!==a&&ne(),k(i,a),u&&e({type:Y.CloseSidebar})},[k,u,r,e,ee,n.pathname,t,te,ne]),Se=(0,Z.useCallback)(t=>{let n=f===`projects`;D(t);let i=O.find(e=>e.projectId===t);if(!i)return;function a(){n&&e({type:Y.FocusChatInput})}if(i.threads.some(e=>e.threadId===r)){a();return}let o=i.threads.find(e=>e.isSelected)??i.threads[0]??null;if(o){xe(t,o.threadId),a();return}r&&ne(),e({type:Y.SelectProject,projectId:t})},[D,f,O,r,xe,ne,e]),Ce=jb(),W=p==null?void 0:O.find(e=>e.projectId===p);(0,Z.useEffect)(()=>{if(f===`actions`&&p&&!W){if(i===p&&r)return;e({type:Y.CloseProjectPanel})}},[e,f,p,W,i,r]);let we=(0,Z.useRef)(i);(0,Z.useEffect)(()=>{let e=we.current!==null;we.current=i,e&&i===null&&be()},[i,be]);let Te=!le&&!ue&&!Ce,Ee=Te&&a;return(0,Z.useEffect)(()=>{if(!Ce){if(!a){T.current?.collapse();return}T.current?.expand(),Te?T.current?.resize(100):u||T.current?.resize(25)}},[a,Te,Ce,u]),(0,$.jsx)(Pj.Provider,{value:fe,children:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ij,{}),(0,$.jsx)(Lj,{}),(0,$.jsx)(Ac,{}),(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(kw,{})}),(0,$.jsxs)(Fo,{delayDuration:200,children:[(0,$.jsxs)(`div`,{className:G(`relative h-screen overflow-hidden`,l===`image`&&`bg-background`,l===`background`&&`bg-[hsl(var(--image-off-background))]`,l===`color`&&`bg-[var(--wallpaper-color)]`),children:[l===`image`?(0,$.jsx)(qc,{}):null,(0,$.jsxs)(tS,{threadId:r??void 0,children:[r&&i?(0,$.jsx)(KA,{threadId:r,projectId:i}):null,(0,$.jsxs)(zT,{id:`app-shell-panels`,direction:`horizontal`,className:`relative z-10 h-full`,children:[!ce&&!Ce&&(0,$.jsx)(BT,{id:`app-sidebar-panel`,order:1,ref:T,defaultSize:Te||u?100:25,minSize:Te||u?50:12,maxSize:Te||u?100:32,collapsible:!0,collapsedSize:0,className:G(`border-r border-transparent`,u&&!a&&`hidden`),children:(0,$.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,$.jsx)(cl,{projects:O,selectedThreadId:r,selectedProjectId:i,deletingProjectIds:o,onSelectProject:Se,onCreateProject:H,onOpenFolder:U,onDeleteProject:de,collapsed:!a,updateAvailable:ae,updatingApp:oe,onUpdateApp:se,isDevMode:d?.isDevMode===!0})})}),!ce&&!Ce&&(0,$.jsx)(VT,{id:`app-sidebar-resize-handle`}),(0,$.jsx)(BT,{id:`app-main-panel`,order:2,minSize:Ee?0:40,className:G(`overflow-hidden`,Ee&&`hidden`),children:(0,$.jsx)(Fg,{children:(0,$.jsx)(ex,{children:(0,$.jsx)(YD,{selectedProjectId:i,isReviewRoute:ue,onCreateThread:ve,onBackToProjects:be,onSelectProject:Se,onSubmitClone:A,onSubmitWebApp:j,onSubmitFolder:M,onOpenFolder:N})})})}),(0,$.jsx)(Fk,{showCreateProject:m,createProjectInitialMode:g,onCreateProjectOpenChange:V,onSubmitClone:A,onSubmitWebApp:j,onSubmitFolder:M,deleteProject:v,deleteProjectBlocked:pe,deleteProjectBlockReason:me,onDeleteProjectOpenChange:e=>!e&&y(null),onConfirmDeleteProject:()=>{v&&he(v.id,v.name)},deleteProjectProgress:b,onDeleteProjectRetry:ge,onDeleteProjectProgressClose:_e,pendingSetupScriptConfirmation:R,onResolveSetupScriptConfirmation:z,showOnboarding:re,onOnboardingOpenChange:ie,onOnboardingComplete:()=>{L()}})]})]})]}),(0,$.jsx)(Nj,{url:s,projectId:i,projectName:B?Ke(B):null,projects:O,onSelectProject:Se,onClose:()=>c(null)}),(0,$.jsx)(sA,{}),(0,$.jsx)(wj,{})]})]})})}function Vj(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(YA,{children:(0,$.jsx)(Bj,{})}),e[0]=t):t=e[0],t}function Hj(){let e=(0,Q.c)(3),[t]=(0,Z.useState)(Ds),n=TC(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Vj,{}),e[0]=r):r=e[0];let i;return e[1]===t?i=e[2]:(i=(0,$.jsx)(fA,{attribute:`class`,defaultTheme:n?`dark`:`system`,enableSystem:!0,storageKey:n?`tarsk-theme-vscode`:`tarsk-theme`,children:(0,$.jsx)(uA,{children:(0,$.jsx)(As.Provider,{value:t,children:r})})}),e[1]=t,e[2]=i),i}var Uj=75,Wj=125,Gj=100;function Kj(){return window.matchMedia(`(max-width: 767px)`).matches}function qj(e){let t=U(e,Kj());document.documentElement.style.fontSize=`${t}%`}var Jj=!1;function Yj(){Jj||(Jj=!0,window.matchMedia(`(max-width: 767px)`).addEventListener(`change`,()=>{qj(zi(Gj))}))}function Xj(){let[e,t]=(0,Z.useState)(()=>zi(Gj));(0,Z.useEffect)(()=>{Yj(),qj(e)},[e]);function n(e){let n=Math.max(Uj,Math.min(Wj,Math.round(e)));t(n),qa(n)}return{scale:e,updateScale:n,resetScale:(0,Z.useCallback)(()=>{n(Gj)},[]),min:Uj,max:Wj,default:Gj}}function Zj(){Yj(),qj(zi(Gj))}var Qj=60,$j=100,eM=80,tM=`--frosted-panel-opacity`;function nM(e){document.documentElement.style.setProperty(tM,String(e/100))}function rM(){let[e,t]=(0,Z.useState)(()=>Xr(eM));(0,Z.useEffect)(()=>{nM(e)},[e]);function n(e){let n=Math.max(Qj,Math.min($j,Math.round(e)));t(n),To(n)}return{opacity:e,updateOpacity:n,resetOpacity:(0,Z.useCallback)(()=>{n(eM)},[]),min:Qj,max:$j,default:eM}}function iM(){nM(Xr(eM))}var aM=`--brand`,oM=`--brand-foreground`,sM=`0 0% 9%`,cM=`0 0% 100%`,lM=wi(),uM=new Set;function dM(){for(let e of uM)e()}function fM(e){let t=sC(e);if(!t)return;document.documentElement.style.setProperty(aM,t);let n=oC(e);document.documentElement.style.setProperty(oM,n!==null&&n>140?sM:cM)}function pM(){return lM}function mM(e){return uM.add(e),function(){uM.delete(e)}}function hM(e){let t=iC(e);t===null||lM===t||(lM=t,ao(t),fM(t),dM())}function gM(){let e=(0,Q.c)(2),t=(0,Z.useSyncExternalStore)(mM,pM,pM),n=vM,r=_M,i;return e[0]===t?i=e[1]:(i={color:t,updateColor:n,resetColor:r,default:Va},e[0]=t,e[1]=i),i}function _M(){hM(Va)}function vM(e){hM(e)}function yM(){lM=wi(),fM(lM)}var bM;(function(e){e.Dark=`DARK`,e.Light=`LIGHT`,e.Default=`DEFAULT`})(bM||={});var xM;(function(e){e.None=`NONE`,e.Slide=`SLIDE`,e.Fade=`FADE`})(xM||={});var SM=bm(`StatusBar`),CM=`--app-viewport-height`;function wM(){let e=window.visualViewport,t=Math.round(Pi()===`ios`?window.innerHeight:e?.height??window.innerHeight);document.documentElement.style.setProperty(CM,`${t}px`)}function TM(){wM(),requestAnimationFrame(wM)}function EM(){document.documentElement.dataset.nativeShell=`true`,TM(),window.addEventListener(`resize`,wM),window.addEventListener(`orientationchange`,TM);let e=window.visualViewport;e?.addEventListener(`resize`,wM),e?.addEventListener(`scroll`,wM)}async function DM(){try{await SM.setOverlaysWebView({overlay:!0}),await SM.show(),TM()}catch{}}async function OM(){try{let e=Pi()===`ios`?wS.None:wS.Body;await TS.setResizeMode({mode:e})}catch{}}function kM(){Ir()&&(EM(),DM(),OM(),document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState===`visible`){TM(),DM();return}Rm()}))}var AM=class extends Z.Component{state={hasError:!1,report:null};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){this.setState({report:_j(e,{source:`react`,componentStack:t.componentStack??void 0})})}handleReload=()=>{window.location.reload()};render(){return this.state.hasError?this.state.report?(0,$.jsx)(xj,{open:!0,report:this.state.report,variant:`current-session`,onDismiss:this.handleReload,onReload:this.handleReload}):null:this.props.children}};Zj(),iM(),yM(),SC(),kM();function jM(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 MM(){sessionStorage.getItem(NM)||(sessionStorage.setItem(NM,`1`),window.location.reload())}var NM=`tarsk-chunk-reload`;function PM(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function FM(e){if(!TC())return;let t=document.activeElement;!(e.metaKey||e.ctrlKey)||e.altKey||e.key.toLowerCase()!==`v`||!PM(t)||(e.preventDefault(),window.parent.postMessage({type:`tarsk-paste-request`},`*`))}function IM(e){let t=document.activeElement;if(!PM(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}))}TC()&&(window.addEventListener(`keydown`,FM,!0),window.addEventListener(`message`,e=>{e.data?.type===`tarsk-clipboard-paste`&&typeof e.data.text==`string`&&IM(e.data.text)})),yj({shouldIgnore:jM}),window.addEventListener(`unhandledrejection`,e=>{jM(e.reason)&&(e.preventDefault(),MM())}),window.addEventListener(`vite:preloadError`,e=>{e.preventDefault(),MM()}),sessionStorage.removeItem(NM);var LM=!1;window.addEventListener(`resize`,()=>{LM||=(window.__electrobunWebviewId&&(document.body.style.height=`calc(100%)`),!0)});var RM=Ir()?In:fn;(0,wc.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(Z.StrictMode,{children:(0,$.jsx)(AM,{children:(0,$.jsx)(RM,{children:(0,$.jsx)(Hj,{})})})}));export{$y as $,BT as A,il as At,ZC as B,kE as C,Uu as Ct,oE as D,nl as Dt,cE as E,Yc as Et,ow as F,kc as Ft,Vx as G,WC as H,lw as I,ex as J,sx as K,cw as L,wT as M,ol as Mt,Pw as N,Xc as Nt,sE as O,el as Ot,dw as P,Pc as Pt,nb as Q,sw as R,UE as S,$u as St,aE as T,ru as Tt,vC as U,qC as V,pS as W,ib as X,jb as Y,rb as Z,yD as _,xm as _t,UA as a,F_ as at,nD as b,pf as bt,PA as c,bg as ct,xk as d,Tg as dt,Qy as et,Ck as f,yg as ft,vD as g,rg as gt,LD as h,xg as ht,Fj as i,Nv as it,zT as j,al as jt,VT as k,tl as kt,qk as l,Og as lt,ID as m,Sg as mt,rM as n,Qv as nt,zA as o,Rg as ot,qO as p,Eg as pt,ix as q,Xj as r,Xv as rt,BA as s,Dg as st,gM as t,Ky as tt,Jk as u,wg as ut,iD as v,ff as vt,hE as w,Wu as wt,tD as x,Xd as xt,rD as y,mf as yt,uw as z};