@bigduu/lotus 2026.5.15 → 2026.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CvxMXZxu.js","./vendor-markdown-DZuK0SxV.js","./vendor-i18n-BNURlJ23.js","./vendor-antd-C8lKwvI6.js","./vendor-mermaid-C1Gk9PtT.js","./main-DZ0RS3MR.js","./main-B6snAd4S.css","./index-Bcpx4-c6.js","./index-B5yTfmmx.js","./index-Bi-vGirQ.css","./index-Bsj_W4uB.js","./index-BBEDlZ5R.js","./index-BmjFP0ha.js","./core-Cfh-QHsP.js","./index-_XI0Qq6F.js","./vendor-pdf-DB-djSmA.js","./index-m1e7tYy8.js","./index-DNsNCcgt.css","./index-BUNJzP87.js","./index-B6OABT-M.css","./index-PqGYeNgr.js","./MetricsService-CvnuWjgH.js","./index-D9ODTr93.css","./index-DyUcAs0H.js","./SubAgentsPanel-DVARq_LB.js","./index-CJZQ3u55.js","./index-AIUPRSCn.css","./index-BSdyu2HS.js","./onboardingStorage-BVcEpmTy.js","./vendor-charts-bhMup2Pu.js","./index-CTTo_OVV.js","./index-CLYKYSO0.css","./FeatureGuide-BlFyQEho.js"])))=>i.map(i=>d[i]);
2
- var yS=Object.defineProperty;var bS=(e,t,n)=>t in e?yS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Mt=(e,t,n)=>bS(e,typeof t!="symbol"?t+"":t,n);import{j as a,M as vr,S as dn,a as ng,t as rg,p as sg,b as vS,c as Ju,d as SS,m as og,s as xS,y as ig,e as ag,h as al,f as Qu,r as Zu,g as ed,i as lg}from"./vendor-markdown-DZuK0SxV.js";import{a as y,u as Ge,R as ht,i as xt,c as wS,g as vs}from"./vendor-i18n-BNURlJ23.js";import{_ as Jt,cq as td}from"./vendor-mermaid-C1Gk9PtT.js";import{t as ut,o as kf,p as _S,Q as kS,as as ms,aY as cg,aZ as CS,V as Cl,E as je,ap as TS,G as Ss,ak as Ks,a_ as PS,L as Cr,X as xs,a$ as ug,H as nu,S as Ue,F as Me,u as gs,q as Wr,O as nd,Y as Tl,n as xn,b0 as MS,b1 as ES,j as ft,M as Fn,W as Ha,a0 as jS,a4 as ru,b2 as RS,b3 as Pl,b4 as dg,J as rd,b5 as su,b6 as Vs,b7 as AS,b8 as IS,D as ll,k as OS,y as fg,b9 as $S,ba as LS,K as Gs,aj as FS,l as Je,a2 as DS,v as hg,A as ir,C as nn,bb as Ml,bc as pg,ao as NS,ac as BS,w as sd,aE as mg,bd as zS,be as WS,bf as US,bg as qS,z as Js,bh as HS,bi as YS,ah as od,ai as Tr,at as cl,aD as eo,bj as XS,bk as gg,bl as yg,ad as id,a7 as KS,m as El,a9 as Cf,aA as VS,I as Tf,P as bg,aS as vg,aK as GS,av as JS,af as QS,bm as ZS,bn as ex,ar as tx,aF as nx,bo as rx,bp as sx,bq as ox,br as ix,B as ax,aW as Ws,bs as Sg,bt as lx,bu as xg,a5 as ad,bv as cx,bw as ux,$ as dx,bx as Pf,by as Mf}from"./vendor-antd-C8lKwvI6.js";import{r as fx,A as hx,a as px}from"./main-DZ0RS3MR.js";function wg(e){const[t,n]=y.useState(()=>typeof window<"u"?window.matchMedia(e).matches:!1);return y.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia(e);n(r.matches);const s=o=>{n(o.matches)};return r.addEventListener?r.addEventListener("change",s):r.addListener(s),()=>{r.removeEventListener?r.removeEventListener("change",s):r.removeListener(s)}},[e]),t}function jl(){return wg("(max-width: 768px)")}const mx=({chat:e,isSelected:t,compact:n=!1,onSelect:r,onDelete:s,onPin:o,onUnpin:i,onEdit:l,onGenerateTitle:u,onRunProjectDream:d,isGeneratingTitle:h,isRunningProjectDream:m,titleGenerationError:b})=>{const{t:v}=Ge(),[w,S]=y.useState(!1),[k,P]=y.useState(e.title),[T,j]=y.useState(!1),[C,E]=y.useState(!1),{token:A}=ut.useToken(),O=y.useCallback(G=>{G.stopPropagation(),l&&k.trim()&&l(e.id,k.trim()),S(!1)},[e.id,k,l]),D=y.useCallback(G=>{G.stopPropagation(),P(e.title),S(!1)},[e.title]),F=[{key:"pin",icon:e.pinned?a.jsx(kf,{style:{color:A.colorWarning}}):a.jsx(_S,{}),label:e.pinned?v("chat.actions.unpin"):v("chat.actions.pin"),onClick:({domEvent:G})=>{G.stopPropagation(),e.pinned?i(e.id):o(e.id)}},{key:"edit",icon:a.jsx(kS,{}),label:v("chat.chatItem.edit"),onClick:({domEvent:G})=>{G.stopPropagation(),S(!0)}},...u?[{key:"generate-title",icon:h?a.jsx(ms,{}):a.jsx(cg,{style:b?{color:A.colorError}:void 0}),label:b||v("chat.actions.generateTitle"),disabled:h,onClick:({domEvent:G})=>{G.stopPropagation(),u(e.id)}}]:[],...d?[{key:"run-project-dream",icon:m?a.jsx(ms,{}):a.jsx(CS,{}),label:v("chat.actions.runProjectDream"),disabled:m,onClick:({domEvent:G})=>{G.stopPropagation(),d(e.id)}}]:[],{type:"divider"},{key:"delete",icon:a.jsx(Cl,{}),label:v("common.delete"),danger:!0,onClick:({domEvent:G})=>{G.stopPropagation(),s(e.id)}}],N={padding:n?"4px 8px":"5px 8px",borderRadius:A.borderRadiusSM,marginBottom:0,cursor:"pointer",transition:"background-color 0.2s ease, box-shadow 0.2s ease",backgroundColor:t?"var(--lotus-primary-soft)":T||C?"var(--lotus-item-hover-bg)":"transparent",border:"1px solid transparent",borderColor:"transparent",position:"relative",overflow:"visible",boxShadow:t?`inset 2px 0 0 ${A.colorPrimary}`:"none",minHeight:n?28:30},q={flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:n?12:12.5,lineHeight:1.3,fontWeight:t?600:500,color:t?"var(--lotus-primary)":A.colorText},I={flex:1,fontSize:A.fontSizeSM,marginRight:A.marginSM},Q=w?[a.jsx(je,{type:"text",size:"small",icon:a.jsx(TS,{style:{color:A.colorSuccess}}),onClick:O,"aria-label":v("common.save")},"save"),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Ss,{style:{color:A.colorError}}),onClick:D,"aria-label":v("common.cancel")},"cancel")]:T||C?[a.jsx(Ks,{menu:{items:F,className:"lotus-sidebar-actions-menu"},trigger:["click"],placement:"bottomRight",overlayClassName:"lotus-sidebar-actions-dropdown",open:C,onOpenChange:G=>E(G),children:a.jsx(je,{type:"text",size:"small",icon:a.jsx(PS,{}),"aria-label":v("common.moreActions","More actions"),onClick:G=>G.stopPropagation(),style:{color:A.colorTextSecondary,borderRadius:A.borderRadiusSM,background:"transparent",width:n?16:18,height:n?16:18,display:"flex",alignItems:"center",justifyContent:"center"}})},"more")]:[];return a.jsx(Cr.Item,{style:N,tabIndex:0,onClick:()=>!w&&r(e.id),onKeyDown:G=>{G.key==="Enter"&&!w?(G.preventDefault(),r(e.id)):(G.key==="Delete"||G.key==="Backspace")&&!w&&G.metaKey&&(G.preventDefault(),s(e.id))},onMouseEnter:()=>j(!0),onMouseLeave:()=>{C||j(!1)},onFocus:()=>j(!0),onBlur:()=>{C||j(!1)},actions:Q,"data-testid":"chat-item",role:"option","aria-selected":t,"aria-label":e.title||v("chat.sidebar.untitledChat"),children:a.jsx("div",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center"},children:w?a.jsx(xs,{value:k,onChange:G=>P(G.target.value),onClick:G=>G.stopPropagation(),onPressEnter:G=>{G.preventDefault(),O(G)},autoFocus:!0,style:I,variant:"borderless",size:"small"}):a.jsxs("div",{style:{...q,display:"flex",alignItems:"center",gap:n?4:A.marginXS,minWidth:0},children:[e.pinned&&a.jsx(kf,{style:{color:A.colorWarning,fontSize:11,flexShrink:0}}),a.jsx("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),e.kind==="child"?a.jsx("span",{style:{color:A.colorInfo,fontSize:n?10:11,lineHeight:1.2,flexShrink:0,whiteSpace:"nowrap"},children:v("chat.chatItem.childTag")}):null,e.planMode?a.jsxs("span",{style:{color:"#722ed1",fontSize:n?10:11,lineHeight:1.2,flexShrink:0,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",gap:3},children:[a.jsx(ug,{}),v("chat.planMode.badge","Plan")]}):null]})})})},gx=(e,t)=>e.chat.id===t.chat.id&&e.chat.title===t.chat.title&&e.chat.pinned===t.chat.pinned&&e.chat.planMode===t.chat.planMode&&e.isSelected===t.isSelected&&e.compact===t.compact&&e.isGeneratingTitle===t.isGeneratingTitle&&e.isRunningProjectDream===t.isRunningProjectDream&&e.titleGenerationError===t.titleGenerationError,ou=y.memo(mx,gx);ou.displayName="ChatItem";const Ef=e=>({Today:0,Yesterday:1,"This Week":2,"This Month":3})[e]??4,yx=e=>{const t={},n=e.filter(s=>s.pinned);n.length>0&&(t.Pinned=n.sort((s,o)=>o.createdAt-s.createdAt));const r=e.filter(s=>!s.pinned&&!!s.createdByScheduleId);return r.length>0&&(t.Scheduled=r.sort((s,o)=>o.createdAt-s.createdAt)),e.filter(s=>!s.pinned&&!s.createdByScheduleId).forEach(s=>{const i=new Date(s.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"});t[i]||(t[i]=[]),t[i].push(s)}),Object.keys(t).forEach(s=>{t[s].sort((o,i)=>i.createdAt-o.createdAt)}),t},bx=e=>{const t=n=>Array.isArray(n)?n.reduce((r,s)=>Math.max(r,s.createdAt),0):Object.values(n).reduce((r,s)=>{const o=s.reduce((i,l)=>Math.max(i,l.createdAt),0);return Math.max(r,o)},0);return Object.keys(e).sort((n,r)=>{if(n==="Pinned")return-1;if(r==="Pinned")return 1;if(n==="Scheduled")return-1;if(r==="Scheduled")return 1;const s=e[n],o=e[r];if(!s||!o)return 0;const i=t(s),l=t(o);return i!==l?l-i:Ef(n)-Ef(r)})},vx=(e,t)=>e[t]?e[t].map(n=>n.id):[],_g=(e,t)=>e[t]?e[t].length:0,Sx=e=>e.createdByScheduleId?"Scheduled":new Date(e.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),jf=(e,t)=>{const r={Today:"chat.sidebar.dateGroups.today",Yesterday:"chat.sidebar.dateGroups.yesterday","This Week":"chat.sidebar.dateGroups.thisWeek","This Month":"chat.sidebar.dateGroups.thisMonth",Pinned:"chat.sidebar.dateGroups.pinned",Scheduled:"chat.sidebar.dateGroups.scheduled"}[e];return r?t(r):e},xx=({groupedChatsByDate:e,childrenByRoot:t,expandedRootIds:n,onToggleRootExpanded:r,sortedDateKeys:s,expandedKeys:o,onCollapseChange:i,currentSessionId:l,onSelectChat:u,onDeleteChat:d,onDeleteByDate:h,onPinChat:m,onUnpinChat:b,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:S,titleGenerationState:k,projectDreamState:P,token:T,hasActiveFilters:j})=>{const{t:C}=Ge(),E=y.useMemo(()=>s.length?s.map(O=>{const D=e[O],F=_g(e,O);return{dateKey:O,dateGroup:D,totalChatsInDate:F}}):[],[e,s]);if(!s.length)return a.jsx(nu,{image:nu.PRESENTED_IMAGE_SIMPLE,description:a.jsxs(Ue,{direction:"vertical",size:4,align:"center",children:[a.jsx("span",{style:{color:T.colorTextSecondary},children:j?C("chat.sidebar.empty.noMatches","No matching sessions"):C("chat.sidebar.empty.noSessions")}),a.jsx("span",{style:{color:T.colorTextSecondary,fontSize:12},children:j?C("chat.sidebar.empty.filterHint","Try adjusting your search or filters"):C("chat.sidebar.empty.hint")}),j&&a.jsx(je,{size:"small",type:"link",onClick:()=>{var D;const O=document.querySelector('[data-testid="sidebar-search-input"] input, .lotus-sidebar-search input');if(O){const F=(D=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:D.set;F==null||F.call(O,""),O.dispatchEvent(new Event("input",{bubbles:!0}))}},children:C("chat.sidebar.empty.clearFilters","Clear filters")})]})});const A=new Set(o);return a.jsx("div",{style:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:E.map(({dateKey:O,dateGroup:D,totalChatsInDate:F})=>{const N=A.has(O);return a.jsxs("div",{style:{borderRadius:T.borderRadiusSM,background:"transparent",padding:0},children:[a.jsxs(Me,{align:"center",justify:"space-between",style:{cursor:"pointer",padding:"4px 8px",borderRadius:T.borderRadiusSM,transition:"background-color 0.2s ease, color 0.2s ease",border:"1px solid transparent"},role:"button",tabIndex:0,"aria-expanded":N,"aria-label":`${jf(O,C)} (${F})`,onKeyDown:q=>{if(q.key==="Enter"||q.key===" "){q.preventDefault();const I=new Set(A);I.has(O)?I.delete(O):I.add(O),i(Array.from(I))}},onMouseEnter:q=>{q.currentTarget.style.background="var(--lotus-sidebar-item-hover-bg, rgba(204, 251, 241, 0.76))",q.currentTarget.style.borderColor="transparent";const I=q.currentTarget.querySelector(".chat-sidebar-date-group-delete");I&&(I.style.opacity="1")},onMouseLeave:q=>{q.currentTarget.style.background="transparent",q.currentTarget.style.borderColor="transparent";const I=q.currentTarget.querySelector(".chat-sidebar-date-group-delete");I&&(I.style.opacity="0")},onClick:()=>{const q=new Set(A);q.has(O)?q.delete(O):q.add(O),i(Array.from(q))},className:"chat-sidebar-date-group-header",children:[a.jsxs(Me,{align:"center",gap:"small",style:{minWidth:0},children:[N?a.jsx(gs,{style:{fontSize:12,opacity:.6}}):a.jsx(Wr,{style:{fontSize:12,opacity:.6}}),a.jsxs("span",{style:{fontSize:10.5,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.3px",color:O==="Today"?"var(--lotus-primary)":T.colorTextSecondary,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[jf(O,C)," (",F,")"]})]}),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Cl,{}),className:"chat-sidebar-date-group-delete",style:{color:T.colorTextTertiary,opacity:0,transition:"opacity 0.2s ease"},onClick:q=>{q.stopPropagation(),h(O)}})]}),N?a.jsx("div",{style:{marginTop:2},children:a.jsx(Cr,{itemLayout:"horizontal",dataSource:D,split:!1,renderItem:q=>{var I,Q,G,Z,pe,$;return a.jsxs("div",{children:[a.jsxs(Me,{align:"center",gap:6,style:{padding:"4px 8px"},children:[(I=t[q.id])!=null&&I.length?a.jsx(je,{size:"small",type:"text",style:{padding:0,width:18,minWidth:18,height:18},"aria-label":n.has(q.id)?C("chat.sidebar.actions.collapseChildren"):C("chat.sidebar.actions.expandChildren"),onClick:oe=>{oe.preventDefault(),oe.stopPropagation(),r(q.id)},children:n.has(q.id)?a.jsx(gs,{style:{fontSize:12}}):a.jsx(Wr,{style:{fontSize:12}})}):a.jsx("div",{style:{width:18}}),a.jsx("div",{style:{flex:1,minWidth:0,marginLeft:-8},children:a.jsx(ou,{chat:q,compact:!0,isSelected:q.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((Q=k[q.id])==null?void 0:Q.status)==="loading",isRunningProjectDream:((G=P[q.id])==null?void 0:G.status)==="loading",titleGenerationError:((Z=k[q.id])==null?void 0:Z.status)==="error"?(pe=k[q.id])==null?void 0:pe.error:void 0})})]}),n.has(q.id)&&((($=t[q.id])==null?void 0:$.length)??0)>0?a.jsx("div",{style:{marginLeft:18,marginTop:1},children:a.jsx(Cr,{itemLayout:"horizontal",dataSource:t[q.id],split:!1,renderItem:oe=>{var me,ne,he,fe;return a.jsx("div",{style:{paddingLeft:8,borderLeft:`1px solid ${T.colorBorderSecondary}`,marginLeft:2},children:a.jsx(ou,{chat:oe,compact:!0,isSelected:oe.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((me=k[oe.id])==null?void 0:me.status)==="loading",isRunningProjectDream:((ne=P[oe.id])==null?void 0:ne.status)==="loading",titleGenerationError:((he=k[oe.id])==null?void 0:he.status)==="error"?(fe=k[oe.id])==null?void 0:fe.error:void 0})},oe.id)}})}):null]},q.id)}})}):null]},O)})})},Rf=e=>{let t;const n=new Set,r=(d,h)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const b=t;t=h??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(v=>v(t,b))}},s=()=>t,l={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,s,l);return l},wx=e=>e?Rf(e):Rf,_x=e=>e;function kx(e,t=_x){const n=ht.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return ht.useDebugValue(n),n}const Af=e=>{const t=wx(e),n=r=>kx(t,r);return Object.assign(n,t),n},Hr=e=>e?Af(e):Af,Cx="copilot_ui_theme_v1";function Tx(){var e;try{const t=localStorage.getItem(Cx);if(t==="light"||t==="dark")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const ul=Hr(e=>({themeMode:Tx(),setThemeMode:t=>e({themeMode:t}),toggleTheme:()=>e(t=>({themeMode:t.themeMode==="dark"?"light":"dark"}))})),Px="2026.5.15",Mx={version:Px},Ex=Mx.version,{Text:jx}=ft,Rx=({collapsed:e,onNewChat:t,onOpenSettings:n,token:r})=>{const{t:s}=Ge(),o=ul(h=>h.themeMode),i=ul(h=>h.toggleTheme),l=s("chat.sidebar.newSession"),u=s("settings.page.title"),d=o==="dark"?s("settings.app.lightMode","Light mode"):s("settings.app.darkMode","Dark mode");return a.jsxs(Me,{vertical:!0,gap:e?"small":10,style:{padding:e?10:12,background:"transparent",borderTop:`1px solid ${r.colorBorderSecondary}`},children:[a.jsx(je,{"data-testid":"new-chat","data-tour-id":"new-session",type:"primary",icon:a.jsx(nd,{}),onClick:t,block:!e,shape:"default",size:"small",title:l,"aria-label":l,className:"lotus-primary-cta",style:{...e?{width:"40px",height:"40px",margin:"0 auto"}:{},borderRadius:r.borderRadiusLG,minHeight:e?40:38,fontWeight:600},children:!e&&l}),a.jsxs(Me,{gap:6,align:"center",children:[a.jsx(je,{"data-testid":"open-settings","data-tour-id":"open-settings",icon:a.jsx(Tl,{}),onClick:n,block:!e,shape:"default",size:"small",title:u,"aria-label":u,className:"lotus-secondary-button",style:{...e?{width:"40px",height:"40px",margin:"0 auto"}:{},borderRadius:r.borderRadiusLG,minHeight:e?40:36,flex:e?void 0:1},children:!e&&u}),!e&&a.jsx(xn,{title:d,placement:"top",children:a.jsx(je,{"data-testid":"toggle-theme",type:"text",icon:o==="dark"?a.jsx(MS,{}):a.jsx(ES,{}),onClick:i,"aria-label":d,className:"lotus-toolbar-icon",style:{width:36,height:36,borderRadius:r.borderRadiusLG,flexShrink:0}})})]}),!e&&a.jsxs(jx,{type:"secondary","data-testid":"app-version-badge",style:{fontSize:11,textAlign:"center",userSelect:"text"},children:[s("settings.appTab.runningVersion","Running version"),": v",Ex]})]})},If=e=>Symbol.iterator in e,Of=e=>"entries"in e,$f=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[s,o]of n)if(!Object.is(o,r.get(s)))return!1;return!0},Ax=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let s=n.next(),o=r.next();for(;!s.done&&!o.done;){if(!Object.is(s.value,o.value))return!1;s=n.next(),o=r.next()}return!!s.done&&!!o.done};function Ix(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:If(e)&&If(t)?Of(e)&&Of(t)?$f(e,t):Ax(e,t):$f({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Mi(e){const t=ht.useRef(void 0);return n=>{const r=e(n);return Ix(t.current,r)?t.current:t.current=r}}const kg=()=>!1,Cg=e=>{if(!kg())return!1;try{return localStorage.getItem(e)==="1"}catch{return!1}},Ox=()=>Cg("bodhi_debug_ui_layout"),Xn=(e,t)=>{Ox()&&console.log(`[ui-layout] ${e}`,t??"")},Ee=(e,t,...n)=>{kg()&&Cg("bodhi_debug_verbose")&&console.log(`${e} ${t}`,...n)};var pc={};const mc="copilot_backend_base_url",Tg="http://127.0.0.1:9562/v1",$x=9562,ys=e=>e.trim().replace(/\/+$/,""),Lx=()=>{const t=pc==null?void 0:pc.VITE_BACKEND_BASE_URL;return t?ys(t):null},Ki=()=>{const e=globalThis.location;if(!e)return null;const t=typeof e.protocol=="string"?e.protocol:"",n=typeof e.hostname=="string"?e.hostname:"";return!t||!n?null:{protocol:t,hostname:n}},ld=e=>{const t=e.trim().toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"},Fx=(e=Ki())=>(e==null?void 0:e.protocol.toLowerCase())==="https:",Dx=e=>{try{return new URL(ys(e)).protocol.toLowerCase()==="http:"}catch{return!1}},Nx=e=>{try{const t=new URL(ys(e));return ld(t.hostname)}catch{return!1}},Bx=(e=Ki())=>{if(!e)return null;const t=e.protocol.toLowerCase(),n=e.hostname.trim();return n?t==="https:"?ys(`https://${n}/v1`):t==="http:"?ys(`http://${n}/v1`):null:null},zx=(e,t=Ki())=>{if(!t)return!1;const n=t.hostname.trim();return n?Fx(t)&&Dx(e)?!0:ld(n)?!1:Nx(e):!1},Wx=(e=Ki())=>{if(!e)return null;const t=e.protocol.toLowerCase();if(t!=="http:"&&t!=="https:")return null;const n=e.hostname.trim();return n?t==="https:"?Bx(e):ld(n)?Tg:ys(`http://${n}:${$x}/v1`):null},Ux=()=>{const e=Lx();return e||(Wx()??Tg)},ws=()=>{const e=Ki(),t=localStorage.getItem(mc);if(t){const n=ys(t);if(zx(n,e))console.warn("Ignoring stored backend override because it is incompatible with the current page origin:",n),localStorage.removeItem(mc);else try{return new URL(n),n}catch{console.warn("Invalid stored backend URL, using default:",n),localStorage.removeItem(mc)}}return Ux()};class Fi extends Error{constructor(t,n,r,s){super(t),this.status=n,this.statusText=r,this.body=s,this.name="ApiError"}}function aI(e){return e instanceof Fi}class cd{constructor(t={}){Mt(this,"baseUrl");Mt(this,"defaultHeaders");this.baseUrl=t.baseUrl??this.resolveBaseUrl(),this.defaultHeaders=t.defaultHeaders??{"Content-Type":"application/json"}}resolveBaseUrl(){const t=ws().trim().replace(/\/+$/,"");return t.endsWith("/v1")?t:`${t}/v1`}buildUrl(t){const n=t.replace(/^\/+/,"");return`${this.baseUrl}/${n}`}async handleResponse(t){var r,s,o;if(!t.ok){const i=await t.text().catch(()=>{});let l=t.statusText;if(i)try{const u=JSON.parse(i),d=typeof(u==null?void 0:u.error)=="object"?(r=u.error)==null?void 0:r.message:void 0;l=(typeof(u==null?void 0:u.error)=="string"?u.error:void 0)||(typeof d=="string"?d:void 0)||u.message||u.detail||t.statusText}catch{l=i||t.statusText}throw new Fi(l,t.status,t.statusText,i)}return t.status===204?void 0:(((o=(s=t.headers)==null?void 0:s.get)==null?void 0:o.call(s,"content-type"))||"").includes("application/json")?t.json():typeof t.text=="function"?await t.text():t.json()}delay(t){return new Promise(n=>setTimeout(n,t))}async fetchWithRetry(t,n,r=3){let s=null;for(let o=0;o<r;o++)try{const i=await fetch(t,n);if(i.status>=500&&o<r-1){const l=1e3*Math.pow(2,o);console.warn(`Request failed with ${i.status}, retrying in ${l}ms (attempt ${o+1}/${r})`),await this.delay(l);continue}return i}catch(i){if(s=i,o<r-1){const l=1e3*Math.pow(2,o);console.warn(`Network error: ${s.message}, retrying in ${l}ms (attempt ${o+1}/${r})`),await this.delay(l)}}throw s||new Error("Max retries exceeded")}async get(t,n){const r=this.buildUrl(t),s=new AbortController,o=setTimeout(()=>s.abort(),3e4);try{const i=await this.fetchWithRetry(r,{...n,method:"GET",headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include",signal:s.signal},3);return this.handleResponse(i)}finally{clearTimeout(o)}}async post(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"POST",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async put(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"PUT",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async patch(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"PATCH",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async delete(t,n){const r=this.buildUrl(t),s=new AbortController,o=setTimeout(()=>s.abort(),3e4);try{const i=await this.fetchWithRetry(r,{...n,method:"DELETE",headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include",signal:s.signal},3);return this.handleResponse(i)}finally{clearTimeout(o)}}async request(t,n,r){const s=this.buildUrl(n),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:t,headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async fetchRaw(t,n){const r=this.buildUrl(t),s=await fetch(r,{...n,headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include"});if(!s.ok)throw new Fi(`API request failed: ${s.statusText}`,s.status,s.statusText);return s}}const rt=new cd,St=new cd({baseUrl:(()=>{let e=ws().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`})()}),qx=e=>e?{client_message_count:e.client_message_count,client_last_message_id:e.client_last_message_id??null,client_has_pending_question:e.client_has_pending_question,client_pending_question_tool_call_id:e.client_pending_question_tool_call_id??null}:null,Hx=e=>e?{need_sync:e.need_sync,reason:e.reason??null,server_message_count:e.server_message_count,server_last_message_id:e.server_last_message_id??null,has_pending_question:e.has_pending_question,pending_question_tool_call_id:e.pending_question_tool_call_id??null,has_pending_user_message:e.has_pending_user_message}:null,Yx=e=>{var n;const t=e.messages[e.messages.length-1];return{session_id:e.session_id,messageCount:e.messages.length,lastMessageId:(t==null?void 0:t.id)??null,lastRole:(t==null?void 0:t.role)??null,compressionEvents:((n=e.compression_events)==null?void 0:n.length)??0}},Xx=e=>({count:e.length,runningCount:e.filter(t=>t.is_running).length,sessions:e.slice(0,10).map(t=>({id:t.id,is_running:t.is_running,last_run_status:t.last_run_status??null,message_count:t.message_count,has_pending_question:t.has_pending_question??!1,running_child_count:t.running_child_count??0,updated_at:t.updated_at}))}),Kx=e=>({count:e.sessions.length,sessions:e.sessions.map(t=>({session_id:t.session_id,run_id:t.run_id,round_count:t.round_count,last_event_at:t.last_event_at??null,last_tool_name:t.last_tool_name??null,last_tool_phase:t.last_tool_phase??null,criticalEventCount:t.last_critical_events.length,runningChildCount:t.running_child_session_ids.length}))}),va=e=>({type:e.type,session_id:e.session_id??null,run_id:e.run_id??null,round_count:e.round_count??null,message:e.message??null,error:e.error??null,tool_call_id:e.tool_call_id??null}),is=class is{static getInstance(){return is.instance||(is.instance=new is),is.instance}async sendMessage(t){var r,s,o;Ee("[AgentClient]","chat.request",{sessionId:t.session_id??null,model:t.model,modelRef:t.model_ref??null,provider:t.provider??null,messageLength:t.message.length,hasImages:(((r=t.images)==null?void 0:r.length)??0)>0,imageCount:((s=t.images)==null?void 0:s.length)??0,selectedSkillCount:((o=t.selected_skill_ids)==null?void 0:o.length)??0,workspacePath:t.workspace_path??null});const n=await St.post("chat",t);return Ee("[AgentClient]","chat.response",{requestedSessionId:t.session_id??null,sessionId:n.session_id,status:n.status}),n}async execute(t,n,r,s,o){const i={};n&&(i.model=n),r&&(i.reasoning_effort=r),s&&(i.client_sync=s),o&&(i.model_ref=o,i.provider=o.provider),Ee("[AgentClient]","execute.request",{sessionId:t,model:i.model??null,reasoningEffort:i.reasoning_effort??null,modelRef:i.model_ref??null,provider:i.provider??null,clientSync:qx(i.client_sync)});const l=await St.post(`execute/${t}`,i);return Ee("[AgentClient]","execute.response",{sessionId:t,status:l.status,runId:l.run_id??null,eventsUrl:l.events_url,sync:Hx(l.sync)}),l}async listSessions(){Ee("[AgentClient]","sessions.list.request",{});const t=await St.get("sessions");return Ee("[AgentClient]","sessions.list.response",Xx(t.sessions)),t}async getTaskList(t){const n=encodeURIComponent(t),r=await St.get(`task/${n}`);if(!(typeof r.title=="string"||r.items.length>0))return null;const o=new Date().toISOString();return{session_id:r.session_id,title:r.title??"Task List",items:r.items,created_at:o,updated_at:o}}async createSession(t){return St.post("sessions",t)}async patchSession(t,n){const r=encodeURIComponent(t);await St.patch(`sessions/${r}`,n)}async regenerateSessionTitle(t){const n=encodeURIComponent(t);await St.post(`sessions/${n}/regenerate-title`)}async getSessionSystemPrompt(t){const n=encodeURIComponent(t);return St.get(`sessions/${n}/system-prompt`)}async clearSession(t){const n=encodeURIComponent(t);await St.post(`sessions/${n}/clear`)}async runProjectDream(t){const n=encodeURIComponent(t);return St.post(`sessions/${n}/project-dream/run`)}async truncateSessionMessages(t,n){const r=encodeURIComponent(t);return St.post(`sessions/${r}/messages/truncate`,n)}async restoreSessionState(t,n){const r=encodeURIComponent(t);return St.post(`sessions/${r}/restore`,n)}async patchSessionMessage(t,n,r){const s=encodeURIComponent(t),o=encodeURIComponent(n);await St.patch(`sessions/${s}/messages/${o}`,r)}async deleteSessionMessage(t,n){const r=encodeURIComponent(t),s=encodeURIComponent(n);await St.delete(`sessions/${r}/messages/${s}`)}async cleanupSessions(t,n){await St.post("sessions/cleanup",{mode:t,keep_pinned:n})}async devResetSessions(){await St.post("dev/reset")}async getRunningSessions(){Ee("[AgentClient]","runs.active.request",{});const t=await St.get("runs/active");return Ee("[AgentClient]","runs.active.response",Kx(t)),t}async listSchedules(){return St.get("schedules")}async createSchedule(t){return St.post("schedules",t)}async patchSchedule(t,n){const r=encodeURIComponent(t);return St.patch(`schedules/${r}`,n)}async deleteSchedule(t){const n=encodeURIComponent(t);await St.delete(`schedules/${n}`)}async runScheduleNow(t){const n=encodeURIComponent(t);await St.post(`schedules/${n}/run`)}async listScheduleSessions(t){const n=encodeURIComponent(t);return St.get(`schedules/${n}/sessions`)}async listScheduleRuns(t){const n=encodeURIComponent(t);return St.get(`schedules/${n}/runs`)}async subscribeToEvents(t,n,r){const s=r==null?void 0:r.signal;Ee("[AgentClient]","events.subscribe.request",{sessionId:t});const o=ws().trim().replace(/\/+$/,""),l=`${o.endsWith("/v1")?o.slice(0,-3):o}/api/v1/events/${encodeURIComponent(t)}`;return Ee("[AgentClient]","events.subscribe.url",{sessionId:t,eventsUrl:l}),await new Promise((u,d)=>{if(s!=null&&s.aborted){Ee("[AgentClient]","events.subscribe.aborted_before_connect",{sessionId:t}),u();return}let h=!1,m=!1,b=null;const v=()=>{Ee("[AgentClient]","events.subscribe.abort",{sessionId:t,terminalSeen:m}),S()},w=()=>{b&&(b.close(),b=null),s==null||s.removeEventListener("abort",v)},S=()=>{h||(h=!0,Ee("[AgentClient]","events.subscribe.resolve",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),w(),u())},k=P=>{h||(h=!0,Ee("[AgentClient]","events.subscribe.reject",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1,error:P}),w(),d(P))};s==null||s.addEventListener("abort",v,{once:!0});try{b=new EventSource(l,{withCredentials:!0})}catch(P){k(P);return}b.onopen=()=>{Ee("[AgentClient]","events.subscribe.open",{sessionId:t})},b.onmessage=P=>{const T=P.data;if(T==="[DONE]"){m=!0,Ee("[AgentClient]","events.subscribe.done",{sessionId:t}),S();return}if(T!=="[KEEPALIVE]")try{const j=JSON.parse(T);(j.type==="execution_started"||j.type==="complete"||j.type==="cancelled"||j.type==="error"||j.type==="runner_progress"||j.type==="need_clarification")&&Ee("[AgentClient]","events.subscribe.event",{sessionId:t,...va(j)}),this.handleEvent(j,n),(j.type==="complete"||j.type==="cancelled"||j.type==="error")&&(m=!0)}catch(j){console.warn("Failed to parse event:",T,j)}},b.onerror=()=>{if(Ee("[AgentClient]","events.subscribe.error",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),s!=null&&s.aborted||m){S();return}k(new Error(`EventSource connection failed for session ${t}`))}})}handleEvent(t,n){var r,s,o,i,l,u,d,h,m,b,v,w,S,k,P,T,j,C,E,A,O,D,F,N,q,I,Q,G,Z,pe,$;switch(t.type){case"token":(r=n.onToken)==null||r.call(n,t.content||"");break;case"reasoning_token":(s=n.onReasoningToken)==null||s.call(n,t.content||"");break;case"tool_token":(o=n.onToolToken)==null||o.call(n,t.tool_call_id||"",t.content||"");break;case"tool_start":(i=n.onToolStart)==null||i.call(n,t.tool_call_id||"",t.tool_name||"",t.arguments||{});break;case"tool_complete":t.result&&((l=n.onToolComplete)==null||l.call(n,t.tool_call_id||"",t.result));break;case"tool_error":(u=n.onToolError)==null||u.call(n,t.tool_call_id||"",t.error||"");break;case"task_list_updated":t.task_list&&((d=n.onTaskListUpdated)==null||d.call(n,t.task_list));break;case"task_list_item_progress":if(t.session_id&&t.item_id&&t.status&&t.tool_calls_count!==void 0&&t.version!==void 0){const oe=t.status;if(!(oe==="pending"||oe==="in_progress"||oe==="completed"||oe==="blocked"))break;(h=n.onTaskListItemProgress)==null||h.call(n,{session_id:t.session_id,item_id:t.item_id,status:oe,tool_calls_count:t.tool_calls_count,version:t.version})}break;case"task_list_completed":t.session_id&&t.total_rounds!==void 0&&t.total_tool_calls!==void 0&&((m=n.onTaskListCompleted)==null||m.call(n,t.session_id,t.total_rounds,t.total_tool_calls,t.completed_at));break;case"task_evaluation_started":t.session_id&&t.items_count!==void 0&&((b=n.onTaskEvaluationStarted)==null||b.call(n,t.session_id,t.items_count));break;case"task_evaluation_completed":t.session_id&&t.updates_count!==void 0&&t.reasoning&&((v=n.onTaskEvaluationCompleted)==null||v.call(n,t.session_id,t.updates_count,t.reasoning));break;case"token_budget_updated":t.usage&&"system_tokens"in t.usage&&((w=n.onTokenBudgetUpdated)==null||w.call(n,t.usage));break;case"context_compression_status":typeof t.phase=="string"&&typeof t.status=="string"&&((S=n.onContextCompressionStatus)==null||S.call(n,t.phase,t.status));break;case"tool_lifecycle":(k=n.onToolLifecycle)==null||k.call(n,t.tool_call_id||"",t.tool_name||"",t.phase||"",t.elapsed_ms,t.is_mutating,t.auto_approved,t.summary,t.error);break;case"context_summarized":t.summary_info&&((P=n.onContextSummarized)==null||P.call(n,t.summary_info));break;case"context_pressure_notification":typeof t.percent=="number"&&typeof t.level=="string"&&((T=n.onContextPressureNotification)==null||T.call(n,t.percent,t.level,t.message||""));break;case"sub_agent_started":t.parent_session_id&&t.child_session_id&&((j=n.onSubAgentStarted)==null||j.call(n,t.parent_session_id,t.child_session_id,t.title));break;case"sub_agent_event":t.parent_session_id&&t.child_session_id&&t.event&&((C=n.onSubAgentEvent)==null||C.call(n,t.parent_session_id,t.child_session_id,t.event));break;case"sub_agent_heartbeat":t.parent_session_id&&t.child_session_id&&t.timestamp&&((E=n.onSubAgentHeartbeat)==null||E.call(n,t.parent_session_id,t.child_session_id,t.timestamp));break;case"sub_agent_completed":t.parent_session_id&&t.child_session_id&&((A=n.onSubAgentCompleted)==null||A.call(n,t.parent_session_id,t.child_session_id,typeof t.status=="string"?t.status:"completed",t.error));break;case"execution_started":(O=n.onExecutionStarted)==null||O.call(n,t.run_id||"",t.started_at);break;case"runner_progress":t.session_id&&typeof t.round_count=="number"&&((D=n.onRunnerProgress)==null||D.call(n,t.session_id,t.round_count));break;case"need_clarification":(F=n.onNeedClarification)==null||F.call(n,t);break;case"session_title_updated":t.session_id&&typeof t.title=="string"&&typeof t.title_version=="number"&&(t.source==="auto"||t.source==="manual"||t.source==="fallback")&&typeof t.updated_at=="string"&&((N=n.onSessionTitleUpdated)==null||N.call(n,{type:"session_title_updated",session_id:t.session_id,title:t.title,title_version:t.title_version,source:t.source,updated_at:t.updated_at}));break;case"session_pinned_updated":t.session_id&&typeof t.pinned=="boolean"&&typeof t.updated_at=="string"&&((q=n.onSessionPinnedUpdated)==null||q.call(n,{type:"session_pinned_updated",session_id:t.session_id,pinned:t.pinned,updated_at:t.updated_at}));break;case"plan_mode_entered":(I=n.onPlanModeEntered)==null||I.call(n,t);break;case"plan_mode_exited":(Q=n.onPlanModeExited)==null||Q.call(n,t);break;case"plan_file_updated":(G=n.onPlanFileUpdated)==null||G.call(n,t);break;case"complete":Ee("[AgentClient]","events.dispatch.complete",va(t)),(Z=n.onComplete)==null||Z.call(n,t.usage);break;case"cancelled":Ee("[AgentClient]","events.dispatch.cancelled",va(t)),(pe=n.onCancelled)==null||pe.call(n,t.message);break;case"error":Ee("[AgentClient]","events.dispatch.error",va(t)),($=n.onError)==null||$.call(n,t.message||t.error||"Unknown error");break;default:console.warn("Unknown event type:",t)}}async stopGeneration(t){await St.post(`stop/${t}`)}async deleteSession(t){const n=encodeURIComponent(t);await St.delete(`sessions/${n}`)}async getHistory(t){Ee("[AgentClient]","history.request",{sessionId:t});const n=await St.get(`history/${t}`);return Ee("[AgentClient]","history.response",Yx(n)),n}async healthCheck(){try{return await St.get("health"),!0}catch{return!1}}};Mt(is,"instance");let Jn=is;const Ys=Jn.getInstance(),Lf="provider",Ei=Hr(e=>({isOpen:!1,origin:"chat",activeTabKey:Lf,open:(t,n=Lf)=>e({isOpen:!0,origin:t,activeTabKey:n}),close:()=>e({isOpen:!1}),setActiveTabKey:t=>e({activeTabKey:t})})),Ff={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Di=new Map,Sa=e=>{const t=Di.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,r])=>[n,r.getState()])):{}},Vx=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};const r=Di.get(n.name);if(r)return{type:"tracked",store:e,...r};const s={connection:t.connect(n),stores:{}};return Di.set(n.name,s),{type:"tracked",store:e,...s}},Gx=(e,t)=>{if(t===void 0)return;const n=Di.get(e);n&&(delete n.stores[t],Object.keys(n.stores).length===0&&Di.delete(e))},Jx=e=>{var t,n;if(!e)return;const r=e.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-D3BCKROz.js","./vendor-markdown-DZuK0SxV.js","./vendor-i18n-BNURlJ23.js","./vendor-antd-C8lKwvI6.js","./vendor-mermaid-C1Gk9PtT.js","./main-C-I4C72U.js","./main-B6snAd4S.css","./index-Bcpx4-c6.js","./index-C5hCIJZL.js","./index-Bi-vGirQ.css","./index-DtQ-9WIb.js","./index-BBEDlZ5R.js","./index-BmjFP0ha.js","./core-Cfh-QHsP.js","./index-_XI0Qq6F.js","./vendor-pdf-DB-djSmA.js","./index-CJsySE-8.js","./index-DNsNCcgt.css","./index-CSZOcCBg.js","./index-B6OABT-M.css","./index-BrDrSRJg.js","./MetricsService-C8JKUh8i.js","./index-D9ODTr93.css","./index-B1RhqvS7.js","./SubAgentsPanel-BtrjPQrW.js","./index-Btfph2VJ.js","./index-AIUPRSCn.css","./index-QAoCDEtf.js","./onboardingStorage-BVcEpmTy.js","./vendor-charts-bhMup2Pu.js","./index-Cgz3GQNf.js","./index-CLYKYSO0.css","./FeatureGuide-BlFyQEho.js"])))=>i.map(i=>d[i]);
2
+ var yS=Object.defineProperty;var bS=(e,t,n)=>t in e?yS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Mt=(e,t,n)=>bS(e,typeof t!="symbol"?t+"":t,n);import{j as a,M as vr,S as dn,a as ng,t as rg,p as sg,b as vS,c as Ju,d as SS,m as og,s as xS,y as ig,e as ag,h as al,f as Qu,r as Zu,g as ed,i as lg}from"./vendor-markdown-DZuK0SxV.js";import{a as y,u as Ge,R as ht,i as xt,c as wS,g as vs}from"./vendor-i18n-BNURlJ23.js";import{_ as Jt,cq as td}from"./vendor-mermaid-C1Gk9PtT.js";import{t as ut,o as kf,p as _S,Q as kS,as as ms,aY as cg,aZ as CS,V as Cl,E as je,ap as TS,G as Ss,ak as Ks,a_ as PS,L as Cr,X as xs,a$ as ug,H as nu,S as Ue,F as Me,u as gs,q as Wr,O as nd,Y as Tl,n as xn,b0 as MS,b1 as ES,j as ft,M as Fn,W as Ha,a0 as jS,a4 as ru,b2 as RS,b3 as Pl,b4 as dg,J as rd,b5 as su,b6 as Vs,b7 as AS,b8 as IS,D as ll,k as OS,y as fg,b9 as $S,ba as LS,K as Gs,aj as FS,l as Je,a2 as DS,v as hg,A as ir,C as nn,bb as Ml,bc as pg,ao as NS,ac as BS,w as sd,aE as mg,bd as zS,be as WS,bf as US,bg as qS,z as Js,bh as HS,bi as YS,ah as od,ai as Tr,at as cl,aD as eo,bj as XS,bk as gg,bl as yg,ad as id,a7 as KS,m as El,a9 as Cf,aA as VS,I as Tf,P as bg,aS as vg,aK as GS,av as JS,af as QS,bm as ZS,bn as ex,ar as tx,aF as nx,bo as rx,bp as sx,bq as ox,br as ix,B as ax,aW as Ws,bs as Sg,bt as lx,bu as xg,a5 as ad,bv as cx,bw as ux,$ as dx,bx as Pf,by as Mf}from"./vendor-antd-C8lKwvI6.js";import{r as fx,A as hx,a as px}from"./main-C-I4C72U.js";function wg(e){const[t,n]=y.useState(()=>typeof window<"u"?window.matchMedia(e).matches:!1);return y.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia(e);n(r.matches);const s=o=>{n(o.matches)};return r.addEventListener?r.addEventListener("change",s):r.addListener(s),()=>{r.removeEventListener?r.removeEventListener("change",s):r.removeListener(s)}},[e]),t}function jl(){return wg("(max-width: 768px)")}const mx=({chat:e,isSelected:t,compact:n=!1,onSelect:r,onDelete:s,onPin:o,onUnpin:i,onEdit:l,onGenerateTitle:u,onRunProjectDream:d,isGeneratingTitle:h,isRunningProjectDream:m,titleGenerationError:b})=>{const{t:v}=Ge(),[w,S]=y.useState(!1),[k,P]=y.useState(e.title),[T,j]=y.useState(!1),[C,E]=y.useState(!1),{token:A}=ut.useToken(),O=y.useCallback(G=>{G.stopPropagation(),l&&k.trim()&&l(e.id,k.trim()),S(!1)},[e.id,k,l]),D=y.useCallback(G=>{G.stopPropagation(),P(e.title),S(!1)},[e.title]),F=[{key:"pin",icon:e.pinned?a.jsx(kf,{style:{color:A.colorWarning}}):a.jsx(_S,{}),label:e.pinned?v("chat.actions.unpin"):v("chat.actions.pin"),onClick:({domEvent:G})=>{G.stopPropagation(),e.pinned?i(e.id):o(e.id)}},{key:"edit",icon:a.jsx(kS,{}),label:v("chat.chatItem.edit"),onClick:({domEvent:G})=>{G.stopPropagation(),S(!0)}},...u?[{key:"generate-title",icon:h?a.jsx(ms,{}):a.jsx(cg,{style:b?{color:A.colorError}:void 0}),label:b||v("chat.actions.generateTitle"),disabled:h,onClick:({domEvent:G})=>{G.stopPropagation(),u(e.id)}}]:[],...d?[{key:"run-project-dream",icon:m?a.jsx(ms,{}):a.jsx(CS,{}),label:v("chat.actions.runProjectDream"),disabled:m,onClick:({domEvent:G})=>{G.stopPropagation(),d(e.id)}}]:[],{type:"divider"},{key:"delete",icon:a.jsx(Cl,{}),label:v("common.delete"),danger:!0,onClick:({domEvent:G})=>{G.stopPropagation(),s(e.id)}}],N={padding:n?"4px 8px":"5px 8px",borderRadius:A.borderRadiusSM,marginBottom:0,cursor:"pointer",transition:"background-color 0.2s ease, box-shadow 0.2s ease",backgroundColor:t?"var(--lotus-primary-soft)":T||C?"var(--lotus-item-hover-bg)":"transparent",border:"1px solid transparent",borderColor:"transparent",position:"relative",overflow:"visible",boxShadow:t?`inset 2px 0 0 ${A.colorPrimary}`:"none",minHeight:n?28:30},q={flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:n?12:12.5,lineHeight:1.3,fontWeight:t?600:500,color:t?"var(--lotus-primary)":A.colorText},I={flex:1,fontSize:A.fontSizeSM,marginRight:A.marginSM},Q=w?[a.jsx(je,{type:"text",size:"small",icon:a.jsx(TS,{style:{color:A.colorSuccess}}),onClick:O,"aria-label":v("common.save")},"save"),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Ss,{style:{color:A.colorError}}),onClick:D,"aria-label":v("common.cancel")},"cancel")]:T||C?[a.jsx(Ks,{menu:{items:F,className:"lotus-sidebar-actions-menu"},trigger:["click"],placement:"bottomRight",overlayClassName:"lotus-sidebar-actions-dropdown",open:C,onOpenChange:G=>E(G),children:a.jsx(je,{type:"text",size:"small",icon:a.jsx(PS,{}),"aria-label":v("common.moreActions","More actions"),onClick:G=>G.stopPropagation(),style:{color:A.colorTextSecondary,borderRadius:A.borderRadiusSM,background:"transparent",width:n?16:18,height:n?16:18,display:"flex",alignItems:"center",justifyContent:"center"}})},"more")]:[];return a.jsx(Cr.Item,{style:N,tabIndex:0,onClick:()=>!w&&r(e.id),onKeyDown:G=>{G.key==="Enter"&&!w?(G.preventDefault(),r(e.id)):(G.key==="Delete"||G.key==="Backspace")&&!w&&G.metaKey&&(G.preventDefault(),s(e.id))},onMouseEnter:()=>j(!0),onMouseLeave:()=>{C||j(!1)},onFocus:()=>j(!0),onBlur:()=>{C||j(!1)},actions:Q,"data-testid":"chat-item",role:"option","aria-selected":t,"aria-label":e.title||v("chat.sidebar.untitledChat"),children:a.jsx("div",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center"},children:w?a.jsx(xs,{value:k,onChange:G=>P(G.target.value),onClick:G=>G.stopPropagation(),onPressEnter:G=>{G.preventDefault(),O(G)},autoFocus:!0,style:I,variant:"borderless",size:"small"}):a.jsxs("div",{style:{...q,display:"flex",alignItems:"center",gap:n?4:A.marginXS,minWidth:0},children:[e.pinned&&a.jsx(kf,{style:{color:A.colorWarning,fontSize:11,flexShrink:0}}),a.jsx("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),e.kind==="child"?a.jsx("span",{style:{color:A.colorInfo,fontSize:n?10:11,lineHeight:1.2,flexShrink:0,whiteSpace:"nowrap"},children:v("chat.chatItem.childTag")}):null,e.planMode?a.jsxs("span",{style:{color:"#722ed1",fontSize:n?10:11,lineHeight:1.2,flexShrink:0,whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",gap:3},children:[a.jsx(ug,{}),v("chat.planMode.badge","Plan")]}):null]})})})},gx=(e,t)=>e.chat.id===t.chat.id&&e.chat.title===t.chat.title&&e.chat.pinned===t.chat.pinned&&e.chat.planMode===t.chat.planMode&&e.isSelected===t.isSelected&&e.compact===t.compact&&e.isGeneratingTitle===t.isGeneratingTitle&&e.isRunningProjectDream===t.isRunningProjectDream&&e.titleGenerationError===t.titleGenerationError,ou=y.memo(mx,gx);ou.displayName="ChatItem";const Ef=e=>({Today:0,Yesterday:1,"This Week":2,"This Month":3})[e]??4,yx=e=>{const t={},n=e.filter(s=>s.pinned);n.length>0&&(t.Pinned=n.sort((s,o)=>o.createdAt-s.createdAt));const r=e.filter(s=>!s.pinned&&!!s.createdByScheduleId);return r.length>0&&(t.Scheduled=r.sort((s,o)=>o.createdAt-s.createdAt)),e.filter(s=>!s.pinned&&!s.createdByScheduleId).forEach(s=>{const i=new Date(s.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"});t[i]||(t[i]=[]),t[i].push(s)}),Object.keys(t).forEach(s=>{t[s].sort((o,i)=>i.createdAt-o.createdAt)}),t},bx=e=>{const t=n=>Array.isArray(n)?n.reduce((r,s)=>Math.max(r,s.createdAt),0):Object.values(n).reduce((r,s)=>{const o=s.reduce((i,l)=>Math.max(i,l.createdAt),0);return Math.max(r,o)},0);return Object.keys(e).sort((n,r)=>{if(n==="Pinned")return-1;if(r==="Pinned")return 1;if(n==="Scheduled")return-1;if(r==="Scheduled")return 1;const s=e[n],o=e[r];if(!s||!o)return 0;const i=t(s),l=t(o);return i!==l?l-i:Ef(n)-Ef(r)})},vx=(e,t)=>e[t]?e[t].map(n=>n.id):[],_g=(e,t)=>e[t]?e[t].length:0,Sx=e=>e.createdByScheduleId?"Scheduled":new Date(e.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),jf=(e,t)=>{const r={Today:"chat.sidebar.dateGroups.today",Yesterday:"chat.sidebar.dateGroups.yesterday","This Week":"chat.sidebar.dateGroups.thisWeek","This Month":"chat.sidebar.dateGroups.thisMonth",Pinned:"chat.sidebar.dateGroups.pinned",Scheduled:"chat.sidebar.dateGroups.scheduled"}[e];return r?t(r):e},xx=({groupedChatsByDate:e,childrenByRoot:t,expandedRootIds:n,onToggleRootExpanded:r,sortedDateKeys:s,expandedKeys:o,onCollapseChange:i,currentSessionId:l,onSelectChat:u,onDeleteChat:d,onDeleteByDate:h,onPinChat:m,onUnpinChat:b,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:S,titleGenerationState:k,projectDreamState:P,token:T,hasActiveFilters:j})=>{const{t:C}=Ge(),E=y.useMemo(()=>s.length?s.map(O=>{const D=e[O],F=_g(e,O);return{dateKey:O,dateGroup:D,totalChatsInDate:F}}):[],[e,s]);if(!s.length)return a.jsx(nu,{image:nu.PRESENTED_IMAGE_SIMPLE,description:a.jsxs(Ue,{direction:"vertical",size:4,align:"center",children:[a.jsx("span",{style:{color:T.colorTextSecondary},children:j?C("chat.sidebar.empty.noMatches","No matching sessions"):C("chat.sidebar.empty.noSessions")}),a.jsx("span",{style:{color:T.colorTextSecondary,fontSize:12},children:j?C("chat.sidebar.empty.filterHint","Try adjusting your search or filters"):C("chat.sidebar.empty.hint")}),j&&a.jsx(je,{size:"small",type:"link",onClick:()=>{var D;const O=document.querySelector('[data-testid="sidebar-search-input"] input, .lotus-sidebar-search input');if(O){const F=(D=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:D.set;F==null||F.call(O,""),O.dispatchEvent(new Event("input",{bubbles:!0}))}},children:C("chat.sidebar.empty.clearFilters","Clear filters")})]})});const A=new Set(o);return a.jsx("div",{style:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:E.map(({dateKey:O,dateGroup:D,totalChatsInDate:F})=>{const N=A.has(O);return a.jsxs("div",{style:{borderRadius:T.borderRadiusSM,background:"transparent",padding:0},children:[a.jsxs(Me,{align:"center",justify:"space-between",style:{cursor:"pointer",padding:"4px 8px",borderRadius:T.borderRadiusSM,transition:"background-color 0.2s ease, color 0.2s ease",border:"1px solid transparent"},role:"button",tabIndex:0,"aria-expanded":N,"aria-label":`${jf(O,C)} (${F})`,onKeyDown:q=>{if(q.key==="Enter"||q.key===" "){q.preventDefault();const I=new Set(A);I.has(O)?I.delete(O):I.add(O),i(Array.from(I))}},onMouseEnter:q=>{q.currentTarget.style.background="var(--lotus-sidebar-item-hover-bg, rgba(204, 251, 241, 0.76))",q.currentTarget.style.borderColor="transparent";const I=q.currentTarget.querySelector(".chat-sidebar-date-group-delete");I&&(I.style.opacity="1")},onMouseLeave:q=>{q.currentTarget.style.background="transparent",q.currentTarget.style.borderColor="transparent";const I=q.currentTarget.querySelector(".chat-sidebar-date-group-delete");I&&(I.style.opacity="0")},onClick:()=>{const q=new Set(A);q.has(O)?q.delete(O):q.add(O),i(Array.from(q))},className:"chat-sidebar-date-group-header",children:[a.jsxs(Me,{align:"center",gap:"small",style:{minWidth:0},children:[N?a.jsx(gs,{style:{fontSize:12,opacity:.6}}):a.jsx(Wr,{style:{fontSize:12,opacity:.6}}),a.jsxs("span",{style:{fontSize:10.5,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.3px",color:O==="Today"?"var(--lotus-primary)":T.colorTextSecondary,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[jf(O,C)," (",F,")"]})]}),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Cl,{}),className:"chat-sidebar-date-group-delete",style:{color:T.colorTextTertiary,opacity:0,transition:"opacity 0.2s ease"},onClick:q=>{q.stopPropagation(),h(O)}})]}),N?a.jsx("div",{style:{marginTop:2},children:a.jsx(Cr,{itemLayout:"horizontal",dataSource:D,split:!1,renderItem:q=>{var I,Q,G,Z,pe,$;return a.jsxs("div",{children:[a.jsxs(Me,{align:"center",gap:6,style:{padding:"4px 8px"},children:[(I=t[q.id])!=null&&I.length?a.jsx(je,{size:"small",type:"text",style:{padding:0,width:18,minWidth:18,height:18},"aria-label":n.has(q.id)?C("chat.sidebar.actions.collapseChildren"):C("chat.sidebar.actions.expandChildren"),onClick:oe=>{oe.preventDefault(),oe.stopPropagation(),r(q.id)},children:n.has(q.id)?a.jsx(gs,{style:{fontSize:12}}):a.jsx(Wr,{style:{fontSize:12}})}):a.jsx("div",{style:{width:18}}),a.jsx("div",{style:{flex:1,minWidth:0,marginLeft:-8},children:a.jsx(ou,{chat:q,compact:!0,isSelected:q.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((Q=k[q.id])==null?void 0:Q.status)==="loading",isRunningProjectDream:((G=P[q.id])==null?void 0:G.status)==="loading",titleGenerationError:((Z=k[q.id])==null?void 0:Z.status)==="error"?(pe=k[q.id])==null?void 0:pe.error:void 0})})]}),n.has(q.id)&&((($=t[q.id])==null?void 0:$.length)??0)>0?a.jsx("div",{style:{marginLeft:18,marginTop:1},children:a.jsx(Cr,{itemLayout:"horizontal",dataSource:t[q.id],split:!1,renderItem:oe=>{var me,ne,he,fe;return a.jsx("div",{style:{paddingLeft:8,borderLeft:`1px solid ${T.colorBorderSecondary}`,marginLeft:2},children:a.jsx(ou,{chat:oe,compact:!0,isSelected:oe.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((me=k[oe.id])==null?void 0:me.status)==="loading",isRunningProjectDream:((ne=P[oe.id])==null?void 0:ne.status)==="loading",titleGenerationError:((he=k[oe.id])==null?void 0:he.status)==="error"?(fe=k[oe.id])==null?void 0:fe.error:void 0})},oe.id)}})}):null]},q.id)}})}):null]},O)})})},Rf=e=>{let t;const n=new Set,r=(d,h)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const b=t;t=h??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(v=>v(t,b))}},s=()=>t,l={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,s,l);return l},wx=e=>e?Rf(e):Rf,_x=e=>e;function kx(e,t=_x){const n=ht.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return ht.useDebugValue(n),n}const Af=e=>{const t=wx(e),n=r=>kx(t,r);return Object.assign(n,t),n},Hr=e=>e?Af(e):Af,Cx="copilot_ui_theme_v1";function Tx(){var e;try{const t=localStorage.getItem(Cx);if(t==="light"||t==="dark")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const ul=Hr(e=>({themeMode:Tx(),setThemeMode:t=>e({themeMode:t}),toggleTheme:()=>e(t=>({themeMode:t.themeMode==="dark"?"light":"dark"}))})),Px="2026.5.16",Mx={version:Px},Ex=Mx.version,{Text:jx}=ft,Rx=({collapsed:e,onNewChat:t,onOpenSettings:n,token:r})=>{const{t:s}=Ge(),o=ul(h=>h.themeMode),i=ul(h=>h.toggleTheme),l=s("chat.sidebar.newSession"),u=s("settings.page.title"),d=o==="dark"?s("settings.app.lightMode","Light mode"):s("settings.app.darkMode","Dark mode");return a.jsxs(Me,{vertical:!0,gap:e?"small":10,style:{padding:e?10:12,background:"transparent",borderTop:`1px solid ${r.colorBorderSecondary}`},children:[a.jsx(je,{"data-testid":"new-chat","data-tour-id":"new-session",type:"primary",icon:a.jsx(nd,{}),onClick:t,block:!e,shape:"default",size:"small",title:l,"aria-label":l,className:"lotus-primary-cta",style:{...e?{width:"40px",height:"40px",margin:"0 auto"}:{},borderRadius:r.borderRadiusLG,minHeight:e?40:38,fontWeight:600},children:!e&&l}),a.jsxs(Me,{gap:6,align:"center",children:[a.jsx(je,{"data-testid":"open-settings","data-tour-id":"open-settings",icon:a.jsx(Tl,{}),onClick:n,block:!e,shape:"default",size:"small",title:u,"aria-label":u,className:"lotus-secondary-button",style:{...e?{width:"40px",height:"40px",margin:"0 auto"}:{},borderRadius:r.borderRadiusLG,minHeight:e?40:36,flex:e?void 0:1},children:!e&&u}),!e&&a.jsx(xn,{title:d,placement:"top",children:a.jsx(je,{"data-testid":"toggle-theme",type:"text",icon:o==="dark"?a.jsx(MS,{}):a.jsx(ES,{}),onClick:i,"aria-label":d,className:"lotus-toolbar-icon",style:{width:36,height:36,borderRadius:r.borderRadiusLG,flexShrink:0}})})]}),!e&&a.jsxs(jx,{type:"secondary","data-testid":"app-version-badge",style:{fontSize:11,textAlign:"center",userSelect:"text"},children:[s("settings.appTab.runningVersion","Running version"),": v",Ex]})]})},If=e=>Symbol.iterator in e,Of=e=>"entries"in e,$f=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[s,o]of n)if(!Object.is(o,r.get(s)))return!1;return!0},Ax=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let s=n.next(),o=r.next();for(;!s.done&&!o.done;){if(!Object.is(s.value,o.value))return!1;s=n.next(),o=r.next()}return!!s.done&&!!o.done};function Ix(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:If(e)&&If(t)?Of(e)&&Of(t)?$f(e,t):Ax(e,t):$f({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Mi(e){const t=ht.useRef(void 0);return n=>{const r=e(n);return Ix(t.current,r)?t.current:t.current=r}}const kg=()=>!1,Cg=e=>{if(!kg())return!1;try{return localStorage.getItem(e)==="1"}catch{return!1}},Ox=()=>Cg("bodhi_debug_ui_layout"),Xn=(e,t)=>{Ox()&&console.log(`[ui-layout] ${e}`,t??"")},Ee=(e,t,...n)=>{kg()&&Cg("bodhi_debug_verbose")&&console.log(`${e} ${t}`,...n)};var pc={};const mc="copilot_backend_base_url",Tg="http://127.0.0.1:9562/v1",$x=9562,ys=e=>e.trim().replace(/\/+$/,""),Lx=()=>{const t=pc==null?void 0:pc.VITE_BACKEND_BASE_URL;return t?ys(t):null},Ki=()=>{const e=globalThis.location;if(!e)return null;const t=typeof e.protocol=="string"?e.protocol:"",n=typeof e.hostname=="string"?e.hostname:"";return!t||!n?null:{protocol:t,hostname:n}},ld=e=>{const t=e.trim().toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"},Fx=(e=Ki())=>(e==null?void 0:e.protocol.toLowerCase())==="https:",Dx=e=>{try{return new URL(ys(e)).protocol.toLowerCase()==="http:"}catch{return!1}},Nx=e=>{try{const t=new URL(ys(e));return ld(t.hostname)}catch{return!1}},Bx=(e=Ki())=>{if(!e)return null;const t=e.protocol.toLowerCase(),n=e.hostname.trim();return n?t==="https:"?ys(`https://${n}/v1`):t==="http:"?ys(`http://${n}/v1`):null:null},zx=(e,t=Ki())=>{if(!t)return!1;const n=t.hostname.trim();return n?Fx(t)&&Dx(e)?!0:ld(n)?!1:Nx(e):!1},Wx=(e=Ki())=>{if(!e)return null;const t=e.protocol.toLowerCase();if(t!=="http:"&&t!=="https:")return null;const n=e.hostname.trim();return n?t==="https:"?Bx(e):ld(n)?Tg:ys(`http://${n}:${$x}/v1`):null},Ux=()=>{const e=Lx();return e||(Wx()??Tg)},ws=()=>{const e=Ki(),t=localStorage.getItem(mc);if(t){const n=ys(t);if(zx(n,e))console.warn("Ignoring stored backend override because it is incompatible with the current page origin:",n),localStorage.removeItem(mc);else try{return new URL(n),n}catch{console.warn("Invalid stored backend URL, using default:",n),localStorage.removeItem(mc)}}return Ux()};class Fi extends Error{constructor(t,n,r,s){super(t),this.status=n,this.statusText=r,this.body=s,this.name="ApiError"}}function aI(e){return e instanceof Fi}class cd{constructor(t={}){Mt(this,"baseUrl");Mt(this,"defaultHeaders");this.baseUrl=t.baseUrl??this.resolveBaseUrl(),this.defaultHeaders=t.defaultHeaders??{"Content-Type":"application/json"}}resolveBaseUrl(){const t=ws().trim().replace(/\/+$/,"");return t.endsWith("/v1")?t:`${t}/v1`}buildUrl(t){const n=t.replace(/^\/+/,"");return`${this.baseUrl}/${n}`}async handleResponse(t){var r,s,o;if(!t.ok){const i=await t.text().catch(()=>{});let l=t.statusText;if(i)try{const u=JSON.parse(i),d=typeof(u==null?void 0:u.error)=="object"?(r=u.error)==null?void 0:r.message:void 0;l=(typeof(u==null?void 0:u.error)=="string"?u.error:void 0)||(typeof d=="string"?d:void 0)||u.message||u.detail||t.statusText}catch{l=i||t.statusText}throw new Fi(l,t.status,t.statusText,i)}return t.status===204?void 0:(((o=(s=t.headers)==null?void 0:s.get)==null?void 0:o.call(s,"content-type"))||"").includes("application/json")?t.json():typeof t.text=="function"?await t.text():t.json()}delay(t){return new Promise(n=>setTimeout(n,t))}async fetchWithRetry(t,n,r=3){let s=null;for(let o=0;o<r;o++)try{const i=await fetch(t,n);if(i.status>=500&&o<r-1){const l=1e3*Math.pow(2,o);console.warn(`Request failed with ${i.status}, retrying in ${l}ms (attempt ${o+1}/${r})`),await this.delay(l);continue}return i}catch(i){if(s=i,o<r-1){const l=1e3*Math.pow(2,o);console.warn(`Network error: ${s.message}, retrying in ${l}ms (attempt ${o+1}/${r})`),await this.delay(l)}}throw s||new Error("Max retries exceeded")}async get(t,n){const r=this.buildUrl(t),s=new AbortController,o=setTimeout(()=>s.abort(),3e4);try{const i=await this.fetchWithRetry(r,{...n,method:"GET",headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include",signal:s.signal},3);return this.handleResponse(i)}finally{clearTimeout(o)}}async post(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"POST",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async put(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"PUT",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async patch(t,n,r){const s=this.buildUrl(t),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:"PATCH",headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",body:n?JSON.stringify(n):void 0,signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async delete(t,n){const r=this.buildUrl(t),s=new AbortController,o=setTimeout(()=>s.abort(),3e4);try{const i=await this.fetchWithRetry(r,{...n,method:"DELETE",headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include",signal:s.signal},3);return this.handleResponse(i)}finally{clearTimeout(o)}}async request(t,n,r){const s=this.buildUrl(n),o=new AbortController,i=setTimeout(()=>o.abort(),3e4);try{const l=await this.fetchWithRetry(s,{...r,method:t,headers:{...this.defaultHeaders,...r==null?void 0:r.headers},credentials:"include",signal:o.signal},3);return this.handleResponse(l)}finally{clearTimeout(i)}}async fetchRaw(t,n){const r=this.buildUrl(t),s=await fetch(r,{...n,headers:{...this.defaultHeaders,...n==null?void 0:n.headers},credentials:"include"});if(!s.ok)throw new Fi(`API request failed: ${s.statusText}`,s.status,s.statusText);return s}}const rt=new cd,St=new cd({baseUrl:(()=>{let e=ws().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`})()}),qx=e=>e?{client_message_count:e.client_message_count,client_last_message_id:e.client_last_message_id??null,client_has_pending_question:e.client_has_pending_question,client_pending_question_tool_call_id:e.client_pending_question_tool_call_id??null}:null,Hx=e=>e?{need_sync:e.need_sync,reason:e.reason??null,server_message_count:e.server_message_count,server_last_message_id:e.server_last_message_id??null,has_pending_question:e.has_pending_question,pending_question_tool_call_id:e.pending_question_tool_call_id??null,has_pending_user_message:e.has_pending_user_message}:null,Yx=e=>{var n;const t=e.messages[e.messages.length-1];return{session_id:e.session_id,messageCount:e.messages.length,lastMessageId:(t==null?void 0:t.id)??null,lastRole:(t==null?void 0:t.role)??null,compressionEvents:((n=e.compression_events)==null?void 0:n.length)??0}},Xx=e=>({count:e.length,runningCount:e.filter(t=>t.is_running).length,sessions:e.slice(0,10).map(t=>({id:t.id,is_running:t.is_running,last_run_status:t.last_run_status??null,message_count:t.message_count,has_pending_question:t.has_pending_question??!1,running_child_count:t.running_child_count??0,updated_at:t.updated_at}))}),Kx=e=>({count:e.sessions.length,sessions:e.sessions.map(t=>({session_id:t.session_id,run_id:t.run_id,round_count:t.round_count,last_event_at:t.last_event_at??null,last_tool_name:t.last_tool_name??null,last_tool_phase:t.last_tool_phase??null,criticalEventCount:t.last_critical_events.length,runningChildCount:t.running_child_session_ids.length}))}),va=e=>({type:e.type,session_id:e.session_id??null,run_id:e.run_id??null,round_count:e.round_count??null,message:e.message??null,error:e.error??null,tool_call_id:e.tool_call_id??null}),is=class is{static getInstance(){return is.instance||(is.instance=new is),is.instance}async sendMessage(t){var r,s,o;Ee("[AgentClient]","chat.request",{sessionId:t.session_id??null,model:t.model,modelRef:t.model_ref??null,provider:t.provider??null,messageLength:t.message.length,hasImages:(((r=t.images)==null?void 0:r.length)??0)>0,imageCount:((s=t.images)==null?void 0:s.length)??0,selectedSkillCount:((o=t.selected_skill_ids)==null?void 0:o.length)??0,workspacePath:t.workspace_path??null});const n=await St.post("chat",t);return Ee("[AgentClient]","chat.response",{requestedSessionId:t.session_id??null,sessionId:n.session_id,status:n.status}),n}async execute(t,n,r,s,o){const i={};n&&(i.model=n),r&&(i.reasoning_effort=r),s&&(i.client_sync=s),o&&(i.model_ref=o,i.provider=o.provider),Ee("[AgentClient]","execute.request",{sessionId:t,model:i.model??null,reasoningEffort:i.reasoning_effort??null,modelRef:i.model_ref??null,provider:i.provider??null,clientSync:qx(i.client_sync)});const l=await St.post(`execute/${t}`,i);return Ee("[AgentClient]","execute.response",{sessionId:t,status:l.status,runId:l.run_id??null,eventsUrl:l.events_url,sync:Hx(l.sync)}),l}async listSessions(){Ee("[AgentClient]","sessions.list.request",{});const t=await St.get("sessions");return Ee("[AgentClient]","sessions.list.response",Xx(t.sessions)),t}async getTaskList(t){const n=encodeURIComponent(t),r=await St.get(`task/${n}`);if(!(typeof r.title=="string"||r.items.length>0))return null;const o=new Date().toISOString();return{session_id:r.session_id,title:r.title??"Task List",items:r.items,created_at:o,updated_at:o}}async createSession(t){return St.post("sessions",t)}async patchSession(t,n){const r=encodeURIComponent(t);await St.patch(`sessions/${r}`,n)}async regenerateSessionTitle(t){const n=encodeURIComponent(t);await St.post(`sessions/${n}/regenerate-title`)}async getSessionSystemPrompt(t){const n=encodeURIComponent(t);return St.get(`sessions/${n}/system-prompt`)}async clearSession(t){const n=encodeURIComponent(t);await St.post(`sessions/${n}/clear`)}async runProjectDream(t){const n=encodeURIComponent(t);return St.post(`sessions/${n}/project-dream/run`)}async truncateSessionMessages(t,n){const r=encodeURIComponent(t);return St.post(`sessions/${r}/messages/truncate`,n)}async restoreSessionState(t,n){const r=encodeURIComponent(t);return St.post(`sessions/${r}/restore`,n)}async patchSessionMessage(t,n,r){const s=encodeURIComponent(t),o=encodeURIComponent(n);await St.patch(`sessions/${s}/messages/${o}`,r)}async deleteSessionMessage(t,n){const r=encodeURIComponent(t),s=encodeURIComponent(n);await St.delete(`sessions/${r}/messages/${s}`)}async cleanupSessions(t,n){await St.post("sessions/cleanup",{mode:t,keep_pinned:n})}async devResetSessions(){await St.post("dev/reset")}async getRunningSessions(){Ee("[AgentClient]","runs.active.request",{});const t=await St.get("runs/active");return Ee("[AgentClient]","runs.active.response",Kx(t)),t}async listSchedules(){return St.get("schedules")}async createSchedule(t){return St.post("schedules",t)}async patchSchedule(t,n){const r=encodeURIComponent(t);return St.patch(`schedules/${r}`,n)}async deleteSchedule(t){const n=encodeURIComponent(t);await St.delete(`schedules/${n}`)}async runScheduleNow(t){const n=encodeURIComponent(t);await St.post(`schedules/${n}/run`)}async listScheduleSessions(t){const n=encodeURIComponent(t);return St.get(`schedules/${n}/sessions`)}async listScheduleRuns(t){const n=encodeURIComponent(t);return St.get(`schedules/${n}/runs`)}async subscribeToEvents(t,n,r){const s=r==null?void 0:r.signal;Ee("[AgentClient]","events.subscribe.request",{sessionId:t});const o=ws().trim().replace(/\/+$/,""),l=`${o.endsWith("/v1")?o.slice(0,-3):o}/api/v1/events/${encodeURIComponent(t)}`;return Ee("[AgentClient]","events.subscribe.url",{sessionId:t,eventsUrl:l}),await new Promise((u,d)=>{if(s!=null&&s.aborted){Ee("[AgentClient]","events.subscribe.aborted_before_connect",{sessionId:t}),u();return}let h=!1,m=!1,b=null;const v=()=>{Ee("[AgentClient]","events.subscribe.abort",{sessionId:t,terminalSeen:m}),S()},w=()=>{b&&(b.close(),b=null),s==null||s.removeEventListener("abort",v)},S=()=>{h||(h=!0,Ee("[AgentClient]","events.subscribe.resolve",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),w(),u())},k=P=>{h||(h=!0,Ee("[AgentClient]","events.subscribe.reject",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1,error:P}),w(),d(P))};s==null||s.addEventListener("abort",v,{once:!0});try{b=new EventSource(l,{withCredentials:!0})}catch(P){k(P);return}b.onopen=()=>{Ee("[AgentClient]","events.subscribe.open",{sessionId:t})},b.onmessage=P=>{const T=P.data;if(T==="[DONE]"){m=!0,Ee("[AgentClient]","events.subscribe.done",{sessionId:t}),S();return}if(T!=="[KEEPALIVE]")try{const j=JSON.parse(T);(j.type==="execution_started"||j.type==="complete"||j.type==="cancelled"||j.type==="error"||j.type==="runner_progress"||j.type==="need_clarification")&&Ee("[AgentClient]","events.subscribe.event",{sessionId:t,...va(j)}),this.handleEvent(j,n),(j.type==="complete"||j.type==="cancelled"||j.type==="error")&&(m=!0)}catch(j){console.warn("Failed to parse event:",T,j)}},b.onerror=()=>{if(Ee("[AgentClient]","events.subscribe.error",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),s!=null&&s.aborted||m){S();return}k(new Error(`EventSource connection failed for session ${t}`))}})}handleEvent(t,n){var r,s,o,i,l,u,d,h,m,b,v,w,S,k,P,T,j,C,E,A,O,D,F,N,q,I,Q,G,Z,pe,$;switch(t.type){case"token":(r=n.onToken)==null||r.call(n,t.content||"");break;case"reasoning_token":(s=n.onReasoningToken)==null||s.call(n,t.content||"");break;case"tool_token":(o=n.onToolToken)==null||o.call(n,t.tool_call_id||"",t.content||"");break;case"tool_start":(i=n.onToolStart)==null||i.call(n,t.tool_call_id||"",t.tool_name||"",t.arguments||{});break;case"tool_complete":t.result&&((l=n.onToolComplete)==null||l.call(n,t.tool_call_id||"",t.result));break;case"tool_error":(u=n.onToolError)==null||u.call(n,t.tool_call_id||"",t.error||"");break;case"task_list_updated":t.task_list&&((d=n.onTaskListUpdated)==null||d.call(n,t.task_list));break;case"task_list_item_progress":if(t.session_id&&t.item_id&&t.status&&t.tool_calls_count!==void 0&&t.version!==void 0){const oe=t.status;if(!(oe==="pending"||oe==="in_progress"||oe==="completed"||oe==="blocked"))break;(h=n.onTaskListItemProgress)==null||h.call(n,{session_id:t.session_id,item_id:t.item_id,status:oe,tool_calls_count:t.tool_calls_count,version:t.version})}break;case"task_list_completed":t.session_id&&t.total_rounds!==void 0&&t.total_tool_calls!==void 0&&((m=n.onTaskListCompleted)==null||m.call(n,t.session_id,t.total_rounds,t.total_tool_calls,t.completed_at));break;case"task_evaluation_started":t.session_id&&t.items_count!==void 0&&((b=n.onTaskEvaluationStarted)==null||b.call(n,t.session_id,t.items_count));break;case"task_evaluation_completed":t.session_id&&t.updates_count!==void 0&&t.reasoning&&((v=n.onTaskEvaluationCompleted)==null||v.call(n,t.session_id,t.updates_count,t.reasoning));break;case"token_budget_updated":t.usage&&"system_tokens"in t.usage&&((w=n.onTokenBudgetUpdated)==null||w.call(n,t.usage));break;case"context_compression_status":typeof t.phase=="string"&&typeof t.status=="string"&&((S=n.onContextCompressionStatus)==null||S.call(n,t.phase,t.status));break;case"tool_lifecycle":(k=n.onToolLifecycle)==null||k.call(n,t.tool_call_id||"",t.tool_name||"",t.phase||"",t.elapsed_ms,t.is_mutating,t.auto_approved,t.summary,t.error);break;case"context_summarized":t.summary_info&&((P=n.onContextSummarized)==null||P.call(n,t.summary_info));break;case"context_pressure_notification":typeof t.percent=="number"&&typeof t.level=="string"&&((T=n.onContextPressureNotification)==null||T.call(n,t.percent,t.level,t.message||""));break;case"sub_agent_started":t.parent_session_id&&t.child_session_id&&((j=n.onSubAgentStarted)==null||j.call(n,t.parent_session_id,t.child_session_id,t.title));break;case"sub_agent_event":t.parent_session_id&&t.child_session_id&&t.event&&((C=n.onSubAgentEvent)==null||C.call(n,t.parent_session_id,t.child_session_id,t.event));break;case"sub_agent_heartbeat":t.parent_session_id&&t.child_session_id&&t.timestamp&&((E=n.onSubAgentHeartbeat)==null||E.call(n,t.parent_session_id,t.child_session_id,t.timestamp));break;case"sub_agent_completed":t.parent_session_id&&t.child_session_id&&((A=n.onSubAgentCompleted)==null||A.call(n,t.parent_session_id,t.child_session_id,typeof t.status=="string"?t.status:"completed",t.error));break;case"execution_started":(O=n.onExecutionStarted)==null||O.call(n,t.run_id||"",t.started_at);break;case"runner_progress":t.session_id&&typeof t.round_count=="number"&&((D=n.onRunnerProgress)==null||D.call(n,t.session_id,t.round_count));break;case"need_clarification":(F=n.onNeedClarification)==null||F.call(n,t);break;case"session_title_updated":t.session_id&&typeof t.title=="string"&&typeof t.title_version=="number"&&(t.source==="auto"||t.source==="manual"||t.source==="fallback")&&typeof t.updated_at=="string"&&((N=n.onSessionTitleUpdated)==null||N.call(n,{type:"session_title_updated",session_id:t.session_id,title:t.title,title_version:t.title_version,source:t.source,updated_at:t.updated_at}));break;case"session_pinned_updated":t.session_id&&typeof t.pinned=="boolean"&&typeof t.updated_at=="string"&&((q=n.onSessionPinnedUpdated)==null||q.call(n,{type:"session_pinned_updated",session_id:t.session_id,pinned:t.pinned,updated_at:t.updated_at}));break;case"plan_mode_entered":(I=n.onPlanModeEntered)==null||I.call(n,t);break;case"plan_mode_exited":(Q=n.onPlanModeExited)==null||Q.call(n,t);break;case"plan_file_updated":(G=n.onPlanFileUpdated)==null||G.call(n,t);break;case"complete":Ee("[AgentClient]","events.dispatch.complete",va(t)),(Z=n.onComplete)==null||Z.call(n,t.usage);break;case"cancelled":Ee("[AgentClient]","events.dispatch.cancelled",va(t)),(pe=n.onCancelled)==null||pe.call(n,t.message);break;case"error":Ee("[AgentClient]","events.dispatch.error",va(t)),($=n.onError)==null||$.call(n,t.message||t.error||"Unknown error");break;default:console.warn("Unknown event type:",t)}}async stopGeneration(t){await St.post(`stop/${t}`)}async deleteSession(t){const n=encodeURIComponent(t);await St.delete(`sessions/${n}`)}async getHistory(t){Ee("[AgentClient]","history.request",{sessionId:t});const n=await St.get(`history/${t}`);return Ee("[AgentClient]","history.response",Yx(n)),n}async healthCheck(){try{return await St.get("health"),!0}catch{return!1}}};Mt(is,"instance");let Jn=is;const Ys=Jn.getInstance(),Lf="provider",Ei=Hr(e=>({isOpen:!1,origin:"chat",activeTabKey:Lf,open:(t,n=Lf)=>e({isOpen:!0,origin:t,activeTabKey:n}),close:()=>e({isOpen:!1}),setActiveTabKey:t=>e({activeTabKey:t})})),Ff={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Di=new Map,Sa=e=>{const t=Di.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,r])=>[n,r.getState()])):{}},Vx=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};const r=Di.get(n.name);if(r)return{type:"tracked",store:e,...r};const s={connection:t.connect(n),stores:{}};return Di.set(n.name,s),{type:"tracked",store:e,...s}},Gx=(e,t)=>{if(t===void 0)return;const n=Di.get(e);n&&(delete n.stores[t],Object.keys(n.stores).length===0&&Di.delete(e))},Jx=e=>{var t,n;if(!e)return;const r=e.split(`
3
3
  `),s=r.findIndex(i=>i.includes("api.setState"));if(s<0)return;const o=((t=r[s+1])==null?void 0:t.trim())||"";return(n=/.+ (.+) .+/.exec(o))==null?void 0:n[1]},Qx=(e,t={})=>(n,r,s)=>{const{enabled:o,anonymousActionType:i,store:l,...u}=t;let d;try{d=(o??(Ff?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!d)return e(n,r,s);const{connection:h,...m}=Vx(l,d,u);let b=!0;s.setState=(S,k,P)=>{const T=n(S,k);if(!b)return T;const j=P===void 0?{type:i||Jx(new Error().stack)||"anonymous"}:typeof P=="string"?{type:P}:P;return l===void 0?(h==null||h.send(j,r()),T):(h==null||h.send({...j,type:`${l}/${j.type}`},{...Sa(u.name),[l]:s.getState()}),T)},s.devtools={cleanup:()=>{h&&typeof h.unsubscribe=="function"&&h.unsubscribe(),Gx(u.name,l)}};const v=(...S)=>{const k=b;b=!1,n(...S),b=k},w=e(s.setState,r,s);if(m.type==="untracked"?h==null||h.init(w):(m.stores[m.store]=s,h==null||h.init(Object.fromEntries(Object.entries(m.stores).map(([S,k])=>[S,S===m.store?w:k.getState()])))),s.dispatchFromDevtools&&typeof s.dispatch=="function"){let S=!1;const k=s.dispatch;s.dispatch=(...P)=>{(Ff?"production":void 0)!=="production"&&P[0].type==="__setState"&&!S&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),S=!0),k(...P)}}return h.subscribe(S=>{var k;switch(S.type){case"ACTION":if(typeof S.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return gc(S.payload,P=>{if(P.type==="__setState"){if(l===void 0){v(P.state);return}Object.keys(P.state).length!==1&&console.error(`
4
4
  [zustand devtools middleware] Unsupported __setState action format.
5
5
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
@@ -10,7 +10,7 @@ You help users solve problems quickly and correctly. Be concise, practical, and
10
10
  If requirements are unclear, ask focused clarifying questions before proceeding.`,isDefault:!0}),dl=()=>[ow()];class iw{async getProviderConfig(){return rt.get("/bamboo/settings/provider")}async saveProviderConfig(t){return rt.post("/bamboo/settings/provider",t)}async reloadConfig(){return rt.post("/bamboo/settings/reload")}async getCopilotAuthStatus(){return rt.post("/bamboo/copilot/auth/status")}async startCopilotAuth(){return rt.post("/bamboo/copilot/auth/start")}async completeCopilotAuth(t){return rt.post("/bamboo/copilot/auth/complete",t)}async authenticateCopilot(){return rt.post("/bamboo/copilot/authenticate")}async logoutCopilot(){return rt.post("/bamboo/copilot/logout")}async fetchProviderModels(t){return(await rt.post("/bamboo/settings/provider/models",{provider:t})).models}async getProviderCatalog(){return rt.get("/bamboo/provider-catalog")}async fetchCatalogModels(t){const n=t?{provider:t}:{};return rt.post("/bamboo/provider-catalog/fetch-models",n)}async getEnvVars(){return rt.get("/bamboo/env-vars")}async upsertEnvVar(t){return rt.post("/bamboo/env-vars",t)}async deleteEnvVar(t){return rt.delete(`/bamboo/env-vars/${encodeURIComponent(t)}`)}async replaceEnvVars(t){return rt.post("/bamboo/env-vars/replace",{entries:t})}}const yc=new iw,Wt=Hr((e,t)=>({currentProvider:"copilot",providerConfig:{provider:"copilot",defaults:void 0,providers:{}},isLoading:!1,error:null,selectedModelRef:null,catalog:null,isCatalogFetching:!1,loadProviderConfig:async()=>{var n,r;e({isLoading:!0,error:null});try{const s=await yc.getProviderConfig();if(!((r=(n=s.defaults)==null?void 0:n.chat)!=null&&r.model)&&s.provider&&s.providers){const o=s.provider,i=s.providers[o],l=i==null?void 0:i.model;l&&(s.defaults={chat:{provider:o,model:l}})}e({providerConfig:s,currentProvider:s.provider,isLoading:!1})}catch(s){console.error("Failed to load provider config:",s),e({error:s instanceof Error?s.message:"Failed to load provider config",isLoading:!1})}},setCurrentProvider:n=>{e({currentProvider:n})},updateProviderConfig:n=>{e(r=>({providerConfig:{...r.providerConfig,...n}}))},getActiveModel:()=>{var s,o,i;return((i=(o=(s=t().providerConfig.defaults)==null?void 0:s.chat)==null?void 0:o.model)==null?void 0:i.trim())||void 0},getFastModel:()=>{var s,o,i;const n=t();return((i=(o=(s=n.providerConfig.defaults)==null?void 0:s.fast)==null?void 0:o.model)==null?void 0:i.trim())||n.getActiveModel()},getVisionModel:()=>{var s,o,i;const n=t();return((i=(o=(s=n.providerConfig.defaults)==null?void 0:s.vision)==null?void 0:o.model)==null?void 0:i.trim())||n.getActiveModel()},isProviderModelRefEnabled:()=>!0,setSelectedModelRef:n=>{e({selectedModelRef:n})},loadCatalog:async()=>{try{const n=await yc.getProviderCatalog();e({catalog:n})}catch{}},fetchCatalogModels:async n=>{e({isCatalogFetching:!0});try{await yc.fetchCatalogModels(n),await t().loadCatalog()}catch{}finally{e({isCatalogFetching:!1})}},getFastModelRef:()=>{var o,i,l,u;const n=t(),r=(o=n.providerConfig.defaults)==null?void 0:o.fast;if((i=r==null?void 0:r.model)!=null&&i.trim())return r;const s=(l=n.providerConfig.defaults)==null?void 0:l.chat;return(u=s==null?void 0:s.model)!=null&&u.trim()?s:null},getVisionModelRef:()=>{var o,i,l,u;const n=t(),r=(o=n.providerConfig.defaults)==null?void 0:o.vision;if((i=r==null?void 0:r.model)!=null&&i.trim())return r;const s=(l=n.providerConfig.defaults)==null?void 0:l.chat;return(u=s==null?void 0:s.model)!=null&&u.trim()?s:null},getModelsForProvider:n=>{const{catalog:r}=t();return r!=null&&r.models?r.models.filter(s=>s.reference.provider===n):[]}})),lI=Object.freeze(Object.defineProperty({__proto__:null,useProviderStore:Wt},Symbol.toStringTag,{value:"Module"}));function Pg(e){return e.type==="session_title_updated"||e.type==="session_pinned_updated"}function au(e,t){switch(e.type){case"session_title_updated":{typeof e.session_id=="string"&&typeof e.title=="string"&&typeof e.title_version=="number"&&t.applyServerTitle(e.session_id,e.title,e.title_version);break}case"session_pinned_updated":{typeof e.session_id=="string"&&typeof e.pinned=="boolean"&&typeof e.updated_at=="string"&&t.applyServerPinned(e.session_id,e.pinned,e.updated_at);break}}}function aw(e,t){const n=t.findIndex(r=>r.id===e.session_id);if(!(n<0))switch(e.type){case"session_title_updated":{if(typeof e.title!="string"||typeof e.title_version!="number")return;const r=e.title_version,s=t[n].titleVersion??0;if(r<=s)return;t[n]={...t[n],title:e.title,titleVersion:r};return}case"session_pinned_updated":{if(typeof e.pinned!="boolean"||typeof e.updated_at!="string")return;const r=new Date(e.updated_at).getTime(),s=new Date(t[n].updatedAt??0).getTime();if(r<s||t[n].pinned===e.pinned)return;t[n]={...t[n],pinned:e.pinned,updatedAt:e.updated_at};return}}}const lw=5e3,Df=80,cw=16,Rl=e=>e!==void 0&&e!=="idle"&&e!=="completed"&&e!=="error"&&e!=="cancelled",uw=e=>e==="starting"||e==="running"||e==="streaming"||e==="running_tools"||e==="running_children"||e==="settling",dw=e=>e==="starting"||e==="running"||e==="streaming"||e==="running_tools"||e==="running_children",Mg=e=>({sessionId:e,phase:"idle",confidence:"optimistic",activeReasons:[],generation:0,backendRunId:null,stream:{hasTokens:!1,tokenCount:0,activeToolCalls:[],lastStatusHint:null},backend:{isRunning:!1,lastRunStatus:null,lastRunError:null,syncedAt:null,hasPendingQuestion:null,runningChildCount:null},interaction:{pendingQuestion:null,respondMode:null},children:{byId:{},runningCount:0},timestamps:{optimisticAt:null,confirmedAt:null,firstTokenAt:null,terminalAt:null,settlingStartedAt:null,settledAt:null},error:null}),yn=(e,t)=>e[t]??Mg(t),jt=(e,t)=>[...e.length>=cw?e.slice(-15):e,t],fw=e=>e.length<=Df?e:e.slice(e.length-Df),hw=(e,t)=>e.length===t.length&&e.every((n,r)=>n===t[r]),Nf=(e,t)=>e?e.question===t.question&&e.allowCustom===t.allowCustom&&e.toolCallId===t.toolCallId&&hw(e.options,t.options):!1,Eg=(e,t,n,r)=>{const s=Nf(e.interaction.pendingQuestion,n)?e.interaction.pendingQuestion:{...n,receivedAt:r},o=e.interaction.respondMode&&e.interaction.respondMode.sessionId===t&&Nf(e.interaction.respondMode,n)?e.interaction.respondMode:{...n,sessionId:t};return e.phase==="waiting_user_answer"&&e.confidence==="live"&&s===e.interaction.pendingQuestion&&o===e.interaction.respondMode?e:{...e,phase:"waiting_user_answer",confidence:"live",interaction:{...e.interaction,pendingQuestion:s,respondMode:o},activeReasons:jt(e.activeReasons,"sse:need_clarification")}},Al=new Set(["idle","completed","error","cancelled","settling","waiting_user_answer"]),_s=e=>Al.has(e.phase)?e:e.children.runningCount>0?e.phase==="running_children"?e:{...e,phase:"running_children"}:e.stream.activeToolCalls.length>0?e.phase==="running_tools"?e:{...e,phase:"running_tools"}:e.stream.hasTokens?e.phase==="streaming"?e:{...e,phase:"streaming"}:e.phase==="running"?e:{...e,phase:"running"},tn=(e,t,n)=>({...e,[t]:n}),pw=(e,t)=>{if(!(t in e))return e;const n={...e};return delete n[t],n},Bf=(e,t,n)=>{const r=e.timestamps.firstTokenAt??n(),s={...e,confidence:"live",stream:{...e.stream,hasTokens:!0,tokenCount:e.stream.tokenCount+1},timestamps:{...e.timestamps,firstTokenAt:r},activeReasons:jt(e.activeReasons,t)};return _s(s)},mw=(e,t)=>{if(e.stream.hasTokens&&e.timestamps.firstTokenAt!==null)return e;const n=e.timestamps.firstTokenAt??t(),r={...e,confidence:"live",stream:{...e.stream,hasTokens:!0,tokenCount:Math.max(1,e.stream.tokenCount)},timestamps:{...e.timestamps,firstTokenAt:n},activeReasons:jt(e.activeReasons,"sse:token")};return _s(r)},gw=(e,t,n,r)=>{const o=e.stream.activeToolCalls.findIndex(l=>l.toolCallId===t)>=0?e.stream.activeToolCalls:[...e.stream.activeToolCalls,{toolCallId:t,toolName:n,startedAt:r}],i={...e,confidence:"live",stream:{...e.stream,activeToolCalls:o},activeReasons:jt(e.activeReasons,"sse:tool_start")};return _s(i)},yw=(e,t,n)=>{const r=e.stream.activeToolCalls.findIndex(d=>d.toolCallId===t);if(r<0)return e;const s=e.stream.activeToolCalls[r],o=s.preview??"",i=fw(o+n),l={...s,preview:i},u=[...e.stream.activeToolCalls];return u[r]=l,{...e,stream:{...e.stream,activeToolCalls:u}}},bw=(e,t,n)=>{const r=e.stream.activeToolCalls.filter(o=>o.toolCallId!==t);if(r.length===e.stream.activeToolCalls.length)return e;const s={...e,stream:{...e.stream,activeToolCalls:r},activeReasons:jt(e.activeReasons,n)};return s.timestamps.terminalAt&&s.children.runningCount===0&&s.stream.activeToolCalls.length===0&&!Al.has(s.phase)?{...s,phase:"settling",timestamps:{...s.timestamps,settlingStartedAt:s.timestamps.settlingStartedAt??s.timestamps.terminalAt}}:_s(s)},jg=(e,t,n)=>{const r=e.children.byId[t],s=r!==void 0&&(r.status===void 0||r.status==="running"),o={...r,...n,status:n.status??(r==null?void 0:r.status)??"running"},l=(o.status===void 0||o.status==="running"?1:0)-(s?1:0),u={...e,confidence:"live",children:{byId:{...e.children.byId,[t]:o},runningCount:Math.max(0,e.children.runningCount+l)},activeReasons:jt(e.activeReasons,"sse:sub_agent_started")};return _s(u)},lu=(e,t,n)=>{const r=e.children.byId[t],s=r===void 0||r.status===void 0||r.status==="running",o={...r,...n};if(r!==void 0&&r.title===o.title&&r.status===o.status&&r.error===o.error&&r.lastHeartbeatAt===o.lastHeartbeatAt&&r.lastEventAt===o.lastEventAt&&r.outputPreview===o.outputPreview&&r.roundCount===o.roundCount)return e;const i=o.status===void 0||o.status==="running";let l=0;r!==void 0&&(l=(i?1:0)-(s?1:0));const u=Math.max(0,e.children.runningCount+l),d={...e,children:{byId:{...e.children.byId,[t]:o},runningCount:u}};return d.timestamps.terminalAt&&d.children.runningCount===0&&d.stream.activeToolCalls.length===0&&!Al.has(d.phase)?{...d,phase:"settling",timestamps:{...d.timestamps,settlingStartedAt:d.timestamps.settlingStartedAt??d.timestamps.terminalAt},activeReasons:jt(d.activeReasons,"sse:sub_agent_completed")}:_s(d)},vw=(e,t)=>{if(!(t in e.children.byId))return e;const n=e.children.byId[t],r=n.status===void 0||n.status==="running",s={...e.children.byId};delete s[t];const o={...e,children:{byId:s,runningCount:Math.max(0,e.children.runningCount-(r?1:0))}};return o.timestamps.terminalAt&&o.children.runningCount===0&&o.stream.activeToolCalls.length===0&&!Al.has(o.phase)?{...o,phase:"settling",timestamps:{...o.timestamps,settlingStartedAt:o.timestamps.settlingStartedAt??o.timestamps.terminalAt}}:_s(o)},zf=(e,t,n)=>{switch(t.type){case"token":return Bf(e,"sse:token",n);case"reasoning_token":return Bf(e,"sse:token",n);case"tool_start":{const r=t.tool_call_id??"",s=t.tool_name??"";return r?gw(e,r,s,n()):e}case"tool_token":{const r=t.tool_call_id??"";return r?yw(e,r,t.content??""):e}case"tool_complete":case"tool_error":{const r=t.tool_call_id??"";return r?bw(e,r,"sse:tool_complete"):e}case"tool_lifecycle":return e;case"sub_agent_started":{const r=t.child_session_id??"";return r?jg(e,r,{title:t.title,status:"running"}):e}case"sub_agent_event":case"sub_agent_heartbeat":{const r=t.child_session_id??"";if(!r)return e;const s={lastEventAt:t.timestamp??n()};return t.type==="sub_agent_heartbeat"&&(s.lastHeartbeatAt=t.timestamp??n()),lu(e,r,s)}case"sub_agent_completed":{const r=t.child_session_id??"";if(!r)return e;const s=typeof t.status=="string"?t.status:"completed";return lu(e,r,{status:s,error:t.error})}case"need_clarification":{const r={question:t.question??"",options:t.options??[],allowCustom:t.allow_custom??!1,toolCallId:t.tool_call_id??null};return Eg(e,e.sessionId,r,n())}case"execution_started":{const r=t.run_id;return r?e.phase!=="starting"?{...e,backendRunId:r,confidence:"live",activeReasons:jt(e.activeReasons,"sse:execution_started")}:{...e,phase:"running",confidence:"live",backendRunId:r,timestamps:{...e.timestamps,confirmedAt:n()},activeReasons:jt(e.activeReasons,"sse:execution_started")}:e}case"complete":{const r=n();return{...e,phase:"settling",timestamps:{...e.timestamps,terminalAt:r,settlingStartedAt:e.timestamps.settlingStartedAt??r},activeReasons:jt(e.activeReasons,"sse:complete")}}case"cancelled":{const r=n();return{...e,phase:"cancelled",confidence:"terminal",timestamps:{...e.timestamps,terminalAt:r,settledAt:r},error:t.message?{message:t.message,source:"user_cancel",occurredAt:r}:null,activeReasons:jt(e.activeReasons,"sse:error")}}case"error":{const r=n();return{...e,phase:"error",confidence:"terminal",timestamps:{...e.timestamps,terminalAt:r},error:{message:t.message??t.error??"Unknown error",source:"sse",occurredAt:r},activeReasons:jt(e.activeReasons,"sse:error")}}case"task_list_updated":case"task_list_item_progress":case"task_list_completed":case"task_evaluation_started":case"task_evaluation_completed":case"token_budget_updated":case"context_compression_status":case"context_summarized":case"context_pressure_notification":return e;default:return e}},Sw=e=>e==="completed"||e==="error"||e==="cancelled",xw=(e,t,n)=>{const r=t.last_run_status,s=Sw(r)?r:null,o=n(),i=t.has_pending_question===void 0?null:t.has_pending_question,l=t.running_child_count===void 0?null:t.running_child_count,u={...e,backend:{...e.backend,isRunning:t.is_running,lastRunStatus:s,lastRunError:t.last_run_error??null,syncedAt:o,hasPendingQuestion:i,runningChildCount:l},backendRunId:e.backendRunId};if(t.is_running)return e.phase==="idle"||e.phase==="completed"||e.phase==="error"||e.phase==="cancelled"?{...u,phase:"running",confidence:"summary",activeReasons:jt(u.activeReasons,"summary:is_running")}:e.phase==="starting"?{...u,phase:"running",confidence:"summary",timestamps:{...u.timestamps,confirmedAt:o},activeReasons:jt(u.activeReasons,"summary:is_running")}:u;if(new Set(["starting","running","streaming","running_tools","running_children","settling"]).has(e.phase)){if(s==="completed")return{...u,phase:"completed",confidence:"terminal",timestamps:{...u.timestamps,settledAt:o},activeReasons:jt(u.activeReasons,"summary:terminal")};if(s==="error")return{...u,phase:"error",confidence:"terminal",timestamps:{...u.timestamps,settledAt:o},error:{message:t.last_run_error??"Backend reported error",source:"summary",occurredAt:o},activeReasons:jt(u.activeReasons,"summary:terminal")};if(s==="cancelled")return{...u,phase:"cancelled",confidence:"terminal",timestamps:{...u.timestamps,settledAt:o},activeReasons:jt(u.activeReasons,"summary:terminal")};if(e.timestamps.optimisticAt){const h=Date.parse(o)-Date.parse(e.timestamps.optimisticAt);if(Number.isFinite(h)&&h<lw)return u}return{...u,phase:"idle",confidence:"summary",activeReasons:jt(u.activeReasons,"summary:terminal")}}return u},ww=()=>new Date().toISOString(),Gt=(e,t,n=ww)=>{switch(t.type){case"ensureSession":return t.sessionId in e?e:tn(e,t.sessionId,Mg(t.sessionId));case"markOptimisticStart":{const r=yn(e,t.sessionId),s=n(),o={...r,phase:"starting",confidence:"optimistic",generation:r.generation+1,stream:{hasTokens:!1,tokenCount:0,activeToolCalls:[],lastStatusHint:null},interaction:{...r.interaction,respondMode:null},error:null,timestamps:{optimisticAt:s,confirmedAt:null,firstTokenAt:null,terminalAt:null,settlingStartedAt:null,settledAt:null},activeReasons:jt(r.activeReasons,"optimistic:send")};return tn(e,t.sessionId,o)}case"markRespondStart":{const r=yn(e,t.sessionId),s=n(),o={...r,phase:"starting",confidence:"optimistic",generation:r.generation+1,stream:{hasTokens:!1,tokenCount:0,activeToolCalls:[],lastStatusHint:null},interaction:{...r.interaction,pendingQuestion:null,respondMode:null},error:null,timestamps:{...r.timestamps,optimisticAt:s,confirmedAt:null,firstTokenAt:null,terminalAt:null,settlingStartedAt:null,settledAt:null},activeReasons:jt(r.activeReasons,"optimistic:respond")};return tn(e,t.sessionId,o)}case"markRetryStart":{const r=yn(e,t.sessionId),s=n(),o={...r,phase:"starting",confidence:"optimistic",generation:r.generation+1,stream:{hasTokens:!1,tokenCount:0,activeToolCalls:[],lastStatusHint:null},error:null,timestamps:{...r.timestamps,optimisticAt:s,confirmedAt:null,firstTokenAt:null,terminalAt:null,settlingStartedAt:null,settledAt:null},activeReasons:jt(r.activeReasons,"optimistic:retry")};return tn(e,t.sessionId,o)}case"markForceSubscribe":{const r=yn(e,t.sessionId);if(Rl(r.phase))return e;const s={...r,phase:"running",confidence:"optimistic",generation:r.generation+1,error:null,activeReasons:jt(r.activeReasons,"optimistic:openSession.forceSubscribe")};return tn(e,t.sessionId,s)}case"markCancel":{const r=yn(e,t.sessionId),s=n(),o={...r,phase:"cancelled",confidence:"terminal",timestamps:{...r.timestamps,settledAt:s},activeReasons:jt(r.activeReasons,"user:cancel")};return tn(e,t.sessionId,o)}case"markSettleTimeout":{const r=yn(e,t.sessionId);if(r.phase!=="starting"&&r.phase!=="settling")return e;const s={...r,phase:"idle",confidence:"optimistic",timestamps:{...r.timestamps,settledAt:n()},activeReasons:jt(r.activeReasons,"settle:timeout")};return tn(e,t.sessionId,s)}case"markStreamStarted":{const r=yn(e,t.sessionId);if(t.generation!==r.generation)return e;const s=mw(r,n);return s===r?e:tn(e,t.sessionId,s)}case"applyAgentEvent":{const r=yn(e,t.sessionId);if(t.generation!==r.generation)return e;const s=zf(r,t.event,n);return s===r?e:tn(e,t.sessionId,s)}case"applyExecutionStarted":{const r=yn(e,t.sessionId);if(t.generation!==r.generation)return e;if(r.phase!=="starting")return tn(e,t.sessionId,{...r,backendRunId:t.runId,confidence:"live",activeReasons:jt(r.activeReasons,"sse:execution_started")});const s={...r,phase:"running",confidence:"live",backendRunId:t.runId,timestamps:{...r.timestamps,confirmedAt:n()},activeReasons:jt(r.activeReasons,"sse:execution_started")};return tn(e,t.sessionId,s)}case"applySessionSummary":{const r=yn(e,t.sessionId),s=xw(r,t.summary,n);return s===r?e:tn(e,t.sessionId,s)}case"applyOneShotTerminal":{const r=yn(e,t.sessionId);if(t.generation!==r.generation||r.phase!=="idle"&&r.phase!=="starting")return e;const s=n();return t.payload.status==="completed"?tn(e,t.sessionId,{...r,phase:"completed",confidence:"terminal",timestamps:{...r.timestamps,terminalAt:s,settledAt:s},activeReasons:jt(r.activeReasons,"sse:terminal_one_shot")}):t.payload.status==="cancelled"?tn(e,t.sessionId,{...r,phase:"cancelled",confidence:"terminal",timestamps:{...r.timestamps,terminalAt:s,settledAt:s},error:t.payload.message?{message:t.payload.message,source:"user_cancel",occurredAt:s}:null,activeReasons:jt(r.activeReasons,"sse:terminal_one_shot")}):tn(e,t.sessionId,{...r,phase:"error",confidence:"terminal",timestamps:{...r.timestamps,terminalAt:s,settledAt:s},error:{message:t.payload.message??"Unknown error",source:"sse",occurredAt:s},activeReasons:jt(r.activeReasons,"sse:terminal_one_shot")})}case"beginSettle":{const r=yn(e,t.sessionId);if(t.generation!==r.generation||r.phase!=="running"&&r.phase!=="streaming"&&r.phase!=="running_tools"&&r.phase!=="running_children")return e;const s=n();return tn(e,t.sessionId,{...r,phase:"settling",timestamps:{...r.timestamps,settlingStartedAt:s,terminalAt:r.timestamps.terminalAt??s}})}case"applyChildProgress":{const r=yn(e,t.sessionId),o=!(t.childId in r.children.byId)?jg(r,t.childId,t.patch):lu(r,t.childId,t.patch);return o===r?e:tn(e,t.sessionId,o)}case"clearChildProgress":{const r=yn(e,t.sessionId),s=vw(r,t.childId);return s===r?e:tn(e,t.sessionId,s)}case"setPendingQuestion":{const r=yn(e,t.sessionId),s=Eg(r,t.sessionId,t.payload,n());return s===r?e:tn(e,t.sessionId,s)}case"clearPendingQuestion":{const r=yn(e,t.sessionId);if(r.interaction.pendingQuestion===null&&r.interaction.respondMode===null)return e;const s={...r,interaction:{...r.interaction,pendingQuestion:null,respondMode:null}};return tn(e,t.sessionId,s)}case"resetSession":return pw(e,t.sessionId);case"applyRunningSnapshot":{let r=e;for(const s of t.sessions){const o=yn(r,s.sessionId),i=o.generation+1;let l={...o,generation:i,backendRunId:s.runId,phase:"running",confidence:"live",timestamps:{...o.timestamps,confirmedAt:n()},activeReasons:jt(o.activeReasons,"sse:execution_started")};for(const u of s.criticalEvents)u.type!=="execution_started"&&(l=zf(l,u,n));r=tn(r,s.sessionId,l)}return r}default:return e}},ln=()=>new Date().toISOString(),_w=(e,t)=>({executionBySession:{},ensureSession:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"ensureSession",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markOptimisticStart:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"markOptimisticStart",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markRespondStart:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"markRespondStart",sessionId:n},ln);return o===s.executionBySession?s:{executionBySession:o}})},markRetryStart:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"markRetryStart",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markForceSubscribe:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"markForceSubscribe",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markCancel:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"markCancel",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markSettleTimeout:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"markSettleTimeout",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markStreamStarted:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"markStreamStarted",sessionId:n,generation:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyAgentEvent:(n,r,s)=>{e(o=>{const i=Gt(o.executionBySession,{type:"applyAgentEvent",sessionId:n,event:r,generation:s},ln);return i===o.executionBySession?o:{executionBySession:i}})},applyExecutionStarted:(n,r,s)=>{e(o=>{const i=Gt(o.executionBySession,{type:"applyExecutionStarted",sessionId:n,runId:r,generation:s},ln);return i===o.executionBySession?o:{executionBySession:i}})},applySessionSummary:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"applySessionSummary",sessionId:n,summary:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyOneShotTerminal:(n,r,s)=>{e(o=>{const i=Gt(o.executionBySession,{type:"applyOneShotTerminal",sessionId:n,generation:r,payload:s},ln);return i===o.executionBySession?o:{executionBySession:i}})},beginSettle:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"beginSettle",sessionId:n,generation:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyChildProgress:(n,r,s)=>{e(o=>{const i=Gt(o.executionBySession,{type:"applyChildProgress",sessionId:n,childId:r,patch:s},ln);return i===o.executionBySession?o:{executionBySession:i}})},clearChildProgress:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"clearChildProgress",sessionId:n,childId:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},setPendingQuestion:(n,r)=>{e(s=>{const o=Gt(s.executionBySession,{type:"setPendingQuestion",sessionId:n,payload:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},clearPendingQuestion:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"clearPendingQuestion",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},resetSession:n=>{e(r=>{const s=Gt(r.executionBySession,{type:"resetSession",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},applyRunningSnapshot:n=>{const r=t(),s=n.map(o=>{const i=[];for(const l of o.criticalEvents){if(Pg(l)){au(l,r);continue}i.push(l)}return{...o,criticalEvents:i}});e(o=>{const i=Gt(o.executionBySession,{type:"applyRunningSnapshot",sessions:s},ln);return i===o.executionBySession?o:{executionBySession:i}})}}),hr=Jn.getInstance(),Xs=dl()[0],kw=(Xs==null?void 0:Xs.id)||"general_assistant";var tg;const Rg=((tg=Xs==null?void 0:Xs.content)==null?void 0:tg.trim())||"",bc="tool",Wf=e=>{if(typeof e!="string"||!e.trim())return null;const t=Date.parse(e);return Number.isFinite(t)?t:null},Cw=(e,t)=>e===t?!0:!e||!t?e==null&&t==null:e.provider===t.provider&&e.model===t.model,Tw=(e,t)=>e===t?!0:!e||!t?e==null&&t==null:e.systemTokens===t.systemTokens&&e.summaryTokens===t.summaryTokens&&e.windowTokens===t.windowTokens&&e.totalTokens===t.totalTokens&&e.maxContextTokens===t.maxContextTokens&&e.budgetLimit===t.budgetLimit&&e.promptCachedToolOutputs===t.promptCachedToolOutputs,Pw=(e,t)=>{if(e===t)return!0;const n=e??[],r=t??[];return n.length!==r.length?!1:n.every((s,o)=>{const i=r[o];return!!i&&s.id===i.id&&s.createdAt===i.createdAt&&s.messagesCompressed===i.messagesCompressed&&s.segmentsRemoved===i.segmentsRemoved})},Mw=(e,t)=>e===t?!0:!e||!t?e==null&&t==null:e.messageCount===t.messageCount&&e.lastMessageId===t.lastMessageId&&e.hasPendingQuestion===t.hasPendingQuestion&&e.pendingQuestionToolCallId===t.pendingQuestionToolCallId,Ew=(e,t)=>e===t?!0:e.systemPromptId===t.systemPromptId&&e.baseSystemPrompt===t.baseSystemPrompt&&e.lastUsedEnhancedPrompt===t.lastUsedEnhancedPrompt&&e.agentRole===t.agentRole&&e.workspacePath===t.workspacePath&&e.model===t.model&&Cw(e.model_ref,t.model_ref)&&e.reasoningEffort===t.reasoningEffort&&Tw(e.tokenUsage,t.tokenUsage)&&e.truncationOccurred===t.truncationOccurred&&e.segmentsRemoved===t.segmentsRemoved&&Pw(e.compressionEvents,t.compressionEvents)&&Mw(e.syncCursor,t.syncCursor),jw=(e,t)=>e.id===t.id&&e.kind===t.kind&&e.parentSessionId===t.parentSessionId&&e.rootSessionId===t.rootSessionId&&e.spawnDepth===t.spawnDepth&&e.createdByScheduleId===t.createdByScheduleId&&e.isRunning===t.isRunning&&e.updatedAt===t.updatedAt&&e.lastActivityAt===t.lastActivityAt&&e.messageCount===t.messageCount&&e.hasAttachments===t.hasAttachments&&e.lastRunStatus===t.lastRunStatus&&e.lastRunError===t.lastRunError&&e.planMode===t.planMode&&e.subagentType===t.subagentType&&e.title===t.title&&e.titleVersion===t.titleVersion&&e.createdAt===t.createdAt&&e.pinned===t.pinned&&e.messages===t.messages&&Ew(e.config,t.config),Rw=()=>{try{const e=globalThis.crypto;if(e!=null&&e.randomUUID)return e.randomUUID()}catch{}return`id_${Date.now()}_${Math.random().toString(16).slice(2)}`},Aw=()=>{let e=ws().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`},Ag=e=>{const t=e.trim();if(!t.startsWith("bamboo-attachment://"))return null;const n=t.slice(20),[r,s]=n.split("/",2);return!r||!s?null:{sessionId:r,attachmentId:s}},Iw=e=>{const t=Ag(e);return t?`${Aw()}/sessions/${encodeURIComponent(t.sessionId)}/attachments/${encodeURIComponent(t.attachmentId)}`:e},ns=e=>{if(typeof e!="string")return;const t=e.trim();if(t&&t.toLowerCase()!=="unknown")return t},Ow=e=>{const t=(e||"").trim();if(!t)return;const n=t.match(/tool policy blocked ['"`]([^'"`]+)['"`]/i);if(n!=null&&n[1])return ns(n[1]);try{const r=JSON.parse(t);if(typeof(r==null?void 0:r.tool_name)=="string")return ns(r.tool_name)}catch{}},cu=e=>{var r,s;const t=Number.isFinite(Date.parse(e.created_at))?Date.parse(e.created_at):Date.now(),n=e.token_usage?{systemTokens:e.token_usage.system_tokens,summaryTokens:e.token_usage.summary_tokens,windowTokens:e.token_usage.window_tokens,totalTokens:e.token_usage.total_tokens,budgetLimit:e.token_usage.budget_limit,...typeof e.token_usage.max_context_tokens=="number"&&e.token_usage.max_context_tokens>0?{maxContextTokens:e.token_usage.max_context_tokens}:{},...typeof e.token_usage.prompt_cached_tool_outputs=="number"&&e.token_usage.prompt_cached_tool_outputs>0?{promptCachedToolOutputs:e.token_usage.prompt_cached_tool_outputs}:{},...typeof e.token_usage.prompt_cached_tool_tokens_saved=="number"&&e.token_usage.prompt_cached_tool_tokens_saved>0?{promptCachedToolTokensSaved:e.token_usage.prompt_cached_tool_tokens_saved}:{}}:void 0;return{id:e.id,kind:e.kind,parentSessionId:e.parent_session_id??null,rootSessionId:e.root_session_id,spawnDepth:e.spawn_depth,createdByScheduleId:e.created_by_schedule_id??null,isRunning:e.is_running,updatedAt:e.updated_at,lastActivityAt:e.last_activity_at,messageCount:e.message_count,hasAttachments:e.has_attachments,lastRunStatus:e.last_run_status,lastRunError:e.last_run_error,planMode:e.plan_mode??null,subagentType:e.subagent_type??null,title:e.title||xt.t("chat.session.defaultTitle"),titleVersion:e.title_version??0,createdAt:t,pinned:e.pinned,messages:[],config:{systemPromptId:kw,baseSystemPrompt:Rg,lastUsedEnhancedPrompt:null,model:e.model,model_ref:e.model_ref??null,reasoningEffort:e.reasoning_effort??null,tokenUsage:n,truncationOccurred:(r=e.token_usage)==null?void 0:r.truncation_occurred,segmentsRemoved:(s=e.token_usage)==null?void 0:s.segments_removed,compressionEvents:[]}}},$w=(e,t)=>{var o,i,l,u,d;const n=new Map,r=new Map;for(const h of t)h.role==="tool"&&h.tool_call_id&&h.metadata&&r.set(h.tool_call_id,h.metadata);const s=[];for(const h of t){const m=h.created_at||new Date().toISOString();if(h.role==="system"){const b={role:"system",id:h.id,createdAt:m,content:h.content||"",isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(b);continue}if(h.role==="user"){const b=new Map;for(const S of h.image_ocr||[]){const k=(o=S.image_url)==null?void 0:o.trim();if(!k)continue;const T=(S.lines||[]).map(j=>((j==null?void 0:j.text)||"").trim()).filter(Boolean);b.set(k,{ocrText:T.length?T.join(`
11
11
  `):void 0,ocrError:S.error?String(S.error):void 0})}const v=[];for(const S of h.content_parts||[]){if(S.type!=="image_url")continue;const k=((i=S.image_url)==null?void 0:i.url)||"";if(!k)continue;const P=Iw(k),T=Ag(k),j=b.get(k.trim());v.push({id:Rw(),url:P,ocrText:j==null?void 0:j.ocrText,ocrError:j==null?void 0:j.ocrError,name:T?`attachment-${T.attachmentId}`:"image",size:0,type:"image/*"})}const w={role:"user",id:h.id,createdAt:m,content:h.content||"",images:v.length?v:void 0,isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(w);continue}if(h.role==="assistant"){const b=h.tool_calls||[];if(b.length>0){const S=(h.content||"").trim(),k=typeof h.reasoning=="string"&&h.reasoning.trim().length>0;if(S||k){const C=k?{reasoning:h.reasoning,backendMessageId:h.id}:{backendMessageId:h.id},E={role:"assistant",type:"text",id:`${h.id}_text`,createdAt:m,content:h.content||"",metadata:C,isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(E)}for(const C of b)C.id&&n.set(C.id,ns((l=C.function)==null?void 0:l.name)||bc);const P=(u=b[0])==null?void 0:u.id,T=P?r.get(P):void 0,j={role:"assistant",type:"tool_call",id:h.id,createdAt:m,toolCalls:b.map(C=>{var E;return{toolCallId:C.id,toolName:ns((E=C.function)==null?void 0:E.name)||bc,parameters:(()=>{var A,O;try{return JSON.parse(((A=C.function)==null?void 0:A.arguments)||"{}")}catch{return{raw:((O=C.function)==null?void 0:O.arguments)||""}}})(),streamingOutput:""}}),...T?{metadata:T}:{},isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(j);continue}const v=typeof h.reasoning=="string"&&h.reasoning.trim().length>0?{reasoning:h.reasoning}:{},w={role:"assistant",type:"text",id:h.id,createdAt:m,content:h.content||"",metadata:v,isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(w);continue}if(h.role==="tool"){const b=((d=h.tool_call_id)==null?void 0:d.trim())||`orphan-tool-call:${h.id}`,v=ns(n.get(b))||ns(h.tool_name)||ns(h.name)||Ow(h.content)||bc,w=h.tool_success===!1||h.tool_success==null&&typeof h.content=="string"&&h.content.trimStart().startsWith("Error:"),S={role:"assistant",type:"tool_result",id:h.id,createdAt:m,toolName:v,toolCallId:b,result:{tool_name:v,result:h.content||"",display_preference:"Default"},isError:w,isCompressed:!!h.compressed,compressedEventId:h.compressed_by_event_id};s.push(S);continue}}return s},Lw=750,wt={inFlight:null,forcedPromise:null,timer:null,trailingPromise:null,trailingResolve:null,trailingReject:null};function Ig(){const e={resolve:wt.trailingResolve,reject:wt.trailingReject};return wt.trailingPromise=null,wt.trailingResolve=null,wt.trailingReject=null,e}function Uf(e,t){!t.resolve&&!t.reject||e.then(()=>{var n;return(n=t.resolve)==null?void 0:n.call(t)},n=>{var r;return(r=t.reject)==null?void 0:r.call(t,n)})}function Fw(){return wt.timer&&(clearTimeout(wt.timer),wt.timer=null),Ig()}function Dw(e,t){const n=e.map(cu);t(r=>{let s=r.executionBySession;for(const u of e)s=Gt(s,{type:"applySessionSummary",sessionId:u.id,summary:u});const o=new Map(r.chats.map(u=>[u.id,u]));let i=r.chats.length!==n.length;const l=n.map((u,d)=>{var F,N,q,I;const h=o.get(u.id);if(!h)return i=!0,u;const m=Wf(h.updatedAt),b=Wf(u.updatedAt),v=m!==null&&b!==null&&m>b,w=h.config||{},S=u.config||{},k=Object.prototype.hasOwnProperty.call(w,"model"),P=Object.prototype.hasOwnProperty.call(w,"model_ref"),T=Object.prototype.hasOwnProperty.call(w,"reasoningEffort"),j=Math.max(h.messageCount??0,u.messageCount??0),C=u.titleVersion??0,E=h.titleVersion??0,A=C>E?{title:u.title,titleVersion:C}:{title:h.title,titleVersion:E},O={...w,...S,model:v&&k?w.model:S.model,model_ref:v&&P?w.model_ref:S.model_ref,reasoningEffort:v&&T?w.reasoningEffort:S.reasoningEffort,compressionEvents:((F=h.config)==null?void 0:F.compressionEvents)??((N=u.config)==null?void 0:N.compressionEvents),syncCursor:((q=h.config)==null?void 0:q.syncCursor)??((I=u.config)==null?void 0:I.syncCursor)},D={...u,pinned:v?h.pinned:u.pinned,updatedAt:v?h.updatedAt:u.updatedAt,messages:h.messages,messageCount:j,planMode:u.planMode,config:O,...A};return jw(h,D)?(r.chats[d]!==h&&(i=!0),h):(i=!0,D)});return!i&&s===r.executionBySession?r:{...r,chats:i?l:r.chats,executionBySession:s}})}async function Ya(e){return wt.inFlight?(Ee("[ChatSlice]","refreshChats.inFlight.reuse",{}),wt.inFlight):(Ee("[ChatSlice]","refreshChats.start",{}),wt.inFlight=(async()=>{try{const t=await hr.listSessions();Ee("[ChatSlice]","refreshChats.response",{count:t.sessions.length,runningCount:t.sessions.filter(n=>n.is_running).length}),Dw(t.sessions,e)}catch(t){throw console.error("[ChatSlice] Failed to refresh sessions:",t),Ee("[ChatSlice]","refreshChats.error",{error:t}),t}})().finally(()=>{Ee("[ChatSlice]","refreshChats.finally",{}),wt.inFlight=null}),wt.inFlight)}function Nw(e){return wt.forcedPromise?(Ee("[ChatSlice]","refreshChatsNow.forced.reuse",{}),wt.forcedPromise):(Ee("[ChatSlice]","refreshChatsNow.forced.start",{hasInflight:!!wt.inFlight}),wt.forcedPromise=(async()=>{wt.inFlight&&await wt.inFlight,await Ya(e)})().finally(()=>{Ee("[ChatSlice]","refreshChatsNow.forced.finally",{}),wt.forcedPromise=null}),wt.forcedPromise)}const Bw=(e,t)=>({chats:[],currentSessionId:null,latestActiveSessionId:null,addChat:async n=>{var b,v,w,S,k,P,T,j,C,E,A,O;const r=(n.title||xt.t("chat.sidebar.newSession")).trim(),s=((v=(b=n.config)==null?void 0:b.baseSystemPrompt)==null?void 0:v.trim())||"",o=(w=Wt.getState().getActiveModel())==null?void 0:w.trim(),i=((k=(S=n.config)==null?void 0:S.model)==null?void 0:k.trim())||o||void 0,l=((P=n.config)==null?void 0:P.reasoningEffort)??void 0;let u,d;if(Wt.getState().isProviderModelRefEnabled()){const D=(T=n.config)==null?void 0:T.model_ref;if((j=D==null?void 0:D.provider)!=null&&j.trim()&&((C=D==null?void 0:D.model)!=null&&C.trim()))u=D,d=D.provider;else{const F=(E=Wt.getState().providerConfig.defaults)==null?void 0:E.chat;if((A=F==null?void 0:F.provider)!=null&&A.trim()&&((O=F==null?void 0:F.model)!=null&&O.trim()))u=F,d=F.provider;else{const N=Wt.getState().getActiveModel();N&&(u={provider:Wt.getState().currentProvider,model:N},d=Wt.getState().currentProvider)}}}const h=await hr.createSession({title:r,system_prompt:s||void 0,model:i,model_ref:u,provider:d,reasoning_effort:l||void 0}),m={...cu(h.session),title:r,config:{...n.config,model:h.session.model,model_ref:h.session.model_ref??null,reasoningEffort:h.session.reasoning_effort??null,baseSystemPrompt:s||Rg},messages:[]};return e(D=>{const F=[m,...D.chats.filter(N=>N.id!==m.id)];return{...D,chats:F,currentSessionId:m.id,latestActiveSessionId:m.id}}),m.id},selectSession:n=>{const r=t();r.currentSessionId===n&&r.latestActiveSessionId===n||e({currentSessionId:n,latestActiveSessionId:n})},deleteSession:async n=>{try{await hr.deleteSession(n)}catch(r){console.error(`[ChatSlice] Failed to delete backend session ${n}:`,r)}e(r=>{var u;const s=new Set;for(const d of r.chats)d.id===n&&s.add(d.id),d.rootSessionId===n&&s.add(d.id);const o=r.chats.filter(d=>!s.has(d.id)),i=r.currentSessionId&&s.has(r.currentSessionId)?null:r.currentSessionId,l=r.latestActiveSessionId&&s.has(r.latestActiveSessionId)?((u=o[0])==null?void 0:u.id)??null:r.latestActiveSessionId;return{...r,chats:o,currentSessionId:i,latestActiveSessionId:l}})},deleteSessions:async n=>{for(const r of n)await t().deleteSession(r)},updateSession:(n,r)=>{const s=!!r.config&&(Object.prototype.hasOwnProperty.call(r.config,"model")||Object.prototype.hasOwnProperty.call(r.config,"reasoningEffort")),o=typeof r.title=="string"||typeof r.pinned=="boolean",l=s||o?new Date().toISOString():void 0;e(d=>{const h=d.chats.map(m=>m.id===n?{...m,...r,...l?{updatedAt:l}:{}}:m);return{...d,chats:h}});const u={};if(typeof r.title=="string"&&(u.title=r.title),typeof r.pinned=="boolean"&&(u.pinned=r.pinned),r.config&&Object.prototype.hasOwnProperty.call(r.config,"model")&&(u.model=r.config.model??null),r.config&&Object.prototype.hasOwnProperty.call(r.config,"model_ref")&&Wt.getState().isProviderModelRefEnabled()&&(u.model_ref=r.config.model_ref??null,r.config.model_ref&&(u.provider=r.config.model_ref.provider)),r.config&&Object.prototype.hasOwnProperty.call(r.config,"reasoningEffort")){const d=r.config.reasoningEffort;d?u.reasoning_effort=d:u.clear_reasoning_effort=!0}Object.keys(u).length>0&&hr.patchSession(n,u).catch(d=>{console.warn(`[ChatSlice] Failed to patch session ${n}:`,d)})},persistSessionTitle:async(n,r)=>{var o;const s=(o=t().chats.find(i=>i.id===n))==null?void 0:o.title;e(i=>({...i,chats:i.chats.map(l=>l.id===n?{...l,title:r,updatedAt:new Date().toISOString()}:l)}));try{await hr.patchSession(n,{title:r})}catch(i){throw typeof s=="string"&&e(l=>({...l,chats:l.chats.map(u=>u.id===n?{...u,title:s}:u)})),console.warn(`[ChatSlice] persistSessionTitle failed for ${n}:`,i),i}},applyServerTitle:(n,r,s)=>e(o=>{const i=o.chats.find(l=>l.id===n);return!i||s<=(i.titleVersion??0)?o:{...o,chats:o.chats.map(l=>l.id===n?{...l,title:r,titleVersion:s,updatedAt:new Date().toISOString()}:l)}}),applyServerPinned:(n,r,s)=>e(o=>{const i=o.chats.find(d=>d.id===n);if(!i)return o;const l=Date.parse(s),u=i.updatedAt?Date.parse(i.updatedAt):NaN;return Number.isFinite(l)&&Number.isFinite(u)&&l<u||i.pinned===r?o:{...o,chats:o.chats.map(d=>d.id===n?{...d,pinned:r,updatedAt:s}:d)}}),pinSession:n=>{t().updateSession(n,{pinned:!0})},unpinSession:n=>{t().updateSession(n,{pinned:!1})},setMessages:(n,r)=>{t().chats.find(o=>o.id===n)&&t().updateSession(n,{messages:r})},addMessage:async(n,r)=>{const s=t().chats.find(i=>i.id===n);if(!s)return;const o=[...s.messages,r];t().updateSession(n,{messages:o})},updateMessage:(n,r,s)=>{const o=t().chats.find(l=>l.id===n);if(!o)return;const i=o.messages.map(l=>{if(l.id!==r)return l;const u={...l};return Object.keys(s).forEach(d=>{Object.prototype.hasOwnProperty.call(u,d)&&(u[d]=s[d])}),u});t().updateSession(n,{messages:i})},deleteMessage:async(n,r)=>{const s=t().chats.find(o=>o.id===n);if(!s)return{success:!1,sessionId:n,messageId:r,reason:"session_not_found"};if(!s.messages.some(o=>o.id===r))return{success:!1,sessionId:n,messageId:r,reason:"message_not_found"};try{await hr.deleteSessionMessage(n,r)}catch(o){return console.warn(`[ChatSlice] Failed to delete message ${r} from session ${n}:`,o),o instanceof Fi?o.status===404?{success:!1,sessionId:n,messageId:r,reason:"backend_not_found",statusCode:o.status,errorMessage:o.message}:o.status===409?{success:!1,sessionId:n,messageId:r,reason:"session_running",statusCode:o.status,errorMessage:o.message}:{success:!1,sessionId:n,messageId:r,reason:"backend_error",statusCode:o.status,errorMessage:o.message}:{success:!1,sessionId:n,messageId:r,reason:"backend_error",errorMessage:o instanceof Error?o.message:void 0}}return e(o=>({...o,chats:o.chats.map(i=>i.id===n?{...i,messages:i.messages.filter(l=>l.id!==r)}:i)})),{success:!0,sessionId:n,messageId:r}},refreshChats:async()=>wt.inFlight?wt.inFlight:wt.timer?(wt.trailingPromise||(wt.trailingPromise=new Promise((n,r)=>{wt.trailingResolve=n,wt.trailingReject=r})),wt.trailingPromise):(wt.timer=setTimeout(()=>{if(wt.timer=null,wt.trailingPromise){const n=Ig();Uf(Ya(e),n)}},Lw),Ya(e)),refreshChatsNow:async()=>{const n=Fw();Ee("[ChatSlice]","refreshChatsNow.start",{hadTrailingCallbacks:!!n,hasInflight:!!wt.inFlight});const r=wt.inFlight?Nw(e):Ya(e);return Uf(r,n),r},loadChats:async()=>{var i,l,u;Ee("[ChatSlice]","loadChats.start",{});let n=await hr.listSessions();if(!n.sessions||n.sessions.length===0){const d=(i=Wt.getState().getActiveModel())==null?void 0:i.trim(),h=(l=Wt.getState().providerConfig.defaults)==null?void 0:l.chat;Ee("[ChatSlice]","loadChats.createInitialSession",{defaultModel:d??null,defaultModelRef:h??null}),n={sessions:[(await hr.createSession({title:xt.t("chat.sidebar.newSession"),model:d,model_ref:h,provider:h==null?void 0:h.provider})).session]}}const r=n.sessions.map(cu),s=((u=r[0])==null?void 0:u.id)??null;Ee("[ChatSlice]","loadChats.listResolved",{count:n.sessions.length,currentSessionId:s});let o=t().executionBySession;for(const d of n.sessions)o=Gt(o,{type:"applySessionSummary",sessionId:d.id,summary:d});try{const d=await hr.getRunningSessions();if(Ee("[ChatSlice]","loadChats.runningSnapshot",{count:d.sessions.length}),d.sessions.length>0){const h=d.sessions.map(m=>{const b=[];for(const v of m.last_critical_events){if(Pg(v)){aw(v,r);continue}b.push(v)}return{sessionId:m.session_id,runId:m.run_id,criticalEvents:b}});o=Gt(o,{type:"applyRunningSnapshot",sessions:h},()=>new Date().toISOString())}}catch(d){Ee("[ChatSlice]","loadChats.runningSnapshot.error",{error:d})}e({chats:r,latestActiveSessionId:s,currentSessionId:s,executionBySession:o}),Ee("[ChatSlice]","loadChats.applied",{currentSessionId:s,chatCount:r.length,executionSessionCount:Object.keys(o||{}).length}),s&&(Ee("[ChatSlice]","loadChats.loadInitialHistory",{currentSessionId:s}),await t().loadChatHistory(s))},loadChatHistory:async(n,r)=>{var l,u,d,h,m,b,v,w,S,k,P,T,j,C,E,A;const s=(r==null?void 0:r.mode)??"replace",o=Math.max(0,(r==null?void 0:r.retries)??0),i=Math.max(0,(r==null?void 0:r.retryDelayMs)??0);Ee("[ChatSlice]","loadChatHistory.start",{sessionId:n,mode:s,retries:o,retryDelayMs:i,waitForAssistant:(r==null?void 0:r.waitForAssistant)??!1});for(let O=0;O<=o;O+=1)try{const D=t().chats.find(I=>I.id===n);if(!D){Ee("[ChatSlice]","loadChatHistory.skipMissingChat",{sessionId:n,attempt:O});return}const F=await hr.getHistory(n);Ee("[ChatSlice]","loadChatHistory.response",{sessionId:n,attempt:O,historyMessageCount:F.messages.length,localMessageCount:D.messages.length,localStoredMessageCount:D.messageCount??null,lastMessageId:((l=F.messages[F.messages.length-1])==null?void 0:l.id)??null,lastRole:((u=F.messages[F.messages.length-1])==null?void 0:u.role)??null});const N=(d=F.messages[F.messages.length-1])==null?void 0:d.role;if(r!=null&&r.waitForAssistant&&N==="user"&&O<o){const I=i>0?i*(O+1):200*(O+1);Ee("[ChatSlice]","loadChatHistory.waitForAssistant.retry",{sessionId:n,attempt:O,delay:I}),await new Promise(Q=>setTimeout(Q,I));continue}const q=$w(n,F.messages);if(s==="monotonic"){const I=D.messages||[],Q=I.length,G=q.length,Z=(h=q[q.length-1])==null?void 0:h.role,pe=(m=I[I.length-1])==null?void 0:m.role,$=I[I.length-1],oe=q[q.length-1],me=$==null?void 0:$.id,ne=oe==null?void 0:oe.id;let he=!1;if(G>Q?he=!0:G===Q&&(he=pe==="user"&&Z!=="user"||typeof me=="string"&&typeof ne=="string"&&me!==ne),Ee("[ChatSlice]","loadChatHistory.monotonicDecision",{sessionId:n,attempt:O,prevLen:Q,nextLen:G,prevLastRole:pe??null,nextLastRole:Z??null,prevLastId:me??null,nextLastId:ne??null,shouldReplace:he}),!he){t().updateSession(n,{messageCount:Math.max(D.messageCount??0,F.messages.length)}),Ee("[ChatSlice]","loadChatHistory.monotonicSkip",{sessionId:n,attempt:O,localMessageCount:D.messages.length,serverMessageCount:F.messages.length});return}}t().updateSession(n,{messages:q,messageCount:F.messages.length,config:{...D.config||{},compressionEvents:(F.compression_events||[]).map(I=>({id:I.id,createdAt:I.created_at,messagesCompressed:I.messages_compressed,segmentsRemoved:I.segments_removed})),syncCursor:{messageCount:F.messages.length,lastMessageId:((b=F.messages[F.messages.length-1])==null?void 0:b.id)??null,hasPendingQuestion:((S=(w=(v=t().executionBySession)==null?void 0:v[n])==null?void 0:w.interaction.respondMode)==null?void 0:S.sessionId)===n,pendingQuestionToolCallId:((T=(P=(k=t().executionBySession)==null?void 0:k[n])==null?void 0:P.interaction.respondMode)==null?void 0:T.sessionId)===n?((E=(C=(j=t().executionBySession)==null?void 0:j[n])==null?void 0:C.interaction.respondMode)==null?void 0:E.toolCallId)??null:null}}}),Ee("[ChatSlice]","loadChatHistory.applied",{sessionId:n,attempt:O,mode:s,messageCount:F.messages.length,lastMessageId:((A=F.messages[F.messages.length-1])==null?void 0:A.id)??null});return}catch(D){if(O>=o){console.warn(`[ChatSlice] Failed to load history for ${n}:`,D),Ee("[ChatSlice]","loadChatHistory.error.final",{sessionId:n,attempt:O,retries:o,error:D});return}const F=i>0?i*(O+1):200*(O+1);Ee("[ChatSlice]","loadChatHistory.error.retry",{sessionId:n,attempt:O,delay:F,error:D}),await new Promise(N=>setTimeout(N,F))}}});class uu extends Error{constructor(n="Proxy authentication required"){super(n);Mt(this,"code","proxy_auth_required");this.name="ProxyAuthRequiredError"}}const as=class as{constructor(){}static getInstance(){return as.instance||(as.instance=new as),as.instance}resolveOpenAICompatBaseUrl(){const t=ws().trim().replace(/\/+$/,"");return t.endsWith("/openai/v1")?t:`${t.endsWith("/v1")?t.slice(0,-3):t}/openai/v1`}async getModels(){var t,n;try{return(await new cd({baseUrl:this.resolveOpenAICompatBaseUrl()}).get("models")).data.map(o=>o.id)}catch(r){if(console.error("Failed to fetch models from HTTP API:",r),r instanceof Fi){if(r.status===428)throw new uu(r.message);let s;if(r.body)try{s=JSON.parse(r.body)}catch{}if(s&&typeof s=="object"&&"error"in s&&((t=s.error)==null?void 0:t.code)==="proxy_auth_required")throw new uu(((n=s.error)==null?void 0:n.message)||r.message)}throw r}}};Mt(as,"instance");let du=as;const Og=du.getInstance(),zw=async e=>{var t;if(typeof navigator>"u"||!((t=navigator.clipboard)!=null&&t.writeText))throw new Error("navigator.clipboard.writeText is unavailable");await navigator.clipboard.writeText(e)},Ww=e=>{if(typeof document>"u")throw new Error("document is unavailable");const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();const n=document.execCommand("copy");if(document.body.removeChild(t),!n)throw new Error("document.execCommand('copy') returned false")},Pr=async e=>{try{await zw(e);return}catch(t){try{Ww(e);return}catch(n){const r=t instanceof Error?t.message:String(t),s=n instanceof Error?n.message:String(n);throw new Error(`Clipboard copy failed: navigator(${r}); fallback(${s})`)}}};class Uw{async copyToClipboard(t){await Pr(t)}async getBambooConfig(){try{return await rt.get("bamboo/config")}catch(t){return console.error("Failed to fetch Bamboo config:",t),{}}}async getBambooTools(){try{return await rt.get("bamboo/tools")}catch(t){return console.error("Failed to fetch Bamboo tools:",t),{tools:[]}}}async getModelLimitDefaults(){try{return await rt.get("bamboo/model-limits/defaults")}catch(t){return console.error("Failed to fetch model limit defaults:",t),{model_limits:[]}}}async setBambooConfig(t){return rt.post("bamboo/config",t)}async validateBambooConfigPatch(t){return rt.post("bamboo/config/validate",t)}async setProxyAuth(t){return rt.post("bamboo/proxy-auth",t)}async getProxyAuthStatus(){try{return await rt.get("bamboo/proxy-auth/status")}catch(t){return console.error("Failed to fetch proxy auth status:",t),{configured:!1,username:null}}}async clearProxyAuth(){return rt.post("bamboo/proxy-auth",{username:"",password:""})}async resetBambooConfig(){return rt.post("bamboo/config/reset",{})}async saveWorkflow(t,n){return rt.post("bamboo/workflows",{name:t,content:n})}async deleteWorkflow(t){return rt.delete(`bamboo/workflows/${encodeURIComponent(t)}`)}async getKeywordMaskingConfig(){try{return await rt.get("bamboo/keyword-masking")}catch(t){return console.error("Failed to fetch keyword masking config:",t),{entries:[]}}}async updateKeywordMaskingConfig(t){return rt.post("bamboo/keyword-masking",t)}async validateKeywordEntries(t){return rt.post("bamboo/keyword-masking/validate",t)}async getSetupStatus(){return await rt.get("bamboo/setup/status")}async markSetupComplete(){return rt.post("bamboo/setup/complete",{})}async resetSetupStatus(){await rt.post("bamboo/setup/incomplete",{})}async getAccessStatus(){return rt.get("bamboo/access/status")}async verifyAccessPassword(t){return rt.post("bamboo/access/verify",{password:t})}async updateAccessPassword(t){return rt.post("bamboo/access/password",t)}}const ls=class ls{constructor(){Mt(this,"httpUtilityService",new Uw)}static getInstance(){return ls.instance||(ls.instance=new ls),ls.instance}getUtilityService(){return{copyToClipboard:t=>this.httpUtilityService.copyToClipboard(t),getBambooConfig:()=>this.httpUtilityService.getBambooConfig(),getBambooTools:()=>this.httpUtilityService.getBambooTools(),getModelLimitDefaults:()=>this.httpUtilityService.getModelLimitDefaults(),setBambooConfig:t=>this.httpUtilityService.setBambooConfig(t),validateBambooConfigPatch:t=>this.httpUtilityService.validateBambooConfigPatch(t),setProxyAuth:t=>this.httpUtilityService.setProxyAuth(t),getProxyAuthStatus:()=>this.httpUtilityService.getProxyAuthStatus(),clearProxyAuth:()=>this.httpUtilityService.clearProxyAuth(),resetBambooConfig:()=>this.httpUtilityService.resetBambooConfig(),resetSetupStatus:()=>this.httpUtilityService.resetSetupStatus(),saveWorkflow:(t,n)=>this.httpUtilityService.saveWorkflow(t,n),deleteWorkflow:t=>this.httpUtilityService.deleteWorkflow(t),getKeywordMaskingConfig:()=>this.httpUtilityService.getKeywordMaskingConfig(),updateKeywordMaskingConfig:t=>this.httpUtilityService.updateKeywordMaskingConfig(t),validateKeywordEntries:t=>this.httpUtilityService.validateKeywordEntries(t),getSetupStatus:()=>this.httpUtilityService.getSetupStatus(),markSetupComplete:()=>this.httpUtilityService.markSetupComplete(),getAccessStatus:()=>this.httpUtilityService.getAccessStatus(),verifyAccessPassword:t=>this.httpUtilityService.verifyAccessPassword(t),updateAccessPassword:t=>this.httpUtilityService.updateAccessPassword(t)}}async copyToClipboard(t){return this.getUtilityService().copyToClipboard(t)}async getBambooConfig(){return this.getUtilityService().getBambooConfig()}async getBambooTools(){return this.getUtilityService().getBambooTools()}async getModelLimitDefaults(){return this.getUtilityService().getModelLimitDefaults()}async setBambooConfig(t){return this.getUtilityService().setBambooConfig(t)}async validateBambooConfigPatch(t){return this.getUtilityService().validateBambooConfigPatch(t)}async setProxyAuth(t){return this.getUtilityService().setProxyAuth(t)}async getProxyAuthStatus(){return this.getUtilityService().getProxyAuthStatus()}async clearProxyAuth(){return this.getUtilityService().clearProxyAuth()}async resetBambooConfig(){return this.getUtilityService().resetBambooConfig()}async resetSetupStatus(){return this.getUtilityService().resetSetupStatus()}async saveWorkflow(t,n){return this.getUtilityService().saveWorkflow(t,n)}async deleteWorkflow(t){return this.getUtilityService().deleteWorkflow(t)}async getKeywordMaskingConfig(){return this.getUtilityService().getKeywordMaskingConfig()}async updateKeywordMaskingConfig(t){return this.getUtilityService().updateKeywordMaskingConfig(t)}async validateKeywordEntries(t){return this.getUtilityService().validateKeywordEntries(t)}async getSetupStatus(){return this.getUtilityService().getSetupStatus()}async markSetupComplete(){return this.getUtilityService().markSetupComplete()}async getAccessStatus(){return this.getUtilityService().getAccessStatus()}async verifyAccessPassword(t){return this.getUtilityService().verifyAccessPassword(t)}async updateAccessPassword(t){return this.getUtilityService().updateAccessPassword(t)}};Mt(ls,"instance");let Qs=ls;const rs=Qs.getInstance();let So=null,xo=null;const vc=(e,t)=>e instanceof Error&&e.message.trim()?e.message:t,fu=Hr((e,t)=>({config:null,proxyAuthStatus:null,isLoadingConfig:!1,isLoadingProxyAuthStatus:!1,lastLoadedAt:null,error:null,loadConfig:async({force:n=!1}={})=>{const r=t().config;if(!n&&r)return r;if(So)return So;So=(async()=>{e({isLoadingConfig:!0,error:null});try{const s=await rs.getBambooConfig()??{};return e({config:s,lastLoadedAt:Date.now(),error:null}),s}catch(s){const o=vc(s,"Failed to load Bamboo config");throw e({error:o}),s}finally{e({isLoadingConfig:!1})}})();try{return await So}finally{So=null}},saveConfig:async n=>{e({isLoadingConfig:!0,error:null,config:n});try{const r=await rs.setBambooConfig(n);return e({config:r,lastLoadedAt:Date.now(),error:null}),r}catch(r){const s=vc(r,"Failed to save Bamboo config");throw e({error:s}),r}finally{e({isLoadingConfig:!1})}},patchConfig:async n=>{const s={...await t().loadConfig()??{},...n??{}};return t().saveConfig(s)},loadProxyAuthStatus:async({force:n=!1}={})=>{const r=t().proxyAuthStatus;if(!n&&r)return r;if(xo)return xo;xo=(async()=>{e({isLoadingProxyAuthStatus:!0,error:null});try{const s=await rs.getProxyAuthStatus();return e({proxyAuthStatus:s,error:null}),s}catch(s){const o=vc(s,"Failed to load proxy auth status");throw e({error:o}),s}finally{e({isLoadingProxyAuthStatus:!1})}})();try{return await xo}finally{xo=null}},applyProxyAuth:async n=>{await rs.setProxyAuth(n),await t().loadProxyAuthStatus({force:!0})},clearProxyAuth:async()=>{await rs.clearProxyAuth(),await t().loadProxyAuthStatus({force:!0})}}));let wo=null;const qw=(e,t)=>({models:[],selectedModel:void 0,isLoadingModels:!1,modelsError:null,configModel:void 0,setSelectedModel:n=>{e({selectedModel:n})},loadConfigModel:async()=>{try{const n=await fu.getState().loadConfig(),r=typeof(n==null?void 0:n.model)=="string"?n.model:void 0;r&&e({configModel:r})}catch(n){console.error("Failed to load model from config:",n)}},fetchModels:async()=>{if(wo)return wo;wo=(async()=>{e({isLoadingModels:!0,modelsError:null});try{try{if(!(await rs.getSetupStatus()).is_complete){Ee("[ModelSlice]","Setup not complete, skipping model fetch"),e({models:[],selectedModel:void 0,isLoadingModels:!1,modelsError:"Complete setup to access all models"});return}}catch(r){console.error("Failed to check setup status:",r)}const n=await Og.getModels();e(r=>{const s=r.selectedModel;let o=r.selectedModel;return s&&n.includes(s)||(n.length>0?o=n[0]:o=void 0),{...r,models:n,selectedModel:o,modelsError:n.length>0?null:"No available model options"}}),t().models.length===0&&console.warn("No models available from service")}catch(n){const r=n instanceof Error?n.message:String(n);if(console.error("Failed to fetch models:",n),n instanceof uu){e(s=>({...s,models:s.models,selectedModel:s.selectedModel,modelsError:r||"Proxy authentication required. Please configure proxy auth."}));return}e(s=>({...s,models:[],selectedModel:s.selectedModel,modelsError:r}))}finally{e({isLoadingModels:!1})}})();try{await wo}finally{wo=null}}}),Hw=["system_prompt","system_prompt_selected_id"],Sc=e=>({id:e.id,name:e.name||e.id,content:e.content||"",description:e.description,isDefault:!!e.is_default}),Nr=class Nr{constructor(){Mt(this,"deprecatedKeysCleanupDone",!1)}static getInstance(){return Nr.instance||(Nr.instance=new Nr),Nr.instance.cleanupDeprecatedPromptStorageKeys(),Nr.instance}cleanupDeprecatedPromptStorageKeys(){if(!this.deprecatedKeysCleanupDone){this.deprecatedKeysCleanupDone=!0;try{for(const t of Hw)localStorage.removeItem(t)}catch(t){console.warn("[SystemPromptService] Failed to cleanup deprecated prompt storage keys:",t)}}}async getSystemPromptPresets(){try{const t=await St.get("prompt-presets"),r=(Array.isArray(t==null?void 0:t.prompts)?t.prompts:[]).filter(s=>s.id&&s.id.trim().length>0).map(Sc);if(r.length>0)return r}catch(t){console.error("Failed to load prompt presets from backend:",t)}return dl()}async createSystemPromptPreset(t){var s;const n={name:t.name,content:t.content};(s=t.id)!=null&&s.trim()&&(n.id=t.id.trim()),t.description!==void 0&&(n.description=t.description);const r=await St.post("prompt-presets",n);if(!(r!=null&&r.prompt))throw new Error("Backend did not return created prompt preset");return Sc(r.prompt)}async updateSystemPromptPreset(t){const n=encodeURIComponent(t.id),r={name:t.name,content:t.content,description:t.description},s=await St.patch(`prompt-presets/${n}`,r);if(!(s!=null&&s.prompt))throw new Error("Backend did not return updated prompt preset");return Sc(s.prompt)}async deleteSystemPromptPreset(t){const n=encodeURIComponent(t);await St.delete(`prompt-presets/${n}`)}async findPresetById(t){return(await this.getSystemPromptPresets()).find(r=>r.id===t)}async getCurrentSystemPromptContent(t){const n=await this.findPresetById(t);if(n)return n.content;const r=await this.getSystemPromptPresets(),s=r.find(o=>o.isDefault)||r[0];return(s==null?void 0:s.content)||""}};Mt(Nr,"instance");let fl=Nr;const qf="copilot_last_selected_prompt_id",$g="copilot_custom_system_prompts_v2",Lg="copilot_custom_system_prompts_v2_migrated_to_backend",Fg="general_assistant",ud=80,Us=fl.getInstance();let xa=null;function dd(e){const t=e.toLowerCase().trim().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"");return t.length===0?`prompt_${Date.now()}_${Math.random().toString(36).substring(2,9)}`:t.slice(0,ud)}function Dg(e){if(typeof e!="string")return null;const t=e.toLowerCase().trim().replace(/[^a-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return t?t.slice(0,ud):null}function Ng(e,t){if(!t.has(e))return e;let n=2;for(;;){const r=`_${n}`,o=`${e.slice(0,Math.max(0,ud-r.length))}${r}`;if(!t.has(o))return o;n+=1}}function Bg(){try{const e=localStorage.getItem($g);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const n=new Set,r=[];for(const s of t){const o=typeof(s==null?void 0:s.name)=="string"?s.name.trim():"",i=typeof(s==null?void 0:s.content)=="string"?s.content.trim():"";if(!o||!i)continue;const u=Dg(s==null?void 0:s.id)||dd(o),d=Ng(u,n);d!==Fg&&(n.add(d),r.push({id:d,name:o,content:i,description:typeof(s==null?void 0:s.description)=="string"&&s.description.trim()||void 0,isDefault:!!(s!=null&&s.isDefault)}))}return r}catch(e){return console.error("[promptSlice] Failed to read legacy custom prompts:",e),[]}}function zg(){try{return localStorage.getItem(Lg)==="1"}catch(e){return console.error("[promptSlice] Failed to read migration marker:",e),!1}}function Hf(){try{localStorage.setItem(Lg,"1")}catch(e){console.error("[promptSlice] Failed to write migration marker:",e)}}function Yf(){try{localStorage.removeItem($g)}catch(e){console.error("[promptSlice] Failed to clear legacy custom prompts:",e)}}async function Yw(){var s,o;if(zg())return;const e=Bg();if(e.length===0){Yf(),Hf();return}const t=await Us.getSystemPromptPresets(),n=new Set(t.map(i=>i.id));let r=!1;for(const i of e){const l=(s=i.name)==null?void 0:s.trim(),u=(o=i.content)==null?void 0:o.trim();if(!l||!u||i.id===Fg||i.isDefault)continue;const d=Dg(i.id)||dd(l),h=Ng(d,n);try{const m=await Us.createSystemPromptPreset({id:h,name:l,content:u,description:i.description});n.add(m.id)}catch(m){r=!0,console.error(`[promptSlice] Failed to migrate legacy prompt '${l}' to backend:`,m)}}r||(Yf(),Hf())}async function Xw(){xa||(xa=Yw().finally(()=>{xa=null})),await xa}const Kw=(e,t)=>({systemPrompts:[],lastSelectedPromptId:localStorage.getItem(qf)||null,loadSystemPrompts:async()=>{try{await Xw()}catch(s){console.warn("[promptSlice] Legacy prompt migration skipped:",s)}let n=[];try{n=await Us.getSystemPromptPresets()}catch(s){console.error("Failed to load system prompts from backend:",s)}let r=n.length?n:dl();if(!zg()){const s=Bg();r=Vw(r,s)}r.length===0&&(r=dl()),e({systemPrompts:r})},addSystemPrompt:async n=>{try{await Us.createSystemPromptPreset({id:dd(n.name),name:n.name,content:n.content,description:n.description}),await t().loadSystemPrompts()}catch(r){throw console.error("Failed to add system prompt:",r),r}},updateSystemPrompt:async n=>{try{await Us.updateSystemPromptPreset(n),await t().loadSystemPrompts()}catch(r){throw console.error("Failed to update system prompt:",r),r}},deleteSystemPrompt:async n=>{try{await Us.deleteSystemPromptPreset(n),await t().loadSystemPrompts()}catch(r){throw console.error("Failed to delete system prompt:",r),r}},setLastSelectedPromptId:n=>{e({lastSelectedPromptId:n});try{localStorage.setItem(qf,n)}catch(r){console.error("Failed to save last selected prompt ID to localStorage:",r)}}}),Vw=(e,t)=>{const n=new Map;return e.forEach(r=>{n.set(r.id,r)}),t.forEach(r=>{n.set(r.id,r)}),Array.from(n.values())},Gw=()=>({});class Jw{async listSkills(t,n){const r=new URLSearchParams;t!=null&&t.search&&r.append("search",t.search),t!=null&&t.includeDisabled&&r.append("include_disabled","true"),n&&r.append("refresh","true");const s=r.toString(),o=s?`skills?${s}`:"skills";return rt.get(o)}async getSkill(t){return rt.get(`skills/${t}`)}async getFilteredTools(t){const n=t?`?session_id=${encodeURIComponent(t)}`:"";return(await rt.get(`skills/filtered-tools${n}`)).tools??[]}}const Xf=new Jw,Qw=(e,t)=>({skills:[],isLoadingSkills:!1,skillsError:null,loadSkills:async(n,r)=>{e({isLoadingSkills:!0,skillsError:null});try{const s=await Xf.listSkills(n,r);e({skills:s.skills,isLoadingSkills:!1})}catch(s){e({skillsError:s instanceof Error?s.message:xt.t("components.skillManager.loadFailed"),isLoadingSkills:!1})}},getSkill:async n=>{e({isLoadingSkills:!0,skillsError:null});try{const r=await Xf.getSkill(n),s=t().skills,i=s.findIndex(l=>l.id===r.id)>=0?s.map(l=>l.id===r.id?r:l):[...s,r];e({skills:i,isLoadingSkills:!1})}catch(r){e({skillsError:r instanceof Error?r.message:xt.t("components.skillManager.getFailed"),isLoadingSkills:!1})}},clearSkillsError:()=>{e({skillsError:null})}}),Zw=e=>({tokenUsages:{},truncationOccurred:{},segmentsRemoved:{},updateTokenUsage:(t,n)=>e(r=>({tokenUsages:{...r.tokenUsages,[t]:n}})),setTruncationInfo:(t,n,r)=>e(s=>({truncationOccurred:{...s.truncationOccurred,[t]:n},segmentsRemoved:{...s.segmentsRemoved,[t]:r}})),clearTokenUsage:t=>e(n=>{const{[t]:r,...s}=n.tokenUsages,{[t]:o,...i}=n.truncationOccurred,{[t]:l,...u}=n.segmentsRemoved;return{tokenUsages:s,truncationOccurred:i,segmentsRemoved:u}})}),e_=Jn.getInstance(),t_=(e,t)=>({taskLists:{},taskListVersions:{},activeItems:{},evaluationStates:{},setTaskList:(n,r)=>e(s=>({taskLists:{...s.taskLists,[n]:r},taskListVersions:{...s.taskListVersions,[n]:r.version||0}})),loadTaskList:async n=>{const r=await e_.getTaskList(n);return r?(t().setTaskList(r.session_id||n,r),r):null},updateTaskListDelta:(n,r)=>e(s=>{const o=s.taskListVersions[n]||0;if(r.version<=o)return s;const i=s.taskLists[n];if(!i)return s;const l=i.items.map(u=>u.id===r.item_id?{...u,status:r.status,tool_calls_count:r.tool_calls_count}:u);return{taskLists:{...s.taskLists,[n]:{...i,items:l,updated_at:new Date().toISOString()}},taskListVersions:{...s.taskListVersions,[n]:r.version},activeItems:{...s.activeItems,[n]:r.status==="in_progress"?r.item_id:null}}}),clearTaskList:n=>e(r=>{const{[n]:s,...o}=r.taskLists,{[n]:i,...l}=r.taskListVersions,{[n]:u,...d}=r.activeItems,{[n]:h,...m}=r.evaluationStates;return{taskLists:o,taskListVersions:l,activeItems:d,evaluationStates:m}}),getTaskListVersion:n=>t().taskListVersions[n]||0,setEvaluationState:(n,r)=>e(s=>({evaluationStates:{...s.evaluationStates,[n]:r}})),clearEvaluationState:n=>e(r=>{const{[n]:s,...o}=r.evaluationStates;return{evaluationStates:o}})});var Xa={exports:{}},n_=Xa.exports,Kf;function r_(){return Kf||(Kf=1,function(e,t){((n,r)=>{e.exports=r()})(n_,function(){var n=function(c,f){return(n=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(p,g){p.__proto__=g}:function(p,g){for(var x in g)Object.prototype.hasOwnProperty.call(g,x)&&(p[x]=g[x])}))(c,f)},r=function(){return(r=Object.assign||function(c){for(var f,p=1,g=arguments.length;p<g;p++)for(var x in f=arguments[p])Object.prototype.hasOwnProperty.call(f,x)&&(c[x]=f[x]);return c}).apply(this,arguments)};function s(c,f,p){for(var g,x=0,_=f.length;x<_;x++)!g&&x in f||((g=g||Array.prototype.slice.call(f,0,x))[x]=f[x]);return c.concat(g||Array.prototype.slice.call(f))}var o=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:wS,i=Object.keys,l=Array.isArray;function u(c,f){return typeof f=="object"&&i(f).forEach(function(p){c[p]=f[p]}),c}typeof Promise>"u"||o.Promise||(o.Promise=Promise);var d=Object.getPrototypeOf,h={}.hasOwnProperty;function m(c,f){return h.call(c,f)}function b(c,f){typeof f=="function"&&(f=f(d(c))),(typeof Reflect>"u"?i:Reflect.ownKeys)(f).forEach(function(p){w(c,p,f[p])})}var v=Object.defineProperty;function w(c,f,p,g){v(c,f,u(p&&m(p,"get")&&typeof p.get=="function"?{get:p.get,set:p.set,configurable:!0}:{value:p,configurable:!0,writable:!0},g))}function S(c){return{from:function(f){return c.prototype=Object.create(f.prototype),w(c.prototype,"constructor",c),{extend:b.bind(null,c.prototype)}}}}var k=Object.getOwnPropertyDescriptor,P=[].slice;function T(c,f,p){return P.call(c,f,p)}function j(c,f){return f(c)}function C(c){if(!c)throw new Error("Assertion Failed")}function E(c){o.setImmediate?setImmediate(c):setTimeout(c,0)}function A(c,f){if(typeof f=="string"&&m(c,f))return c[f];if(!f)return c;if(typeof f!="string"){for(var p=[],g=0,x=f.length;g<x;++g){var _=A(c,f[g]);p.push(_)}return p}var M,R=f.indexOf(".");return R===-1||(M=c[f.substr(0,R)])==null?void 0:A(M,f.substr(R+1))}function O(c,f,p){if(c&&f!==void 0&&!("isFrozen"in Object&&Object.isFrozen(c)))if(typeof f!="string"&&"length"in f){C(typeof p!="string"&&"length"in p);for(var g=0,x=f.length;g<x;++g)O(c,f[g],p[g])}else{var _,M,R=f.indexOf(".");R!==-1?(_=f.substr(0,R),(R=f.substr(R+1))===""?p===void 0?l(c)&&!isNaN(parseInt(_))?c.splice(_,1):delete c[_]:c[_]=p:O(M=(M=c[_])&&m(c,_)?M:c[_]={},R,p)):p===void 0?l(c)&&!isNaN(parseInt(f))?c.splice(f,1):delete c[f]:c[f]=p}}function D(c){var f,p={};for(f in c)m(c,f)&&(p[f]=c[f]);return p}var F=[].concat;function N(c){return F.apply([],c)}var fe="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(N([8,16,32,64].map(function(c){return["Int","Uint","Float"].map(function(f){return f+c+"Array"})}))).filter(function(c){return o[c]}),q=new Set(fe.map(function(c){return o[c]})),I=null;function Q(c){return I=new WeakMap,c=function f(p){if(!p||typeof p!="object")return p;var g=I.get(p);if(g)return g;if(l(p)){g=[],I.set(p,g);for(var x=0,_=p.length;x<_;++x)g.push(f(p[x]))}else if(q.has(p.constructor))g=p;else{var M,R=d(p);for(M in g=R===Object.prototype?{}:Object.create(R),I.set(p,g),p)m(p,M)&&(g[M]=f(p[M]))}return g}(c),I=null,c}var G={}.toString;function Z(c){return G.call(c).slice(8,-1)}var pe=typeof Symbol<"u"?Symbol.iterator:"@@iterator",$=typeof pe=="symbol"?function(c){var f;return c!=null&&(f=c[pe])&&f.apply(c)}:function(){return null};function oe(c,f){f=c.indexOf(f),0<=f&&c.splice(f,1)}var me={};function ne(c){var f,p,g,x;if(arguments.length===1){if(l(c))return c.slice();if(this===me&&typeof c=="string")return[c];if(x=$(c))for(p=[];!(g=x.next()).done;)p.push(g.value);else{if(c==null)return[c];if(typeof(f=c.length)!="number")return[c];for(p=new Array(f);f--;)p[f]=c[f]}}else for(f=arguments.length,p=new Array(f);f--;)p[f]=arguments[f];return p}var he=typeof Symbol<"u"?function(c){return c[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},fe=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],It=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(fe),ue={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function de(c,f){this.name=c,this.message=f}function Ce(c,f){return c+". Errors: "+Object.keys(f).map(function(p){return f[p].toString()}).filter(function(p,g,x){return x.indexOf(p)===g}).join(`
12
12
  `)}function ze(c,f,p,g){this.failures=f,this.failedKeys=g,this.successCount=p,this.message=Ce(c,f)}function Le(c,f){this.name="BulkError",this.failures=Object.keys(f).map(function(p){return f[p]}),this.failuresByPos=f,this.message=Ce(c,this.failures)}S(de).from(Error).extend({toString:function(){return this.name+": "+this.message}}),S(ze).from(de),S(Le).from(de);var lt=It.reduce(function(c,f){return c[f]=f+"Error",c},{}),L=de,le=It.reduce(function(c,f){var p=f+"Error";function g(x,_){this.name=p,x?typeof x=="string"?(this.message="".concat(x).concat(_?`
13
- `+_:""),this.inner=_||null):typeof x=="object"&&(this.message="".concat(x.name," ").concat(x.message),this.inner=x):(this.message=ue[f]||p,this.inner=null)}return S(g).from(L),c[f]=g,c},{}),Ae=(le.Syntax=SyntaxError,le.Type=TypeError,le.Range=RangeError,fe.reduce(function(c,f){return c[f+"Error"]=le[f],c},{}));fe=It.reduce(function(c,f){return["Syntax","Type","Range"].indexOf(f)===-1&&(c[f+"Error"]=le[f]),c},{});function Ie(){}function He(c){return c}function dt(c,f){return c==null||c===He?f:function(p){return f(c(p))}}function pt(c,f){return function(){c.apply(this,arguments),f.apply(this,arguments)}}function $t(c,f){return c===Ie?f:function(){var p=c.apply(this,arguments),g=(p!==void 0&&(arguments[0]=p),this.onsuccess),x=this.onerror,_=(this.onsuccess=null,this.onerror=null,f.apply(this,arguments));return g&&(this.onsuccess=this.onsuccess?pt(g,this.onsuccess):g),x&&(this.onerror=this.onerror?pt(x,this.onerror):x),_!==void 0?_:p}}function Qt(c,f){return c===Ie?f:function(){c.apply(this,arguments);var p=this.onsuccess,g=this.onerror;this.onsuccess=this.onerror=null,f.apply(this,arguments),p&&(this.onsuccess=this.onsuccess?pt(p,this.onsuccess):p),g&&(this.onerror=this.onerror?pt(g,this.onerror):g)}}function rn(c,f){return c===Ie?f:function(x){var g=c.apply(this,arguments),x=(u(x,g),this.onsuccess),_=this.onerror,M=(this.onsuccess=null,this.onerror=null,f.apply(this,arguments));return x&&(this.onsuccess=this.onsuccess?pt(x,this.onsuccess):x),_&&(this.onerror=this.onerror?pt(_,this.onerror):_),g===void 0?M===void 0?void 0:M:u(g,M)}}function _n(c,f){return c===Ie?f:function(){return f.apply(this,arguments)!==!1&&c.apply(this,arguments)}}function At(c,f){return c===Ie?f:function(){var p=c.apply(this,arguments);if(p&&typeof p.then=="function"){for(var g=this,x=arguments.length,_=new Array(x);x--;)_[x]=arguments[x];return p.then(function(){return f.apply(g,_)})}return f.apply(this,arguments)}}fe.ModifyError=ze,fe.DexieError=de,fe.BulkError=Le;var Xt=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Kt(c){Xt=c}var gn={},On=100,Mn=typeof Promise>"u"?[]:(It=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[Mn=crypto.subtle.digest("SHA-512",new Uint8Array([0])),d(Mn),It]:[It,d(It),It]),It=Mn[0],js=Mn[1],js=js&&js.then,_t=It&&It.constructor,bt=!!Mn[2],ye=function(c,f){fn.push([c,f]),Te&&(queueMicrotask(Ct),Te=!1)},We=!0,Te=!0,qe=[],Lt=[],$n=He,Vt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Ie,pgp:!1,env:{},finalize:Ie},$e=Vt,fn=[],B=0,ie=[];function H(c){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var f=this._PSD=$e;if(typeof c!="function"){if(c!==gn)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Fe(this,this._value)}else this._state=null,this._value=null,++f.ref,function p(g,x){try{x(function(_){if(g._state===null){if(_===g)throw new TypeError("A promise cannot be resolved with itself.");var M=g._lib&&Tt();_&&typeof _.then=="function"?p(g,function(R,W){_ instanceof H?_._then(R,W):_.then(R,W)}):(g._state=!0,g._value=_,et(g)),M&&Ke()}},Fe.bind(null,g))}catch(_){Fe(g,_)}}(this,c)}var _e={get:function(){var c=$e,f=Xr;function p(g,x){var _=this,M=!c.global&&(c!==$e||f!==Xr),R=M&&!er(),W=new H(function(ee,Y){Xe(_,new Oe(ao(g,c,M,R),ao(x,c,M,R),ee,Y,c))});return this._consoleTask&&(W._consoleTask=this._consoleTask),W}return p.prototype=gn,p},set:function(c){w(this,"then",c&&c.prototype===gn?_e:{get:function(){return c},set:_e.set})}};function Oe(c,f,p,g,x){this.onFulfilled=typeof c=="function"?c:null,this.onRejected=typeof f=="function"?f:null,this.resolve=p,this.reject=g,this.psd=x}function Fe(c,f){var p,g;Lt.push(f),c._state===null&&(p=c._lib&&Tt(),f=$n(f),c._state=!1,c._value=f,g=c,qe.some(function(x){return x._value===g._value})||qe.push(g),et(c),p)&&Ke()}function et(c){var f=c._listeners;c._listeners=[];for(var p=0,g=f.length;p<g;++p)Xe(c,f[p]);var x=c._PSD;--x.ref||x.finalize(),B===0&&(++B,ye(function(){--B==0&&Nt()},[]))}function Xe(c,f){if(c._state===null)c._listeners.push(f);else{var p=c._state?f.onFulfilled:f.onRejected;if(p===null)return(c._state?f.resolve:f.reject)(c._value);++f.psd.ref,++B,ye(kt,[p,c,f])}}function kt(c,f,p){try{var g,x=f._value;!f._state&&Lt.length&&(Lt=[]),g=Xt&&f._consoleTask?f._consoleTask.run(function(){return c(x)}):c(x),f._state||Lt.indexOf(x)!==-1||(_=>{for(var M=qe.length;M;)if(qe[--M]._value===_._value)return qe.splice(M,1)})(f),p.resolve(g)}catch(_){p.reject(_)}finally{--B==0&&Nt(),--p.psd.ref||p.psd.finalize()}}function Ct(){cr(Vt,function(){Tt()&&Ke()})}function Tt(){var c=We;return Te=We=!1,c}function Ke(){var c,f,p;do for(;0<fn.length;)for(c=fn,fn=[],p=c.length,f=0;f<p;++f){var g=c[f];g[0].apply(null,g[1])}while(0<fn.length);Te=We=!0}function Nt(){for(var c=qe,f=(qe=[],c.forEach(function(g){g._PSD.onunhandled.call(null,g._value,g)}),ie.slice(0)),p=f.length;p;)f[--p]()}function Se(c){return new H(gn,!1,c)}function De(c,f){var p=$e;return function(){var g=Tt(),x=$e;try{return tr(p,!0),c.apply(this,arguments)}catch(_){f&&f(_)}finally{tr(x,!1),g&&Ke()}}}b(H.prototype,{then:_e,_then:function(c,f){Xe(this,new Oe(null,null,c,f,$e))},catch:function(c){var f,p;return arguments.length===1?this.then(null,c):(f=c,p=arguments[1],typeof f=="function"?this.then(null,function(g){return(g instanceof f?p:Se)(g)}):this.then(null,function(g){return(g&&g.name===f?p:Se)(g)}))},finally:function(c){return this.then(function(f){return H.resolve(c()).then(function(){return f})},function(f){return H.resolve(c()).then(function(){return Se(f)})})},timeout:function(c,f){var p=this;return c<1/0?new H(function(g,x){var _=setTimeout(function(){return x(new le.Timeout(f))},c);p.then(g,x).finally(clearTimeout.bind(null,_))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&w(H.prototype,Symbol.toStringTag,"Dexie.Promise"),Vt.env=na(),b(H,{all:function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.length===0&&f([]);var g=c.length;c.forEach(function(x,_){return H.resolve(x).then(function(M){c[_]=M,--g||f(c)},p)})})},resolve:function(c){return c instanceof H?c:c&&typeof c.then=="function"?new H(function(f,p){c.then(f,p)}):new H(gn,!0,c)},reject:Se,race:function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.map(function(g){return H.resolve(g).then(f,p)})})},PSD:{get:function(){return $e},set:function(c){return $e=c}},totalEchoes:{get:function(){return Xr}},newPSD:Zn,usePSD:cr,scheduler:{get:function(){return ye},set:function(c){ye=c}},rejectionMapper:{get:function(){return $n},set:function(c){$n=c}},follow:function(c,f){return new H(function(p,g){return Zn(function(x,_){var M=$e;M.unhandleds=[],M.onunhandled=_,M.finalize=pt(function(){var R,W=this;R=function(){W.unhandleds.length===0?x():_(W.unhandleds[0])},ie.push(function ee(){R(),ie.splice(ie.indexOf(ee),1)}),++B,ye(function(){--B==0&&Nt()},[])},M.finalize),c()},f,p,g)})}}),_t&&(_t.allSettled&&w(H,"allSettled",function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f){c.length===0&&f([]);var p=c.length,g=new Array(p);c.forEach(function(x,_){return H.resolve(x).then(function(M){return g[_]={status:"fulfilled",value:M}},function(M){return g[_]={status:"rejected",reason:M}}).then(function(){return--p||f(g)})})})}),_t.any&&typeof AggregateError<"u"&&w(H,"any",function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.length===0&&p(new AggregateError([]));var g=c.length,x=new Array(g);c.forEach(function(_,M){return H.resolve(_).then(function(R){return f(R)},function(R){x[M]=R,--g||p(new AggregateError(x))})})})}),_t.withResolvers)&&(H.withResolvers=_t.withResolvers);var Ve={awaits:0,echoes:0,id:0},Ot=0,Zt=[],Qn=0,Xr=0,io=0;function Zn(c,M,p,g){var x=$e,_=Object.create(x),M=(_.parent=x,_.ref=0,_.global=!1,_.id=++io,Vt.env,_.env=bt?{Promise:H,PromiseProp:{value:H,configurable:!0,writable:!0},all:H.all,race:H.race,allSettled:H.allSettled,any:H.any,resolve:H.resolve,reject:H.reject}:{},M&&u(_,M),++x.ref,_.finalize=function(){--this.parent.ref||this.parent.finalize()},cr(_,c,p,g));return _.ref===0&&_.finalize(),M}function lr(){return Ve.id||(Ve.id=++Ot),++Ve.awaits,Ve.echoes+=On,Ve.id}function er(){return!!Ve.awaits&&(--Ve.awaits==0&&(Ve.id=0),Ve.echoes=Ve.awaits*On,!0)}function Cs(c){return Ve.echoes&&c&&c.constructor===_t?(lr(),c.then(function(f){return er(),f},function(f){return er(),Ut(f)})):c}function Ul(){var c=Zt[Zt.length-1];Zt.pop(),tr(c,!1)}function tr(c,f){var p,g,x=$e;(f?!Ve.echoes||Qn++&&c===$e:!Qn||--Qn&&c===$e)||queueMicrotask(f?(function(_){++Xr,Ve.echoes&&--Ve.echoes!=0||(Ve.echoes=Ve.awaits=Ve.id=0),Zt.push($e),tr(_,!0)}).bind(null,c):Ul),c!==$e&&($e=c,x===Vt&&(Vt.env=na()),bt)&&(p=Vt.env.Promise,g=c.env,x.global||c.global)&&(Object.defineProperty(o,"Promise",g.PromiseProp),p.all=g.all,p.race=g.race,p.resolve=g.resolve,p.reject=g.reject,g.allSettled&&(p.allSettled=g.allSettled),g.any)&&(p.any=g.any)}function na(){var c=o.Promise;return bt?{Promise:c,PromiseProp:Object.getOwnPropertyDescriptor(o,"Promise"),all:c.all,race:c.race,allSettled:c.allSettled,any:c.any,resolve:c.resolve,reject:c.reject}:{}}function cr(c,f,p,g,x){var _=$e;try{return tr(c,!0),f(p,g,x)}finally{tr(_,!1)}}function ao(c,f,p,g){return typeof c!="function"?c:function(){var x=$e;p&&lr(),tr(f,!0);try{return c.apply(this,arguments)}finally{tr(x,!1),g&&queueMicrotask(er)}}}function Ts(c){Promise===_t&&Ve.echoes===0?Qn===0?c():enqueueNativeMicroTask(c):setTimeout(c,0)}(""+js).indexOf("[native code]")===-1&&(lr=er=Ie);var Ut=H.reject,ge="￿",ct="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",qt="String expected.",Bt="__dbnames",vt="readonly",En="readwrite";function an(c,f){return c?f?function(){return c.apply(this,arguments)&&f.apply(this,arguments)}:c:f}var Dn={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Kr(c){return typeof c!="string"||/\./.test(c)?function(f){return f}:function(f){return f[c]===void 0&&c in f&&delete(f=Q(f))[c],f}}function xr(){throw le.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function ot(c,f){try{var p=lo(c),g=lo(f);if(p!==g)return p==="Array"?1:g==="Array"?-1:p==="binary"?1:g==="binary"?-1:p==="string"?1:g==="string"?-1:p==="Date"?1:g!=="Date"?NaN:-1;switch(p){case"number":case"Date":case"string":return f<c?1:c<f?-1:0;case"binary":for(var x=Qd(c),_=Qd(f),M=x.length,R=_.length,W=M<R?M:R,ee=0;ee<W;++ee)if(x[ee]!==_[ee])return x[ee]<_[ee]?-1:1;return M===R?0:M<R?-1:1;case"Array":for(var Y=c,z=f,U=Y.length,J=z.length,X=U<J?U:J,K=0;K<X;++K){var V=ot(Y[K],z[K]);if(V!==0)return V}return U===J?0:U<J?-1:1}}catch{}return NaN}function lo(c){var f=typeof c;return f=="object"&&(ArrayBuffer.isView(c)||(f=Z(c))==="ArrayBuffer")?"binary":f}function Qd(c){return c instanceof Uint8Array?c:ArrayBuffer.isView(c)?new Uint8Array(c.buffer,c.byteOffset,c.byteLength):new Uint8Array(c)}function ra(c,f,p){var g=c.schema.yProps;return g?(f&&0<p.numFailures&&(f=f.filter(function(x,_){return!p.failures[_]})),Promise.all(g.map(function(x){return x=x.updatesTable,f?c.db.table(x).where("k").anyOf(f).delete():c.db.table(x).clear()})).then(function(){return p})):p}Zd.prototype.execute=function(c){var f=this["@@propmod"];if(f.add!==void 0){var p=f.add;if(l(p))return s(s([],l(c)?c:[],!0),p).sort();if(typeof p=="number")return(Number(c)||0)+p;if(typeof p=="bigint")try{return BigInt(c)+p}catch{return BigInt(0)+p}throw new TypeError("Invalid term ".concat(p))}if(f.remove!==void 0){var g=f.remove;if(l(g))return l(c)?c.filter(function(x){return!g.includes(x)}).sort():[];if(typeof g=="number")return Number(c)-g;if(typeof g=="bigint")try{return BigInt(c)-g}catch{return BigInt(0)-g}throw new TypeError("Invalid subtrahend ".concat(g))}return p=(p=f.replacePrefix)==null?void 0:p[0],p&&typeof c=="string"&&c.startsWith(p)?f.replacePrefix[1]+c.substring(p.length):c};var co=Zd;function Zd(c){this["@@propmod"]=c}function ef(c,f){for(var p=i(f),g=p.length,x=!1,_=0;_<g;++_){var M=p[_],R=f[M],W=A(c,M);R instanceof co?(O(c,M,R.execute(W)),x=!0):W!==R&&(O(c,M,R),x=!0)}return x}Ft.prototype._trans=function(c,f,p){var g=this._tx||$e.trans,x=this.name,_=Xt&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(c==="readonly"?"read":"write"," ").concat(this.name));function M(ee,Y,z){if(z.schema[x])return f(z.idbtrans,z);throw new le.NotFound("Table "+x+" not part of transaction")}var R=Tt();try{var W=g&&g.db._novip===this.db._novip?g===$e.trans?g._promise(c,M,p):Zn(function(){return g._promise(c,M,p)},{trans:g,transless:$e.transless||$e}):function ee(Y,z,U,J){if(Y.idbdb&&(Y._state.openComplete||$e.letThrough||Y._vip)){var X=Y._createTransaction(z,U,Y._dbSchema);try{X.create(),Y._state.PR1398_maxLoop=3}catch(K){return K.name===lt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return ee(Y,z,U,J)})):Ut(K)}return X._promise(z,function(K,V){return Zn(function(){return $e.trans=X,J(K,V,X)})}).then(function(K){if(z==="readwrite")try{X.idbtrans.commit()}catch{}return z==="readonly"?K:X._completion.then(function(){return K})})}if(Y._state.openComplete)return Ut(new le.DatabaseClosed(Y._state.dbOpenError));if(!Y._state.isBeingOpened){if(!Y._state.autoOpen)return Ut(new le.DatabaseClosed);Y.open().catch(Ie)}return Y._state.dbReadyPromise.then(function(){return ee(Y,z,U,J)})}(this.db,c,[this.name],M);return _&&(W._consoleTask=_,W=W.catch(function(ee){return console.trace(ee),Ut(ee)})),W}finally{R&&Ke()}},Ft.prototype.get=function(c,f){var p=this;return c&&c.constructor===Object?this.where(c).first(f):c==null?Ut(new le.Type("Invalid argument to Table.get()")):this._trans("readonly",function(g){return p.core.get({trans:g,key:c}).then(function(x){return p.hook.reading.fire(x)})}).then(f)},Ft.prototype.where=function(c){if(typeof c=="string")return new this.db.WhereClause(this,c);if(l(c))return new this.db.WhereClause(this,"[".concat(c.join("+"),"]"));var f=i(c);if(f.length===1)return this.where(f[0]).equals(c[f[0]]);var p=this.schema.indexes.concat(this.schema.primKey).filter(function(R){if(R.compound&&f.every(function(ee){return 0<=R.keyPath.indexOf(ee)})){for(var W=0;W<f.length;++W)if(f.indexOf(R.keyPath[W])===-1)return!1;return!0}return!1}).sort(function(R,W){return R.keyPath.length-W.keyPath.length})[0];if(p&&this.db._maxKey!==ge)return M=p.keyPath.slice(0,f.length),this.where(M).equals(M.map(function(R){return c[R]}));!p&&Xt&&console.warn("The query ".concat(JSON.stringify(c)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(f.join("+"),"]"));var g=this.schema.idxByName;function x(R,W){return ot(R,W)===0}var M=f.reduce(function(Y,W){var ee=Y[0],Y=Y[1],z=g[W],U=c[W];return[ee||z,ee||!z?an(Y,z&&z.multi?function(J){return J=A(J,W),l(J)&&J.some(function(X){return x(U,X)})}:function(J){return x(U,A(J,W))}):Y]},[null,null]),_=M[0],M=M[1];return _?this.where(_.name).equals(c[_.keyPath]).filter(M):p?this.filter(M):this.where(f).equals("")},Ft.prototype.filter=function(c){return this.toCollection().and(c)},Ft.prototype.count=function(c){return this.toCollection().count(c)},Ft.prototype.offset=function(c){return this.toCollection().offset(c)},Ft.prototype.limit=function(c){return this.toCollection().limit(c)},Ft.prototype.each=function(c){return this.toCollection().each(c)},Ft.prototype.toArray=function(c){return this.toCollection().toArray(c)},Ft.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},Ft.prototype.orderBy=function(c){return new this.db.Collection(new this.db.WhereClause(this,l(c)?"[".concat(c.join("+"),"]"):c))},Ft.prototype.reverse=function(){return this.toCollection().reverse()},Ft.prototype.mapToClass=function(c){for(var f=this.db,p=this.name,g=((this.schema.mappedClass=c).prototype instanceof xr&&(c=(M=>{var R=Y,W=M;if(typeof W!="function"&&W!==null)throw new TypeError("Class extends value "+String(W)+" is not a constructor or null");function ee(){this.constructor=R}function Y(){return M!==null&&M.apply(this,arguments)||this}return n(R,W),R.prototype=W===null?Object.create(W):(ee.prototype=W.prototype,new ee),Object.defineProperty(Y.prototype,"db",{get:function(){return f},enumerable:!1,configurable:!0}),Y.prototype.table=function(){return p},Y})(c)),new Set),x=c.prototype;x;x=d(x))Object.getOwnPropertyNames(x).forEach(function(M){return g.add(M)});function _(M){if(!M)return M;var R,W=Object.create(c.prototype);for(R in M)if(!g.has(R))try{W[R]=M[R]}catch{}return W}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=_,this.hook("reading",_),c},Ft.prototype.defineClass=function(){return this.mapToClass(function(c){u(this,c)})},Ft.prototype.add=function(c,f){var p=this,g=this.schema.primKey,x=g.auto,_=g.keyPath,M=c;return _&&x&&(M=Kr(_)(c)),this._trans("readwrite",function(R){return p.core.mutate({trans:R,type:"add",keys:f!=null?[f]:null,values:[M]})}).then(function(R){return R.numFailures?H.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{O(c,_,R)}catch{}return R})},Ft.prototype.upsert=function(c,f){var p=this,g=this.schema.primKey.keyPath;return this._trans("readwrite",function(x){return p.core.get({trans:x,key:c}).then(function(_){var M=_??{};return ef(M,f),g&&O(M,g,c),p.core.mutate({trans:x,type:"put",values:[M],keys:[c],upsert:!0,updates:{keys:[c],changeSpecs:[f]}}).then(function(R){return R.numFailures?H.reject(R.failures[0]):!!_})})})},Ft.prototype.update=function(c,f){return typeof c!="object"||l(c)?this.where(":id").equals(c).modify(f):(c=A(c,this.schema.primKey.keyPath))===void 0?Ut(new le.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(c).modify(f)},Ft.prototype.put=function(c,f){var p=this,g=this.schema.primKey,x=g.auto,_=g.keyPath,M=c;return _&&x&&(M=Kr(_)(c)),this._trans("readwrite",function(R){return p.core.mutate({trans:R,type:"put",values:[M],keys:f!=null?[f]:null})}).then(function(R){return R.numFailures?H.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{O(c,_,R)}catch{}return R})},Ft.prototype.delete=function(c){var f=this;return this._trans("readwrite",function(p){return f.core.mutate({trans:p,type:"delete",keys:[c]}).then(function(g){return ra(f,[c],g)}).then(function(g){return g.numFailures?H.reject(g.failures[0]):void 0})})},Ft.prototype.clear=function(){var c=this;return this._trans("readwrite",function(f){return c.core.mutate({trans:f,type:"deleteRange",range:Dn}).then(function(p){return ra(c,null,p)})}).then(function(f){return f.numFailures?H.reject(f.failures[0]):void 0})},Ft.prototype.bulkGet=function(c){var f=this;return this._trans("readonly",function(p){return f.core.getMany({keys:c,trans:p}).then(function(g){return g.map(function(x){return f.hook.reading.fire(x)})})})},Ft.prototype.bulkAdd=function(c,f,p){var g=this,x=Array.isArray(f)?f:void 0,_=(p=p||(x?void 0:f))?p.allKeys:void 0;return this._trans("readwrite",function(M){var R=g.schema.primKey,ee=R.auto,R=R.keyPath;if(R&&x)throw new le.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new le.InvalidArgument("Arguments objects and keys must have the same length");var W=c.length,ee=R&&ee?c.map(Kr(R)):c;return g.core.mutate({trans:M,type:"add",keys:x,values:ee,wantResults:_}).then(function(Y){var z=Y.numFailures,U=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new Le("".concat(g.name,".bulkAdd(): ").concat(z," of ").concat(W," operations failed"),U)})})},Ft.prototype.bulkPut=function(c,f,p){var g=this,x=Array.isArray(f)?f:void 0,_=(p=p||(x?void 0:f))?p.allKeys:void 0;return this._trans("readwrite",function(M){var R=g.schema.primKey,ee=R.auto,R=R.keyPath;if(R&&x)throw new le.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new le.InvalidArgument("Arguments objects and keys must have the same length");var W=c.length,ee=R&&ee?c.map(Kr(R)):c;return g.core.mutate({trans:M,type:"put",keys:x,values:ee,wantResults:_}).then(function(Y){var z=Y.numFailures,U=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new Le("".concat(g.name,".bulkPut(): ").concat(z," of ").concat(W," operations failed"),U)})})},Ft.prototype.bulkUpdate=function(c){var f=this,p=this.core,g=c.map(function(M){return M.key}),x=c.map(function(M){return M.changes}),_=[];return this._trans("readwrite",function(M){return p.getMany({trans:M,keys:g,cache:"clone"}).then(function(R){var W=[],ee=[],Y=(c.forEach(function(z,U){var J=z.key,X=z.changes,K=R[U];if(K){for(var V=0,se=Object.keys(X);V<se.length;V++){var te=se[V],ce=X[te];if(te===f.schema.primKey.keyPath){if(ot(ce,J)!==0)throw new le.Constraint("Cannot update primary key in bulkUpdate()")}else O(K,te,ce)}_.push(U),W.push(J),ee.push(K)}}),W.length);return p.mutate({trans:M,type:"put",keys:W,values:ee,updates:{keys:g,changeSpecs:x}}).then(function(z){var U=z.numFailures,J=z.failures;if(U===0)return Y;for(var X=0,K=Object.keys(J);X<K.length;X++){var V,se=K[X],te=_[Number(se)];te!=null&&(V=J[se],delete J[se],J[te]=V)}throw new Le("".concat(f.name,".bulkUpdate(): ").concat(U," of ").concat(Y," operations failed"),J)})})})},Ft.prototype.bulkDelete=function(c){var f=this,p=c.length;return this._trans("readwrite",function(g){return f.core.mutate({trans:g,type:"delete",keys:c}).then(function(x){return ra(f,c,x)})}).then(function(g){var x=g.numFailures,_=g.failures;if(x===0)return g.lastResult;throw new Le("".concat(f.name,".bulkDelete(): ").concat(x," of ").concat(p," operations failed"),_)})};var tf=Ft;function Ft(){}function uo(c){function f(M,R){if(R){for(var W=arguments.length,ee=new Array(W-1);--W;)ee[W-1]=arguments[W];return p[M].subscribe.apply(null,ee),c}if(typeof M=="string")return p[M]}var p={};f.addEventType=_;for(var g=1,x=arguments.length;g<x;++g)_(arguments[g]);return f;function _(M,R,W){var ee,Y;if(typeof M!="object")return R=R||_n,Y={subscribers:[],fire:W=W||Ie,subscribe:function(z){Y.subscribers.indexOf(z)===-1&&(Y.subscribers.push(z),Y.fire=R(Y.fire,z))},unsubscribe:function(z){Y.subscribers=Y.subscribers.filter(function(U){return U!==z}),Y.fire=Y.subscribers.reduce(R,W)}},p[M]=f[M]=Y;i(ee=M).forEach(function(z){var U=ee[z];if(l(U))_(z,ee[z][0],ee[z][1]);else{if(U!=="asap")throw new le.InvalidArgument("Invalid event config");var J=_(z,He,function(){for(var X=arguments.length,K=new Array(X);X--;)K[X]=arguments[X];J.subscribers.forEach(function(V){E(function(){V.apply(null,K)})})})}})}}function fo(c,f){return S(f).from({prototype:c}),f}function Ps(c,f){return!(c.filter||c.algorithm||c.or)&&(f?c.justLimit:!c.replayFilter)}function ql(c,f){c.filter=an(c.filter,f)}function Hl(c,f,p){var g=c.replayFilter;c.replayFilter=g?function(){return an(g(),f())}:f,c.justLimit=p&&!g}function sa(c,f){if(c.isPrimKey)return f.primaryKey;var p=f.getIndexByKeyPath(c.index);if(p)return p;throw new le.Schema("KeyPath "+c.index+" on object store "+f.name+" is not indexed")}function nf(c,f,p){var g=sa(c,f.schema);return f.openCursor({trans:p,values:!c.keysOnly,reverse:c.dir==="prev",unique:!!c.unique,query:{index:g,range:c.range}})}function oa(c,f,p,g){var x,_,M=c.replayFilter?an(c.filter,c.replayFilter()):c.filter;return c.or?(x={},_=function(R,W,ee){var Y,z;M&&!M(W,ee,function(U){return W.stop(U)},function(U){return W.fail(U)})||((z=""+(Y=W.primaryKey))=="[object ArrayBuffer]"&&(z=""+new Uint8Array(Y)),m(x,z))||(x[z]=!0,f(R,W,ee))},Promise.all([c.or._iterate(_,p),rf(nf(c,g,p),c.algorithm,_,!c.keysOnly&&c.valueMapper)])):rf(nf(c,g,p),an(c.algorithm,M),f,!c.keysOnly&&c.valueMapper)}function rf(c,f,p,g){var x=De(g?function(_,M,R){return p(g(_),M,R)}:p);return c.then(function(_){if(_)return _.start(function(){var M=function(){return _.continue()};f&&!f(_,function(R){return M=R},function(R){_.stop(R),M=Ie},function(R){_.fail(R),M=Ie})||x(_.value,_,function(R){return M=R}),M()})})}Pt.prototype._read=function(c,f){var p=this._ctx;return p.error?p.table._trans(null,Ut.bind(null,p.error)):p.table._trans("readonly",c).then(f)},Pt.prototype._write=function(c){var f=this._ctx;return f.error?f.table._trans(null,Ut.bind(null,f.error)):f.table._trans("readwrite",c,"locked")},Pt.prototype._addAlgorithm=function(c){var f=this._ctx;f.algorithm=an(f.algorithm,c)},Pt.prototype._iterate=function(c,f){return oa(this._ctx,c,f,this._ctx.table.core)},Pt.prototype.clone=function(c){var f=Object.create(this.constructor.prototype),p=Object.create(this._ctx);return c&&u(p,c),f._ctx=p,f},Pt.prototype.raw=function(){return this._ctx.valueMapper=null,this},Pt.prototype.each=function(c){var f=this._ctx;return this._read(function(p){return oa(f,c,p,f.table.core)})},Pt.prototype.count=function(c){var f=this;return this._read(function(p){var g,x=f._ctx,_=x.table.core;return Ps(x,!0)?_.count({trans:p,query:{index:sa(x,_.schema),range:x.range}}).then(function(M){return Math.min(M,x.limit)}):(g=0,oa(x,function(){return++g,!1},p,_).then(function(){return g}))}).then(c)},Pt.prototype.sortBy=function(c,f){var p=c.split(".").reverse(),g=p[0],x=p.length-1;function _(W,ee){return ee?_(W[p[ee]],ee-1):W[g]}var M=this._ctx.dir==="next"?1:-1;function R(W,ee){return ot(_(W,x),_(ee,x))*M}return this.toArray(function(W){return W.sort(R)}).then(f)},Pt.prototype.toArray=function(c){var f=this;return this._read(function(p){var g,x,_,M=f._ctx;return Ps(M,!0)&&0<M.limit?(g=M.valueMapper,x=sa(M,M.table.core.schema),M.table.core.query({trans:p,limit:M.limit,values:!0,direction:M.dir==="prev"?"prev":void 0,query:{index:x,range:M.range}}).then(function(R){return R=R.result,g?R.map(g):R})):(_=[],oa(M,function(R){return _.push(R)},p,M.table.core).then(function(){return _}))},c)},Pt.prototype.offset=function(c){var f=this._ctx;return c<=0||(f.offset+=c,Ps(f)?Hl(f,function(){var p=c;return function(g,x){return p===0||(p===1?--p:x(function(){g.advance(p),p=0}),!1)}}):Hl(f,function(){var p=c;return function(){return--p<0}})),this},Pt.prototype.limit=function(c){return this._ctx.limit=Math.min(this._ctx.limit,c),Hl(this._ctx,function(){var f=c;return function(p,g,x){return--f<=0&&g(x),0<=f}},!0),this},Pt.prototype.until=function(c,f){return ql(this._ctx,function(p,g,x){return!c(p.value)||(g(x),f)}),this},Pt.prototype.first=function(c){return this.limit(1).toArray(function(f){return f[0]}).then(c)},Pt.prototype.last=function(c){return this.reverse().first(c)},Pt.prototype.filter=function(c){var f;return ql(this._ctx,function(p){return c(p.value)}),(f=this._ctx).isMatch=an(f.isMatch,c),this},Pt.prototype.and=function(c){return this.filter(c)},Pt.prototype.or=function(c){return new this.db.WhereClause(this._ctx.table,c,this)},Pt.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},Pt.prototype.desc=function(){return this.reverse()},Pt.prototype.eachKey=function(c){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,g){c(g.key,g)})},Pt.prototype.eachUniqueKey=function(c){return this._ctx.unique="unique",this.eachKey(c)},Pt.prototype.eachPrimaryKey=function(c){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,g){c(g.primaryKey,g)})},Pt.prototype.keys=function(c){var f=this._ctx,p=(f.keysOnly=!f.isMatch,[]);return this.each(function(g,x){p.push(x.key)}).then(function(){return p}).then(c)},Pt.prototype.primaryKeys=function(c){var f=this._ctx;if(Ps(f,!0)&&0<f.limit)return this._read(function(g){var x=sa(f,f.table.core.schema);return f.table.core.query({trans:g,values:!1,limit:f.limit,direction:f.dir==="prev"?"prev":void 0,query:{index:x,range:f.range}})}).then(function(g){return g.result}).then(c);f.keysOnly=!f.isMatch;var p=[];return this.each(function(g,x){p.push(x.primaryKey)}).then(function(){return p}).then(c)},Pt.prototype.uniqueKeys=function(c){return this._ctx.unique="unique",this.keys(c)},Pt.prototype.firstKey=function(c){return this.limit(1).keys(function(f){return f[0]}).then(c)},Pt.prototype.lastKey=function(c){return this.reverse().firstKey(c)},Pt.prototype.distinct=function(){var c,f=this._ctx,f=f.index&&f.table.schema.idxByName[f.index];return f&&f.multi&&(c={},ql(this._ctx,function(g){var g=g.primaryKey.toString(),x=m(c,g);return c[g]=!0,!x})),this},Pt.prototype.modify=function(c){var f=this,p=this._ctx;return this._write(function(g){function x(K,V){var se=V.failures;U+=K-V.numFailures;for(var te=0,ce=i(se);te<ce.length;te++){var be=ce[te];z.push(se[be])}}var _=typeof c=="function"?c:function(K){return ef(K,c)},M=p.table.core,Y=M.schema.primaryKey,R=Y.outbound,W=Y.extractKey,ee=200,Y=f.db._options.modifyChunkSize,z=(Y&&(ee=typeof Y=="object"?Y[M.name]||Y["*"]||200:Y),[]),U=0,J=[],X=c===sf;return f.clone().primaryKeys().then(function(K){function V(te){var ce=Math.min(ee,K.length-te),be=K.slice(te,te+ce);return(X?Promise.resolve([]):M.getMany({trans:g,keys:be,cache:"immutable"})).then(function(xe){var Pe=[],we=[],Ne=R?[]:null,ke=X?be:[];if(!X)for(var Be=0;Be<ce;++Be){var ve=xe[Be],tt={value:Q(ve),primKey:K[te+Be]};_.call(tt,tt.value,tt)!==!1&&(tt.value==null?ke.push(K[te+Be]):R||ot(W(ve),W(tt.value))===0?(we.push(tt.value),R&&Ne.push(K[te+Be])):(ke.push(K[te+Be]),Pe.push(tt.value)))}return Promise.resolve(0<Pe.length&&M.mutate({trans:g,type:"add",values:Pe}).then(function(nt){for(var at in nt.failures)ke.splice(parseInt(at),1);x(Pe.length,nt)})).then(function(){return(0<we.length||se&&typeof c=="object")&&M.mutate({trans:g,type:"put",keys:Ne,values:we,criteria:se,changeSpec:typeof c!="function"&&c,isAdditionalChunk:0<te}).then(function(nt){return x(we.length,nt)})}).then(function(){return(0<ke.length||se&&X)&&M.mutate({trans:g,type:"delete",keys:ke,criteria:se,isAdditionalChunk:0<te}).then(function(nt){return ra(p.table,ke,nt)}).then(function(nt){return x(ke.length,nt)})}).then(function(){return K.length>te+ce&&V(te+ee)})})}var se=Ps(p)&&p.limit===1/0&&(typeof c!="function"||X)&&{index:p.index,range:p.range};return V(0).then(function(){if(0<z.length)throw new ze("Error modifying one or more objects",z,U,J);return K.length})})})},Pt.prototype.delete=function(){var c=this._ctx,f=c.range;return!Ps(c)||c.table.schema.yProps||!c.isPrimKey&&f.type!==3?this.modify(sf):this._write(function(p){var g=c.table.core.schema.primaryKey,x=f;return c.table.core.count({trans:p,query:{index:g,range:x}}).then(function(_){return c.table.core.mutate({trans:p,type:"deleteRange",range:x}).then(function(W){var R=W.failures,W=W.numFailures;if(W)throw new ze("Could not delete some values",Object.keys(R).map(function(ee){return R[ee]}),_-W);return _-W})})})};var Jv=Pt;function Pt(){}var sf=function(c,f){return f.value=null};function Qv(c,f){return c<f?-1:c===f?0:1}function Zv(c,f){return f<c?-1:c===f?0:1}function Nn(c,f,p){return c=c instanceof af?new c.Collection(c):c,c._ctx.error=new(p||TypeError)(f),c}function Ms(c){return new c.Collection(c,function(){return of("")}).limit(0)}function ia(J,f,p,g){var x,_,M,R,W,ee,Y,z=p.length;if(!p.every(function(K){return typeof K=="string"}))return Nn(J,qt);function U(K){x=K==="next"?function(se){return se.toUpperCase()}:function(se){return se.toLowerCase()},_=K==="next"?function(se){return se.toLowerCase()}:function(se){return se.toUpperCase()},M=K==="next"?Qv:Zv;var V=p.map(function(se){return{lower:_(se),upper:x(se)}}).sort(function(se,te){return M(se.lower,te.lower)});R=V.map(function(se){return se.upper}),W=V.map(function(se){return se.lower}),Y=(ee=K)==="next"?"":g}U("next");var J=new J.Collection(J,function(){return Mr(R[0],W[z-1]+g)}),X=(J._ondirectionchange=function(K){U(K)},0);return J._addAlgorithm(function(K,V,se){var te=K.key;if(typeof te=="string"){var ce=_(te);if(f(ce,W,X))return!0;for(var be=null,xe=X;xe<z;++xe){var Pe=((we,Ne,ke,Be,ve,tt)=>{for(var nt=Math.min(we.length,Be.length),at=-1,yt=0;yt<nt;++yt){var Bn=Ne[yt];if(Bn!==Be[yt])return ve(we[yt],ke[yt])<0?we.substr(0,yt)+ke[yt]+ke.substr(yt+1):ve(we[yt],Be[yt])<0?we.substr(0,yt)+Be[yt]+ke.substr(yt+1):0<=at?we.substr(0,at)+Ne[at]+ke.substr(at+1):null;ve(we[yt],Bn)<0&&(at=yt)}return nt<Be.length&&tt==="next"?we+ke.substr(we.length):nt<we.length&&tt==="prev"?we.substr(0,ke.length):at<0?null:we.substr(0,at)+Be[at]+ke.substr(at+1)})(te,ce,R[xe],W[xe],M,ee);Pe===null&&be===null?X=xe+1:(be===null||0<M(be,Pe))&&(be=Pe)}V(be!==null?function(){K.continue(be+Y)}:se)}return!1}),J}function Mr(c,f,p,g){return{type:2,lower:c,upper:f,lowerOpen:p,upperOpen:g}}function of(c){return{type:1,lower:c,upper:c}}Object.defineProperty(hn.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),hn.prototype.between=function(c,f,p,g){p=p!==!1,g=g===!0;try{return 0<this._cmp(c,f)||this._cmp(c,f)===0&&(p||g)&&(!p||!g)?Ms(this):new this.Collection(this,function(){return Mr(c,f,!p,!g)})}catch{return Nn(this,ct)}},hn.prototype.equals=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return of(c)})},hn.prototype.above=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(c,void 0,!0)})},hn.prototype.aboveOrEqual=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(c,void 0,!1)})},hn.prototype.below=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(void 0,c,!1,!0)})},hn.prototype.belowOrEqual=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(void 0,c)})},hn.prototype.startsWith=function(c){return typeof c!="string"?Nn(this,qt):this.between(c,c+ge,!0,!0)},hn.prototype.startsWithIgnoreCase=function(c){return c===""?this.startsWith(c):ia(this,function(f,p){return f.indexOf(p[0])===0},[c],ge)},hn.prototype.equalsIgnoreCase=function(c){return ia(this,function(f,p){return f===p[0]},[c],"")},hn.prototype.anyOfIgnoreCase=function(){var c=ne.apply(me,arguments);return c.length===0?Ms(this):ia(this,function(f,p){return p.indexOf(f)!==-1},c,"")},hn.prototype.startsWithAnyOfIgnoreCase=function(){var c=ne.apply(me,arguments);return c.length===0?Ms(this):ia(this,function(f,p){return p.some(function(g){return f.indexOf(g)===0})},c,ge)},hn.prototype.anyOf=function(){var c,f,p=this,g=ne.apply(me,arguments),x=this._cmp;try{g.sort(x)}catch{return Nn(this,ct)}return g.length===0?Ms(this):((c=new this.Collection(this,function(){return Mr(g[0],g[g.length-1])}))._ondirectionchange=function(_){x=_==="next"?p._ascending:p._descending,g.sort(x)},f=0,c._addAlgorithm(function(_,M,R){for(var W=_.key;0<x(W,g[f]);)if(++f===g.length)return M(R),!1;return x(W,g[f])===0||(M(function(){_.continue(g[f])}),!1)}),c)},hn.prototype.notEqual=function(c){return this.inAnyRange([[-1/0,c],[c,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},hn.prototype.noneOf=function(){var c=ne.apply(me,arguments);if(c.length===0)return new this.Collection(this);try{c.sort(this._ascending)}catch{return Nn(this,ct)}var f=c.reduce(function(p,g){return p?p.concat([[p[p.length-1][1],g]]):[[-1/0,g]]},null);return f.push([c[c.length-1],this.db._maxKey]),this.inAnyRange(f,{includeLowers:!1,includeUppers:!1})},hn.prototype.inAnyRange=function(c,se){var p=this,g=this._cmp,x=this._ascending,_=this._descending,M=this._min,R=this._max;if(c.length===0)return Ms(this);if(!c.every(function(te){return te[0]!==void 0&&te[1]!==void 0&&x(te[0],te[1])<=0}))return Nn(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",le.InvalidArgument);var W=!se||se.includeLowers!==!1,ee=se&&se.includeUppers===!0,Y,z=x;function U(te,ce){return z(te[0],ce[0])}try{(Y=c.reduce(function(te,ce){for(var be=0,xe=te.length;be<xe;++be){var Pe=te[be];if(g(ce[0],Pe[1])<0&&0<g(ce[1],Pe[0])){Pe[0]=M(Pe[0],ce[0]),Pe[1]=R(Pe[1],ce[1]);break}}return be===xe&&te.push(ce),te},[])).sort(U)}catch{return Nn(this,ct)}var J=0,X=ee?function(te){return 0<x(te,Y[J][1])}:function(te){return 0<=x(te,Y[J][1])},K=W?function(te){return 0<_(te,Y[J][0])}:function(te){return 0<=_(te,Y[J][0])},V=X,se=new this.Collection(this,function(){return Mr(Y[0][0],Y[Y.length-1][1],!W,!ee)});return se._ondirectionchange=function(te){z=te==="next"?(V=X,x):(V=K,_),Y.sort(U)},se._addAlgorithm(function(te,ce,be){for(var xe,Pe=te.key;V(Pe);)if(++J===Y.length)return ce(be),!1;return!X(xe=Pe)&&!K(xe)||(p._cmp(Pe,Y[J][1])===0||p._cmp(Pe,Y[J][0])===0||ce(function(){z===x?te.continue(Y[J][0]):te.continue(Y[J][1])}),!1)}),se},hn.prototype.startsWithAnyOf=function(){var c=ne.apply(me,arguments);return c.every(function(f){return typeof f=="string"})?c.length===0?Ms(this):this.inAnyRange(c.map(function(f){return[f,f+ge]})):Nn(this,"startsWithAnyOf() only works with strings")};var af=hn;function hn(){}function nr(c){return De(function(f){return ho(f),c(f.target.error),!1})}function ho(c){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault()}var po="storagemutated",Yl="x-storagemutated-1",Er=uo(null,po),eS=(ur.prototype._lock=function(){return C(!$e.global),++this._reculock,this._reculock!==1||$e.global||($e.lockOwnerFor=this),this},ur.prototype._unlock=function(){if(C(!$e.global),--this._reculock==0)for($e.global||($e.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var c=this._blockedFuncs.shift();try{cr(c[1],c[0])}catch{}}return this},ur.prototype._locked=function(){return this._reculock&&$e.lockOwnerFor!==this},ur.prototype.create=function(c){var f=this;if(this.mode){var p=this.db.idbdb,g=this.db._state.dbOpenError;if(C(!this.idbtrans),!c&&!p)switch(g&&g.name){case"DatabaseClosedError":throw new le.DatabaseClosed(g);case"MissingAPIError":throw new le.MissingAPI(g.message,g);default:throw new le.OpenFailed(g)}if(!this.active)throw new le.TransactionInactive;C(this._completion._state===null),(c=this.idbtrans=c||(this.db.core||p).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=De(function(x){ho(x),f._reject(c.error)}),c.onabort=De(function(x){ho(x),f.active&&f._reject(new le.Abort(c.error)),f.active=!1,f.on("abort").fire(x)}),c.oncomplete=De(function(){f.active=!1,f._resolve(),"mutatedParts"in c&&Er.storagemutated.fire(c.mutatedParts)})}return this},ur.prototype._promise=function(c,f,p){var g,x=this;return c==="readwrite"&&this.mode!=="readwrite"?Ut(new le.ReadOnly("Transaction is readonly")):this.active?this._locked()?new H(function(_,M){x._blockedFuncs.push([function(){x._promise(c,f,p).then(_,M)},$e])}):p?Zn(function(){var _=new H(function(M,R){x._lock();var W=f(M,R,x);W&&W.then&&W.then(M,R)});return _.finally(function(){return x._unlock()}),_._lib=!0,_}):((g=new H(function(_,M){var R=f(_,M,x);R&&R.then&&R.then(_,M)}))._lib=!0,g):Ut(new le.TransactionInactive)},ur.prototype._root=function(){return this.parent?this.parent._root():this},ur.prototype.waitFor=function(c){var f,p=this._root(),g=H.resolve(c),x=(p._waitingFor?p._waitingFor=p._waitingFor.then(function(){return g}):(p._waitingFor=g,p._waitingQueue=[],f=p.idbtrans.objectStore(p.storeNames[0]),function _(){for(++p._spinCount;p._waitingQueue.length;)p._waitingQueue.shift()();p._waitingFor&&(f.get(-1/0).onsuccess=_)}()),p._waitingFor);return new H(function(_,M){g.then(function(R){return p._waitingQueue.push(De(_.bind(null,R)))},function(R){return p._waitingQueue.push(De(M.bind(null,R)))}).finally(function(){p._waitingFor===x&&(p._waitingFor=null)})})},ur.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new le.Abort))},ur.prototype.table=function(c){var f=this._memoizedTables||(this._memoizedTables={});if(m(f,c))return f[c];var p=this.schema[c];if(p)return(p=new this.db.Table(c,p,this)).core=this.db.core.table(c),f[c]=p;throw new le.NotFound("Table "+c+" not part of transaction")},ur);function ur(){}function Xl(c,f,p,g,x,_,M,R){return{name:c,keyPath:f,unique:p,multi:g,auto:x,compound:_,src:(p&&!M?"&":"")+(g?"*":"")+(x?"++":"")+lf(f),type:R}}function lf(c){return typeof c=="string"?c:c?"["+[].join.call(c,"+")+"]":""}function Kl(c,f,p){return{name:c,primKey:f,indexes:p,mappedClass:null,idxByName:(g=function(x){return[x.name,x]},p.reduce(function(x,_,M){return _=g(_,M),_&&(x[_[0]]=_[1]),x},{}))};var g}var mo=function(c){try{return c.only([[]]),mo=function(){return[[]]},[[]]}catch{return mo=function(){return ge},ge}};function Vl(c){return c==null?function(){}:typeof c=="string"?(f=c).split(".").length===1?function(p){return p[f]}:function(p){return A(p,f)}:function(p){return A(p,c)};var f}function cf(c){return[].slice.call(c)}var tS=0;function go(c){return c==null?":id":typeof c=="string"?c:"[".concat(c.join("+"),"]")}function nS(c,f,M){function g(V){if(V.type===3)return null;if(V.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var J=V.lower,X=V.upper,K=V.lowerOpen,V=V.upperOpen;return J===void 0?X===void 0?null:f.upperBound(X,!!V):X===void 0?f.lowerBound(J,!!K):f.bound(J,X,!!K,!!V)}function x(U){var J,X,K=U.name;return{name:K,schema:U,mutate:function(V){var se=V.trans,te=V.type,ce=V.keys,be=V.values,xe=V.range;return new Promise(function(Pe,we){Pe=De(Pe);var Ne=se.objectStore(K),ke=Ne.keyPath==null,Be=te==="put"||te==="add";if(!Be&&te!=="delete"&&te!=="deleteRange")throw new Error("Invalid operation type: "+te);var ve,tt=(ce||be||{length:1}).length;if(ce&&be&&ce.length!==be.length)throw new Error("Given keys array must have same length as given values array.");if(tt===0)return Pe({numFailures:0,failures:{},results:[],lastResult:void 0});function nt(jn){++Bn,ho(jn)}var at=[],yt=[],Bn=0;if(te==="deleteRange"){if(xe.type===4)return Pe({numFailures:Bn,failures:yt,results:[],lastResult:void 0});xe.type===3?at.push(ve=Ne.clear()):at.push(ve=Ne.delete(g(xe)))}else{var ke=Be?ke?[be,ce]:[be,null]:[ce,null],it=ke[0],Cn=ke[1];if(Be)for(var Tn=0;Tn<tt;++Tn)at.push(ve=Cn&&Cn[Tn]!==void 0?Ne[te](it[Tn],Cn[Tn]):Ne[te](it[Tn])),ve.onerror=nt;else for(Tn=0;Tn<tt;++Tn)at.push(ve=Ne[te](it[Tn])),ve.onerror=nt}function ba(jn){jn=jn.target.result,at.forEach(function(Jr,hc){return Jr.error!=null&&(yt[hc]=Jr.error)}),Pe({numFailures:Bn,failures:yt,results:te==="delete"?ce:at.map(function(Jr){return Jr.result}),lastResult:jn})}ve.onerror=function(jn){nt(jn),ba(jn)},ve.onsuccess=ba})},getMany:function(V){var se=V.trans,te=V.keys;return new Promise(function(ce,be){ce=De(ce);for(var xe,Pe=se.objectStore(K),we=te.length,Ne=new Array(we),ke=0,Be=0,ve=function(at){at=at.target,Ne[at._pos]=at.result,++Be===ke&&ce(Ne)},tt=nr(be),nt=0;nt<we;++nt)te[nt]!=null&&((xe=Pe.get(te[nt]))._pos=nt,xe.onsuccess=ve,xe.onerror=tt,++ke);ke===0&&ce(Ne)})},get:function(V){var se=V.trans,te=V.key;return new Promise(function(ce,be){ce=De(ce);var xe=se.objectStore(K).get(te);xe.onsuccess=function(Pe){return ce(Pe.target.result)},xe.onerror=nr(be)})},query:(J=W,X=ee,function(V){return new Promise(function(se,te){se=De(se);var ce,be,xe,Pe,tt=V.trans,we=V.values,Ne=V.limit,ve=V.query,ke=(ke=V.direction)!=null?ke:"next",Be=Ne===1/0?void 0:Ne,nt=ve.index,ve=ve.range,tt=tt.objectStore(K),tt=nt.isPrimaryKey?tt:tt.index(nt.name),nt=g(ve);if(Ne===0)return se({result:[]});X?(ve={query:nt,count:Be,direction:ke},(ce=we?tt.getAll(ve):tt.getAllKeys(ve)).onsuccess=function(at){return se({result:at.target.result})},ce.onerror=nr(te)):J&&ke==="next"?((ce=we?tt.getAll(nt,Be):tt.getAllKeys(nt,Be)).onsuccess=function(at){return se({result:at.target.result})},ce.onerror=nr(te)):(be=0,xe=!we&&"openKeyCursor"in tt?tt.openKeyCursor(nt,ke):tt.openCursor(nt,ke),Pe=[],xe.onsuccess=function(){var at=xe.result;return!at||(Pe.push(we?at.value:at.primaryKey),++be===Ne)?se({result:Pe}):void at.continue()},xe.onerror=nr(te))})}),openCursor:function(V){var se=V.trans,te=V.values,ce=V.query,be=V.reverse,xe=V.unique;return new Promise(function(Pe,we){Pe=De(Pe);var Be=ce.index,Ne=ce.range,ke=se.objectStore(K),ke=Be.isPrimaryKey?ke:ke.index(Be.name),Be=be?xe?"prevunique":"prev":xe?"nextunique":"next",ve=!te&&"openKeyCursor"in ke?ke.openKeyCursor(g(Ne),Be):ke.openCursor(g(Ne),Be);ve.onerror=nr(we),ve.onsuccess=De(function(tt){var nt,at,yt,Bn,it=ve.result;it?(it.___id=++tS,it.done=!1,nt=it.continue.bind(it),at=(at=it.continuePrimaryKey)&&at.bind(it),yt=it.advance.bind(it),Bn=function(){throw new Error("Cursor not stopped")},it.trans=se,it.stop=it.continue=it.continuePrimaryKey=it.advance=function(){throw new Error("Cursor not started")},it.fail=De(we),it.next=function(){var Cn=this,Tn=1;return this.start(function(){return Tn--?Cn.continue():Cn.stop()}).then(function(){return Cn})},it.start=function(Cn){function Tn(){if(ve.result)try{Cn()}catch(jn){it.fail(jn)}else it.done=!0,it.start=function(){throw new Error("Cursor behind last entry")},it.stop()}var ba=new Promise(function(jn,Jr){jn=De(jn),ve.onerror=nr(Jr),it.fail=Jr,it.stop=function(hc){it.stop=it.continue=it.continuePrimaryKey=it.advance=Bn,jn(hc)}});return ve.onsuccess=De(function(jn){ve.onsuccess=Tn,Tn()}),it.continue=nt,it.continuePrimaryKey=at,it.advance=yt,Tn(),ba},Pe(it)):Pe(null)},we)})},count:function(V){var se=V.query,te=V.trans,ce=se.index,be=se.range;return new Promise(function(xe,Pe){var we=te.objectStore(K),we=ce.isPrimaryKey?we:we.index(ce.name),Ne=g(be),Ne=Ne?we.count(Ne):we.count();Ne.onsuccess=De(function(ke){return xe(ke.target.result)}),Ne.onerror=nr(Pe)})}}}_=M,R=cf((M=c).objectStoreNames),Y=0<R.length?_.objectStore(R[0]):{};var _,M={schema:{name:M.name,tables:R.map(function(U){return _.objectStore(U)}).map(function(U){var J=U.keyPath,X=U.autoIncrement,V=l(J),K={},V={name:U.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:J==null,compound:V,keyPath:J,autoIncrement:X,unique:!0,extractKey:Vl(J)},indexes:cf(U.indexNames).map(function(se){return U.index(se)}).map(function(be){var xe=be.name,te=be.unique,ce=be.multiEntry,be=be.keyPath,xe={name:xe,compound:l(be),keyPath:be,unique:te,multiEntry:ce,extractKey:Vl(be)};return K[go(be)]=xe}),getIndexByKeyPath:function(se){return K[go(se)]}};return K[":id"]=V.primaryKey,J!=null&&(K[go(J)]=V.primaryKey),V})},hasGetAll:0<R.length&&"getAll"in Y&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in Y},R=M.schema,W=M.hasGetAll,ee=M.hasIdb3Features,Y=R.tables.map(x),z={};return Y.forEach(function(U){return z[U.name]=U}),{stack:"dbcore",transaction:c.transaction.bind(c),table:function(U){if(z[U])return z[U];throw new Error("Table '".concat(U,"' not found"))},MIN_KEY:-1/0,MAX_KEY:mo(f),schema:R}}function rS(c,f,p,g){return p=p.IDBKeyRange,f=nS(f,p,g),{dbcore:c.dbcore.reduce(function(x,_){return _=_.create,r(r({},x),_(x))},f)}}function aa(c,f){var p=f.db,p=rS(c._middlewares,p,c._deps,f);c.core=p.dbcore,c.tables.forEach(function(g){var x=g.name;c.core.schema.tables.some(function(_){return _.name===x})&&(g.core=c.core.table(x),c[x]instanceof c.Table)&&(c[x].core=g.core)})}function la(c,f,p,g){p.forEach(function(x){var _=g[x];f.forEach(function(M){var R=function W(ee,Y){return k(ee,Y)||(ee=d(ee))&&W(ee,Y)}(M,x);(!R||"value"in R&&R.value===void 0)&&(M===c.Transaction.prototype||M instanceof c.Transaction?w(M,x,{get:function(){return this.table(x)},set:function(W){v(this,x,{value:W,writable:!0,configurable:!0,enumerable:!0})}}):M[x]=new c.Table(x,_))})})}function Gl(c,f){f.forEach(function(p){for(var g in p)p[g]instanceof c.Table&&delete p[g]})}function sS(c,f){return c._cfg.version-f._cfg.version}function oS(c,f,p,g){var x=c._dbSchema,_=(p.objectStoreNames.contains("$meta")&&!x.$meta&&(x.$meta=Kl("$meta",df("")[0],[]),c._storeNames.push("$meta")),c._createTransaction("readwrite",c._storeNames,x)),M=(_.create(p),_._completion.catch(g),_._reject.bind(_)),R=$e.transless||$e;Zn(function(){if($e.trans=_,$e.transless=R,f!==0)return aa(c,p),ee=f,((W=_).storeNames.includes("$meta")?W.table("$meta").get("version").then(function(Y){return Y??ee}):H.resolve(ee)).then(function(V){var z=c,U=V,J=_,X=p,K=[],V=z._versions,se=z._dbSchema=ua(0,z.idbdb,X);return(V=V.filter(function(te){return te._cfg.version>=U})).length===0?H.resolve():(V.forEach(function(te){K.push(function(){var ce,be,xe,Pe=se,we=te._cfg.dbschema,Ne=(da(z,Pe,X),da(z,we,X),se=z._dbSchema=we,Jl(Pe,we)),ke=(Ne.add.forEach(function(Be){Ql(X,Be[0],Be[1].primKey,Be[1].indexes)}),Ne.change.forEach(function(Be){if(Be.recreate)throw new le.Upgrade("Not yet support for changing primary key");var ve=X.objectStore(Be.name);Be.add.forEach(function(tt){return ca(ve,tt)}),Be.change.forEach(function(tt){ve.deleteIndex(tt.name),ca(ve,tt)}),Be.del.forEach(function(tt){return ve.deleteIndex(tt)})}),te._cfg.contentUpgrade);if(ke&&te._cfg.version>U)return aa(z,X),J._memoizedTables={},ce=D(we),Ne.del.forEach(function(Be){ce[Be]=Pe[Be]}),Gl(z,[z.Transaction.prototype]),la(z,[z.Transaction.prototype],i(ce),ce),J.schema=ce,(be=he(ke))&&lr(),we=H.follow(function(){var Be;(xe=ke(J))&&be&&(Be=er.bind(null,null),xe.then(Be,Be))}),xe&&typeof xe.then=="function"?H.resolve(xe):we.then(function(){return xe})}),K.push(function(ce){var be,xe,Pe=te._cfg.dbschema;be=Pe,xe=ce,[].slice.call(xe.db.objectStoreNames).forEach(function(we){return be[we]==null&&xe.db.deleteObjectStore(we)}),Gl(z,[z.Transaction.prototype]),la(z,[z.Transaction.prototype],z._storeNames,z._dbSchema),J.schema=z._dbSchema}),K.push(function(ce){z.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(z.idbdb.version/10)===te._cfg.version?(z.idbdb.deleteObjectStore("$meta"),delete z._dbSchema.$meta,z._storeNames=z._storeNames.filter(function(be){return be!=="$meta"})):ce.objectStore("$meta").put(te._cfg.version,"version"))})}),function te(){return K.length?H.resolve(K.shift()(J.idbtrans)).then(te):H.resolve()}().then(function(){uf(se,X)}))}).catch(M);var W,ee;i(x).forEach(function(Y){Ql(p,Y,x[Y].primKey,x[Y].indexes)}),aa(c,p),H.follow(function(){return c.on.populate.fire(_)}).catch(M)})}function iS(c,f){uf(c._dbSchema,f),f.db.version%10!=0||f.objectStoreNames.contains("$meta")||f.db.createObjectStore("$meta").add(Math.ceil(f.db.version/10-1),"version");var p=ua(0,c.idbdb,f);da(c,c._dbSchema,f);for(var g=0,x=Jl(p,c._dbSchema).change;g<x.length;g++){var _=(M=>{if(M.change.length||M.recreate)return console.warn("Unable to patch indexes of table ".concat(M.name," because it has changes on the type of index or primary key.")),{value:void 0};var R=f.objectStore(M.name);M.add.forEach(function(W){Xt&&console.debug("Dexie upgrade patch: Creating missing index ".concat(M.name,".").concat(W.src)),ca(R,W)})})(x[g]);if(typeof _=="object")return _.value}}function Jl(c,f){var p,g={del:[],add:[],change:[]};for(p in c)f[p]||g.del.push(p);for(p in f){var x=c[p],_=f[p];if(x){var M={name:p,def:_,recreate:!1,del:[],add:[],change:[]};if(""+(x.primKey.keyPath||"")!=""+(_.primKey.keyPath||"")||x.primKey.auto!==_.primKey.auto)M.recreate=!0,g.change.push(M);else{var R=x.idxByName,W=_.idxByName,ee=void 0;for(ee in R)W[ee]||M.del.push(ee);for(ee in W){var Y=R[ee],z=W[ee];Y?Y.src!==z.src&&M.change.push(z):M.add.push(z)}(0<M.del.length||0<M.add.length||0<M.change.length)&&g.change.push(M)}}else g.add.push([p,_])}return g}function Ql(c,f,p,g){var x=c.db.createObjectStore(f,p.keyPath?{keyPath:p.keyPath,autoIncrement:p.auto}:{autoIncrement:p.auto});g.forEach(function(_){return ca(x,_)})}function uf(c,f){i(c).forEach(function(p){f.db.objectStoreNames.contains(p)||(Xt&&console.debug("Dexie: Creating missing table",p),Ql(f,p,c[p].primKey,c[p].indexes))})}function ca(c,f){c.createIndex(f.name,f.keyPath,{unique:f.unique,multiEntry:f.multi})}function ua(c,f,p){var g={};return T(f.objectStoreNames,0).forEach(function(x){for(var _=p.objectStore(x),M=Xl(lf(ee=_.keyPath),ee||"",!0,!1,!!_.autoIncrement,ee&&typeof ee!="string",!0),R=[],W=0;W<_.indexNames.length;++W){var Y=_.index(_.indexNames[W]),ee=Y.keyPath,Y=Xl(Y.name,ee,!!Y.unique,!!Y.multiEntry,!1,ee&&typeof ee!="string",!1);R.push(Y)}g[x]=Kl(x,M,R)}),g}function da(c,f,p){for(var g=p.db.objectStoreNames,x=0;x<g.length;++x){var _=g[x],M=p.objectStore(_);c._hasGetAll="getAll"in M;for(var R=0;R<M.indexNames.length;++R){var W,ee=M.indexNames[R],Y=M.index(ee).keyPath,Y=typeof Y=="string"?Y:"["+T(Y).join("+")+"]";f[_]&&(W=f[_].idxByName[Y])&&(W.name=ee,delete f[_].idxByName[Y],f[_].idxByName[ee]=W)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&o.WorkerGlobalScope&&o instanceof o.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(c._hasGetAll=!1)}function df(c){return c.split(",").map(function(f,p){var x=f.split(":"),g=(g=x[1])==null?void 0:g.trim(),x=(f=x[0].trim()).replace(/([&*]|\+\+)/g,""),_=/^\[/.test(x)?x.match(/^\[(.*)\]$/)[1].split("+"):x;return Xl(x,_||null,/\&/.test(f),/\*/.test(f),/\+\+/.test(f),l(_),p===0,g)})}Es.prototype._createTableSchema=Kl,Es.prototype._parseIndexSyntax=df,Es.prototype._parseStoresSpec=function(c,f){var p=this;i(c).forEach(function(g){if(c[g]!==null){var x=p._parseIndexSyntax(c[g]),_=x.shift();if(!_)throw new le.Schema("Invalid schema for table "+g+": "+c[g]);if(_.unique=!0,_.multi)throw new le.Schema("Primary key cannot be multiEntry*");x.forEach(function(M){if(M.auto)throw new le.Schema("Only primary key can be marked as autoIncrement (++)");if(!M.keyPath)throw new le.Schema("Index must have a name and cannot be an empty string")}),_=p._createTableSchema(g,_,x),f[g]=_}})},Es.prototype.stores=function(p){var f=this.db,p=(this._cfg.storesSource=this._cfg.storesSource?u(this._cfg.storesSource,p):p,f._versions),g={},x={};return p.forEach(function(_){u(g,_._cfg.storesSource),x=_._cfg.dbschema={},_._parseStoresSpec(g,x)}),f._dbSchema=x,Gl(f,[f._allTables,f,f.Transaction.prototype]),la(f,[f._allTables,f,f.Transaction.prototype,this._cfg.tables],i(x),x),f._storeNames=i(x),this},Es.prototype.upgrade=function(c){return this._cfg.contentUpgrade=At(this._cfg.contentUpgrade||Ie,c),this};var aS=Es;function Es(){}var yo=(()=>{var c,f,p;return typeof FinalizationRegistry<"u"&&typeof WeakRef<"u"?(c=new Set,f=new FinalizationRegistry(function(g){c.delete(g)}),{toArray:function(){return Array.from(c).map(function(g){return g.deref()}).filter(function(g){return g!==void 0})},add:function(g){var x=new WeakRef(g._novip);c.add(x),f.register(g._novip,x,x),c.size>g._options.maxConnections&&(x=c.values().next().value,c.delete(x),f.unregister(x))},remove:function(g){if(g)for(var x=c.values(),_=x.next();!_.done;){var M=_.value;if(M.deref()===g._novip)return c.delete(M),void f.unregister(M);_=x.next()}}}):(p=[],{toArray:function(){return p},add:function(g){p.push(g._novip)},remove:function(g){g&&(g=p.indexOf(g._novip))!==-1&&p.splice(g,1)}})})();function Zl(c,f){var p=c._dbNamesDB;return p||(p=c._dbNamesDB=new wr(Bt,{addons:[],indexedDB:c,IDBKeyRange:f})).version(1).stores({dbnames:"name"}),p.table("dbnames")}function ec(c){return c&&typeof c.databases=="function"}function tc(c){return Zn(function(){return $e.letThrough=!0,c()})}function nc(c){return!("from"in c)}var kn=function(c,f){var p;if(!this)return p=new kn,c&&"d"in c&&u(p,c),p;u(this,arguments.length?{d:1,from:c,to:1<arguments.length?f:c}:{d:0})};function bo(c,f,p){var g=ot(f,p);if(!isNaN(g)){if(0<g)throw RangeError();if(nc(c))return u(c,{from:f,to:p,d:1});var g=c.l,x=c.r;if(ot(p,c.from)<0)return g?bo(g,f,p):c.l={from:f,to:p,d:1,l:null,r:null},hf(c);if(0<ot(f,c.to))return x?bo(x,f,p):c.r={from:f,to:p,d:1,l:null,r:null},hf(c);ot(f,c.from)<0&&(c.from=f,c.l=null,c.d=x?x.d+1:1),0<ot(p,c.to)&&(c.to=p,c.r=null,c.d=c.l?c.l.d+1:1),f=!c.r,g&&!c.l&&vo(c,g),x&&f&&vo(c,x)}}function vo(c,f){nc(f)||function p(g,x){var _=x.from,M=x.l,R=x.r;bo(g,_,x.to),M&&p(g,M),R&&p(g,R)}(c,f)}function ff(c,f){var p=fa(f),g=p.next();if(!g.done)for(var x=g.value,_=fa(c),M=_.next(x.from),R=M.value;!g.done&&!M.done;){if(ot(R.from,x.to)<=0&&0<=ot(R.to,x.from))return!0;ot(x.from,R.from)<0?x=(g=p.next(R.from)).value:R=(M=_.next(x.from)).value}return!1}function fa(c){var f=nc(c)?null:{s:0,n:c};return{next:function(p){for(var g=0<arguments.length;f;)switch(f.s){case 0:if(f.s=1,g)for(;f.n.l&&ot(p,f.n.from)<0;)f={up:f,n:f.n.l,s:1};else for(;f.n.l;)f={up:f,n:f.n.l,s:1};case 1:if(f.s=2,!g||ot(p,f.n.to)<=0)return{value:f.n,done:!1};case 2:if(f.n.r){f.s=3,f={up:f,n:f.n.r,s:0};continue}case 3:f=f.up}return{done:!0}}}}function hf(c){var f,p,g,x=(((x=c.r)==null?void 0:x.d)||0)-(((x=c.l)==null?void 0:x.d)||0),x=1<x?"r":x<-1?"l":"";x&&(f=x=="r"?"l":"r",p=r({},c),g=c[x],c.from=g.from,c.to=g.to,c[x]=g[x],p[x]=g[f],(c[f]=p).d=pf(p)),c.d=pf(c)}function pf(p){var f=p.r,p=p.l;return(f?p?Math.max(f.d,p.d):f.d:p?p.d:0)+1}function ha(c,f){return i(f).forEach(function(p){c[p]?vo(c[p],f[p]):c[p]=function g(x){var _,M,R={};for(_ in x)m(x,_)&&(M=x[_],R[_]=!M||typeof M!="object"||q.has(M.constructor)?M:g(M));return R}(f[p])}),c}function rc(c,f){return c.all||f.all||Object.keys(c).some(function(p){return f[p]&&ff(f[p],c[p])})}b(kn.prototype,((It={add:function(c){return vo(this,c),this},addKey:function(c){return bo(this,c,c),this},addKeys:function(c){var f=this;return c.forEach(function(p){return bo(f,p,p)}),this},hasKey:function(c){var f=fa(this).next(c).value;return f&&ot(f.from,c)<=0&&0<=ot(f.to,c)}})[pe]=function(){return fa(this)},It));var Vr={},sc={},oc=!1;function pa(c){ha(sc,c),oc||(oc=!0,setTimeout(function(){oc=!1,ic(sc,!(sc={}))},0))}function ic(c,f){f===void 0&&(f=!1);var p=new Set;if(c.all)for(var g=0,x=Object.values(Vr);g<x.length;g++)mf(R=x[g],c,p,f);else for(var _ in c){var M,R,_=/^idb\:\/\/(.*)\/(.*)\//.exec(_);_&&(M=_[1],_=_[2],R=Vr["idb://".concat(M,"/").concat(_)])&&mf(R,c,p,f)}p.forEach(function(W){return W()})}function mf(c,f,p,g){for(var x=[],_=0,M=Object.entries(c.queries.query);_<M.length;_++){for(var R=M[_],W=R[0],ee=[],Y=0,z=R[1];Y<z.length;Y++){var U=z[Y];rc(f,U.obsSet)?U.subscribers.forEach(function(V){return p.add(V)}):g&&ee.push(U)}g&&x.push([W,ee])}if(g)for(var J=0,X=x;J<X.length;J++){var K=X[J],W=K[0],ee=K[1];c.queries.query[W]=ee}}function lS(c){var f=c._state,p=c._deps.indexedDB;if(f.isBeingOpened||c.idbdb)return f.dbReadyPromise.then(function(){return f.dbOpenError?Ut(f.dbOpenError):c});f.isBeingOpened=!0,f.dbOpenError=null,f.openComplete=!1;var g=f.openCanceller,x=Math.round(10*c.verno),_=!1;function M(){if(f.openCanceller!==g)throw new le.DatabaseClosed("db.open() was cancelled")}function R(){return new H(function(U,J){if(M(),!p)throw new le.MissingAPI;var X=c.name,K=f.autoSchema||!x?p.open(X):p.open(X,x);if(!K)throw new le.MissingAPI;K.onerror=nr(J),K.onblocked=De(c._fireOnBlocked),K.onupgradeneeded=De(function(V){var se;Y=K.transaction,f.autoSchema&&!c._options.allowEmptyDB?(K.onerror=ho,Y.abort(),K.result.close(),(se=p.deleteDatabase(X)).onsuccess=se.onerror=De(function(){J(new le.NoSuchDatabase("Database ".concat(X," doesnt exist")))})):(Y.onerror=nr(J),se=V.oldVersion>Math.pow(2,62)?0:V.oldVersion,z=se<1,c.idbdb=K.result,_&&iS(c,Y),oS(c,se/10,Y,J))},J),K.onsuccess=De(function(){Y=null;var V,se,te,ce,be,xe,Pe=c.idbdb=K.result,we=T(Pe.objectStoreNames);if(0<we.length)try{var Ne=Pe.transaction((be=we).length===1?be[0]:be,"readonly");if(f.autoSchema)xe=Pe,ce=Ne,(te=c).verno=xe.version/10,ce=te._dbSchema=ua(0,xe,ce),te._storeNames=T(xe.objectStoreNames,0),la(te,[te._allTables],i(ce),ce);else if(da(c,c._dbSchema,Ne),se=Ne,((se=Jl(ua(0,(V=c).idbdb,se),V._dbSchema)).add.length||se.change.some(function(ke){return ke.add.length||ke.change.length}))&&!_)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),Pe.close(),x=Pe.version+1,_=!0,U(R());aa(c,Ne)}catch{}yo.add(c),Pe.onversionchange=De(function(ke){f.vcFired=!0,c.on("versionchange").fire(ke)}),Pe.onclose=De(function(){c.close({disableAutoOpen:!1})}),z&&(we=c._deps,be=X,ec(xe=we.indexedDB)||be===Bt||Zl(xe,we.IDBKeyRange).put({name:be}).catch(Ie)),U()},J)}).catch(function(U){switch(U==null?void 0:U.name){case"UnknownError":if(0<f.PR1398_maxLoop)return f.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),R();break;case"VersionError":if(0<x)return x=0,R()}return H.reject(U)})}var W,ee=f.dbReadyResolve,Y=null,z=!1;return H.race([g,(typeof navigator>"u"?H.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(U){function J(){return indexedDB.databases().finally(U)}W=setInterval(J,100),J()}).finally(function(){return clearInterval(W)}):Promise.resolve()).then(R)]).then(function(){return M(),f.onReadyBeingFired=[],H.resolve(tc(function(){return c.on.ready.fire(c.vip)})).then(function U(){var J;if(0<f.onReadyBeingFired.length)return J=f.onReadyBeingFired.reduce(At,Ie),f.onReadyBeingFired=[],H.resolve(tc(function(){return J(c.vip)})).then(U)})}).finally(function(){f.openCanceller===g&&(f.onReadyBeingFired=null,f.isBeingOpened=!1)}).catch(function(U){f.dbOpenError=U;try{Y&&Y.abort()}catch{}return g===f.openCanceller&&c._close(),Ut(U)}).finally(function(){f.openComplete=!0,ee()}).then(function(){var U;return z&&(U={},c.tables.forEach(function(J){J.schema.indexes.forEach(function(X){X.name&&(U["idb://".concat(c.name,"/").concat(J.name,"/").concat(X.name)]=new kn(-1/0,[[[]]]))}),U["idb://".concat(c.name,"/").concat(J.name,"/")]=U["idb://".concat(c.name,"/").concat(J.name,"/:dels")]=new kn(-1/0,[[[]]])}),Er(po).fire(U),ic(U,!0)),c})}function ac(c){function f(_){return c.next(_)}var p=x(f),g=x(function(_){return c.throw(_)});function x(_){return function(R){var R=_(R),W=R.value;return R.done?W:W&&typeof W.then=="function"?W.then(p,g):l(W)?Promise.all(W).then(p,g):p(W)}}return x(f)()}function ma(c,f,p){for(var g=l(c)?c.slice():[c],x=0;x<p;++x)g.push(f);return g}var cS={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(c){return r(r({},c),{table:function(g){var p=c.table(g),g=p.schema,x={},_=[];function M(U,J,X){var te=go(U),K=x[te]=x[te]||[],V=U==null?0:typeof U=="string"?1:U.length,se=0<J,te=r(r({},X),{name:se?"".concat(te,"(virtual-from:").concat(X.name,")"):X.name,lowLevelIndex:X,isVirtual:se,keyTail:J,keyLength:V,extractKey:Vl(U),unique:!se&&X.unique});return K.push(te),te.isPrimaryKey||_.push(te),1<V&&M(V===2?U[0]:U.slice(0,V-1),J+1,X),K.sort(function(ce,be){return ce.keyTail-be.keyTail}),te}var R=M(g.primaryKey.keyPath,0,g.primaryKey);x[":id"]=[R];for(var W=0,ee=g.indexes;W<ee.length;W++){var Y=ee[W];M(Y.keyPath,0,Y)}function z(U){var J,X=U.query.index;return X.isVirtual?r(r({},U),{query:{index:X.lowLevelIndex,range:(J=U.query.range,X=X.keyTail,{type:J.type===1?2:J.type,lower:ma(J.lower,J.lowerOpen?c.MAX_KEY:c.MIN_KEY,X),lowerOpen:!0,upper:ma(J.upper,J.upperOpen?c.MIN_KEY:c.MAX_KEY,X),upperOpen:!0})}}):U}return r(r({},p),{schema:r(r({},g),{primaryKey:R,indexes:_,getIndexByKeyPath:function(U){return(U=x[go(U)])&&U[0]}}),count:function(U){return p.count(z(U))},query:function(U){return p.query(z(U))},openCursor:function(U){var J=U.query.index,X=J.keyTail,K=J.keyLength;return J.isVirtual?p.openCursor(z(U)).then(function(se){return se&&V(se)}):p.openCursor(U);function V(se){return Object.create(se,{continue:{value:function(te){te!=null?se.continue(ma(te,U.reverse?c.MAX_KEY:c.MIN_KEY,X)):U.unique?se.continue(se.key.slice(0,K).concat(U.reverse?c.MIN_KEY:c.MAX_KEY,X)):se.continue()}},continuePrimaryKey:{value:function(te,ce){se.continuePrimaryKey(ma(te,c.MAX_KEY,X),ce)}},primaryKey:{get:function(){return se.primaryKey}},key:{get:function(){var te=se.key;return K===1?te[0]:te.slice(0,K)}},value:{get:function(){return se.value}}})}}})}})}};function lc(c,f,p,g){return p=p||{},g=g||"",i(c).forEach(function(x){var _,M,R;m(f,x)?(_=c[x],M=f[x],typeof _=="object"&&typeof M=="object"&&_&&M?(R=Z(_))!==Z(M)?p[g+x]=f[x]:R==="Object"?lc(_,M,p,g+x+"."):_!==M&&(p[g+x]=f[x]):_!==M&&(p[g+x]=f[x])):p[g+x]=void 0}),i(f).forEach(function(x){m(c,x)||(p[g+x]=f[x])}),p}function cc(c,f){return f.type==="delete"?f.keys:f.keys||f.values.map(c.extractKey)}var uS={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(c){return r(r({},c),{table:function(f){var p=c.table(f),g=p.schema.primaryKey;return r(r({},p),{mutate:function(x){var _=$e.trans,M=_.table(f).hook,R=M.deleting,W=M.creating,ee=M.updating;switch(x.type){case"add":if(W.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"put":if(W.fire===Ie&&ee.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"delete":if(R.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"deleteRange":if(R.fire===Ie)break;return _._promise("readwrite",function(){return function z(U,J,X){return p.query({trans:U,values:!1,query:{index:g,range:J},limit:X}).then(function(K){var V=K.result;return Y({type:"delete",keys:V,trans:U}).then(function(se){return 0<se.numFailures?Promise.reject(se.failures[0]):V.length<X?{failures:[],numFailures:0,lastResult:void 0}:z(U,r(r({},J),{lower:V[V.length-1],lowerOpen:!0}),X)})})}(x.trans,x.range,1e4)},!0)}return p.mutate(x);function Y(z){var U,J,X,K=$e.trans,V=z.keys||cc(g,z);if(V)return(z=z.type==="add"||z.type==="put"?r(r({},z),{keys:V}):r({},z)).type!=="delete"&&(z.values=s([],z.values)),z.keys&&(z.keys=s([],z.keys)),U=p,X=V,((J=z).type==="add"?Promise.resolve([]):U.getMany({trans:J.trans,keys:X,cache:"immutable"})).then(function(se){var te=V.map(function(ce,be){var xe,Pe,we,Ne=se[be],ke={onerror:null,onsuccess:null};return z.type==="delete"?R.fire.call(ke,ce,Ne,K):z.type==="add"||Ne===void 0?(xe=W.fire.call(ke,ce,z.values[be],K),ce==null&&xe!=null&&(z.keys[be]=ce=xe,g.outbound||O(z.values[be],g.keyPath,ce))):(xe=lc(Ne,z.values[be]),(Pe=ee.fire.call(ke,xe,ce,Ne,K))&&(we=z.values[be],Object.keys(Pe).forEach(function(Be){m(we,Be)?we[Be]=Pe[Be]:O(we,Be,Pe[Be])}))),ke});return p.mutate(z).then(function(ce){for(var be=ce.failures,xe=ce.results,Pe=ce.numFailures,ce=ce.lastResult,we=0;we<V.length;++we){var Ne=(xe||V)[we],ke=te[we];Ne==null?ke.onerror&&ke.onerror(be[we]):ke.onsuccess&&ke.onsuccess(z.type==="put"&&se[we]?z.values[we]:Ne)}return{failures:be,results:xe,numFailures:Pe,lastResult:ce}}).catch(function(ce){return te.forEach(function(be){return be.onerror&&be.onerror(ce)}),Promise.reject(ce)})});throw new Error("Keys missing")}}})}})}};function gf(c,f,p){try{if(!f||f.keys.length<c.length)return null;for(var g=[],x=0,_=0;x<f.keys.length&&_<c.length;++x)ot(f.keys[x],c[_])===0&&(g.push(p?Q(f.values[x]):f.values[x]),++_);return g.length===c.length?g:null}catch{return null}}var dS={stack:"dbcore",level:-1,create:function(c){return{table:function(f){var p=c.table(f);return r(r({},p),{getMany:function(g){var x;return g.cache?(x=gf(g.keys,g.trans._cache,g.cache==="clone"))?H.resolve(x):p.getMany(g).then(function(_){return g.trans._cache={keys:g.keys,values:g.cache==="clone"?Q(_):_},_}):p.getMany(g)},mutate:function(g){return g.type!=="add"&&(g.trans._cache=null),p.mutate(g)}})}}}};function yf(c,f){return c.trans.mode==="readonly"&&!!c.subscr&&!c.trans.explicit&&c.trans.db._options.cache!=="disabled"&&!f.schema.primaryKey.outbound}function bf(c,f){switch(c){case"query":return f.values&&!f.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var fS={stack:"dbcore",level:0,name:"Observability",create:function(c){var f=c.schema.name,p=new kn(c.MIN_KEY,c.MAX_KEY);return r(r({},c),{transaction:function(g,x,_){if($e.subscr&&x!=="readonly")throw new le.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat($e.querier));return c.transaction(g,x,_)},table:function(g){function x(V){var K,V=V.query;return[K=V.index,new kn((K=(V=V.range).lower)!=null?K:c.MIN_KEY,(K=V.upper)!=null?K:c.MAX_KEY)]}var _=c.table(g),M=_.schema,R=M.primaryKey,W=M.indexes,ee=R.extractKey,Y=R.outbound,z=R.autoIncrement&&W.filter(function(X){return X.compound&&X.keyPath.includes(R.keyPath)}),U=r(r({},_),{mutate:function(X){function K(ve){return ve="idb://".concat(f,"/").concat(g,"/").concat(ve),be[ve]||(be[ve]=new kn)}var V,se,te,ce=X.trans,be=X.mutatedParts||(X.mutatedParts={}),xe=K(""),Pe=K(":dels"),we=X.type,ke=X.type==="deleteRange"?[X.range]:X.type==="delete"?[X.keys]:X.values.length<50?[cc(R,X).filter(function(ve){return ve}),X.values]:[],Ne=ke[0],ke=ke[1],Be=X.trans._cache;return l(Ne)?(xe.addKeys(Ne),(we=we==="delete"||Ne.length===ke.length?gf(Ne,Be):null)||Pe.addKeys(Ne),(we||ke)&&(V=K,se=we,te=ke,M.indexes.forEach(function(ve){var tt=V(ve.name||"");function nt(yt){return yt!=null?ve.extractKey(yt):null}function at(yt){ve.multiEntry&&l(yt)?yt.forEach(function(Bn){return tt.addKey(Bn)}):tt.addKey(yt)}(se||te).forEach(function(yt,Cn){var it=se&&nt(se[Cn]),Cn=te&&nt(te[Cn]);ot(it,Cn)!==0&&(it!=null&&at(it),Cn!=null)&&at(Cn)})}))):Ne?(ke={from:(Be=Ne.lower)!=null?Be:c.MIN_KEY,to:(we=Ne.upper)!=null?we:c.MAX_KEY},Pe.add(ke),xe.add(ke)):(xe.add(p),Pe.add(p),M.indexes.forEach(function(ve){return K(ve.name).add(p)})),_.mutate(X).then(function(ve){return!Ne||X.type!=="add"&&X.type!=="put"||(xe.addKeys(ve.results),z&&z.forEach(function(tt){for(var nt=X.values.map(function(it){return tt.extractKey(it)}),at=tt.keyPath.findIndex(function(it){return it===R.keyPath}),yt=0,Bn=ve.results.length;yt<Bn;++yt)nt[yt][at]=ve.results[yt];K(tt.name).addKeys(nt)})),ce.mutatedParts=ha(ce.mutatedParts||{},be),ve})}}),J={get:function(X){return[R,new kn(X.key)]},getMany:function(X){return[R,new kn().addKeys(X.keys)]},count:x,query:x,openCursor:x};return i(J).forEach(function(X){U[X]=function(K){var V=$e.subscr,se=!!V,te=yf($e,_)&&bf(X,K)?K.obsSet={}:V;if(se){var ce,V=function(ke){return ke="idb://".concat(f,"/").concat(g,"/").concat(ke),te[ke]||(te[ke]=new kn)},be=V(""),xe=V(":dels"),se=J[X](K),Pe=se[0],se=se[1];if((X==="query"&&Pe.isPrimaryKey&&!K.values?xe:V(Pe.name||"")).add(se),!Pe.isPrimaryKey){if(X!=="count")return ce=X==="query"&&Y&&K.values&&_.query(r(r({},K),{values:!1})),_[X].apply(this,arguments).then(function(ke){if(X==="query"){if(Y&&K.values)return ce.then(function(nt){return nt=nt.result,be.addKeys(nt),ke});var Be=K.values?ke.result.map(ee):ke.result;(K.values?be:xe).addKeys(Be)}else{var ve,tt;if(X==="openCursor")return tt=K.values,(ve=ke)&&Object.create(ve,{key:{get:function(){return xe.addKey(ve.primaryKey),ve.key}},primaryKey:{get:function(){var nt=ve.primaryKey;return xe.addKey(nt),nt}},value:{get:function(){return tt&&be.addKey(ve.primaryKey),ve.value}}})}return ke});xe.add(p)}}return _[X].apply(this,arguments)}}),U}})}};function vf(c,f,p){var g;return p.numFailures===0?f:f.type==="deleteRange"||(g=f.keys?f.keys.length:"values"in f&&f.values?f.values.length:1,p.numFailures===g)?null:(g=r({},f),l(g.keys)&&(g.keys=g.keys.filter(function(x,_){return!(_ in p.failures)})),"values"in g&&l(g.values)&&(g.values=g.values.filter(function(x,_){return!(_ in p.failures)})),g)}function uc(c,f){return p=c,((g=f).lower===void 0||(g.lowerOpen?0<ot(p,g.lower):0<=ot(p,g.lower)))&&(p=c,(g=f).upper===void 0||(g.upperOpen?ot(p,g.upper)<0:ot(p,g.upper)<=0));var p,g}function Sf(c,f,p,g,x,_){var M,R,W,ee,Y,z,U;return!p||p.length===0||(M=f.query.index,R=M.multiEntry,W=f.query.range,ee=g.schema.primaryKey.extractKey,Y=M.extractKey,z=(M.lowLevelIndex||M).extractKey,(g=p.reduce(function(J,X){var K=J,V=[];if(X.type==="add"||X.type==="put")for(var se=new kn,te=X.values.length-1;0<=te;--te){var ce,be=X.values[te],xe=ee(be);!se.hasKey(xe)&&(ce=Y(be),R&&l(ce)?ce.some(function(Be){return uc(Be,W)}):uc(ce,W))&&(se.addKey(xe),V.push(be))}switch(X.type){case"add":var Pe=new kn().addKeys(f.values?J.map(function(ve){return ee(ve)}):J),K=J.concat(f.values?V.filter(function(ve){return ve=ee(ve),!Pe.hasKey(ve)&&(Pe.addKey(ve),!0)}):V.map(function(ve){return ee(ve)}).filter(function(ve){return!Pe.hasKey(ve)&&(Pe.addKey(ve),!0)}));break;case"put":var we=new kn().addKeys(X.values.map(function(ve){return ee(ve)}));K=J.filter(function(ve){return!we.hasKey(f.values?ee(ve):ve)}).concat(f.values?V:V.map(function(ve){return ee(ve)}));break;case"delete":var Ne=new kn().addKeys(X.keys);K=J.filter(function(ve){return!Ne.hasKey(f.values?ee(ve):ve)});break;case"deleteRange":var ke=X.range;K=J.filter(function(ve){return!uc(ee(ve),ke)})}return K},c))===c)?c:(U=function(J,X){return ot(z(J),z(X))||ot(ee(J),ee(X))},g.sort(f.direction==="prev"||f.direction==="prevunique"?function(J,X){return U(X,J)}:U),f.limit&&f.limit<1/0&&(g.length>f.limit?g.length=f.limit:c.length===f.limit&&g.length<f.limit&&(x.dirty=!0)),_?Object.freeze(g):g)}function xf(c,f){return ot(c.lower,f.lower)===0&&ot(c.upper,f.upper)===0&&!!c.lowerOpen==!!f.lowerOpen&&!!c.upperOpen==!!f.upperOpen}function hS(c,f){return((p,g,x,_)=>{if(p===void 0)return g!==void 0?-1:0;if(g===void 0)return 1;if((p=ot(p,g))===0){if(x&&_)return 0;if(x)return 1;if(_)return-1}return p})(c.lower,f.lower,c.lowerOpen,f.lowerOpen)<=0&&0<=((p,g,x,_)=>{if(p===void 0)return g!==void 0?1:0;if(g===void 0)return-1;if((p=ot(p,g))===0){if(x&&_)return 0;if(x)return-1;if(_)return 1}return p})(c.upper,f.upper,c.upperOpen,f.upperOpen)}function pS(c,f,p,g){c.subscribers.add(p),g.addEventListener("abort",function(){var x,_;c.subscribers.delete(p),c.subscribers.size===0&&(x=c,_=f,setTimeout(function(){x.subscribers.size===0&&oe(_,x)},3e3))})}var mS={stack:"dbcore",level:0,name:"Cache",create:function(c){var f=c.schema.name;return r(r({},c),{transaction:function(p,g,x){var _,M,R=c.transaction(p,g,x);return g==="readwrite"&&(x=(_=new AbortController).signal,R.addEventListener("abort",(M=function(W){return function(){if(_.abort(),g==="readwrite"){for(var ee=new Set,Y=0,z=p;Y<z.length;Y++){var U=z[Y],J=Vr["idb://".concat(f,"/").concat(U)];if(J){var X=c.table(U),K=J.optimisticOps.filter(function(ve){return ve.trans===R});if(R._explicit&&W&&R.mutatedParts)for(var V=0,se=Object.values(J.queries.query);V<se.length;V++)for(var te=0,ce=(Pe=se[V]).slice();te<ce.length;te++)rc((we=ce[te]).obsSet,R.mutatedParts)&&(oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)}));else if(0<K.length){J.optimisticOps=J.optimisticOps.filter(function(ve){return ve.trans!==R});for(var be=0,xe=Object.values(J.queries.query);be<xe.length;be++)for(var Pe,we,Ne,ke=0,Be=(Pe=xe[be]).slice();ke<Be.length;ke++)(we=Be[ke]).res!=null&&R.mutatedParts&&(W&&!we.dirty?(Ne=Object.isFrozen(we.res),Ne=Sf(we.res,we.req,K,X,we,Ne),we.dirty?(oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)})):Ne!==we.res&&(we.res=Ne,we.promise=H.resolve({result:Ne}))):(we.dirty&&oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)})))}}}ee.forEach(function(ve){return ve()})}}})(!1),{signal:x}),R.addEventListener("error",M(!1),{signal:x}),R.addEventListener("complete",M(!0),{signal:x})),R},table:function(p){var g=c.table(p),x=g.schema.primaryKey;return r(r({},g),{mutate:function(_){var M,R=$e.trans;return!x.outbound&&R.db._options.cache!=="disabled"&&!R.explicit&&R.idbtrans.mode==="readwrite"&&(M=Vr["idb://".concat(f,"/").concat(p)])?(R=g.mutate(_),_.type!=="add"&&_.type!=="put"||!(50<=_.values.length||cc(x,_).some(function(W){return W==null}))?(M.optimisticOps.push(_),_.mutatedParts&&pa(_.mutatedParts),R.then(function(W){0<W.numFailures&&(oe(M.optimisticOps,_),(W=vf(0,_,W))&&M.optimisticOps.push(W),_.mutatedParts)&&pa(_.mutatedParts)}),R.catch(function(){oe(M.optimisticOps,_),_.mutatedParts&&pa(_.mutatedParts)})):R.then(function(W){var ee=vf(0,r(r({},_),{values:_.values.map(function(Y,z){var U;return W.failures[z]?Y:(O(U=(U=x.keyPath)!=null&&U.includes(".")?Q(Y):r({},Y),x.keyPath,W.results[z]),U)})}),W);M.optimisticOps.push(ee),queueMicrotask(function(){return _.mutatedParts&&pa(_.mutatedParts)})}),R):g.mutate(_)},query:function(_){var M,R,W,ee,Y,z,U;return yf($e,g)&&bf("query",_)?(M=((W=$e.trans)==null?void 0:W.db._options.cache)==="immutable",R=(W=$e).requery,W=W.signal,z=((J,X,K,V)=>{var se=Vr["idb://".concat(J,"/").concat(X)];if(!se)return[];if(!(J=se.queries[K]))return[null,!1,se,null];var te=J[(V.query?V.query.index.name:null)||""];if(!te)return[null,!1,se,null];switch(K){case"query":var ce=(be=V.direction)!=null?be:"next",be=te.find(function(xe){var Pe;return xe.req.limit===V.limit&&xe.req.values===V.values&&((Pe=xe.req.direction)!=null?Pe:"next")===ce&&xf(xe.req.query.range,V.query.range)});return be?[be,!0,se,te]:[te.find(function(xe){var Pe;return("limit"in xe.req?xe.req.limit:1/0)>=V.limit&&((Pe=xe.req.direction)!=null?Pe:"next")===ce&&(!V.values||xe.req.values)&&hS(xe.req.query.range,V.query.range)}),!1,se,te];case"count":return be=te.find(function(xe){return xf(xe.req.query.range,V.query.range)}),[be,!!be,se,te]}})(f,p,"query",_),U=z[0],ee=z[2],Y=z[3],U&&z[1]?U.obsSet=_.obsSet:(z=g.query(_).then(function(J){var X=J.result;if(U&&(U.res=X),M){for(var K=0,V=X.length;K<V;++K)Object.freeze(X[K]);Object.freeze(X)}else J.result=Q(X);return J}).catch(function(J){return Y&&U&&oe(Y,U),Promise.reject(J)}),U={obsSet:_.obsSet,promise:z,subscribers:new Set,type:"query",req:_,dirty:!1},Y?Y.push(U):(Y=[U],(ee=ee||(Vr["idb://".concat(f,"/").concat(p)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[_.query.index.name||""]=Y)),pS(U,Y,R,W),U.promise.then(function(J){return{result:Sf(J.result,_,ee==null?void 0:ee.optimisticOps,g,U,M)}})):g.query(_)}})}})}};function ga(c,f){return new Proxy(c,{get:function(p,g,x){return g==="db"?f:Reflect.get(p,g,x)}})}en.prototype.version=function(c){if(isNaN(c)||c<.1)throw new le.Type("Given version is not a positive number");if(c=Math.round(10*c)/10,this.idbdb||this._state.isBeingOpened)throw new le.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,c);var f=this._versions,p=f.filter(function(g){return g._cfg.version===c})[0];return p||(p=new this.Version(c),f.push(p),f.sort(sS),p.stores({}),this._state.autoSchema=!1),p},en.prototype._whenReady=function(c){var f=this;return this.idbdb&&(this._state.openComplete||$e.letThrough||this._vip)?c():new H(function(p,g){if(f._state.openComplete)return g(new le.DatabaseClosed(f._state.dbOpenError));if(!f._state.isBeingOpened){if(!f._state.autoOpen)return void g(new le.DatabaseClosed);f.open().catch(Ie)}f._state.dbReadyPromise.then(p,g)}).then(c)},en.prototype.use=function(x){var f=x.stack,p=x.create,g=x.level,x=x.name,_=(x&&this.unuse({stack:f,name:x}),this._middlewares[f]||(this._middlewares[f]=[]));return _.push({stack:f,create:p,level:g??10,name:x}),_.sort(function(M,R){return M.level-R.level}),this},en.prototype.unuse=function(c){var f=c.stack,p=c.name,g=c.create;return f&&this._middlewares[f]&&(this._middlewares[f]=this._middlewares[f].filter(function(x){return g?x.create!==g:!!p&&x.name!==p})),this},en.prototype.open=function(){var c=this;return cr(Vt,function(){return lS(c)})},en.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var c=this._state;if(yo.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}c.isBeingOpened||(c.dbReadyPromise=new H(function(f){c.dbReadyResolve=f}),c.openCanceller=new H(function(f,p){c.cancelOpen=p}))},en.prototype.close=function(f){var f=(f===void 0?{disableAutoOpen:!0}:f).disableAutoOpen,p=this._state;f?(p.isBeingOpened&&p.cancelOpen(new le.DatabaseClosed),this._close(),p.autoOpen=!1,p.dbOpenError=new le.DatabaseClosed):(this._close(),p.autoOpen=this._options.autoOpen||p.isBeingOpened,p.openComplete=!1,p.dbOpenError=null)},en.prototype.delete=function(c){var f=this,p=(c===void 0&&(c={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),g=this._state;return new H(function(x,_){function M(){f.close(c);var R=f._deps.indexedDB.deleteDatabase(f.name);R.onsuccess=De(function(){var W,ee,Y;W=f._deps,ee=f.name,ec(Y=W.indexedDB)||ee===Bt||Zl(Y,W.IDBKeyRange).delete(ee).catch(Ie),x()}),R.onerror=nr(_),R.onblocked=f._fireOnBlocked}if(p)throw new le.InvalidArgument("Invalid closeOptions argument to db.delete()");g.isBeingOpened?g.dbReadyPromise.then(M):M()})},en.prototype.backendDB=function(){return this.idbdb},en.prototype.isOpen=function(){return this.idbdb!==null},en.prototype.hasBeenClosed=function(){var c=this._state.dbOpenError;return c&&c.name==="DatabaseClosed"},en.prototype.hasFailed=function(){return this._state.dbOpenError!==null},en.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(en.prototype,"tables",{get:function(){var c=this;return i(this._allTables).map(function(f){return c._allTables[f]})},enumerable:!1,configurable:!0}),en.prototype.transaction=function(){var c=(function(f,p,g){var x=arguments.length;if(x<2)throw new le.InvalidArgument("Too few arguments");for(var _=new Array(x-1);--x;)_[x-1]=arguments[x];return g=_.pop(),[f,N(_),g]}).apply(this,arguments);return this._transaction.apply(this,c)},en.prototype._transaction=function(c,f,p){var g,x,_=this,M=$e.trans,R=(M&&M.db===this&&c.indexOf("!")===-1||(M=null),c.indexOf("?")!==-1);c=c.replace("!","").replace("?","");try{if(x=f.map(function(ee){if(ee=ee instanceof _.Table?ee.name:ee,typeof ee!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return ee}),c=="r"||c===vt)g=vt;else{if(c!="rw"&&c!=En)throw new le.InvalidArgument("Invalid transaction mode: "+c);g=En}if(M){if(M.mode===vt&&g===En){if(!R)throw new le.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");M=null}M&&x.forEach(function(ee){if(M&&M.storeNames.indexOf(ee)===-1){if(!R)throw new le.SubTransaction("Table "+ee+" not included in parent transaction.");M=null}}),R&&M&&!M.active&&(M=null)}}catch(ee){return M?M._promise(null,function(Y,z){z(ee)}):Ut(ee)}var W=(function ee(Y,z,U,J,X){return H.resolve().then(function(){var te=$e.transless||$e,K=Y._createTransaction(z,U,Y._dbSchema,J),te=(K.explicit=!0,{trans:K,transless:te});if(J)K.idbtrans=J.idbtrans;else try{K.create(),K.idbtrans._explicit=!0,Y._state.PR1398_maxLoop=3}catch(ce){return ce.name===lt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return ee(Y,z,U,null,X)})):Ut(ce)}var V,se=he(X),te=(se&&lr(),H.follow(function(){var ce;(V=X.call(K,K))&&(se?(ce=er.bind(null,null),V.then(ce,ce)):typeof V.next=="function"&&typeof V.throw=="function"&&(V=ac(V)))},te));return(V&&typeof V.then=="function"?H.resolve(V).then(function(ce){return K.active?ce:Ut(new le.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):te.then(function(){return V})).then(function(ce){return J&&K._resolve(),K._completion.then(function(){return ce})}).catch(function(ce){return K._reject(ce),Ut(ce)})})}).bind(null,this,g,x,M,p);return M?M._promise(g,W,"lock"):$e.trans?cr($e.transless,function(){return _._whenReady(W)}):this._whenReady(W)},en.prototype.table=function(c){if(m(this._allTables,c))return this._allTables[c];throw new le.InvalidTable("Table ".concat(c," does not exist"))};var wr=en;function en(c,f){var p,g,x,_,M,R=this,W=(this._middlewares={},this.verno=0,en.dependencies),W=(this._options=f=r({addons:en.addons,autoOpen:!0,indexedDB:W.indexedDB,IDBKeyRange:W.IDBKeyRange,cache:"cloned",maxConnections:1e3},f),this._deps={indexedDB:f.indexedDB,IDBKeyRange:f.IDBKeyRange},f.addons),ee=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Ie,dbReadyPromise:null,cancelOpen:Ie,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:f.autoOpen}),Y=(ee.dbReadyPromise=new H(function(z){ee.dbReadyResolve=z}),ee.openCanceller=new H(function(z,U){ee.cancelOpen=U}),this._state=ee,this.name=c,this.on=uo(this,"populate","blocked","versionchange","close",{ready:[At,Ie]}),this.once=function(z,U){var J=function(){for(var X=[],K=0;K<arguments.length;K++)X[K]=arguments[K];R.on(z).unsubscribe(J),U.apply(R,X)};return R.on(z,J)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(z){return function(U,J){en.vip(function(){var X,K=R._state;K.openComplete?(K.dbOpenError||H.resolve().then(U),J&&z(U)):K.onReadyBeingFired?(K.onReadyBeingFired.push(U),J&&z(U)):(z(U),X=R,J||z(function V(){X.on.ready.unsubscribe(U),X.on.ready.unsubscribe(V)}))})}}),this.Collection=(p=this,fo(Jv.prototype,function(V,K){this.db=p;var J=Dn,X=null;if(K)try{J=K()}catch(te){X=te}var K=V._ctx,V=K.table,se=V.hook.reading.fire;this._ctx={table:V,index:K.index,isPrimKey:!K.index||V.schema.primKey.keyPath&&K.index===V.schema.primKey.name,range:J,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:X,or:K.or,valueMapper:se!==He?se:null}})),this.Table=(g=this,fo(tf.prototype,function(z,U,J){this.db=g,this._tx=J,this.name=z,this.schema=U,this.hook=g._allTables[z]?g._allTables[z].hook:uo(null,{creating:[$t,Ie],reading:[dt,He],updating:[rn,Ie],deleting:[Qt,Ie]})})),this.Transaction=(x=this,fo(eS.prototype,function(z,U,J,X,K){var V=this;z!=="readonly"&&U.forEach(function(se){se=(se=J[se])==null?void 0:se.yProps,se&&(U=U.concat(se.map(function(te){return te.updatesTable})))}),this.db=x,this.mode=z,this.storeNames=U,this.schema=J,this.chromeTransactionDurability=X,this.idbtrans=null,this.on=uo(this,"complete","error","abort"),this.parent=K||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new H(function(se,te){V._resolve=se,V._reject=te}),this._completion.then(function(){V.active=!1,V.on.complete.fire()},function(se){var te=V.active;return V.active=!1,V.on.error.fire(se),V.parent?V.parent._reject(se):te&&V.idbtrans&&V.idbtrans.abort(),Ut(se)})})),this.Version=(_=this,fo(aS.prototype,function(z){this.db=_,this._cfg={version:z,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(M=this,fo(af.prototype,function(z,U,J){if(this.db=M,this._ctx={table:z,index:U===":id"?null:U,or:J},this._cmp=this._ascending=ot,this._descending=function(X,K){return ot(K,X)},this._max=function(X,K){return 0<ot(X,K)?X:K},this._min=function(X,K){return ot(X,K)<0?X:K},this._IDBKeyRange=M._deps.IDBKeyRange,!this._IDBKeyRange)throw new le.MissingAPI})),this.on("versionchange",function(z){0<z.newVersion?console.warn("Another connection wants to upgrade database '".concat(R.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(R.name,"'. Closing db now to resume the delete request.")),R.close({disableAutoOpen:!1})}),this.on("blocked",function(z){!z.newVersion||z.newVersion<z.oldVersion?console.warn("Dexie.delete('".concat(R.name,"') was blocked")):console.warn("Upgrade '".concat(R.name,"' blocked by other connection holding version ").concat(z.oldVersion/10))}),this._maxKey=mo(f.IDBKeyRange),this._createTransaction=function(z,U,J,X){return new R.Transaction(z,U,J,R._options.chromeTransactionDurability,X)},this._fireOnBlocked=function(z){R.on("blocked").fire(z),yo.toArray().filter(function(U){return U.name===R.name&&U!==R&&!U._state.vcFired}).map(function(U){return U.on("versionchange").fire(z)})},this.use(dS),this.use(mS),this.use(fS),this.use(cS),this.use(uS),new Proxy(this,{get:function(z,U,J){var X;return U==="_vip"||(U==="table"?function(K){return ga(R.table(K),Y)}:(X=Reflect.get(z,U,J))instanceof tf?ga(X,Y):U==="tables"?X.map(function(K){return ga(K,Y)}):U==="_createTransaction"?function(){return ga(X.apply(this,arguments),Y)}:X)}}));this.vip=Y,W.forEach(function(z){return z(R)})}var ya,js=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",gS=(dc.prototype.subscribe=function(c,f,p){return this._subscribe(c&&typeof c!="function"?c:{next:c,error:f,complete:p})},dc.prototype[js]=function(){return this},dc);function dc(c){this._subscribe=c}try{ya={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch{ya={indexedDB:null,IDBKeyRange:null}}function wf(c){var f,p=!1,g=new gS(function(x){var _=he(c),M,R=!1,W={},ee={},Y={get closed(){return R},unsubscribe:function(){R||(R=!0,M&&M.abort(),z&&Er.storagemutated.unsubscribe(X))}},z=(x.start&&x.start(Y),!1),U=function(){return Ts(K)};function J(){return rc(ee,W)}var X=function(V){ha(W,V),J()&&U()},K=function(){var V,se,te;!R&&ya.indexedDB&&(W={},V={},M&&M.abort(),M=new AbortController,te=(ce=>{var be=Tt();try{_&&lr();var xe=Zn(c,ce);return xe=_?xe.finally(er):xe}finally{be&&Ke()}})(se={subscr:V,signal:M.signal,requery:U,querier:c,trans:null}),z||(Er(po,X),z=!0),Promise.resolve(te).then(function(ce){p=!0,f=ce,R||se.signal.aborted||(J()||(ee=V,J())?U():(W={},Ts(function(){return!R&&x.next&&x.next(ce)})))},function(ce){p=!1,["DatabaseClosedError","AbortError"].includes(ce==null?void 0:ce.name)||R||Ts(function(){R||x.error&&x.error(ce)})}))};return setTimeout(U,0),Y});return g.hasValue=function(){return p},g.getValue=function(){return f},g}var Gr=wr;function fc(c){var f=jr;try{jr=!0,Er.storagemutated.fire(c),ic(c,!0)}finally{jr=f}}b(Gr,r(r({},fe),{delete:function(c){return new Gr(c,{addons:[]}).delete()},exists:function(c){return new Gr(c,{addons:[]}).open().then(function(f){return f.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(c){try{return f=Gr.dependencies,p=f.indexedDB,f=f.IDBKeyRange,(ec(p)?Promise.resolve(p.databases()).then(function(g){return g.map(function(x){return x.name}).filter(function(x){return x!==Bt})}):Zl(p,f).toCollection().primaryKeys()).then(c)}catch{return Ut(new le.MissingAPI)}var f,p},defineClass:function(){return function(c){u(this,c)}},ignoreTransaction:function(c){return $e.trans?cr($e.transless||Vt,c):c()},vip:tc,async:function(c){return function(){try{var f=ac(c.apply(this,arguments));return f&&typeof f.then=="function"?f:H.resolve(f)}catch(p){return Ut(p)}}},spawn:function(c,f,p){try{var g=ac(c.apply(p,f||[]));return g&&typeof g.then=="function"?g:H.resolve(g)}catch(x){return Ut(x)}},currentTransaction:{get:function(){return $e.trans||null}},waitFor:function(c,f){return c=H.resolve(typeof c=="function"?Gr.ignoreTransaction(c):c).timeout(f||6e4),$e.trans?$e.trans.waitFor(c):c},Promise:H,debug:{get:function(){return Xt},set:function(c){Kt(c)}},derive:S,extend:u,props:b,override:j,Events:uo,on:Er,liveQuery:wf,extendObservabilitySet:ha,getByKeyPath:A,setByKeyPath:O,delByKeyPath:function(c,f){typeof f=="string"?O(c,f,void 0):"length"in f&&[].map.call(f,function(p){O(c,p,void 0)})},shallowClone:D,deepClone:Q,getObjectDiff:lc,cmp:ot,asap:E,minKey:-1/0,addons:[],connections:{get:yo.toArray},errnames:lt,dependencies:ya,cache:Vr,semVer:"4.4.2",version:"4.4.2".split(".").map(function(c){return parseInt(c)}).reduce(function(c,f,p){return c+f/Math.pow(10,2*p)})})),Gr.maxKey=mo(Gr.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Er(po,function(c){jr||(c=new CustomEvent(Yl,{detail:c}),jr=!0,dispatchEvent(c),jr=!1)}),addEventListener(Yl,function(c){c=c.detail,jr||fc(c)}));var Rs,jr=!1,_f=function(){};return typeof BroadcastChannel<"u"&&((_f=function(){(Rs=new BroadcastChannel(Yl)).onmessage=function(c){return c.data&&fc(c.data)}})(),typeof Rs.unref=="function"&&Rs.unref(),Er(po,function(c){jr||Rs.postMessage(c)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(c){if(!wr.disableBfCache&&c.persisted){Xt&&console.debug("Dexie: handling persisted pagehide"),Rs!=null&&Rs.close();for(var f=0,p=yo.toArray();f<p.length;f++)p[f].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(c){!wr.disableBfCache&&c.persisted&&(Xt&&console.debug("Dexie: handling persisted pageshow"),_f(),fc({all:new kn(-1/0,[[]])}))})),H.rejectionMapper=function(c,f){return!c||c instanceof de||c instanceof TypeError||c instanceof SyntaxError||!c.name||!Ae[c.name]?c:(f=new Ae[c.name](f||c.message,c),"stack"in c&&w(f,"stack",{get:function(){return this.inner.stack}}),f)},Kt(Xt),r(wr,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:wr,Entity:xr,PropModification:co,RangeSet:kn,add:function(c){return new co({add:c})},cmp:ot,default:wr,liveQuery:wf,mergeRanges:vo,rangesOverlap:ff,remove:function(c){return new co({remove:c})},replacePrefix:function(c,f){return new co({replacePrefix:[c,f]})}}),{default:wr}),wr})}(Xa)),Xa.exports}var s_=r_();const hu=vs(s_),Vf=Symbol.for("Dexie"),hl=globalThis[Vf]||(globalThis[Vf]=hu);if(hu.semVer!==hl.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${hu.semVer} and ${hl.semVer}`);const{liveQuery:cI,mergeRanges:uI,rangesOverlap:dI,RangeSet:fI,cmp:hI,Entity:pI,PropModification:mI,replacePrefix:gI,add:yI,remove:bI,DexieYProvider:vI}=hl;class o_ extends hl{constructor(){super("LotusStorage");Mt(this,"scrollAnchors");Mt(this,"toolSessionCollapses");Mt(this,"diffCollapses");Mt(this,"inputStates");Mt(this,"modelOptionsCaches");this.version(1).stores({scrollAnchors:"sessionId, ts",toolSessionCollapses:"id, sessionId, updatedAt",diffCollapses:"sessionId, updatedAt",inputStates:"sessionId, updatedAt",modelOptionsCaches:"provider, timestamp"})}}const i_=new o_,cs=class cs{constructor(){Mt(this,"db",i_)}static getInstance(){return cs.instance||(cs.instance=new cs),cs.instance}async saveScrollAnchor(t,n){try{await this.db.scrollAnchors.put({sessionId:t,anchorId:n.anchorId,offsetPx:n.offsetPx,ts:n.ts,indexHint:n.indexHint,createdAt:n.createdAt})}catch(r){console.warn("[StorageManager] IndexedDB save failed, falling back to localStorage",r);try{localStorage.setItem(`chat_scroll_anchor_v2:${t}`,JSON.stringify(n))}catch{}}}async loadScrollAnchor(t){try{const n=await this.db.scrollAnchors.get(t);return n?{v:1,anchorId:n.anchorId,offsetPx:n.offsetPx,ts:n.ts,indexHint:n.indexHint,createdAt:n.createdAt}:null}catch{try{const n=localStorage.getItem(`chat_scroll_anchor_v2:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&r.v===1&&typeof r.anchorId=="string")return r}catch{}return null}}async clearScrollAnchor(t){try{await this.db.scrollAnchors.delete(t)}catch{}try{localStorage.removeItem(`chat_scroll_anchor_v2:${t}`)}catch{}}async saveToolSessionCollapse(t,n,r){try{await this.db.toolSessionCollapses.put({id:`${t}:${n}`,sessionId:t,toolSessionId:n,isExpanded:r.isExpanded,expandedTools:r.expandedTools,updatedAt:Date.now()})}catch(s){console.warn("[StorageManager] saveToolSessionCollapse failed",s);try{localStorage.setItem(`chat-session-tool-collapse:${t}:${n}`,JSON.stringify(r))}catch{}}}async loadToolSessionCollapse(t,n){try{const r=await this.db.toolSessionCollapses.get(`${t}:${n}`);return r?{isExpanded:r.isExpanded,expandedTools:r.expandedTools}:null}catch{try{const r=localStorage.getItem(`chat-session-tool-collapse:${t}:${n}`);if(!r)return null;const s=JSON.parse(r);if(s&&typeof s.isExpanded=="boolean")return s}catch{}return null}}async saveDiffCollapse(t,n){try{await this.db.diffCollapses.put({sessionId:t,isExpanded:n.isExpanded,expandedFiles:n.expandedFiles,updatedAt:Date.now()})}catch(r){console.warn("[StorageManager] saveDiffCollapse failed",r);try{localStorage.setItem(`chat-session-diff-collapse:${t}`,JSON.stringify(n))}catch{}}}async loadDiffCollapse(t){try{const n=await this.db.diffCollapses.get(t);return n?{isExpanded:n.isExpanded,expandedFiles:n.expandedFiles}:null}catch{try{const n=localStorage.getItem(`chat-session-diff-collapse:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&typeof r.isExpanded=="boolean")return r}catch{}return null}}async saveInputReasoning(t,n){try{const r=await this.db.inputStates.get(t);await this.db.inputStates.put({sessionId:t,reasoningEffort:n,content:r==null?void 0:r.content,referenceText:r==null?void 0:r.referenceText,updatedAt:Date.now()})}catch(r){console.warn("[StorageManager] saveInputReasoning failed",r);try{const s=localStorage.getItem("chat_input_reasoning_by_session_v1"),o=s?JSON.parse(s):{};o[t]=n,localStorage.setItem("chat_input_reasoning_by_session_v1",JSON.stringify(o))}catch{}}}async loadInputReasoning(t){try{const n=await this.db.inputStates.get(t);return(n==null?void 0:n.reasoningEffort)??null}catch{try{const n=localStorage.getItem("chat_input_reasoning_by_session_v1");return n?JSON.parse(n)[t]??null:null}catch{return null}}}async saveLastUsedReasoningEffort(t){try{await this.db.inputStates.put({sessionId:"__last_used__",reasoningEffort:t,updatedAt:Date.now()})}catch{try{localStorage.setItem("chat_input_reasoning_last_used_v1",t)}catch{}}}async loadLastUsedReasoningEffort(){try{const t=await this.db.inputStates.get("__last_used__");return(t==null?void 0:t.reasoningEffort)??null}catch{try{return localStorage.getItem("chat_input_reasoning_last_used_v1")}catch{return null}}}async saveModelOptionsCache(t,n,r){try{await this.db.modelOptionsCaches.put({provider:t,options:n,timestamp:r})}catch(s){console.warn("[StorageManager] saveModelOptionsCache failed",s);try{localStorage.setItem(`chat-model-options-cache-v1:${t}`,JSON.stringify({timestamp:r,options:n}))}catch{}}}async loadModelOptionsCache(t){try{const n=await this.db.modelOptionsCaches.get(t);return n?{options:n.options,timestamp:n.timestamp}:null}catch{try{const n=localStorage.getItem(`chat-model-options-cache-v1:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&Array.isArray(r.options))return{options:r.options,timestamp:r.timestamp}}catch{}return null}}async clearSessionData(t){try{await Promise.all([this.db.scrollAnchors.delete(t),this.db.diffCollapses.delete(t),this.db.toolSessionCollapses.where("sessionId").equals(t).delete(),this.db.inputStates.delete(t)])}catch{}}async cleanupStaleData(t=30){const n=Date.now()-t*24*60*60*1e3;try{await Promise.all([this.db.scrollAnchors.where("ts").below(n).delete(),this.db.toolSessionCollapses.where("updatedAt").below(n).delete(),this.db.diffCollapses.where("updatedAt").below(n).delete(),this.db.inputStates.where("updatedAt").below(n).delete(),this.db.modelOptionsCaches.where("timestamp").below(n).delete()])}catch{}}async getStats(){try{const[t,n,r,s,o]=await Promise.all([this.db.scrollAnchors.count(),this.db.toolSessionCollapses.count(),this.db.diffCollapses.count(),this.db.inputStates.count(),this.db.modelOptionsCaches.count()]);return{scrollAnchors:t,toolSessionCollapses:n,diffCollapses:r,inputStates:s,modelOptionsCaches:o}}catch{return{scrollAnchors:0,toolSessionCollapses:0,diffCollapses:0,inputStates:0,modelOptionsCaches:0}}}};Mt(cs,"instance");let Hn=cs;const Wg="chat_input_reasoning_by_session_v1",Ug="chat_input_reasoning_last_used_v1",Gf={content:"",referenceText:null,attachments:[],reasoningEffort:"medium"},fd=e=>e==="low"||e==="medium"||e==="high"||e==="xhigh"||e==="max",qg=()=>{if(typeof window>"u")return{};try{const e=localStorage.getItem(Wg);if(!e)return{};const t=JSON.parse(e),n={};for(const[r,s]of Object.entries(t||{}))fd(s)&&(n[r]=s);return n}catch{return{}}},a_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Wg,JSON.stringify(e))}catch{}},l_=()=>{if(!(typeof window>"u"))try{const e=localStorage.getItem(Ug);return fd(e)?e:void 0}catch{return}},c_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ug,e)}catch{}},Hg=e=>{const t=qg();return fd(t[e])?t[e]:l_()},_o=e=>({...Gf,reasoningEffort:Hg(e)??Gf.reasoningEffort}),u_=(e,t)=>({inputStates:{},setInputContent:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),content:r}}})),setReferenceText:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),referenceText:r}}})),setAttachments:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),attachments:r}}})),setInputReasoningEffort:(n,r)=>{e(i=>({inputStates:{...i.inputStates,[n]:{...i.inputStates[n]||_o(n),reasoningEffort:r}}}));const s=qg();s[n]=r,a_(s),c_(r);const o=Hn.getInstance();o.saveInputReasoning(n,r).catch(()=>{}),o.saveLastUsedReasoningEffort(r).catch(()=>{})},clearInputState:n=>e(r=>{const{[n]:s,...o}=r.inputStates;return{inputStates:o}}),getInputState:n=>t().inputStates[n]||_o(n)}),d_="bamboo_proxy_auth",f_=()=>{try{const e=localStorage.getItem(d_);if(!e)return null;const t=JSON.parse(e);if(!t||typeof t!="object")return null;const n=typeof t.username=="string"?t.username.trim():"",r=typeof t.password=="string"?t.password:"";return n?{username:n,password:r}:null}catch{return null}},Yg={byId:{},runningCount:0},h_=[],In=(e,t)=>t?e.executionBySession[t]??null:null,p_=e=>t=>In(t,e),m_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.phase)??"idle"},Vi=e=>t=>{const n=In(t,e);return Rl(n==null?void 0:n.phase)},Xg=e=>t=>{const n=In(t,e);return n?n.phase==="streaming"?!0:n.phase==="running_tools"&&n.stream.hasTokens:!1},g_=e=>t=>{const n=In(t,e);return n?n.phase==="waiting_user_answer"||n.interaction.pendingQuestion!==null||n.backend.hasPendingQuestion===!0:!1},Kg=e=>t=>{const n=In(t,e);return uw(n==null?void 0:n.phase)},Vg=e=>t=>{const n=In(t,e);return dw(n==null?void 0:n.phase)},pr=e=>t=>{const n=In(t,e);return Rl(n==null?void 0:n.phase)},y_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.stream.activeToolCalls)??h_},ji=e=>t=>{const n=In(t,e);return(n==null?void 0:n.interaction.respondMode)??null},Ni=e=>t=>{const n=In(t,e);return(n==null?void 0:n.children.byId)??Yg.byId},b_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.children)??Yg},zt=e=>t=>{const n=In(t,e);return(n==null?void 0:n.generation)??0},v_=Object.freeze({state:"idle",activeToolCalls:[],runningChildCount:0,hasQuestion:!1,hasError:!1,errorMessage:null,generation:0}),S_=e=>t=>{var r;const n=In(t,e);return n?{state:n.phase,activeToolCalls:n.stream.activeToolCalls,runningChildCount:n.children.runningCount,hasQuestion:n.interaction.pendingQuestion!==null,hasError:n.error!==null,errorMessage:((r=n.error)==null?void 0:r.message)??null,generation:n.generation}:v_},x_=e=>t=>e.map(n=>({sessionId:n??"",entry:In(t,n)})),w_="auto",__="required",k_=1e4,C_=15e3,T_=Jn.getInstance();let Jf=null,ko=null,Qf=null,Co=null;const Zf=new WeakMap,ae=Hr()(Zx(tw((e,t,n)=>({...Bw(e,t),...qw(e,t),...Kw(e,t),...Gw(),...Qw(e,t),...Zw(e),...t_(e,t),...u_(e,t),..._w(e,t),agentAvailability:null,setAgentAvailability:r=>{e({agentAvailability:r})},checkAgentAvailability:async()=>{if(ko)return ko;ko=(async()=>{const r=await T_.healthCheck();return t().agentAvailability!==r&&e({agentAvailability:r}),r})();try{return await ko}finally{ko=null}},startAgentHealthCheck:()=>{Jf||(t().checkAgentAvailability(),Jf=setInterval(()=>{t().checkAgentAvailability()},k_))},refreshSessionsIndex:async()=>{if(Co)return Co;Co=(async()=>{try{await t().refreshChats()}catch(r){console.warn("[AppStore] refreshChats failed:",r)}})();try{return await Co}finally{Co=null}},startSessionsIndexSync:()=>{Qf||(t().refreshSessionsIndex(),Qf=setInterval(()=>{t().refreshSessionsIndex()},C_))}})),{name:"AppStore"})),Gg=e=>{const t=Zf.get(e);if(t)return t;const n=new Map(e.map(r=>[r.id,r]));return Zf.set(e,n),n},ks=e=>t=>e?Gg(t.chats).get(e)??null:null,Jg=e=>e.currentSessionId?Gg(e.chats).get(e.currentSessionId)??null:null,P_=e=>{var t;return((t=Jg(e))==null?void 0:t.messages)??[]},eh=async()=>{const e=f_();if(!e)return!1;try{return await rs.setProxyAuth(e),!0}catch(t){return console.error("Failed to apply stored proxy auth during startup:",t),!1}},M_=async()=>{try{const e=await fu.getState().loadConfig();if((typeof(e==null?void 0:e.proxy_auth_mode)=="string"?e.proxy_auth_mode:w_)!==__)return await eh(),!1;const n=await fu.getState().loadProxyAuthStatus({force:!0});return n!=null&&n.configured||await eh()?!1:(ae.setState(s=>({...s,models:[],selectedModel:void 0,modelsError:"Proxy auth mode is set to required. Please configure proxy username/password and apply it.",isLoadingModels:!1})),!0)}catch(e){return console.error("Failed to evaluate startup proxy auth mode:",e),!1}};let th=!1,Qg=!1,wa=null;const hd=async(e=!1)=>{th&&!e||(th=!0,ae.getState().startAgentHealthCheck(),ae.getState().startSessionsIndexSync(),await Wt.getState().loadProviderConfig(),await ae.getState().loadChats(),Qg=!0)},pd=async()=>{if(Qg)return wa||(wa=(async()=>{try{await M_()||await ae.getState().fetchModels(),await ae.getState().loadSystemPrompts()}catch(e){console.error("[AppStore] Deferred bootstrap failed:",e)}})(),wa)},E_=async(e=!1)=>{await hd(e),pd().catch(t=>{console.error("[AppStore] Deferred bootstrap error:",t)})},SI=Object.freeze(Object.defineProperty({__proto__:null,bootstrapCritical:hd,bootstrapDeferred:pd,initializeStore:E_,selectActiveToolCalls:y_,selectCanCancel:Vg,selectChildren:Ni,selectChildrenSnapshot:b_,selectCurrentChat:Jg,selectCurrentMessages:P_,selectExecutionByPane:x_,selectExecutionPhase:m_,selectExecutionState:p_,selectGeneration:zt,selectIsAwaitingUser:g_,selectIsBusy:Vi,selectIsInputLocked:Kg,selectIsStreaming:Xg,selectRailModel:S_,selectRespondMode:ji,selectSessionById:ks,selectShouldObserve:pr,useAppStore:ae},Symbol.toStringTag,{value:"Module"})),_a={THEME:"copilot_ui_theme_v1",LAYOUT:"copilot_ui_layout_v1"};class j_{getTheme(){try{return localStorage.getItem(_a.THEME)}catch(t){return console.error("Failed to get theme:",t),null}}setTheme(t){try{localStorage.setItem(_a.THEME,t)}catch(n){console.error("Failed to set theme:",n)}}getLayout(){try{return localStorage.getItem(_a.LAYOUT)}catch(t){return console.error("Failed to get layout:",t),null}}setLayout(t){try{localStorage.setItem(_a.LAYOUT,t)}catch(n){console.error("Failed to set layout:",n)}}getStorageStats(){let t=0;for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);if(r&&r.startsWith("copilot_ui_")){const s=localStorage.getItem(r);t+=(r.length+((s==null?void 0:s.length)||0))*2}}return{estimatedSize:`${(t/1024).toFixed(1)} KB`}}}const Zg=new j_,md={collapsed:!1,widthPx:260,collapsedWidthPx:72,minWidthPx:180,maxWidthPx:520},Dr={widthPx:520,minWidthPx:420,maxWidthPx:840},ey={v:2,sidebar:md,inspector:Dr,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:null},splitSizesPx:{}},nh=e=>{const t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return`${e}-${t}`},Kn=e=>e.type==="leaf"?[e.id]:[...Kn(e.children[0]),...Kn(e.children[1])],Bi=e=>e.type==="leaf"?[]:[e.id,...Bi(e.children[0]),...Bi(e.children[1])],R_=(e,t)=>{for(const[n,r]of Object.entries(e))if(r===t)return n;return null},A_=(e,t)=>{const n={},r=new Set;return e.forEach(s=>{const o=t[s]??null;if(!o||r.has(o)){n[s]=null;return}r.add(o),n[s]=o}),n},pu=(e,t,n,r,s)=>e.type==="leaf"?e.id!==t?e:{type:"split",id:r,layout:n,children:[e,{type:"leaf",id:s}]}:{...e,children:[pu(e.children[0],t,n,r,s),pu(e.children[1],t,n,r,s)]},mu=(e,t)=>{if(e.type==="leaf")return e.id===t?{node:null,removed:!0}:{node:e,removed:!1};const n=mu(e.children[0],t);if(n.removed)return n.node?{node:{...e,children:[n.node,e.children[1]]},removed:!0}:{node:e.children[1],removed:!0};const r=mu(e.children[1],t);return r.removed?r.node?{node:{...e,children:[e.children[0],r.node]},removed:!0}:{node:e.children[0],removed:!0}:{node:e,removed:!1}},I_=e=>({v:2,sidebar:e.sidebar,inspector:e.inspector,tree:e.tree,activeLeafId:e.activeLeafId,leafSessionIds:e.leafSessionIds,splitSizesPx:e.splitSizesPx}),O_=e=>{try{Zg.setLayout(JSON.stringify(e))}catch(t){console.warn("[uiLayoutStore] Failed to persist layout:",t)}},dr=e=>{const t=I_(e);return O_(t),t},$_=e=>{var v,w,S,k,P,T,j,C,E,A,O;const t={...md,...e.sidebar||{}},n={...Dr},r=((v=e.view)==null?void 0:v.mode)??"single",s=((w=e.view)==null?void 0:w.twoDirection)??"horizontal",o={...((S=e.panes)==null?void 0:S.sessionIds)||{}},i=((k=e.panes)==null?void 0:k.activePaneId)??"lt",l={};if(r==="single")return{v:2,sidebar:t,inspector:n,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:o.lt??null},splitSizesPx:{}};if(r==="two"){const D="split-root",F=s,N=F==="horizontal"?{type:"split",id:D,layout:F,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"rt"}]}:{type:"split",id:D,layout:F,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},q=F==="horizontal"?((P=e.split)==null?void 0:P.twoHorizontalPx)||((T=e.split)==null?void 0:T.columnsPx)||null:((j=e.split)==null?void 0:j.twoVerticalPx)||((C=e.split)==null?void 0:C.leftRowsPx)||null;q&&(l[D]=q);const I=Kn(N);return{v:2,sidebar:t,inspector:n,tree:N,activeLeafId:I.includes(i)?i:I[0],leafSessionIds:Object.fromEntries(I.map(Q=>[Q,o[Q]??null])),splitSizesPx:l}}const u="split-root",d="split-left",h="split-right",m={type:"split",id:u,layout:"horizontal",children:[{type:"split",id:d,layout:"vertical",children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},{type:"split",id:h,layout:"vertical",children:[{type:"leaf",id:"rt"},{type:"leaf",id:"rb"}]}]};(E=e.split)!=null&&E.columnsPx&&(l[u]=e.split.columnsPx),(A=e.split)!=null&&A.leftRowsPx&&(l[d]=e.split.leftRowsPx),(O=e.split)!=null&&O.rightRowsPx&&(l[h]=e.split.rightRowsPx);const b=Kn(m);return{v:2,sidebar:t,inspector:n,tree:m,activeLeafId:b.includes(i)?i:b[0],leafSessionIds:Object.fromEntries(b.map(D=>[D,o[D]??null])),splitSizesPx:l}},L_=e=>{if(!e)return null;try{const t=JSON.parse(e);if(!t||typeof t!="object")return null;if(t.v===2){const n={...md,...t.sidebar||{}},r=t.inspector||{},s={...Dr,...r},o=Math.max(Dr.minWidthPx,Number.isFinite(s.minWidthPx)?s.minWidthPx:Dr.minWidthPx),i=Math.max(o,Math.max(Dr.maxWidthPx,Number.isFinite(s.maxWidthPx)?s.maxWidthPx:Dr.maxWidthPx)),u={widthPx:Math.max(o,Math.min(i,Number.isFinite(s.widthPx)?s.widthPx:Dr.widthPx)),minWidthPx:o,maxWidthPx:i},d=t.tree||ey.tree,h=Kn(d),m=Bi(d),b={};h.forEach(k=>{var P;b[k]=typeof((P=t.leafSessionIds)==null?void 0:P[k])=="string"?t.leafSessionIds[k]:null});const v={};m.forEach(k=>{var T;const P=(T=t.splitSizesPx)==null?void 0:T[k];Array.isArray(P)&&P.length>=2&&(v[k]=[Number(P[0]),Number(P[1])])});const w=typeof t.activeLeafId=="string"&&h.includes(t.activeLeafId)?t.activeLeafId:h[0],S=A_(h,b);return{v:2,sidebar:n,inspector:u,tree:d,activeLeafId:w,leafSessionIds:S,splitSizesPx:v}}return t.v===1?$_(t):null}catch{return null}},F_=()=>L_(Zg.getLayout())??ey,gt=Hr(e=>({...F_(),setSidebarCollapsed:t=>{e(n=>n.sidebar.collapsed===t?n:dr({sidebar:{...n.sidebar,collapsed:t},inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx}))},setSidebarWidthPx:t=>{e(n=>{const r=Math.max(n.sidebar.minWidthPx,Math.min(n.sidebar.maxWidthPx,t));return n.sidebar.widthPx===r?n:dr({sidebar:{...n.sidebar,widthPx:r},inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})})},setInspectorWidthPx:t=>{e(n=>{const r=Math.max(n.inspector.minWidthPx,Math.min(n.inspector.maxWidthPx,t));return n.inspector.widthPx===r?n:dr({sidebar:n.sidebar,inspector:{...n.inspector,widthPx:r},tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})})},setActiveLeafId:t=>{e(n=>n.activeLeafId===t||!Kn(n.tree).includes(t)?n:(Xn("setActiveLeafId",{from:n.activeLeafId,to:t}),dr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:t,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})))},setLeafSessionId:(t,n)=>{e(r=>{const s=Kn(r.tree);if(!s.includes(t)||(r.leafSessionIds[t]??null)===n)return r;const o=[];Xn("setLeafSessionId",{leafId:t,fromSessionId:r.leafSessionIds[t]??null,toSessionId:n,mode:"unique_session_per_leaf"});const i={...r.leafSessionIds,[t]:n};if(n)for(const l of s)l!==t&&i[l]===n&&(i[l]=null,o.push(l));return o.length>0&&Xn("setLeafSessionId dedupe",{sessionId:n,clearedLeafIds:o,assignedLeafId:t}),s.forEach(l=>{l in i||(i[l]=null)}),dr({sidebar:r.sidebar,inspector:r.inspector,tree:r.tree,activeLeafId:r.activeLeafId,leafSessionIds:i,splitSizesPx:r.splitSizesPx})})},clearSessionFromAllLeaves:t=>{e(n=>{const r={...n.leafSessionIds};let s=!1;for(const[o,i]of Object.entries(r))i===t&&(r[o]=null,s=!0);return s?dr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:r,splitSizesPx:n.splitSizesPx}):n})},splitLeaf:(t,n)=>{e(r=>{const s=Kn(r.tree);if(!s.includes(t)||s.length>=4)return r;const o=nh("split"),i=nh("pane"),l=pu(r.tree,t,n,o,i),u={...r.leafSessionIds,[i]:null};return dr({sidebar:r.sidebar,inspector:r.inspector,tree:l,activeLeafId:i,leafSessionIds:u,splitSizesPx:r.splitSizesPx})})},closeLeaf:t=>{e(n=>{const r=Kn(n.tree);if(!r.includes(t)||r.length<=1)return n;const s=mu(n.tree,t);if(!s.removed||!s.node)return n;const o=s.node,i=Kn(o),l=Bi(o),u={};i.forEach(m=>{u[m]=n.leafSessionIds[m]??null});const d={};l.forEach(m=>{const b=n.splitSizesPx[m];b&&(d[m]=b)});const h=n.activeLeafId===t?i[0]:i.includes(n.activeLeafId)?n.activeLeafId:i[0];return dr({sidebar:n.sidebar,inspector:n.inspector,tree:o,activeLeafId:h,leafSessionIds:u,splitSizesPx:d})})},setSplitSizesPx:(t,n)=>{e(r=>{const s=r.splitSizesPx[t];return s&&s[0]===n[0]&&s[1]===n[1]?r:dr({sidebar:r.sidebar,inspector:r.inspector,tree:r.tree,activeLeafId:r.activeLeafId,leafSessionIds:r.leafSessionIds,splitSizesPx:{...r.splitSizesPx,[t]:n}})})},pruneSplitSizes:()=>{e(t=>{const n=new Set(Bi(t.tree)),r={};for(const[i,l]of Object.entries(t.splitSizesPx))n.has(i)&&(r[i]=l);const s=Object.keys(t.splitSizesPx),o=Object.keys(r);return s.length===o.length&&s.every(i=>i in r)?t:dr({sidebar:t.sidebar,inspector:t.inspector,tree:t.tree,activeLeafId:t.activeLeafId,leafSessionIds:t.leafSessionIds,splitSizesPx:r})})}})),D_=async(e,t)=>{var i;const n=ae.getState(),r=!n.chats.some(l=>l.id===e);if(t!=null&&t.forceRefreshIndex||r)try{await n.refreshChats()}catch(l){console.warn("[openSession] refreshChats failed:",l)}const s=ae.getState().chats.find(l=>l.id===e);if(!s)return;if(t!=null&&t.forceLoadHistory||r||(((i=s.messages)==null?void 0:i.length)||0)===0&&(s.messageCount||0)>0)try{await n.loadChatHistory(e)}catch(l){console.warn("[openSession] loadChatHistory failed:",l)}if(t!=null&&t.forceSubscribe){n.markForceSubscribe(e);return}((t==null?void 0:t.subscribeIfRunning)??!0)&&s.isRunning&&n.markForceSubscribe(e)},N_=(e,t)=>{const{activeLeafId:n,leafSessionIds:r,setLeafSessionId:s,setActiveLeafId:o}=gt.getState(),i=R_(r,e),l=r[n]??null;Xn("openSession (input)",{activeLeafId:n,activeLeafSessionId:l,sessionId:e,existingLeafId:i}),i?i===n?Xn("openSession (decision)",{action:"noop_already_active",leafId:n,sessionId:e}):(o(i),Xn("openSession (decision)",{action:"focus_existing_leaf",leafId:i,sessionId:e})):(s(n,e),Xn("openSession (decision)",{action:"assign_to_active_leaf",leafId:n,sessionId:e})),ae.getState().selectSession(e),D_(e,t)},ty=e=>e==="child"?"child":"root",B_=e=>({id:e.id,title:e.title,kind:ty(e.kind),pinned:!!e.pinned,parentSessionId:e.parentSessionId||null,rootSessionId:e.rootSessionId||null,createdByScheduleId:e.createdByScheduleId||null,updatedAt:e.updatedAt||null,lastRunStatus:e.lastRunStatus||null,lastRunError:e.lastRunError||null,createdAt:e.createdAt,config:{systemPromptId:e.config.systemPromptId,workspacePath:e.config.workspacePath||null}}),z_=(e,t)=>e.id===t.id&&e.title===t.title&&e.kind===ty(t.kind)&&e.pinned===!!t.pinned&&e.parentSessionId===(t.parentSessionId||null)&&e.rootSessionId===(t.rootSessionId||null)&&e.createdByScheduleId===(t.createdByScheduleId||null)&&e.updatedAt===(t.updatedAt||null)&&e.lastRunStatus===(t.lastRunStatus||null)&&e.lastRunError===(t.lastRunError||null)&&e.createdAt===t.createdAt&&e.config.systemPromptId===t.config.systemPromptId&&e.config.workspacePath===(t.config.workspacePath||null),W_=(()=>{let e=null,t=[],n=new Map;return r=>{if(r===e)return t;const s=r.map(i=>{const l=n.get(i.id);return l&&z_(l,i)?l:B_(i)}),o=s.length===t.length&&s.every((i,l)=>i===t[l]);return e=r,n=new Map(s.map(i=>[i.id,i])),o?t:(t=s,s)}})(),U_=e=>[e.title,e.id,e.kind||"root",e.config.workspacePath||"",e.config.systemPromptId||"",e.updatedAt||"",e.createdByScheduleId||"",e.lastRunStatus||"",e.lastRunError||""].join(" ").toLowerCase(),q_=e=>e.messages.filter(t=>t.role==="user"&&"content"in t).slice(0,3).map(t=>"content"in t?t.content:"").join(" ").toLowerCase(),xc=(e,t)=>{if(!t)return!0;const n=t.split(/\s+/).filter(Boolean),r=U_(e);if(n.every(l=>r.includes(l)))return!0;const s=ae.getState().chats.find(l=>l.id===e.id);if(!s)return!1;const o=q_(s),i=`${r} ${o}`;return n.every(l=>i.includes(l))},wc=(e,t,n)=>{switch(t){case"pinned":return!!e.pinned;case"running":return n(e.id);case"child":return e.kind==="child";case"all":default:return!0}},H_=()=>{const{t:e}=Ge(),{message:t}=Fn.useApp(),{chats:n,currentSessionId:r,deleteSession:s,deleteSessions:o,pinSession:i,unpinSession:l,updateSession:u,addChat:d,refreshChats:h,lastSelectedPromptId:m,systemPrompts:b}=ae(Mi(ye=>({chats:W_(ye.chats),currentSessionId:ye.currentSessionId,deleteSession:ye.deleteSession,deleteSessions:ye.deleteSessions,pinSession:ye.pinSession,unpinSession:ye.unpinSession,updateSession:ye.updateSession,addChat:ye.addChat,refreshChats:ye.refreshChats,lastSelectedPromptId:ye.lastSelectedPromptId,systemPrompts:ye.systemPrompts}))),v=y.useCallback(ye=>Vi(ye)(ae.getState()),[]),{sidebarCollapsed:w,setSidebarCollapsed:S,clearSessionFromAllLeaves:k}=gt(Mi(ye=>({sidebarCollapsed:ye.sidebar.collapsed,setSidebarCollapsed:ye.setSidebarCollapsed,clearSessionFromAllLeaves:ye.clearSessionFromAllLeaves}))),P=y.useCallback(async(ye,We)=>{var $e,fn;const Te=b.find(B=>B.id===m),qe=(Te==null?void 0:Te.id)||(b.length>0?(($e=b.find(B=>B.id==="general_assistant"))==null?void 0:$e.id)||b[0].id:""),Lt={title:ye||e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:qe,baseSystemPrompt:(Te==null?void 0:Te.content)||(b.length>0?((fn=b.find(B=>B.id==="general_assistant"))==null?void 0:fn.content)||b[0].content:""),lastUsedEnhancedPrompt:null},...We},$n=await d(Lt),{activeLeafId:Vt}=gt.getState();gt.getState().setLeafSessionId(Vt,$n),gt.getState().setActiveLeafId(Vt)},[d,m,b,e]),[T,j]=y.useState(!1),[C,E]=y.useState(new Set(["Today"])),[A,O]=y.useState(""),[D,F]=y.useState("all"),[N,q]=y.useState({}),I=ae(Mi(ye=>{const We=ye.currentSessionId;if(!We)return null;const Te=ye.chats.find(qe=>qe.id===We);return Te?{id:Te.id,kind:Te.kind,parentSessionId:Te.parentSessionId||null,rootSessionId:Te.rootSessionId||null,pinned:!!Te.pinned,createdAt:Te.createdAt,createdByScheduleId:Te.createdByScheduleId||null}:null})),Q=y.useMemo(()=>I?I.pinned?"Pinned":I.createdByScheduleId?"Scheduled":new Date(I.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):null,[I]),G=y.useMemo(()=>{const ye=new Set(C);return Q&&ye.add(Q),Array.from(ye)},[Q,C]),Z=ye=>{const We=new Set(Array.isArray(ye)?ye:[ye]);E(Te=>{if(Te.size!==We.size)return We;for(const qe of We)if(!Te.has(qe))return We;return Te})},pe=A.trim().toLowerCase(),$=pe.length>0||D!=="all",oe=y.useMemo(()=>[],[]),me=y.useMemo(()=>({}),[]),ne=y.useMemo(()=>({}),[]),he=y.useMemo(()=>[],[]),fe=y.useMemo(()=>new Set,[]),ue=y.useMemo(()=>w?oe:n.filter(ye=>ye.kind!=="child"),[n,w,oe]),de=y.useMemo(()=>{if(w)return me;const ye={};for(const We of n){if(We.kind!=="child")continue;const Te=We.parentSessionId||We.rootSessionId;Te&&(ye[Te]||(ye[Te]=[]),ye[Te].push(We))}return Object.keys(ye).forEach(We=>{ye[We].sort((Te,qe)=>{if(Te.pinned!==qe.pinned)return Te.pinned?-1:1;const Lt=Date.parse(Te.updatedAt||"")||Te.createdAt||0;return(Date.parse(qe.updatedAt||"")||qe.createdAt||0)-Lt})}),ye},[n,w,me]),Ce=y.useMemo(()=>$?ue.filter(ye=>xc(ye,pe)&&wc(ye,D,v)?!0:(de[ye.id]||[]).some(qe=>xc(qe,pe)&&wc(qe,D,v))):ue,[de,$,v,pe,ue,D]),ze=y.useMemo(()=>{if(!$)return de;const ye={};for(const We of Ce){const Te=de[We.id]||[];ye[We.id]=Te.filter(qe=>xc(qe,pe)&&wc(qe,D,v))}return ye},[de,Ce,$,v,pe,D]),Le=y.useMemo(()=>w?ne:yx(Ce),[Ce,w,ne]),lt=y.useMemo(()=>w?he:bx(Le),[Le,w,he]),L=y.useCallback(ye=>{i(ye),E(We=>{if(We.has("Pinned"))return We;const Te=new Set(We);return Te.add("Pinned"),Te})},[i]),le=y.useCallback(ye=>{const We=n.find(qe=>qe.id===ye),Te=We?Sx({...We}):null;l(ye),Te&&E(qe=>{if(qe.has(Te))return qe;const Lt=new Set(qe);return Lt.add(Te),Lt})},[n,l]),Ae=ye=>{Ha.confirm({title:e("chat.sidebar.delete.title"),content:e("chat.sidebar.delete.confirm"),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{k(ye),s(ye)}})},Ie=Ei(ye=>ye.open),He=()=>{Ie("chat")},dt=y.useCallback(ye=>{O(ye)},[]),pt=y.useCallback(ye=>{F(ye)},[]),$t=(ye,We)=>{u(ye,{title:We})},Qt=y.useCallback(async ye=>{try{await Jn.getInstance().regenerateSessionTitle(ye)}catch(We){console.error("Failed to regenerate session title:",We)}},[]),rn=y.useCallback(async ye=>{var Te;if(((Te=N[ye])==null?void 0:Te.status)==="loading")return;q(qe=>({...qe,[ye]:{status:"loading"}}));const We=t.loading(e("chat.actions.runProjectDreamRunning"),0);try{const qe=await Jn.getInstance().runProjectDream(ye);We(),qe.dream_generated?t.success(e("chat.actions.runProjectDreamSuccess")):t.info(qe.message||e("chat.actions.runProjectDreamNoChange"));try{await h()}catch(Lt){console.warn("Failed to refresh chats after project dream run:",Lt)}}catch(qe){We();const Lt=qe instanceof Error&&qe.message?qe.message:e("chat.actions.runProjectDreamFailed");t.error(Lt),console.error("Failed to run project dream:",qe)}finally{q(qe=>({...qe,[ye]:{status:"idle"}}))}},[t,N,h,e]),_n=ye=>{const We=vx(Le,ye),Te=_g(Le,ye);Ha.confirm({title:e("chat.sidebar.deleteByDate.title",{date:ye}),content:e("chat.sidebar.deleteByDate.confirm",{count:Te,date:ye}),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{We.forEach(qe=>k(qe)),o(We)}})},At=()=>{j(!0)},Xt=()=>{j(!1)},Kt=async ye=>{try{await P(e("chat.sidebar.newSessionWithPrompt",{prompt:ye.name}),{config:{systemPromptId:ye.id,baseSystemPrompt:ye.content,lastUsedEnhancedPrompt:null}}),j(!1)}catch(We){console.error("Failed to create chat:",We),Ha.error({title:e("chat.sidebar.createFailedTitle"),content:We instanceof Error?We.message:e("chat.sidebar.createFailedUnknown")})}},gn=y.useCallback(ye=>N_(ye),[]),[On,Mn]=y.useState(new Set),It=y.useMemo(()=>{if(w)return fe;const ye=new Set;for(const We of Object.values(de))for(const Te of We)if(Te.pinned){const qe=Te.parentSessionId||Te.rootSessionId;qe&&ye.add(qe)}return ye},[de,w,fe]),_t=y.useMemo(()=>{var We;if(w)return fe;const ye=new Set(On);if((I==null?void 0:I.kind)==="child"){const Te=I.parentSessionId||I.rootSessionId;Te&&ye.add(Te)}for(const Te of It)ye.add(Te);if($)for(const Te of Ce)(((We=ze[Te.id])==null?void 0:We.length)??0)>0&&ye.add(Te.id);return ye},[ze,On,Ce,$,It,I,w,fe]),bt=y.useCallback(ye=>{Mn(We=>{const Te=new Set(We);return Te.has(ye)?Te.delete(ye):Te.add(ye),Te})},[]);return{chats:Ce,childrenByRoot:ze,expandedRootIds:_t,toggleRootExpanded:bt,collapsed:w,currentSessionId:r,expandedKeys:G,groupedChatsByDate:Le,hasActiveFilters:$,handleCollapseChange:Z,handleDelete:Ae,handleDeleteByDate:_n,handleEditTitle:$t,handleGenerateTitle:Qt,handleNewChat:At,handleNewChatSelectorClose:Xt,handleOpenSettings:He,handleRunProjectDream:rn,handleSearchQueryChange:dt,handleStatusFilterChange:pt,handleSystemPromptSelect:Kt,isNewChatSelectorOpen:T,pinSession:L,projectDreamState:N,searchQuery:A,selectSession:gn,setCollapsed:S,sortedDateKeys:lt,statusFilter:D,systemPrompts:b,titleGenerationState:{},unpinSession:le}},Y_=y.lazy(()=>Jt(()=>import("./index-CvxMXZxu.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)),{useBreakpoint:X_}=Pl,{useToken:K_}=ut,rh=()=>{const{token:e}=K_(),{t}=Ge(),n=X_(),{childrenByRoot:r,expandedRootIds:s,toggleRootExpanded:o,collapsed:i,currentSessionId:l,expandedKeys:u,groupedChatsByDate:d,handleCollapseChange:h,handleDelete:m,handleDeleteByDate:b,handleEditTitle:v,handleGenerateTitle:w,handleNewChat:S,handleNewChatSelectorClose:k,handleOpenSettings:P,handleRunProjectDream:T,handleSearchQueryChange:j,handleStatusFilterChange:C,handleSystemPromptSelect:E,hasActiveFilters:A,isNewChatSelectorOpen:O,pinSession:D,projectDreamState:F,searchQuery:N,selectSession:q,setCollapsed:I,sortedDateKeys:Q,statusFilter:G,systemPrompts:Z,titleGenerationState:pe,unpinSession:$}=H_(),{xs:oe,sm:me}=n;return y.useEffect(()=>{typeof oe!="boolean"||typeof me!="boolean"||oe===!1&&me===!1&&I(!0)},[me,oe,I]),i?null:a.jsxs("nav",{"data-tour-id":"sidebar","aria-label":t("chat.sidebar.title","Chat sidebar"),style:{width:"100%",height:"100%",background:"transparent",borderRight:`1px solid ${e.colorBorderSecondary}`,position:"relative",overflow:"hidden",display:"flex",flexDirection:"column",minHeight:0},children:[a.jsx(Me,{justify:"flex-end",style:{flexShrink:0,padding:"8px 10px 0 10px",minHeight:34},children:a.jsx(je,{type:"text",icon:a.jsx(jS,{}),onClick:()=>I(!0),size:n.xs?"small":"middle",className:"lotus-toolbar-icon","aria-label":t("chat.sidebar.collapse","Collapse sidebar")})}),a.jsxs(Me,{vertical:!0,gap:6,style:{flexShrink:0,padding:"6px 10px 6px 10px"},children:[a.jsx(xs,{allowClear:!0,value:N,onChange:ne=>j(ne.target.value),prefix:a.jsx(ru,{style:{color:e.colorTextTertiary}}),placeholder:t("chat.sidebar.searchPlaceholder","Search sessions"),"aria-label":t("chat.sidebar.searchPlaceholder","Search sessions"),size:"small",style:{borderRadius:e.borderRadiusLG}}),a.jsx(RS,{block:!0,size:n.xs?"middle":"small",value:G,onChange:ne=>C(ne),options:[{label:t("chat.sidebar.filters.all","All"),value:"all"},{label:t("chat.sidebar.filters.pinned","Pinned"),value:"pinned"},{label:t("chat.sidebar.filters.running","Running"),value:"running"},{label:t("chat.sidebar.filters.child","Child"),value:"child"}]})]}),a.jsx(Me,{vertical:!0,role:"list","aria-label":t("chat.sidebar.chatList","Chat list"),style:{flex:1,minHeight:0,overflowY:"auto",padding:"0 10px"},children:a.jsx(xx,{groupedChatsByDate:d,childrenByRoot:r,expandedRootIds:s,onToggleRootExpanded:o,sortedDateKeys:Q,expandedKeys:u,onCollapseChange:h,currentSessionId:l,onSelectChat:q,onDeleteChat:m,onDeleteByDate:b,onPinChat:D,onUnpinChat:$,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:T,titleGenerationState:pe,projectDreamState:F,token:e,hasActiveFilters:A})}),a.jsx(Rx,{collapsed:!1,onNewChat:S,onOpenSettings:P,token:e}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(Y_,{open:O,onClose:k,onSelect:E,prompts:Z,title:t("chat.prompt.newSessionSelectorTitle"),showCancelButton:!0})})]})},{Text:sh,Paragraph:V_}=ft;class zi extends y.Component{constructor(n){super(n);Mt(this,"handleReset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){var o,i;const s=this.props.name??"ErrorBoundary";console.error(`[${s}] Uncaught error:`,n,r),(i=(o=this.props).onError)==null||i.call(o,n,r)}render(){if(!this.state.hasError)return this.props.children;const{fallback:n}=this.props,r=this.state.error;return typeof n=="function"?n(r,this.handleReset):n!==void 0?n:a.jsx(G_,{error:r,onReset:this.handleReset})}}const G_=({error:e,onReset:t})=>{const{token:n}=ut.useToken(),[r,s]=ht.useState(!1),{t:o}=Ge();return a.jsxs("div",{role:"alert",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,padding:n.paddingLG,minHeight:200,textAlign:"center"},children:[a.jsx(dg,{style:{fontSize:36,color:n.colorWarning}}),a.jsx(sh,{strong:!0,style:{fontSize:16},children:o("app.errorBoundary.title")}),a.jsx(sh,{type:"secondary",style:{maxWidth:420},children:o("app.errorBoundary.description")}),a.jsxs("div",{style:{display:"flex",gap:8,marginTop:4},children:[a.jsx(je,{type:"primary",icon:a.jsx(rd,{}),onClick:t,"aria-label":o("app.errorBoundary.tryAgain"),children:o("app.errorBoundary.tryAgain")}),a.jsx(je,{type:"text",size:"small",onClick:()=>s(i=>!i),"aria-expanded":r,"aria-label":o("app.errorBoundary.showDetails"),children:o(r?"app.errorBoundary.hideDetails":"app.errorBoundary.showDetails")})]}),r&&a.jsxs(V_,{code:!0,copyable:!0,style:{maxWidth:560,maxHeight:200,overflow:"auto",fontSize:12,textAlign:"left",marginTop:8,background:n.colorFillTertiary,padding:n.paddingSM,borderRadius:n.borderRadius},children:[e.message,e.stack?`
13
+ `+_:""),this.inner=_||null):typeof x=="object"&&(this.message="".concat(x.name," ").concat(x.message),this.inner=x):(this.message=ue[f]||p,this.inner=null)}return S(g).from(L),c[f]=g,c},{}),Ae=(le.Syntax=SyntaxError,le.Type=TypeError,le.Range=RangeError,fe.reduce(function(c,f){return c[f+"Error"]=le[f],c},{}));fe=It.reduce(function(c,f){return["Syntax","Type","Range"].indexOf(f)===-1&&(c[f+"Error"]=le[f]),c},{});function Ie(){}function He(c){return c}function dt(c,f){return c==null||c===He?f:function(p){return f(c(p))}}function pt(c,f){return function(){c.apply(this,arguments),f.apply(this,arguments)}}function $t(c,f){return c===Ie?f:function(){var p=c.apply(this,arguments),g=(p!==void 0&&(arguments[0]=p),this.onsuccess),x=this.onerror,_=(this.onsuccess=null,this.onerror=null,f.apply(this,arguments));return g&&(this.onsuccess=this.onsuccess?pt(g,this.onsuccess):g),x&&(this.onerror=this.onerror?pt(x,this.onerror):x),_!==void 0?_:p}}function Qt(c,f){return c===Ie?f:function(){c.apply(this,arguments);var p=this.onsuccess,g=this.onerror;this.onsuccess=this.onerror=null,f.apply(this,arguments),p&&(this.onsuccess=this.onsuccess?pt(p,this.onsuccess):p),g&&(this.onerror=this.onerror?pt(g,this.onerror):g)}}function rn(c,f){return c===Ie?f:function(x){var g=c.apply(this,arguments),x=(u(x,g),this.onsuccess),_=this.onerror,M=(this.onsuccess=null,this.onerror=null,f.apply(this,arguments));return x&&(this.onsuccess=this.onsuccess?pt(x,this.onsuccess):x),_&&(this.onerror=this.onerror?pt(_,this.onerror):_),g===void 0?M===void 0?void 0:M:u(g,M)}}function _n(c,f){return c===Ie?f:function(){return f.apply(this,arguments)!==!1&&c.apply(this,arguments)}}function At(c,f){return c===Ie?f:function(){var p=c.apply(this,arguments);if(p&&typeof p.then=="function"){for(var g=this,x=arguments.length,_=new Array(x);x--;)_[x]=arguments[x];return p.then(function(){return f.apply(g,_)})}return f.apply(this,arguments)}}fe.ModifyError=ze,fe.DexieError=de,fe.BulkError=Le;var Xt=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Kt(c){Xt=c}var gn={},On=100,Mn=typeof Promise>"u"?[]:(It=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[Mn=crypto.subtle.digest("SHA-512",new Uint8Array([0])),d(Mn),It]:[It,d(It),It]),It=Mn[0],js=Mn[1],js=js&&js.then,_t=It&&It.constructor,bt=!!Mn[2],ye=function(c,f){fn.push([c,f]),Te&&(queueMicrotask(Ct),Te=!1)},We=!0,Te=!0,qe=[],Lt=[],$n=He,Vt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Ie,pgp:!1,env:{},finalize:Ie},$e=Vt,fn=[],B=0,ie=[];function H(c){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var f=this._PSD=$e;if(typeof c!="function"){if(c!==gn)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Fe(this,this._value)}else this._state=null,this._value=null,++f.ref,function p(g,x){try{x(function(_){if(g._state===null){if(_===g)throw new TypeError("A promise cannot be resolved with itself.");var M=g._lib&&Tt();_&&typeof _.then=="function"?p(g,function(R,W){_ instanceof H?_._then(R,W):_.then(R,W)}):(g._state=!0,g._value=_,et(g)),M&&Ke()}},Fe.bind(null,g))}catch(_){Fe(g,_)}}(this,c)}var _e={get:function(){var c=$e,f=Xr;function p(g,x){var _=this,M=!c.global&&(c!==$e||f!==Xr),R=M&&!er(),W=new H(function(ee,Y){Xe(_,new Oe(ao(g,c,M,R),ao(x,c,M,R),ee,Y,c))});return this._consoleTask&&(W._consoleTask=this._consoleTask),W}return p.prototype=gn,p},set:function(c){w(this,"then",c&&c.prototype===gn?_e:{get:function(){return c},set:_e.set})}};function Oe(c,f,p,g,x){this.onFulfilled=typeof c=="function"?c:null,this.onRejected=typeof f=="function"?f:null,this.resolve=p,this.reject=g,this.psd=x}function Fe(c,f){var p,g;Lt.push(f),c._state===null&&(p=c._lib&&Tt(),f=$n(f),c._state=!1,c._value=f,g=c,qe.some(function(x){return x._value===g._value})||qe.push(g),et(c),p)&&Ke()}function et(c){var f=c._listeners;c._listeners=[];for(var p=0,g=f.length;p<g;++p)Xe(c,f[p]);var x=c._PSD;--x.ref||x.finalize(),B===0&&(++B,ye(function(){--B==0&&Nt()},[]))}function Xe(c,f){if(c._state===null)c._listeners.push(f);else{var p=c._state?f.onFulfilled:f.onRejected;if(p===null)return(c._state?f.resolve:f.reject)(c._value);++f.psd.ref,++B,ye(kt,[p,c,f])}}function kt(c,f,p){try{var g,x=f._value;!f._state&&Lt.length&&(Lt=[]),g=Xt&&f._consoleTask?f._consoleTask.run(function(){return c(x)}):c(x),f._state||Lt.indexOf(x)!==-1||(_=>{for(var M=qe.length;M;)if(qe[--M]._value===_._value)return qe.splice(M,1)})(f),p.resolve(g)}catch(_){p.reject(_)}finally{--B==0&&Nt(),--p.psd.ref||p.psd.finalize()}}function Ct(){cr(Vt,function(){Tt()&&Ke()})}function Tt(){var c=We;return Te=We=!1,c}function Ke(){var c,f,p;do for(;0<fn.length;)for(c=fn,fn=[],p=c.length,f=0;f<p;++f){var g=c[f];g[0].apply(null,g[1])}while(0<fn.length);Te=We=!0}function Nt(){for(var c=qe,f=(qe=[],c.forEach(function(g){g._PSD.onunhandled.call(null,g._value,g)}),ie.slice(0)),p=f.length;p;)f[--p]()}function Se(c){return new H(gn,!1,c)}function De(c,f){var p=$e;return function(){var g=Tt(),x=$e;try{return tr(p,!0),c.apply(this,arguments)}catch(_){f&&f(_)}finally{tr(x,!1),g&&Ke()}}}b(H.prototype,{then:_e,_then:function(c,f){Xe(this,new Oe(null,null,c,f,$e))},catch:function(c){var f,p;return arguments.length===1?this.then(null,c):(f=c,p=arguments[1],typeof f=="function"?this.then(null,function(g){return(g instanceof f?p:Se)(g)}):this.then(null,function(g){return(g&&g.name===f?p:Se)(g)}))},finally:function(c){return this.then(function(f){return H.resolve(c()).then(function(){return f})},function(f){return H.resolve(c()).then(function(){return Se(f)})})},timeout:function(c,f){var p=this;return c<1/0?new H(function(g,x){var _=setTimeout(function(){return x(new le.Timeout(f))},c);p.then(g,x).finally(clearTimeout.bind(null,_))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&w(H.prototype,Symbol.toStringTag,"Dexie.Promise"),Vt.env=na(),b(H,{all:function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.length===0&&f([]);var g=c.length;c.forEach(function(x,_){return H.resolve(x).then(function(M){c[_]=M,--g||f(c)},p)})})},resolve:function(c){return c instanceof H?c:c&&typeof c.then=="function"?new H(function(f,p){c.then(f,p)}):new H(gn,!0,c)},reject:Se,race:function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.map(function(g){return H.resolve(g).then(f,p)})})},PSD:{get:function(){return $e},set:function(c){return $e=c}},totalEchoes:{get:function(){return Xr}},newPSD:Zn,usePSD:cr,scheduler:{get:function(){return ye},set:function(c){ye=c}},rejectionMapper:{get:function(){return $n},set:function(c){$n=c}},follow:function(c,f){return new H(function(p,g){return Zn(function(x,_){var M=$e;M.unhandleds=[],M.onunhandled=_,M.finalize=pt(function(){var R,W=this;R=function(){W.unhandleds.length===0?x():_(W.unhandleds[0])},ie.push(function ee(){R(),ie.splice(ie.indexOf(ee),1)}),++B,ye(function(){--B==0&&Nt()},[])},M.finalize),c()},f,p,g)})}}),_t&&(_t.allSettled&&w(H,"allSettled",function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f){c.length===0&&f([]);var p=c.length,g=new Array(p);c.forEach(function(x,_){return H.resolve(x).then(function(M){return g[_]={status:"fulfilled",value:M}},function(M){return g[_]={status:"rejected",reason:M}}).then(function(){return--p||f(g)})})})}),_t.any&&typeof AggregateError<"u"&&w(H,"any",function(){var c=ne.apply(null,arguments).map(Cs);return new H(function(f,p){c.length===0&&p(new AggregateError([]));var g=c.length,x=new Array(g);c.forEach(function(_,M){return H.resolve(_).then(function(R){return f(R)},function(R){x[M]=R,--g||p(new AggregateError(x))})})})}),_t.withResolvers)&&(H.withResolvers=_t.withResolvers);var Ve={awaits:0,echoes:0,id:0},Ot=0,Zt=[],Qn=0,Xr=0,io=0;function Zn(c,M,p,g){var x=$e,_=Object.create(x),M=(_.parent=x,_.ref=0,_.global=!1,_.id=++io,Vt.env,_.env=bt?{Promise:H,PromiseProp:{value:H,configurable:!0,writable:!0},all:H.all,race:H.race,allSettled:H.allSettled,any:H.any,resolve:H.resolve,reject:H.reject}:{},M&&u(_,M),++x.ref,_.finalize=function(){--this.parent.ref||this.parent.finalize()},cr(_,c,p,g));return _.ref===0&&_.finalize(),M}function lr(){return Ve.id||(Ve.id=++Ot),++Ve.awaits,Ve.echoes+=On,Ve.id}function er(){return!!Ve.awaits&&(--Ve.awaits==0&&(Ve.id=0),Ve.echoes=Ve.awaits*On,!0)}function Cs(c){return Ve.echoes&&c&&c.constructor===_t?(lr(),c.then(function(f){return er(),f},function(f){return er(),Ut(f)})):c}function Ul(){var c=Zt[Zt.length-1];Zt.pop(),tr(c,!1)}function tr(c,f){var p,g,x=$e;(f?!Ve.echoes||Qn++&&c===$e:!Qn||--Qn&&c===$e)||queueMicrotask(f?(function(_){++Xr,Ve.echoes&&--Ve.echoes!=0||(Ve.echoes=Ve.awaits=Ve.id=0),Zt.push($e),tr(_,!0)}).bind(null,c):Ul),c!==$e&&($e=c,x===Vt&&(Vt.env=na()),bt)&&(p=Vt.env.Promise,g=c.env,x.global||c.global)&&(Object.defineProperty(o,"Promise",g.PromiseProp),p.all=g.all,p.race=g.race,p.resolve=g.resolve,p.reject=g.reject,g.allSettled&&(p.allSettled=g.allSettled),g.any)&&(p.any=g.any)}function na(){var c=o.Promise;return bt?{Promise:c,PromiseProp:Object.getOwnPropertyDescriptor(o,"Promise"),all:c.all,race:c.race,allSettled:c.allSettled,any:c.any,resolve:c.resolve,reject:c.reject}:{}}function cr(c,f,p,g,x){var _=$e;try{return tr(c,!0),f(p,g,x)}finally{tr(_,!1)}}function ao(c,f,p,g){return typeof c!="function"?c:function(){var x=$e;p&&lr(),tr(f,!0);try{return c.apply(this,arguments)}finally{tr(x,!1),g&&queueMicrotask(er)}}}function Ts(c){Promise===_t&&Ve.echoes===0?Qn===0?c():enqueueNativeMicroTask(c):setTimeout(c,0)}(""+js).indexOf("[native code]")===-1&&(lr=er=Ie);var Ut=H.reject,ge="￿",ct="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",qt="String expected.",Bt="__dbnames",vt="readonly",En="readwrite";function an(c,f){return c?f?function(){return c.apply(this,arguments)&&f.apply(this,arguments)}:c:f}var Dn={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Kr(c){return typeof c!="string"||/\./.test(c)?function(f){return f}:function(f){return f[c]===void 0&&c in f&&delete(f=Q(f))[c],f}}function xr(){throw le.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function ot(c,f){try{var p=lo(c),g=lo(f);if(p!==g)return p==="Array"?1:g==="Array"?-1:p==="binary"?1:g==="binary"?-1:p==="string"?1:g==="string"?-1:p==="Date"?1:g!=="Date"?NaN:-1;switch(p){case"number":case"Date":case"string":return f<c?1:c<f?-1:0;case"binary":for(var x=Qd(c),_=Qd(f),M=x.length,R=_.length,W=M<R?M:R,ee=0;ee<W;++ee)if(x[ee]!==_[ee])return x[ee]<_[ee]?-1:1;return M===R?0:M<R?-1:1;case"Array":for(var Y=c,z=f,U=Y.length,J=z.length,X=U<J?U:J,K=0;K<X;++K){var V=ot(Y[K],z[K]);if(V!==0)return V}return U===J?0:U<J?-1:1}}catch{}return NaN}function lo(c){var f=typeof c;return f=="object"&&(ArrayBuffer.isView(c)||(f=Z(c))==="ArrayBuffer")?"binary":f}function Qd(c){return c instanceof Uint8Array?c:ArrayBuffer.isView(c)?new Uint8Array(c.buffer,c.byteOffset,c.byteLength):new Uint8Array(c)}function ra(c,f,p){var g=c.schema.yProps;return g?(f&&0<p.numFailures&&(f=f.filter(function(x,_){return!p.failures[_]})),Promise.all(g.map(function(x){return x=x.updatesTable,f?c.db.table(x).where("k").anyOf(f).delete():c.db.table(x).clear()})).then(function(){return p})):p}Zd.prototype.execute=function(c){var f=this["@@propmod"];if(f.add!==void 0){var p=f.add;if(l(p))return s(s([],l(c)?c:[],!0),p).sort();if(typeof p=="number")return(Number(c)||0)+p;if(typeof p=="bigint")try{return BigInt(c)+p}catch{return BigInt(0)+p}throw new TypeError("Invalid term ".concat(p))}if(f.remove!==void 0){var g=f.remove;if(l(g))return l(c)?c.filter(function(x){return!g.includes(x)}).sort():[];if(typeof g=="number")return Number(c)-g;if(typeof g=="bigint")try{return BigInt(c)-g}catch{return BigInt(0)-g}throw new TypeError("Invalid subtrahend ".concat(g))}return p=(p=f.replacePrefix)==null?void 0:p[0],p&&typeof c=="string"&&c.startsWith(p)?f.replacePrefix[1]+c.substring(p.length):c};var co=Zd;function Zd(c){this["@@propmod"]=c}function ef(c,f){for(var p=i(f),g=p.length,x=!1,_=0;_<g;++_){var M=p[_],R=f[M],W=A(c,M);R instanceof co?(O(c,M,R.execute(W)),x=!0):W!==R&&(O(c,M,R),x=!0)}return x}Ft.prototype._trans=function(c,f,p){var g=this._tx||$e.trans,x=this.name,_=Xt&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(c==="readonly"?"read":"write"," ").concat(this.name));function M(ee,Y,z){if(z.schema[x])return f(z.idbtrans,z);throw new le.NotFound("Table "+x+" not part of transaction")}var R=Tt();try{var W=g&&g.db._novip===this.db._novip?g===$e.trans?g._promise(c,M,p):Zn(function(){return g._promise(c,M,p)},{trans:g,transless:$e.transless||$e}):function ee(Y,z,U,J){if(Y.idbdb&&(Y._state.openComplete||$e.letThrough||Y._vip)){var X=Y._createTransaction(z,U,Y._dbSchema);try{X.create(),Y._state.PR1398_maxLoop=3}catch(K){return K.name===lt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return ee(Y,z,U,J)})):Ut(K)}return X._promise(z,function(K,V){return Zn(function(){return $e.trans=X,J(K,V,X)})}).then(function(K){if(z==="readwrite")try{X.idbtrans.commit()}catch{}return z==="readonly"?K:X._completion.then(function(){return K})})}if(Y._state.openComplete)return Ut(new le.DatabaseClosed(Y._state.dbOpenError));if(!Y._state.isBeingOpened){if(!Y._state.autoOpen)return Ut(new le.DatabaseClosed);Y.open().catch(Ie)}return Y._state.dbReadyPromise.then(function(){return ee(Y,z,U,J)})}(this.db,c,[this.name],M);return _&&(W._consoleTask=_,W=W.catch(function(ee){return console.trace(ee),Ut(ee)})),W}finally{R&&Ke()}},Ft.prototype.get=function(c,f){var p=this;return c&&c.constructor===Object?this.where(c).first(f):c==null?Ut(new le.Type("Invalid argument to Table.get()")):this._trans("readonly",function(g){return p.core.get({trans:g,key:c}).then(function(x){return p.hook.reading.fire(x)})}).then(f)},Ft.prototype.where=function(c){if(typeof c=="string")return new this.db.WhereClause(this,c);if(l(c))return new this.db.WhereClause(this,"[".concat(c.join("+"),"]"));var f=i(c);if(f.length===1)return this.where(f[0]).equals(c[f[0]]);var p=this.schema.indexes.concat(this.schema.primKey).filter(function(R){if(R.compound&&f.every(function(ee){return 0<=R.keyPath.indexOf(ee)})){for(var W=0;W<f.length;++W)if(f.indexOf(R.keyPath[W])===-1)return!1;return!0}return!1}).sort(function(R,W){return R.keyPath.length-W.keyPath.length})[0];if(p&&this.db._maxKey!==ge)return M=p.keyPath.slice(0,f.length),this.where(M).equals(M.map(function(R){return c[R]}));!p&&Xt&&console.warn("The query ".concat(JSON.stringify(c)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(f.join("+"),"]"));var g=this.schema.idxByName;function x(R,W){return ot(R,W)===0}var M=f.reduce(function(Y,W){var ee=Y[0],Y=Y[1],z=g[W],U=c[W];return[ee||z,ee||!z?an(Y,z&&z.multi?function(J){return J=A(J,W),l(J)&&J.some(function(X){return x(U,X)})}:function(J){return x(U,A(J,W))}):Y]},[null,null]),_=M[0],M=M[1];return _?this.where(_.name).equals(c[_.keyPath]).filter(M):p?this.filter(M):this.where(f).equals("")},Ft.prototype.filter=function(c){return this.toCollection().and(c)},Ft.prototype.count=function(c){return this.toCollection().count(c)},Ft.prototype.offset=function(c){return this.toCollection().offset(c)},Ft.prototype.limit=function(c){return this.toCollection().limit(c)},Ft.prototype.each=function(c){return this.toCollection().each(c)},Ft.prototype.toArray=function(c){return this.toCollection().toArray(c)},Ft.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},Ft.prototype.orderBy=function(c){return new this.db.Collection(new this.db.WhereClause(this,l(c)?"[".concat(c.join("+"),"]"):c))},Ft.prototype.reverse=function(){return this.toCollection().reverse()},Ft.prototype.mapToClass=function(c){for(var f=this.db,p=this.name,g=((this.schema.mappedClass=c).prototype instanceof xr&&(c=(M=>{var R=Y,W=M;if(typeof W!="function"&&W!==null)throw new TypeError("Class extends value "+String(W)+" is not a constructor or null");function ee(){this.constructor=R}function Y(){return M!==null&&M.apply(this,arguments)||this}return n(R,W),R.prototype=W===null?Object.create(W):(ee.prototype=W.prototype,new ee),Object.defineProperty(Y.prototype,"db",{get:function(){return f},enumerable:!1,configurable:!0}),Y.prototype.table=function(){return p},Y})(c)),new Set),x=c.prototype;x;x=d(x))Object.getOwnPropertyNames(x).forEach(function(M){return g.add(M)});function _(M){if(!M)return M;var R,W=Object.create(c.prototype);for(R in M)if(!g.has(R))try{W[R]=M[R]}catch{}return W}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=_,this.hook("reading",_),c},Ft.prototype.defineClass=function(){return this.mapToClass(function(c){u(this,c)})},Ft.prototype.add=function(c,f){var p=this,g=this.schema.primKey,x=g.auto,_=g.keyPath,M=c;return _&&x&&(M=Kr(_)(c)),this._trans("readwrite",function(R){return p.core.mutate({trans:R,type:"add",keys:f!=null?[f]:null,values:[M]})}).then(function(R){return R.numFailures?H.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{O(c,_,R)}catch{}return R})},Ft.prototype.upsert=function(c,f){var p=this,g=this.schema.primKey.keyPath;return this._trans("readwrite",function(x){return p.core.get({trans:x,key:c}).then(function(_){var M=_??{};return ef(M,f),g&&O(M,g,c),p.core.mutate({trans:x,type:"put",values:[M],keys:[c],upsert:!0,updates:{keys:[c],changeSpecs:[f]}}).then(function(R){return R.numFailures?H.reject(R.failures[0]):!!_})})})},Ft.prototype.update=function(c,f){return typeof c!="object"||l(c)?this.where(":id").equals(c).modify(f):(c=A(c,this.schema.primKey.keyPath))===void 0?Ut(new le.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(c).modify(f)},Ft.prototype.put=function(c,f){var p=this,g=this.schema.primKey,x=g.auto,_=g.keyPath,M=c;return _&&x&&(M=Kr(_)(c)),this._trans("readwrite",function(R){return p.core.mutate({trans:R,type:"put",values:[M],keys:f!=null?[f]:null})}).then(function(R){return R.numFailures?H.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{O(c,_,R)}catch{}return R})},Ft.prototype.delete=function(c){var f=this;return this._trans("readwrite",function(p){return f.core.mutate({trans:p,type:"delete",keys:[c]}).then(function(g){return ra(f,[c],g)}).then(function(g){return g.numFailures?H.reject(g.failures[0]):void 0})})},Ft.prototype.clear=function(){var c=this;return this._trans("readwrite",function(f){return c.core.mutate({trans:f,type:"deleteRange",range:Dn}).then(function(p){return ra(c,null,p)})}).then(function(f){return f.numFailures?H.reject(f.failures[0]):void 0})},Ft.prototype.bulkGet=function(c){var f=this;return this._trans("readonly",function(p){return f.core.getMany({keys:c,trans:p}).then(function(g){return g.map(function(x){return f.hook.reading.fire(x)})})})},Ft.prototype.bulkAdd=function(c,f,p){var g=this,x=Array.isArray(f)?f:void 0,_=(p=p||(x?void 0:f))?p.allKeys:void 0;return this._trans("readwrite",function(M){var R=g.schema.primKey,ee=R.auto,R=R.keyPath;if(R&&x)throw new le.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new le.InvalidArgument("Arguments objects and keys must have the same length");var W=c.length,ee=R&&ee?c.map(Kr(R)):c;return g.core.mutate({trans:M,type:"add",keys:x,values:ee,wantResults:_}).then(function(Y){var z=Y.numFailures,U=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new Le("".concat(g.name,".bulkAdd(): ").concat(z," of ").concat(W," operations failed"),U)})})},Ft.prototype.bulkPut=function(c,f,p){var g=this,x=Array.isArray(f)?f:void 0,_=(p=p||(x?void 0:f))?p.allKeys:void 0;return this._trans("readwrite",function(M){var R=g.schema.primKey,ee=R.auto,R=R.keyPath;if(R&&x)throw new le.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new le.InvalidArgument("Arguments objects and keys must have the same length");var W=c.length,ee=R&&ee?c.map(Kr(R)):c;return g.core.mutate({trans:M,type:"put",keys:x,values:ee,wantResults:_}).then(function(Y){var z=Y.numFailures,U=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new Le("".concat(g.name,".bulkPut(): ").concat(z," of ").concat(W," operations failed"),U)})})},Ft.prototype.bulkUpdate=function(c){var f=this,p=this.core,g=c.map(function(M){return M.key}),x=c.map(function(M){return M.changes}),_=[];return this._trans("readwrite",function(M){return p.getMany({trans:M,keys:g,cache:"clone"}).then(function(R){var W=[],ee=[],Y=(c.forEach(function(z,U){var J=z.key,X=z.changes,K=R[U];if(K){for(var V=0,se=Object.keys(X);V<se.length;V++){var te=se[V],ce=X[te];if(te===f.schema.primKey.keyPath){if(ot(ce,J)!==0)throw new le.Constraint("Cannot update primary key in bulkUpdate()")}else O(K,te,ce)}_.push(U),W.push(J),ee.push(K)}}),W.length);return p.mutate({trans:M,type:"put",keys:W,values:ee,updates:{keys:g,changeSpecs:x}}).then(function(z){var U=z.numFailures,J=z.failures;if(U===0)return Y;for(var X=0,K=Object.keys(J);X<K.length;X++){var V,se=K[X],te=_[Number(se)];te!=null&&(V=J[se],delete J[se],J[te]=V)}throw new Le("".concat(f.name,".bulkUpdate(): ").concat(U," of ").concat(Y," operations failed"),J)})})})},Ft.prototype.bulkDelete=function(c){var f=this,p=c.length;return this._trans("readwrite",function(g){return f.core.mutate({trans:g,type:"delete",keys:c}).then(function(x){return ra(f,c,x)})}).then(function(g){var x=g.numFailures,_=g.failures;if(x===0)return g.lastResult;throw new Le("".concat(f.name,".bulkDelete(): ").concat(x," of ").concat(p," operations failed"),_)})};var tf=Ft;function Ft(){}function uo(c){function f(M,R){if(R){for(var W=arguments.length,ee=new Array(W-1);--W;)ee[W-1]=arguments[W];return p[M].subscribe.apply(null,ee),c}if(typeof M=="string")return p[M]}var p={};f.addEventType=_;for(var g=1,x=arguments.length;g<x;++g)_(arguments[g]);return f;function _(M,R,W){var ee,Y;if(typeof M!="object")return R=R||_n,Y={subscribers:[],fire:W=W||Ie,subscribe:function(z){Y.subscribers.indexOf(z)===-1&&(Y.subscribers.push(z),Y.fire=R(Y.fire,z))},unsubscribe:function(z){Y.subscribers=Y.subscribers.filter(function(U){return U!==z}),Y.fire=Y.subscribers.reduce(R,W)}},p[M]=f[M]=Y;i(ee=M).forEach(function(z){var U=ee[z];if(l(U))_(z,ee[z][0],ee[z][1]);else{if(U!=="asap")throw new le.InvalidArgument("Invalid event config");var J=_(z,He,function(){for(var X=arguments.length,K=new Array(X);X--;)K[X]=arguments[X];J.subscribers.forEach(function(V){E(function(){V.apply(null,K)})})})}})}}function fo(c,f){return S(f).from({prototype:c}),f}function Ps(c,f){return!(c.filter||c.algorithm||c.or)&&(f?c.justLimit:!c.replayFilter)}function ql(c,f){c.filter=an(c.filter,f)}function Hl(c,f,p){var g=c.replayFilter;c.replayFilter=g?function(){return an(g(),f())}:f,c.justLimit=p&&!g}function sa(c,f){if(c.isPrimKey)return f.primaryKey;var p=f.getIndexByKeyPath(c.index);if(p)return p;throw new le.Schema("KeyPath "+c.index+" on object store "+f.name+" is not indexed")}function nf(c,f,p){var g=sa(c,f.schema);return f.openCursor({trans:p,values:!c.keysOnly,reverse:c.dir==="prev",unique:!!c.unique,query:{index:g,range:c.range}})}function oa(c,f,p,g){var x,_,M=c.replayFilter?an(c.filter,c.replayFilter()):c.filter;return c.or?(x={},_=function(R,W,ee){var Y,z;M&&!M(W,ee,function(U){return W.stop(U)},function(U){return W.fail(U)})||((z=""+(Y=W.primaryKey))=="[object ArrayBuffer]"&&(z=""+new Uint8Array(Y)),m(x,z))||(x[z]=!0,f(R,W,ee))},Promise.all([c.or._iterate(_,p),rf(nf(c,g,p),c.algorithm,_,!c.keysOnly&&c.valueMapper)])):rf(nf(c,g,p),an(c.algorithm,M),f,!c.keysOnly&&c.valueMapper)}function rf(c,f,p,g){var x=De(g?function(_,M,R){return p(g(_),M,R)}:p);return c.then(function(_){if(_)return _.start(function(){var M=function(){return _.continue()};f&&!f(_,function(R){return M=R},function(R){_.stop(R),M=Ie},function(R){_.fail(R),M=Ie})||x(_.value,_,function(R){return M=R}),M()})})}Pt.prototype._read=function(c,f){var p=this._ctx;return p.error?p.table._trans(null,Ut.bind(null,p.error)):p.table._trans("readonly",c).then(f)},Pt.prototype._write=function(c){var f=this._ctx;return f.error?f.table._trans(null,Ut.bind(null,f.error)):f.table._trans("readwrite",c,"locked")},Pt.prototype._addAlgorithm=function(c){var f=this._ctx;f.algorithm=an(f.algorithm,c)},Pt.prototype._iterate=function(c,f){return oa(this._ctx,c,f,this._ctx.table.core)},Pt.prototype.clone=function(c){var f=Object.create(this.constructor.prototype),p=Object.create(this._ctx);return c&&u(p,c),f._ctx=p,f},Pt.prototype.raw=function(){return this._ctx.valueMapper=null,this},Pt.prototype.each=function(c){var f=this._ctx;return this._read(function(p){return oa(f,c,p,f.table.core)})},Pt.prototype.count=function(c){var f=this;return this._read(function(p){var g,x=f._ctx,_=x.table.core;return Ps(x,!0)?_.count({trans:p,query:{index:sa(x,_.schema),range:x.range}}).then(function(M){return Math.min(M,x.limit)}):(g=0,oa(x,function(){return++g,!1},p,_).then(function(){return g}))}).then(c)},Pt.prototype.sortBy=function(c,f){var p=c.split(".").reverse(),g=p[0],x=p.length-1;function _(W,ee){return ee?_(W[p[ee]],ee-1):W[g]}var M=this._ctx.dir==="next"?1:-1;function R(W,ee){return ot(_(W,x),_(ee,x))*M}return this.toArray(function(W){return W.sort(R)}).then(f)},Pt.prototype.toArray=function(c){var f=this;return this._read(function(p){var g,x,_,M=f._ctx;return Ps(M,!0)&&0<M.limit?(g=M.valueMapper,x=sa(M,M.table.core.schema),M.table.core.query({trans:p,limit:M.limit,values:!0,direction:M.dir==="prev"?"prev":void 0,query:{index:x,range:M.range}}).then(function(R){return R=R.result,g?R.map(g):R})):(_=[],oa(M,function(R){return _.push(R)},p,M.table.core).then(function(){return _}))},c)},Pt.prototype.offset=function(c){var f=this._ctx;return c<=0||(f.offset+=c,Ps(f)?Hl(f,function(){var p=c;return function(g,x){return p===0||(p===1?--p:x(function(){g.advance(p),p=0}),!1)}}):Hl(f,function(){var p=c;return function(){return--p<0}})),this},Pt.prototype.limit=function(c){return this._ctx.limit=Math.min(this._ctx.limit,c),Hl(this._ctx,function(){var f=c;return function(p,g,x){return--f<=0&&g(x),0<=f}},!0),this},Pt.prototype.until=function(c,f){return ql(this._ctx,function(p,g,x){return!c(p.value)||(g(x),f)}),this},Pt.prototype.first=function(c){return this.limit(1).toArray(function(f){return f[0]}).then(c)},Pt.prototype.last=function(c){return this.reverse().first(c)},Pt.prototype.filter=function(c){var f;return ql(this._ctx,function(p){return c(p.value)}),(f=this._ctx).isMatch=an(f.isMatch,c),this},Pt.prototype.and=function(c){return this.filter(c)},Pt.prototype.or=function(c){return new this.db.WhereClause(this._ctx.table,c,this)},Pt.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},Pt.prototype.desc=function(){return this.reverse()},Pt.prototype.eachKey=function(c){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,g){c(g.key,g)})},Pt.prototype.eachUniqueKey=function(c){return this._ctx.unique="unique",this.eachKey(c)},Pt.prototype.eachPrimaryKey=function(c){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,g){c(g.primaryKey,g)})},Pt.prototype.keys=function(c){var f=this._ctx,p=(f.keysOnly=!f.isMatch,[]);return this.each(function(g,x){p.push(x.key)}).then(function(){return p}).then(c)},Pt.prototype.primaryKeys=function(c){var f=this._ctx;if(Ps(f,!0)&&0<f.limit)return this._read(function(g){var x=sa(f,f.table.core.schema);return f.table.core.query({trans:g,values:!1,limit:f.limit,direction:f.dir==="prev"?"prev":void 0,query:{index:x,range:f.range}})}).then(function(g){return g.result}).then(c);f.keysOnly=!f.isMatch;var p=[];return this.each(function(g,x){p.push(x.primaryKey)}).then(function(){return p}).then(c)},Pt.prototype.uniqueKeys=function(c){return this._ctx.unique="unique",this.keys(c)},Pt.prototype.firstKey=function(c){return this.limit(1).keys(function(f){return f[0]}).then(c)},Pt.prototype.lastKey=function(c){return this.reverse().firstKey(c)},Pt.prototype.distinct=function(){var c,f=this._ctx,f=f.index&&f.table.schema.idxByName[f.index];return f&&f.multi&&(c={},ql(this._ctx,function(g){var g=g.primaryKey.toString(),x=m(c,g);return c[g]=!0,!x})),this},Pt.prototype.modify=function(c){var f=this,p=this._ctx;return this._write(function(g){function x(K,V){var se=V.failures;U+=K-V.numFailures;for(var te=0,ce=i(se);te<ce.length;te++){var be=ce[te];z.push(se[be])}}var _=typeof c=="function"?c:function(K){return ef(K,c)},M=p.table.core,Y=M.schema.primaryKey,R=Y.outbound,W=Y.extractKey,ee=200,Y=f.db._options.modifyChunkSize,z=(Y&&(ee=typeof Y=="object"?Y[M.name]||Y["*"]||200:Y),[]),U=0,J=[],X=c===sf;return f.clone().primaryKeys().then(function(K){function V(te){var ce=Math.min(ee,K.length-te),be=K.slice(te,te+ce);return(X?Promise.resolve([]):M.getMany({trans:g,keys:be,cache:"immutable"})).then(function(xe){var Pe=[],we=[],Ne=R?[]:null,ke=X?be:[];if(!X)for(var Be=0;Be<ce;++Be){var ve=xe[Be],tt={value:Q(ve),primKey:K[te+Be]};_.call(tt,tt.value,tt)!==!1&&(tt.value==null?ke.push(K[te+Be]):R||ot(W(ve),W(tt.value))===0?(we.push(tt.value),R&&Ne.push(K[te+Be])):(ke.push(K[te+Be]),Pe.push(tt.value)))}return Promise.resolve(0<Pe.length&&M.mutate({trans:g,type:"add",values:Pe}).then(function(nt){for(var at in nt.failures)ke.splice(parseInt(at),1);x(Pe.length,nt)})).then(function(){return(0<we.length||se&&typeof c=="object")&&M.mutate({trans:g,type:"put",keys:Ne,values:we,criteria:se,changeSpec:typeof c!="function"&&c,isAdditionalChunk:0<te}).then(function(nt){return x(we.length,nt)})}).then(function(){return(0<ke.length||se&&X)&&M.mutate({trans:g,type:"delete",keys:ke,criteria:se,isAdditionalChunk:0<te}).then(function(nt){return ra(p.table,ke,nt)}).then(function(nt){return x(ke.length,nt)})}).then(function(){return K.length>te+ce&&V(te+ee)})})}var se=Ps(p)&&p.limit===1/0&&(typeof c!="function"||X)&&{index:p.index,range:p.range};return V(0).then(function(){if(0<z.length)throw new ze("Error modifying one or more objects",z,U,J);return K.length})})})},Pt.prototype.delete=function(){var c=this._ctx,f=c.range;return!Ps(c)||c.table.schema.yProps||!c.isPrimKey&&f.type!==3?this.modify(sf):this._write(function(p){var g=c.table.core.schema.primaryKey,x=f;return c.table.core.count({trans:p,query:{index:g,range:x}}).then(function(_){return c.table.core.mutate({trans:p,type:"deleteRange",range:x}).then(function(W){var R=W.failures,W=W.numFailures;if(W)throw new ze("Could not delete some values",Object.keys(R).map(function(ee){return R[ee]}),_-W);return _-W})})})};var Jv=Pt;function Pt(){}var sf=function(c,f){return f.value=null};function Qv(c,f){return c<f?-1:c===f?0:1}function Zv(c,f){return f<c?-1:c===f?0:1}function Nn(c,f,p){return c=c instanceof af?new c.Collection(c):c,c._ctx.error=new(p||TypeError)(f),c}function Ms(c){return new c.Collection(c,function(){return of("")}).limit(0)}function ia(J,f,p,g){var x,_,M,R,W,ee,Y,z=p.length;if(!p.every(function(K){return typeof K=="string"}))return Nn(J,qt);function U(K){x=K==="next"?function(se){return se.toUpperCase()}:function(se){return se.toLowerCase()},_=K==="next"?function(se){return se.toLowerCase()}:function(se){return se.toUpperCase()},M=K==="next"?Qv:Zv;var V=p.map(function(se){return{lower:_(se),upper:x(se)}}).sort(function(se,te){return M(se.lower,te.lower)});R=V.map(function(se){return se.upper}),W=V.map(function(se){return se.lower}),Y=(ee=K)==="next"?"":g}U("next");var J=new J.Collection(J,function(){return Mr(R[0],W[z-1]+g)}),X=(J._ondirectionchange=function(K){U(K)},0);return J._addAlgorithm(function(K,V,se){var te=K.key;if(typeof te=="string"){var ce=_(te);if(f(ce,W,X))return!0;for(var be=null,xe=X;xe<z;++xe){var Pe=((we,Ne,ke,Be,ve,tt)=>{for(var nt=Math.min(we.length,Be.length),at=-1,yt=0;yt<nt;++yt){var Bn=Ne[yt];if(Bn!==Be[yt])return ve(we[yt],ke[yt])<0?we.substr(0,yt)+ke[yt]+ke.substr(yt+1):ve(we[yt],Be[yt])<0?we.substr(0,yt)+Be[yt]+ke.substr(yt+1):0<=at?we.substr(0,at)+Ne[at]+ke.substr(at+1):null;ve(we[yt],Bn)<0&&(at=yt)}return nt<Be.length&&tt==="next"?we+ke.substr(we.length):nt<we.length&&tt==="prev"?we.substr(0,ke.length):at<0?null:we.substr(0,at)+Be[at]+ke.substr(at+1)})(te,ce,R[xe],W[xe],M,ee);Pe===null&&be===null?X=xe+1:(be===null||0<M(be,Pe))&&(be=Pe)}V(be!==null?function(){K.continue(be+Y)}:se)}return!1}),J}function Mr(c,f,p,g){return{type:2,lower:c,upper:f,lowerOpen:p,upperOpen:g}}function of(c){return{type:1,lower:c,upper:c}}Object.defineProperty(hn.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),hn.prototype.between=function(c,f,p,g){p=p!==!1,g=g===!0;try{return 0<this._cmp(c,f)||this._cmp(c,f)===0&&(p||g)&&(!p||!g)?Ms(this):new this.Collection(this,function(){return Mr(c,f,!p,!g)})}catch{return Nn(this,ct)}},hn.prototype.equals=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return of(c)})},hn.prototype.above=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(c,void 0,!0)})},hn.prototype.aboveOrEqual=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(c,void 0,!1)})},hn.prototype.below=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(void 0,c,!1,!0)})},hn.prototype.belowOrEqual=function(c){return c==null?Nn(this,ct):new this.Collection(this,function(){return Mr(void 0,c)})},hn.prototype.startsWith=function(c){return typeof c!="string"?Nn(this,qt):this.between(c,c+ge,!0,!0)},hn.prototype.startsWithIgnoreCase=function(c){return c===""?this.startsWith(c):ia(this,function(f,p){return f.indexOf(p[0])===0},[c],ge)},hn.prototype.equalsIgnoreCase=function(c){return ia(this,function(f,p){return f===p[0]},[c],"")},hn.prototype.anyOfIgnoreCase=function(){var c=ne.apply(me,arguments);return c.length===0?Ms(this):ia(this,function(f,p){return p.indexOf(f)!==-1},c,"")},hn.prototype.startsWithAnyOfIgnoreCase=function(){var c=ne.apply(me,arguments);return c.length===0?Ms(this):ia(this,function(f,p){return p.some(function(g){return f.indexOf(g)===0})},c,ge)},hn.prototype.anyOf=function(){var c,f,p=this,g=ne.apply(me,arguments),x=this._cmp;try{g.sort(x)}catch{return Nn(this,ct)}return g.length===0?Ms(this):((c=new this.Collection(this,function(){return Mr(g[0],g[g.length-1])}))._ondirectionchange=function(_){x=_==="next"?p._ascending:p._descending,g.sort(x)},f=0,c._addAlgorithm(function(_,M,R){for(var W=_.key;0<x(W,g[f]);)if(++f===g.length)return M(R),!1;return x(W,g[f])===0||(M(function(){_.continue(g[f])}),!1)}),c)},hn.prototype.notEqual=function(c){return this.inAnyRange([[-1/0,c],[c,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},hn.prototype.noneOf=function(){var c=ne.apply(me,arguments);if(c.length===0)return new this.Collection(this);try{c.sort(this._ascending)}catch{return Nn(this,ct)}var f=c.reduce(function(p,g){return p?p.concat([[p[p.length-1][1],g]]):[[-1/0,g]]},null);return f.push([c[c.length-1],this.db._maxKey]),this.inAnyRange(f,{includeLowers:!1,includeUppers:!1})},hn.prototype.inAnyRange=function(c,se){var p=this,g=this._cmp,x=this._ascending,_=this._descending,M=this._min,R=this._max;if(c.length===0)return Ms(this);if(!c.every(function(te){return te[0]!==void 0&&te[1]!==void 0&&x(te[0],te[1])<=0}))return Nn(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",le.InvalidArgument);var W=!se||se.includeLowers!==!1,ee=se&&se.includeUppers===!0,Y,z=x;function U(te,ce){return z(te[0],ce[0])}try{(Y=c.reduce(function(te,ce){for(var be=0,xe=te.length;be<xe;++be){var Pe=te[be];if(g(ce[0],Pe[1])<0&&0<g(ce[1],Pe[0])){Pe[0]=M(Pe[0],ce[0]),Pe[1]=R(Pe[1],ce[1]);break}}return be===xe&&te.push(ce),te},[])).sort(U)}catch{return Nn(this,ct)}var J=0,X=ee?function(te){return 0<x(te,Y[J][1])}:function(te){return 0<=x(te,Y[J][1])},K=W?function(te){return 0<_(te,Y[J][0])}:function(te){return 0<=_(te,Y[J][0])},V=X,se=new this.Collection(this,function(){return Mr(Y[0][0],Y[Y.length-1][1],!W,!ee)});return se._ondirectionchange=function(te){z=te==="next"?(V=X,x):(V=K,_),Y.sort(U)},se._addAlgorithm(function(te,ce,be){for(var xe,Pe=te.key;V(Pe);)if(++J===Y.length)return ce(be),!1;return!X(xe=Pe)&&!K(xe)||(p._cmp(Pe,Y[J][1])===0||p._cmp(Pe,Y[J][0])===0||ce(function(){z===x?te.continue(Y[J][0]):te.continue(Y[J][1])}),!1)}),se},hn.prototype.startsWithAnyOf=function(){var c=ne.apply(me,arguments);return c.every(function(f){return typeof f=="string"})?c.length===0?Ms(this):this.inAnyRange(c.map(function(f){return[f,f+ge]})):Nn(this,"startsWithAnyOf() only works with strings")};var af=hn;function hn(){}function nr(c){return De(function(f){return ho(f),c(f.target.error),!1})}function ho(c){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault()}var po="storagemutated",Yl="x-storagemutated-1",Er=uo(null,po),eS=(ur.prototype._lock=function(){return C(!$e.global),++this._reculock,this._reculock!==1||$e.global||($e.lockOwnerFor=this),this},ur.prototype._unlock=function(){if(C(!$e.global),--this._reculock==0)for($e.global||($e.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var c=this._blockedFuncs.shift();try{cr(c[1],c[0])}catch{}}return this},ur.prototype._locked=function(){return this._reculock&&$e.lockOwnerFor!==this},ur.prototype.create=function(c){var f=this;if(this.mode){var p=this.db.idbdb,g=this.db._state.dbOpenError;if(C(!this.idbtrans),!c&&!p)switch(g&&g.name){case"DatabaseClosedError":throw new le.DatabaseClosed(g);case"MissingAPIError":throw new le.MissingAPI(g.message,g);default:throw new le.OpenFailed(g)}if(!this.active)throw new le.TransactionInactive;C(this._completion._state===null),(c=this.idbtrans=c||(this.db.core||p).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=De(function(x){ho(x),f._reject(c.error)}),c.onabort=De(function(x){ho(x),f.active&&f._reject(new le.Abort(c.error)),f.active=!1,f.on("abort").fire(x)}),c.oncomplete=De(function(){f.active=!1,f._resolve(),"mutatedParts"in c&&Er.storagemutated.fire(c.mutatedParts)})}return this},ur.prototype._promise=function(c,f,p){var g,x=this;return c==="readwrite"&&this.mode!=="readwrite"?Ut(new le.ReadOnly("Transaction is readonly")):this.active?this._locked()?new H(function(_,M){x._blockedFuncs.push([function(){x._promise(c,f,p).then(_,M)},$e])}):p?Zn(function(){var _=new H(function(M,R){x._lock();var W=f(M,R,x);W&&W.then&&W.then(M,R)});return _.finally(function(){return x._unlock()}),_._lib=!0,_}):((g=new H(function(_,M){var R=f(_,M,x);R&&R.then&&R.then(_,M)}))._lib=!0,g):Ut(new le.TransactionInactive)},ur.prototype._root=function(){return this.parent?this.parent._root():this},ur.prototype.waitFor=function(c){var f,p=this._root(),g=H.resolve(c),x=(p._waitingFor?p._waitingFor=p._waitingFor.then(function(){return g}):(p._waitingFor=g,p._waitingQueue=[],f=p.idbtrans.objectStore(p.storeNames[0]),function _(){for(++p._spinCount;p._waitingQueue.length;)p._waitingQueue.shift()();p._waitingFor&&(f.get(-1/0).onsuccess=_)}()),p._waitingFor);return new H(function(_,M){g.then(function(R){return p._waitingQueue.push(De(_.bind(null,R)))},function(R){return p._waitingQueue.push(De(M.bind(null,R)))}).finally(function(){p._waitingFor===x&&(p._waitingFor=null)})})},ur.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new le.Abort))},ur.prototype.table=function(c){var f=this._memoizedTables||(this._memoizedTables={});if(m(f,c))return f[c];var p=this.schema[c];if(p)return(p=new this.db.Table(c,p,this)).core=this.db.core.table(c),f[c]=p;throw new le.NotFound("Table "+c+" not part of transaction")},ur);function ur(){}function Xl(c,f,p,g,x,_,M,R){return{name:c,keyPath:f,unique:p,multi:g,auto:x,compound:_,src:(p&&!M?"&":"")+(g?"*":"")+(x?"++":"")+lf(f),type:R}}function lf(c){return typeof c=="string"?c:c?"["+[].join.call(c,"+")+"]":""}function Kl(c,f,p){return{name:c,primKey:f,indexes:p,mappedClass:null,idxByName:(g=function(x){return[x.name,x]},p.reduce(function(x,_,M){return _=g(_,M),_&&(x[_[0]]=_[1]),x},{}))};var g}var mo=function(c){try{return c.only([[]]),mo=function(){return[[]]},[[]]}catch{return mo=function(){return ge},ge}};function Vl(c){return c==null?function(){}:typeof c=="string"?(f=c).split(".").length===1?function(p){return p[f]}:function(p){return A(p,f)}:function(p){return A(p,c)};var f}function cf(c){return[].slice.call(c)}var tS=0;function go(c){return c==null?":id":typeof c=="string"?c:"[".concat(c.join("+"),"]")}function nS(c,f,M){function g(V){if(V.type===3)return null;if(V.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var J=V.lower,X=V.upper,K=V.lowerOpen,V=V.upperOpen;return J===void 0?X===void 0?null:f.upperBound(X,!!V):X===void 0?f.lowerBound(J,!!K):f.bound(J,X,!!K,!!V)}function x(U){var J,X,K=U.name;return{name:K,schema:U,mutate:function(V){var se=V.trans,te=V.type,ce=V.keys,be=V.values,xe=V.range;return new Promise(function(Pe,we){Pe=De(Pe);var Ne=se.objectStore(K),ke=Ne.keyPath==null,Be=te==="put"||te==="add";if(!Be&&te!=="delete"&&te!=="deleteRange")throw new Error("Invalid operation type: "+te);var ve,tt=(ce||be||{length:1}).length;if(ce&&be&&ce.length!==be.length)throw new Error("Given keys array must have same length as given values array.");if(tt===0)return Pe({numFailures:0,failures:{},results:[],lastResult:void 0});function nt(jn){++Bn,ho(jn)}var at=[],yt=[],Bn=0;if(te==="deleteRange"){if(xe.type===4)return Pe({numFailures:Bn,failures:yt,results:[],lastResult:void 0});xe.type===3?at.push(ve=Ne.clear()):at.push(ve=Ne.delete(g(xe)))}else{var ke=Be?ke?[be,ce]:[be,null]:[ce,null],it=ke[0],Cn=ke[1];if(Be)for(var Tn=0;Tn<tt;++Tn)at.push(ve=Cn&&Cn[Tn]!==void 0?Ne[te](it[Tn],Cn[Tn]):Ne[te](it[Tn])),ve.onerror=nt;else for(Tn=0;Tn<tt;++Tn)at.push(ve=Ne[te](it[Tn])),ve.onerror=nt}function ba(jn){jn=jn.target.result,at.forEach(function(Jr,hc){return Jr.error!=null&&(yt[hc]=Jr.error)}),Pe({numFailures:Bn,failures:yt,results:te==="delete"?ce:at.map(function(Jr){return Jr.result}),lastResult:jn})}ve.onerror=function(jn){nt(jn),ba(jn)},ve.onsuccess=ba})},getMany:function(V){var se=V.trans,te=V.keys;return new Promise(function(ce,be){ce=De(ce);for(var xe,Pe=se.objectStore(K),we=te.length,Ne=new Array(we),ke=0,Be=0,ve=function(at){at=at.target,Ne[at._pos]=at.result,++Be===ke&&ce(Ne)},tt=nr(be),nt=0;nt<we;++nt)te[nt]!=null&&((xe=Pe.get(te[nt]))._pos=nt,xe.onsuccess=ve,xe.onerror=tt,++ke);ke===0&&ce(Ne)})},get:function(V){var se=V.trans,te=V.key;return new Promise(function(ce,be){ce=De(ce);var xe=se.objectStore(K).get(te);xe.onsuccess=function(Pe){return ce(Pe.target.result)},xe.onerror=nr(be)})},query:(J=W,X=ee,function(V){return new Promise(function(se,te){se=De(se);var ce,be,xe,Pe,tt=V.trans,we=V.values,Ne=V.limit,ve=V.query,ke=(ke=V.direction)!=null?ke:"next",Be=Ne===1/0?void 0:Ne,nt=ve.index,ve=ve.range,tt=tt.objectStore(K),tt=nt.isPrimaryKey?tt:tt.index(nt.name),nt=g(ve);if(Ne===0)return se({result:[]});X?(ve={query:nt,count:Be,direction:ke},(ce=we?tt.getAll(ve):tt.getAllKeys(ve)).onsuccess=function(at){return se({result:at.target.result})},ce.onerror=nr(te)):J&&ke==="next"?((ce=we?tt.getAll(nt,Be):tt.getAllKeys(nt,Be)).onsuccess=function(at){return se({result:at.target.result})},ce.onerror=nr(te)):(be=0,xe=!we&&"openKeyCursor"in tt?tt.openKeyCursor(nt,ke):tt.openCursor(nt,ke),Pe=[],xe.onsuccess=function(){var at=xe.result;return!at||(Pe.push(we?at.value:at.primaryKey),++be===Ne)?se({result:Pe}):void at.continue()},xe.onerror=nr(te))})}),openCursor:function(V){var se=V.trans,te=V.values,ce=V.query,be=V.reverse,xe=V.unique;return new Promise(function(Pe,we){Pe=De(Pe);var Be=ce.index,Ne=ce.range,ke=se.objectStore(K),ke=Be.isPrimaryKey?ke:ke.index(Be.name),Be=be?xe?"prevunique":"prev":xe?"nextunique":"next",ve=!te&&"openKeyCursor"in ke?ke.openKeyCursor(g(Ne),Be):ke.openCursor(g(Ne),Be);ve.onerror=nr(we),ve.onsuccess=De(function(tt){var nt,at,yt,Bn,it=ve.result;it?(it.___id=++tS,it.done=!1,nt=it.continue.bind(it),at=(at=it.continuePrimaryKey)&&at.bind(it),yt=it.advance.bind(it),Bn=function(){throw new Error("Cursor not stopped")},it.trans=se,it.stop=it.continue=it.continuePrimaryKey=it.advance=function(){throw new Error("Cursor not started")},it.fail=De(we),it.next=function(){var Cn=this,Tn=1;return this.start(function(){return Tn--?Cn.continue():Cn.stop()}).then(function(){return Cn})},it.start=function(Cn){function Tn(){if(ve.result)try{Cn()}catch(jn){it.fail(jn)}else it.done=!0,it.start=function(){throw new Error("Cursor behind last entry")},it.stop()}var ba=new Promise(function(jn,Jr){jn=De(jn),ve.onerror=nr(Jr),it.fail=Jr,it.stop=function(hc){it.stop=it.continue=it.continuePrimaryKey=it.advance=Bn,jn(hc)}});return ve.onsuccess=De(function(jn){ve.onsuccess=Tn,Tn()}),it.continue=nt,it.continuePrimaryKey=at,it.advance=yt,Tn(),ba},Pe(it)):Pe(null)},we)})},count:function(V){var se=V.query,te=V.trans,ce=se.index,be=se.range;return new Promise(function(xe,Pe){var we=te.objectStore(K),we=ce.isPrimaryKey?we:we.index(ce.name),Ne=g(be),Ne=Ne?we.count(Ne):we.count();Ne.onsuccess=De(function(ke){return xe(ke.target.result)}),Ne.onerror=nr(Pe)})}}}_=M,R=cf((M=c).objectStoreNames),Y=0<R.length?_.objectStore(R[0]):{};var _,M={schema:{name:M.name,tables:R.map(function(U){return _.objectStore(U)}).map(function(U){var J=U.keyPath,X=U.autoIncrement,V=l(J),K={},V={name:U.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:J==null,compound:V,keyPath:J,autoIncrement:X,unique:!0,extractKey:Vl(J)},indexes:cf(U.indexNames).map(function(se){return U.index(se)}).map(function(be){var xe=be.name,te=be.unique,ce=be.multiEntry,be=be.keyPath,xe={name:xe,compound:l(be),keyPath:be,unique:te,multiEntry:ce,extractKey:Vl(be)};return K[go(be)]=xe}),getIndexByKeyPath:function(se){return K[go(se)]}};return K[":id"]=V.primaryKey,J!=null&&(K[go(J)]=V.primaryKey),V})},hasGetAll:0<R.length&&"getAll"in Y&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in Y},R=M.schema,W=M.hasGetAll,ee=M.hasIdb3Features,Y=R.tables.map(x),z={};return Y.forEach(function(U){return z[U.name]=U}),{stack:"dbcore",transaction:c.transaction.bind(c),table:function(U){if(z[U])return z[U];throw new Error("Table '".concat(U,"' not found"))},MIN_KEY:-1/0,MAX_KEY:mo(f),schema:R}}function rS(c,f,p,g){return p=p.IDBKeyRange,f=nS(f,p,g),{dbcore:c.dbcore.reduce(function(x,_){return _=_.create,r(r({},x),_(x))},f)}}function aa(c,f){var p=f.db,p=rS(c._middlewares,p,c._deps,f);c.core=p.dbcore,c.tables.forEach(function(g){var x=g.name;c.core.schema.tables.some(function(_){return _.name===x})&&(g.core=c.core.table(x),c[x]instanceof c.Table)&&(c[x].core=g.core)})}function la(c,f,p,g){p.forEach(function(x){var _=g[x];f.forEach(function(M){var R=function W(ee,Y){return k(ee,Y)||(ee=d(ee))&&W(ee,Y)}(M,x);(!R||"value"in R&&R.value===void 0)&&(M===c.Transaction.prototype||M instanceof c.Transaction?w(M,x,{get:function(){return this.table(x)},set:function(W){v(this,x,{value:W,writable:!0,configurable:!0,enumerable:!0})}}):M[x]=new c.Table(x,_))})})}function Gl(c,f){f.forEach(function(p){for(var g in p)p[g]instanceof c.Table&&delete p[g]})}function sS(c,f){return c._cfg.version-f._cfg.version}function oS(c,f,p,g){var x=c._dbSchema,_=(p.objectStoreNames.contains("$meta")&&!x.$meta&&(x.$meta=Kl("$meta",df("")[0],[]),c._storeNames.push("$meta")),c._createTransaction("readwrite",c._storeNames,x)),M=(_.create(p),_._completion.catch(g),_._reject.bind(_)),R=$e.transless||$e;Zn(function(){if($e.trans=_,$e.transless=R,f!==0)return aa(c,p),ee=f,((W=_).storeNames.includes("$meta")?W.table("$meta").get("version").then(function(Y){return Y??ee}):H.resolve(ee)).then(function(V){var z=c,U=V,J=_,X=p,K=[],V=z._versions,se=z._dbSchema=ua(0,z.idbdb,X);return(V=V.filter(function(te){return te._cfg.version>=U})).length===0?H.resolve():(V.forEach(function(te){K.push(function(){var ce,be,xe,Pe=se,we=te._cfg.dbschema,Ne=(da(z,Pe,X),da(z,we,X),se=z._dbSchema=we,Jl(Pe,we)),ke=(Ne.add.forEach(function(Be){Ql(X,Be[0],Be[1].primKey,Be[1].indexes)}),Ne.change.forEach(function(Be){if(Be.recreate)throw new le.Upgrade("Not yet support for changing primary key");var ve=X.objectStore(Be.name);Be.add.forEach(function(tt){return ca(ve,tt)}),Be.change.forEach(function(tt){ve.deleteIndex(tt.name),ca(ve,tt)}),Be.del.forEach(function(tt){return ve.deleteIndex(tt)})}),te._cfg.contentUpgrade);if(ke&&te._cfg.version>U)return aa(z,X),J._memoizedTables={},ce=D(we),Ne.del.forEach(function(Be){ce[Be]=Pe[Be]}),Gl(z,[z.Transaction.prototype]),la(z,[z.Transaction.prototype],i(ce),ce),J.schema=ce,(be=he(ke))&&lr(),we=H.follow(function(){var Be;(xe=ke(J))&&be&&(Be=er.bind(null,null),xe.then(Be,Be))}),xe&&typeof xe.then=="function"?H.resolve(xe):we.then(function(){return xe})}),K.push(function(ce){var be,xe,Pe=te._cfg.dbschema;be=Pe,xe=ce,[].slice.call(xe.db.objectStoreNames).forEach(function(we){return be[we]==null&&xe.db.deleteObjectStore(we)}),Gl(z,[z.Transaction.prototype]),la(z,[z.Transaction.prototype],z._storeNames,z._dbSchema),J.schema=z._dbSchema}),K.push(function(ce){z.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(z.idbdb.version/10)===te._cfg.version?(z.idbdb.deleteObjectStore("$meta"),delete z._dbSchema.$meta,z._storeNames=z._storeNames.filter(function(be){return be!=="$meta"})):ce.objectStore("$meta").put(te._cfg.version,"version"))})}),function te(){return K.length?H.resolve(K.shift()(J.idbtrans)).then(te):H.resolve()}().then(function(){uf(se,X)}))}).catch(M);var W,ee;i(x).forEach(function(Y){Ql(p,Y,x[Y].primKey,x[Y].indexes)}),aa(c,p),H.follow(function(){return c.on.populate.fire(_)}).catch(M)})}function iS(c,f){uf(c._dbSchema,f),f.db.version%10!=0||f.objectStoreNames.contains("$meta")||f.db.createObjectStore("$meta").add(Math.ceil(f.db.version/10-1),"version");var p=ua(0,c.idbdb,f);da(c,c._dbSchema,f);for(var g=0,x=Jl(p,c._dbSchema).change;g<x.length;g++){var _=(M=>{if(M.change.length||M.recreate)return console.warn("Unable to patch indexes of table ".concat(M.name," because it has changes on the type of index or primary key.")),{value:void 0};var R=f.objectStore(M.name);M.add.forEach(function(W){Xt&&console.debug("Dexie upgrade patch: Creating missing index ".concat(M.name,".").concat(W.src)),ca(R,W)})})(x[g]);if(typeof _=="object")return _.value}}function Jl(c,f){var p,g={del:[],add:[],change:[]};for(p in c)f[p]||g.del.push(p);for(p in f){var x=c[p],_=f[p];if(x){var M={name:p,def:_,recreate:!1,del:[],add:[],change:[]};if(""+(x.primKey.keyPath||"")!=""+(_.primKey.keyPath||"")||x.primKey.auto!==_.primKey.auto)M.recreate=!0,g.change.push(M);else{var R=x.idxByName,W=_.idxByName,ee=void 0;for(ee in R)W[ee]||M.del.push(ee);for(ee in W){var Y=R[ee],z=W[ee];Y?Y.src!==z.src&&M.change.push(z):M.add.push(z)}(0<M.del.length||0<M.add.length||0<M.change.length)&&g.change.push(M)}}else g.add.push([p,_])}return g}function Ql(c,f,p,g){var x=c.db.createObjectStore(f,p.keyPath?{keyPath:p.keyPath,autoIncrement:p.auto}:{autoIncrement:p.auto});g.forEach(function(_){return ca(x,_)})}function uf(c,f){i(c).forEach(function(p){f.db.objectStoreNames.contains(p)||(Xt&&console.debug("Dexie: Creating missing table",p),Ql(f,p,c[p].primKey,c[p].indexes))})}function ca(c,f){c.createIndex(f.name,f.keyPath,{unique:f.unique,multiEntry:f.multi})}function ua(c,f,p){var g={};return T(f.objectStoreNames,0).forEach(function(x){for(var _=p.objectStore(x),M=Xl(lf(ee=_.keyPath),ee||"",!0,!1,!!_.autoIncrement,ee&&typeof ee!="string",!0),R=[],W=0;W<_.indexNames.length;++W){var Y=_.index(_.indexNames[W]),ee=Y.keyPath,Y=Xl(Y.name,ee,!!Y.unique,!!Y.multiEntry,!1,ee&&typeof ee!="string",!1);R.push(Y)}g[x]=Kl(x,M,R)}),g}function da(c,f,p){for(var g=p.db.objectStoreNames,x=0;x<g.length;++x){var _=g[x],M=p.objectStore(_);c._hasGetAll="getAll"in M;for(var R=0;R<M.indexNames.length;++R){var W,ee=M.indexNames[R],Y=M.index(ee).keyPath,Y=typeof Y=="string"?Y:"["+T(Y).join("+")+"]";f[_]&&(W=f[_].idxByName[Y])&&(W.name=ee,delete f[_].idxByName[Y],f[_].idxByName[ee]=W)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&o.WorkerGlobalScope&&o instanceof o.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(c._hasGetAll=!1)}function df(c){return c.split(",").map(function(f,p){var x=f.split(":"),g=(g=x[1])==null?void 0:g.trim(),x=(f=x[0].trim()).replace(/([&*]|\+\+)/g,""),_=/^\[/.test(x)?x.match(/^\[(.*)\]$/)[1].split("+"):x;return Xl(x,_||null,/\&/.test(f),/\*/.test(f),/\+\+/.test(f),l(_),p===0,g)})}Es.prototype._createTableSchema=Kl,Es.prototype._parseIndexSyntax=df,Es.prototype._parseStoresSpec=function(c,f){var p=this;i(c).forEach(function(g){if(c[g]!==null){var x=p._parseIndexSyntax(c[g]),_=x.shift();if(!_)throw new le.Schema("Invalid schema for table "+g+": "+c[g]);if(_.unique=!0,_.multi)throw new le.Schema("Primary key cannot be multiEntry*");x.forEach(function(M){if(M.auto)throw new le.Schema("Only primary key can be marked as autoIncrement (++)");if(!M.keyPath)throw new le.Schema("Index must have a name and cannot be an empty string")}),_=p._createTableSchema(g,_,x),f[g]=_}})},Es.prototype.stores=function(p){var f=this.db,p=(this._cfg.storesSource=this._cfg.storesSource?u(this._cfg.storesSource,p):p,f._versions),g={},x={};return p.forEach(function(_){u(g,_._cfg.storesSource),x=_._cfg.dbschema={},_._parseStoresSpec(g,x)}),f._dbSchema=x,Gl(f,[f._allTables,f,f.Transaction.prototype]),la(f,[f._allTables,f,f.Transaction.prototype,this._cfg.tables],i(x),x),f._storeNames=i(x),this},Es.prototype.upgrade=function(c){return this._cfg.contentUpgrade=At(this._cfg.contentUpgrade||Ie,c),this};var aS=Es;function Es(){}var yo=(()=>{var c,f,p;return typeof FinalizationRegistry<"u"&&typeof WeakRef<"u"?(c=new Set,f=new FinalizationRegistry(function(g){c.delete(g)}),{toArray:function(){return Array.from(c).map(function(g){return g.deref()}).filter(function(g){return g!==void 0})},add:function(g){var x=new WeakRef(g._novip);c.add(x),f.register(g._novip,x,x),c.size>g._options.maxConnections&&(x=c.values().next().value,c.delete(x),f.unregister(x))},remove:function(g){if(g)for(var x=c.values(),_=x.next();!_.done;){var M=_.value;if(M.deref()===g._novip)return c.delete(M),void f.unregister(M);_=x.next()}}}):(p=[],{toArray:function(){return p},add:function(g){p.push(g._novip)},remove:function(g){g&&(g=p.indexOf(g._novip))!==-1&&p.splice(g,1)}})})();function Zl(c,f){var p=c._dbNamesDB;return p||(p=c._dbNamesDB=new wr(Bt,{addons:[],indexedDB:c,IDBKeyRange:f})).version(1).stores({dbnames:"name"}),p.table("dbnames")}function ec(c){return c&&typeof c.databases=="function"}function tc(c){return Zn(function(){return $e.letThrough=!0,c()})}function nc(c){return!("from"in c)}var kn=function(c,f){var p;if(!this)return p=new kn,c&&"d"in c&&u(p,c),p;u(this,arguments.length?{d:1,from:c,to:1<arguments.length?f:c}:{d:0})};function bo(c,f,p){var g=ot(f,p);if(!isNaN(g)){if(0<g)throw RangeError();if(nc(c))return u(c,{from:f,to:p,d:1});var g=c.l,x=c.r;if(ot(p,c.from)<0)return g?bo(g,f,p):c.l={from:f,to:p,d:1,l:null,r:null},hf(c);if(0<ot(f,c.to))return x?bo(x,f,p):c.r={from:f,to:p,d:1,l:null,r:null},hf(c);ot(f,c.from)<0&&(c.from=f,c.l=null,c.d=x?x.d+1:1),0<ot(p,c.to)&&(c.to=p,c.r=null,c.d=c.l?c.l.d+1:1),f=!c.r,g&&!c.l&&vo(c,g),x&&f&&vo(c,x)}}function vo(c,f){nc(f)||function p(g,x){var _=x.from,M=x.l,R=x.r;bo(g,_,x.to),M&&p(g,M),R&&p(g,R)}(c,f)}function ff(c,f){var p=fa(f),g=p.next();if(!g.done)for(var x=g.value,_=fa(c),M=_.next(x.from),R=M.value;!g.done&&!M.done;){if(ot(R.from,x.to)<=0&&0<=ot(R.to,x.from))return!0;ot(x.from,R.from)<0?x=(g=p.next(R.from)).value:R=(M=_.next(x.from)).value}return!1}function fa(c){var f=nc(c)?null:{s:0,n:c};return{next:function(p){for(var g=0<arguments.length;f;)switch(f.s){case 0:if(f.s=1,g)for(;f.n.l&&ot(p,f.n.from)<0;)f={up:f,n:f.n.l,s:1};else for(;f.n.l;)f={up:f,n:f.n.l,s:1};case 1:if(f.s=2,!g||ot(p,f.n.to)<=0)return{value:f.n,done:!1};case 2:if(f.n.r){f.s=3,f={up:f,n:f.n.r,s:0};continue}case 3:f=f.up}return{done:!0}}}}function hf(c){var f,p,g,x=(((x=c.r)==null?void 0:x.d)||0)-(((x=c.l)==null?void 0:x.d)||0),x=1<x?"r":x<-1?"l":"";x&&(f=x=="r"?"l":"r",p=r({},c),g=c[x],c.from=g.from,c.to=g.to,c[x]=g[x],p[x]=g[f],(c[f]=p).d=pf(p)),c.d=pf(c)}function pf(p){var f=p.r,p=p.l;return(f?p?Math.max(f.d,p.d):f.d:p?p.d:0)+1}function ha(c,f){return i(f).forEach(function(p){c[p]?vo(c[p],f[p]):c[p]=function g(x){var _,M,R={};for(_ in x)m(x,_)&&(M=x[_],R[_]=!M||typeof M!="object"||q.has(M.constructor)?M:g(M));return R}(f[p])}),c}function rc(c,f){return c.all||f.all||Object.keys(c).some(function(p){return f[p]&&ff(f[p],c[p])})}b(kn.prototype,((It={add:function(c){return vo(this,c),this},addKey:function(c){return bo(this,c,c),this},addKeys:function(c){var f=this;return c.forEach(function(p){return bo(f,p,p)}),this},hasKey:function(c){var f=fa(this).next(c).value;return f&&ot(f.from,c)<=0&&0<=ot(f.to,c)}})[pe]=function(){return fa(this)},It));var Vr={},sc={},oc=!1;function pa(c){ha(sc,c),oc||(oc=!0,setTimeout(function(){oc=!1,ic(sc,!(sc={}))},0))}function ic(c,f){f===void 0&&(f=!1);var p=new Set;if(c.all)for(var g=0,x=Object.values(Vr);g<x.length;g++)mf(R=x[g],c,p,f);else for(var _ in c){var M,R,_=/^idb\:\/\/(.*)\/(.*)\//.exec(_);_&&(M=_[1],_=_[2],R=Vr["idb://".concat(M,"/").concat(_)])&&mf(R,c,p,f)}p.forEach(function(W){return W()})}function mf(c,f,p,g){for(var x=[],_=0,M=Object.entries(c.queries.query);_<M.length;_++){for(var R=M[_],W=R[0],ee=[],Y=0,z=R[1];Y<z.length;Y++){var U=z[Y];rc(f,U.obsSet)?U.subscribers.forEach(function(V){return p.add(V)}):g&&ee.push(U)}g&&x.push([W,ee])}if(g)for(var J=0,X=x;J<X.length;J++){var K=X[J],W=K[0],ee=K[1];c.queries.query[W]=ee}}function lS(c){var f=c._state,p=c._deps.indexedDB;if(f.isBeingOpened||c.idbdb)return f.dbReadyPromise.then(function(){return f.dbOpenError?Ut(f.dbOpenError):c});f.isBeingOpened=!0,f.dbOpenError=null,f.openComplete=!1;var g=f.openCanceller,x=Math.round(10*c.verno),_=!1;function M(){if(f.openCanceller!==g)throw new le.DatabaseClosed("db.open() was cancelled")}function R(){return new H(function(U,J){if(M(),!p)throw new le.MissingAPI;var X=c.name,K=f.autoSchema||!x?p.open(X):p.open(X,x);if(!K)throw new le.MissingAPI;K.onerror=nr(J),K.onblocked=De(c._fireOnBlocked),K.onupgradeneeded=De(function(V){var se;Y=K.transaction,f.autoSchema&&!c._options.allowEmptyDB?(K.onerror=ho,Y.abort(),K.result.close(),(se=p.deleteDatabase(X)).onsuccess=se.onerror=De(function(){J(new le.NoSuchDatabase("Database ".concat(X," doesnt exist")))})):(Y.onerror=nr(J),se=V.oldVersion>Math.pow(2,62)?0:V.oldVersion,z=se<1,c.idbdb=K.result,_&&iS(c,Y),oS(c,se/10,Y,J))},J),K.onsuccess=De(function(){Y=null;var V,se,te,ce,be,xe,Pe=c.idbdb=K.result,we=T(Pe.objectStoreNames);if(0<we.length)try{var Ne=Pe.transaction((be=we).length===1?be[0]:be,"readonly");if(f.autoSchema)xe=Pe,ce=Ne,(te=c).verno=xe.version/10,ce=te._dbSchema=ua(0,xe,ce),te._storeNames=T(xe.objectStoreNames,0),la(te,[te._allTables],i(ce),ce);else if(da(c,c._dbSchema,Ne),se=Ne,((se=Jl(ua(0,(V=c).idbdb,se),V._dbSchema)).add.length||se.change.some(function(ke){return ke.add.length||ke.change.length}))&&!_)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),Pe.close(),x=Pe.version+1,_=!0,U(R());aa(c,Ne)}catch{}yo.add(c),Pe.onversionchange=De(function(ke){f.vcFired=!0,c.on("versionchange").fire(ke)}),Pe.onclose=De(function(){c.close({disableAutoOpen:!1})}),z&&(we=c._deps,be=X,ec(xe=we.indexedDB)||be===Bt||Zl(xe,we.IDBKeyRange).put({name:be}).catch(Ie)),U()},J)}).catch(function(U){switch(U==null?void 0:U.name){case"UnknownError":if(0<f.PR1398_maxLoop)return f.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),R();break;case"VersionError":if(0<x)return x=0,R()}return H.reject(U)})}var W,ee=f.dbReadyResolve,Y=null,z=!1;return H.race([g,(typeof navigator>"u"?H.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(U){function J(){return indexedDB.databases().finally(U)}W=setInterval(J,100),J()}).finally(function(){return clearInterval(W)}):Promise.resolve()).then(R)]).then(function(){return M(),f.onReadyBeingFired=[],H.resolve(tc(function(){return c.on.ready.fire(c.vip)})).then(function U(){var J;if(0<f.onReadyBeingFired.length)return J=f.onReadyBeingFired.reduce(At,Ie),f.onReadyBeingFired=[],H.resolve(tc(function(){return J(c.vip)})).then(U)})}).finally(function(){f.openCanceller===g&&(f.onReadyBeingFired=null,f.isBeingOpened=!1)}).catch(function(U){f.dbOpenError=U;try{Y&&Y.abort()}catch{}return g===f.openCanceller&&c._close(),Ut(U)}).finally(function(){f.openComplete=!0,ee()}).then(function(){var U;return z&&(U={},c.tables.forEach(function(J){J.schema.indexes.forEach(function(X){X.name&&(U["idb://".concat(c.name,"/").concat(J.name,"/").concat(X.name)]=new kn(-1/0,[[[]]]))}),U["idb://".concat(c.name,"/").concat(J.name,"/")]=U["idb://".concat(c.name,"/").concat(J.name,"/:dels")]=new kn(-1/0,[[[]]])}),Er(po).fire(U),ic(U,!0)),c})}function ac(c){function f(_){return c.next(_)}var p=x(f),g=x(function(_){return c.throw(_)});function x(_){return function(R){var R=_(R),W=R.value;return R.done?W:W&&typeof W.then=="function"?W.then(p,g):l(W)?Promise.all(W).then(p,g):p(W)}}return x(f)()}function ma(c,f,p){for(var g=l(c)?c.slice():[c],x=0;x<p;++x)g.push(f);return g}var cS={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(c){return r(r({},c),{table:function(g){var p=c.table(g),g=p.schema,x={},_=[];function M(U,J,X){var te=go(U),K=x[te]=x[te]||[],V=U==null?0:typeof U=="string"?1:U.length,se=0<J,te=r(r({},X),{name:se?"".concat(te,"(virtual-from:").concat(X.name,")"):X.name,lowLevelIndex:X,isVirtual:se,keyTail:J,keyLength:V,extractKey:Vl(U),unique:!se&&X.unique});return K.push(te),te.isPrimaryKey||_.push(te),1<V&&M(V===2?U[0]:U.slice(0,V-1),J+1,X),K.sort(function(ce,be){return ce.keyTail-be.keyTail}),te}var R=M(g.primaryKey.keyPath,0,g.primaryKey);x[":id"]=[R];for(var W=0,ee=g.indexes;W<ee.length;W++){var Y=ee[W];M(Y.keyPath,0,Y)}function z(U){var J,X=U.query.index;return X.isVirtual?r(r({},U),{query:{index:X.lowLevelIndex,range:(J=U.query.range,X=X.keyTail,{type:J.type===1?2:J.type,lower:ma(J.lower,J.lowerOpen?c.MAX_KEY:c.MIN_KEY,X),lowerOpen:!0,upper:ma(J.upper,J.upperOpen?c.MIN_KEY:c.MAX_KEY,X),upperOpen:!0})}}):U}return r(r({},p),{schema:r(r({},g),{primaryKey:R,indexes:_,getIndexByKeyPath:function(U){return(U=x[go(U)])&&U[0]}}),count:function(U){return p.count(z(U))},query:function(U){return p.query(z(U))},openCursor:function(U){var J=U.query.index,X=J.keyTail,K=J.keyLength;return J.isVirtual?p.openCursor(z(U)).then(function(se){return se&&V(se)}):p.openCursor(U);function V(se){return Object.create(se,{continue:{value:function(te){te!=null?se.continue(ma(te,U.reverse?c.MAX_KEY:c.MIN_KEY,X)):U.unique?se.continue(se.key.slice(0,K).concat(U.reverse?c.MIN_KEY:c.MAX_KEY,X)):se.continue()}},continuePrimaryKey:{value:function(te,ce){se.continuePrimaryKey(ma(te,c.MAX_KEY,X),ce)}},primaryKey:{get:function(){return se.primaryKey}},key:{get:function(){var te=se.key;return K===1?te[0]:te.slice(0,K)}},value:{get:function(){return se.value}}})}}})}})}};function lc(c,f,p,g){return p=p||{},g=g||"",i(c).forEach(function(x){var _,M,R;m(f,x)?(_=c[x],M=f[x],typeof _=="object"&&typeof M=="object"&&_&&M?(R=Z(_))!==Z(M)?p[g+x]=f[x]:R==="Object"?lc(_,M,p,g+x+"."):_!==M&&(p[g+x]=f[x]):_!==M&&(p[g+x]=f[x])):p[g+x]=void 0}),i(f).forEach(function(x){m(c,x)||(p[g+x]=f[x])}),p}function cc(c,f){return f.type==="delete"?f.keys:f.keys||f.values.map(c.extractKey)}var uS={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(c){return r(r({},c),{table:function(f){var p=c.table(f),g=p.schema.primaryKey;return r(r({},p),{mutate:function(x){var _=$e.trans,M=_.table(f).hook,R=M.deleting,W=M.creating,ee=M.updating;switch(x.type){case"add":if(W.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"put":if(W.fire===Ie&&ee.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"delete":if(R.fire===Ie)break;return _._promise("readwrite",function(){return Y(x)},!0);case"deleteRange":if(R.fire===Ie)break;return _._promise("readwrite",function(){return function z(U,J,X){return p.query({trans:U,values:!1,query:{index:g,range:J},limit:X}).then(function(K){var V=K.result;return Y({type:"delete",keys:V,trans:U}).then(function(se){return 0<se.numFailures?Promise.reject(se.failures[0]):V.length<X?{failures:[],numFailures:0,lastResult:void 0}:z(U,r(r({},J),{lower:V[V.length-1],lowerOpen:!0}),X)})})}(x.trans,x.range,1e4)},!0)}return p.mutate(x);function Y(z){var U,J,X,K=$e.trans,V=z.keys||cc(g,z);if(V)return(z=z.type==="add"||z.type==="put"?r(r({},z),{keys:V}):r({},z)).type!=="delete"&&(z.values=s([],z.values)),z.keys&&(z.keys=s([],z.keys)),U=p,X=V,((J=z).type==="add"?Promise.resolve([]):U.getMany({trans:J.trans,keys:X,cache:"immutable"})).then(function(se){var te=V.map(function(ce,be){var xe,Pe,we,Ne=se[be],ke={onerror:null,onsuccess:null};return z.type==="delete"?R.fire.call(ke,ce,Ne,K):z.type==="add"||Ne===void 0?(xe=W.fire.call(ke,ce,z.values[be],K),ce==null&&xe!=null&&(z.keys[be]=ce=xe,g.outbound||O(z.values[be],g.keyPath,ce))):(xe=lc(Ne,z.values[be]),(Pe=ee.fire.call(ke,xe,ce,Ne,K))&&(we=z.values[be],Object.keys(Pe).forEach(function(Be){m(we,Be)?we[Be]=Pe[Be]:O(we,Be,Pe[Be])}))),ke});return p.mutate(z).then(function(ce){for(var be=ce.failures,xe=ce.results,Pe=ce.numFailures,ce=ce.lastResult,we=0;we<V.length;++we){var Ne=(xe||V)[we],ke=te[we];Ne==null?ke.onerror&&ke.onerror(be[we]):ke.onsuccess&&ke.onsuccess(z.type==="put"&&se[we]?z.values[we]:Ne)}return{failures:be,results:xe,numFailures:Pe,lastResult:ce}}).catch(function(ce){return te.forEach(function(be){return be.onerror&&be.onerror(ce)}),Promise.reject(ce)})});throw new Error("Keys missing")}}})}})}};function gf(c,f,p){try{if(!f||f.keys.length<c.length)return null;for(var g=[],x=0,_=0;x<f.keys.length&&_<c.length;++x)ot(f.keys[x],c[_])===0&&(g.push(p?Q(f.values[x]):f.values[x]),++_);return g.length===c.length?g:null}catch{return null}}var dS={stack:"dbcore",level:-1,create:function(c){return{table:function(f){var p=c.table(f);return r(r({},p),{getMany:function(g){var x;return g.cache?(x=gf(g.keys,g.trans._cache,g.cache==="clone"))?H.resolve(x):p.getMany(g).then(function(_){return g.trans._cache={keys:g.keys,values:g.cache==="clone"?Q(_):_},_}):p.getMany(g)},mutate:function(g){return g.type!=="add"&&(g.trans._cache=null),p.mutate(g)}})}}}};function yf(c,f){return c.trans.mode==="readonly"&&!!c.subscr&&!c.trans.explicit&&c.trans.db._options.cache!=="disabled"&&!f.schema.primaryKey.outbound}function bf(c,f){switch(c){case"query":return f.values&&!f.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var fS={stack:"dbcore",level:0,name:"Observability",create:function(c){var f=c.schema.name,p=new kn(c.MIN_KEY,c.MAX_KEY);return r(r({},c),{transaction:function(g,x,_){if($e.subscr&&x!=="readonly")throw new le.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat($e.querier));return c.transaction(g,x,_)},table:function(g){function x(V){var K,V=V.query;return[K=V.index,new kn((K=(V=V.range).lower)!=null?K:c.MIN_KEY,(K=V.upper)!=null?K:c.MAX_KEY)]}var _=c.table(g),M=_.schema,R=M.primaryKey,W=M.indexes,ee=R.extractKey,Y=R.outbound,z=R.autoIncrement&&W.filter(function(X){return X.compound&&X.keyPath.includes(R.keyPath)}),U=r(r({},_),{mutate:function(X){function K(ve){return ve="idb://".concat(f,"/").concat(g,"/").concat(ve),be[ve]||(be[ve]=new kn)}var V,se,te,ce=X.trans,be=X.mutatedParts||(X.mutatedParts={}),xe=K(""),Pe=K(":dels"),we=X.type,ke=X.type==="deleteRange"?[X.range]:X.type==="delete"?[X.keys]:X.values.length<50?[cc(R,X).filter(function(ve){return ve}),X.values]:[],Ne=ke[0],ke=ke[1],Be=X.trans._cache;return l(Ne)?(xe.addKeys(Ne),(we=we==="delete"||Ne.length===ke.length?gf(Ne,Be):null)||Pe.addKeys(Ne),(we||ke)&&(V=K,se=we,te=ke,M.indexes.forEach(function(ve){var tt=V(ve.name||"");function nt(yt){return yt!=null?ve.extractKey(yt):null}function at(yt){ve.multiEntry&&l(yt)?yt.forEach(function(Bn){return tt.addKey(Bn)}):tt.addKey(yt)}(se||te).forEach(function(yt,Cn){var it=se&&nt(se[Cn]),Cn=te&&nt(te[Cn]);ot(it,Cn)!==0&&(it!=null&&at(it),Cn!=null)&&at(Cn)})}))):Ne?(ke={from:(Be=Ne.lower)!=null?Be:c.MIN_KEY,to:(we=Ne.upper)!=null?we:c.MAX_KEY},Pe.add(ke),xe.add(ke)):(xe.add(p),Pe.add(p),M.indexes.forEach(function(ve){return K(ve.name).add(p)})),_.mutate(X).then(function(ve){return!Ne||X.type!=="add"&&X.type!=="put"||(xe.addKeys(ve.results),z&&z.forEach(function(tt){for(var nt=X.values.map(function(it){return tt.extractKey(it)}),at=tt.keyPath.findIndex(function(it){return it===R.keyPath}),yt=0,Bn=ve.results.length;yt<Bn;++yt)nt[yt][at]=ve.results[yt];K(tt.name).addKeys(nt)})),ce.mutatedParts=ha(ce.mutatedParts||{},be),ve})}}),J={get:function(X){return[R,new kn(X.key)]},getMany:function(X){return[R,new kn().addKeys(X.keys)]},count:x,query:x,openCursor:x};return i(J).forEach(function(X){U[X]=function(K){var V=$e.subscr,se=!!V,te=yf($e,_)&&bf(X,K)?K.obsSet={}:V;if(se){var ce,V=function(ke){return ke="idb://".concat(f,"/").concat(g,"/").concat(ke),te[ke]||(te[ke]=new kn)},be=V(""),xe=V(":dels"),se=J[X](K),Pe=se[0],se=se[1];if((X==="query"&&Pe.isPrimaryKey&&!K.values?xe:V(Pe.name||"")).add(se),!Pe.isPrimaryKey){if(X!=="count")return ce=X==="query"&&Y&&K.values&&_.query(r(r({},K),{values:!1})),_[X].apply(this,arguments).then(function(ke){if(X==="query"){if(Y&&K.values)return ce.then(function(nt){return nt=nt.result,be.addKeys(nt),ke});var Be=K.values?ke.result.map(ee):ke.result;(K.values?be:xe).addKeys(Be)}else{var ve,tt;if(X==="openCursor")return tt=K.values,(ve=ke)&&Object.create(ve,{key:{get:function(){return xe.addKey(ve.primaryKey),ve.key}},primaryKey:{get:function(){var nt=ve.primaryKey;return xe.addKey(nt),nt}},value:{get:function(){return tt&&be.addKey(ve.primaryKey),ve.value}}})}return ke});xe.add(p)}}return _[X].apply(this,arguments)}}),U}})}};function vf(c,f,p){var g;return p.numFailures===0?f:f.type==="deleteRange"||(g=f.keys?f.keys.length:"values"in f&&f.values?f.values.length:1,p.numFailures===g)?null:(g=r({},f),l(g.keys)&&(g.keys=g.keys.filter(function(x,_){return!(_ in p.failures)})),"values"in g&&l(g.values)&&(g.values=g.values.filter(function(x,_){return!(_ in p.failures)})),g)}function uc(c,f){return p=c,((g=f).lower===void 0||(g.lowerOpen?0<ot(p,g.lower):0<=ot(p,g.lower)))&&(p=c,(g=f).upper===void 0||(g.upperOpen?ot(p,g.upper)<0:ot(p,g.upper)<=0));var p,g}function Sf(c,f,p,g,x,_){var M,R,W,ee,Y,z,U;return!p||p.length===0||(M=f.query.index,R=M.multiEntry,W=f.query.range,ee=g.schema.primaryKey.extractKey,Y=M.extractKey,z=(M.lowLevelIndex||M).extractKey,(g=p.reduce(function(J,X){var K=J,V=[];if(X.type==="add"||X.type==="put")for(var se=new kn,te=X.values.length-1;0<=te;--te){var ce,be=X.values[te],xe=ee(be);!se.hasKey(xe)&&(ce=Y(be),R&&l(ce)?ce.some(function(Be){return uc(Be,W)}):uc(ce,W))&&(se.addKey(xe),V.push(be))}switch(X.type){case"add":var Pe=new kn().addKeys(f.values?J.map(function(ve){return ee(ve)}):J),K=J.concat(f.values?V.filter(function(ve){return ve=ee(ve),!Pe.hasKey(ve)&&(Pe.addKey(ve),!0)}):V.map(function(ve){return ee(ve)}).filter(function(ve){return!Pe.hasKey(ve)&&(Pe.addKey(ve),!0)}));break;case"put":var we=new kn().addKeys(X.values.map(function(ve){return ee(ve)}));K=J.filter(function(ve){return!we.hasKey(f.values?ee(ve):ve)}).concat(f.values?V:V.map(function(ve){return ee(ve)}));break;case"delete":var Ne=new kn().addKeys(X.keys);K=J.filter(function(ve){return!Ne.hasKey(f.values?ee(ve):ve)});break;case"deleteRange":var ke=X.range;K=J.filter(function(ve){return!uc(ee(ve),ke)})}return K},c))===c)?c:(U=function(J,X){return ot(z(J),z(X))||ot(ee(J),ee(X))},g.sort(f.direction==="prev"||f.direction==="prevunique"?function(J,X){return U(X,J)}:U),f.limit&&f.limit<1/0&&(g.length>f.limit?g.length=f.limit:c.length===f.limit&&g.length<f.limit&&(x.dirty=!0)),_?Object.freeze(g):g)}function xf(c,f){return ot(c.lower,f.lower)===0&&ot(c.upper,f.upper)===0&&!!c.lowerOpen==!!f.lowerOpen&&!!c.upperOpen==!!f.upperOpen}function hS(c,f){return((p,g,x,_)=>{if(p===void 0)return g!==void 0?-1:0;if(g===void 0)return 1;if((p=ot(p,g))===0){if(x&&_)return 0;if(x)return 1;if(_)return-1}return p})(c.lower,f.lower,c.lowerOpen,f.lowerOpen)<=0&&0<=((p,g,x,_)=>{if(p===void 0)return g!==void 0?1:0;if(g===void 0)return-1;if((p=ot(p,g))===0){if(x&&_)return 0;if(x)return-1;if(_)return 1}return p})(c.upper,f.upper,c.upperOpen,f.upperOpen)}function pS(c,f,p,g){c.subscribers.add(p),g.addEventListener("abort",function(){var x,_;c.subscribers.delete(p),c.subscribers.size===0&&(x=c,_=f,setTimeout(function(){x.subscribers.size===0&&oe(_,x)},3e3))})}var mS={stack:"dbcore",level:0,name:"Cache",create:function(c){var f=c.schema.name;return r(r({},c),{transaction:function(p,g,x){var _,M,R=c.transaction(p,g,x);return g==="readwrite"&&(x=(_=new AbortController).signal,R.addEventListener("abort",(M=function(W){return function(){if(_.abort(),g==="readwrite"){for(var ee=new Set,Y=0,z=p;Y<z.length;Y++){var U=z[Y],J=Vr["idb://".concat(f,"/").concat(U)];if(J){var X=c.table(U),K=J.optimisticOps.filter(function(ve){return ve.trans===R});if(R._explicit&&W&&R.mutatedParts)for(var V=0,se=Object.values(J.queries.query);V<se.length;V++)for(var te=0,ce=(Pe=se[V]).slice();te<ce.length;te++)rc((we=ce[te]).obsSet,R.mutatedParts)&&(oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)}));else if(0<K.length){J.optimisticOps=J.optimisticOps.filter(function(ve){return ve.trans!==R});for(var be=0,xe=Object.values(J.queries.query);be<xe.length;be++)for(var Pe,we,Ne,ke=0,Be=(Pe=xe[be]).slice();ke<Be.length;ke++)(we=Be[ke]).res!=null&&R.mutatedParts&&(W&&!we.dirty?(Ne=Object.isFrozen(we.res),Ne=Sf(we.res,we.req,K,X,we,Ne),we.dirty?(oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)})):Ne!==we.res&&(we.res=Ne,we.promise=H.resolve({result:Ne}))):(we.dirty&&oe(Pe,we),we.subscribers.forEach(function(ve){return ee.add(ve)})))}}}ee.forEach(function(ve){return ve()})}}})(!1),{signal:x}),R.addEventListener("error",M(!1),{signal:x}),R.addEventListener("complete",M(!0),{signal:x})),R},table:function(p){var g=c.table(p),x=g.schema.primaryKey;return r(r({},g),{mutate:function(_){var M,R=$e.trans;return!x.outbound&&R.db._options.cache!=="disabled"&&!R.explicit&&R.idbtrans.mode==="readwrite"&&(M=Vr["idb://".concat(f,"/").concat(p)])?(R=g.mutate(_),_.type!=="add"&&_.type!=="put"||!(50<=_.values.length||cc(x,_).some(function(W){return W==null}))?(M.optimisticOps.push(_),_.mutatedParts&&pa(_.mutatedParts),R.then(function(W){0<W.numFailures&&(oe(M.optimisticOps,_),(W=vf(0,_,W))&&M.optimisticOps.push(W),_.mutatedParts)&&pa(_.mutatedParts)}),R.catch(function(){oe(M.optimisticOps,_),_.mutatedParts&&pa(_.mutatedParts)})):R.then(function(W){var ee=vf(0,r(r({},_),{values:_.values.map(function(Y,z){var U;return W.failures[z]?Y:(O(U=(U=x.keyPath)!=null&&U.includes(".")?Q(Y):r({},Y),x.keyPath,W.results[z]),U)})}),W);M.optimisticOps.push(ee),queueMicrotask(function(){return _.mutatedParts&&pa(_.mutatedParts)})}),R):g.mutate(_)},query:function(_){var M,R,W,ee,Y,z,U;return yf($e,g)&&bf("query",_)?(M=((W=$e.trans)==null?void 0:W.db._options.cache)==="immutable",R=(W=$e).requery,W=W.signal,z=((J,X,K,V)=>{var se=Vr["idb://".concat(J,"/").concat(X)];if(!se)return[];if(!(J=se.queries[K]))return[null,!1,se,null];var te=J[(V.query?V.query.index.name:null)||""];if(!te)return[null,!1,se,null];switch(K){case"query":var ce=(be=V.direction)!=null?be:"next",be=te.find(function(xe){var Pe;return xe.req.limit===V.limit&&xe.req.values===V.values&&((Pe=xe.req.direction)!=null?Pe:"next")===ce&&xf(xe.req.query.range,V.query.range)});return be?[be,!0,se,te]:[te.find(function(xe){var Pe;return("limit"in xe.req?xe.req.limit:1/0)>=V.limit&&((Pe=xe.req.direction)!=null?Pe:"next")===ce&&(!V.values||xe.req.values)&&hS(xe.req.query.range,V.query.range)}),!1,se,te];case"count":return be=te.find(function(xe){return xf(xe.req.query.range,V.query.range)}),[be,!!be,se,te]}})(f,p,"query",_),U=z[0],ee=z[2],Y=z[3],U&&z[1]?U.obsSet=_.obsSet:(z=g.query(_).then(function(J){var X=J.result;if(U&&(U.res=X),M){for(var K=0,V=X.length;K<V;++K)Object.freeze(X[K]);Object.freeze(X)}else J.result=Q(X);return J}).catch(function(J){return Y&&U&&oe(Y,U),Promise.reject(J)}),U={obsSet:_.obsSet,promise:z,subscribers:new Set,type:"query",req:_,dirty:!1},Y?Y.push(U):(Y=[U],(ee=ee||(Vr["idb://".concat(f,"/").concat(p)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[_.query.index.name||""]=Y)),pS(U,Y,R,W),U.promise.then(function(J){return{result:Sf(J.result,_,ee==null?void 0:ee.optimisticOps,g,U,M)}})):g.query(_)}})}})}};function ga(c,f){return new Proxy(c,{get:function(p,g,x){return g==="db"?f:Reflect.get(p,g,x)}})}en.prototype.version=function(c){if(isNaN(c)||c<.1)throw new le.Type("Given version is not a positive number");if(c=Math.round(10*c)/10,this.idbdb||this._state.isBeingOpened)throw new le.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,c);var f=this._versions,p=f.filter(function(g){return g._cfg.version===c})[0];return p||(p=new this.Version(c),f.push(p),f.sort(sS),p.stores({}),this._state.autoSchema=!1),p},en.prototype._whenReady=function(c){var f=this;return this.idbdb&&(this._state.openComplete||$e.letThrough||this._vip)?c():new H(function(p,g){if(f._state.openComplete)return g(new le.DatabaseClosed(f._state.dbOpenError));if(!f._state.isBeingOpened){if(!f._state.autoOpen)return void g(new le.DatabaseClosed);f.open().catch(Ie)}f._state.dbReadyPromise.then(p,g)}).then(c)},en.prototype.use=function(x){var f=x.stack,p=x.create,g=x.level,x=x.name,_=(x&&this.unuse({stack:f,name:x}),this._middlewares[f]||(this._middlewares[f]=[]));return _.push({stack:f,create:p,level:g??10,name:x}),_.sort(function(M,R){return M.level-R.level}),this},en.prototype.unuse=function(c){var f=c.stack,p=c.name,g=c.create;return f&&this._middlewares[f]&&(this._middlewares[f]=this._middlewares[f].filter(function(x){return g?x.create!==g:!!p&&x.name!==p})),this},en.prototype.open=function(){var c=this;return cr(Vt,function(){return lS(c)})},en.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var c=this._state;if(yo.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}c.isBeingOpened||(c.dbReadyPromise=new H(function(f){c.dbReadyResolve=f}),c.openCanceller=new H(function(f,p){c.cancelOpen=p}))},en.prototype.close=function(f){var f=(f===void 0?{disableAutoOpen:!0}:f).disableAutoOpen,p=this._state;f?(p.isBeingOpened&&p.cancelOpen(new le.DatabaseClosed),this._close(),p.autoOpen=!1,p.dbOpenError=new le.DatabaseClosed):(this._close(),p.autoOpen=this._options.autoOpen||p.isBeingOpened,p.openComplete=!1,p.dbOpenError=null)},en.prototype.delete=function(c){var f=this,p=(c===void 0&&(c={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),g=this._state;return new H(function(x,_){function M(){f.close(c);var R=f._deps.indexedDB.deleteDatabase(f.name);R.onsuccess=De(function(){var W,ee,Y;W=f._deps,ee=f.name,ec(Y=W.indexedDB)||ee===Bt||Zl(Y,W.IDBKeyRange).delete(ee).catch(Ie),x()}),R.onerror=nr(_),R.onblocked=f._fireOnBlocked}if(p)throw new le.InvalidArgument("Invalid closeOptions argument to db.delete()");g.isBeingOpened?g.dbReadyPromise.then(M):M()})},en.prototype.backendDB=function(){return this.idbdb},en.prototype.isOpen=function(){return this.idbdb!==null},en.prototype.hasBeenClosed=function(){var c=this._state.dbOpenError;return c&&c.name==="DatabaseClosed"},en.prototype.hasFailed=function(){return this._state.dbOpenError!==null},en.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(en.prototype,"tables",{get:function(){var c=this;return i(this._allTables).map(function(f){return c._allTables[f]})},enumerable:!1,configurable:!0}),en.prototype.transaction=function(){var c=(function(f,p,g){var x=arguments.length;if(x<2)throw new le.InvalidArgument("Too few arguments");for(var _=new Array(x-1);--x;)_[x-1]=arguments[x];return g=_.pop(),[f,N(_),g]}).apply(this,arguments);return this._transaction.apply(this,c)},en.prototype._transaction=function(c,f,p){var g,x,_=this,M=$e.trans,R=(M&&M.db===this&&c.indexOf("!")===-1||(M=null),c.indexOf("?")!==-1);c=c.replace("!","").replace("?","");try{if(x=f.map(function(ee){if(ee=ee instanceof _.Table?ee.name:ee,typeof ee!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return ee}),c=="r"||c===vt)g=vt;else{if(c!="rw"&&c!=En)throw new le.InvalidArgument("Invalid transaction mode: "+c);g=En}if(M){if(M.mode===vt&&g===En){if(!R)throw new le.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");M=null}M&&x.forEach(function(ee){if(M&&M.storeNames.indexOf(ee)===-1){if(!R)throw new le.SubTransaction("Table "+ee+" not included in parent transaction.");M=null}}),R&&M&&!M.active&&(M=null)}}catch(ee){return M?M._promise(null,function(Y,z){z(ee)}):Ut(ee)}var W=(function ee(Y,z,U,J,X){return H.resolve().then(function(){var te=$e.transless||$e,K=Y._createTransaction(z,U,Y._dbSchema,J),te=(K.explicit=!0,{trans:K,transless:te});if(J)K.idbtrans=J.idbtrans;else try{K.create(),K.idbtrans._explicit=!0,Y._state.PR1398_maxLoop=3}catch(ce){return ce.name===lt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return ee(Y,z,U,null,X)})):Ut(ce)}var V,se=he(X),te=(se&&lr(),H.follow(function(){var ce;(V=X.call(K,K))&&(se?(ce=er.bind(null,null),V.then(ce,ce)):typeof V.next=="function"&&typeof V.throw=="function"&&(V=ac(V)))},te));return(V&&typeof V.then=="function"?H.resolve(V).then(function(ce){return K.active?ce:Ut(new le.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):te.then(function(){return V})).then(function(ce){return J&&K._resolve(),K._completion.then(function(){return ce})}).catch(function(ce){return K._reject(ce),Ut(ce)})})}).bind(null,this,g,x,M,p);return M?M._promise(g,W,"lock"):$e.trans?cr($e.transless,function(){return _._whenReady(W)}):this._whenReady(W)},en.prototype.table=function(c){if(m(this._allTables,c))return this._allTables[c];throw new le.InvalidTable("Table ".concat(c," does not exist"))};var wr=en;function en(c,f){var p,g,x,_,M,R=this,W=(this._middlewares={},this.verno=0,en.dependencies),W=(this._options=f=r({addons:en.addons,autoOpen:!0,indexedDB:W.indexedDB,IDBKeyRange:W.IDBKeyRange,cache:"cloned",maxConnections:1e3},f),this._deps={indexedDB:f.indexedDB,IDBKeyRange:f.IDBKeyRange},f.addons),ee=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Ie,dbReadyPromise:null,cancelOpen:Ie,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:f.autoOpen}),Y=(ee.dbReadyPromise=new H(function(z){ee.dbReadyResolve=z}),ee.openCanceller=new H(function(z,U){ee.cancelOpen=U}),this._state=ee,this.name=c,this.on=uo(this,"populate","blocked","versionchange","close",{ready:[At,Ie]}),this.once=function(z,U){var J=function(){for(var X=[],K=0;K<arguments.length;K++)X[K]=arguments[K];R.on(z).unsubscribe(J),U.apply(R,X)};return R.on(z,J)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(z){return function(U,J){en.vip(function(){var X,K=R._state;K.openComplete?(K.dbOpenError||H.resolve().then(U),J&&z(U)):K.onReadyBeingFired?(K.onReadyBeingFired.push(U),J&&z(U)):(z(U),X=R,J||z(function V(){X.on.ready.unsubscribe(U),X.on.ready.unsubscribe(V)}))})}}),this.Collection=(p=this,fo(Jv.prototype,function(V,K){this.db=p;var J=Dn,X=null;if(K)try{J=K()}catch(te){X=te}var K=V._ctx,V=K.table,se=V.hook.reading.fire;this._ctx={table:V,index:K.index,isPrimKey:!K.index||V.schema.primKey.keyPath&&K.index===V.schema.primKey.name,range:J,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:X,or:K.or,valueMapper:se!==He?se:null}})),this.Table=(g=this,fo(tf.prototype,function(z,U,J){this.db=g,this._tx=J,this.name=z,this.schema=U,this.hook=g._allTables[z]?g._allTables[z].hook:uo(null,{creating:[$t,Ie],reading:[dt,He],updating:[rn,Ie],deleting:[Qt,Ie]})})),this.Transaction=(x=this,fo(eS.prototype,function(z,U,J,X,K){var V=this;z!=="readonly"&&U.forEach(function(se){se=(se=J[se])==null?void 0:se.yProps,se&&(U=U.concat(se.map(function(te){return te.updatesTable})))}),this.db=x,this.mode=z,this.storeNames=U,this.schema=J,this.chromeTransactionDurability=X,this.idbtrans=null,this.on=uo(this,"complete","error","abort"),this.parent=K||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new H(function(se,te){V._resolve=se,V._reject=te}),this._completion.then(function(){V.active=!1,V.on.complete.fire()},function(se){var te=V.active;return V.active=!1,V.on.error.fire(se),V.parent?V.parent._reject(se):te&&V.idbtrans&&V.idbtrans.abort(),Ut(se)})})),this.Version=(_=this,fo(aS.prototype,function(z){this.db=_,this._cfg={version:z,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(M=this,fo(af.prototype,function(z,U,J){if(this.db=M,this._ctx={table:z,index:U===":id"?null:U,or:J},this._cmp=this._ascending=ot,this._descending=function(X,K){return ot(K,X)},this._max=function(X,K){return 0<ot(X,K)?X:K},this._min=function(X,K){return ot(X,K)<0?X:K},this._IDBKeyRange=M._deps.IDBKeyRange,!this._IDBKeyRange)throw new le.MissingAPI})),this.on("versionchange",function(z){0<z.newVersion?console.warn("Another connection wants to upgrade database '".concat(R.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(R.name,"'. Closing db now to resume the delete request.")),R.close({disableAutoOpen:!1})}),this.on("blocked",function(z){!z.newVersion||z.newVersion<z.oldVersion?console.warn("Dexie.delete('".concat(R.name,"') was blocked")):console.warn("Upgrade '".concat(R.name,"' blocked by other connection holding version ").concat(z.oldVersion/10))}),this._maxKey=mo(f.IDBKeyRange),this._createTransaction=function(z,U,J,X){return new R.Transaction(z,U,J,R._options.chromeTransactionDurability,X)},this._fireOnBlocked=function(z){R.on("blocked").fire(z),yo.toArray().filter(function(U){return U.name===R.name&&U!==R&&!U._state.vcFired}).map(function(U){return U.on("versionchange").fire(z)})},this.use(dS),this.use(mS),this.use(fS),this.use(cS),this.use(uS),new Proxy(this,{get:function(z,U,J){var X;return U==="_vip"||(U==="table"?function(K){return ga(R.table(K),Y)}:(X=Reflect.get(z,U,J))instanceof tf?ga(X,Y):U==="tables"?X.map(function(K){return ga(K,Y)}):U==="_createTransaction"?function(){return ga(X.apply(this,arguments),Y)}:X)}}));this.vip=Y,W.forEach(function(z){return z(R)})}var ya,js=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",gS=(dc.prototype.subscribe=function(c,f,p){return this._subscribe(c&&typeof c!="function"?c:{next:c,error:f,complete:p})},dc.prototype[js]=function(){return this},dc);function dc(c){this._subscribe=c}try{ya={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch{ya={indexedDB:null,IDBKeyRange:null}}function wf(c){var f,p=!1,g=new gS(function(x){var _=he(c),M,R=!1,W={},ee={},Y={get closed(){return R},unsubscribe:function(){R||(R=!0,M&&M.abort(),z&&Er.storagemutated.unsubscribe(X))}},z=(x.start&&x.start(Y),!1),U=function(){return Ts(K)};function J(){return rc(ee,W)}var X=function(V){ha(W,V),J()&&U()},K=function(){var V,se,te;!R&&ya.indexedDB&&(W={},V={},M&&M.abort(),M=new AbortController,te=(ce=>{var be=Tt();try{_&&lr();var xe=Zn(c,ce);return xe=_?xe.finally(er):xe}finally{be&&Ke()}})(se={subscr:V,signal:M.signal,requery:U,querier:c,trans:null}),z||(Er(po,X),z=!0),Promise.resolve(te).then(function(ce){p=!0,f=ce,R||se.signal.aborted||(J()||(ee=V,J())?U():(W={},Ts(function(){return!R&&x.next&&x.next(ce)})))},function(ce){p=!1,["DatabaseClosedError","AbortError"].includes(ce==null?void 0:ce.name)||R||Ts(function(){R||x.error&&x.error(ce)})}))};return setTimeout(U,0),Y});return g.hasValue=function(){return p},g.getValue=function(){return f},g}var Gr=wr;function fc(c){var f=jr;try{jr=!0,Er.storagemutated.fire(c),ic(c,!0)}finally{jr=f}}b(Gr,r(r({},fe),{delete:function(c){return new Gr(c,{addons:[]}).delete()},exists:function(c){return new Gr(c,{addons:[]}).open().then(function(f){return f.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(c){try{return f=Gr.dependencies,p=f.indexedDB,f=f.IDBKeyRange,(ec(p)?Promise.resolve(p.databases()).then(function(g){return g.map(function(x){return x.name}).filter(function(x){return x!==Bt})}):Zl(p,f).toCollection().primaryKeys()).then(c)}catch{return Ut(new le.MissingAPI)}var f,p},defineClass:function(){return function(c){u(this,c)}},ignoreTransaction:function(c){return $e.trans?cr($e.transless||Vt,c):c()},vip:tc,async:function(c){return function(){try{var f=ac(c.apply(this,arguments));return f&&typeof f.then=="function"?f:H.resolve(f)}catch(p){return Ut(p)}}},spawn:function(c,f,p){try{var g=ac(c.apply(p,f||[]));return g&&typeof g.then=="function"?g:H.resolve(g)}catch(x){return Ut(x)}},currentTransaction:{get:function(){return $e.trans||null}},waitFor:function(c,f){return c=H.resolve(typeof c=="function"?Gr.ignoreTransaction(c):c).timeout(f||6e4),$e.trans?$e.trans.waitFor(c):c},Promise:H,debug:{get:function(){return Xt},set:function(c){Kt(c)}},derive:S,extend:u,props:b,override:j,Events:uo,on:Er,liveQuery:wf,extendObservabilitySet:ha,getByKeyPath:A,setByKeyPath:O,delByKeyPath:function(c,f){typeof f=="string"?O(c,f,void 0):"length"in f&&[].map.call(f,function(p){O(c,p,void 0)})},shallowClone:D,deepClone:Q,getObjectDiff:lc,cmp:ot,asap:E,minKey:-1/0,addons:[],connections:{get:yo.toArray},errnames:lt,dependencies:ya,cache:Vr,semVer:"4.4.2",version:"4.4.2".split(".").map(function(c){return parseInt(c)}).reduce(function(c,f,p){return c+f/Math.pow(10,2*p)})})),Gr.maxKey=mo(Gr.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Er(po,function(c){jr||(c=new CustomEvent(Yl,{detail:c}),jr=!0,dispatchEvent(c),jr=!1)}),addEventListener(Yl,function(c){c=c.detail,jr||fc(c)}));var Rs,jr=!1,_f=function(){};return typeof BroadcastChannel<"u"&&((_f=function(){(Rs=new BroadcastChannel(Yl)).onmessage=function(c){return c.data&&fc(c.data)}})(),typeof Rs.unref=="function"&&Rs.unref(),Er(po,function(c){jr||Rs.postMessage(c)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(c){if(!wr.disableBfCache&&c.persisted){Xt&&console.debug("Dexie: handling persisted pagehide"),Rs!=null&&Rs.close();for(var f=0,p=yo.toArray();f<p.length;f++)p[f].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(c){!wr.disableBfCache&&c.persisted&&(Xt&&console.debug("Dexie: handling persisted pageshow"),_f(),fc({all:new kn(-1/0,[[]])}))})),H.rejectionMapper=function(c,f){return!c||c instanceof de||c instanceof TypeError||c instanceof SyntaxError||!c.name||!Ae[c.name]?c:(f=new Ae[c.name](f||c.message,c),"stack"in c&&w(f,"stack",{get:function(){return this.inner.stack}}),f)},Kt(Xt),r(wr,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:wr,Entity:xr,PropModification:co,RangeSet:kn,add:function(c){return new co({add:c})},cmp:ot,default:wr,liveQuery:wf,mergeRanges:vo,rangesOverlap:ff,remove:function(c){return new co({remove:c})},replacePrefix:function(c,f){return new co({replacePrefix:[c,f]})}}),{default:wr}),wr})}(Xa)),Xa.exports}var s_=r_();const hu=vs(s_),Vf=Symbol.for("Dexie"),hl=globalThis[Vf]||(globalThis[Vf]=hu);if(hu.semVer!==hl.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${hu.semVer} and ${hl.semVer}`);const{liveQuery:cI,mergeRanges:uI,rangesOverlap:dI,RangeSet:fI,cmp:hI,Entity:pI,PropModification:mI,replacePrefix:gI,add:yI,remove:bI,DexieYProvider:vI}=hl;class o_ extends hl{constructor(){super("LotusStorage");Mt(this,"scrollAnchors");Mt(this,"toolSessionCollapses");Mt(this,"diffCollapses");Mt(this,"inputStates");Mt(this,"modelOptionsCaches");this.version(1).stores({scrollAnchors:"sessionId, ts",toolSessionCollapses:"id, sessionId, updatedAt",diffCollapses:"sessionId, updatedAt",inputStates:"sessionId, updatedAt",modelOptionsCaches:"provider, timestamp"})}}const i_=new o_,cs=class cs{constructor(){Mt(this,"db",i_)}static getInstance(){return cs.instance||(cs.instance=new cs),cs.instance}async saveScrollAnchor(t,n){try{await this.db.scrollAnchors.put({sessionId:t,anchorId:n.anchorId,offsetPx:n.offsetPx,ts:n.ts,indexHint:n.indexHint,createdAt:n.createdAt})}catch(r){console.warn("[StorageManager] IndexedDB save failed, falling back to localStorage",r);try{localStorage.setItem(`chat_scroll_anchor_v2:${t}`,JSON.stringify(n))}catch{}}}async loadScrollAnchor(t){try{const n=await this.db.scrollAnchors.get(t);return n?{v:1,anchorId:n.anchorId,offsetPx:n.offsetPx,ts:n.ts,indexHint:n.indexHint,createdAt:n.createdAt}:null}catch{try{const n=localStorage.getItem(`chat_scroll_anchor_v2:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&r.v===1&&typeof r.anchorId=="string")return r}catch{}return null}}async clearScrollAnchor(t){try{await this.db.scrollAnchors.delete(t)}catch{}try{localStorage.removeItem(`chat_scroll_anchor_v2:${t}`)}catch{}}async saveToolSessionCollapse(t,n,r){try{await this.db.toolSessionCollapses.put({id:`${t}:${n}`,sessionId:t,toolSessionId:n,isExpanded:r.isExpanded,expandedTools:r.expandedTools,updatedAt:Date.now()})}catch(s){console.warn("[StorageManager] saveToolSessionCollapse failed",s);try{localStorage.setItem(`chat-session-tool-collapse:${t}:${n}`,JSON.stringify(r))}catch{}}}async loadToolSessionCollapse(t,n){try{const r=await this.db.toolSessionCollapses.get(`${t}:${n}`);return r?{isExpanded:r.isExpanded,expandedTools:r.expandedTools}:null}catch{try{const r=localStorage.getItem(`chat-session-tool-collapse:${t}:${n}`);if(!r)return null;const s=JSON.parse(r);if(s&&typeof s.isExpanded=="boolean")return s}catch{}return null}}async saveDiffCollapse(t,n){try{await this.db.diffCollapses.put({sessionId:t,isExpanded:n.isExpanded,expandedFiles:n.expandedFiles,updatedAt:Date.now()})}catch(r){console.warn("[StorageManager] saveDiffCollapse failed",r);try{localStorage.setItem(`chat-session-diff-collapse:${t}`,JSON.stringify(n))}catch{}}}async loadDiffCollapse(t){try{const n=await this.db.diffCollapses.get(t);return n?{isExpanded:n.isExpanded,expandedFiles:n.expandedFiles}:null}catch{try{const n=localStorage.getItem(`chat-session-diff-collapse:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&typeof r.isExpanded=="boolean")return r}catch{}return null}}async saveInputReasoning(t,n){try{const r=await this.db.inputStates.get(t);await this.db.inputStates.put({sessionId:t,reasoningEffort:n,content:r==null?void 0:r.content,referenceText:r==null?void 0:r.referenceText,updatedAt:Date.now()})}catch(r){console.warn("[StorageManager] saveInputReasoning failed",r);try{const s=localStorage.getItem("chat_input_reasoning_by_session_v1"),o=s?JSON.parse(s):{};o[t]=n,localStorage.setItem("chat_input_reasoning_by_session_v1",JSON.stringify(o))}catch{}}}async loadInputReasoning(t){try{const n=await this.db.inputStates.get(t);return(n==null?void 0:n.reasoningEffort)??null}catch{try{const n=localStorage.getItem("chat_input_reasoning_by_session_v1");return n?JSON.parse(n)[t]??null:null}catch{return null}}}async saveLastUsedReasoningEffort(t){try{await this.db.inputStates.put({sessionId:"__last_used__",reasoningEffort:t,updatedAt:Date.now()})}catch{try{localStorage.setItem("chat_input_reasoning_last_used_v1",t)}catch{}}}async loadLastUsedReasoningEffort(){try{const t=await this.db.inputStates.get("__last_used__");return(t==null?void 0:t.reasoningEffort)??null}catch{try{return localStorage.getItem("chat_input_reasoning_last_used_v1")}catch{return null}}}async saveModelOptionsCache(t,n,r){try{await this.db.modelOptionsCaches.put({provider:t,options:n,timestamp:r})}catch(s){console.warn("[StorageManager] saveModelOptionsCache failed",s);try{localStorage.setItem(`chat-model-options-cache-v1:${t}`,JSON.stringify({timestamp:r,options:n}))}catch{}}}async loadModelOptionsCache(t){try{const n=await this.db.modelOptionsCaches.get(t);return n?{options:n.options,timestamp:n.timestamp}:null}catch{try{const n=localStorage.getItem(`chat-model-options-cache-v1:${t}`);if(!n)return null;const r=JSON.parse(n);if(r&&Array.isArray(r.options))return{options:r.options,timestamp:r.timestamp}}catch{}return null}}async clearSessionData(t){try{await Promise.all([this.db.scrollAnchors.delete(t),this.db.diffCollapses.delete(t),this.db.toolSessionCollapses.where("sessionId").equals(t).delete(),this.db.inputStates.delete(t)])}catch{}}async cleanupStaleData(t=30){const n=Date.now()-t*24*60*60*1e3;try{await Promise.all([this.db.scrollAnchors.where("ts").below(n).delete(),this.db.toolSessionCollapses.where("updatedAt").below(n).delete(),this.db.diffCollapses.where("updatedAt").below(n).delete(),this.db.inputStates.where("updatedAt").below(n).delete(),this.db.modelOptionsCaches.where("timestamp").below(n).delete()])}catch{}}async getStats(){try{const[t,n,r,s,o]=await Promise.all([this.db.scrollAnchors.count(),this.db.toolSessionCollapses.count(),this.db.diffCollapses.count(),this.db.inputStates.count(),this.db.modelOptionsCaches.count()]);return{scrollAnchors:t,toolSessionCollapses:n,diffCollapses:r,inputStates:s,modelOptionsCaches:o}}catch{return{scrollAnchors:0,toolSessionCollapses:0,diffCollapses:0,inputStates:0,modelOptionsCaches:0}}}};Mt(cs,"instance");let Hn=cs;const Wg="chat_input_reasoning_by_session_v1",Ug="chat_input_reasoning_last_used_v1",Gf={content:"",referenceText:null,attachments:[],reasoningEffort:"medium"},fd=e=>e==="low"||e==="medium"||e==="high"||e==="xhigh"||e==="max",qg=()=>{if(typeof window>"u")return{};try{const e=localStorage.getItem(Wg);if(!e)return{};const t=JSON.parse(e),n={};for(const[r,s]of Object.entries(t||{}))fd(s)&&(n[r]=s);return n}catch{return{}}},a_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Wg,JSON.stringify(e))}catch{}},l_=()=>{if(!(typeof window>"u"))try{const e=localStorage.getItem(Ug);return fd(e)?e:void 0}catch{return}},c_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ug,e)}catch{}},Hg=e=>{const t=qg();return fd(t[e])?t[e]:l_()},_o=e=>({...Gf,reasoningEffort:Hg(e)??Gf.reasoningEffort}),u_=(e,t)=>({inputStates:{},setInputContent:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),content:r}}})),setReferenceText:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),referenceText:r}}})),setAttachments:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||_o(n),attachments:r}}})),setInputReasoningEffort:(n,r)=>{e(i=>({inputStates:{...i.inputStates,[n]:{...i.inputStates[n]||_o(n),reasoningEffort:r}}}));const s=qg();s[n]=r,a_(s),c_(r);const o=Hn.getInstance();o.saveInputReasoning(n,r).catch(()=>{}),o.saveLastUsedReasoningEffort(r).catch(()=>{})},clearInputState:n=>e(r=>{const{[n]:s,...o}=r.inputStates;return{inputStates:o}}),getInputState:n=>t().inputStates[n]||_o(n)}),d_="bamboo_proxy_auth",f_=()=>{try{const e=localStorage.getItem(d_);if(!e)return null;const t=JSON.parse(e);if(!t||typeof t!="object")return null;const n=typeof t.username=="string"?t.username.trim():"",r=typeof t.password=="string"?t.password:"";return n?{username:n,password:r}:null}catch{return null}},Yg={byId:{},runningCount:0},h_=[],In=(e,t)=>t?e.executionBySession[t]??null:null,p_=e=>t=>In(t,e),m_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.phase)??"idle"},Vi=e=>t=>{const n=In(t,e);return Rl(n==null?void 0:n.phase)},Xg=e=>t=>{const n=In(t,e);return n?n.phase==="streaming"?!0:n.phase==="running_tools"&&n.stream.hasTokens:!1},g_=e=>t=>{const n=In(t,e);return n?n.phase==="waiting_user_answer"||n.interaction.pendingQuestion!==null||n.backend.hasPendingQuestion===!0:!1},Kg=e=>t=>{const n=In(t,e);return uw(n==null?void 0:n.phase)},Vg=e=>t=>{const n=In(t,e);return dw(n==null?void 0:n.phase)},pr=e=>t=>{const n=In(t,e);return Rl(n==null?void 0:n.phase)},y_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.stream.activeToolCalls)??h_},ji=e=>t=>{const n=In(t,e);return(n==null?void 0:n.interaction.respondMode)??null},Ni=e=>t=>{const n=In(t,e);return(n==null?void 0:n.children.byId)??Yg.byId},b_=e=>t=>{const n=In(t,e);return(n==null?void 0:n.children)??Yg},zt=e=>t=>{const n=In(t,e);return(n==null?void 0:n.generation)??0},v_=Object.freeze({state:"idle",activeToolCalls:[],runningChildCount:0,hasQuestion:!1,hasError:!1,errorMessage:null,generation:0}),S_=e=>t=>{var r;const n=In(t,e);return n?{state:n.phase,activeToolCalls:n.stream.activeToolCalls,runningChildCount:n.children.runningCount,hasQuestion:n.interaction.pendingQuestion!==null,hasError:n.error!==null,errorMessage:((r=n.error)==null?void 0:r.message)??null,generation:n.generation}:v_},x_=e=>t=>e.map(n=>({sessionId:n??"",entry:In(t,n)})),w_="auto",__="required",k_=1e4,C_=15e3,T_=Jn.getInstance();let Jf=null,ko=null,Qf=null,Co=null;const Zf=new WeakMap,ae=Hr()(Zx(tw((e,t,n)=>({...Bw(e,t),...qw(e,t),...Kw(e,t),...Gw(),...Qw(e,t),...Zw(e),...t_(e,t),...u_(e,t),..._w(e,t),agentAvailability:null,setAgentAvailability:r=>{e({agentAvailability:r})},checkAgentAvailability:async()=>{if(ko)return ko;ko=(async()=>{const r=await T_.healthCheck();return t().agentAvailability!==r&&e({agentAvailability:r}),r})();try{return await ko}finally{ko=null}},startAgentHealthCheck:()=>{Jf||(t().checkAgentAvailability(),Jf=setInterval(()=>{t().checkAgentAvailability()},k_))},refreshSessionsIndex:async()=>{if(Co)return Co;Co=(async()=>{try{await t().refreshChats()}catch(r){console.warn("[AppStore] refreshChats failed:",r)}})();try{return await Co}finally{Co=null}},startSessionsIndexSync:()=>{Qf||(t().refreshSessionsIndex(),Qf=setInterval(()=>{t().refreshSessionsIndex()},C_))}})),{name:"AppStore"})),Gg=e=>{const t=Zf.get(e);if(t)return t;const n=new Map(e.map(r=>[r.id,r]));return Zf.set(e,n),n},ks=e=>t=>e?Gg(t.chats).get(e)??null:null,Jg=e=>e.currentSessionId?Gg(e.chats).get(e.currentSessionId)??null:null,P_=e=>{var t;return((t=Jg(e))==null?void 0:t.messages)??[]},eh=async()=>{const e=f_();if(!e)return!1;try{return await rs.setProxyAuth(e),!0}catch(t){return console.error("Failed to apply stored proxy auth during startup:",t),!1}},M_=async()=>{try{const e=await fu.getState().loadConfig();if((typeof(e==null?void 0:e.proxy_auth_mode)=="string"?e.proxy_auth_mode:w_)!==__)return await eh(),!1;const n=await fu.getState().loadProxyAuthStatus({force:!0});return n!=null&&n.configured||await eh()?!1:(ae.setState(s=>({...s,models:[],selectedModel:void 0,modelsError:"Proxy auth mode is set to required. Please configure proxy username/password and apply it.",isLoadingModels:!1})),!0)}catch(e){return console.error("Failed to evaluate startup proxy auth mode:",e),!1}};let th=!1,Qg=!1,wa=null;const hd=async(e=!1)=>{th&&!e||(th=!0,ae.getState().startAgentHealthCheck(),ae.getState().startSessionsIndexSync(),await Wt.getState().loadProviderConfig(),await ae.getState().loadChats(),Qg=!0)},pd=async()=>{if(Qg)return wa||(wa=(async()=>{try{await M_()||await ae.getState().fetchModels(),await ae.getState().loadSystemPrompts()}catch(e){console.error("[AppStore] Deferred bootstrap failed:",e)}})(),wa)},E_=async(e=!1)=>{await hd(e),pd().catch(t=>{console.error("[AppStore] Deferred bootstrap error:",t)})},SI=Object.freeze(Object.defineProperty({__proto__:null,bootstrapCritical:hd,bootstrapDeferred:pd,initializeStore:E_,selectActiveToolCalls:y_,selectCanCancel:Vg,selectChildren:Ni,selectChildrenSnapshot:b_,selectCurrentChat:Jg,selectCurrentMessages:P_,selectExecutionByPane:x_,selectExecutionPhase:m_,selectExecutionState:p_,selectGeneration:zt,selectIsAwaitingUser:g_,selectIsBusy:Vi,selectIsInputLocked:Kg,selectIsStreaming:Xg,selectRailModel:S_,selectRespondMode:ji,selectSessionById:ks,selectShouldObserve:pr,useAppStore:ae},Symbol.toStringTag,{value:"Module"})),_a={THEME:"copilot_ui_theme_v1",LAYOUT:"copilot_ui_layout_v1"};class j_{getTheme(){try{return localStorage.getItem(_a.THEME)}catch(t){return console.error("Failed to get theme:",t),null}}setTheme(t){try{localStorage.setItem(_a.THEME,t)}catch(n){console.error("Failed to set theme:",n)}}getLayout(){try{return localStorage.getItem(_a.LAYOUT)}catch(t){return console.error("Failed to get layout:",t),null}}setLayout(t){try{localStorage.setItem(_a.LAYOUT,t)}catch(n){console.error("Failed to set layout:",n)}}getStorageStats(){let t=0;for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);if(r&&r.startsWith("copilot_ui_")){const s=localStorage.getItem(r);t+=(r.length+((s==null?void 0:s.length)||0))*2}}return{estimatedSize:`${(t/1024).toFixed(1)} KB`}}}const Zg=new j_,md={collapsed:!1,widthPx:260,collapsedWidthPx:72,minWidthPx:180,maxWidthPx:520},Dr={widthPx:520,minWidthPx:420,maxWidthPx:840},ey={v:2,sidebar:md,inspector:Dr,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:null},splitSizesPx:{}},nh=e=>{const t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return`${e}-${t}`},Kn=e=>e.type==="leaf"?[e.id]:[...Kn(e.children[0]),...Kn(e.children[1])],Bi=e=>e.type==="leaf"?[]:[e.id,...Bi(e.children[0]),...Bi(e.children[1])],R_=(e,t)=>{for(const[n,r]of Object.entries(e))if(r===t)return n;return null},A_=(e,t)=>{const n={},r=new Set;return e.forEach(s=>{const o=t[s]??null;if(!o||r.has(o)){n[s]=null;return}r.add(o),n[s]=o}),n},pu=(e,t,n,r,s)=>e.type==="leaf"?e.id!==t?e:{type:"split",id:r,layout:n,children:[e,{type:"leaf",id:s}]}:{...e,children:[pu(e.children[0],t,n,r,s),pu(e.children[1],t,n,r,s)]},mu=(e,t)=>{if(e.type==="leaf")return e.id===t?{node:null,removed:!0}:{node:e,removed:!1};const n=mu(e.children[0],t);if(n.removed)return n.node?{node:{...e,children:[n.node,e.children[1]]},removed:!0}:{node:e.children[1],removed:!0};const r=mu(e.children[1],t);return r.removed?r.node?{node:{...e,children:[e.children[0],r.node]},removed:!0}:{node:e.children[0],removed:!0}:{node:e,removed:!1}},I_=e=>({v:2,sidebar:e.sidebar,inspector:e.inspector,tree:e.tree,activeLeafId:e.activeLeafId,leafSessionIds:e.leafSessionIds,splitSizesPx:e.splitSizesPx}),O_=e=>{try{Zg.setLayout(JSON.stringify(e))}catch(t){console.warn("[uiLayoutStore] Failed to persist layout:",t)}},dr=e=>{const t=I_(e);return O_(t),t},$_=e=>{var v,w,S,k,P,T,j,C,E,A,O;const t={...md,...e.sidebar||{}},n={...Dr},r=((v=e.view)==null?void 0:v.mode)??"single",s=((w=e.view)==null?void 0:w.twoDirection)??"horizontal",o={...((S=e.panes)==null?void 0:S.sessionIds)||{}},i=((k=e.panes)==null?void 0:k.activePaneId)??"lt",l={};if(r==="single")return{v:2,sidebar:t,inspector:n,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:o.lt??null},splitSizesPx:{}};if(r==="two"){const D="split-root",F=s,N=F==="horizontal"?{type:"split",id:D,layout:F,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"rt"}]}:{type:"split",id:D,layout:F,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},q=F==="horizontal"?((P=e.split)==null?void 0:P.twoHorizontalPx)||((T=e.split)==null?void 0:T.columnsPx)||null:((j=e.split)==null?void 0:j.twoVerticalPx)||((C=e.split)==null?void 0:C.leftRowsPx)||null;q&&(l[D]=q);const I=Kn(N);return{v:2,sidebar:t,inspector:n,tree:N,activeLeafId:I.includes(i)?i:I[0],leafSessionIds:Object.fromEntries(I.map(Q=>[Q,o[Q]??null])),splitSizesPx:l}}const u="split-root",d="split-left",h="split-right",m={type:"split",id:u,layout:"horizontal",children:[{type:"split",id:d,layout:"vertical",children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},{type:"split",id:h,layout:"vertical",children:[{type:"leaf",id:"rt"},{type:"leaf",id:"rb"}]}]};(E=e.split)!=null&&E.columnsPx&&(l[u]=e.split.columnsPx),(A=e.split)!=null&&A.leftRowsPx&&(l[d]=e.split.leftRowsPx),(O=e.split)!=null&&O.rightRowsPx&&(l[h]=e.split.rightRowsPx);const b=Kn(m);return{v:2,sidebar:t,inspector:n,tree:m,activeLeafId:b.includes(i)?i:b[0],leafSessionIds:Object.fromEntries(b.map(D=>[D,o[D]??null])),splitSizesPx:l}},L_=e=>{if(!e)return null;try{const t=JSON.parse(e);if(!t||typeof t!="object")return null;if(t.v===2){const n={...md,...t.sidebar||{}},r=t.inspector||{},s={...Dr,...r},o=Math.max(Dr.minWidthPx,Number.isFinite(s.minWidthPx)?s.minWidthPx:Dr.minWidthPx),i=Math.max(o,Math.max(Dr.maxWidthPx,Number.isFinite(s.maxWidthPx)?s.maxWidthPx:Dr.maxWidthPx)),u={widthPx:Math.max(o,Math.min(i,Number.isFinite(s.widthPx)?s.widthPx:Dr.widthPx)),minWidthPx:o,maxWidthPx:i},d=t.tree||ey.tree,h=Kn(d),m=Bi(d),b={};h.forEach(k=>{var P;b[k]=typeof((P=t.leafSessionIds)==null?void 0:P[k])=="string"?t.leafSessionIds[k]:null});const v={};m.forEach(k=>{var T;const P=(T=t.splitSizesPx)==null?void 0:T[k];Array.isArray(P)&&P.length>=2&&(v[k]=[Number(P[0]),Number(P[1])])});const w=typeof t.activeLeafId=="string"&&h.includes(t.activeLeafId)?t.activeLeafId:h[0],S=A_(h,b);return{v:2,sidebar:n,inspector:u,tree:d,activeLeafId:w,leafSessionIds:S,splitSizesPx:v}}return t.v===1?$_(t):null}catch{return null}},F_=()=>L_(Zg.getLayout())??ey,gt=Hr(e=>({...F_(),setSidebarCollapsed:t=>{e(n=>n.sidebar.collapsed===t?n:dr({sidebar:{...n.sidebar,collapsed:t},inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx}))},setSidebarWidthPx:t=>{e(n=>{const r=Math.max(n.sidebar.minWidthPx,Math.min(n.sidebar.maxWidthPx,t));return n.sidebar.widthPx===r?n:dr({sidebar:{...n.sidebar,widthPx:r},inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})})},setInspectorWidthPx:t=>{e(n=>{const r=Math.max(n.inspector.minWidthPx,Math.min(n.inspector.maxWidthPx,t));return n.inspector.widthPx===r?n:dr({sidebar:n.sidebar,inspector:{...n.inspector,widthPx:r},tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})})},setActiveLeafId:t=>{e(n=>n.activeLeafId===t||!Kn(n.tree).includes(t)?n:(Xn("setActiveLeafId",{from:n.activeLeafId,to:t}),dr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:t,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})))},setLeafSessionId:(t,n)=>{e(r=>{const s=Kn(r.tree);if(!s.includes(t)||(r.leafSessionIds[t]??null)===n)return r;const o=[];Xn("setLeafSessionId",{leafId:t,fromSessionId:r.leafSessionIds[t]??null,toSessionId:n,mode:"unique_session_per_leaf"});const i={...r.leafSessionIds,[t]:n};if(n)for(const l of s)l!==t&&i[l]===n&&(i[l]=null,o.push(l));return o.length>0&&Xn("setLeafSessionId dedupe",{sessionId:n,clearedLeafIds:o,assignedLeafId:t}),s.forEach(l=>{l in i||(i[l]=null)}),dr({sidebar:r.sidebar,inspector:r.inspector,tree:r.tree,activeLeafId:r.activeLeafId,leafSessionIds:i,splitSizesPx:r.splitSizesPx})})},clearSessionFromAllLeaves:t=>{e(n=>{const r={...n.leafSessionIds};let s=!1;for(const[o,i]of Object.entries(r))i===t&&(r[o]=null,s=!0);return s?dr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:n.activeLeafId,leafSessionIds:r,splitSizesPx:n.splitSizesPx}):n})},splitLeaf:(t,n)=>{e(r=>{const s=Kn(r.tree);if(!s.includes(t)||s.length>=4)return r;const o=nh("split"),i=nh("pane"),l=pu(r.tree,t,n,o,i),u={...r.leafSessionIds,[i]:null};return dr({sidebar:r.sidebar,inspector:r.inspector,tree:l,activeLeafId:i,leafSessionIds:u,splitSizesPx:r.splitSizesPx})})},closeLeaf:t=>{e(n=>{const r=Kn(n.tree);if(!r.includes(t)||r.length<=1)return n;const s=mu(n.tree,t);if(!s.removed||!s.node)return n;const o=s.node,i=Kn(o),l=Bi(o),u={};i.forEach(m=>{u[m]=n.leafSessionIds[m]??null});const d={};l.forEach(m=>{const b=n.splitSizesPx[m];b&&(d[m]=b)});const h=n.activeLeafId===t?i[0]:i.includes(n.activeLeafId)?n.activeLeafId:i[0];return dr({sidebar:n.sidebar,inspector:n.inspector,tree:o,activeLeafId:h,leafSessionIds:u,splitSizesPx:d})})},setSplitSizesPx:(t,n)=>{e(r=>{const s=r.splitSizesPx[t];return s&&s[0]===n[0]&&s[1]===n[1]?r:dr({sidebar:r.sidebar,inspector:r.inspector,tree:r.tree,activeLeafId:r.activeLeafId,leafSessionIds:r.leafSessionIds,splitSizesPx:{...r.splitSizesPx,[t]:n}})})},pruneSplitSizes:()=>{e(t=>{const n=new Set(Bi(t.tree)),r={};for(const[i,l]of Object.entries(t.splitSizesPx))n.has(i)&&(r[i]=l);const s=Object.keys(t.splitSizesPx),o=Object.keys(r);return s.length===o.length&&s.every(i=>i in r)?t:dr({sidebar:t.sidebar,inspector:t.inspector,tree:t.tree,activeLeafId:t.activeLeafId,leafSessionIds:t.leafSessionIds,splitSizesPx:r})})}})),D_=async(e,t)=>{var i;const n=ae.getState(),r=!n.chats.some(l=>l.id===e);if(t!=null&&t.forceRefreshIndex||r)try{await n.refreshChats()}catch(l){console.warn("[openSession] refreshChats failed:",l)}const s=ae.getState().chats.find(l=>l.id===e);if(!s)return;if(t!=null&&t.forceLoadHistory||r||(((i=s.messages)==null?void 0:i.length)||0)===0&&(s.messageCount||0)>0)try{await n.loadChatHistory(e)}catch(l){console.warn("[openSession] loadChatHistory failed:",l)}if(t!=null&&t.forceSubscribe){n.markForceSubscribe(e);return}((t==null?void 0:t.subscribeIfRunning)??!0)&&s.isRunning&&n.markForceSubscribe(e)},N_=(e,t)=>{const{activeLeafId:n,leafSessionIds:r,setLeafSessionId:s,setActiveLeafId:o}=gt.getState(),i=R_(r,e),l=r[n]??null;Xn("openSession (input)",{activeLeafId:n,activeLeafSessionId:l,sessionId:e,existingLeafId:i}),i?i===n?Xn("openSession (decision)",{action:"noop_already_active",leafId:n,sessionId:e}):(o(i),Xn("openSession (decision)",{action:"focus_existing_leaf",leafId:i,sessionId:e})):(s(n,e),Xn("openSession (decision)",{action:"assign_to_active_leaf",leafId:n,sessionId:e})),ae.getState().selectSession(e),D_(e,t)},ty=e=>e==="child"?"child":"root",B_=e=>({id:e.id,title:e.title,kind:ty(e.kind),pinned:!!e.pinned,parentSessionId:e.parentSessionId||null,rootSessionId:e.rootSessionId||null,createdByScheduleId:e.createdByScheduleId||null,updatedAt:e.updatedAt||null,lastRunStatus:e.lastRunStatus||null,lastRunError:e.lastRunError||null,createdAt:e.createdAt,config:{systemPromptId:e.config.systemPromptId,workspacePath:e.config.workspacePath||null}}),z_=(e,t)=>e.id===t.id&&e.title===t.title&&e.kind===ty(t.kind)&&e.pinned===!!t.pinned&&e.parentSessionId===(t.parentSessionId||null)&&e.rootSessionId===(t.rootSessionId||null)&&e.createdByScheduleId===(t.createdByScheduleId||null)&&e.updatedAt===(t.updatedAt||null)&&e.lastRunStatus===(t.lastRunStatus||null)&&e.lastRunError===(t.lastRunError||null)&&e.createdAt===t.createdAt&&e.config.systemPromptId===t.config.systemPromptId&&e.config.workspacePath===(t.config.workspacePath||null),W_=(()=>{let e=null,t=[],n=new Map;return r=>{if(r===e)return t;const s=r.map(i=>{const l=n.get(i.id);return l&&z_(l,i)?l:B_(i)}),o=s.length===t.length&&s.every((i,l)=>i===t[l]);return e=r,n=new Map(s.map(i=>[i.id,i])),o?t:(t=s,s)}})(),U_=e=>[e.title,e.id,e.kind||"root",e.config.workspacePath||"",e.config.systemPromptId||"",e.updatedAt||"",e.createdByScheduleId||"",e.lastRunStatus||"",e.lastRunError||""].join(" ").toLowerCase(),q_=e=>e.messages.filter(t=>t.role==="user"&&"content"in t).slice(0,3).map(t=>"content"in t?t.content:"").join(" ").toLowerCase(),xc=(e,t)=>{if(!t)return!0;const n=t.split(/\s+/).filter(Boolean),r=U_(e);if(n.every(l=>r.includes(l)))return!0;const s=ae.getState().chats.find(l=>l.id===e.id);if(!s)return!1;const o=q_(s),i=`${r} ${o}`;return n.every(l=>i.includes(l))},wc=(e,t,n)=>{switch(t){case"pinned":return!!e.pinned;case"running":return n(e.id);case"child":return e.kind==="child";case"all":default:return!0}},H_=()=>{const{t:e}=Ge(),{message:t}=Fn.useApp(),{chats:n,currentSessionId:r,deleteSession:s,deleteSessions:o,pinSession:i,unpinSession:l,updateSession:u,addChat:d,refreshChats:h,lastSelectedPromptId:m,systemPrompts:b}=ae(Mi(ye=>({chats:W_(ye.chats),currentSessionId:ye.currentSessionId,deleteSession:ye.deleteSession,deleteSessions:ye.deleteSessions,pinSession:ye.pinSession,unpinSession:ye.unpinSession,updateSession:ye.updateSession,addChat:ye.addChat,refreshChats:ye.refreshChats,lastSelectedPromptId:ye.lastSelectedPromptId,systemPrompts:ye.systemPrompts}))),v=y.useCallback(ye=>Vi(ye)(ae.getState()),[]),{sidebarCollapsed:w,setSidebarCollapsed:S,clearSessionFromAllLeaves:k}=gt(Mi(ye=>({sidebarCollapsed:ye.sidebar.collapsed,setSidebarCollapsed:ye.setSidebarCollapsed,clearSessionFromAllLeaves:ye.clearSessionFromAllLeaves}))),P=y.useCallback(async(ye,We)=>{var $e,fn;const Te=b.find(B=>B.id===m),qe=(Te==null?void 0:Te.id)||(b.length>0?(($e=b.find(B=>B.id==="general_assistant"))==null?void 0:$e.id)||b[0].id:""),Lt={title:ye||e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:qe,baseSystemPrompt:(Te==null?void 0:Te.content)||(b.length>0?((fn=b.find(B=>B.id==="general_assistant"))==null?void 0:fn.content)||b[0].content:""),lastUsedEnhancedPrompt:null},...We},$n=await d(Lt),{activeLeafId:Vt}=gt.getState();gt.getState().setLeafSessionId(Vt,$n),gt.getState().setActiveLeafId(Vt)},[d,m,b,e]),[T,j]=y.useState(!1),[C,E]=y.useState(new Set(["Today"])),[A,O]=y.useState(""),[D,F]=y.useState("all"),[N,q]=y.useState({}),I=ae(Mi(ye=>{const We=ye.currentSessionId;if(!We)return null;const Te=ye.chats.find(qe=>qe.id===We);return Te?{id:Te.id,kind:Te.kind,parentSessionId:Te.parentSessionId||null,rootSessionId:Te.rootSessionId||null,pinned:!!Te.pinned,createdAt:Te.createdAt,createdByScheduleId:Te.createdByScheduleId||null}:null})),Q=y.useMemo(()=>I?I.pinned?"Pinned":I.createdByScheduleId?"Scheduled":new Date(I.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):null,[I]),G=y.useMemo(()=>{const ye=new Set(C);return Q&&ye.add(Q),Array.from(ye)},[Q,C]),Z=ye=>{const We=new Set(Array.isArray(ye)?ye:[ye]);E(Te=>{if(Te.size!==We.size)return We;for(const qe of We)if(!Te.has(qe))return We;return Te})},pe=A.trim().toLowerCase(),$=pe.length>0||D!=="all",oe=y.useMemo(()=>[],[]),me=y.useMemo(()=>({}),[]),ne=y.useMemo(()=>({}),[]),he=y.useMemo(()=>[],[]),fe=y.useMemo(()=>new Set,[]),ue=y.useMemo(()=>w?oe:n.filter(ye=>ye.kind!=="child"),[n,w,oe]),de=y.useMemo(()=>{if(w)return me;const ye={};for(const We of n){if(We.kind!=="child")continue;const Te=We.parentSessionId||We.rootSessionId;Te&&(ye[Te]||(ye[Te]=[]),ye[Te].push(We))}return Object.keys(ye).forEach(We=>{ye[We].sort((Te,qe)=>{if(Te.pinned!==qe.pinned)return Te.pinned?-1:1;const Lt=Date.parse(Te.updatedAt||"")||Te.createdAt||0;return(Date.parse(qe.updatedAt||"")||qe.createdAt||0)-Lt})}),ye},[n,w,me]),Ce=y.useMemo(()=>$?ue.filter(ye=>xc(ye,pe)&&wc(ye,D,v)?!0:(de[ye.id]||[]).some(qe=>xc(qe,pe)&&wc(qe,D,v))):ue,[de,$,v,pe,ue,D]),ze=y.useMemo(()=>{if(!$)return de;const ye={};for(const We of Ce){const Te=de[We.id]||[];ye[We.id]=Te.filter(qe=>xc(qe,pe)&&wc(qe,D,v))}return ye},[de,Ce,$,v,pe,D]),Le=y.useMemo(()=>w?ne:yx(Ce),[Ce,w,ne]),lt=y.useMemo(()=>w?he:bx(Le),[Le,w,he]),L=y.useCallback(ye=>{i(ye),E(We=>{if(We.has("Pinned"))return We;const Te=new Set(We);return Te.add("Pinned"),Te})},[i]),le=y.useCallback(ye=>{const We=n.find(qe=>qe.id===ye),Te=We?Sx({...We}):null;l(ye),Te&&E(qe=>{if(qe.has(Te))return qe;const Lt=new Set(qe);return Lt.add(Te),Lt})},[n,l]),Ae=ye=>{Ha.confirm({title:e("chat.sidebar.delete.title"),content:e("chat.sidebar.delete.confirm"),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{k(ye),s(ye)}})},Ie=Ei(ye=>ye.open),He=()=>{Ie("chat")},dt=y.useCallback(ye=>{O(ye)},[]),pt=y.useCallback(ye=>{F(ye)},[]),$t=(ye,We)=>{u(ye,{title:We})},Qt=y.useCallback(async ye=>{try{await Jn.getInstance().regenerateSessionTitle(ye)}catch(We){console.error("Failed to regenerate session title:",We)}},[]),rn=y.useCallback(async ye=>{var Te;if(((Te=N[ye])==null?void 0:Te.status)==="loading")return;q(qe=>({...qe,[ye]:{status:"loading"}}));const We=t.loading(e("chat.actions.runProjectDreamRunning"),0);try{const qe=await Jn.getInstance().runProjectDream(ye);We(),qe.dream_generated?t.success(e("chat.actions.runProjectDreamSuccess")):t.info(qe.message||e("chat.actions.runProjectDreamNoChange"));try{await h()}catch(Lt){console.warn("Failed to refresh chats after project dream run:",Lt)}}catch(qe){We();const Lt=qe instanceof Error&&qe.message?qe.message:e("chat.actions.runProjectDreamFailed");t.error(Lt),console.error("Failed to run project dream:",qe)}finally{q(qe=>({...qe,[ye]:{status:"idle"}}))}},[t,N,h,e]),_n=ye=>{const We=vx(Le,ye),Te=_g(Le,ye);Ha.confirm({title:e("chat.sidebar.deleteByDate.title",{date:ye}),content:e("chat.sidebar.deleteByDate.confirm",{count:Te,date:ye}),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{We.forEach(qe=>k(qe)),o(We)}})},At=()=>{j(!0)},Xt=()=>{j(!1)},Kt=async ye=>{try{await P(e("chat.sidebar.newSessionWithPrompt",{prompt:ye.name}),{config:{systemPromptId:ye.id,baseSystemPrompt:ye.content,lastUsedEnhancedPrompt:null}}),j(!1)}catch(We){console.error("Failed to create chat:",We),Ha.error({title:e("chat.sidebar.createFailedTitle"),content:We instanceof Error?We.message:e("chat.sidebar.createFailedUnknown")})}},gn=y.useCallback(ye=>N_(ye),[]),[On,Mn]=y.useState(new Set),It=y.useMemo(()=>{if(w)return fe;const ye=new Set;for(const We of Object.values(de))for(const Te of We)if(Te.pinned){const qe=Te.parentSessionId||Te.rootSessionId;qe&&ye.add(qe)}return ye},[de,w,fe]),_t=y.useMemo(()=>{var We;if(w)return fe;const ye=new Set(On);if((I==null?void 0:I.kind)==="child"){const Te=I.parentSessionId||I.rootSessionId;Te&&ye.add(Te)}for(const Te of It)ye.add(Te);if($)for(const Te of Ce)(((We=ze[Te.id])==null?void 0:We.length)??0)>0&&ye.add(Te.id);return ye},[ze,On,Ce,$,It,I,w,fe]),bt=y.useCallback(ye=>{Mn(We=>{const Te=new Set(We);return Te.has(ye)?Te.delete(ye):Te.add(ye),Te})},[]);return{chats:Ce,childrenByRoot:ze,expandedRootIds:_t,toggleRootExpanded:bt,collapsed:w,currentSessionId:r,expandedKeys:G,groupedChatsByDate:Le,hasActiveFilters:$,handleCollapseChange:Z,handleDelete:Ae,handleDeleteByDate:_n,handleEditTitle:$t,handleGenerateTitle:Qt,handleNewChat:At,handleNewChatSelectorClose:Xt,handleOpenSettings:He,handleRunProjectDream:rn,handleSearchQueryChange:dt,handleStatusFilterChange:pt,handleSystemPromptSelect:Kt,isNewChatSelectorOpen:T,pinSession:L,projectDreamState:N,searchQuery:A,selectSession:gn,setCollapsed:S,sortedDateKeys:lt,statusFilter:D,systemPrompts:b,titleGenerationState:{},unpinSession:le}},Y_=y.lazy(()=>Jt(()=>import("./index-D3BCKROz.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)),{useBreakpoint:X_}=Pl,{useToken:K_}=ut,rh=()=>{const{token:e}=K_(),{t}=Ge(),n=X_(),{childrenByRoot:r,expandedRootIds:s,toggleRootExpanded:o,collapsed:i,currentSessionId:l,expandedKeys:u,groupedChatsByDate:d,handleCollapseChange:h,handleDelete:m,handleDeleteByDate:b,handleEditTitle:v,handleGenerateTitle:w,handleNewChat:S,handleNewChatSelectorClose:k,handleOpenSettings:P,handleRunProjectDream:T,handleSearchQueryChange:j,handleStatusFilterChange:C,handleSystemPromptSelect:E,hasActiveFilters:A,isNewChatSelectorOpen:O,pinSession:D,projectDreamState:F,searchQuery:N,selectSession:q,setCollapsed:I,sortedDateKeys:Q,statusFilter:G,systemPrompts:Z,titleGenerationState:pe,unpinSession:$}=H_(),{xs:oe,sm:me}=n;return y.useEffect(()=>{typeof oe!="boolean"||typeof me!="boolean"||oe===!1&&me===!1&&I(!0)},[me,oe,I]),i?null:a.jsxs("nav",{"data-tour-id":"sidebar","aria-label":t("chat.sidebar.title","Chat sidebar"),style:{width:"100%",height:"100%",background:"transparent",borderRight:`1px solid ${e.colorBorderSecondary}`,position:"relative",overflow:"hidden",display:"flex",flexDirection:"column",minHeight:0},children:[a.jsx(Me,{justify:"flex-end",style:{flexShrink:0,padding:"8px 10px 0 10px",minHeight:34},children:a.jsx(je,{type:"text",icon:a.jsx(jS,{}),onClick:()=>I(!0),size:n.xs?"small":"middle",className:"lotus-toolbar-icon","aria-label":t("chat.sidebar.collapse","Collapse sidebar")})}),a.jsxs(Me,{vertical:!0,gap:6,style:{flexShrink:0,padding:"6px 10px 6px 10px"},children:[a.jsx(xs,{allowClear:!0,value:N,onChange:ne=>j(ne.target.value),prefix:a.jsx(ru,{style:{color:e.colorTextTertiary}}),placeholder:t("chat.sidebar.searchPlaceholder","Search sessions"),"aria-label":t("chat.sidebar.searchPlaceholder","Search sessions"),size:"small",style:{borderRadius:e.borderRadiusLG}}),a.jsx(RS,{block:!0,size:n.xs?"middle":"small",value:G,onChange:ne=>C(ne),options:[{label:t("chat.sidebar.filters.all","All"),value:"all"},{label:t("chat.sidebar.filters.pinned","Pinned"),value:"pinned"},{label:t("chat.sidebar.filters.running","Running"),value:"running"},{label:t("chat.sidebar.filters.child","Child"),value:"child"}]})]}),a.jsx(Me,{vertical:!0,role:"list","aria-label":t("chat.sidebar.chatList","Chat list"),style:{flex:1,minHeight:0,overflowY:"auto",padding:"0 10px"},children:a.jsx(xx,{groupedChatsByDate:d,childrenByRoot:r,expandedRootIds:s,onToggleRootExpanded:o,sortedDateKeys:Q,expandedKeys:u,onCollapseChange:h,currentSessionId:l,onSelectChat:q,onDeleteChat:m,onDeleteByDate:b,onPinChat:D,onUnpinChat:$,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:T,titleGenerationState:pe,projectDreamState:F,token:e,hasActiveFilters:A})}),a.jsx(Rx,{collapsed:!1,onNewChat:S,onOpenSettings:P,token:e}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(Y_,{open:O,onClose:k,onSelect:E,prompts:Z,title:t("chat.prompt.newSessionSelectorTitle"),showCancelButton:!0})})]})},{Text:sh,Paragraph:V_}=ft;class zi extends y.Component{constructor(n){super(n);Mt(this,"handleReset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){var o,i;const s=this.props.name??"ErrorBoundary";console.error(`[${s}] Uncaught error:`,n,r),(i=(o=this.props).onError)==null||i.call(o,n,r)}render(){if(!this.state.hasError)return this.props.children;const{fallback:n}=this.props,r=this.state.error;return typeof n=="function"?n(r,this.handleReset):n!==void 0?n:a.jsx(G_,{error:r,onReset:this.handleReset})}}const G_=({error:e,onReset:t})=>{const{token:n}=ut.useToken(),[r,s]=ht.useState(!1),{t:o}=Ge();return a.jsxs("div",{role:"alert",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,padding:n.paddingLG,minHeight:200,textAlign:"center"},children:[a.jsx(dg,{style:{fontSize:36,color:n.colorWarning}}),a.jsx(sh,{strong:!0,style:{fontSize:16},children:o("app.errorBoundary.title")}),a.jsx(sh,{type:"secondary",style:{maxWidth:420},children:o("app.errorBoundary.description")}),a.jsxs("div",{style:{display:"flex",gap:8,marginTop:4},children:[a.jsx(je,{type:"primary",icon:a.jsx(rd,{}),onClick:t,"aria-label":o("app.errorBoundary.tryAgain"),children:o("app.errorBoundary.tryAgain")}),a.jsx(je,{type:"text",size:"small",onClick:()=>s(i=>!i),"aria-expanded":r,"aria-label":o("app.errorBoundary.showDetails"),children:o(r?"app.errorBoundary.hideDetails":"app.errorBoundary.showDetails")})]}),r&&a.jsxs(V_,{code:!0,copyable:!0,style:{maxWidth:560,maxHeight:200,overflow:"auto",fontSize:12,textAlign:"left",marginTop:8,background:n.colorFillTertiary,padding:n.paddingSM,borderRadius:n.borderRadius},children:[e.message,e.stack?`
14
14
 
15
15
  ${e.stack}`:""]})]})},oh={theme:"default",themeVariables:{},fontSize:16,defaultScale:1,useMaxWidth:!0,flowchartNodeSpacing:50,flowchartRankSpacing:50,flowchartCurve:"basis",sequenceActorMargin:50,sequenceMessageMargin:35,sequenceWidth:150,sequenceHeight:65,ganttBarHeight:20,ganttTopPadding:50},gd=Hr()(sw(e=>({settings:oh,updateSettings:t=>e(n=>({settings:{...n.settings,...t}})),resetSettings:()=>e({settings:oh})}),{name:"mermaid-settings"})),yd=()=>gd(t=>t.settings),xI=()=>gd(e=>e.updateSettings),wI=()=>gd(e=>e.resetSettings),J_=()=>{const{token:e}=ut.useToken(),t=yd(),n=y.useRef("");y.useEffect(()=>{const r=Q_(e.colorBgContainer),s=`${r}-${t.theme}-${JSON.stringify(t.themeVariables)}`;if(n.current===s)return;n.current=s;let o=t.theme;(t.theme==="default"||t.theme==="neutral")&&(o=r?"dark":t.theme),td.initialize({startOnLoad:!1,theme:o,securityLevel:"loose",suppressErrorRendering:!0,fontSize:t.fontSize,themeVariables:Object.keys(t.themeVariables).length>0?t.themeVariables:void 0,flowchart:{useMaxWidth:t.useMaxWidth,htmlLabels:!0,curve:t.flowchartCurve,nodeSpacing:t.flowchartNodeSpacing,rankSpacing:t.flowchartRankSpacing},sequence:{useMaxWidth:t.useMaxWidth,diagramMarginX:10,diagramMarginY:10,actorMargin:t.sequenceActorMargin,width:t.sequenceWidth,height:t.sequenceHeight,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:t.sequenceMessageMargin,mirrorActors:!0,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1},gantt:{useMaxWidth:t.useMaxWidth,leftPadding:75,gridLineStartPadding:35,barHeight:t.ganttBarHeight,barGap:4,topPadding:t.ganttTopPadding},journey:{useMaxWidth:t.useMaxWidth,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center"},timeline:{useMaxWidth:t.useMaxWidth,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35},gitGraph:{useMaxWidth:t.useMaxWidth,showBranches:!0,showCommitLabel:!0},c4:{useMaxWidth:t.useMaxWidth,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10},sankey:{useMaxWidth:t.useMaxWidth},xyChart:{useMaxWidth:t.useMaxWidth},block:{useMaxWidth:t.useMaxWidth,padding:8}})},[e,t])};function Q_(e){if(e.startsWith("#")){const n=e.slice(1),r=parseInt(n.substr(0,2),16),s=parseInt(n.substr(2,2),16),o=parseInt(n.substr(4,2),16);return(.299*r+.587*s+.114*o)/255<.5}const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(t){const n=parseInt(t[1]),r=parseInt(t[2]),s=parseInt(t[3]);return(.299*n+.587*r+.114*s)/255<.5}return!1}td.initialize({startOnLoad:!1,theme:"dark",securityLevel:"loose",suppressErrorRendering:!0});td.parseError=function(e){console.warn("Mermaid parse error (handled gracefully):",e)};const ih=new Map,Z_=/^(\s*%%\{[\s\S]*?\}%%\s*)*\s*gantt\b/i,e0=e=>e.replace(/:/g,":").replace(/,/g,",").replace(/;/g,";").replace(/(/g,"(").replace(/)/g,")").replace(/-/g,"-"),t0=e=>(Z_.test(e)?e0(e):e).replace(/\[([\s\S]*?)\]/g,(n,r)=>{const s=String(r),o=/\r?\n/.test(s),i=/[()]/.test(s),l=/@/.test(s);if(!o&&!i&&!l)return n;const u=s.trim(),d=u.startsWith("(")&&u.endsWith(")")&&u.length>=2;let h=s;return o&&(h=h.replace(/\r?\n/g,"<br/>")),i&&!d&&(h=h.replace(/\(/g,"&#40;").replace(/\)/g,"&#41;")),l&&(h=h.replace(/@/g,"&#64;")),h===s?n:`[${h}]`}),n0=200,gr=new Map,Ka=new Map;let _c=null;const r0=e=>{const n=new DOMParser().parseFromString(e,"image/svg+xml");return Array.from(n.querySelectorAll("rect")).reduce((s,o)=>{const i=Number(o.getAttribute("width"));return Number.isFinite(i)&&i<0?s+1:s},0)};async function s0(){_c||(_c=Jt(()=>import("./vendor-mermaid-C1Gk9PtT.js").then(t=>t.cs),__vite__mapDeps([4,3,2]),import.meta.url));const e=await _c;return e.default??e}function o0(e,t){if(gr.has(e)&&gr.delete(e),gr.set(e,t),gr.size>n0){const n=gr.keys().next().value;n&&gr.delete(n)}}function Va(e){const t=gr.get(e);return t?(gr.delete(e),gr.set(e,t),t):null}function ah(){gr.clear(),Ka.clear()}function i0(e,t){const n=Va(e);if(n)return Promise.resolve(n);const r=Ka.get(e);if(r)return r;const s=(async()=>{var T,j;const o=await s0();await o.parse(t);const i=`mermaid-${e}`,l=document.createElement("div"),u=Math.max(1600,window.innerWidth||0,((T=document.documentElement)==null?void 0:T.clientWidth)||0);l.style.cssText=["position:absolute","left:-9999px","top:-9999px",`width:${u}px`,`min-width:${u}px`,"visibility:hidden","pointer-events:none","overflow:visible"].join(";"),document.body.appendChild(l);let d;try{d=await o.render(i,t,l)}finally{document.body.removeChild(l)}const h=typeof d=="object"&&"svg"in d?d.svg:String(d),m=r0(h);if(m>0)throw new Error(`Mermaid rendered invalid SVG (${m} rect widths < 0)`);const w=new DOMParser().parseFromString(h,"image/svg+xml").querySelector("svg");let S=800,k=300;if(w){const C=w.getAttribute("viewBox");if(C){const E=C.split(/\s+/).map(Number);E.length===4&&(S=E[2]||800,k=E[3]||300)}if(S===800&&k===300){const E=document.createElement("div");E.style.cssText="position:absolute;visibility:hidden;width:800px;",E.innerHTML=h,document.body.appendChild(E);const A=(j=E.querySelector("svg"))==null?void 0:j.getBoundingClientRect();A&&(S=A.width,k=A.height),document.body.removeChild(E)}}const P={svg:h,width:S,height:k};return o0(e,P),P})().finally(()=>{Ka.delete(e)});return Ka.set(e,s),s}const mi=new Map,Ga=new Set,As=new Map,Ri=new Map;let gi=null;const ny=(e,t)=>{const n=mi.get(e);n&&n.forEach(r=>r(t))},lh=()=>{if(gi=null,Ri.size===0)return;const e=Array.from(Ri.values());Ri.clear(),e.forEach(t=>{ny(t.messageId,t.content),Ga.forEach(n=>n(t))})},Et={getLatest(e){return As.get(e)??null},subscribeMessage(e,t){let n=mi.get(e);return n||(n=new Set,mi.set(e,n)),n.add(t),As.has(e)&&t(As.get(e)??null),()=>{const r=mi.get(e);r&&(r.delete(t),r.size===0&&mi.delete(e))}},subscribe(e){return Ga.add(e),()=>{Ga.delete(e)}},publish(e){e.content===null?As.delete(e.messageId):As.set(e.messageId,e.content),Ri.set(e.messageId,e),gi===null&&(gi=requestAnimationFrame(lh))},clear(e,t){As.delete(t),Ri.delete(t),ny(t,null),Ga.forEach(n=>n({sessionId:e,messageId:t,content:null}))},forceFlush(){gi!==null&&(cancelAnimationFrame(gi),lh())}},gu=e=>{const t=(e??"").trim().toLowerCase();return t.includes("completion policy violation")&&t.includes("conclusion_with_options")},yu=e=>{const t=(e??"").trim(),n=t?`
16
16
 
@@ -109,7 +109,7 @@ You are running on **${Tk(e)}**.`;return e==="windows"?n+`
109
109
 
110
110
  `)}}if(!j&&!P&&(!S||S.length===0))return;const E=[T,j,P].filter(Boolean).join(`
111
111
 
112
- `);if(l(E),d(""),u(),s.size>0){const A=Array.from(E.matchAll(/@([^\\s]+)/g));if(A.length>0){const O=[];for(const D of A){const F=D[1],N=s.get(F);N&&O.push(N)}if(O.length>0){const D=JSON.stringify({type:"file_reference",paths:O.map(F=>F.path),display_text:E});await i(D,S,o,C)}else await i(E,S,o,C)}else await i(E,S,o,C)}else await i(E,S,o,C);h(null),m([]),b(new Map)},[e,u,s,r,l,o,n,i,m,d,b,h,t])}),qk=({currentSessionId:e,currentChat:t,currentMessages:n,reasoningEffort:r,retryLastTurn:s,navigate:o})=>{const i=y.useCallback(async(u="regenerate")=>{if(!e||!t)return;const d=[...n];d.length===0||[...d].reverse().findIndex(m=>m.role==="user")===-1||await s(r,u)},[t,e,n,r,s]),l=y.useCallback((u,d)=>{const h=o(u,d);return h.applied?h.value:null},[o]);return{retryLastMessage:i,handleHistoryNavigate:l}},Hk=({referenceText:e,isToolSpecificMode:t,isRestrictConversation:n,allowedTools:r,autoToolPrefix:s,t:o})=>o(e?"chat.input.placeholderWithReference":"chat.input.placeholderWithWorkflows"),Yk=(e,t)=>{var n,r,s,o,i;switch(t==null?void 0:t.trim()){case"openai":return(n=e.providers.openai)==null?void 0:n.reasoning_effort;case"anthropic":return(r=e.providers.anthropic)==null?void 0:r.reasoning_effort;case"gemini":return(s=e.providers.gemini)==null?void 0:s.reasoning_effort;case"copilot":return(o=e.providers.copilot)==null?void 0:o.reasoning_effort;case"bodhi":return(i=e.providers.bodhi)==null?void 0:i.reasoning_effort;default:return}},Xk=(e,t,n)=>{var s,o,i,l,u;const r=((s=t==null?void 0:t.provider)==null?void 0:s.trim())||((l=(i=(o=e.defaults)==null?void 0:o.chat)==null?void 0:i.provider)==null?void 0:l.trim())||(n==null?void 0:n.trim())||((u=e.provider)==null?void 0:u.trim());return Yk(e,r)};function Kk({value:e,onChange:t,disabled:n}){const r=Wt(l=>l.catalog);y.useEffect(()=>{r||Wt.getState().loadCatalog()},[r]);const s=y.useMemo(()=>{if(!(r!=null&&r.models))return[];const l={};for(const h of r.models){const m=h.reference.provider;l[m]||(l[m]={display:h.provider_display_name,models:[]}),l[m].models.push(h)}const u=[];return Object.keys(l).forEach((h,m)=>{const b=l[h];m>0&&u.push({type:"divider"}),u.push({type:"group",label:b.display,children:b.models.map(v=>({key:`${v.reference.provider}/${v.reference.model}`,label:a.jsxs(Ue,{size:4,children:[a.jsx("span",{children:v.display_name}),v.capabilities.supports_vision&&a.jsx(Je,{color:"blue",style:{fontSize:10,lineHeight:"16px",padding:"0 3px"},children:"Vision"})]})}))})}),u},[r]),o=e?`${e.provider}/${e.model}`:void 0,i=y.useCallback(l=>{const[u,...d]=l.key.split("/"),h=d.join("/");u&&h&&t({provider:u,model:h})},[t]);return a.jsx(Ue,{size:4,"data-tour-id":"model-picker",children:a.jsx(Ks,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:o?[o]:[],items:s,style:{maxHeight:"50vh",overflowY:"auto"},onClick:i},disabled:n,children:a.jsx(je,{type:"text",size:"small",disabled:n,style:{minWidth:146,padding:"0 12px",height:36,borderRadius:18},title:e?`${e.provider}/${e.model}`:xt.t("chat.model.selectModel"),children:a.jsxs(Ue,{size:4,children:[a.jsx("span",{style:{maxWidth:150,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:13},children:e?`${e.provider}/${e.model}`:xt.t("chat.model.selectModel")}),a.jsx(gs,{style:{fontSize:10}})]})})})})}const EI={copilot:"GitHub Copilot",openai:"OpenAI",anthropic:"Anthropic",gemini:"Google Gemini",bodhi:"Bodhi"},Vk=[{value:"gpt-4o-mini",label:"GPT-4o Mini"},{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4-turbo",label:"GPT-4 Turbo"},{value:"gpt-4-turbo-preview",label:"GPT-4 Turbo Preview"},{value:"gpt-4",label:"GPT-4"},{value:"gpt-3.5-turbo",label:"GPT-3.5 Turbo"}],Gk=[{value:"claude-3-5-sonnet-20241022",label:"Claude 3.5 Sonnet"},{value:"claude-3-5-sonnet-20240620",label:"Claude 3.5 Sonnet (Legacy)"},{value:"claude-3-opus-20240229",label:"Claude 3 Opus"},{value:"claude-3-sonnet-20240229",label:"Claude 3 Sonnet"},{value:"claude-3-haiku-20240307",label:"Claude 3 Haiku"}],Jk=[{value:"gemini-pro",label:"Gemini Pro"},{value:"gemini-pro-vision",label:"Gemini Pro Vision"},{value:"gemini-1.5-pro",label:"Gemini 1.5 Pro"},{value:"gemini-1.5-flash",label:"Gemini 1.5 Flash"}],Qk=[{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4o-mini",label:"GPT-4o Mini"}],Zk=y.lazy(()=>Jt(()=>import("./index-Bcpx4-c6.js"),__vite__mapDeps([7,1,2,3]),import.meta.url)),eC=y.lazy(()=>Jt(()=>import("./index-B5yTfmmx.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url)),tC=y.lazy(()=>Jt(()=>import("./index-Bsj_W4uB.js"),__vite__mapDeps([10,1,2,3,5,4,6]),import.meta.url)),nC=y.lazy(()=>Jt(()=>import("./index-BBEDlZ5R.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)),{useToken:rC}=ut,wh="chat-send-message",_h="reference-text",sC="chat-model-options-cache-v1",hy=24*60*60*1e3,oC=["low","medium","high","xhigh","max"],iC=[],py=e=>`${sC}:${e}`,aC=e=>{if(typeof window>"u")return null;try{const t=localStorage.getItem(py(e));if(!t)return null;const n=JSON.parse(t);return!n||!Array.isArray(n.options)||Date.now()-n.timestamp>hy?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string").map(r=>({value:r.value,label:r.label}))}catch{return null}},lC=(e,t)=>{if(!(typeof window>"u"))try{const n={timestamp:Date.now(),options:t};localStorage.setItem(py(e),JSON.stringify(n))}catch{}},cC=async e=>{const t=Hn.getInstance();try{const n=await t.loadModelOptionsCache(e);if(n)return Date.now()-n.timestamp>hy?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string")}catch{}return aC(e)},uC=async(e,t)=>{const n=Hn.getInstance();try{await n.saveModelOptionsCache(e,t,Date.now())}catch{}lC(e,t)},dC=({sessionId:e,onWorkflowDraftChange:t,statusIndicator:n})=>{var cr,ao,Ts,Ut;const{t:r}=Ge(),s=y.useRef(null),{token:o}=rC(),i=jl(),l=Ei(ge=>ge.open),u=ae(ge=>e??ge.currentSessionId),d=ae(ge=>ge.currentSessionId),h=ae(ks(u)),m=y.useMemo(()=>(h==null?void 0:h.messages)||[],[h==null?void 0:h.messages]),b=ae(ge=>ge.addMessage),v=ae(ge=>ge.updateSession),w=ae(Xg(u)),S=ae(Kg(u)),P=ae(Vg(u))||(h==null?void 0:h.isRunning)===!0&&S,T=ae(ge=>ge.markRespondStart),j=ae(ge=>ge.markSettleTimeout),C=ae(ji(u)),E=ae(ge=>ge.clearPendingQuestion),A=Sd(u),O=fy((cr=h==null?void 0:h.config)==null?void 0:cr.model_ref),D=Wt(ge=>ge.isProviderModelRefEnabled),F=ae(ge=>u?ge.inputStates[u]:void 0),N=ae(ge=>ge.setInputContent),q=ae(ge=>ge.setReferenceText),I=ae(ge=>ge.setInputReasoningEffort),Q=Wt(ge=>ge.currentProvider),G=Wt(ge=>ge.providerConfig),[Z,pe]=y.useState([]),[$,oe]=y.useState(!1),[me,ne]=y.useState(null),[he,fe]=y.useState(!1),ue=(F==null?void 0:F.content)||"",de=(F==null?void 0:F.referenceText)||null,Ce=y.useMemo(()=>{var ge,ct;return Xk(G,O,((ct=(ge=h==null?void 0:h.config)==null?void 0:ge.model_ref)==null?void 0:ct.provider)??Q)},[O,(Ts=(ao=h==null?void 0:h.config)==null?void 0:ao.model_ref)==null?void 0:Ts.provider,G,Q]),ze=y.useMemo(()=>u?Hg(u):void 0,[u]),Le=((Ut=h==null?void 0:h.config)==null?void 0:Ut.reasoningEffort)??(F==null?void 0:F.reasoningEffort)??ze??Ce??"medium",lt=y.useCallback(ge=>{u&&N(u,ge)},[u,N]),L=y.useCallback(ge=>{u&&q(u,ge)},[u,q]),le=y.useCallback(async ge=>{if(u&&(I(u,ge),!!h))try{await Ys.patchSession(u,{reasoning_effort:ge}),v(u,{config:{...h.config,reasoningEffort:ge}})}catch(ct){console.warn("[InputContainer] Failed to persist reasoning effort:",ct)}},[h,u,I,v]),{sendMessage:Ae,retryLastTurn:Ie,cancel:He}=Lk({sessionId:u,addMessage:b,updateSession:v});y.useEffect(()=>{if(typeof window>"u")return;const ge=Bt=>Bt?u===Bt:u!==null&&u===d,ct=Bt=>{const vt=Bt;if(!vt.detail||typeof vt.detail.text!="string")return;const En=typeof vt.detail.sessionId=="string"?vt.detail.sessionId:null;if(!ge(En))return;const an=vt.detail.text.trim();an&&(vt.detail.handled=!0,L(an),requestAnimationFrame(()=>{var Dn;(Dn=s.current)==null||Dn.focus()}))},qt=Bt=>{var an;const vt=Bt,En=typeof((an=vt.detail)==null?void 0:an.sessionId)=="string"?vt.detail.sessionId:null;ge(En)&&(vt.detail&&(vt.detail.handled=!0),requestAnimationFrame(()=>{var Dn;(Dn=s.current)==null||Dn.focus()}))};return window.addEventListener(_h,ct),window.addEventListener(xu,qt),()=>{window.removeEventListener(_h,ct),window.removeEventListener(xu,qt)}},[d,u,L]);const{message:dt}=Fn.useApp(),pt=!1,$t=!1,Qt=iC,rn=void 0,{recordEntry:_n,navigate:At,acknowledgeManualInput:Xt}=Fk(u),{attachments:Kt,setAttachments:gn,handleAttachmentsAdded:On,handleAttachmentRemove:Mn,handleClearAttachments:It}=Wk(),_t=Dk({setContent:lt,onWorkflowDraftChange:t,acknowledgeManualInput:Xt,currentSessionId:u,textAreaRef:s,content:ue}),bt=zk({content:ue,setContent:lt,currentSessionId:u,currentChat:h,updateSession:v,messageApi:dt}),{setShowFileSelector:ye}=bt;y.useEffect(()=>{_t.showCommandSelector&&ye(!1)},[_t.showCommandSelector,ye]);const{handleSubmit:We}=Uk({attachments:Kt,referenceText:de,selectedWorkflow:_t.selectedCommand,matchesWorkflowToken:_t.matchesCommandToken,fileReferences:bt.fileReferences,reasoningEffort:Le,sendMessage:Ae,recordEntry:_n,clearWorkflowDraft:_t.clearCommandDraft,setContent:lt,setReferenceText:L,setAttachments:gn,setFileReferences:bt.setFileReferences}),Te=C,qe=!!Te,Lt=(Te==null?void 0:Te.options)||[],$n=(Te==null?void 0:Te.allowCustom)??!0,Vt=y.useCallback(ge=>ge?!!ji(ge)(ae.getState()):!1,[]),$e=y.useCallback(async ge=>{const ct=ge.trim();if(!ct||!u)return;const Bt=ji(u)(ae.getState());if(Bt&&!Bt.allowCustom&&Bt.options.length>0&&!Bt.options.includes(ct)){dt.warning(r("components.questionDialog.selectOptionWarning"));return}T(u,(Te==null?void 0:Te.toolCallId)??null),await new Promise(vt=>setTimeout(vt,0));try{const vt={response:ct,reasoning_effort:Le};D()&&O&&(vt.model_ref=O,vt.provider=O.provider);const En=await St.post(`respond/${u}`,vt);dt.success(r("components.questionDialog.responseSubmittedContinue")),lt(""),E(u),typeof window<"u"&&window.dispatchEvent(new CustomEvent(wu,{detail:{sessionId:u}}));const an=En==null?void 0:En.auto_resume_status;(!an||!["started","already_running"].includes(an))&&j(u)}catch(vt){console.error("[InputContainer] Failed to submit respond:",vt),dt.error(vt instanceof Error?vt.message:r("components.questionDialog.submitFailed")),j(u)}},[u,Le,O,D,dt,lt,E,T,j,Te==null?void 0:Te.toolCallId,r]),fn=y.useCallback(async(ge,ct)=>{if(Vt(u)){await $e(ge);return}await We(ge,ct)},[u,Vt,$e,We]),B=y.useCallback(async(ge,ct)=>{await fn(ge,ct)},[fn]);y.useEffect(()=>{if(typeof window>"u")return;const ge=ct=>{var an,Dn,Kr;const qt=ct;if(!qt.detail)return;const Bt=typeof qt.detail.sessionId=="string"?qt.detail.sessionId:null;if(!(Bt?u===Bt:u!==null&&u===d))return;qt.detail.handled=!0;const En=(an=qt.detail)==null?void 0:an.content;if(typeof En!="string"||En.trim().length===0){(Kr=(Dn=qt.detail)==null?void 0:Dn.reject)==null||Kr.call(Dn,new Error("External send message content is empty"));return}fn(En,void 0).then(()=>{var xr,ot;(ot=(xr=qt.detail)==null?void 0:xr.resolve)==null||ot.call(xr)}).catch(xr=>{var ot,lo;(lo=(ot=qt.detail)==null?void 0:ot.reject)==null||lo.call(ot,xr)})};return window.addEventListener(wh,ge),()=>{window.removeEventListener(wh,ge)}},[d,u,fn]);const{retryLastMessage:ie,handleHistoryNavigate:H}=qk({currentSessionId:u,currentChat:h,currentMessages:m,reasoningEffort:Le,retryLastTurn:Ie,navigate:At}),_e=y.useCallback(()=>L(null),[L]),Oe=y.useMemo(()=>G.providers[Q],[G,Q]),Fe=y.useMemo(()=>!Oe||typeof Oe!="object"?!1:Q==="copilot"?Object.keys(Oe).length>0:"api_key"in Oe?typeof Oe.api_key=="string"&&Oe.api_key.trim().length>0:!1,[Q,Oe]),et=y.useCallback(()=>Fe?!1:(l("chat"),dt.warning(r("chat.view.providerNotConfigured")),!0),[Fe,dt,l,r]);y.useEffect(()=>{(async()=>{const ge=await cC(Q);pe(ge??[]),ne(null)})()},[Q]);const Xe=y.useCallback(ge=>ge instanceof Error&&ge.message.trim()?ge.message:r("chat.view.unknownError"),[r]),kt=y.useMemo(()=>({openai:[...Vk],anthropic:[...Gk],gemini:[...Jk],copilot:[...Qk],bodhi:[]})[Q]||[],[Q]),Ct=y.useMemo(()=>{const ct=[...Z.length>0?Z:kt];return A&&!ct.some(qt=>qt.value===A)&&ct.unshift({value:A,label:A}),ct},[Z,kt,A]),Tt=y.useCallback(async(ge,ct)=>{if(!(!(ct!=null&&ct.force)&&Z.length>0))try{oe(!0),ne(null);const Bt=(ge==="copilot"?await Og.getModels():kt).map(vt=>({value:typeof vt=="string"?vt:vt.value,label:typeof vt=="string"?vt:vt.label}));pe(Bt),await uC(ge,Bt)}catch(qt){ne(Xe(qt))}finally{oe(!1)}},[kt,Xe,Z.length]),Ke=y.useCallback(ge=>{ge&&(et()||$||Z.length>0||Tt(Q))},[Q,Tt,$,Z.length,et]),Nt=y.useCallback(async ge=>{var ct,qt,Bt;if(!(!ge||ge===A)&&!he)try{if(et())return;if(fe(!0),!u||!h){u&&v(u,{config:{systemPromptId:((ct=h==null?void 0:h.config)==null?void 0:ct.systemPromptId)||"default",baseSystemPrompt:((qt=h==null?void 0:h.config)==null?void 0:qt.baseSystemPrompt)||"",lastUsedEnhancedPrompt:((Bt=h==null?void 0:h.config)==null?void 0:Bt.lastUsedEnhancedPrompt)??null,...(h==null?void 0:h.config)||{},model:ge}});return}await Ys.patchSession(u,{model:ge}),v(u,{config:{...h.config,model:ge}}),dt.success(r("settings.providerTab.modelUpdated"))}catch(vt){dt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${Xe(vt)}`)}finally{fe(!1)}},[A,h,Xe,he,dt,et,u,r,v]),Se=y.useCallback(async ge=>{if(!u||!(h!=null&&h.config)){Wt.getState().setSelectedModelRef(ge);return}if(!he)try{fe(!0),await Ys.patchSession(u,{model:ge.model,model_ref:ge,provider:ge.provider}),Wt.getState().setSelectedModelRef(ge),v(u,{config:{...h.config,model:ge.model,model_ref:ge}}),dt.success(r("settings.providerTab.modelUpdated"))}catch(ct){dt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${Xe(ct)}`)}finally{fe(!1)}},[h==null?void 0:h.config,Xe,he,dt,u,r,v]),De=y.useMemo(()=>Hk({referenceText:de,isToolSpecificMode:pt,isRestrictConversation:$t,allowedTools:Qt,autoToolPrefix:rn,t:r}),[de,pt,$t,Qt,rn,r]),Ve=qe&&$n?r("chat.respond.customAnswerPlaceholder"):qe?r("components.questionDialog.selectOptionWarning"):De,Ot=qe?r("chat.respond.submitToolResult","Submit tool result"):void 0,Zt=y.useMemo(()=>({low:r("chat.input.reasoning.low"),medium:r("chat.input.reasoning.medium"),high:r("chat.input.reasoning.high"),xhigh:r("chat.input.reasoning.xhigh"),max:r("chat.input.reasoning.max")}),[r]),Qn=y.useMemo(()=>Zt[Le]??Le,[Le,Zt]),Xr=y.useMemo(()=>a.jsx(Ks,{trigger:["click"],placement:"topLeft",disabled:!A||S,menu:{selectable:!0,selectedKeys:[Le],items:oC.map(ge=>({key:ge,label:Zt[ge]})),onClick:({key:ge})=>{le(ge)}},children:a.jsx(je,{type:"text",size:"small",disabled:!A||w,style:{minWidth:i?74:88,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:Le==="medium"?o.colorTextSecondary:o.colorPrimary},title:r("chat.input.reasoningTitle",{label:Qn}),children:a.jsxs(Ue,{size:6,children:[a.jsx(DS,{}),a.jsx("span",{children:Qn}),a.jsx(gs,{style:{fontSize:10}})]})})}),[A,Qn,S,i,w,Le,Zt,le,r,o.colorPrimary,o.colorTextSecondary]),io=A||r(Fe?"chat.model.selectModel":"chat.model.configureProvider"),Zn=y.useMemo(()=>Ct.length>0?Ct.map(ge=>({key:ge.value,label:ge.label})):[{key:"__no_models__",label:me||r("chat.model.noModelsAvailable"),disabled:!0}],[Ct,me,r]),lr=y.useMemo(()=>a.jsx(je,{type:"text",size:"small",disabled:w||he,onClick:()=>{Fe||et()},style:{minWidth:i?112:146,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:me?o.colorError:o.colorTextSecondary},title:io,children:a.jsxs(Ue,{size:6,children:[$?a.jsx(ms,{}):a.jsx(hg,{}),a.jsx("span",{style:{maxWidth:i?84:128,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:io}),a.jsx(gs,{style:{fontSize:10}})]})}),[w,he,Fe,et,i,me,o.colorError,o.colorTextSecondary,io,$]),er=y.useMemo(()=>D()?a.jsx(Kk,{value:O,onChange:Se,disabled:w||he}):Fe?a.jsx(Ks,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:A?[A]:[],items:Zn,style:{maxHeight:"50vh",overflowY:"auto"},onClick:({key:ge})=>{ge!=="__no_models__"&&Nt(String(ge))}},onOpenChange:Ke,disabled:S||he,children:lr}):lr,[D,O,Se,w,he,Fe,A,Zn,Nt,Ke,S,lr]),Cs=y.useMemo(()=>a.jsxs(Ue,{size:0,wrap:!0,children:[er,Xr]}),[er,Xr]),Ul=y.useCallback(ge=>({isValid:!0}),[$t,rn,r]),tr=y.useMemo(()=>m.some(ge=>ge.role==="user"),[m]),na=y.useMemo(()=>({isStreaming:w,isInputLocked:S,canCancel:P,hasMessages:tr,allowRetry:!0,onRetry:ie,onCancel:He,onHistoryNavigate:H}),[w,S,P,tr,ie,He,H]);return a.jsxs("div",{style:{padding:`${o.paddingXXS}px ${o.paddingXS}px`,background:"transparent",borderTop:"none",boxShadow:"none",width:"100%",position:"relative",overflow:"visible"},children:[!A&&a.jsx(ir,{type:"warning",showIcon:!0,icon:a.jsx(Tl,{}),message:r(Fe?"chat.model.noModelSelected":"chat.model.providerNotConfigured"),description:r(Fe?"chat.model.selectModelHint":"chat.model.configureProviderHint"),action:Fe?void 0:a.jsx(Ue,{children:a.jsx("a",{onClick:()=>l("chat"),children:r("chat.model.openSettings")})}),style:{marginBottom:o.marginSM}}),pt,de&&a.jsx(Sk,{text:de,onClose:_e}),Kt.length>0&&a.jsx(y.Suspense,{fallback:a.jsx(Gs,{size:"small"}),children:a.jsx(Zk,{files:Kt,onRemove:Mn,onClear:It})}),qe&&Lt.length>0&&a.jsx("div",{style:{marginBottom:o.marginSM},children:a.jsx(Ue,{wrap:!0,size:[8,8],children:Lt.map(ge=>a.jsx(je,{size:"small",onClick:()=>{$e(ge)},disabled:S,children:ge},ge))})}),a.jsx(bk,{value:ue,onChange:_t.handleInputChange,onSubmit:B,placeholder:Ve,allowImages:!0,disabled:!A||qe&&!$n&&Lt.length>0,statusIndicator:n,submitButtonLabel:Ot,isWorkflowSelectorVisible:_t.showCommandSelector,textAreaRef:s,validateMessage:Ul,onAttachmentsAdded:On,onWorkflowCommandChange:_t.handleCommandChange,onFileReferenceChange:bt.handleFileReferenceChange,onFileReferenceButtonClick:bt.handleFileReferenceButtonClick,leftControlsExtra:Cs,interaction:na}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(eC,{visible:_t.showCommandSelector,onSelect:_t.handleCommandSelect,onCancel:_t.handleCommandSelectorCancel,onAutoComplete:_t.handleAutoComplete,searchText:_t.commandSearchText})}),bt.showFileSelector&&a.jsx(y.Suspense,{fallback:a.jsx(Gs,{size:"small"}),children:a.jsx(nC,{visible:bt.showFileSelector,files:bt.workspaceFiles,searchText:bt.fileSearchText,loading:bt.isWorkspaceLoading,error:bt.workspaceError,onSelect:bt.handleFileReferenceSelect,onCancel:bt.handleFileSelectorCancel,onChangeWorkspace:()=>{bt.setWorkspacePathInput((h==null?void 0:h.config.workspacePath)??""),bt.setIsWorkspaceModalVisible(!0)}})}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(tC,{open:bt.isWorkspaceModalVisible,initialPath:bt.workspacePathInput,loading:bt.isSavingWorkspace,onSubmit:bt.handleWorkspaceModalSubmit,onCancel:bt.handleWorkspaceModalCancel})})]})},fC={maxLines:8,maxCharacters:500},Br=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ar=e=>typeof e=="string"?e:void 0,ss=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,kh=e=>typeof e=="boolean"?e:void 0,xd=e=>{if(!e)return null;const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return null;try{const n=JSON.parse(t);return Br(n)?n:null}catch{return null}},my=e=>/\\u[0-9a-fA-F]{4}|\\n|\\t|\\r/.test(e)?e.replace(/\\u([0-9a-fA-F]{4})/g,(t,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\n/g,`
112
+ `);if(l(E),d(""),u(),s.size>0){const A=Array.from(E.matchAll(/@([^\\s]+)/g));if(A.length>0){const O=[];for(const D of A){const F=D[1],N=s.get(F);N&&O.push(N)}if(O.length>0){const D=JSON.stringify({type:"file_reference",paths:O.map(F=>F.path),display_text:E});await i(D,S,o,C)}else await i(E,S,o,C)}else await i(E,S,o,C)}else await i(E,S,o,C);h(null),m([]),b(new Map)},[e,u,s,r,l,o,n,i,m,d,b,h,t])}),qk=({currentSessionId:e,currentChat:t,currentMessages:n,reasoningEffort:r,retryLastTurn:s,navigate:o})=>{const i=y.useCallback(async(u="regenerate")=>{if(!e||!t)return;const d=[...n];d.length===0||[...d].reverse().findIndex(m=>m.role==="user")===-1||await s(r,u)},[t,e,n,r,s]),l=y.useCallback((u,d)=>{const h=o(u,d);return h.applied?h.value:null},[o]);return{retryLastMessage:i,handleHistoryNavigate:l}},Hk=({referenceText:e,isToolSpecificMode:t,isRestrictConversation:n,allowedTools:r,autoToolPrefix:s,t:o})=>o(e?"chat.input.placeholderWithReference":"chat.input.placeholderWithWorkflows"),Yk=(e,t)=>{var n,r,s,o,i;switch(t==null?void 0:t.trim()){case"openai":return(n=e.providers.openai)==null?void 0:n.reasoning_effort;case"anthropic":return(r=e.providers.anthropic)==null?void 0:r.reasoning_effort;case"gemini":return(s=e.providers.gemini)==null?void 0:s.reasoning_effort;case"copilot":return(o=e.providers.copilot)==null?void 0:o.reasoning_effort;case"bodhi":return(i=e.providers.bodhi)==null?void 0:i.reasoning_effort;default:return}},Xk=(e,t,n)=>{var s,o,i,l,u;const r=((s=t==null?void 0:t.provider)==null?void 0:s.trim())||((l=(i=(o=e.defaults)==null?void 0:o.chat)==null?void 0:i.provider)==null?void 0:l.trim())||(n==null?void 0:n.trim())||((u=e.provider)==null?void 0:u.trim());return Yk(e,r)};function Kk({value:e,onChange:t,disabled:n}){const r=Wt(l=>l.catalog);y.useEffect(()=>{r||Wt.getState().loadCatalog()},[r]);const s=y.useMemo(()=>{if(!(r!=null&&r.models))return[];const l={};for(const h of r.models){const m=h.reference.provider;l[m]||(l[m]={display:h.provider_display_name,models:[]}),l[m].models.push(h)}const u=[];return Object.keys(l).forEach((h,m)=>{const b=l[h];m>0&&u.push({type:"divider"}),u.push({type:"group",label:b.display,children:b.models.map(v=>({key:`${v.reference.provider}/${v.reference.model}`,label:a.jsxs(Ue,{size:4,children:[a.jsx("span",{children:v.display_name}),v.capabilities.supports_vision&&a.jsx(Je,{color:"blue",style:{fontSize:10,lineHeight:"16px",padding:"0 3px"},children:"Vision"})]})}))})}),u},[r]),o=e?`${e.provider}/${e.model}`:void 0,i=y.useCallback(l=>{const[u,...d]=l.key.split("/"),h=d.join("/");u&&h&&t({provider:u,model:h})},[t]);return a.jsx(Ue,{size:4,"data-tour-id":"model-picker",children:a.jsx(Ks,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:o?[o]:[],items:s,style:{maxHeight:"50vh",overflowY:"auto"},onClick:i},disabled:n,children:a.jsx(je,{type:"text",size:"small",disabled:n,style:{minWidth:146,padding:"0 12px",height:36,borderRadius:18},title:e?`${e.provider}/${e.model}`:xt.t("chat.model.selectModel"),children:a.jsxs(Ue,{size:4,children:[a.jsx("span",{style:{maxWidth:150,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:13},children:e?`${e.provider}/${e.model}`:xt.t("chat.model.selectModel")}),a.jsx(gs,{style:{fontSize:10}})]})})})})}const EI={copilot:"GitHub Copilot",openai:"OpenAI",anthropic:"Anthropic",gemini:"Google Gemini",bodhi:"Bodhi"},Vk=[{value:"gpt-4o-mini",label:"GPT-4o Mini"},{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4-turbo",label:"GPT-4 Turbo"},{value:"gpt-4-turbo-preview",label:"GPT-4 Turbo Preview"},{value:"gpt-4",label:"GPT-4"},{value:"gpt-3.5-turbo",label:"GPT-3.5 Turbo"}],Gk=[{value:"claude-3-5-sonnet-20241022",label:"Claude 3.5 Sonnet"},{value:"claude-3-5-sonnet-20240620",label:"Claude 3.5 Sonnet (Legacy)"},{value:"claude-3-opus-20240229",label:"Claude 3 Opus"},{value:"claude-3-sonnet-20240229",label:"Claude 3 Sonnet"},{value:"claude-3-haiku-20240307",label:"Claude 3 Haiku"}],Jk=[{value:"gemini-pro",label:"Gemini Pro"},{value:"gemini-pro-vision",label:"Gemini Pro Vision"},{value:"gemini-1.5-pro",label:"Gemini 1.5 Pro"},{value:"gemini-1.5-flash",label:"Gemini 1.5 Flash"}],Qk=[{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4o-mini",label:"GPT-4o Mini"}],Zk=y.lazy(()=>Jt(()=>import("./index-Bcpx4-c6.js"),__vite__mapDeps([7,1,2,3]),import.meta.url)),eC=y.lazy(()=>Jt(()=>import("./index-C5hCIJZL.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url)),tC=y.lazy(()=>Jt(()=>import("./index-DtQ-9WIb.js"),__vite__mapDeps([10,1,2,3,5,4,6]),import.meta.url)),nC=y.lazy(()=>Jt(()=>import("./index-BBEDlZ5R.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)),{useToken:rC}=ut,wh="chat-send-message",_h="reference-text",sC="chat-model-options-cache-v1",hy=24*60*60*1e3,oC=["low","medium","high","xhigh","max"],iC=[],py=e=>`${sC}:${e}`,aC=e=>{if(typeof window>"u")return null;try{const t=localStorage.getItem(py(e));if(!t)return null;const n=JSON.parse(t);return!n||!Array.isArray(n.options)||Date.now()-n.timestamp>hy?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string").map(r=>({value:r.value,label:r.label}))}catch{return null}},lC=(e,t)=>{if(!(typeof window>"u"))try{const n={timestamp:Date.now(),options:t};localStorage.setItem(py(e),JSON.stringify(n))}catch{}},cC=async e=>{const t=Hn.getInstance();try{const n=await t.loadModelOptionsCache(e);if(n)return Date.now()-n.timestamp>hy?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string")}catch{}return aC(e)},uC=async(e,t)=>{const n=Hn.getInstance();try{await n.saveModelOptionsCache(e,t,Date.now())}catch{}lC(e,t)},dC=({sessionId:e,onWorkflowDraftChange:t,statusIndicator:n})=>{var cr,ao,Ts,Ut;const{t:r}=Ge(),s=y.useRef(null),{token:o}=rC(),i=jl(),l=Ei(ge=>ge.open),u=ae(ge=>e??ge.currentSessionId),d=ae(ge=>ge.currentSessionId),h=ae(ks(u)),m=y.useMemo(()=>(h==null?void 0:h.messages)||[],[h==null?void 0:h.messages]),b=ae(ge=>ge.addMessage),v=ae(ge=>ge.updateSession),w=ae(Xg(u)),S=ae(Kg(u)),P=ae(Vg(u))||(h==null?void 0:h.isRunning)===!0&&S,T=ae(ge=>ge.markRespondStart),j=ae(ge=>ge.markSettleTimeout),C=ae(ji(u)),E=ae(ge=>ge.clearPendingQuestion),A=Sd(u),O=fy((cr=h==null?void 0:h.config)==null?void 0:cr.model_ref),D=Wt(ge=>ge.isProviderModelRefEnabled),F=ae(ge=>u?ge.inputStates[u]:void 0),N=ae(ge=>ge.setInputContent),q=ae(ge=>ge.setReferenceText),I=ae(ge=>ge.setInputReasoningEffort),Q=Wt(ge=>ge.currentProvider),G=Wt(ge=>ge.providerConfig),[Z,pe]=y.useState([]),[$,oe]=y.useState(!1),[me,ne]=y.useState(null),[he,fe]=y.useState(!1),ue=(F==null?void 0:F.content)||"",de=(F==null?void 0:F.referenceText)||null,Ce=y.useMemo(()=>{var ge,ct;return Xk(G,O,((ct=(ge=h==null?void 0:h.config)==null?void 0:ge.model_ref)==null?void 0:ct.provider)??Q)},[O,(Ts=(ao=h==null?void 0:h.config)==null?void 0:ao.model_ref)==null?void 0:Ts.provider,G,Q]),ze=y.useMemo(()=>u?Hg(u):void 0,[u]),Le=((Ut=h==null?void 0:h.config)==null?void 0:Ut.reasoningEffort)??(F==null?void 0:F.reasoningEffort)??ze??Ce??"medium",lt=y.useCallback(ge=>{u&&N(u,ge)},[u,N]),L=y.useCallback(ge=>{u&&q(u,ge)},[u,q]),le=y.useCallback(async ge=>{if(u&&(I(u,ge),!!h))try{await Ys.patchSession(u,{reasoning_effort:ge}),v(u,{config:{...h.config,reasoningEffort:ge}})}catch(ct){console.warn("[InputContainer] Failed to persist reasoning effort:",ct)}},[h,u,I,v]),{sendMessage:Ae,retryLastTurn:Ie,cancel:He}=Lk({sessionId:u,addMessage:b,updateSession:v});y.useEffect(()=>{if(typeof window>"u")return;const ge=Bt=>Bt?u===Bt:u!==null&&u===d,ct=Bt=>{const vt=Bt;if(!vt.detail||typeof vt.detail.text!="string")return;const En=typeof vt.detail.sessionId=="string"?vt.detail.sessionId:null;if(!ge(En))return;const an=vt.detail.text.trim();an&&(vt.detail.handled=!0,L(an),requestAnimationFrame(()=>{var Dn;(Dn=s.current)==null||Dn.focus()}))},qt=Bt=>{var an;const vt=Bt,En=typeof((an=vt.detail)==null?void 0:an.sessionId)=="string"?vt.detail.sessionId:null;ge(En)&&(vt.detail&&(vt.detail.handled=!0),requestAnimationFrame(()=>{var Dn;(Dn=s.current)==null||Dn.focus()}))};return window.addEventListener(_h,ct),window.addEventListener(xu,qt),()=>{window.removeEventListener(_h,ct),window.removeEventListener(xu,qt)}},[d,u,L]);const{message:dt}=Fn.useApp(),pt=!1,$t=!1,Qt=iC,rn=void 0,{recordEntry:_n,navigate:At,acknowledgeManualInput:Xt}=Fk(u),{attachments:Kt,setAttachments:gn,handleAttachmentsAdded:On,handleAttachmentRemove:Mn,handleClearAttachments:It}=Wk(),_t=Dk({setContent:lt,onWorkflowDraftChange:t,acknowledgeManualInput:Xt,currentSessionId:u,textAreaRef:s,content:ue}),bt=zk({content:ue,setContent:lt,currentSessionId:u,currentChat:h,updateSession:v,messageApi:dt}),{setShowFileSelector:ye}=bt;y.useEffect(()=>{_t.showCommandSelector&&ye(!1)},[_t.showCommandSelector,ye]);const{handleSubmit:We}=Uk({attachments:Kt,referenceText:de,selectedWorkflow:_t.selectedCommand,matchesWorkflowToken:_t.matchesCommandToken,fileReferences:bt.fileReferences,reasoningEffort:Le,sendMessage:Ae,recordEntry:_n,clearWorkflowDraft:_t.clearCommandDraft,setContent:lt,setReferenceText:L,setAttachments:gn,setFileReferences:bt.setFileReferences}),Te=C,qe=!!Te,Lt=(Te==null?void 0:Te.options)||[],$n=(Te==null?void 0:Te.allowCustom)??!0,Vt=y.useCallback(ge=>ge?!!ji(ge)(ae.getState()):!1,[]),$e=y.useCallback(async ge=>{const ct=ge.trim();if(!ct||!u)return;const Bt=ji(u)(ae.getState());if(Bt&&!Bt.allowCustom&&Bt.options.length>0&&!Bt.options.includes(ct)){dt.warning(r("components.questionDialog.selectOptionWarning"));return}T(u,(Te==null?void 0:Te.toolCallId)??null),await new Promise(vt=>setTimeout(vt,0));try{const vt={response:ct,reasoning_effort:Le};D()&&O&&(vt.model_ref=O,vt.provider=O.provider);const En=await St.post(`respond/${u}`,vt);dt.success(r("components.questionDialog.responseSubmittedContinue")),lt(""),E(u),typeof window<"u"&&window.dispatchEvent(new CustomEvent(wu,{detail:{sessionId:u}}));const an=En==null?void 0:En.auto_resume_status;(!an||!["started","already_running"].includes(an))&&j(u)}catch(vt){console.error("[InputContainer] Failed to submit respond:",vt),dt.error(vt instanceof Error?vt.message:r("components.questionDialog.submitFailed")),j(u)}},[u,Le,O,D,dt,lt,E,T,j,Te==null?void 0:Te.toolCallId,r]),fn=y.useCallback(async(ge,ct)=>{if(Vt(u)){await $e(ge);return}await We(ge,ct)},[u,Vt,$e,We]),B=y.useCallback(async(ge,ct)=>{await fn(ge,ct)},[fn]);y.useEffect(()=>{if(typeof window>"u")return;const ge=ct=>{var an,Dn,Kr;const qt=ct;if(!qt.detail)return;const Bt=typeof qt.detail.sessionId=="string"?qt.detail.sessionId:null;if(!(Bt?u===Bt:u!==null&&u===d))return;qt.detail.handled=!0;const En=(an=qt.detail)==null?void 0:an.content;if(typeof En!="string"||En.trim().length===0){(Kr=(Dn=qt.detail)==null?void 0:Dn.reject)==null||Kr.call(Dn,new Error("External send message content is empty"));return}fn(En,void 0).then(()=>{var xr,ot;(ot=(xr=qt.detail)==null?void 0:xr.resolve)==null||ot.call(xr)}).catch(xr=>{var ot,lo;(lo=(ot=qt.detail)==null?void 0:ot.reject)==null||lo.call(ot,xr)})};return window.addEventListener(wh,ge),()=>{window.removeEventListener(wh,ge)}},[d,u,fn]);const{retryLastMessage:ie,handleHistoryNavigate:H}=qk({currentSessionId:u,currentChat:h,currentMessages:m,reasoningEffort:Le,retryLastTurn:Ie,navigate:At}),_e=y.useCallback(()=>L(null),[L]),Oe=y.useMemo(()=>G.providers[Q],[G,Q]),Fe=y.useMemo(()=>!Oe||typeof Oe!="object"?!1:Q==="copilot"?Object.keys(Oe).length>0:"api_key"in Oe?typeof Oe.api_key=="string"&&Oe.api_key.trim().length>0:!1,[Q,Oe]),et=y.useCallback(()=>Fe?!1:(l("chat"),dt.warning(r("chat.view.providerNotConfigured")),!0),[Fe,dt,l,r]);y.useEffect(()=>{(async()=>{const ge=await cC(Q);pe(ge??[]),ne(null)})()},[Q]);const Xe=y.useCallback(ge=>ge instanceof Error&&ge.message.trim()?ge.message:r("chat.view.unknownError"),[r]),kt=y.useMemo(()=>({openai:[...Vk],anthropic:[...Gk],gemini:[...Jk],copilot:[...Qk],bodhi:[]})[Q]||[],[Q]),Ct=y.useMemo(()=>{const ct=[...Z.length>0?Z:kt];return A&&!ct.some(qt=>qt.value===A)&&ct.unshift({value:A,label:A}),ct},[Z,kt,A]),Tt=y.useCallback(async(ge,ct)=>{if(!(!(ct!=null&&ct.force)&&Z.length>0))try{oe(!0),ne(null);const Bt=(ge==="copilot"?await Og.getModels():kt).map(vt=>({value:typeof vt=="string"?vt:vt.value,label:typeof vt=="string"?vt:vt.label}));pe(Bt),await uC(ge,Bt)}catch(qt){ne(Xe(qt))}finally{oe(!1)}},[kt,Xe,Z.length]),Ke=y.useCallback(ge=>{ge&&(et()||$||Z.length>0||Tt(Q))},[Q,Tt,$,Z.length,et]),Nt=y.useCallback(async ge=>{var ct,qt,Bt;if(!(!ge||ge===A)&&!he)try{if(et())return;if(fe(!0),!u||!h){u&&v(u,{config:{systemPromptId:((ct=h==null?void 0:h.config)==null?void 0:ct.systemPromptId)||"default",baseSystemPrompt:((qt=h==null?void 0:h.config)==null?void 0:qt.baseSystemPrompt)||"",lastUsedEnhancedPrompt:((Bt=h==null?void 0:h.config)==null?void 0:Bt.lastUsedEnhancedPrompt)??null,...(h==null?void 0:h.config)||{},model:ge}});return}await Ys.patchSession(u,{model:ge}),v(u,{config:{...h.config,model:ge}}),dt.success(r("settings.providerTab.modelUpdated"))}catch(vt){dt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${Xe(vt)}`)}finally{fe(!1)}},[A,h,Xe,he,dt,et,u,r,v]),Se=y.useCallback(async ge=>{if(!u||!(h!=null&&h.config)){Wt.getState().setSelectedModelRef(ge);return}if(!he)try{fe(!0),await Ys.patchSession(u,{model:ge.model,model_ref:ge,provider:ge.provider}),Wt.getState().setSelectedModelRef(ge),v(u,{config:{...h.config,model:ge.model,model_ref:ge}}),dt.success(r("settings.providerTab.modelUpdated"))}catch(ct){dt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${Xe(ct)}`)}finally{fe(!1)}},[h==null?void 0:h.config,Xe,he,dt,u,r,v]),De=y.useMemo(()=>Hk({referenceText:de,isToolSpecificMode:pt,isRestrictConversation:$t,allowedTools:Qt,autoToolPrefix:rn,t:r}),[de,pt,$t,Qt,rn,r]),Ve=qe&&$n?r("chat.respond.customAnswerPlaceholder"):qe?r("components.questionDialog.selectOptionWarning"):De,Ot=qe?r("chat.respond.submitToolResult","Submit tool result"):void 0,Zt=y.useMemo(()=>({low:r("chat.input.reasoning.low"),medium:r("chat.input.reasoning.medium"),high:r("chat.input.reasoning.high"),xhigh:r("chat.input.reasoning.xhigh"),max:r("chat.input.reasoning.max")}),[r]),Qn=y.useMemo(()=>Zt[Le]??Le,[Le,Zt]),Xr=y.useMemo(()=>a.jsx(Ks,{trigger:["click"],placement:"topLeft",disabled:!A||S,menu:{selectable:!0,selectedKeys:[Le],items:oC.map(ge=>({key:ge,label:Zt[ge]})),onClick:({key:ge})=>{le(ge)}},children:a.jsx(je,{type:"text",size:"small",disabled:!A||w,style:{minWidth:i?74:88,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:Le==="medium"?o.colorTextSecondary:o.colorPrimary},title:r("chat.input.reasoningTitle",{label:Qn}),children:a.jsxs(Ue,{size:6,children:[a.jsx(DS,{}),a.jsx("span",{children:Qn}),a.jsx(gs,{style:{fontSize:10}})]})})}),[A,Qn,S,i,w,Le,Zt,le,r,o.colorPrimary,o.colorTextSecondary]),io=A||r(Fe?"chat.model.selectModel":"chat.model.configureProvider"),Zn=y.useMemo(()=>Ct.length>0?Ct.map(ge=>({key:ge.value,label:ge.label})):[{key:"__no_models__",label:me||r("chat.model.noModelsAvailable"),disabled:!0}],[Ct,me,r]),lr=y.useMemo(()=>a.jsx(je,{type:"text",size:"small",disabled:w||he,onClick:()=>{Fe||et()},style:{minWidth:i?112:146,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:me?o.colorError:o.colorTextSecondary},title:io,children:a.jsxs(Ue,{size:6,children:[$?a.jsx(ms,{}):a.jsx(hg,{}),a.jsx("span",{style:{maxWidth:i?84:128,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:io}),a.jsx(gs,{style:{fontSize:10}})]})}),[w,he,Fe,et,i,me,o.colorError,o.colorTextSecondary,io,$]),er=y.useMemo(()=>D()?a.jsx(Kk,{value:O,onChange:Se,disabled:w||he}):Fe?a.jsx(Ks,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:A?[A]:[],items:Zn,style:{maxHeight:"50vh",overflowY:"auto"},onClick:({key:ge})=>{ge!=="__no_models__"&&Nt(String(ge))}},onOpenChange:Ke,disabled:S||he,children:lr}):lr,[D,O,Se,w,he,Fe,A,Zn,Nt,Ke,S,lr]),Cs=y.useMemo(()=>a.jsxs(Ue,{size:0,wrap:!0,children:[er,Xr]}),[er,Xr]),Ul=y.useCallback(ge=>({isValid:!0}),[$t,rn,r]),tr=y.useMemo(()=>m.some(ge=>ge.role==="user"),[m]),na=y.useMemo(()=>({isStreaming:w,isInputLocked:S,canCancel:P,hasMessages:tr,allowRetry:!0,onRetry:ie,onCancel:He,onHistoryNavigate:H}),[w,S,P,tr,ie,He,H]);return a.jsxs("div",{style:{padding:`${o.paddingXXS}px ${o.paddingXS}px`,background:"transparent",borderTop:"none",boxShadow:"none",width:"100%",position:"relative",overflow:"visible"},children:[!A&&a.jsx(ir,{type:"warning",showIcon:!0,icon:a.jsx(Tl,{}),message:r(Fe?"chat.model.noModelSelected":"chat.model.providerNotConfigured"),description:r(Fe?"chat.model.selectModelHint":"chat.model.configureProviderHint"),action:Fe?void 0:a.jsx(Ue,{children:a.jsx("a",{onClick:()=>l("chat"),children:r("chat.model.openSettings")})}),style:{marginBottom:o.marginSM}}),pt,de&&a.jsx(Sk,{text:de,onClose:_e}),Kt.length>0&&a.jsx(y.Suspense,{fallback:a.jsx(Gs,{size:"small"}),children:a.jsx(Zk,{files:Kt,onRemove:Mn,onClear:It})}),qe&&Lt.length>0&&a.jsx("div",{style:{marginBottom:o.marginSM},children:a.jsx(Ue,{wrap:!0,size:[8,8],children:Lt.map(ge=>a.jsx(je,{size:"small",onClick:()=>{$e(ge)},disabled:S,children:ge},ge))})}),a.jsx(bk,{value:ue,onChange:_t.handleInputChange,onSubmit:B,placeholder:Ve,allowImages:!0,disabled:!A||qe&&!$n&&Lt.length>0,statusIndicator:n,submitButtonLabel:Ot,isWorkflowSelectorVisible:_t.showCommandSelector,textAreaRef:s,validateMessage:Ul,onAttachmentsAdded:On,onWorkflowCommandChange:_t.handleCommandChange,onFileReferenceChange:bt.handleFileReferenceChange,onFileReferenceButtonClick:bt.handleFileReferenceButtonClick,leftControlsExtra:Cs,interaction:na}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(eC,{visible:_t.showCommandSelector,onSelect:_t.handleCommandSelect,onCancel:_t.handleCommandSelectorCancel,onAutoComplete:_t.handleAutoComplete,searchText:_t.commandSearchText})}),bt.showFileSelector&&a.jsx(y.Suspense,{fallback:a.jsx(Gs,{size:"small"}),children:a.jsx(nC,{visible:bt.showFileSelector,files:bt.workspaceFiles,searchText:bt.fileSearchText,loading:bt.isWorkspaceLoading,error:bt.workspaceError,onSelect:bt.handleFileReferenceSelect,onCancel:bt.handleFileSelectorCancel,onChangeWorkspace:()=>{bt.setWorkspacePathInput((h==null?void 0:h.config.workspacePath)??""),bt.setIsWorkspaceModalVisible(!0)}})}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(tC,{open:bt.isWorkspaceModalVisible,initialPath:bt.workspacePathInput,loading:bt.isSavingWorkspace,onSubmit:bt.handleWorkspaceModalSubmit,onCancel:bt.handleWorkspaceModalCancel})})]})},fC={maxLines:8,maxCharacters:500},Br=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ar=e=>typeof e=="string"?e:void 0,ss=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,kh=e=>typeof e=="boolean"?e:void 0,xd=e=>{if(!e)return null;const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return null;try{const n=JSON.parse(t);return Br(n)?n:null}catch{return null}},my=e=>/\\u[0-9a-fA-F]{4}|\\n|\\t|\\r/.test(e)?e.replace(/\\u([0-9a-fA-F]{4})/g,(t,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\n/g,`
113
113
  `).replace(/\\t/g," ").replace(/\\r/g,"\r"):e,br=e=>Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>my(t).trim()).filter(Boolean):[],mn=e=>{if(typeof e!="string")return;const t=my(e).trim();return t.length>0?t:void 0},hC=e=>{if(!Br(e))return;const t=mn(e.graph);if(t)return{title:mn(e.title),graph:t}},pC=e=>{if(!Br(e))return;const t=mn(e.summary)??mn(e.conclusion);if(t)return{title:mn(e.title)||"Conclusion",summary:t,key_points:br(e.key_points),next_steps:br(e.next_steps),confidence:mn(e.confidence),mermaid:hC(e.mermaid)}},mC=e=>{const t=xd(e);if(!t)return null;const n=mn(t.conclusion);return!n||t.type!=null&&t.type!=="conclusion"?null:{type:"conclusion",title:mn(t.title)||"Conclusion",conclusion:n,key_points:br(t.key_points),next_steps:br(t.next_steps),confidence:mn(t.confidence)}},gC=e=>{const t=xd(e);if(!t)return null;const n=mn(t.question);if(!n)return null;const r=mn(t.status);return r&&r!=="awaiting_user_input"&&r!=="awaiting_permission_approval"?null:{question:n,options:br(t.options),allow_custom:typeof t.allow_custom=="boolean"?t.allow_custom:!0,conclusion:pC(t.conclusion)}},yC=e=>{var n;if(!e)return null;const t=[`## ${e.title}`,e.summary];if(e.confidence&&t.push(`**Confidence:** ${e.confidence}`),e.key_points.length>0&&t.push(["**Key points**",...e.key_points.map(r=>`- ${r}`)].join(`
114
114
  `)),e.next_steps.length>0&&t.push(["**Next steps**",...e.next_steps.map((r,s)=>`${s+1}. ${r}`)].join(`
115
115
  `)),(n=e.mermaid)!=null&&n.graph){const r=e.mermaid.title?`**${e.mermaid.title}**
@@ -180,7 +180,7 @@ ${t}`},RE=(e,t)=>{const n=PE[e];if(!n)return null;const r=t.trim();if(!r)return"
180
180
  `),he=Ae.isJson?"json":"text",fe="result")}const ue=N.info.status==="process"?o("components.toolSteps.running"):((le=N.metadata)==null?void 0:le.elapsed_ms)!=null?op(N.metadata.elapsed_ms):void 0;return{key:N.key,title:a.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:i.marginXS},children:q?a.jsxs(a.Fragment,{children:[a.jsx(Je,{color:"purple",style:{marginInlineEnd:0,borderRadius:999,paddingInline:6,fontWeight:700,fontSize:i.fontSizeSM-1,lineHeight:"18px"},children:"MCP"}),a.jsx($r,{strong:!0,style:{fontSize:i.fontSizeSM},children:q.toolName})]}):a.jsx($r,{strong:!0,style:{fontSize:i.fontSizeSM},children:N.toolName})}),subTitle:ue?a.jsx($r,{type:"secondary",style:{fontSize:i.fontSizeSM-1},children:ue}):void 0,description:a.jsxs("div",{style:{minWidth:0},children:[a.jsx($r,{ellipsis:!0,style:{fontSize:i.fontSizeSM,display:"block",maxWidth:"100%"},children:Q}),a.jsx("div",{style:{marginTop:i.marginXXS,display:"flex",gap:i.marginXS,alignItems:"center"},children:a.jsx(je,{type:"link",size:"small",icon:a.jsx(od,{}),style:{padding:0,height:"auto",fontSize:i.fontSizeSM},"data-testid":`tool-step-details-${N.key}`,onClick:()=>k(N,Z?"diff":"preview"),children:o("components.toolSteps.details")})}),oe&&!Z&&a.jsx($r,{type:"secondary",style:{display:"block",marginTop:i.marginXS,fontSize:i.fontSizeSM-1},children:oe}),Z&&pe&&a.jsx("div",{style:{marginTop:i.marginXS,padding:i.paddingXS,borderRadius:i.borderRadiusSM,background:i.colorFillTertiary,border:`1px solid ${i.colorBorderSecondary}`},"data-testid":`tool-step-file-change-${N.key}`,children:a.jsxs("div",{style:{display:"grid",gap:i.marginXXS??2},children:[a.jsx($r,{strong:!0,style:{fontSize:i.fontSizeSM},ellipsis:{tooltip:me},children:me}),a.jsx($r,{type:"secondary",style:{fontSize:i.fontSizeSM-1},children:o("components.toolSteps.fileChangeStats",{added:pe.added,removed:pe.removed,defaultValue:`Added ${pe.added} lines, removed ${pe.removed} lines`})}),a.jsx(qi,{payload:Z,compact:!0,showHeader:!1,showViewToggle:!1,defaultViewMode:"unified",maxHeight:FE,unifiedLinesOverride:$??void 0}),a.jsx(je,{type:"link",size:"small",style:{padding:0,height:"auto",fontSize:i.fontSizeSM-1},onClick:()=>k(N,"diff"),children:o("components.toolSteps.viewFullDiff",{defaultValue:"View full diff"})})]})}),ne&&a.jsxs("div",{style:{marginTop:i.marginXS},children:[a.jsx(yi,{value:ne,mode:he,className:"lotus-tool-step-preview",compact:!0,maxHeight:72,scrollable:!1,backgroundColor:"transparent"}),a.jsx(je,{type:"link",size:"small",style:{padding:0,height:"auto",fontSize:i.fontSizeSM-1},onClick:()=>k(N,fe==="result"?"result":"preview"),children:fe==="result"?o("components.toolSteps.viewFullResult",{defaultValue:"View full result"}):o("components.toolSteps.viewFullOutput")})]})]}),status:N.info.status,icon:N.info.icon}}),[d,i,o]),F=s?{background:"transparent"}:{background:"var(--lotus-tool-card-bg)",borderColor:"var(--lotus-tool-card-border)",borderWidth:1,borderStyle:"solid",borderRadius:i.borderRadiusLG,overflow:"hidden"};return a.jsxs("div",{className:"lotus-tool-steps",style:F,children:[!s&&a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:i.marginSM,padding:`${i.paddingSM}px ${i.paddingSM}px`,cursor:"pointer",userSelect:"none"},onClick:()=>u(N=>!N),"data-testid":"tool-steps-header",children:[a.jsx("span",{style:{flexShrink:0},children:l?a.jsx(gs,{style:{color:i.colorTextSecondary,fontSize:i.fontSizeSM}}):a.jsx(Wr,{style:{color:i.colorTextSecondary,fontSize:i.fontSizeSM}})}),a.jsxs($r,{strong:!0,style:{fontSize:i.fontSizeSM},children:["🛠 ",O]})]}),(s||l)&&a.jsx("div",{style:{padding:s?`${i.paddingXS}px 0 0 0`:`${i.paddingXS}px ${i.paddingSM}px ${i.paddingSM}px`},children:a.jsx(yg,{direction:"vertical",size:"small",current:T,status:j?"error":"process",items:D})}),b&&a.jsx(LE,{open:h,onClose:P,call:{toolCallId:b.key,toolName:b.toolName,parameters:b.parameters,streamingOutput:b.streamingOutput},metadata:b.metadata,initialTab:w,result:b.result})]})},Pd=y.memo(BE);Pd.displayName="ToolStepsCard";const{Text:Ec}=ft,zE=({content:e,workflowName:t,parameters:n,status:r="success",timestamp:s,onRetry:o,isLoading:i,errorMessage:l})=>{const{t:u}=Ge(),{token:d}=ut.useToken(),[h,m]=y.useState(!1),b=y.useMemo(()=>Zs(e),[e]),v=y.useMemo(()=>typeof i=="boolean"?i:b.formattedText.trim().length===0,[b.formattedText,i]),w=y.useMemo(()=>xC(b.formattedText),[b.formattedText]),S=b.isJson||w,k=!S||h,P=y.useMemo(()=>wC(b.formattedText),[b.formattedText]),T=y.useMemo(()=>{if(n==null)return null;if(typeof n=="string")return Zs(n);try{return{isJson:!0,formattedText:JSON.stringify(n,null,2),parsedJson:n}}catch(E){return console.error("[WorkflowResultCard] Failed to stringify parameters:",E),{isJson:!1,formattedText:String(n)}}},[n]),j=async()=>{try{const E=b.isJson?hs(b.parsedJson):b.formattedText;await Pr(E)}catch(E){console.error("[WorkflowResultCard] Failed to copy content:",E)}},C=async()=>{if(T)try{const E=T.isJson?hs(T.parsedJson):T.formattedText;await Pr(E)}catch(E){console.error("[WorkflowResultCard] Failed to copy parameters:",E)}};return a.jsx(nn,{size:"small",variant:"outlined",style:{borderRadius:d.borderRadiusLG,borderColor:d.colorBorderSecondary,backgroundColor:d.colorBgContainer},styles:{body:{padding:d.paddingMD}},children:a.jsxs(Ue,{direction:"vertical",style:{width:"100%"},size:d.marginSM,children:[a.jsxs(Me,{align:"center",justify:"space-between",children:[a.jsxs(Ue,{size:d.marginXS,align:"center",children:[a.jsx(QS,{style:{color:d.colorWarning}}),a.jsx(Ec,{strong:!0,children:u("components.workflowResult.userWorkflow")}),a.jsx(Je,{color:d.colorWarning,children:t}),a.jsx(Je,{color:Sy(r),children:r})]}),a.jsxs(Ue,{size:"small",children:[a.jsx(xn,{title:u(h?"components.workflowResult.collapseResult":"components.workflowResult.expandResult"),children:S&&a.jsx(je,{type:"text",size:"small",icon:h?a.jsx(ZS,{}):a.jsx(ex,{}),onClick:()=>m(E=>!E)})}),a.jsx(xn,{title:u("components.workflowResult.copyResult"),children:a.jsx(je,{type:"text",size:"small",icon:a.jsx(Tr,{}),onClick:j,"aria-label":u("components.workflowResult.copyContent")})}),o&&a.jsx(xn,{title:u("components.workflowResult.retryWorkflow"),children:a.jsx(je,{type:"text",size:"small",icon:a.jsx(rd,{}),onClick:o,"aria-label":u("components.workflowResult.retryWorkflow")})})]})]}),s&&a.jsx(Ec,{type:"secondary",style:{fontSize:d.fontSizeSM},children:new Date(s).toLocaleString()}),a.jsx(cl,{style:{margin:`${d.marginXS}px 0`}}),l&&a.jsx(ir,{type:"error",message:u("components.workflowResult.executionFailed"),description:l,showIcon:!0,style:{marginBottom:d.marginXS}}),a.jsx(Me,{vertical:!0,style:{width:"100%"},children:v?a.jsx(Gs,{tip:u("components.workflowResult.waitingForResult")}):b.isJson?a.jsx(al,{language:"json",style:Yi,wrapLongLines:!0,customStyle:{margin:0,borderRadius:d.borderRadiusSM,backgroundColor:d.colorBgContainer,fontSize:d.fontSizeSM,maxHeight:k?"none":280,overflow:k?"auto":"hidden"},children:b.formattedText}):a.jsxs("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:d.fontSizeSM,maxHeight:k?"none":280,overflow:k?"visible":"hidden",marginBottom:0},children:[k?b.formattedText:P.preview,!k&&P.isTruncated&&`
181
181
  …`]})}),T&&a.jsxs(Me,{vertical:!0,style:{width:"100%"},children:[a.jsx(cl,{style:{margin:`${d.marginXS}px 0`},children:a.jsxs(Ue,{size:"small",children:[a.jsx(Ec,{strong:!0,children:u("common.parameters")}),a.jsx(xn,{title:u("components.workflowResult.copyParameters"),children:a.jsx(je,{type:"text",size:"small",icon:a.jsx(Tr,{}),onClick:C,"aria-label":u("components.workflowResult.copyParameters")})})]})}),T.isJson?a.jsx(al,{language:"json",style:Yi,wrapLongLines:!0,customStyle:{margin:0,borderRadius:d.borderRadiusSM,backgroundColor:d.colorBgContainer,fontSize:d.fontSizeSM,maxHeight:220,overflow:"auto"},children:T.formattedText}):a.jsx("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:d.fontSizeSM,marginBottom:0},children:T.formattedText})]})]})})},Zy=y.memo(zE);Zy.displayName="WorkflowResultCard";const WE=e=>Array.isArray(e)?e.map(t=>String(t??"")):[],UE=({sessionId:e,question:t,options:n,allowCustom:r,toolCallId:s})=>JSON.stringify({sessionId:e??null,question:t??"",options:WE(n),allowCustom:r??!0,toolCallId:s??null}),{Text:jc}=ft,qE=({sessionId:e,question:t,options:n,allowCustom:r,toolCallId:s,conclusionMarkdown:o,markdownComponents:i,markdownPlugins:l,rehypePlugins:u})=>{const{t:d}=Ge(),[h,m]=y.useState(null),b=y.useMemo(()=>UE({sessionId:e,question:t,options:n,allowCustom:r,toolCallId:s}),[e,t,n,r,s]),v=h===b;return y.useEffect(()=>{if(typeof window>"u")return;const w=S=>{var T;const P=((T=S.detail)==null?void 0:T.sessionId)??null;!e||P!==e||m(b)};return window.addEventListener(wu,w),()=>{window.removeEventListener(wu,w)}},[e,b]),a.jsxs(Ue,{direction:"vertical",size:"middle",style:{width:"100%"},children:[o?a.jsx(vr,{remarkPlugins:l,rehypePlugins:u,components:i,children:o}):null,a.jsxs("div",{children:[a.jsx(jc,{strong:!0,children:d("components.questionDialog.questionLabel","Question")}),a.jsx("div",{style:{marginTop:8},children:a.jsx(vr,{remarkPlugins:l,rehypePlugins:u,components:i,children:t})})]}),v?a.jsx(jc,{type:"secondary",children:d("components.questionDialog.responseSubmittedContinue","Response submitted. Continuing...")}):a.jsx(jc,{type:"secondary",children:r?d("components.questionDialog.responseInInputHint","Use the options or input box below to respond."):d("components.questionDialog.responseByOptionHint","Please respond using the options below the input box.")})]})},{Text:rr}=ft,HE=e=>{var o;if(!e)return{cleanText:e,hints:[]};const t=e.split(`
182
182
  `),n=[],r=[];for(const i of t){const l=i.trim(),u=l.match(/^\[User explicitly selected MCP tool:\s*(.+?)\s*\]$/);if(u){const h=u[1]??"",m=to(h);n.push({type:"mcp",label:h,serverId:m==null?void 0:m.serverId,toolName:m==null?void 0:m.toolName});continue}const d=l.match(/^\[User explicitly selected skill:\s*(.+?)\s*\]$/);if(d){const h=d[1]??"",m=h.match(/\(ID:\s*([^)]+)\)\s*$/i),b=(o=m==null?void 0:m[1])==null?void 0:o.trim(),v=m?h.replace(/\(ID:\s*([^)]+)\)\s*$/i,"").trim():h;n.push({type:"skill",label:v||h,skillId:b});continue}r.push(i)}return{cleanText:r.join(`
183
- `).trimStart(),hints:n}},YE=({sessionId:e,message:t,messageText:n,isUserToolCall:r,formatUserToolCall:s,markdownComponents:o,markdownPlugins:i,rehypePlugins:l})=>{var w;const{t:u}=Ge(),d=S=>(S??"").trim().toLowerCase()==="conclusion";if(My(t)){const S=t.result.result??"",k=t.isError?S||u("components.toolResult.executionFailed"):void 0,P=!k&&S.trim().length===0;if(t.result.display_preference==="Hidden")return null;const T=(t.toolName??"").trim().toLowerCase(),j=T==="conclusion",C=gC(S),E=(T==="conclusion_with_options"||T==="exitplanmode"||T==="request_permissions")&&!t.isError&&C,A=T==="conclusion"?gy(S):null;return E&&C?a.jsx(qE,{sessionId:e,question:C.question,options:C.options,allowCustom:C.allow_custom,toolCallId:t.toolCallId,conclusionMarkdown:yC(C.conclusion),markdownComponents:o,markdownPlugins:i,rehypePlugins:l}):A?a.jsx(Ue,{direction:"vertical",style:{width:"100%"},size:"small",children:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:A})}):a.jsx(Jy,{content:S,toolName:t.toolName,status:t.isError?"error":P?"warning":"success",timestamp:t.createdAt,defaultCollapsed:!j,isLoading:P,errorMessage:k})}if(OP(t)){const S=t.content??"",k=t.status==="error"?S||u("components.workflowResult.executionFailed"):void 0,P=!k&&S.trim().length===0;return a.jsx(Zy,{content:S,workflowName:t.workflowName,parameters:t.parameters,status:P?"warning":t.status??"success",timestamp:t.createdAt,isLoading:P,errorMessage:k})}if(IP(t)){const S=t.toolCalls.filter(k=>!d(k.toolName));return S.length===0?null:a.jsx(Pd,{toolCalls:S,metadata:t.metadata,defaultExpanded:!1})}if(t.isAuthError)return a.jsxs(Ue,{direction:"vertical",style:{width:"100%"},size:"middle",children:[a.jsx(ir,{message:u("chat.messageCard.authRequired"),description:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:n}),type:"error",showIcon:!0}),a.jsx(je,{type:"primary",icon:a.jsx(Tl,{}),onClick:()=>{window.location.hash="/settings"},children:u("chat.messageCard.goToSettings")})]});const{cleanText:h,hints:m}=t.role==="user"?HE(n):{cleanText:n,hints:[]},b=t.role==="assistant"&&"type"in t&&t.type==="text"&&"metadata"in t&&typeof((w=t.metadata)==null?void 0:w.reasoning)=="string"?t.metadata.reasoning:"",v=b.trim().length>0;return t.role==="assistant"&&!n&&!v?a.jsx(rr,{italic:!0,children:u("chat.messageCard.assistantThinking")}):a.jsxs(Ue,{direction:"vertical",style:{width:"100%"},size:"small",children:[v?a.jsx(eo,{size:"small",defaultActiveKey:["reasoning"],items:[{key:"reasoning",label:a.jsx(rr,{strong:!0,children:u("chat.messageCard.reasoning")}),children:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:b})}]}):null,m.map((S,k)=>S.type==="mcp"?a.jsx(ir,{type:"info",showIcon:!1,message:a.jsxs(Ue,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"purple",children:"MCP"}),a.jsx(rr,{strong:!0,children:u("chat.messageCard.selectedTool")}),S.serverId&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.serverId})}),S.toolName&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.toolName})})]}),style:{marginBottom:0}},`hint-mcp-${k}`):a.jsx(ir,{type:"success",showIcon:!1,message:a.jsxs(Ue,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"success",children:"Skill"}),a.jsx(rr,{strong:!0,children:u("chat.messageCard.selected")}),S.label&&a.jsx(rr,{children:S.label}),S.skillId&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.skillId})})]}),style:{marginBottom:0}},`hint-skill-${k}`)),h?a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:r?s(h):h}):null]})},XE=y.memo(YE),{Text:Rc}=ft,KE=({role:e,formattedTimestamp:t,token:n})=>{const{t:r}=Ge(),s=e==="user",o=e==="assistant",i=e==="system",l=r(s?"chat.view.roleUser":o?"chat.view.brandName":"chat.view.roleDefault"),u=s?r("chat.view.roleUser").slice(0,1):o?r("chat.view.brandName").slice(0,1):e.slice(0,1).toUpperCase();return a.jsxs(Me,{align:"center",justify:"space-between",gap:n.marginXS,style:{marginBottom:n.marginXS},children:[a.jsxs(Me,{align:"center",gap:10,children:[a.jsx("div",{style:{width:30,height:30,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,letterSpacing:"0.3px",background:s?"var(--lotus-avatar-user-bg)":o?"var(--lotus-avatar-assistant-bg)":"var(--lotus-avatar-system-bg)",color:"white",boxShadow:s?"var(--lotus-avatar-user-shadow)":o?"var(--lotus-avatar-assistant-shadow)":"var(--lotus-avatar-system-shadow)",border:"var(--lotus-avatar-border)"},children:u}),a.jsxs(Me,{vertical:!0,gap:0,children:[a.jsx(Rc,{strong:!0,style:{fontSize:13,color:s?"var(--lotus-primary)":n.colorText,letterSpacing:"0.2px",lineHeight:1.1},children:l}),a.jsx(Rc,{type:"secondary",style:{fontSize:11,lineHeight:1.1},children:r(s?"chat.view.subTitleUser":o?"chat.view.roleAssistant":i?"chat.view.roleSystem":"chat.view.roleDefault")})]})]}),t&&a.jsx(Rc,{type:"secondary",style:{fontSize:11,whiteSpace:"nowrap",opacity:.92,padding:"4px 8px",borderRadius:999,background:"var(--lotus-timestamp-bg)",border:"1px solid var(--lotus-timestamp-border)"},children:t})]})},Md=e=>{if(e.includes("```json")){const t=e.indexOf("```json")+7,n=e.indexOf("```",t);if(n>t)return e.substring(t,n).trim()}else if(e.includes("{")){const t=e.indexOf("{"),n=e.lastIndexOf("}");if(n>t)return e.substring(t,n+1).trim()}return null},VE=e=>e==="text"||e==="plan"||e==="question"||e==="tool_call"||e==="tool_result",GE=(e,t)=>{if(t)return t;if("message_type"in e&&e.message_type){const n=e.message_type;if(VE(n))return n}if(e.role==="assistant"&&e.type==="text"){const n=typeof e.content=="string"?e.content:"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.goal&&s.steps&&Array.isArray(s.steps))return"plan";if(s.type==="question"&&s.question)return"question"}}catch{return"text"}}return"text"},JE=(e,t)=>{if(t!=="plan"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.goal&&s.steps)return{goal:s.goal,steps:s.steps.map(o=>({step_number:o.step_number||o.stepNumber||0,action:o.action||"",reason:o.reason||o.rationale||"",tools_needed:o.tools_needed||o.tools||[],estimated_time:o.estimated_time||o.estimatedTime||""})),estimated_total_time:s.estimated_total_time||s.estimatedTotalTime||"",risks:s.risks||[],prerequisites:s.prerequisites||[]}}}catch(r){console.error("Failed to parse plan:",r)}return null},QE=(e,t)=>{if(t!=="question"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.type==="question"&&s.question)return{type:"question",question:s.question,context:s.context||"",severity:s.severity||"minor",options:s.options||[],default:s.default,allow_custom:s.allow_custom||!1}}}catch(r){console.error("Failed to parse question:",r)}return null},eb=e=>{if(e.role==="system")return typeof e.content=="string"?e.content:"";if(e.role==="user")return"type"in e&&e.type==="file_reference"?"":typeof e.content=="string"?e.content:"";if(e.role==="assistant"){if(e.type==="text")return typeof e.content=="string"?e.content:"";if(e.type==="tool_result")return(e.toolName??"").trim().toLowerCase()==="conclusion"?gy(e.result.result)??e.result.result:`Tool ${e.toolName} Result: ${e.result.result}`;if(e.type==="tool_call")return`Requesting to call ${e.toolCalls.map(t=>t.toolName).join(", ")}`;if(e.type==="workflow_result")return e.content}return""},ZE=e=>{if(!e.startsWith("/"))return e;const t=e.split(" "),n=t[0].substring(1),r=t.slice(1).join(" ");if(n.startsWith("mcp__")){const o=n.slice(5),i=o.indexOf("__");if(i>0){const l=o.slice(0,i),u=o.slice(i+2);if(l&&u)return`🔌 MCP ${l}/${u}: ${r}`}}return`🔧 ${n.replace(/_/g," ").replace(/\b\w/g,o=>o.toUpperCase())}: ${r}`},ip=e=>e.map(t=>({name:t.name,extensions:[...t.extensions]})),ap=e=>e.trim().slice(0,64).replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/-+/g,"-")||"message",ej={},tj='[data-mermaid-loading="true"]';class tb{static async exportMessageText(t){const{format:n,content:r,sessionId:s=null,messageId:o=null,filenamePrefix:i}=t,l=i||["chat-message",s?ap(s.slice(0,8)):null,o?ap(o.slice(0,8)):null].filter(Boolean).join("-"),u=n==="markdown"?yr.generateTimestampedFilename(l,"md"):yr.generateTimestampedFilename(l,"pdf");if(n==="markdown"){const d=await yr.saveTextFile(r,ip(yr.FILTERS.MARKDOWN),u);return d.success?{success:!0,filename:d.filename}:{success:!1,error:d.error}}try{const d=await this.generatePdfFromText(r),h=await yr.saveBinaryFile(d,ip(yr.FILTERS.PDF),u);return h.success?{success:!0,filename:h.filename}:{success:!1,error:h.error}}catch(d){return{success:!1,error:d instanceof Error?d.message:xt.t("chat.messageActions.exportFailed")}}}static async generatePdfFromText(t){if(typeof document>"u")throw new Error(xt.t("chat.messageActions.pdfUnavailable"));const n=(await Jt(async()=>{const{default:v}=await import("./vendor-pdf-DB-djSmA.js").then(w=>w.h);return{default:v}},__vite__mapDeps([15,4,3,2]),import.meta.url)).default,{jsPDF:r}=await Jt(async()=>{const{jsPDF:v}=await import("./vendor-pdf-DB-djSmA.js").then(w=>w.j);return{jsPDF:v}},__vite__mapDeps([15,4,3,2]),import.meta.url),{createRoot:s}=await Jt(async()=>{const{createRoot:v}=await import("./main-DZ0RS3MR.js").then(w=>w.c);return{createRoot:v}},__vite__mapDeps([5,4,3,2,1,6]),import.meta.url),{flushSync:o}=await Jt(async()=>{const{flushSync:v}=await import("./vendor-antd-C8lKwvI6.js").then(w=>w.R);return{flushSync:v}},__vite__mapDeps([3,2]),import.meta.url),i=Gy(ej,{mermaidRenderMode:"eager"}),l=document.createElement("div");l.style.position="fixed",l.style.left="0",l.style.top="0",l.style.right="0",l.style.bottom="0",l.style.zIndex="2147483647",l.style.background="rgba(0,0,0,0.15)",l.style.display="flex",l.style.alignItems="center",l.style.justifyContent="center",l.style.fontFamily="system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif",l.style.fontSize="14px",l.style.color="#111";const u=document.createElement("div");u.style.background="#fff",u.style.border="1px solid rgba(0,0,0,0.12)",u.style.borderRadius="10px",u.style.padding="12px 14px",u.style.boxShadow="0 8px 24px rgba(0,0,0,0.12)",u.textContent=xt.t("chat.messageActions.exportingPdf"),l.appendChild(u);const d=document.createElement("div");d.style.position="fixed",d.style.left="0",d.style.top="0",d.style.zIndex="2147483646",d.style.pointerEvents="none",d.style.width="794px",d.style.background="#fff",d.style.color="#111",d.style.padding="24px",d.style.boxSizing="border-box",d.style.fontFamily="system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif",d.style.fontSize="14px",d.style.lineHeight="1.35";const h=document.createElement("style");h.textContent=`
183
+ `).trimStart(),hints:n}},YE=({sessionId:e,message:t,messageText:n,isUserToolCall:r,formatUserToolCall:s,markdownComponents:o,markdownPlugins:i,rehypePlugins:l})=>{var w;const{t:u}=Ge(),d=S=>(S??"").trim().toLowerCase()==="conclusion";if(My(t)){const S=t.result.result??"",k=t.isError?S||u("components.toolResult.executionFailed"):void 0,P=!k&&S.trim().length===0;if(t.result.display_preference==="Hidden")return null;const T=(t.toolName??"").trim().toLowerCase(),j=T==="conclusion",C=gC(S),E=(T==="conclusion_with_options"||T==="exitplanmode"||T==="request_permissions")&&!t.isError&&C,A=T==="conclusion"?gy(S):null;return E&&C?a.jsx(qE,{sessionId:e,question:C.question,options:C.options,allowCustom:C.allow_custom,toolCallId:t.toolCallId,conclusionMarkdown:yC(C.conclusion),markdownComponents:o,markdownPlugins:i,rehypePlugins:l}):A?a.jsx(Ue,{direction:"vertical",style:{width:"100%"},size:"small",children:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:A})}):a.jsx(Jy,{content:S,toolName:t.toolName,status:t.isError?"error":P?"warning":"success",timestamp:t.createdAt,defaultCollapsed:!j,isLoading:P,errorMessage:k})}if(OP(t)){const S=t.content??"",k=t.status==="error"?S||u("components.workflowResult.executionFailed"):void 0,P=!k&&S.trim().length===0;return a.jsx(Zy,{content:S,workflowName:t.workflowName,parameters:t.parameters,status:P?"warning":t.status??"success",timestamp:t.createdAt,isLoading:P,errorMessage:k})}if(IP(t)){const S=t.toolCalls.filter(k=>!d(k.toolName));return S.length===0?null:a.jsx(Pd,{toolCalls:S,metadata:t.metadata,defaultExpanded:!1})}if(t.isAuthError)return a.jsxs(Ue,{direction:"vertical",style:{width:"100%"},size:"middle",children:[a.jsx(ir,{message:u("chat.messageCard.authRequired"),description:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:n}),type:"error",showIcon:!0}),a.jsx(je,{type:"primary",icon:a.jsx(Tl,{}),onClick:()=>{window.location.hash="/settings"},children:u("chat.messageCard.goToSettings")})]});const{cleanText:h,hints:m}=t.role==="user"?HE(n):{cleanText:n,hints:[]},b=t.role==="assistant"&&"type"in t&&t.type==="text"&&"metadata"in t&&typeof((w=t.metadata)==null?void 0:w.reasoning)=="string"?t.metadata.reasoning:"",v=b.trim().length>0;return t.role==="assistant"&&!n&&!v?a.jsx(rr,{italic:!0,children:u("chat.messageCard.assistantThinking")}):a.jsxs(Ue,{direction:"vertical",style:{width:"100%"},size:"small",children:[v?a.jsx(eo,{size:"small",defaultActiveKey:["reasoning"],items:[{key:"reasoning",label:a.jsx(rr,{strong:!0,children:u("chat.messageCard.reasoning")}),children:a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:b})}]}):null,m.map((S,k)=>S.type==="mcp"?a.jsx(ir,{type:"info",showIcon:!1,message:a.jsxs(Ue,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"purple",children:"MCP"}),a.jsx(rr,{strong:!0,children:u("chat.messageCard.selectedTool")}),S.serverId&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.serverId})}),S.toolName&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.toolName})})]}),style:{marginBottom:0}},`hint-mcp-${k}`):a.jsx(ir,{type:"success",showIcon:!1,message:a.jsxs(Ue,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"success",children:"Skill"}),a.jsx(rr,{strong:!0,children:u("chat.messageCard.selected")}),S.label&&a.jsx(rr,{children:S.label}),S.skillId&&a.jsx(rr,{type:"secondary",children:a.jsx(rr,{code:!0,children:S.skillId})})]}),style:{marginBottom:0}},`hint-skill-${k}`)),h?a.jsx(vr,{remarkPlugins:i,rehypePlugins:l,components:o,children:r?s(h):h}):null]})},XE=y.memo(YE),{Text:Rc}=ft,KE=({role:e,formattedTimestamp:t,token:n})=>{const{t:r}=Ge(),s=e==="user",o=e==="assistant",i=e==="system",l=r(s?"chat.view.roleUser":o?"chat.view.brandName":"chat.view.roleDefault"),u=s?r("chat.view.roleUser").slice(0,1):o?r("chat.view.brandName").slice(0,1):e.slice(0,1).toUpperCase();return a.jsxs(Me,{align:"center",justify:"space-between",gap:n.marginXS,style:{marginBottom:n.marginXS},children:[a.jsxs(Me,{align:"center",gap:10,children:[a.jsx("div",{style:{width:30,height:30,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,letterSpacing:"0.3px",background:s?"var(--lotus-avatar-user-bg)":o?"var(--lotus-avatar-assistant-bg)":"var(--lotus-avatar-system-bg)",color:"white",boxShadow:s?"var(--lotus-avatar-user-shadow)":o?"var(--lotus-avatar-assistant-shadow)":"var(--lotus-avatar-system-shadow)",border:"var(--lotus-avatar-border)"},children:u}),a.jsxs(Me,{vertical:!0,gap:0,children:[a.jsx(Rc,{strong:!0,style:{fontSize:13,color:s?"var(--lotus-primary)":n.colorText,letterSpacing:"0.2px",lineHeight:1.1},children:l}),a.jsx(Rc,{type:"secondary",style:{fontSize:11,lineHeight:1.1},children:r(s?"chat.view.subTitleUser":o?"chat.view.roleAssistant":i?"chat.view.roleSystem":"chat.view.roleDefault")})]})]}),t&&a.jsx(Rc,{type:"secondary",style:{fontSize:11,whiteSpace:"nowrap",opacity:.92,padding:"4px 8px",borderRadius:999,background:"var(--lotus-timestamp-bg)",border:"1px solid var(--lotus-timestamp-border)"},children:t})]})},Md=e=>{if(e.includes("```json")){const t=e.indexOf("```json")+7,n=e.indexOf("```",t);if(n>t)return e.substring(t,n).trim()}else if(e.includes("{")){const t=e.indexOf("{"),n=e.lastIndexOf("}");if(n>t)return e.substring(t,n+1).trim()}return null},VE=e=>e==="text"||e==="plan"||e==="question"||e==="tool_call"||e==="tool_result",GE=(e,t)=>{if(t)return t;if("message_type"in e&&e.message_type){const n=e.message_type;if(VE(n))return n}if(e.role==="assistant"&&e.type==="text"){const n=typeof e.content=="string"?e.content:"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.goal&&s.steps&&Array.isArray(s.steps))return"plan";if(s.type==="question"&&s.question)return"question"}}catch{return"text"}}return"text"},JE=(e,t)=>{if(t!=="plan"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.goal&&s.steps)return{goal:s.goal,steps:s.steps.map(o=>({step_number:o.step_number||o.stepNumber||0,action:o.action||"",reason:o.reason||o.rationale||"",tools_needed:o.tools_needed||o.tools||[],estimated_time:o.estimated_time||o.estimatedTime||""})),estimated_total_time:s.estimated_total_time||s.estimatedTotalTime||"",risks:s.risks||[],prerequisites:s.prerequisites||[]}}}catch(r){console.error("Failed to parse plan:",r)}return null},QE=(e,t)=>{if(t!=="question"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Md(n);if(r){const s=JSON.parse(r);if(s.type==="question"&&s.question)return{type:"question",question:s.question,context:s.context||"",severity:s.severity||"minor",options:s.options||[],default:s.default,allow_custom:s.allow_custom||!1}}}catch(r){console.error("Failed to parse question:",r)}return null},eb=e=>{if(e.role==="system")return typeof e.content=="string"?e.content:"";if(e.role==="user")return"type"in e&&e.type==="file_reference"?"":typeof e.content=="string"?e.content:"";if(e.role==="assistant"){if(e.type==="text")return typeof e.content=="string"?e.content:"";if(e.type==="tool_result")return(e.toolName??"").trim().toLowerCase()==="conclusion"?gy(e.result.result)??e.result.result:`Tool ${e.toolName} Result: ${e.result.result}`;if(e.type==="tool_call")return`Requesting to call ${e.toolCalls.map(t=>t.toolName).join(", ")}`;if(e.type==="workflow_result")return e.content}return""},ZE=e=>{if(!e.startsWith("/"))return e;const t=e.split(" "),n=t[0].substring(1),r=t.slice(1).join(" ");if(n.startsWith("mcp__")){const o=n.slice(5),i=o.indexOf("__");if(i>0){const l=o.slice(0,i),u=o.slice(i+2);if(l&&u)return`🔌 MCP ${l}/${u}: ${r}`}}return`🔧 ${n.replace(/_/g," ").replace(/\b\w/g,o=>o.toUpperCase())}: ${r}`},ip=e=>e.map(t=>({name:t.name,extensions:[...t.extensions]})),ap=e=>e.trim().slice(0,64).replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/-+/g,"-")||"message",ej={},tj='[data-mermaid-loading="true"]';class tb{static async exportMessageText(t){const{format:n,content:r,sessionId:s=null,messageId:o=null,filenamePrefix:i}=t,l=i||["chat-message",s?ap(s.slice(0,8)):null,o?ap(o.slice(0,8)):null].filter(Boolean).join("-"),u=n==="markdown"?yr.generateTimestampedFilename(l,"md"):yr.generateTimestampedFilename(l,"pdf");if(n==="markdown"){const d=await yr.saveTextFile(r,ip(yr.FILTERS.MARKDOWN),u);return d.success?{success:!0,filename:d.filename}:{success:!1,error:d.error}}try{const d=await this.generatePdfFromText(r),h=await yr.saveBinaryFile(d,ip(yr.FILTERS.PDF),u);return h.success?{success:!0,filename:h.filename}:{success:!1,error:h.error}}catch(d){return{success:!1,error:d instanceof Error?d.message:xt.t("chat.messageActions.exportFailed")}}}static async generatePdfFromText(t){if(typeof document>"u")throw new Error(xt.t("chat.messageActions.pdfUnavailable"));const n=(await Jt(async()=>{const{default:v}=await import("./vendor-pdf-DB-djSmA.js").then(w=>w.h);return{default:v}},__vite__mapDeps([15,4,3,2]),import.meta.url)).default,{jsPDF:r}=await Jt(async()=>{const{jsPDF:v}=await import("./vendor-pdf-DB-djSmA.js").then(w=>w.j);return{jsPDF:v}},__vite__mapDeps([15,4,3,2]),import.meta.url),{createRoot:s}=await Jt(async()=>{const{createRoot:v}=await import("./main-C-I4C72U.js").then(w=>w.c);return{createRoot:v}},__vite__mapDeps([5,4,3,2,1,6]),import.meta.url),{flushSync:o}=await Jt(async()=>{const{flushSync:v}=await import("./vendor-antd-C8lKwvI6.js").then(w=>w.R);return{flushSync:v}},__vite__mapDeps([3,2]),import.meta.url),i=Gy(ej,{mermaidRenderMode:"eager"}),l=document.createElement("div");l.style.position="fixed",l.style.left="0",l.style.top="0",l.style.right="0",l.style.bottom="0",l.style.zIndex="2147483647",l.style.background="rgba(0,0,0,0.15)",l.style.display="flex",l.style.alignItems="center",l.style.justifyContent="center",l.style.fontFamily="system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif",l.style.fontSize="14px",l.style.color="#111";const u=document.createElement("div");u.style.background="#fff",u.style.border="1px solid rgba(0,0,0,0.12)",u.style.borderRadius="10px",u.style.padding="12px 14px",u.style.boxShadow="0 8px 24px rgba(0,0,0,0.12)",u.textContent=xt.t("chat.messageActions.exportingPdf"),l.appendChild(u);const d=document.createElement("div");d.style.position="fixed",d.style.left="0",d.style.top="0",d.style.zIndex="2147483646",d.style.pointerEvents="none",d.style.width="794px",d.style.background="#fff",d.style.color="#111",d.style.padding="24px",d.style.boxSizing="border-box",d.style.fontFamily="system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif",d.style.fontSize="14px",d.style.lineHeight="1.35";const h=document.createElement("style");h.textContent=`
184
184
  .md-export { color: #111; }
185
185
  .md-export h1 { font-size: 24px; margin: 0 0 16px; }
186
186
  .md-export h2 { font-size: 18px; margin: 18px 0 12px; }
@@ -214,11 +214,11 @@ ${s}
214
214
  \`\`\``));return i?l:e.match(o)?e.replace(o,d=>i?d:(i=!0,`\`\`\`mermaid
215
215
  ${s}
216
216
  \`\`\``)):null},$p="_text",kl=e=>!!(e&&e.role==="assistant"&&"type"in e&&e.type==="text"),Lp=(e,t,n)=>{var s;const r=typeof((s=t.metadata)==null?void 0:s.backendMessageId)=="string"?t.metadata.backendMessageId.trim():"";if(r)return r;if(e.endsWith($p)){const o=e.slice(0,-$p.length);if(o&&n.some(i=>i.id===o))return o}return e},pR=(e,t)=>{const n=t.trim();if(!n)return!1;const r=e.matchAll(/```mermaid\s*([\s\S]*?)```/gi);for(const s of r)if((s[1]||"").trim()===n)return!0;return!1},mR=e=>(e instanceof Error?e.message:String(e)).toLowerCase().includes("message not found"),gR=(e,t,n,r)=>{const s=e.find(o=>o.id===t);return kl(s)?s:e.find(o=>kl(o)&&(o.content===n||pR(o.content,r)))},yR=(e,t)=>{const n=(t??"").trim(),r=["Original Mermaid code:","```mermaid",e.trim(),"```"];return n&&r.push("","Mermaid parser/render error:",n),r.push("","Please fix the Mermaid syntax while preserving the original meaning and labels."),r.join(`
217
- `)},bR=async(e,t,n)=>{var l,u,d;const r=t==null?void 0:t.trim();if(!r)throw new Error("No model configured. Please select a default model in Provider Settings.");const i=((d=(u=(l=(await fR().chat.completions.create({model:r,messages:[{role:"system",content:"You fix Mermaid diagrams using the parser/render error context. Return only corrected Mermaid code without markdown fences or extra text."},{role:"user",content:yR(e,n)}],temperature:0})).choices)==null?void 0:l[0])==null?void 0:u.message)==null?void 0:d.content)??"";return Cv(i)},vR=(e,t)=>{const n=Ok(),r=$k(),s=(r==null?void 0:r.model)??n;return y.useCallback(async(o,i)=>{const l=ae.getState(),u=t??l.currentSessionId,d=l.chats.find(T=>T.id===u);if(!u||!d)throw new Error("No active chat available");const h=d.messages.find(T=>T.id===e);if(!kl(h))throw new Error("Mermaid fix is only available for assistant text messages");const m=await bR(o,s,i);if(!m)throw new Error("AI did not return a Mermaid fix");const b=hR(h.content,o,m);if(!b)throw new Error("Unable to locate Mermaid block to update");let v=Lp(e,h,d.messages);try{await Ys.patchSessionMessage(u,v,{content:b})}catch(T){if(!mR(T))throw T;await l.loadChatHistory(u,{mode:"replace",retries:2,retryDelayMs:150,waitForAssistant:!0});const C=ae.getState().chats.find(A=>A.id===u);if(!C)throw T;const E=gR(C.messages,e,h.content,o);if(!E)throw T;v=Lp(E.id,E,C.messages),await Ys.patchSessionMessage(u,v,{content:b})}const w=ae.getState(),S=w.chats.find(T=>T.id===u);if(!S)throw new Error("No active chat available");const k=new Set([e,v]),P=S.messages.map(T=>!k.has(T.id)||!kl(T)?T:{...T,content:b});w.updateSession(u,{messages:P})},[e,t,s])},SR=e=>e.xs?"100%":e.sm?"95%":"800px",xR=[{key:"shorter",labelKey:"feedback.retry.shorter",fallbackLabel:"Shorter",color:"blue",prefix:"Please give a shorter, more concise answer:"},{key:"deeper",labelKey:"feedback.retry.deeper",fallbackLabel:"Deeper",color:"purple",prefix:"Please provide a more detailed, in-depth answer:"},{key:"actionable",labelKey:"feedback.retry.actionable",fallbackLabel:"More actionable",color:"green",prefix:"Please make your answer more actionable with specific steps:"}],wR=({messageId:e,isVisible:t,onRetryWithVariation:n})=>{const{t:r}=Ge(),[s,o]=y.useState(null),[i,l]=y.useState(!1),u=y.useCallback(()=>{o(v=>v==="like"?null:"like"),l(!1)},[]),d=y.useCallback(()=>{o(v=>{const w=v==="dislike"?null:"dislike";return l(w==="dislike"),w})},[]),h=y.useCallback(v=>{n&&n(v.prefix)},[n]),b=["lotus-msg-feedback",t?"is-visible":"",s!==null?"has-rating":""].filter(Boolean).join(" ");return a.jsxs("div",{className:b,"data-message-id":e,children:[a.jsx(xn,{title:r("feedback.helpful","Helpful"),children:a.jsx("button",{type:"button",className:`lotus-msg-feedback-btn ${s==="like"?"is-liked":""}`,onClick:u,"aria-label":r("feedback.helpful","Helpful"),children:s==="like"?a.jsx(rx,{}):a.jsx(sx,{})})}),a.jsx(xn,{title:r("feedback.notHelpful","Not helpful"),children:a.jsx("button",{type:"button",className:`lotus-msg-feedback-btn ${s==="dislike"?"is-disliked":""}`,onClick:d,"aria-label":r("feedback.notHelpful","Not helpful"),children:s==="dislike"?a.jsx(ox,{}):a.jsx(ix,{})})}),i&&n&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"lotus-msg-feedback-sep"}),a.jsx("span",{className:"lotus-msg-feedback-retry",children:xR.map(v=>a.jsx(Je,{color:v.color,bordered:!1,className:"lotus-msg-feedback-retry-tag",onClick:()=>h(v),children:r(v.labelKey,v.fallbackLabel)},v.key))})]})]})},{useToken:_R}=ut,{useBreakpoint:kR}=Pl,CR="chat-send-message",TR=({sessionId:e,message:t,onDelete:n,messageType:r})=>{const{role:s,id:o}=t,{token:i}=_R(),l=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:u}=Ge(),{message:d}=Fn.useApp(),h=kR(),m=ae(de=>de.updateSession),b=ae(de=>de.loadChatHistory),v=ae(de=>de.refreshChats),w=y.useRef(null),[S,k]=y.useState(!1),P=ae(Vi(e)),T=y.useCallback(de=>typeof window>"u"?Promise.reject(new Error("window is unavailable")):new Promise((Ce,ze)=>{const Le={content:de,sessionId:e,handled:!1,resolve:Ce,reject:ze};window.dispatchEvent(new CustomEvent(CR,{detail:Le})),Le.handled||ze(new Error("No chat message dispatcher available"))}),[e]),j=y.useMemo(()=>{if(!t.createdAt)return null;const de=new Date(t.createdAt);if(Number.isNaN(de.getTime()))return null;try{return kP(de,"MMM d, yyyy HH:mm")}catch{return de.toLocaleString()}},[t.createdAt]),C=y.useMemo(()=>GE(t,r),[t,r]),E=y.useMemo(()=>JE(t,C),[t,C]),A=y.useMemo(()=>QE(t,C),[t,C]),O=y.useMemo(()=>eb(t),[t]),D=vR(o,e),F=y.useCallback(async de=>{var Ce;if(!e||!o){d.warning(u("chat.messageActions.cannotRestore"));return}try{const ze=await Ys.restoreSessionState(e,{target_message_id:o,restore_files:de});await b(e,{mode:"replace"}),await v();const Le=((Ce=ze.file_errors)==null?void 0:Ce.length)??0;if(Le>0){d.warning(u("chat.messageActions.restorePartial",{count:Le}));return}de?d.success(u("chat.messageActions.restoreFilesSuccess",{count:ze.messages_removed})):d.success(u("chat.messageActions.restoreSuccess",{count:ze.messages_removed}))}catch(ze){const Le=ze instanceof Error?ze.message:u("chat.messageActions.restoreFailed");d.error(Le)}},[d,e,b,o,v,u]),N=y.useCallback(()=>{F(!1)},[F]),q=y.useCallback(()=>{F(!0)},[F]),{contextMenuItems:I,handleMouseUp:Q,copyToClipboard:G,referenceMessage:Z}=nj({messageText:O,messageId:o,currentSessionId:e,onDelete:n,onRestoreChat:N,onRestoreFilesAndChat:q,cardRef:w}),pe=y.useMemo(()=>s==="user"&&O.startsWith("/"),[s,O]),$=y.useMemo(()=>Gy(void 0,{onFixMermaid:D}),[D]),oe=y.useMemo(()=>[Zu,ed],[]),me=y.useMemo(()=>[Qu],[]),ne=y.useMemo(()=>[RP(()=>G(O),u("chat.actions.copyMessage")),AP(Z,u("chat.actions.referenceMessage"))],[O,G,Z,u]),{handleExecutePlan:he,handleRefinePlan:fe,handleQuestionAnswer:ue}=rj({currentSessionId:e,updateSession:m,sendMessage:T});return C==="plan"&&E&&s==="assistant"?a.jsx(Ey,{plan:E,contextId:e||"",onExecute:he,onRefine:fe,timestamp:j??void 0}):C==="question"&&A&&s==="assistant"?a.jsx(jy,{question:A,contextId:e||"",onAnswer:ue,disabled:P||!1,timestamp:j??void 0}):LP(t)?a.jsx(qP,{taskList:t.taskList}):$P(t)?(Ee("[MessageCard]","[MessageCard] Rendering FileReferenceCard for message:",t.id,"paths:",t.paths),a.jsx(Me,{justify:"flex-end",style:{width:"100%"},children:a.jsx(Ry,{paths:t.paths,displayText:t.displayText,timestamp:j??void 0})})):a.jsxs(Me,{vertical:!0,onContextMenu:de=>Q(de),style:{width:"100%"},children:[a.jsx(Ks,{menu:{items:I},trigger:["contextMenu"],children:a.jsx(nn,{"data-testid":s==="assistant"?"assistant-message":"user-message",id:o?`message-${o}`:void 0,ref:w,style:{width:"100%",minWidth:"100%",maxWidth:SR(h),margin:"0 auto",background:s==="user"?"var(--lotus-message-user-bg)":s==="assistant"?"var(--lotus-message-assistant-bg)":i.colorBgContainer,backdropFilter:l?"none":"blur(14px)",WebkitBackdropFilter:l?"none":"blur(14px)",border:s==="user"?"1px solid var(--lotus-message-user-border)":"1px solid var(--lotus-glass-border-subtle)",borderRadius:i.borderRadiusLG,boxShadow:S?"var(--lotus-card-hover-shadow)":"var(--lotus-shadow-soft)",position:"relative",wordWrap:"break-word",overflowWrap:"break-word",transition:"all 0.26s cubic-bezier(0.16, 1, 0.3, 1)",transform:S?"translateY(-2px) scale(1.002)":"none",overflow:"hidden"},styles:{body:{padding:i.paddingMD}},onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:a.jsxs(Ue,{direction:"vertical",size:i.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(KE,{role:s,formattedTimestamp:j,token:i}),t.role==="user"&&t.images&&a.jsx(PP,{images:t.images}),a.jsx(Me,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:a.jsx(XE,{sessionId:e,message:t,messageText:O,isUserToolCall:pe,formatUserToolCall:ZE,markdownComponents:$,markdownPlugins:oe,rehypePlugins:me})}),a.jsx(jP,{isVisible:S,position:{bottom:i.paddingXS,right:i.paddingXS},buttons:ne})]})})}),s==="assistant"&&C==="text"&&o&&a.jsx(wR,{messageId:o,isVisible:S})]})},Tv=y.memo(TR,(e,t)=>e.message===t.message&&e.messageType===t.messageType&&e.onDelete===t.onDelete);Tv.displayName="MessageCard";const{Text:Li}=ft,{useToken:PR}=ut,Pi=8,Wc=4,MR=new Set(["mermaid","graph","flowchart","sequencediagram","classdiagram","statediagram","statediagram-v2","erdiagram","journey","gantt","pie","gitgraph","mindmap","timeline","quadrantchart","requirementdiagram","c4context","c4container","c4component","c4dynamic","c4deployment","sankey","sankey-beta","xychart","xychart-beta","block","block-beta","packet","packet-beta","kanban","architecture"]),ER=(e,t)=>a.jsx(nn,{size:"small",styles:{body:{padding:0}},style:{position:"relative",maxWidth:"100%",overflow:"auto",marginBottom:Pi,background:t.colorBgContainer,borderColor:t.colorBorder},children:a.jsx("pre",{style:{margin:0,padding:t.paddingSM,background:t.colorBgContainer,color:t.colorText,borderRadius:t.borderRadiusSM,fontSize:t.fontSizeSM,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:a.jsx("code",{style:{color:t.colorText},children:e})})}),jR=e=>({p:({children:t})=>a.jsx(Li,{style:{marginBottom:Pi,display:"block"},children:t}),ol:({children:t})=>a.jsx("ol",{style:{marginBottom:Pi,paddingLeft:20},children:t}),ul:({children:t})=>a.jsx("ul",{style:{marginBottom:Pi,paddingLeft:20},children:t}),li:({children:t})=>a.jsx("li",{style:{marginBottom:Wc},children:t}),code({className:t,children:n,inline:r,...s}){const o=/language-([^\s]+)/i.exec(t||""),i=o?o[1]:"",l=r??(!o&&!t),u=n?String(n).replace(/\n$/,""):"";if(l)return a.jsx(Li,{code:!0,className:t,...s,children:n});if(!u.trim())return null;const d=i.toLowerCase();return MR.has(d)?ER(u,e):Ky(i,u,void 0,void 0)},pre:({children:t})=>a.jsx(a.Fragment,{children:t}),blockquote:({children:t})=>a.jsx(nn,{size:"small",styles:{body:{padding:"4px 8px"}},style:{borderLeft:"3px solid var(--ant-color-primary, #0d9488)",background:"var(--ant-color-primary-bg, rgba(13, 148, 136, 0.08))",margin:`${Wc}px 0`,color:"var(--ant-color-text-secondary, #64748b)",fontStyle:"italic"},children:t}),a:({children:t,href:n})=>{const r=typeof n=="string"?n.trim():"";return r?a.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",onClick:s=>{s.preventDefault(),Vy(r)},style:{color:"var(--ant-color-link, #0d9488)",textDecoration:"underline",overflowWrap:"anywhere"},children:t}):a.jsx(a.Fragment,{children:t})},table:({children:t})=>a.jsx(nn,{size:"small",styles:{body:{padding:0}},style:{overflow:"auto",margin:`${Pi}px 0`},children:a.jsx("table",{style:{width:"100%",borderCollapse:"collapse",border:"1px solid var(--ant-color-border, #d9d9d9)"},children:t})}),thead:({children:t})=>a.jsx("thead",{style:{backgroundColor:"var(--ant-color-bg-container, #ffffff)"},children:t}),tbody:({children:t})=>a.jsx("tbody",{children:t}),tr:({children:t})=>a.jsx("tr",{style:{borderBottom:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),th:({children:t})=>a.jsx("th",{style:{padding:"4px 8px",textAlign:"left",fontWeight:"bold",borderRight:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),td:({children:t})=>a.jsx("td",{style:{padding:"4px 8px",borderRight:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),input:({type:t,checked:n,disabled:r})=>t==="checkbox"?a.jsx("input",{type:"checkbox",checked:n,disabled:r,style:{marginRight:Wc,accentColor:"var(--ant-color-primary, #0d9488)"},readOnly:!0}):a.jsx("input",{type:t,checked:n,disabled:r})}),Pv=y.memo(({sessionId:e})=>{const{token:t}=PR(),n=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:r}=Ge(),s=`streaming-${e}`,o=`streaming-reasoning-${e}`,i=`streaming-status-${e}`,[l,u]=y.useState(()=>Et.getLatest(s)??""),[d,h]=y.useState(()=>Et.getLatest(o)??""),[m,b]=y.useState(()=>Et.getLatest(i)??"");y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(s,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{u(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[s]),y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(o,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{h(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[o]),y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(i,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{b(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[i]);const v=y.useMemo(()=>{const P=m.trim().toLowerCase();if(!P)return r("chat.messageCard.assistantThinking");if(P==="context_compacting")return r("chat.messageCard.assistantCompactingContext");if(P==="context_compaction_degraded")return r("chat.messageCard.assistantCompactingContextDegraded");if(P==="context_compaction_failed")return r("chat.messageCard.assistantCompactingContextFailed");if(P==="memory_updating")return r("chat.messageCard.assistantUpdatingMemory");if(P.startsWith("tool_running:")){const j=(P.slice(13).trim()||"tool").replace(/[_-]+/g," ");return r("chat.messageCard.assistantRunningTool",{tool:j})}return r("chat.messageCard.assistantThinking")},[m,r]),w=y.useMemo(()=>[Zu,ed],[]),S=y.useMemo(()=>[Qu],[]),k=y.useMemo(()=>jR(t),[t]);return a.jsx(nn,{"data-testid":"streaming-indicator",role:"status","aria-live":"polite","aria-busy":!0,"aria-label":r("chat.view.aiRespondingAria"),style:{width:"100%",minWidth:"100%",maxWidth:"800px",margin:"0 auto",background:"var(--lotus-message-streaming-bg)",backdropFilter:n?"none":"blur(14px)",WebkitBackdropFilter:n?"none":"blur(14px)",borderRadius:t.borderRadiusLG,boxShadow:"none",position:"relative",wordWrap:"break-word",overflowWrap:"break-word"},children:a.jsxs(Ue,{direction:"vertical",size:t.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(Me,{align:"baseline",justify:"space-between",gap:t.marginXS,children:a.jsx(Li,{type:"secondary",strong:!0,style:{fontSize:t.fontSizeSM},children:r("chat.streaming.assistant")})}),a.jsxs(Me,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:[d?a.jsx(eo,{size:"small",defaultActiveKey:["reasoning"],style:{marginBottom:t.marginSM,background:t.colorBgContainer,borderColor:t.colorBorderSecondary},items:[{key:"reasoning",label:a.jsx(Li,{strong:!0,children:r("chat.messageCard.reasoning")}),children:a.jsx(vr,{remarkPlugins:w,rehypePlugins:S,components:k,children:d})}]}):null,!l||m?a.jsx(Li,{italic:!0,className:"thinking-shimmer",children:v}):null,l?a.jsx(vr,{remarkPlugins:w,rehypePlugins:S,components:k,children:l}):null,a.jsx("span",{className:"blinking-cursor",style:{display:"inline-block",marginLeft:"0.2em",color:t.colorText}})]})]})})});Pv.displayName="StreamingMessageCard";const{Text:qa}=ft,RR="chat-session-tool-collapse:",Mv=(e,t)=>`${RR}${e}:${t}`,Fp=(e,t)=>{if(typeof window>"u")return null;try{const n=window.localStorage.getItem(Mv(e,t));if(!n)return null;const r=JSON.parse(n);return!r||typeof r!="object"?null:{isExpanded:"isExpanded"in r&&typeof r.isExpanded=="boolean"?r.isExpanded:!0,expandedTools:[]}}catch{return null}},AR=async(e,t,n)=>{if(typeof window>"u")return;await Hn.getInstance().saveToolSessionCollapse(e,t,n);try{window.localStorage.setItem(Mv(e,t),JSON.stringify(n))}catch{}},IR="synthetic-tool-call:",OR=e=>{var n,r,s,o;const t=new Set;return(n=e.callMessageId)!=null&&n.trim()?t.add(e.callMessageId.trim()):e.call.id&&!e.call.id.includes(":")&&!e.call.id.startsWith(IR)&&t.add(e.call.id),(r=e.resultMessageId)!=null&&r.trim()?t.add(e.resultMessageId.trim()):(o=(s=e.result)==null?void 0:s.id)!=null&&o.trim()&&t.add(e.result.id.trim()),Array.from(t)},$R=e=>{const t=new Set;return e.forEach(n=>{OR(n).forEach(r=>t.add(r))}),Array.from(t)},LR=({tools:e,sessionId:t,defaultExpanded:n=!1,autoCollapseWhenStale:r=!1,onDeleteMessageIds:s})=>{const{t:o}=Ge(),{token:i}=ut.useToken(),l=y.useMemo(()=>{var O,D,F,N;const C=e[0],E=(D=(O=C==null?void 0:C.call)==null?void 0:O.toolCalls)==null?void 0:D[0];return`${(C==null?void 0:C.callMessageId)||((F=C==null?void 0:C.call)==null?void 0:F.id)||(C==null?void 0:C.resultMessageId)||((N=C==null?void 0:C.result)==null?void 0:N.id)||"tool-message-missing"}:${(E==null?void 0:E.toolCallId)||"tool-call-missing"}`},[e]),[u,d]=y.useState(()=>{const C=Fp(t,l);return C?C.isExpanded:n});y.useEffect(()=>{const C=Fp(t,l);d(C?C.isExpanded:n),Hn.getInstance().loadToolSessionCollapse(t,l).then(A=>{A&&d(A.isExpanded)}).catch(()=>{})},[n,t,l]),y.useEffect(()=>{AR(t,l,{isExpanded:u,expandedTools:[]}).catch(()=>{})},[t,l,u]);const h=y.useRef(r);y.useEffect(()=>{!h.current&&r&&d(!1),h.current=r},[r]);const{completedCount:m,pendingCount:b,hasErrors:v}=y.useMemo(()=>{let C=0,E=0,A=!1;return e.forEach(O=>{O.result?(C++,O.result.isError&&(A=!0)):E++}),{completedCount:C,pendingCount:E,hasErrors:A}},[e]),w=y.useMemo(()=>b>0?{color:"processing",text:o("components.toolSession.completedProgress",{completed:m,total:e.length})}:v?{color:"warning",text:o("components.toolSession.completedWithErrors",{completed:m})}:{color:"success",text:o("components.toolSession.completedOnly",{completed:m})},[m,b,v,e.length,o]),S=y.useMemo(()=>{let C=0,E=0,A=0;return e.forEach(O=>{var N,q;const D=(q=(N=O.result)==null?void 0:N.result)==null?void 0:q.result;if(!D)return;const F=wd(D);F&&(C+=F.added,E+=F.removed,A+=1)}),{added:C,removed:E,changedTools:A}},[e]),k=y.useMemo(()=>{const C=e.map(O=>{var N,q;const D=(q=(N=O.call)==null?void 0:N.toolCalls)==null?void 0:q[0];if(!D)return null;const F=to(D.toolName);return F?F.toolName:D.toolName||null}).filter(O=>!!O);if(C.length===0)return o("components.toolSession.title");if(C.length===1)return C[0];const E=C.filter((O,D)=>D===0||O!==C[D-1]),A=3;return E.length<=A?E.join(" → "):`${E.slice(0,A).join(" → ")} +${E.length-A}`},[e,o]),P=y.useMemo(()=>$R(e),[e]),T=a.jsx(Pd,{tools:e,defaultExpanded:!0,hideHeader:!0}),j={background:"transparent"};return a.jsxs("div",{style:j,children:[a.jsxs("div",{style:{padding:`${i.paddingXS}px 0`,backgroundColor:"transparent",borderBottom:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:i.marginSM,transition:"border-color 240ms ease, background-color 240ms ease"},onClick:()=>d(!u),"data-testid":"tool-session-card-header",children:[a.jsx(sd,{style:{color:i.colorPrimary}}),a.jsx(qa,{strong:!0,style:{flex:1},children:k}),a.jsx(ax,{count:e.length,style:{backgroundColor:i.colorPrimary}}),S.changedTools>0&&a.jsxs(Ue,{size:4,style:{marginInlineStart:i.marginXS},children:[a.jsxs(qa,{style:{color:i.colorSuccess,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["+",S.added]}),a.jsxs(qa,{style:{color:i.colorError,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["-",S.removed]})]}),a.jsx(qa,{type:"secondary",style:{fontSize:i.fontSizeSM},children:w.text}),s&&a.jsx(xn,{title:P.length>0?o("components.toolSession.deleteMessage"):o("components.toolSession.noPersistedMessage"),children:a.jsx(je,{type:"text",size:"small",danger:!0,icon:a.jsx(Cl,{}),"aria-label":o("components.toolSession.deleteMessage"),"data-testid":"delete-tool-session",disabled:P.length===0,onClick:C=>{C.preventDefault(),C.stopPropagation(),P.length!==0&&s(P)}})}),a.jsx("div",{style:{marginLeft:i.marginXS},children:u?a.jsx(gs,{style:{color:i.colorTextSecondary}}):a.jsx(Wr,{style:{color:i.colorTextSecondary}})})]}),u&&T]})},Ev=y.memo(LR);Ev.displayName="ToolSessionCard";const{Content:FR}=Ws,{Text:Dp}=ft,Np=120,DR=140,NR=220,BR=140,zR=72,Bp=68,WR=84,UR=720,qR=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};function zp(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:e.message.id}function HR(e,t){const n=e[t];if(!n)return Np;if("type"in n){if(n.type==="compression_divider")return zR;if(n.type==="tool_session"){if(!(t===e.length-1))return Bp;const o=Bp+Math.min(n.tools.length,8)*WR;return Math.min(UR,o)}}const r="message"in n?n.message:void 0;return r?r.role==="system"?BR:r.role==="user"?DR:NR:Np}const YR=({currentChat:e,currentSessionId:t,convertRenderableEntry:n,handleDeleteMessage:r,handleDeleteToolMessages:s,handleMessagesScroll:o,hasSystemPrompt:i,messagesListRef:l,bottomAnchorRef:u,renderableMessages:d,rowGap:h,showMessagesView:m,screens:b,workflowDraftId:v,isThinking:w,padding:S,selectionMode:k,selectedMessageIds:P,selectableMessageIds:T,onToggleMessageSelection:j})=>{const{t:C}=Ge(),E=y.useRef(d);E.current=d;const A=y.useCallback(Q=>{const G=E.current[Q];return G?zp(G):String(Q)},[]),O=y.useCallback(Q=>HR(E.current,Q),[]),D=uT({count:d.length,getScrollElement:()=>l.current,estimateSize:O,overscan:5,gap:h,getItemKey:A}),F=(Q,G)=>{if(!k)return null;const Z=T.has(Q);return a.jsx(lx,{checked:P.has(Q),disabled:!Z,onChange:()=>{Z&&j(Q)},style:{marginTop:8,marginLeft:G==="flex-end"?8:0,marginRight:G==="flex-start"?8:0}})},N=(Q,G)=>{const Z=n(Q),pe=G===void 0||G===d.length-1;if(Z.type==="compression_divider"){const $=qR(Z.createdAt);return a.jsx("div",{role:"note","aria-label":C("chat.compression.timelineAria",{detail:Z.label,time:$,defaultValue:"{{detail}} at {{time}}"}),style:{margin:"6px 0 10px 0",borderRadius:10,border:"1px solid rgba(250, 173, 20, 0.45)",background:"rgba(250, 173, 20, 0.12)",padding:b.xs?"8px 10px":"10px 12px"},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:8,wrap:!0,children:[a.jsxs(Me,{align:"center",gap:8,wrap:!0,children:[a.jsx(Je,{color:"gold",icon:a.jsx(Sg,{}),children:C("chat.compression.tag","Context compressed")}),a.jsx(Dp,{strong:!0,style:{fontSize:12},children:Z.label})]}),a.jsx(Dp,{type:"secondary",style:{fontSize:11},children:$})]})})}return Z.type==="tool_session"?a.jsx(Me,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{id:`message-${Z.id}`,style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Ev,{tools:Z.tools,sessionId:Z.sessionId,createdAt:Z.createdAt,defaultExpanded:pe,autoCollapseWhenStale:!pe,onDeleteMessageIds:t?s:void 0})})}):Z.message.role==="system"?a.jsxs(Me,{align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[F(Z.message.id,"flex-start"),a.jsx("div",{style:{flex:1,minWidth:0},children:a.jsx(_y,{currentChat:e,message:Z.message})})]}):a.jsxs(Me,{justify:Z.align,align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[Z.align==="flex-start"&&F(Z.message.id,Z.align),a.jsx("div",{style:{width:Z.message.role==="user"?"85%":"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Tv,{sessionId:t,message:Z.message,messageType:Z.messageType,onDelete:Z.message.id===v?void 0:r})}),Z.align==="flex-end"&&F(Z.message.id,Z.align)]})},q=(m||i)&&d.length>0,I=D.getVirtualItems();return a.jsx(FR,{role:"log","aria-live":"polite","aria-label":C("chat.view.chatMessagesAria"),className:`chat-view-messages-list ${m?"visible":"hidden"}`,style:{flex:1,minHeight:0,padding:S,overflowY:"auto",opacity:m?1:0,scrollbarWidth:"none",msOverflowStyle:"none"},ref:l,onScroll:o,children:a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:h,width:"100%",minHeight:"100%"},children:[q&&a.jsx("div",{style:{position:"relative",width:"100%",height:D.getTotalSize()},children:I.map(Q=>{const G=d[Q.index];if(!G)return null;const Z=zp(G);return a.jsx("div",{"data-chat-entry-id":Z,"data-index":Q.index,ref:D.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${Q.start}px)`},children:a.jsx("div",{className:"messageEnter",children:N(G,Q.index)})},Q.key)})}),w&&t&&a.jsx("div",{className:"streaming-card-enter",children:a.jsx(Me,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Pv,{sessionId:t})})})}),a.jsx("div",{ref:u,"data-chat-bottom-anchor":"true","aria-hidden":"true",style:{width:"100%",height:1,flexShrink:0}})]})})};function jv(e){return typeof e.maxContextTokens=="number"&&e.maxContextTokens>0?e.maxContextTokens:e.budgetLimit>0?e.budgetLimit:0}function Rv(e){const t=jv(e);return t===0?0:e.totalTokens/t*100}function XR(e){const t=Rv(e);return t>=90?"error":t>=70?"warning":t>=50?"success":"default"}function Ro(e){return e.toLocaleString()}function DI(e){const t=Math.abs(e),n=r=>r.replace(/\.0$/,"");if(t>=1e9){const r=t>=1e10?0:1;return`${n((e/1e9).toFixed(r))}B`}if(t>=1e6){const r=t>=1e7?0:1;return`${n((e/1e6).toFixed(r))}M`}if(t>=1e3){const r=t>=1e4?0:1;return`${n((e/1e3).toFixed(r))}K`}return`${e}`}const KR=({usage:e,showDetails:t=!0,size:n="small",className:r=""})=>{const{t:s}=Ge(),o=jv(e),i=Rv(e),l=m=>{const b=Math.round(m*10)/10;return Number.isInteger(b)?b.toFixed(0):b.toFixed(1)},u=XR(e),d=()=>i>=90?"var(--lotus-chart-danger)":i>=70?"var(--lotus-chart-accent)":"var(--lotus-chart-secondary)",h=a.jsxs("div",{style:{minWidth:180,color:"var(--lotus-metric-text-strong)"},children:[a.jsx("div",{style:{marginBottom:4,fontWeight:"bold"},children:s("components.tokenUsage.title")}),a.jsxs("div",{style:{fontSize:12},children:[s("components.tokenUsage.contextWindow"),":"," ",Ro(e.totalTokens)," / ",Ro(o)," ",s("components.tokenUsage.tokens")]}),a.jsx("div",{style:{fontSize:12,color:"var(--lotus-metric-text-muted)"},children:s("components.tokenUsage.usedPercent",{value:i.toFixed(1)})}),t&&a.jsxs("div",{style:{marginTop:6,borderTop:"1px solid var(--lotus-metric-tooltip-border)",paddingTop:6,fontSize:11},children:[a.jsxs("div",{children:[s("components.tokenUsage.system"),": ",Ro(e.systemTokens)]}),e.summaryTokens>0&&a.jsxs("div",{children:[s("components.tokenUsage.summary"),": ",Ro(e.summaryTokens)]}),a.jsxs("div",{children:[s("components.tokenUsage.messages"),": ",Ro(e.windowTokens)]}),typeof e.promptCachedToolOutputs=="number"&&e.promptCachedToolOutputs>0&&a.jsx("div",{style:{color:"var(--lotus-metric-text-muted)"},children:s("components.tokenUsage.cachedToolOutputs",{count:e.promptCachedToolOutputs,defaultValue:"Prompt cache: {{count}} tool outputs summarized"})})]})]});return a.jsx(xn,{title:h,placement:"top",arrow:!0,children:a.jsxs(Ue,{className:`token-usage-display ${r}`,size:4,align:"center",style:{lineHeight:1},children:[a.jsx(bg,{type:"line",percent:Math.min(i,100),size:{height:n==="small"?6:8,width:80},strokeColor:d(),showInfo:!1,style:{margin:0,lineHeight:1}}),a.jsxs("span",{style:{fontSize:n==="small"?11:12,color:u==="error"?"var(--lotus-chart-danger)":u==="warning"?"var(--lotus-chart-accent)":"var(--lotus-chart-secondary)",whiteSpace:"nowrap",fontWeight:600},children:[l(i),"%"]})]})})},qu="chat_scroll_anchors_v1",Av="chat_scroll_anchor_v2:";function Iv(e){if(!e||typeof e!="object")return!1;const t=e;return t.v===1&&typeof t.anchorId=="string"&&typeof t.offsetPx=="number"&&typeof t.ts=="number"}function VR(){try{const e=localStorage.getItem(qu);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[r,s]of Object.entries(t))Iv(s)&&(n[r]=s);return n}catch{return{}}}function GR(e){const t=VR(),n=t[e];if(!n)return null;Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),delete t[e];const s=Object.keys(t).length;try{s===0?localStorage.removeItem(qu):localStorage.setItem(qu,JSON.stringify(t))}catch{}return n}async function JR(e){if(typeof window>"u")return null;try{const n=await Hn.getInstance().loadScrollAnchor(e);if(n)return n}catch{}try{const t=localStorage.getItem(`${Av}${e}`);if(t){const n=JSON.parse(t);if(Iv(n))return Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),n}}catch{}return GR(e)}async function QR(e,t){if(!(typeof window>"u")){try{await Hn.getInstance().saveScrollAnchor(e,t)}catch(n){console.warn("[ScrollAnchor] IndexedDB save failed:",n)}try{localStorage.setItem(`${Av}${e}`,JSON.stringify(t))}catch{}}}const Uc=1,ZR=3,eA=2e3;function tA(e,t){const n=Math.max(0,e.scrollHeight-e.clientHeight);return Math.min(Math.max(0,t),n)}function nA(e){const{scrollEl:t,getAnchorElement:n,offsetPx:r,isCancelled:s}=e;return new Promise(o=>{const i=performance.now();let l=0,u=-1,d=Number.NaN;const h=()=>{if(s()){o();return}const m=n();if(!m){requestAnimationFrame(h);return}const b=t.getBoundingClientRect(),w=m.getBoundingClientRect().top-b.top,S=tA(t,t.scrollTop+(w-r));if(Math.abs(t.scrollTop-S)>Uc)t.scrollTop=S,l=0;else{const P=Number.isFinite(d)?Math.abs(S-d)<=Uc:!1,T=Math.abs(t.scrollTop-u)<=Uc;l=P&&T?l+1:0}d=S,u=t.scrollTop;const k=performance.now()-i>eA;if(l>=ZR||k){o();return}requestAnimationFrame(h)};requestAnimationFrame(h)})}const rA=300,sA=.5;function oA(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:"message"in e&&e.message?e.message.id:null}function Ov(e){if("type"in e&&(e.type==="tool_session"||e.type==="compression_divider"))return e.createdAt;if("message"in e&&e.message)return e.message.createdAt}function Wp(e){if(!e)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function iA(e,t){const n=Wp(e.createdAt);if(n!=null){let r=null,s=Number.POSITIVE_INFINITY;for(let o=0;o<t.length;o++){const i=Wp(Ov(t[o]));if(i==null)continue;const l=Math.abs(i-n);l<s&&(s=l,r=o)}if(r!=null)return r}if(typeof e.indexHint=="number"){const r=Math.max(0,Math.min(t.length-1,e.indexHint));return Number.isFinite(r)?r:null}return null}function Gd(e){return Array.from(e.querySelectorAll("[data-chat-entry-id]"))}function aA(e,t){const n=Gd(e);for(const r of n)if(r.dataset.chatEntryId===t)return r;return null}function lA(e,t){const n=Gd(e);if(n.length===0)return null;const r=Math.max(0,Math.min(n.length-1,t));return n[r]??null}function cA(e){const t=Gd(e);if(t.length===0)return null;const n=e.getBoundingClientRect().top;for(const r of t)if(r.getBoundingClientRect().bottom>n)return r;return t[t.length-1]??null}function uA(e){const{currentSessionId:t,messagesListRef:n,renderableMessages:r}=e,s=y.useRef(new Set),o=y.useRef(!1),i=y.useRef(0),l=y.useRef(null),u=y.useRef(null),d=y.useRef(!1);y.useEffect(()=>{const w=n.current;if(!w)return;const S=()=>{d.current=!0};return w.addEventListener("wheel",S,{passive:!0}),w.addEventListener("touchmove",S,{passive:!0}),w.addEventListener("pointerdown",S),()=>{w.removeEventListener("wheel",S),w.removeEventListener("touchmove",S),w.removeEventListener("pointerdown",S)}},[n]);const h=y.useMemo(()=>{const w=new Map;for(let S=0;S<r.length;S++){const k=oA(r[S]);k&&w.set(k,S)}return w},[r]),m=y.useCallback(()=>{const w=n.current;if(!w||r.length===0)return null;const S=cA(w);if(!S)return null;const k=S.dataset.chatEntryId;if(!k)return null;const P=w.getBoundingClientRect(),T=S.getBoundingClientRect(),j=h.get(k),C=typeof j=="number"?r[j]:void 0;return{v:1,anchorId:k,offsetPx:T.top-P.top,ts:Date.now(),indexHint:j,createdAt:C?Ov(C):void 0}},[h,n,r]),b=y.useCallback(async w=>{if(o.current)return;const S=m();if(!S)return;const k=u.current;k&&k.anchorId===S.anchorId&&Math.abs(k.offsetPx-S.offsetPx)<=sA||(await QR(w,S),u.current=S)},[m]),v=y.useCallback(w=>{if(!t||o.current)return;l.current&&clearTimeout(l.current);const S=t;l.current=setTimeout(()=>{b(S).catch(()=>{})},rA)},[t,b]);return y.useEffect(()=>{const w=t;return()=>{w&&(l.current&&(clearTimeout(l.current),l.current=null),b(w).catch(()=>{}))}},[t,b]),y.useLayoutEffect(()=>{if(!t)return;const w=n.current;if(!w||r.length===0||s.current.has(t))return;let S=!1;return JR(t).then(k=>{if(S||!k){S||s.current.add(t);return}const P=h.get(k.anchorId),T=typeof P=="number"?P:iA(k,r);if(T==null){s.current.add(t);return}l.current&&(clearTimeout(l.current),l.current=null);const j=++i.current;o.current=!0,d.current=!1,w.style.overflowAnchor="none";const C=()=>i.current!==j||d.current;nA({scrollEl:w,getAnchorElement:()=>aA(w,k.anchorId)??lA(w,T),offsetPx:k.offsetPx,isCancelled:C}).finally(()=>{i.current===j&&(o.current=!1,s.current.add(t),w.style.overflowAnchor="",b(t).catch(()=>{}))})}),()=>{S=!0}},[t,h,r,r.length,n,b]),{handleScroll:v}}const Up=2,qp=6,qc=150,dA="streaming-",fA="streaming-reasoning-",hA="streaming-status-",pA=e=>e.startsWith(dA)&&!e.startsWith(fA)&&!e.startsWith(hA),mA=({currentSessionId:e,isThinking:t,messagesListRef:n,bottomAnchorRef:r,renderableMessages:s})=>{const[o,i]=y.useState(!1),[l,u]=y.useState(!1),[d,h]=y.useState(!1),[m,b]=y.useState(0),v=y.useRef(!1),w=y.useRef(!1),S=y.useRef(!0),k=y.useRef(s.length),P=y.useRef(new Set),T=y.useRef(0),{handleScroll:j}=uA({currentSessionId:e,messagesListRef:n,renderableMessages:s}),C=y.useCallback(()=>{P.current.clear(),h(!1),b(0)},[]),E=y.useCallback(I=>{if(I<=0)return 0;const Q=P.current;if(Q.size===0)return I;let G=I;for(const Z of Array.from(Q)){if(G<=0)break;Q.delete(Z),G-=1}return G},[]),A=y.useCallback(()=>{const I=n.current;if(!I||s.length===0)return i(!1),u(!1),C(),null;const Q=Math.max(0,I.scrollHeight-I.scrollTop-I.clientHeight),G=Q<=qc,Z=I.scrollTop<=qc;return i(!G),u(!Z&&s.length>3),G&&(w.current=!0,C()),{atBottom:G,distanceFromBottom:Q}},[C,n,s.length]),O=y.useCallback(I=>{const Q=A();Q&&(Q.distanceFromBottom>qc?(v.current=!0,w.current=!1):Q.atBottom&&(v.current=!1,w.current=!0,C()),j(I))},[C,A,j]),D=y.useCallback(I=>{cancelAnimationFrame(T.current);const Q=n.current,G=r.current;if(!Q||!G||s.length===0)return;const Z=(I==null?void 0:I.behavior)??"smooth";let pe=0,$=Number.NaN;const oe=()=>{T.current=0,v.current=!1,w.current=!0,C(),A()},me=()=>{const ne=n.current,he=r.current;if(!ne||!he)return;const fe=Math.max(0,ne.scrollHeight-ne.scrollTop-ne.clientHeight),ue=he.getBoundingClientRect(),de=ne.getBoundingClientRect(),Ce=ue.top-de.top,ze=!Number.isFinite($)||Math.abs(Ce-$)>.5,Le=fe>Up||ze||pe===0;if(Le&&he.scrollIntoView({block:"end",behavior:pe===0?Z:"auto"}),$=Ce,pe+=1,pe<qp&&Le){T.current=requestAnimationFrame(me);return}oe()};T.current=requestAnimationFrame(me)},[r,C,n,A,s.length]),F=y.useCallback(()=>{if(!n.current)return;let Q=0;const G=()=>{A()},Z=()=>{const pe=n.current;if(!pe)return;const $=pe.scrollTop>Up||Q===0;if($&&pe.scrollTo({top:0,behavior:"auto"}),Q+=1,Q<qp&&$){requestAnimationFrame(Z);return}G()};requestAnimationFrame(Z)},[n,A]),N=y.useCallback(()=>{v.current=!1,w.current=!0,C()},[C]);y.useEffect(()=>{const I=Q=>{var fe,ue;const Z=(fe=Q.detail)==null?void 0:fe.messageId;if(!Z){console.error("No messageId provided for navigation");return}const pe=s.findIndex(de=>"message"in de&&de.message?de.message.id===Z:"id"in de?de.id===Z:!1);if(pe===-1){console.warn("Message not found for navigation:",Z);return}const $=s[pe],oe=$&&"message"in $?$.message.id:$&&"id"in $?$.id:Z,me=document.getElementById(`message-${oe}`),ne=Array.from(((ue=n.current)==null?void 0:ue.querySelectorAll("[data-chat-entry-id]"))||[]),he=me||ne.find(de=>de.dataset.chatEntryId===oe);if(!he){console.warn("Message element not found for navigation:",Z);return}he.scrollIntoView({behavior:"smooth",block:"center"}),he.classList.add("highlight-message"),setTimeout(()=>{he.classList.remove("highlight-message")},2e3)};return window.addEventListener("navigate-to-message",I),()=>{window.removeEventListener("navigate-to-message",I)}},[n,s]);const q=y.useRef(t);return y.useEffect(()=>{!q.current&&t&&(N(),D()),q.current=t},[t,N,D]),y.useEffect(()=>Et.subscribe(I=>{var Q;if(I.sessionId===e){if(v.current){(((Q=I.content)==null?void 0:Q.trim())??"")&&pA(I.messageId)&&(P.current.has(I.messageId)||(P.current.add(I.messageId),b(Z=>Z+1)),h(!0)),A();return}if(!I.content){A();return}D()}}),[e,A,D]),y.useEffect(()=>{const I=s.length,Q=k.current,G=I>Q;if(I===0){C(),A(),k.current=I;return}if(S.current){A(),S.current=!1,k.current=I;return}if(G&&v.current){const Z=E(I-Q);h(!0),Z>0&&b(pe=>pe+Z)}!v.current&&G?D():A(),k.current=I},[C,E,A,s.length,D]),y.useEffect(()=>{const I=n.current;if(!I||typeof ResizeObserver>"u")return;let Q=0,G=!1;const Z=()=>{cancelAnimationFrame(Q);const me=w.current;Q=requestAnimationFrame(()=>{if(G&&me&&!v.current){D({behavior:"auto"});return}A()})},pe=new ResizeObserver(()=>{G=!0,Z()});pe.observe(I);const $=I.firstElementChild;$ instanceof HTMLElement&&pe.observe($);const oe=r.current;return oe instanceof HTMLElement&&pe.observe(oe),Z(),()=>{cancelAnimationFrame(Q),pe.disconnect()}},[r,e,n,A,s.length,D]),y.useEffect(()=>{if(!n.current||s.length===0){A();return}A();let Q=0;const G=requestAnimationFrame(()=>{A(),Q=requestAnimationFrame(()=>{A()})});return()=>{cancelAnimationFrame(G),cancelAnimationFrame(Q)}},[n,s.length,e,A]),y.useEffect(()=>{S.current=!0,v.current=!1,w.current=!1,k.current=0,C()},[C,e]),{handleMessagesScroll:O,hasUnreadActivity:d,resetUserScroll:N,scrollToBottom:D,scrollToTop:F,showScrollToBottom:o,showScrollToTop:l,unreadCount:m}};function gA(e){return"type"in e&&e.type==="tool_session"}function yA(e){return"type"in e&&e.type==="compression_divider"}const Hp=e=>{const t=Date.parse(e||"");return Number.isFinite(t)?t:Number.MAX_SAFE_INTEGER},bA=e=>"type"in e?e.createdAt:e.message.createdAt,vA=e=>!("type"in e)&&e.message.role==="system";function SA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_call"}function xA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_result"}const Yp=e=>(e??"").trim().toLowerCase()==="conclusion",wA=e=>{const t=(e??"").trim().toLowerCase();return t==="conclusion_with_options"||t==="exitplanmode"||t==="request_permissions"},_A=e=>{var t,n,r;return((n=(t=e.call.toolCalls)==null?void 0:t[0])==null?void 0:n.toolCallId)||((r=e.result)==null?void 0:r.toolCallId)||"tool-call-missing"},kA=(e,t)=>{var n;return e.call.id||e.callMessageId||e.resultMessageId||((n=e.result)==null?void 0:n.id)||`tool-message-missing-${t}`},CA=(e,t)=>`tool-session-${kA(e,t)}:${_A(e)}`;function TA(e){const t=[],n=new Map,r=new Set,s=(i,l)=>{const u=n.get(i)||[];u.push(l),n.set(i,u)},o=i=>{const l=n.get(i);if(!l||l.length===0)return;let u;for(;l.length>0&&!u;){const d=l.shift();d&&!d.result&&(u=d)}return l.length===0?n.delete(i):n.set(i,l),u};for(const i of e){if(SA(i)){const l=i.toolCalls||[];if(l.length===0){t.push(i);continue}l.forEach((u,d)=>{const h=u.toolCallId||`${i.id}-${d}`;if(Yp(u.toolName)){r.add(h);return}if(wA(u.toolName)){r.add(h);const w={...i,id:`${i.id}:tool-call:${d}:${h}`,toolCalls:[{...u,toolCallId:h}]};t.push(w);return}const b={call:{...i,id:`${i.id}:tool-call:${d}:${h}`,toolCalls:[{...u,toolCallId:h}]},callMessageId:i.id};s(h,b);const v=t[t.length-1];Array.isArray(v)?v.push(b):t.push([b])});continue}if(xA(i)){const l=i.toolCallId;if(l&&r.has(l)){r.delete(l),t.push(i);continue}if(Yp(i.toolName)){t.push(i);continue}const u=l?o(l):void 0;if(u)u.result=i,u.resultMessageId=i.id;else{const d=l||`orphan-tool-call:${i.id}`,m={call:{role:"assistant",type:"tool_call",id:`synthetic-tool-call:${i.id}`,createdAt:i.createdAt,toolCalls:[{toolCallId:d,toolName:(i.toolName||"").trim()||"tool",parameters:{},streamingOutput:""}],isCompressed:i.isCompressed,compressedEventId:i.compressedEventId},result:i,resultMessageId:i.id},b=t[t.length-1];Array.isArray(b)?b.push(m):t.push([m])}continue}t.push(i)}return t}const PA=(e,t)=>{var l;const{t:n}=Ge(),r=y.useMemo(()=>{var d;const u=t.find(h=>h.role==="system");return u||((d=e==null?void 0:e.config)!=null&&d.baseSystemPrompt?{id:`system-prompt-${e.id}`,role:"system",content:e.config.baseSystemPrompt,createdAt:new Date(e.createdAt).toISOString()}:null)},[e,t]),s=y.useCallback(u=>!1,[]),o=y.useCallback(u=>{if(yA(u))return{type:"compression_divider",id:u.id,createdAt:u.createdAt,label:u.label};if(gA(u))return{type:"tool_session",id:u.id,sessionId:u.sessionId,tools:u.tools,createdAt:u.createdAt};const d=u.message.role==="user"?"flex-end":"flex-start";let h=u.messageType;if(!h&&u.message.role==="assistant"&&"type"in u.message){const m="type"in u.message?u.message.type:void 0;(m==="text"||m==="plan"||m==="question"||m==="tool_call"||m==="tool_result")&&(h=m)}return{type:"message",message:u.message,align:d,messageType:h}},[]),i=y.useMemo(()=>{var S;const u=t.filter(k=>{const P=k.role;return!(P!=="user"&&P!=="assistant"&&P!=="system"&&P!=="tool"||s(k))}),d=TA(u),h=[];d.forEach((k,P)=>{var C,E;if(Array.isArray(k)){const A=k[0];h.push({type:"tool_session",id:A?CA(A,P):`tool-session-unknown-${P}`,sessionId:(e==null?void 0:e.id)||"default",tools:k,createdAt:((C=A==null?void 0:A.call)==null?void 0:C.createdAt)||((E=A==null?void 0:A.result)==null?void 0:E.createdAt)||new Date().toISOString()});return}const T=k;let j;if(T.role==="assistant"&&"type"in T){const A="type"in T?T.type:void 0;(A==="text"||A==="plan"||A==="question"||A==="tool_call"||A==="tool_result")&&(j=A)}h.push({message:T,messageType:j})}),!u.some(k=>k.role==="system")&&r&&h.unshift({message:r});const b=((S=e==null?void 0:e.config)==null?void 0:S.compressionEvents)||[],v=h.findIndex(k=>!vA(k)),w=v===-1?h.length:v;for(const k of b){const P={type:"compression_divider",id:`compression-divider-${k.id}`,createdAt:k.createdAt,label:n("chat.compression.timelineDetail",{count:k.messagesCompressed,defaultValue:"{{count}} messages archived"})},T=Hp(k.createdAt),j=h.findIndex((C,E)=>E>=w&&Hp(bA(C))>T);j===-1?h.push(P):h.splice(j,0,P)}return h},[(l=e==null?void 0:e.config)==null?void 0:l.compressionEvents,e==null?void 0:e.id,t,s,r,n]);return{systemPromptMessage:r,renderableMessages:i,convertRenderableEntry:o}},{Text:MA}=ft,EA=({visible:e,selectionMode:t,selectedCount:n,totalCount:r,paddingTop:s,paddingRight:o,paddingBottom:i,paddingLeft:l,maxWidth:u,onToggleSelectionMode:d,onSelectAll:h,onClear:m,onExportMarkdown:b,onExportPdf:v,t:w})=>e?a.jsx("div",{style:{paddingTop:s,paddingRight:o,paddingBottom:i,paddingLeft:l,maxWidth:u,margin:"0 auto",width:"100%"},children:t?a.jsxs(Me,{align:"center",justify:"space-between",wrap:"wrap",gap:8,children:[a.jsx(MA,{type:"secondary",children:w("chat.selectionToolbar.selectedCount",{selected:n,total:r})}),a.jsxs(Ue,{size:8,wrap:!0,children:[a.jsx(je,{size:"small",onClick:h,children:w("chat.selectionToolbar.selectAll")}),a.jsx(je,{size:"small",onClick:m,children:w("chat.selectionToolbar.clear")}),a.jsx(je,{size:"small",icon:a.jsx(Vs,{}),onClick:b,disabled:n===0,children:w("chat.selectionToolbar.exportMarkdown")}),a.jsx(je,{size:"small",type:"primary",icon:a.jsx(Vs,{}),onClick:v,disabled:n===0,children:w("chat.selectionToolbar.exportPdf")}),a.jsx(je,{size:"small",icon:a.jsx(Ss,{}),onClick:d,children:w("chat.selectionToolbar.done")})]})]}):a.jsx(Me,{justify:"flex-end",children:a.jsx(xn,{title:w("chat.selectionToolbar.selectMessages"),children:a.jsx(je,{"aria-label":w("chat.selectionToolbar.selectMessages"),icon:a.jsx(xg,{}),size:"small",onClick:d})})})}):null,jA=({visible:e,showScrollToTop:t,showScrollToBottom:n,hasUnreadActivity:r,unreadCount:s,onScrollToTop:o,onScrollToBottom:i,onResetUserScroll:l,t:u})=>!e||!t&&!n?null:a.jsx("div",{className:"chat-scroll-capsule-wrapper","data-testid":"chat-scroll-capsule-wrapper",children:a.jsxs("div",{className:"chat-scroll-capsule","data-testid":"chat-scroll-capsule",children:[t?a.jsx(je,{"data-testid":"chat-scroll-top-button",className:"chat-scroll-capsule__button",type:"text",icon:a.jsx("span",{"aria-hidden":"true",children:"↑"}),size:"small",onClick:o,children:u("chat.scroll.jumpToTop",{defaultValue:"Jump to top"})}):null,n?a.jsxs("span",{style:{display:"inline-flex"},children:[a.jsx("span",{style:{display:"inline-flex"},children:a.jsx(je,{"data-testid":"chat-scroll-bottom-button",className:`chat-scroll-capsule__button ${r?"chat-scroll-capsule__button--active":""}`,type:r?"primary":"text",icon:a.jsx("span",{"aria-hidden":"true",children:"↓"}),size:"small",onClick:()=>{l(),i()},children:r?u("chat.scroll.newMessagesWithCount",{count:s,defaultValue:s>0?"{{count}} new messages":"New messages"}):u("chat.scroll.backToLatest",{defaultValue:"Back to latest"})})}),r&&s>0?a.jsx("span",{className:"chat-scroll-capsule__count","data-testid":"chat-scroll-unread-count",children:s}):null]}):null]})}),RA=ht.lazy(()=>Jt(()=>import("./index-m1e7tYy8.js"),__vite__mapDeps([16,1,2,3,4,5,6,17]),import.meta.url).then(e=>({default:e.ContextBar}))),AA=({sessionId:e,auxReady:t,maxWidth:n,paddingLeft:r,paddingRight:s,workspaceState:o,inspectorEligible:i,planMode:l,onRequestOpenInspector:u,t:d})=>{const{token:h}=ut.useToken();if(!e)return null;const m=l?a.jsx(xn,{title:d("chat.planMode.tooltip",{status:l.status,mode:l.pre_permission_mode,defaultValue:"Plan mode active · phase: {{status}} · previous mode: {{mode}}"}),children:a.jsx(Je,{color:"purple",icon:a.jsx(ug,{}),style:{marginInlineEnd:0},children:d("chat.planMode.active",{defaultValue:"Plan mode"})})}):null,b=i&&o.inspectorTogglePlacement==="meta_strip"&&!!u,v=!!(m||o.isMultiPane||b);return a.jsxs(a.Fragment,{children:[t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(RA,{sessionId:e})}):null,v?a.jsx("div",{"data-conversation-meta-strip":!0,"data-inspector-toggle-placement":o.inspectorTogglePlacement,style:{paddingTop:h.paddingXS,paddingRight:s,paddingBottom:0,paddingLeft:r,maxWidth:n,margin:"0 auto",width:"100%"},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:h.marginXS,wrap:!0,children:[a.jsxs(Me,{align:"center",gap:h.marginXS,wrap:!0,children:[m,o.isMultiPane?a.jsx(Je,{color:"blue",style:{marginInlineEnd:0},children:d("chat.workspace.multiPane",{count:o.leafCount,defaultValue:"{{count}} panes"})}):null]}),b&&u?a.jsx(je,{size:"small",icon:a.jsx(ad,{}),onClick:u,"aria-label":d("chat.workspace.toggleInspector",{defaultValue:"Open inspector"}),children:o.inspectorMode==="drawer"?d("chat.workspace.openInspector",{defaultValue:"Inspector"}):d("chat.workspace.toggleInspector",{defaultValue:"Inspector"})}):null]})}):null]})},Jd=({isEmbedded:e,leafCount:t,isMobileViewport:n})=>{const r=Number.isFinite(t)&&t>0?Math.floor(t):1,s=r>1;return{isEmbedded:e,leafCount:r,isMultiPane:s,isMobileViewport:n,inspectorMode:n||s?"drawer":"rail",inspectorTogglePlacement:s&&!n?"pane_header":"meta_strip"}},IA=ht.lazy(()=>Jt(()=>import("./index-BUNJzP87.js"),__vite__mapDeps([18,1,2,3,4,5,6,19]),import.meta.url).then(e=>({default:e.QuestionDialog}))),{useToken:OA}=ut,{useBreakpoint:$A}=Pl,LA=e=>{const{t}=xt;return e.role==="user"?t("chat.view.roleUser"):e.role==="assistant"?t("chat.view.roleAssistant"):e.role==="system"?t("chat.view.roleSystem"):t("chat.view.roleDefault")},$v=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},FA=e=>e.map(({message:t,text:n},r)=>{const s=LA(t),o=$v(t.createdAt);return[`## ${r+1}. ${s} · ${o}`,"",n].join(`
217
+ `)},bR=async(e,t,n)=>{var l,u,d;const r=t==null?void 0:t.trim();if(!r)throw new Error("No model configured. Please select a default model in Provider Settings.");const i=((d=(u=(l=(await fR().chat.completions.create({model:r,messages:[{role:"system",content:"You fix Mermaid diagrams using the parser/render error context. Return only corrected Mermaid code without markdown fences or extra text."},{role:"user",content:yR(e,n)}],temperature:0})).choices)==null?void 0:l[0])==null?void 0:u.message)==null?void 0:d.content)??"";return Cv(i)},vR=(e,t)=>{const n=Ok(),r=$k(),s=(r==null?void 0:r.model)??n;return y.useCallback(async(o,i)=>{const l=ae.getState(),u=t??l.currentSessionId,d=l.chats.find(T=>T.id===u);if(!u||!d)throw new Error("No active chat available");const h=d.messages.find(T=>T.id===e);if(!kl(h))throw new Error("Mermaid fix is only available for assistant text messages");const m=await bR(o,s,i);if(!m)throw new Error("AI did not return a Mermaid fix");const b=hR(h.content,o,m);if(!b)throw new Error("Unable to locate Mermaid block to update");let v=Lp(e,h,d.messages);try{await Ys.patchSessionMessage(u,v,{content:b})}catch(T){if(!mR(T))throw T;await l.loadChatHistory(u,{mode:"replace",retries:2,retryDelayMs:150,waitForAssistant:!0});const C=ae.getState().chats.find(A=>A.id===u);if(!C)throw T;const E=gR(C.messages,e,h.content,o);if(!E)throw T;v=Lp(E.id,E,C.messages),await Ys.patchSessionMessage(u,v,{content:b})}const w=ae.getState(),S=w.chats.find(T=>T.id===u);if(!S)throw new Error("No active chat available");const k=new Set([e,v]),P=S.messages.map(T=>!k.has(T.id)||!kl(T)?T:{...T,content:b});w.updateSession(u,{messages:P})},[e,t,s])},SR=e=>e.xs?"100%":e.sm?"95%":"800px",xR=[{key:"shorter",labelKey:"feedback.retry.shorter",fallbackLabel:"Shorter",color:"blue",prefix:"Please give a shorter, more concise answer:"},{key:"deeper",labelKey:"feedback.retry.deeper",fallbackLabel:"Deeper",color:"purple",prefix:"Please provide a more detailed, in-depth answer:"},{key:"actionable",labelKey:"feedback.retry.actionable",fallbackLabel:"More actionable",color:"green",prefix:"Please make your answer more actionable with specific steps:"}],wR=({messageId:e,isVisible:t,onRetryWithVariation:n})=>{const{t:r}=Ge(),[s,o]=y.useState(null),[i,l]=y.useState(!1),u=y.useCallback(()=>{o(v=>v==="like"?null:"like"),l(!1)},[]),d=y.useCallback(()=>{o(v=>{const w=v==="dislike"?null:"dislike";return l(w==="dislike"),w})},[]),h=y.useCallback(v=>{n&&n(v.prefix)},[n]),b=["lotus-msg-feedback",t?"is-visible":"",s!==null?"has-rating":""].filter(Boolean).join(" ");return a.jsxs("div",{className:b,"data-message-id":e,children:[a.jsx(xn,{title:r("feedback.helpful","Helpful"),children:a.jsx("button",{type:"button",className:`lotus-msg-feedback-btn ${s==="like"?"is-liked":""}`,onClick:u,"aria-label":r("feedback.helpful","Helpful"),children:s==="like"?a.jsx(rx,{}):a.jsx(sx,{})})}),a.jsx(xn,{title:r("feedback.notHelpful","Not helpful"),children:a.jsx("button",{type:"button",className:`lotus-msg-feedback-btn ${s==="dislike"?"is-disliked":""}`,onClick:d,"aria-label":r("feedback.notHelpful","Not helpful"),children:s==="dislike"?a.jsx(ox,{}):a.jsx(ix,{})})}),i&&n&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"lotus-msg-feedback-sep"}),a.jsx("span",{className:"lotus-msg-feedback-retry",children:xR.map(v=>a.jsx(Je,{color:v.color,bordered:!1,className:"lotus-msg-feedback-retry-tag",onClick:()=>h(v),children:r(v.labelKey,v.fallbackLabel)},v.key))})]})]})},{useToken:_R}=ut,{useBreakpoint:kR}=Pl,CR="chat-send-message",TR=({sessionId:e,message:t,onDelete:n,messageType:r})=>{const{role:s,id:o}=t,{token:i}=_R(),l=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:u}=Ge(),{message:d}=Fn.useApp(),h=kR(),m=ae(de=>de.updateSession),b=ae(de=>de.loadChatHistory),v=ae(de=>de.refreshChats),w=y.useRef(null),[S,k]=y.useState(!1),P=ae(Vi(e)),T=y.useCallback(de=>typeof window>"u"?Promise.reject(new Error("window is unavailable")):new Promise((Ce,ze)=>{const Le={content:de,sessionId:e,handled:!1,resolve:Ce,reject:ze};window.dispatchEvent(new CustomEvent(CR,{detail:Le})),Le.handled||ze(new Error("No chat message dispatcher available"))}),[e]),j=y.useMemo(()=>{if(!t.createdAt)return null;const de=new Date(t.createdAt);if(Number.isNaN(de.getTime()))return null;try{return kP(de,"MMM d, yyyy HH:mm")}catch{return de.toLocaleString()}},[t.createdAt]),C=y.useMemo(()=>GE(t,r),[t,r]),E=y.useMemo(()=>JE(t,C),[t,C]),A=y.useMemo(()=>QE(t,C),[t,C]),O=y.useMemo(()=>eb(t),[t]),D=vR(o,e),F=y.useCallback(async de=>{var Ce;if(!e||!o){d.warning(u("chat.messageActions.cannotRestore"));return}try{const ze=await Ys.restoreSessionState(e,{target_message_id:o,restore_files:de});await b(e,{mode:"replace"}),await v();const Le=((Ce=ze.file_errors)==null?void 0:Ce.length)??0;if(Le>0){d.warning(u("chat.messageActions.restorePartial",{count:Le}));return}de?d.success(u("chat.messageActions.restoreFilesSuccess",{count:ze.messages_removed})):d.success(u("chat.messageActions.restoreSuccess",{count:ze.messages_removed}))}catch(ze){const Le=ze instanceof Error?ze.message:u("chat.messageActions.restoreFailed");d.error(Le)}},[d,e,b,o,v,u]),N=y.useCallback(()=>{F(!1)},[F]),q=y.useCallback(()=>{F(!0)},[F]),{contextMenuItems:I,handleMouseUp:Q,copyToClipboard:G,referenceMessage:Z}=nj({messageText:O,messageId:o,currentSessionId:e,onDelete:n,onRestoreChat:N,onRestoreFilesAndChat:q,cardRef:w}),pe=y.useMemo(()=>s==="user"&&O.startsWith("/"),[s,O]),$=y.useMemo(()=>Gy(void 0,{onFixMermaid:D}),[D]),oe=y.useMemo(()=>[Zu,ed],[]),me=y.useMemo(()=>[Qu],[]),ne=y.useMemo(()=>[RP(()=>G(O),u("chat.actions.copyMessage")),AP(Z,u("chat.actions.referenceMessage"))],[O,G,Z,u]),{handleExecutePlan:he,handleRefinePlan:fe,handleQuestionAnswer:ue}=rj({currentSessionId:e,updateSession:m,sendMessage:T});return C==="plan"&&E&&s==="assistant"?a.jsx(Ey,{plan:E,contextId:e||"",onExecute:he,onRefine:fe,timestamp:j??void 0}):C==="question"&&A&&s==="assistant"?a.jsx(jy,{question:A,contextId:e||"",onAnswer:ue,disabled:P||!1,timestamp:j??void 0}):LP(t)?a.jsx(qP,{taskList:t.taskList}):$P(t)?(Ee("[MessageCard]","[MessageCard] Rendering FileReferenceCard for message:",t.id,"paths:",t.paths),a.jsx(Me,{justify:"flex-end",style:{width:"100%"},children:a.jsx(Ry,{paths:t.paths,displayText:t.displayText,timestamp:j??void 0})})):a.jsxs(Me,{vertical:!0,onContextMenu:de=>Q(de),style:{width:"100%"},children:[a.jsx(Ks,{menu:{items:I},trigger:["contextMenu"],children:a.jsx(nn,{"data-testid":s==="assistant"?"assistant-message":"user-message",id:o?`message-${o}`:void 0,ref:w,style:{width:"100%",minWidth:"100%",maxWidth:SR(h),margin:"0 auto",background:s==="user"?"var(--lotus-message-user-bg)":s==="assistant"?"var(--lotus-message-assistant-bg)":i.colorBgContainer,backdropFilter:l?"none":"blur(14px)",WebkitBackdropFilter:l?"none":"blur(14px)",border:s==="user"?"1px solid var(--lotus-message-user-border)":"1px solid var(--lotus-glass-border-subtle)",borderRadius:i.borderRadiusLG,boxShadow:S?"var(--lotus-card-hover-shadow)":"var(--lotus-shadow-soft)",position:"relative",wordWrap:"break-word",overflowWrap:"break-word",transition:"all 0.26s cubic-bezier(0.16, 1, 0.3, 1)",transform:S?"translateY(-2px) scale(1.002)":"none",overflow:"hidden"},styles:{body:{padding:i.paddingMD}},onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:a.jsxs(Ue,{direction:"vertical",size:i.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(KE,{role:s,formattedTimestamp:j,token:i}),t.role==="user"&&t.images&&a.jsx(PP,{images:t.images}),a.jsx(Me,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:a.jsx(XE,{sessionId:e,message:t,messageText:O,isUserToolCall:pe,formatUserToolCall:ZE,markdownComponents:$,markdownPlugins:oe,rehypePlugins:me})}),a.jsx(jP,{isVisible:S,position:{bottom:i.paddingXS,right:i.paddingXS},buttons:ne})]})})}),s==="assistant"&&C==="text"&&o&&a.jsx(wR,{messageId:o,isVisible:S})]})},Tv=y.memo(TR,(e,t)=>e.message===t.message&&e.messageType===t.messageType&&e.onDelete===t.onDelete);Tv.displayName="MessageCard";const{Text:Li}=ft,{useToken:PR}=ut,Pi=8,Wc=4,MR=new Set(["mermaid","graph","flowchart","sequencediagram","classdiagram","statediagram","statediagram-v2","erdiagram","journey","gantt","pie","gitgraph","mindmap","timeline","quadrantchart","requirementdiagram","c4context","c4container","c4component","c4dynamic","c4deployment","sankey","sankey-beta","xychart","xychart-beta","block","block-beta","packet","packet-beta","kanban","architecture"]),ER=(e,t)=>a.jsx(nn,{size:"small",styles:{body:{padding:0}},style:{position:"relative",maxWidth:"100%",overflow:"auto",marginBottom:Pi,background:t.colorBgContainer,borderColor:t.colorBorder},children:a.jsx("pre",{style:{margin:0,padding:t.paddingSM,background:t.colorBgContainer,color:t.colorText,borderRadius:t.borderRadiusSM,fontSize:t.fontSizeSM,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:a.jsx("code",{style:{color:t.colorText},children:e})})}),jR=e=>({p:({children:t})=>a.jsx(Li,{style:{marginBottom:Pi,display:"block"},children:t}),ol:({children:t})=>a.jsx("ol",{style:{marginBottom:Pi,paddingLeft:20},children:t}),ul:({children:t})=>a.jsx("ul",{style:{marginBottom:Pi,paddingLeft:20},children:t}),li:({children:t})=>a.jsx("li",{style:{marginBottom:Wc},children:t}),code({className:t,children:n,inline:r,...s}){const o=/language-([^\s]+)/i.exec(t||""),i=o?o[1]:"",l=r??(!o&&!t),u=n?String(n).replace(/\n$/,""):"";if(l)return a.jsx(Li,{code:!0,className:t,...s,children:n});if(!u.trim())return null;const d=i.toLowerCase();return MR.has(d)?ER(u,e):Ky(i,u,void 0,void 0)},pre:({children:t})=>a.jsx(a.Fragment,{children:t}),blockquote:({children:t})=>a.jsx(nn,{size:"small",styles:{body:{padding:"4px 8px"}},style:{borderLeft:"3px solid var(--ant-color-primary, #0d9488)",background:"var(--ant-color-primary-bg, rgba(13, 148, 136, 0.08))",margin:`${Wc}px 0`,color:"var(--ant-color-text-secondary, #64748b)",fontStyle:"italic"},children:t}),a:({children:t,href:n})=>{const r=typeof n=="string"?n.trim():"";return r?a.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",onClick:s=>{s.preventDefault(),Vy(r)},style:{color:"var(--ant-color-link, #0d9488)",textDecoration:"underline",overflowWrap:"anywhere"},children:t}):a.jsx(a.Fragment,{children:t})},table:({children:t})=>a.jsx(nn,{size:"small",styles:{body:{padding:0}},style:{overflow:"auto",margin:`${Pi}px 0`},children:a.jsx("table",{style:{width:"100%",borderCollapse:"collapse",border:"1px solid var(--ant-color-border, #d9d9d9)"},children:t})}),thead:({children:t})=>a.jsx("thead",{style:{backgroundColor:"var(--ant-color-bg-container, #ffffff)"},children:t}),tbody:({children:t})=>a.jsx("tbody",{children:t}),tr:({children:t})=>a.jsx("tr",{style:{borderBottom:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),th:({children:t})=>a.jsx("th",{style:{padding:"4px 8px",textAlign:"left",fontWeight:"bold",borderRight:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),td:({children:t})=>a.jsx("td",{style:{padding:"4px 8px",borderRight:"1px solid var(--ant-color-border, #d9d9d9)"},children:t}),input:({type:t,checked:n,disabled:r})=>t==="checkbox"?a.jsx("input",{type:"checkbox",checked:n,disabled:r,style:{marginRight:Wc,accentColor:"var(--ant-color-primary, #0d9488)"},readOnly:!0}):a.jsx("input",{type:t,checked:n,disabled:r})}),Pv=y.memo(({sessionId:e})=>{const{token:t}=PR(),n=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:r}=Ge(),s=`streaming-${e}`,o=`streaming-reasoning-${e}`,i=`streaming-status-${e}`,[l,u]=y.useState(()=>Et.getLatest(s)??""),[d,h]=y.useState(()=>Et.getLatest(o)??""),[m,b]=y.useState(()=>Et.getLatest(i)??"");y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(s,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{u(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[s]),y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(o,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{h(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[o]),y.useEffect(()=>{let P=null,T=null;const j=Et.subscribeMessage(i,C=>{T=C,P===null&&(P=requestAnimationFrame(()=>{b(T??""),P=null}))});return()=>{j(),P!==null&&cancelAnimationFrame(P)}},[i]);const v=y.useMemo(()=>{const P=m.trim().toLowerCase();if(!P)return r("chat.messageCard.assistantThinking");if(P==="context_compacting")return r("chat.messageCard.assistantCompactingContext");if(P==="context_compaction_degraded")return r("chat.messageCard.assistantCompactingContextDegraded");if(P==="context_compaction_failed")return r("chat.messageCard.assistantCompactingContextFailed");if(P==="memory_updating")return r("chat.messageCard.assistantUpdatingMemory");if(P.startsWith("tool_running:")){const j=(P.slice(13).trim()||"tool").replace(/[_-]+/g," ");return r("chat.messageCard.assistantRunningTool",{tool:j})}return r("chat.messageCard.assistantThinking")},[m,r]),w=y.useMemo(()=>[Zu,ed],[]),S=y.useMemo(()=>[Qu],[]),k=y.useMemo(()=>jR(t),[t]);return a.jsx(nn,{"data-testid":"streaming-indicator",role:"status","aria-live":"polite","aria-busy":!0,"aria-label":r("chat.view.aiRespondingAria"),style:{width:"100%",minWidth:"100%",maxWidth:"800px",margin:"0 auto",background:"var(--lotus-message-streaming-bg)",backdropFilter:n?"none":"blur(14px)",WebkitBackdropFilter:n?"none":"blur(14px)",borderRadius:t.borderRadiusLG,boxShadow:"none",position:"relative",wordWrap:"break-word",overflowWrap:"break-word"},children:a.jsxs(Ue,{direction:"vertical",size:t.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(Me,{align:"baseline",justify:"space-between",gap:t.marginXS,children:a.jsx(Li,{type:"secondary",strong:!0,style:{fontSize:t.fontSizeSM},children:r("chat.streaming.assistant")})}),a.jsxs(Me,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:[d?a.jsx(eo,{size:"small",defaultActiveKey:["reasoning"],style:{marginBottom:t.marginSM,background:t.colorBgContainer,borderColor:t.colorBorderSecondary},items:[{key:"reasoning",label:a.jsx(Li,{strong:!0,children:r("chat.messageCard.reasoning")}),children:a.jsx(vr,{remarkPlugins:w,rehypePlugins:S,components:k,children:d})}]}):null,!l||m?a.jsx(Li,{italic:!0,className:"thinking-shimmer",children:v}):null,l?a.jsx(vr,{remarkPlugins:w,rehypePlugins:S,components:k,children:l}):null,a.jsx("span",{className:"blinking-cursor",style:{display:"inline-block",marginLeft:"0.2em",color:t.colorText}})]})]})})});Pv.displayName="StreamingMessageCard";const{Text:qa}=ft,RR="chat-session-tool-collapse:",Mv=(e,t)=>`${RR}${e}:${t}`,Fp=(e,t)=>{if(typeof window>"u")return null;try{const n=window.localStorage.getItem(Mv(e,t));if(!n)return null;const r=JSON.parse(n);return!r||typeof r!="object"?null:{isExpanded:"isExpanded"in r&&typeof r.isExpanded=="boolean"?r.isExpanded:!0,expandedTools:[]}}catch{return null}},AR=async(e,t,n)=>{if(typeof window>"u")return;await Hn.getInstance().saveToolSessionCollapse(e,t,n);try{window.localStorage.setItem(Mv(e,t),JSON.stringify(n))}catch{}},IR="synthetic-tool-call:",OR=e=>{var n,r,s,o;const t=new Set;return(n=e.callMessageId)!=null&&n.trim()?t.add(e.callMessageId.trim()):e.call.id&&!e.call.id.includes(":")&&!e.call.id.startsWith(IR)&&t.add(e.call.id),(r=e.resultMessageId)!=null&&r.trim()?t.add(e.resultMessageId.trim()):(o=(s=e.result)==null?void 0:s.id)!=null&&o.trim()&&t.add(e.result.id.trim()),Array.from(t)},$R=e=>{const t=new Set;return e.forEach(n=>{OR(n).forEach(r=>t.add(r))}),Array.from(t)},LR=({tools:e,sessionId:t,defaultExpanded:n=!1,autoCollapseWhenStale:r=!1,onDeleteMessageIds:s})=>{const{t:o}=Ge(),{token:i}=ut.useToken(),l=y.useMemo(()=>{var O,D,F,N;const C=e[0],E=(D=(O=C==null?void 0:C.call)==null?void 0:O.toolCalls)==null?void 0:D[0];return`${(C==null?void 0:C.callMessageId)||((F=C==null?void 0:C.call)==null?void 0:F.id)||(C==null?void 0:C.resultMessageId)||((N=C==null?void 0:C.result)==null?void 0:N.id)||"tool-message-missing"}:${(E==null?void 0:E.toolCallId)||"tool-call-missing"}`},[e]),[u,d]=y.useState(()=>{const C=Fp(t,l);return C?C.isExpanded:n});y.useEffect(()=>{const C=Fp(t,l);d(C?C.isExpanded:n),Hn.getInstance().loadToolSessionCollapse(t,l).then(A=>{A&&d(A.isExpanded)}).catch(()=>{})},[n,t,l]),y.useEffect(()=>{AR(t,l,{isExpanded:u,expandedTools:[]}).catch(()=>{})},[t,l,u]);const h=y.useRef(r);y.useEffect(()=>{!h.current&&r&&d(!1),h.current=r},[r]);const{completedCount:m,pendingCount:b,hasErrors:v}=y.useMemo(()=>{let C=0,E=0,A=!1;return e.forEach(O=>{O.result?(C++,O.result.isError&&(A=!0)):E++}),{completedCount:C,pendingCount:E,hasErrors:A}},[e]),w=y.useMemo(()=>b>0?{color:"processing",text:o("components.toolSession.completedProgress",{completed:m,total:e.length})}:v?{color:"warning",text:o("components.toolSession.completedWithErrors",{completed:m})}:{color:"success",text:o("components.toolSession.completedOnly",{completed:m})},[m,b,v,e.length,o]),S=y.useMemo(()=>{let C=0,E=0,A=0;return e.forEach(O=>{var N,q;const D=(q=(N=O.result)==null?void 0:N.result)==null?void 0:q.result;if(!D)return;const F=wd(D);F&&(C+=F.added,E+=F.removed,A+=1)}),{added:C,removed:E,changedTools:A}},[e]),k=y.useMemo(()=>{const C=e.map(O=>{var N,q;const D=(q=(N=O.call)==null?void 0:N.toolCalls)==null?void 0:q[0];if(!D)return null;const F=to(D.toolName);return F?F.toolName:D.toolName||null}).filter(O=>!!O);if(C.length===0)return o("components.toolSession.title");if(C.length===1)return C[0];const E=C.filter((O,D)=>D===0||O!==C[D-1]),A=3;return E.length<=A?E.join(" → "):`${E.slice(0,A).join(" → ")} +${E.length-A}`},[e,o]),P=y.useMemo(()=>$R(e),[e]),T=a.jsx(Pd,{tools:e,defaultExpanded:!0,hideHeader:!0}),j={background:"transparent"};return a.jsxs("div",{style:j,children:[a.jsxs("div",{style:{padding:`${i.paddingXS}px 0`,backgroundColor:"transparent",borderBottom:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:i.marginSM,transition:"border-color 240ms ease, background-color 240ms ease"},onClick:()=>d(!u),"data-testid":"tool-session-card-header",children:[a.jsx(sd,{style:{color:i.colorPrimary}}),a.jsx(qa,{strong:!0,style:{flex:1},children:k}),a.jsx(ax,{count:e.length,style:{backgroundColor:i.colorPrimary}}),S.changedTools>0&&a.jsxs(Ue,{size:4,style:{marginInlineStart:i.marginXS},children:[a.jsxs(qa,{style:{color:i.colorSuccess,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["+",S.added]}),a.jsxs(qa,{style:{color:i.colorError,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["-",S.removed]})]}),a.jsx(qa,{type:"secondary",style:{fontSize:i.fontSizeSM},children:w.text}),s&&a.jsx(xn,{title:P.length>0?o("components.toolSession.deleteMessage"):o("components.toolSession.noPersistedMessage"),children:a.jsx(je,{type:"text",size:"small",danger:!0,icon:a.jsx(Cl,{}),"aria-label":o("components.toolSession.deleteMessage"),"data-testid":"delete-tool-session",disabled:P.length===0,onClick:C=>{C.preventDefault(),C.stopPropagation(),P.length!==0&&s(P)}})}),a.jsx("div",{style:{marginLeft:i.marginXS},children:u?a.jsx(gs,{style:{color:i.colorTextSecondary}}):a.jsx(Wr,{style:{color:i.colorTextSecondary}})})]}),u&&T]})},Ev=y.memo(LR);Ev.displayName="ToolSessionCard";const{Content:FR}=Ws,{Text:Dp}=ft,Np=120,DR=140,NR=220,BR=140,zR=72,Bp=68,WR=84,UR=720,qR=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};function zp(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:e.message.id}function HR(e,t){const n=e[t];if(!n)return Np;if("type"in n){if(n.type==="compression_divider")return zR;if(n.type==="tool_session"){if(!(t===e.length-1))return Bp;const o=Bp+Math.min(n.tools.length,8)*WR;return Math.min(UR,o)}}const r="message"in n?n.message:void 0;return r?r.role==="system"?BR:r.role==="user"?DR:NR:Np}const YR=({currentChat:e,currentSessionId:t,convertRenderableEntry:n,handleDeleteMessage:r,handleDeleteToolMessages:s,handleMessagesScroll:o,hasSystemPrompt:i,messagesListRef:l,bottomAnchorRef:u,renderableMessages:d,rowGap:h,showMessagesView:m,screens:b,workflowDraftId:v,isThinking:w,padding:S,selectionMode:k,selectedMessageIds:P,selectableMessageIds:T,onToggleMessageSelection:j})=>{const{t:C}=Ge(),E=y.useRef(d);E.current=d;const A=y.useCallback(Q=>{const G=E.current[Q];return G?zp(G):String(Q)},[]),O=y.useCallback(Q=>HR(E.current,Q),[]),D=uT({count:d.length,getScrollElement:()=>l.current,estimateSize:O,overscan:5,gap:h,getItemKey:A}),F=(Q,G)=>{if(!k)return null;const Z=T.has(Q);return a.jsx(lx,{checked:P.has(Q),disabled:!Z,onChange:()=>{Z&&j(Q)},style:{marginTop:8,marginLeft:G==="flex-end"?8:0,marginRight:G==="flex-start"?8:0}})},N=(Q,G)=>{const Z=n(Q),pe=G===void 0||G===d.length-1;if(Z.type==="compression_divider"){const $=qR(Z.createdAt);return a.jsx("div",{role:"note","aria-label":C("chat.compression.timelineAria",{detail:Z.label,time:$,defaultValue:"{{detail}} at {{time}}"}),style:{margin:"6px 0 10px 0",borderRadius:10,border:"1px solid rgba(250, 173, 20, 0.45)",background:"rgba(250, 173, 20, 0.12)",padding:b.xs?"8px 10px":"10px 12px"},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:8,wrap:!0,children:[a.jsxs(Me,{align:"center",gap:8,wrap:!0,children:[a.jsx(Je,{color:"gold",icon:a.jsx(Sg,{}),children:C("chat.compression.tag","Context compressed")}),a.jsx(Dp,{strong:!0,style:{fontSize:12},children:Z.label})]}),a.jsx(Dp,{type:"secondary",style:{fontSize:11},children:$})]})})}return Z.type==="tool_session"?a.jsx(Me,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{id:`message-${Z.id}`,style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Ev,{tools:Z.tools,sessionId:Z.sessionId,createdAt:Z.createdAt,defaultExpanded:pe,autoCollapseWhenStale:!pe,onDeleteMessageIds:t?s:void 0})})}):Z.message.role==="system"?a.jsxs(Me,{align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[F(Z.message.id,"flex-start"),a.jsx("div",{style:{flex:1,minWidth:0},children:a.jsx(_y,{currentChat:e,message:Z.message})})]}):a.jsxs(Me,{justify:Z.align,align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[Z.align==="flex-start"&&F(Z.message.id,Z.align),a.jsx("div",{style:{width:Z.message.role==="user"?"85%":"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Tv,{sessionId:t,message:Z.message,messageType:Z.messageType,onDelete:Z.message.id===v?void 0:r})}),Z.align==="flex-end"&&F(Z.message.id,Z.align)]})},q=(m||i)&&d.length>0,I=D.getVirtualItems();return a.jsx(FR,{role:"log","aria-live":"polite","aria-label":C("chat.view.chatMessagesAria"),className:`chat-view-messages-list ${m?"visible":"hidden"}`,style:{flex:1,minHeight:0,padding:S,overflowY:"auto",opacity:m?1:0,scrollbarWidth:"none",msOverflowStyle:"none"},ref:l,onScroll:o,children:a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:h,width:"100%",minHeight:"100%"},children:[q&&a.jsx("div",{style:{position:"relative",width:"100%",height:D.getTotalSize()},children:I.map(Q=>{const G=d[Q.index];if(!G)return null;const Z=zp(G);return a.jsx("div",{"data-chat-entry-id":Z,"data-index":Q.index,ref:D.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${Q.start}px)`},children:a.jsx("div",{className:"messageEnter",children:N(G,Q.index)})},Q.key)})}),w&&t&&a.jsx("div",{className:"streaming-card-enter",children:a.jsx(Me,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Pv,{sessionId:t})})})}),a.jsx("div",{ref:u,"data-chat-bottom-anchor":"true","aria-hidden":"true",style:{width:"100%",height:1,flexShrink:0}})]})})};function jv(e){return typeof e.maxContextTokens=="number"&&e.maxContextTokens>0?e.maxContextTokens:e.budgetLimit>0?e.budgetLimit:0}function Rv(e){const t=jv(e);return t===0?0:e.totalTokens/t*100}function XR(e){const t=Rv(e);return t>=90?"error":t>=70?"warning":t>=50?"success":"default"}function Ro(e){return e.toLocaleString()}function DI(e){const t=Math.abs(e),n=r=>r.replace(/\.0$/,"");if(t>=1e9){const r=t>=1e10?0:1;return`${n((e/1e9).toFixed(r))}B`}if(t>=1e6){const r=t>=1e7?0:1;return`${n((e/1e6).toFixed(r))}M`}if(t>=1e3){const r=t>=1e4?0:1;return`${n((e/1e3).toFixed(r))}K`}return`${e}`}const KR=({usage:e,showDetails:t=!0,size:n="small",className:r=""})=>{const{t:s}=Ge(),o=jv(e),i=Rv(e),l=m=>{const b=Math.round(m*10)/10;return Number.isInteger(b)?b.toFixed(0):b.toFixed(1)},u=XR(e),d=()=>i>=90?"var(--lotus-chart-danger)":i>=70?"var(--lotus-chart-accent)":"var(--lotus-chart-secondary)",h=a.jsxs("div",{style:{minWidth:180,color:"var(--lotus-metric-text-strong)"},children:[a.jsx("div",{style:{marginBottom:4,fontWeight:"bold"},children:s("components.tokenUsage.title")}),a.jsxs("div",{style:{fontSize:12},children:[s("components.tokenUsage.contextWindow"),":"," ",Ro(e.totalTokens)," / ",Ro(o)," ",s("components.tokenUsage.tokens")]}),a.jsx("div",{style:{fontSize:12,color:"var(--lotus-metric-text-muted)"},children:s("components.tokenUsage.usedPercent",{value:i.toFixed(1)})}),t&&a.jsxs("div",{style:{marginTop:6,borderTop:"1px solid var(--lotus-metric-tooltip-border)",paddingTop:6,fontSize:11},children:[a.jsxs("div",{children:[s("components.tokenUsage.system"),": ",Ro(e.systemTokens)]}),e.summaryTokens>0&&a.jsxs("div",{children:[s("components.tokenUsage.summary"),": ",Ro(e.summaryTokens)]}),a.jsxs("div",{children:[s("components.tokenUsage.messages"),": ",Ro(e.windowTokens)]}),typeof e.promptCachedToolOutputs=="number"&&e.promptCachedToolOutputs>0&&a.jsx("div",{style:{color:"var(--lotus-metric-text-muted)"},children:s("components.tokenUsage.cachedToolOutputs",{count:e.promptCachedToolOutputs,defaultValue:"Prompt cache: {{count}} tool outputs summarized"})})]})]});return a.jsx(xn,{title:h,placement:"top",arrow:!0,children:a.jsxs(Ue,{className:`token-usage-display ${r}`,size:4,align:"center",style:{lineHeight:1},children:[a.jsx(bg,{type:"line",percent:Math.min(i,100),size:{height:n==="small"?6:8,width:80},strokeColor:d(),showInfo:!1,style:{margin:0,lineHeight:1}}),a.jsxs("span",{style:{fontSize:n==="small"?11:12,color:u==="error"?"var(--lotus-chart-danger)":u==="warning"?"var(--lotus-chart-accent)":"var(--lotus-chart-secondary)",whiteSpace:"nowrap",fontWeight:600},children:[l(i),"%"]})]})})},qu="chat_scroll_anchors_v1",Av="chat_scroll_anchor_v2:";function Iv(e){if(!e||typeof e!="object")return!1;const t=e;return t.v===1&&typeof t.anchorId=="string"&&typeof t.offsetPx=="number"&&typeof t.ts=="number"}function VR(){try{const e=localStorage.getItem(qu);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[r,s]of Object.entries(t))Iv(s)&&(n[r]=s);return n}catch{return{}}}function GR(e){const t=VR(),n=t[e];if(!n)return null;Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),delete t[e];const s=Object.keys(t).length;try{s===0?localStorage.removeItem(qu):localStorage.setItem(qu,JSON.stringify(t))}catch{}return n}async function JR(e){if(typeof window>"u")return null;try{const n=await Hn.getInstance().loadScrollAnchor(e);if(n)return n}catch{}try{const t=localStorage.getItem(`${Av}${e}`);if(t){const n=JSON.parse(t);if(Iv(n))return Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),n}}catch{}return GR(e)}async function QR(e,t){if(!(typeof window>"u")){try{await Hn.getInstance().saveScrollAnchor(e,t)}catch(n){console.warn("[ScrollAnchor] IndexedDB save failed:",n)}try{localStorage.setItem(`${Av}${e}`,JSON.stringify(t))}catch{}}}const Uc=1,ZR=3,eA=2e3;function tA(e,t){const n=Math.max(0,e.scrollHeight-e.clientHeight);return Math.min(Math.max(0,t),n)}function nA(e){const{scrollEl:t,getAnchorElement:n,offsetPx:r,isCancelled:s}=e;return new Promise(o=>{const i=performance.now();let l=0,u=-1,d=Number.NaN;const h=()=>{if(s()){o();return}const m=n();if(!m){requestAnimationFrame(h);return}const b=t.getBoundingClientRect(),w=m.getBoundingClientRect().top-b.top,S=tA(t,t.scrollTop+(w-r));if(Math.abs(t.scrollTop-S)>Uc)t.scrollTop=S,l=0;else{const P=Number.isFinite(d)?Math.abs(S-d)<=Uc:!1,T=Math.abs(t.scrollTop-u)<=Uc;l=P&&T?l+1:0}d=S,u=t.scrollTop;const k=performance.now()-i>eA;if(l>=ZR||k){o();return}requestAnimationFrame(h)};requestAnimationFrame(h)})}const rA=300,sA=.5;function oA(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:"message"in e&&e.message?e.message.id:null}function Ov(e){if("type"in e&&(e.type==="tool_session"||e.type==="compression_divider"))return e.createdAt;if("message"in e&&e.message)return e.message.createdAt}function Wp(e){if(!e)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function iA(e,t){const n=Wp(e.createdAt);if(n!=null){let r=null,s=Number.POSITIVE_INFINITY;for(let o=0;o<t.length;o++){const i=Wp(Ov(t[o]));if(i==null)continue;const l=Math.abs(i-n);l<s&&(s=l,r=o)}if(r!=null)return r}if(typeof e.indexHint=="number"){const r=Math.max(0,Math.min(t.length-1,e.indexHint));return Number.isFinite(r)?r:null}return null}function Gd(e){return Array.from(e.querySelectorAll("[data-chat-entry-id]"))}function aA(e,t){const n=Gd(e);for(const r of n)if(r.dataset.chatEntryId===t)return r;return null}function lA(e,t){const n=Gd(e);if(n.length===0)return null;const r=Math.max(0,Math.min(n.length-1,t));return n[r]??null}function cA(e){const t=Gd(e);if(t.length===0)return null;const n=e.getBoundingClientRect().top;for(const r of t)if(r.getBoundingClientRect().bottom>n)return r;return t[t.length-1]??null}function uA(e){const{currentSessionId:t,messagesListRef:n,renderableMessages:r}=e,s=y.useRef(new Set),o=y.useRef(!1),i=y.useRef(0),l=y.useRef(null),u=y.useRef(null),d=y.useRef(!1);y.useEffect(()=>{const w=n.current;if(!w)return;const S=()=>{d.current=!0};return w.addEventListener("wheel",S,{passive:!0}),w.addEventListener("touchmove",S,{passive:!0}),w.addEventListener("pointerdown",S),()=>{w.removeEventListener("wheel",S),w.removeEventListener("touchmove",S),w.removeEventListener("pointerdown",S)}},[n]);const h=y.useMemo(()=>{const w=new Map;for(let S=0;S<r.length;S++){const k=oA(r[S]);k&&w.set(k,S)}return w},[r]),m=y.useCallback(()=>{const w=n.current;if(!w||r.length===0)return null;const S=cA(w);if(!S)return null;const k=S.dataset.chatEntryId;if(!k)return null;const P=w.getBoundingClientRect(),T=S.getBoundingClientRect(),j=h.get(k),C=typeof j=="number"?r[j]:void 0;return{v:1,anchorId:k,offsetPx:T.top-P.top,ts:Date.now(),indexHint:j,createdAt:C?Ov(C):void 0}},[h,n,r]),b=y.useCallback(async w=>{if(o.current)return;const S=m();if(!S)return;const k=u.current;k&&k.anchorId===S.anchorId&&Math.abs(k.offsetPx-S.offsetPx)<=sA||(await QR(w,S),u.current=S)},[m]),v=y.useCallback(w=>{if(!t||o.current)return;l.current&&clearTimeout(l.current);const S=t;l.current=setTimeout(()=>{b(S).catch(()=>{})},rA)},[t,b]);return y.useEffect(()=>{const w=t;return()=>{w&&(l.current&&(clearTimeout(l.current),l.current=null),b(w).catch(()=>{}))}},[t,b]),y.useLayoutEffect(()=>{if(!t)return;const w=n.current;if(!w||r.length===0||s.current.has(t))return;let S=!1;return JR(t).then(k=>{if(S||!k){S||s.current.add(t);return}const P=h.get(k.anchorId),T=typeof P=="number"?P:iA(k,r);if(T==null){s.current.add(t);return}l.current&&(clearTimeout(l.current),l.current=null);const j=++i.current;o.current=!0,d.current=!1,w.style.overflowAnchor="none";const C=()=>i.current!==j||d.current;nA({scrollEl:w,getAnchorElement:()=>aA(w,k.anchorId)??lA(w,T),offsetPx:k.offsetPx,isCancelled:C}).finally(()=>{i.current===j&&(o.current=!1,s.current.add(t),w.style.overflowAnchor="",b(t).catch(()=>{}))})}),()=>{S=!0}},[t,h,r,r.length,n,b]),{handleScroll:v}}const Up=2,qp=6,qc=150,dA="streaming-",fA="streaming-reasoning-",hA="streaming-status-",pA=e=>e.startsWith(dA)&&!e.startsWith(fA)&&!e.startsWith(hA),mA=({currentSessionId:e,isThinking:t,messagesListRef:n,bottomAnchorRef:r,renderableMessages:s})=>{const[o,i]=y.useState(!1),[l,u]=y.useState(!1),[d,h]=y.useState(!1),[m,b]=y.useState(0),v=y.useRef(!1),w=y.useRef(!1),S=y.useRef(!0),k=y.useRef(s.length),P=y.useRef(new Set),T=y.useRef(0),{handleScroll:j}=uA({currentSessionId:e,messagesListRef:n,renderableMessages:s}),C=y.useCallback(()=>{P.current.clear(),h(!1),b(0)},[]),E=y.useCallback(I=>{if(I<=0)return 0;const Q=P.current;if(Q.size===0)return I;let G=I;for(const Z of Array.from(Q)){if(G<=0)break;Q.delete(Z),G-=1}return G},[]),A=y.useCallback(()=>{const I=n.current;if(!I||s.length===0)return i(!1),u(!1),C(),null;const Q=Math.max(0,I.scrollHeight-I.scrollTop-I.clientHeight),G=Q<=qc,Z=I.scrollTop<=qc;return i(!G),u(!Z&&s.length>3),G&&(w.current=!0,C()),{atBottom:G,distanceFromBottom:Q}},[C,n,s.length]),O=y.useCallback(I=>{const Q=A();Q&&(Q.distanceFromBottom>qc?(v.current=!0,w.current=!1):Q.atBottom&&(v.current=!1,w.current=!0,C()),j(I))},[C,A,j]),D=y.useCallback(I=>{cancelAnimationFrame(T.current);const Q=n.current,G=r.current;if(!Q||!G||s.length===0)return;const Z=(I==null?void 0:I.behavior)??"smooth";let pe=0,$=Number.NaN;const oe=()=>{T.current=0,v.current=!1,w.current=!0,C(),A()},me=()=>{const ne=n.current,he=r.current;if(!ne||!he)return;const fe=Math.max(0,ne.scrollHeight-ne.scrollTop-ne.clientHeight),ue=he.getBoundingClientRect(),de=ne.getBoundingClientRect(),Ce=ue.top-de.top,ze=!Number.isFinite($)||Math.abs(Ce-$)>.5,Le=fe>Up||ze||pe===0;if(Le&&he.scrollIntoView({block:"end",behavior:pe===0?Z:"auto"}),$=Ce,pe+=1,pe<qp&&Le){T.current=requestAnimationFrame(me);return}oe()};T.current=requestAnimationFrame(me)},[r,C,n,A,s.length]),F=y.useCallback(()=>{if(!n.current)return;let Q=0;const G=()=>{A()},Z=()=>{const pe=n.current;if(!pe)return;const $=pe.scrollTop>Up||Q===0;if($&&pe.scrollTo({top:0,behavior:"auto"}),Q+=1,Q<qp&&$){requestAnimationFrame(Z);return}G()};requestAnimationFrame(Z)},[n,A]),N=y.useCallback(()=>{v.current=!1,w.current=!0,C()},[C]);y.useEffect(()=>{const I=Q=>{var fe,ue;const Z=(fe=Q.detail)==null?void 0:fe.messageId;if(!Z){console.error("No messageId provided for navigation");return}const pe=s.findIndex(de=>"message"in de&&de.message?de.message.id===Z:"id"in de?de.id===Z:!1);if(pe===-1){console.warn("Message not found for navigation:",Z);return}const $=s[pe],oe=$&&"message"in $?$.message.id:$&&"id"in $?$.id:Z,me=document.getElementById(`message-${oe}`),ne=Array.from(((ue=n.current)==null?void 0:ue.querySelectorAll("[data-chat-entry-id]"))||[]),he=me||ne.find(de=>de.dataset.chatEntryId===oe);if(!he){console.warn("Message element not found for navigation:",Z);return}he.scrollIntoView({behavior:"smooth",block:"center"}),he.classList.add("highlight-message"),setTimeout(()=>{he.classList.remove("highlight-message")},2e3)};return window.addEventListener("navigate-to-message",I),()=>{window.removeEventListener("navigate-to-message",I)}},[n,s]);const q=y.useRef(t);return y.useEffect(()=>{!q.current&&t&&(N(),D()),q.current=t},[t,N,D]),y.useEffect(()=>Et.subscribe(I=>{var Q;if(I.sessionId===e){if(v.current){(((Q=I.content)==null?void 0:Q.trim())??"")&&pA(I.messageId)&&(P.current.has(I.messageId)||(P.current.add(I.messageId),b(Z=>Z+1)),h(!0)),A();return}if(!I.content){A();return}D()}}),[e,A,D]),y.useEffect(()=>{const I=s.length,Q=k.current,G=I>Q;if(I===0){C(),A(),k.current=I;return}if(S.current){A(),S.current=!1,k.current=I;return}if(G&&v.current){const Z=E(I-Q);h(!0),Z>0&&b(pe=>pe+Z)}!v.current&&G?D():A(),k.current=I},[C,E,A,s.length,D]),y.useEffect(()=>{const I=n.current;if(!I||typeof ResizeObserver>"u")return;let Q=0,G=!1;const Z=()=>{cancelAnimationFrame(Q);const me=w.current;Q=requestAnimationFrame(()=>{if(G&&me&&!v.current){D({behavior:"auto"});return}A()})},pe=new ResizeObserver(()=>{G=!0,Z()});pe.observe(I);const $=I.firstElementChild;$ instanceof HTMLElement&&pe.observe($);const oe=r.current;return oe instanceof HTMLElement&&pe.observe(oe),Z(),()=>{cancelAnimationFrame(Q),pe.disconnect()}},[r,e,n,A,s.length,D]),y.useEffect(()=>{if(!n.current||s.length===0){A();return}A();let Q=0;const G=requestAnimationFrame(()=>{A(),Q=requestAnimationFrame(()=>{A()})});return()=>{cancelAnimationFrame(G),cancelAnimationFrame(Q)}},[n,s.length,e,A]),y.useEffect(()=>{S.current=!0,v.current=!1,w.current=!1,k.current=0,C()},[C,e]),{handleMessagesScroll:O,hasUnreadActivity:d,resetUserScroll:N,scrollToBottom:D,scrollToTop:F,showScrollToBottom:o,showScrollToTop:l,unreadCount:m}};function gA(e){return"type"in e&&e.type==="tool_session"}function yA(e){return"type"in e&&e.type==="compression_divider"}const Hp=e=>{const t=Date.parse(e||"");return Number.isFinite(t)?t:Number.MAX_SAFE_INTEGER},bA=e=>"type"in e?e.createdAt:e.message.createdAt,vA=e=>!("type"in e)&&e.message.role==="system";function SA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_call"}function xA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_result"}const Yp=e=>(e??"").trim().toLowerCase()==="conclusion",wA=e=>{const t=(e??"").trim().toLowerCase();return t==="conclusion_with_options"||t==="exitplanmode"||t==="request_permissions"},_A=e=>{var t,n,r;return((n=(t=e.call.toolCalls)==null?void 0:t[0])==null?void 0:n.toolCallId)||((r=e.result)==null?void 0:r.toolCallId)||"tool-call-missing"},kA=(e,t)=>{var n;return e.call.id||e.callMessageId||e.resultMessageId||((n=e.result)==null?void 0:n.id)||`tool-message-missing-${t}`},CA=(e,t)=>`tool-session-${kA(e,t)}:${_A(e)}`;function TA(e){const t=[],n=new Map,r=new Set,s=(i,l)=>{const u=n.get(i)||[];u.push(l),n.set(i,u)},o=i=>{const l=n.get(i);if(!l||l.length===0)return;let u;for(;l.length>0&&!u;){const d=l.shift();d&&!d.result&&(u=d)}return l.length===0?n.delete(i):n.set(i,l),u};for(const i of e){if(SA(i)){const l=i.toolCalls||[];if(l.length===0){t.push(i);continue}l.forEach((u,d)=>{const h=u.toolCallId||`${i.id}-${d}`;if(Yp(u.toolName)){r.add(h);return}if(wA(u.toolName)){r.add(h);const w={...i,id:`${i.id}:tool-call:${d}:${h}`,toolCalls:[{...u,toolCallId:h}]};t.push(w);return}const b={call:{...i,id:`${i.id}:tool-call:${d}:${h}`,toolCalls:[{...u,toolCallId:h}]},callMessageId:i.id};s(h,b);const v=t[t.length-1];Array.isArray(v)?v.push(b):t.push([b])});continue}if(xA(i)){const l=i.toolCallId;if(l&&r.has(l)){r.delete(l),t.push(i);continue}if(Yp(i.toolName)){t.push(i);continue}const u=l?o(l):void 0;if(u)u.result=i,u.resultMessageId=i.id;else{const d=l||`orphan-tool-call:${i.id}`,m={call:{role:"assistant",type:"tool_call",id:`synthetic-tool-call:${i.id}`,createdAt:i.createdAt,toolCalls:[{toolCallId:d,toolName:(i.toolName||"").trim()||"tool",parameters:{},streamingOutput:""}],isCompressed:i.isCompressed,compressedEventId:i.compressedEventId},result:i,resultMessageId:i.id},b=t[t.length-1];Array.isArray(b)?b.push(m):t.push([m])}continue}t.push(i)}return t}const PA=(e,t)=>{var l;const{t:n}=Ge(),r=y.useMemo(()=>{var d;const u=t.find(h=>h.role==="system");return u||((d=e==null?void 0:e.config)!=null&&d.baseSystemPrompt?{id:`system-prompt-${e.id}`,role:"system",content:e.config.baseSystemPrompt,createdAt:new Date(e.createdAt).toISOString()}:null)},[e,t]),s=y.useCallback(u=>!1,[]),o=y.useCallback(u=>{if(yA(u))return{type:"compression_divider",id:u.id,createdAt:u.createdAt,label:u.label};if(gA(u))return{type:"tool_session",id:u.id,sessionId:u.sessionId,tools:u.tools,createdAt:u.createdAt};const d=u.message.role==="user"?"flex-end":"flex-start";let h=u.messageType;if(!h&&u.message.role==="assistant"&&"type"in u.message){const m="type"in u.message?u.message.type:void 0;(m==="text"||m==="plan"||m==="question"||m==="tool_call"||m==="tool_result")&&(h=m)}return{type:"message",message:u.message,align:d,messageType:h}},[]),i=y.useMemo(()=>{var S;const u=t.filter(k=>{const P=k.role;return!(P!=="user"&&P!=="assistant"&&P!=="system"&&P!=="tool"||s(k))}),d=TA(u),h=[];d.forEach((k,P)=>{var C,E;if(Array.isArray(k)){const A=k[0];h.push({type:"tool_session",id:A?CA(A,P):`tool-session-unknown-${P}`,sessionId:(e==null?void 0:e.id)||"default",tools:k,createdAt:((C=A==null?void 0:A.call)==null?void 0:C.createdAt)||((E=A==null?void 0:A.result)==null?void 0:E.createdAt)||new Date().toISOString()});return}const T=k;let j;if(T.role==="assistant"&&"type"in T){const A="type"in T?T.type:void 0;(A==="text"||A==="plan"||A==="question"||A==="tool_call"||A==="tool_result")&&(j=A)}h.push({message:T,messageType:j})}),!u.some(k=>k.role==="system")&&r&&h.unshift({message:r});const b=((S=e==null?void 0:e.config)==null?void 0:S.compressionEvents)||[],v=h.findIndex(k=>!vA(k)),w=v===-1?h.length:v;for(const k of b){const P={type:"compression_divider",id:`compression-divider-${k.id}`,createdAt:k.createdAt,label:n("chat.compression.timelineDetail",{count:k.messagesCompressed,defaultValue:"{{count}} messages archived"})},T=Hp(k.createdAt),j=h.findIndex((C,E)=>E>=w&&Hp(bA(C))>T);j===-1?h.push(P):h.splice(j,0,P)}return h},[(l=e==null?void 0:e.config)==null?void 0:l.compressionEvents,e==null?void 0:e.id,t,s,r,n]);return{systemPromptMessage:r,renderableMessages:i,convertRenderableEntry:o}},{Text:MA}=ft,EA=({visible:e,selectionMode:t,selectedCount:n,totalCount:r,paddingTop:s,paddingRight:o,paddingBottom:i,paddingLeft:l,maxWidth:u,onToggleSelectionMode:d,onSelectAll:h,onClear:m,onExportMarkdown:b,onExportPdf:v,t:w})=>e?a.jsx("div",{style:{paddingTop:s,paddingRight:o,paddingBottom:i,paddingLeft:l,maxWidth:u,margin:"0 auto",width:"100%"},children:t?a.jsxs(Me,{align:"center",justify:"space-between",wrap:"wrap",gap:8,children:[a.jsx(MA,{type:"secondary",children:w("chat.selectionToolbar.selectedCount",{selected:n,total:r})}),a.jsxs(Ue,{size:8,wrap:!0,children:[a.jsx(je,{size:"small",onClick:h,children:w("chat.selectionToolbar.selectAll")}),a.jsx(je,{size:"small",onClick:m,children:w("chat.selectionToolbar.clear")}),a.jsx(je,{size:"small",icon:a.jsx(Vs,{}),onClick:b,disabled:n===0,children:w("chat.selectionToolbar.exportMarkdown")}),a.jsx(je,{size:"small",type:"primary",icon:a.jsx(Vs,{}),onClick:v,disabled:n===0,children:w("chat.selectionToolbar.exportPdf")}),a.jsx(je,{size:"small",icon:a.jsx(Ss,{}),onClick:d,children:w("chat.selectionToolbar.done")})]})]}):a.jsx(Me,{justify:"flex-end",children:a.jsx(xn,{title:w("chat.selectionToolbar.selectMessages"),children:a.jsx(je,{"aria-label":w("chat.selectionToolbar.selectMessages"),icon:a.jsx(xg,{}),size:"small",onClick:d})})})}):null,jA=({visible:e,showScrollToTop:t,showScrollToBottom:n,hasUnreadActivity:r,unreadCount:s,onScrollToTop:o,onScrollToBottom:i,onResetUserScroll:l,t:u})=>!e||!t&&!n?null:a.jsx("div",{className:"chat-scroll-capsule-wrapper","data-testid":"chat-scroll-capsule-wrapper",children:a.jsxs("div",{className:"chat-scroll-capsule","data-testid":"chat-scroll-capsule",children:[t?a.jsx(je,{"data-testid":"chat-scroll-top-button",className:"chat-scroll-capsule__button",type:"text",icon:a.jsx("span",{"aria-hidden":"true",children:"↑"}),size:"small",onClick:o,children:u("chat.scroll.jumpToTop",{defaultValue:"Jump to top"})}):null,n?a.jsxs("span",{style:{display:"inline-flex"},children:[a.jsx("span",{style:{display:"inline-flex"},children:a.jsx(je,{"data-testid":"chat-scroll-bottom-button",className:`chat-scroll-capsule__button ${r?"chat-scroll-capsule__button--active":""}`,type:r?"primary":"text",icon:a.jsx("span",{"aria-hidden":"true",children:"↓"}),size:"small",onClick:()=>{l(),i()},children:r?u("chat.scroll.newMessagesWithCount",{count:s,defaultValue:s>0?"{{count}} new messages":"New messages"}):u("chat.scroll.backToLatest",{defaultValue:"Back to latest"})})}),r&&s>0?a.jsx("span",{className:"chat-scroll-capsule__count","data-testid":"chat-scroll-unread-count",children:s}):null]}):null]})}),RA=ht.lazy(()=>Jt(()=>import("./index-CJsySE-8.js"),__vite__mapDeps([16,1,2,3,4,5,6,17]),import.meta.url).then(e=>({default:e.ContextBar}))),AA=({sessionId:e,auxReady:t,maxWidth:n,paddingLeft:r,paddingRight:s,workspaceState:o,inspectorEligible:i,planMode:l,onRequestOpenInspector:u,t:d})=>{const{token:h}=ut.useToken();if(!e)return null;const m=l?a.jsx(xn,{title:d("chat.planMode.tooltip",{status:l.status,mode:l.pre_permission_mode,defaultValue:"Plan mode active · phase: {{status}} · previous mode: {{mode}}"}),children:a.jsx(Je,{color:"purple",icon:a.jsx(ug,{}),style:{marginInlineEnd:0},children:d("chat.planMode.active",{defaultValue:"Plan mode"})})}):null,b=i&&o.inspectorTogglePlacement==="meta_strip"&&!!u,v=!!(m||o.isMultiPane||b);return a.jsxs(a.Fragment,{children:[t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(RA,{sessionId:e})}):null,v?a.jsx("div",{"data-conversation-meta-strip":!0,"data-inspector-toggle-placement":o.inspectorTogglePlacement,style:{paddingTop:h.paddingXS,paddingRight:s,paddingBottom:0,paddingLeft:r,maxWidth:n,margin:"0 auto",width:"100%"},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:h.marginXS,wrap:!0,children:[a.jsxs(Me,{align:"center",gap:h.marginXS,wrap:!0,children:[m,o.isMultiPane?a.jsx(Je,{color:"blue",style:{marginInlineEnd:0},children:d("chat.workspace.multiPane",{count:o.leafCount,defaultValue:"{{count}} panes"})}):null]}),b&&u?a.jsx(je,{size:"small",icon:a.jsx(ad,{}),onClick:u,"aria-label":d("chat.workspace.toggleInspector",{defaultValue:"Open inspector"}),children:o.inspectorMode==="drawer"?d("chat.workspace.openInspector",{defaultValue:"Inspector"}):d("chat.workspace.toggleInspector",{defaultValue:"Inspector"})}):null]})}):null]})},Jd=({isEmbedded:e,leafCount:t,isMobileViewport:n})=>{const r=Number.isFinite(t)&&t>0?Math.floor(t):1,s=r>1;return{isEmbedded:e,leafCount:r,isMultiPane:s,isMobileViewport:n,inspectorMode:n||s?"drawer":"rail",inspectorTogglePlacement:s&&!n?"pane_header":"meta_strip"}},IA=ht.lazy(()=>Jt(()=>import("./index-CSZOcCBg.js"),__vite__mapDeps([18,1,2,3,4,5,6,19]),import.meta.url).then(e=>({default:e.QuestionDialog}))),{useToken:OA}=ut,{useBreakpoint:$A}=Pl,LA=e=>{const{t}=xt;return e.role==="user"?t("chat.view.roleUser"):e.role==="assistant"?t("chat.view.roleAssistant"):e.role==="system"?t("chat.view.roleSystem"):t("chat.view.roleDefault")},$v=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},FA=e=>e.map(({message:t,text:n},r)=>{const s=LA(t),o=$v(t.createdAt);return[`## ${r+1}. ${s} · ${o}`,"",n].join(`
218
218
  `)}).join(`
219
219
 
220
220
  ---
221
221
 
222
- `),Xp=({sessionId:e,embedded:t=!1,paneCount:n=1,auxReady:r=!1,sessionDiffSummary:s=null,workspaceState:o,inspectorEligible:i=!1,onRequestOpenInspector:l})=>{var kt,Ct,Tt,Ke,Nt;const u=n,{message:d}=Fn.useApp(),{t:h}=Ge(),m=ae(Se=>e??Se.currentSessionId),b=ae(ks(m)),v=ae(Se=>Se.deleteMessage),w=ae(Se=>Se.loadChatHistory),S=ae(Se=>m?Se.tokenUsages[m]??null:null),k=ae(Se=>m?Se.truncationOccurred[m]??!1:!1),P=ae(Se=>m?Se.segmentsRemoved[m]??0:0),T=y.useMemo(()=>(b==null?void 0:b.messages)||[],[b]),j=ae(Vi(m));y.useEffect(()=>{if(!m)return;const Se=ae.getState().chats.find(De=>De.id===m);Se&&Array.isArray(Se.messages)&&Se.messages.length>0||w(m)},[m,w]);const C=(b==null?void 0:b.messageCount)??0,E=((kt=b==null?void 0:b.messages)==null?void 0:kt.length)??0;y.useEffect(()=>{if(!m)return;C-E>0&&w(m,{mode:"monotonic"})},[m,C,E,w]);const A=j,O=y.useCallback(Se=>{if(Se.success)return null;switch(Se.reason){case"session_not_found":case"message_not_found":case"backend_not_found":return h("chat.messageActions.deleteNotFound");case"session_running":return h("chat.messageActions.deleteConflict");default:return Se.errorMessage||h("chat.messageActions.deleteFailed")}},[h]),D=y.useCallback(async(Se,De)=>{if(!m){const Ot={success:!1,sessionId:"",messageId:Se,reason:"session_not_found"};return(De==null?void 0:De.notify)!==!1&&d.error(O(Ot)),Ot}const Ve=await v(m,Se);return!Ve.success&&(De==null?void 0:De.notify)!==!1&&d.error(O(Ve)),Ve},[m,v,d,O]),F=y.useCallback(async Se=>{const De=Array.from(new Set(Se.map(Zt=>Zt.trim()).filter(Boolean)));if(De.length===0)return;const Ot=(await Promise.all(De.map(Zt=>D(Zt,{notify:!1})))).filter(Zt=>!Zt.success);if(Ot.length!==0){if(Ot.length===1){d.error(O(Ot[0]));return}d.error(h("chat.messageActions.deleteBatchFailed",{failed:Ot.length,total:De.length}))}},[D,d,O,h]),N=y.useRef(null),q=y.useRef(null),{token:I}=OA(),Q=$A(),G=jl(),[Z,pe]=y.useState(null),[$,oe]=y.useState(!1),[me,ne]=y.useState(new Set),he=gt(Se=>Se.sidebar.collapsed),fe=r,ue=s,de=()=>t||Q.xs||Q.sm?"100%":Q.md?"90%":Q.lg?"85%":"1024px",Ce=()=>{let Se;return t?Se=I.paddingSM:Q.xs?Se=I.paddingXS:Q.sm?Se=I.paddingSM:Se=I.padding,!t&&he&&!G?Se+18:Se},ze=y.useMemo(()=>o||Jd({isEmbedded:t,leafCount:u,isMobileViewport:G}),[t,G,u,o]);y.useEffect(()=>{pe(null),oe(!1),ne(new Set)},[m]);const{systemPromptMessage:Le,renderableMessages:lt,convertRenderableEntry:L}=PA(b,T),le=T.length>0,Ae=!!(Z!=null&&Z.content),Ie=!!Le,He=!!m&&(le||Ae),dt=0,pt=y.useMemo(()=>{if(!(Z!=null&&Z.content))return lt;const Se={message:{id:Z.id,role:"user",content:Z.content,createdAt:Z.createdAt},messageType:"text"};return[...lt,Se]},[lt,Z]),$t=y.useMemo(()=>{const Se=[];for(const De of pt){if(!("message"in De))continue;const Ve=eb(De.message).trim();Ve&&Se.push({id:De.message.id,message:De.message,text:Ve})}return Se},[pt]),Qt=y.useMemo(()=>new Set($t.map(Se=>Se.id)),[$t]);y.useEffect(()=>{ne(Se=>{let De=!1;const Ve=new Set;for(const Ot of Se)Qt.has(Ot)?Ve.add(Ot):De=!0;return De?Ve:Se})},[Qt]);const rn=y.useMemo(()=>$t.filter(Se=>me.has(Se.id)),[$t,me]),_n=$t.length>0,At=y.useCallback(Se=>{ne(De=>{const Ve=new Set(De);return Ve.has(Se)?Ve.delete(Se):Ve.add(Se),Ve})},[]),Xt=y.useCallback(()=>{if(!_n){d.warning(h("chat.view.noExportableMessages"));return}oe(!0)},[d,_n,h]),Kt=y.useCallback(()=>{oe(!1),ne(new Set)},[]),gn=y.useCallback(()=>{if($){Kt();return}Xt()},[Xt,Kt,$]),On=y.useCallback(()=>{ne(new Set($t.map(Se=>Se.id)))},[$t]),Mn=y.useCallback(()=>{ne(new Set)},[]),It=y.useCallback(async Se=>{var Ot;if(!m){d.warning(h("chat.view.noActiveChat"));return}if(rn.length===0){d.warning(h("chat.view.selectAtLeastOneMessage"));return}const De=FA(rn),Ve=await tb.exportMessageText({format:Se,content:De,sessionId:m,filenamePrefix:`chat-messages-${rn.length}`});if(Ve.success){d.success(h("chat.view.exportSaved",{filename:Ve.filename}));return}(Ot=Ve.error)!=null&&Ot.toLowerCase().includes("cancel")||d.error(Ve.error||h("chat.view.exportFailed"))},[d,m,rn,h]);y.useEffect(()=>{if(typeof window>"u")return;const Se=De=>{var Zt;const Ot=((Zt=De.detail)==null?void 0:Zt.sessionId)??null;!m||Ot!==m||gn()};return window.addEventListener(vu,Se),()=>{window.removeEventListener(vu,Se)}},[m,gn]);const _t=(Ct=b==null?void 0:b.config)==null?void 0:Ct.tokenUsage,bt=S||_t||null,ye=(Tt=b==null?void 0:b.config)==null?void 0:Tt.truncationOccurred,We=k||ye||!1,Te=(Ke=b==null?void 0:b.config)==null?void 0:Ke.segmentsRemoved,qe=P||Te||0,Lt=y.useMemo(()=>{var De;const Se=(De=b==null?void 0:b.config)==null?void 0:De.compressionEvents;return!Se||Se.length===0?null:Se.reduce((Ve,Ot)=>{const Zt=Date.parse(Ve.createdAt),Qn=Date.parse(Ot.createdAt);return Number.isFinite(Zt)?Number.isFinite(Qn)&&Qn>Zt?Ot:Ve:Ot})},[(Nt=b==null?void 0:b.config)==null?void 0:Nt.compressionEvents]),$n=I.marginMD,{handleMessagesScroll:Vt,hasUnreadActivity:$e,resetUserScroll:fn,scrollToBottom:B,scrollToTop:ie,showScrollToBottom:H,showScrollToTop:_e,unreadCount:Oe}=mA({currentSessionId:m,isThinking:A,messagesListRef:N,bottomAnchorRef:q,renderableMessages:pt}),Fe=!!He&&_n&&(!t||$),et=Lt?a.jsx(xn,{title:h("chat.compression.tooltip",{count:Lt.messagesCompressed,time:$v(Lt.createdAt),defaultValue:"Latest compression at {{time}}: {{count}} messages archived"}),children:a.jsx(Je,{color:"gold",icon:a.jsx(Sg,{}),style:{marginInlineEnd:0,whiteSpace:"nowrap"},children:h("chat.compression.archivedShort",{count:Lt.messagesCompressed,defaultValue:"{{count}} archived"})})}):null,Xe=bt&&bt.budgetLimit>0?a.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:I.marginXS},children:[a.jsx(KR,{usage:bt,showDetails:!0,size:"small"}),We&&a.jsxs("span",{style:{fontSize:11,color:I.colorTextSecondary,whiteSpace:"nowrap"},children:["(",qe," truncated)"]}),et]}):et?a.jsx("div",{style:{display:"inline-flex",alignItems:"center",gap:I.marginXS},children:et}):null;return a.jsx(Ws,{role:"region","aria-label":h("chat.view.chatRegion","Chat conversation"),style:{flex:1,minHeight:0,height:"100%",background:I.colorBgContainer,position:"relative",overflow:"hidden"},children:a.jsxs(Me,{vertical:!0,style:{flex:1,minHeight:0,height:"100%"},children:[a.jsx(AA,{sessionId:m,auxReady:fe,maxWidth:de(),paddingLeft:Ce(),paddingRight:Ce(),workspaceState:ze,inspectorEligible:i,planMode:(b==null?void 0:b.planMode)??null,onRequestOpenInspector:l,t:h}),a.jsx(EA,{visible:Fe,selectionMode:$,selectedCount:rn.length,totalCount:$t.length,paddingTop:I.paddingXS,paddingRight:Ce()+dt,paddingBottom:0,paddingLeft:Ce(),maxWidth:de(),onToggleSelectionMode:gn,onSelectAll:On,onClear:Mn,onExportMarkdown:()=>{It("markdown")},onExportPdf:()=>{It("pdf")},t:h}),a.jsx(YR,{currentChat:b,currentSessionId:m,convertRenderableEntry:L,handleDeleteMessage:D,handleDeleteToolMessages:F,handleMessagesScroll:Vt,hasSystemPrompt:Ie,messagesListRef:N,bottomAnchorRef:q,renderableMessages:pt,rowGap:$n,showMessagesView:!!He,screens:Q,workflowDraftId:Z==null?void 0:Z.id,isThinking:A,padding:Ce(),selectionMode:$,selectedMessageIds:me,selectableMessageIds:Qt,onToggleMessageSelection:At}),a.jsxs("div",{className:"chat-bottom-stack","data-testid":"chat-bottom-stack",children:[a.jsx(jA,{visible:He,showScrollToTop:_e,showScrollToBottom:H,hasUnreadActivity:$e,unreadCount:Oe,onScrollToTop:ie,onScrollToBottom:B,onResetUserScroll:fn,t:h}),m&&fe&&a.jsx("div",{style:{paddingTop:I.paddingXS,paddingRight:Ce(),paddingBottom:0,paddingLeft:Ce(),maxWidth:de(),margin:"0 auto",width:"100%"},children:a.jsx(ht.Suspense,{fallback:null,children:a.jsx(IA,{sessionId:m},m)})}),a.jsx(QC,{sessionId:m,isCenteredLayout:!He,maxWidth:He?de():"100%",onWorkflowDraftChange:pe,showMessagesView:!!He,sessionDiffSummary:ue,contextUsageIndicator:Xe,showSessionDiffCard:!1})]})]})})},Hu="lotus_experience_mode_v1",NI=new Set(["skills","hooks","masking","env-vars","metrics","sessions","config"]);function Kp(){try{const e=localStorage.getItem(Hu);if(e==="simple"||e==="advanced")return e}catch{}return"advanced"}const Lv=Hr(e=>({mode:Kp(),isAdvanced:Kp()==="advanced",setMode:t=>{try{localStorage.setItem(Hu,t)}catch{}e({mode:t,isAdvanced:t==="advanced"})},toggleMode:()=>e(t=>{const n=t.mode==="simple"?"advanced":"simple";try{localStorage.setItem(Hu,n)}catch{}return{mode:n,isAdvanced:n==="advanced"}})})),DA=ht.lazy(()=>Jt(()=>import("./index-PqGYeNgr.js"),__vite__mapDeps([20,1,2,3,21,4,5,6,22]),import.meta.url).then(e=>({default:e.SessionSummaryCard}))),NA=ht.lazy(()=>Jt(()=>import("./index-DyUcAs0H.js"),__vite__mapDeps([23,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.TodoList}))),BA=ht.lazy(()=>Jt(()=>import("./SubAgentsPanel-DVARq_LB.js"),__vite__mapDeps([24,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.SubAgentsPanel}))),{Title:zA,Text:Fv}=ft,WA=({sessionId:e,auxReady:t,showMessagesView:n,shouldShowTaskPanel:r,hasSubAgents:s,sessionDiffSummary:o})=>{const{token:i}=ut.useToken(),l=Lv(d=>d.isAdvanced),u=y.useMemo(()=>[{key:"overview",title:"Overview",showTitle:!1,visible:l&&n,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(DA,{sessionId:e,compact:!0})}):null},{key:"tasks",title:"Tasks",showTitle:!1,visible:r,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(NA,{sessionId:e,initialCollapsed:!1,compact:!0})}):null},{key:"agents",title:"Sub-agents",showTitle:!1,visible:s,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(BA,{parentSessionId:e,compact:!0})}):null},{key:"diffs",title:"Diffs",showTitle:!1,visible:!!o,node:a.jsx(xy,{sessionDiffSummary:o,sessionId:e,compact:!0})}].filter(d=>d.visible),[t,s,l,o,e,r,n]);return u.length===0?a.jsx(Me,{vertical:!0,align:"center",justify:"center",style:{minHeight:180,color:i.colorTextSecondary,padding:i.paddingLG,textAlign:"center"},children:a.jsx(Fv,{type:"secondary",children:"No session details available yet."})}):a.jsx(Me,{vertical:!0,gap:2,style:{width:"100%",minWidth:0},children:u.map((d,h)=>a.jsx("section",{style:{width:"100%",minWidth:0,paddingTop:h===0?0:6,borderTop:h===0?"none":`1px solid ${i.colorBorderSecondary}`},children:d.showTitle?a.jsxs(Me,{vertical:!0,gap:6,style:{width:"100%",minWidth:0},children:[a.jsx(zA,{level:5,style:{margin:0,fontSize:i.fontSizeLG},children:d.title}),d.node]}):d.node},d.key))})},Vp=({sessionId:e,auxReady:t,mode:n,open:r,onOpenChange:s,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u})=>{const{token:d}=ut.useToken(),h=gt(w=>w.inspector.widthPx),m=gt(w=>w.inspector.minWidthPx),b=gt(w=>w.inspector.maxWidthPx);if(!e)return null;const v=a.jsx(WA,{sessionId:e,auxReady:t,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u});return n==="drawer"?a.jsx(Ml,{title:"Inspector",placement:"right",open:r,onClose:()=>s(!1),width:h,children:v}):r?a.jsxs("aside",{"data-session-inspector-pane":!0,style:{width:"100%",minWidth:m,maxWidth:b,height:"100%",minHeight:0,borderLeft:`1px solid ${d.colorBorderSecondary}`,background:d.colorBgLayout,overflow:"auto"},children:[a.jsxs(Me,{align:"center",justify:"space-between",style:{position:"sticky",top:0,zIndex:1,padding:`6px ${d.paddingSM}px`,borderBottom:`1px solid ${d.colorBorderSecondary}`,background:d.colorBgLayout},children:[a.jsxs(Me,{align:"center",gap:d.marginXS,children:[a.jsx(ad,{}),a.jsx(Fv,{strong:!0,children:"Inspector"})]}),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Ss,{}),"aria-label":"Close inspector",onClick:()=>s(!1)})]}),a.jsx("div",{style:{padding:`6px ${d.paddingSM}px ${d.paddingSM}px`,minWidth:0},children:v})]}):null},UA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>{const s=n,o=jl(),i=ae(G=>e??G.currentSessionId),l=ae(ks(i)),u=y.useMemo(()=>(l==null?void 0:l.messages)||[],[l]),d=ae(G=>G.loadTaskList),h=Lv(G=>G.isAdvanced),m=y.useMemo(()=>!i||!l?i:l.kind==="child"&&(l.parentSessionId||l.rootSessionId)||i,[l,i]),b=ae(G=>m?!!G.taskLists[m]:!1),v=ae(Vi(i)),w=y.useMemo(()=>!i||!l?!1:!!(b||l.kind==="child"||v),[l,b,v,i]),S=ae(G=>{if(!i)return!1;const Z=Ni(i)(G);return Object.keys(Z).length>0?!0:G.chats.some(pe=>pe.kind==="child"&&pe.parentSessionId===i)});y.useEffect(()=>{!m||b||w&&d(m).catch(G=>{console.warn(`[SessionWorkspaceShell] Failed to load task list for ${m}:`,G)})},[m,b,w,d]);const k=y.useMemo(()=>{var me;if(!u||u.length===0)return null;const G=new Map;let Z=0,pe=0,$=0;for(const ne of u){if(!My(ne))continue;const he=((me=ne.result)==null?void 0:me.result)??"",fe=no(he),ue=wd(he);if(!fe||!ue)continue;$+=1,Z+=ue.added,pe+=ue.removed;const de=G.get(fe.file_path);de?(de.added+=ue.added,de.removed+=ue.removed,de.diffChunks.push(fe.diff.unified),de.truncated=de.truncated||!!fe.diff.truncated,de.toolCount+=1,de.workspace=de.workspace??fe.workspace):G.set(fe.file_path,{added:ue.added,removed:ue.removed,diffChunks:[fe.diff.unified],truncated:!!fe.diff.truncated,toolCount:1,workspace:fe.workspace})}if(G.size===0)return null;const oe=Array.from(G.entries()).map(([ne,he])=>({filePath:ne,added:he.added,removed:he.removed,unifiedDiff:he.diffChunks.join(`
222
+ `),Xp=({sessionId:e,embedded:t=!1,paneCount:n=1,auxReady:r=!1,sessionDiffSummary:s=null,workspaceState:o,inspectorEligible:i=!1,onRequestOpenInspector:l})=>{var kt,Ct,Tt,Ke,Nt;const u=n,{message:d}=Fn.useApp(),{t:h}=Ge(),m=ae(Se=>e??Se.currentSessionId),b=ae(ks(m)),v=ae(Se=>Se.deleteMessage),w=ae(Se=>Se.loadChatHistory),S=ae(Se=>m?Se.tokenUsages[m]??null:null),k=ae(Se=>m?Se.truncationOccurred[m]??!1:!1),P=ae(Se=>m?Se.segmentsRemoved[m]??0:0),T=y.useMemo(()=>(b==null?void 0:b.messages)||[],[b]),j=ae(Vi(m));y.useEffect(()=>{if(!m)return;const Se=ae.getState().chats.find(De=>De.id===m);Se&&Array.isArray(Se.messages)&&Se.messages.length>0||w(m)},[m,w]);const C=(b==null?void 0:b.messageCount)??0,E=((kt=b==null?void 0:b.messages)==null?void 0:kt.length)??0;y.useEffect(()=>{if(!m)return;C-E>0&&w(m,{mode:"monotonic"})},[m,C,E,w]);const A=j,O=y.useCallback(Se=>{if(Se.success)return null;switch(Se.reason){case"session_not_found":case"message_not_found":case"backend_not_found":return h("chat.messageActions.deleteNotFound");case"session_running":return h("chat.messageActions.deleteConflict");default:return Se.errorMessage||h("chat.messageActions.deleteFailed")}},[h]),D=y.useCallback(async(Se,De)=>{if(!m){const Ot={success:!1,sessionId:"",messageId:Se,reason:"session_not_found"};return(De==null?void 0:De.notify)!==!1&&d.error(O(Ot)),Ot}const Ve=await v(m,Se);return!Ve.success&&(De==null?void 0:De.notify)!==!1&&d.error(O(Ve)),Ve},[m,v,d,O]),F=y.useCallback(async Se=>{const De=Array.from(new Set(Se.map(Zt=>Zt.trim()).filter(Boolean)));if(De.length===0)return;const Ot=(await Promise.all(De.map(Zt=>D(Zt,{notify:!1})))).filter(Zt=>!Zt.success);if(Ot.length!==0){if(Ot.length===1){d.error(O(Ot[0]));return}d.error(h("chat.messageActions.deleteBatchFailed",{failed:Ot.length,total:De.length}))}},[D,d,O,h]),N=y.useRef(null),q=y.useRef(null),{token:I}=OA(),Q=$A(),G=jl(),[Z,pe]=y.useState(null),[$,oe]=y.useState(!1),[me,ne]=y.useState(new Set),he=gt(Se=>Se.sidebar.collapsed),fe=r,ue=s,de=()=>t||Q.xs||Q.sm?"100%":Q.md?"90%":Q.lg?"85%":"1024px",Ce=()=>{let Se;return t?Se=I.paddingSM:Q.xs?Se=I.paddingXS:Q.sm?Se=I.paddingSM:Se=I.padding,!t&&he&&!G?Se+18:Se},ze=y.useMemo(()=>o||Jd({isEmbedded:t,leafCount:u,isMobileViewport:G}),[t,G,u,o]);y.useEffect(()=>{pe(null),oe(!1),ne(new Set)},[m]);const{systemPromptMessage:Le,renderableMessages:lt,convertRenderableEntry:L}=PA(b,T),le=T.length>0,Ae=!!(Z!=null&&Z.content),Ie=!!Le,He=!!m&&(le||Ae),dt=0,pt=y.useMemo(()=>{if(!(Z!=null&&Z.content))return lt;const Se={message:{id:Z.id,role:"user",content:Z.content,createdAt:Z.createdAt},messageType:"text"};return[...lt,Se]},[lt,Z]),$t=y.useMemo(()=>{const Se=[];for(const De of pt){if(!("message"in De))continue;const Ve=eb(De.message).trim();Ve&&Se.push({id:De.message.id,message:De.message,text:Ve})}return Se},[pt]),Qt=y.useMemo(()=>new Set($t.map(Se=>Se.id)),[$t]);y.useEffect(()=>{ne(Se=>{let De=!1;const Ve=new Set;for(const Ot of Se)Qt.has(Ot)?Ve.add(Ot):De=!0;return De?Ve:Se})},[Qt]);const rn=y.useMemo(()=>$t.filter(Se=>me.has(Se.id)),[$t,me]),_n=$t.length>0,At=y.useCallback(Se=>{ne(De=>{const Ve=new Set(De);return Ve.has(Se)?Ve.delete(Se):Ve.add(Se),Ve})},[]),Xt=y.useCallback(()=>{if(!_n){d.warning(h("chat.view.noExportableMessages"));return}oe(!0)},[d,_n,h]),Kt=y.useCallback(()=>{oe(!1),ne(new Set)},[]),gn=y.useCallback(()=>{if($){Kt();return}Xt()},[Xt,Kt,$]),On=y.useCallback(()=>{ne(new Set($t.map(Se=>Se.id)))},[$t]),Mn=y.useCallback(()=>{ne(new Set)},[]),It=y.useCallback(async Se=>{var Ot;if(!m){d.warning(h("chat.view.noActiveChat"));return}if(rn.length===0){d.warning(h("chat.view.selectAtLeastOneMessage"));return}const De=FA(rn),Ve=await tb.exportMessageText({format:Se,content:De,sessionId:m,filenamePrefix:`chat-messages-${rn.length}`});if(Ve.success){d.success(h("chat.view.exportSaved",{filename:Ve.filename}));return}(Ot=Ve.error)!=null&&Ot.toLowerCase().includes("cancel")||d.error(Ve.error||h("chat.view.exportFailed"))},[d,m,rn,h]);y.useEffect(()=>{if(typeof window>"u")return;const Se=De=>{var Zt;const Ot=((Zt=De.detail)==null?void 0:Zt.sessionId)??null;!m||Ot!==m||gn()};return window.addEventListener(vu,Se),()=>{window.removeEventListener(vu,Se)}},[m,gn]);const _t=(Ct=b==null?void 0:b.config)==null?void 0:Ct.tokenUsage,bt=S||_t||null,ye=(Tt=b==null?void 0:b.config)==null?void 0:Tt.truncationOccurred,We=k||ye||!1,Te=(Ke=b==null?void 0:b.config)==null?void 0:Ke.segmentsRemoved,qe=P||Te||0,Lt=y.useMemo(()=>{var De;const Se=(De=b==null?void 0:b.config)==null?void 0:De.compressionEvents;return!Se||Se.length===0?null:Se.reduce((Ve,Ot)=>{const Zt=Date.parse(Ve.createdAt),Qn=Date.parse(Ot.createdAt);return Number.isFinite(Zt)?Number.isFinite(Qn)&&Qn>Zt?Ot:Ve:Ot})},[(Nt=b==null?void 0:b.config)==null?void 0:Nt.compressionEvents]),$n=I.marginMD,{handleMessagesScroll:Vt,hasUnreadActivity:$e,resetUserScroll:fn,scrollToBottom:B,scrollToTop:ie,showScrollToBottom:H,showScrollToTop:_e,unreadCount:Oe}=mA({currentSessionId:m,isThinking:A,messagesListRef:N,bottomAnchorRef:q,renderableMessages:pt}),Fe=!!He&&_n&&(!t||$),et=Lt?a.jsx(xn,{title:h("chat.compression.tooltip",{count:Lt.messagesCompressed,time:$v(Lt.createdAt),defaultValue:"Latest compression at {{time}}: {{count}} messages archived"}),children:a.jsx(Je,{color:"gold",icon:a.jsx(Sg,{}),style:{marginInlineEnd:0,whiteSpace:"nowrap"},children:h("chat.compression.archivedShort",{count:Lt.messagesCompressed,defaultValue:"{{count}} archived"})})}):null,Xe=bt&&bt.budgetLimit>0?a.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:I.marginXS},children:[a.jsx(KR,{usage:bt,showDetails:!0,size:"small"}),We&&a.jsxs("span",{style:{fontSize:11,color:I.colorTextSecondary,whiteSpace:"nowrap"},children:["(",qe," truncated)"]}),et]}):et?a.jsx("div",{style:{display:"inline-flex",alignItems:"center",gap:I.marginXS},children:et}):null;return a.jsx(Ws,{role:"region","aria-label":h("chat.view.chatRegion","Chat conversation"),style:{flex:1,minHeight:0,height:"100%",background:I.colorBgContainer,position:"relative",overflow:"hidden"},children:a.jsxs(Me,{vertical:!0,style:{flex:1,minHeight:0,height:"100%"},children:[a.jsx(AA,{sessionId:m,auxReady:fe,maxWidth:de(),paddingLeft:Ce(),paddingRight:Ce(),workspaceState:ze,inspectorEligible:i,planMode:(b==null?void 0:b.planMode)??null,onRequestOpenInspector:l,t:h}),a.jsx(EA,{visible:Fe,selectionMode:$,selectedCount:rn.length,totalCount:$t.length,paddingTop:I.paddingXS,paddingRight:Ce()+dt,paddingBottom:0,paddingLeft:Ce(),maxWidth:de(),onToggleSelectionMode:gn,onSelectAll:On,onClear:Mn,onExportMarkdown:()=>{It("markdown")},onExportPdf:()=>{It("pdf")},t:h}),a.jsx(YR,{currentChat:b,currentSessionId:m,convertRenderableEntry:L,handleDeleteMessage:D,handleDeleteToolMessages:F,handleMessagesScroll:Vt,hasSystemPrompt:Ie,messagesListRef:N,bottomAnchorRef:q,renderableMessages:pt,rowGap:$n,showMessagesView:!!He,screens:Q,workflowDraftId:Z==null?void 0:Z.id,isThinking:A,padding:Ce(),selectionMode:$,selectedMessageIds:me,selectableMessageIds:Qt,onToggleMessageSelection:At}),a.jsxs("div",{className:"chat-bottom-stack","data-testid":"chat-bottom-stack",children:[a.jsx(jA,{visible:He,showScrollToTop:_e,showScrollToBottom:H,hasUnreadActivity:$e,unreadCount:Oe,onScrollToTop:ie,onScrollToBottom:B,onResetUserScroll:fn,t:h}),m&&fe&&a.jsx("div",{style:{paddingTop:I.paddingXS,paddingRight:Ce(),paddingBottom:0,paddingLeft:Ce(),maxWidth:de(),margin:"0 auto",width:"100%"},children:a.jsx(ht.Suspense,{fallback:null,children:a.jsx(IA,{sessionId:m},m)})}),a.jsx(QC,{sessionId:m,isCenteredLayout:!He,maxWidth:He?de():"100%",onWorkflowDraftChange:pe,showMessagesView:!!He,sessionDiffSummary:ue,contextUsageIndicator:Xe,showSessionDiffCard:!1})]})]})})},Hu="lotus_experience_mode_v1",NI=new Set(["skills","hooks","masking","env-vars","metrics","sessions","config"]);function Kp(){try{const e=localStorage.getItem(Hu);if(e==="simple"||e==="advanced")return e}catch{}return"advanced"}const Lv=Hr(e=>({mode:Kp(),isAdvanced:Kp()==="advanced",setMode:t=>{try{localStorage.setItem(Hu,t)}catch{}e({mode:t,isAdvanced:t==="advanced"})},toggleMode:()=>e(t=>{const n=t.mode==="simple"?"advanced":"simple";try{localStorage.setItem(Hu,n)}catch{}return{mode:n,isAdvanced:n==="advanced"}})})),DA=ht.lazy(()=>Jt(()=>import("./index-BrDrSRJg.js"),__vite__mapDeps([20,1,2,3,21,4,5,6,22]),import.meta.url).then(e=>({default:e.SessionSummaryCard}))),NA=ht.lazy(()=>Jt(()=>import("./index-B1RhqvS7.js"),__vite__mapDeps([23,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.TodoList}))),BA=ht.lazy(()=>Jt(()=>import("./SubAgentsPanel-BtrjPQrW.js"),__vite__mapDeps([24,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.SubAgentsPanel}))),{Title:zA,Text:Fv}=ft,WA=({sessionId:e,auxReady:t,showMessagesView:n,shouldShowTaskPanel:r,hasSubAgents:s,sessionDiffSummary:o})=>{const{token:i}=ut.useToken(),l=Lv(d=>d.isAdvanced),u=y.useMemo(()=>[{key:"overview",title:"Overview",showTitle:!1,visible:l&&n,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(DA,{sessionId:e,compact:!0})}):null},{key:"tasks",title:"Tasks",showTitle:!1,visible:r,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(NA,{sessionId:e,initialCollapsed:!1,compact:!0})}):null},{key:"agents",title:"Sub-agents",showTitle:!1,visible:s,node:t?a.jsx(ht.Suspense,{fallback:null,children:a.jsx(BA,{parentSessionId:e,compact:!0})}):null},{key:"diffs",title:"Diffs",showTitle:!1,visible:!!o,node:a.jsx(xy,{sessionDiffSummary:o,sessionId:e,compact:!0})}].filter(d=>d.visible),[t,s,l,o,e,r,n]);return u.length===0?a.jsx(Me,{vertical:!0,align:"center",justify:"center",style:{minHeight:180,color:i.colorTextSecondary,padding:i.paddingLG,textAlign:"center"},children:a.jsx(Fv,{type:"secondary",children:"No session details available yet."})}):a.jsx(Me,{vertical:!0,gap:2,style:{width:"100%",minWidth:0},children:u.map((d,h)=>a.jsx("section",{style:{width:"100%",minWidth:0,paddingTop:h===0?0:6,borderTop:h===0?"none":`1px solid ${i.colorBorderSecondary}`},children:d.showTitle?a.jsxs(Me,{vertical:!0,gap:6,style:{width:"100%",minWidth:0},children:[a.jsx(zA,{level:5,style:{margin:0,fontSize:i.fontSizeLG},children:d.title}),d.node]}):d.node},d.key))})},Vp=({sessionId:e,auxReady:t,mode:n,open:r,onOpenChange:s,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u})=>{const{token:d}=ut.useToken(),h=gt(w=>w.inspector.widthPx),m=gt(w=>w.inspector.minWidthPx),b=gt(w=>w.inspector.maxWidthPx);if(!e)return null;const v=a.jsx(WA,{sessionId:e,auxReady:t,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u});return n==="drawer"?a.jsx(Ml,{title:"Inspector",placement:"right",open:r,onClose:()=>s(!1),width:h,children:v}):r?a.jsxs("aside",{"data-session-inspector-pane":!0,style:{width:"100%",minWidth:m,maxWidth:b,height:"100%",minHeight:0,borderLeft:`1px solid ${d.colorBorderSecondary}`,background:d.colorBgLayout,overflow:"auto"},children:[a.jsxs(Me,{align:"center",justify:"space-between",style:{position:"sticky",top:0,zIndex:1,padding:`6px ${d.paddingSM}px`,borderBottom:`1px solid ${d.colorBorderSecondary}`,background:d.colorBgLayout},children:[a.jsxs(Me,{align:"center",gap:d.marginXS,children:[a.jsx(ad,{}),a.jsx(Fv,{strong:!0,children:"Inspector"})]}),a.jsx(je,{type:"text",size:"small",icon:a.jsx(Ss,{}),"aria-label":"Close inspector",onClick:()=>s(!1)})]}),a.jsx("div",{style:{padding:`6px ${d.paddingSM}px ${d.paddingSM}px`,minWidth:0},children:v})]}):null},UA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>{const s=n,o=jl(),i=ae(G=>e??G.currentSessionId),l=ae(ks(i)),u=y.useMemo(()=>(l==null?void 0:l.messages)||[],[l]),d=ae(G=>G.loadTaskList),h=Lv(G=>G.isAdvanced),m=y.useMemo(()=>!i||!l?i:l.kind==="child"&&(l.parentSessionId||l.rootSessionId)||i,[l,i]),b=ae(G=>m?!!G.taskLists[m]:!1),v=ae(Vi(i)),w=y.useMemo(()=>!i||!l?!1:!!(b||l.kind==="child"||v),[l,b,v,i]),S=ae(G=>{if(!i)return!1;const Z=Ni(i)(G);return Object.keys(Z).length>0?!0:G.chats.some(pe=>pe.kind==="child"&&pe.parentSessionId===i)});y.useEffect(()=>{!m||b||w&&d(m).catch(G=>{console.warn(`[SessionWorkspaceShell] Failed to load task list for ${m}:`,G)})},[m,b,w,d]);const k=y.useMemo(()=>{var me;if(!u||u.length===0)return null;const G=new Map;let Z=0,pe=0,$=0;for(const ne of u){if(!My(ne))continue;const he=((me=ne.result)==null?void 0:me.result)??"",fe=no(he),ue=wd(he);if(!fe||!ue)continue;$+=1,Z+=ue.added,pe+=ue.removed;const de=G.get(fe.file_path);de?(de.added+=ue.added,de.removed+=ue.removed,de.diffChunks.push(fe.diff.unified),de.truncated=de.truncated||!!fe.diff.truncated,de.toolCount+=1,de.workspace=de.workspace??fe.workspace):G.set(fe.file_path,{added:ue.added,removed:ue.removed,diffChunks:[fe.diff.unified],truncated:!!fe.diff.truncated,toolCount:1,workspace:fe.workspace})}if(G.size===0)return null;const oe=Array.from(G.entries()).map(([ne,he])=>({filePath:ne,added:he.added,removed:he.removed,unifiedDiff:he.diffChunks.join(`
223
223
 
224
- `),truncated:he.truncated,toolCount:he.toolCount,workspace:he.workspace})).sort((ne,he)=>ne.filePath.localeCompare(he.filePath));return{totalAdded:Z,totalRemoved:pe,files:oe,changedTools:$}},[u]),P=gt(G=>G.inspector.widthPx),T=gt(G=>G.inspector.minWidthPx),j=gt(G=>G.inspector.maxWidthPx),C=gt(G=>G.setInspectorWidthPx),E=u.length>0,A=y.useMemo(()=>r||Jd({isEmbedded:t,leafCount:s,isMobileViewport:o}),[t,o,s,r]),O=A.inspectorMode,D=!!(i&&(h&&E||w||S||k)),F=!!i&&(O==="drawer"||D),[N,q]=y.useState(()=>O==="rail"),[I,Q]=y.useState(!1);return y.useEffect(()=>{q(O==="rail"?D:!1)},[D,O,i]),y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Z=requestIdleCallback(()=>Q(!0));return()=>cancelIdleCallback(Z)}const G=window.setTimeout(()=>Q(!0),300);return()=>window.clearTimeout(G)},[]),y.useEffect(()=>{if(typeof window>"u"||!i)return;const G=Z=>{var oe;(((oe=Z.detail)==null?void 0:oe.sessionId)??null)===i&&q(!0)};return window.addEventListener(Su,G),()=>{window.removeEventListener(Su,G)}},[i]),a.jsx("div",{"data-session-workspace-shell":!0,"data-inspector-mode":O,"data-multi-pane":A.isMultiPane?"true":"false","data-inspector-toggle-placement":A.inspectorTogglePlacement,style:{height:"100%",minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Me,{style:{flex:1,minHeight:0},children:F&&O==="rail"&&N?a.jsx(vd,{layout:"horizontal",sizesPx:[0,P],minFirstPx:320,minSecondPx:T,style:{flex:1,minHeight:0},handleSizePx:4,onResizeEnd:([,G])=>{const Z=Math.max(T,Math.min(j,G));C(Z)},first:a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Xp,{sessionId:i,embedded:t,paneCount:s,auxReady:I,sessionDiffSummary:k,workspaceState:A,inspectorEligible:D,onRequestOpenInspector:()=>q(!0)})}),second:a.jsx(Vp,{sessionId:i,auxReady:I,mode:O,open:N,onOpenChange:q,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Xp,{sessionId:i,embedded:t,paneCount:s,auxReady:I,sessionDiffSummary:k,workspaceState:A,inspectorEligible:D,onRequestOpenInspector:()=>q(!0)})}),F?a.jsx(Vp,{sessionId:i,auxReady:I,mode:O,open:N,onOpenChange:q,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k}):null]})})})},qA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>a.jsx(UA,{sessionId:e,embedded:t,paneCount:n,workspaceState:r}),HA=ht.lazy(()=>Jt(()=>import("./index-CJZQ3u55.js"),__vite__mapDeps([25,1,2,3,4,5,6,26]),import.meta.url).then(e=>({default:e.HomeDashboard}))),{useToken:YA}=ut,{Text:XA}=ft,KA=4,VA=({leafId:e})=>{var pe;const{token:t}=YA(),{t:n}=Ge(),r=gt($=>$.tree),s=gt($=>$.leafSessionIds),o=gt($=>$.activeLeafId),i=gt($=>$.setActiveLeafId),l=gt($=>$.splitLeaf),u=gt($=>$.closeLeaf),d=gt($=>$.setLeafSessionId),h=ae($=>$.selectSession),m=ae($=>$.addChat),b=ae($=>$.systemPrompts),v=ae($=>$.lastSelectedPromptId),w=s[e]??null,S=ae(ks(w)),k=y.useMemo(()=>Kn(r),[r]),P=k.length,T=Math.max(0,k.indexOf(e))+1,j=P<KA,C=wg("(max-width: 768px)"),E=y.useMemo(()=>Jd({isEmbedded:!0,leafCount:P,isMobileViewport:C}),[C,P]),A=E.isMultiPane,D=A||!!w,F=E.isMultiPane,N=o===e,q=((pe=S==null?void 0:S.title)==null?void 0:pe.trim())||n("chat.multiPane.selectSessionHint"),I=!C,Q=E.inspectorTogglePlacement==="pane_header"&&!!w,G=y.useCallback($=>{d(e,$),i(e),h($)},[e,h,i,d]),Z=y.useCallback(async()=>{var ne,he;const $=b.find(fe=>fe.id===v),oe=($==null?void 0:$.id)||(b.length>0?((ne=b.find(fe=>fe.id==="general_assistant"))==null?void 0:ne.id)||b[0].id:""),me=await m({title:n("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:oe,baseSystemPrompt:($==null?void 0:$.content)||(b.length>0?((he=b.find(fe=>fe.id==="general_assistant"))==null?void 0:he.content)||b[0].content:""),lastUsedEnhancedPrompt:null}});d(e,me),i(e)},[m,v,b,n,e,d,i]);return a.jsxs("div",{className:"chat-pane-shell",onMouseDownCapture:()=>{Xn("pane focus (mouse)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e),w&&h(w)},onFocusCapture:()=>{Xn("pane focus (focus)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e)},style:{height:"100%",minHeight:0,border:F?`1px solid ${N?t.colorPrimaryBorder:t.colorBorderSecondary}`:"none",borderRadius:F?t.borderRadiusLG:0,overflow:"hidden",background:t.colorBgContainer,position:"relative"},children:[I?a.jsx("div",{className:"chat-pane-shell__header",style:{padding:`${t.paddingXS}px ${t.paddingSM}px`,borderBottom:`1px solid ${t.colorBorderSecondary}`,background:F?t.colorBgElevated:t.colorBgContainer},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:t.marginSM,style:{minWidth:0},children:[a.jsxs(Me,{align:"center",gap:t.marginXS,style:{minWidth:0,flex:1},children:[F?a.jsx(Je,{color:N?"blue":"default",style:{marginInlineEnd:0},children:n("chat.multiPane.paneLabel",{index:T,defaultValue:"Pane {{index}}"})}):null,a.jsx("div",{className:"chat-pane-shell__title",children:a.jsx(XA,{strong:!!w,type:w?void 0:"secondary",ellipsis:{tooltip:q},children:q})})]}),a.jsxs(Me,{className:"chat-pane-shell__actions",align:"center",gap:4,children:[a.jsx(je,{size:"small",type:"text",icon:a.jsx(cx,{}),disabled:!j,title:n("chat.multiPane.splitHorizontal"),"aria-label":n("chat.multiPane.splitHorizontal"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane split request",{leafId:e,layout:"horizontal"}),l(e,"horizontal");const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;me&&h(me)}}),a.jsx(je,{size:"small",type:"text",icon:a.jsx(ux,{}),disabled:!j,title:n("chat.multiPane.splitVertical"),"aria-label":n("chat.multiPane.splitVertical"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane split request",{leafId:e,layout:"vertical"}),l(e,"vertical");const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;me&&h(me)}}),a.jsx(je,{size:"small",type:"text",icon:a.jsx(xg,{}),disabled:!w,title:n("chat.multiPane.selectMessagesToExport"),"aria-label":n("chat.multiPane.selectMessagesToExport"),onClick:$=>{$.preventDefault(),$.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(vu,{detail:{sessionId:w}}))}}),Q?a.jsx(je,{size:"small",type:"text",icon:a.jsx(ad,{}),title:n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),"aria-label":n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),onClick:$=>{$.preventDefault(),$.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(Su,{detail:{sessionId:w}}))}}):null,a.jsx(je,{size:"small",type:"text",danger:!0,icon:a.jsx(Ss,{}),disabled:!D,title:n("chat.multiPane.closePane"),"aria-label":n("chat.multiPane.closePane"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane close request",{leafId:e}),A?u(e):d(e,null);const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;h(me)}})]})]})}):null,a.jsx("div",{className:"chat-pane-shell__content",children:w?a.jsx(zi,{name:"ChatView",children:a.jsx(qA,{sessionId:w,embedded:!0,paneCount:P,workspaceState:E})}):a.jsx(zi,{name:"HomeDashboard",children:a.jsx(ht.Suspense,{fallback:null,children:a.jsx(HA,{onOpenSession:G,onCreateSession:Z})})})})]})},GA=({node:e})=>{const t=gt(r=>r.splitSizesPx[e.id]??null),n=gt(r=>r.setSplitSizesPx);return a.jsx(vd,{layout:e.layout,sizesPx:t,defaultSplitRatio:.5,minFirstPx:240,minSecondPx:240,style:{height:"100%",minHeight:0},onResizeEnd:r=>{n(e.id,r)},first:a.jsx(Yu,{node:e.children[0]}),second:a.jsx(Yu,{node:e.children[1]})})},Yu=({node:e})=>e.type==="leaf"?a.jsx(VA,{leafId:e.id}):a.jsx(GA,{node:e}),Gp=()=>{const e=gt(h=>h.tree),t=gt(h=>h.leafSessionIds),n=gt(h=>h.activeLeafId),r=gt(h=>h.setActiveLeafId),s=gt(h=>h.setLeafSessionId),o=ae(h=>h.chats.map(m=>m.id).join(",")),i=y.useMemo(()=>new Set(o.split(",")),[o]),l=ae(h=>h.currentSessionId),u=y.useRef(!1),d=y.useMemo(()=>Kn(e),[e]);return y.useEffect(()=>{d.length!==0&&(d.includes(n)||r(d[0]))},[n,d,r]),y.useEffect(()=>{const h=new Set(Object.values(t).filter(Boolean));let m=!1;for(const b of h)if(!i.has(b)){m=!0;break}if(m)for(const[b,v]of Object.entries(t))v&&!i.has(v)&&s(b,null)},[i,t,s]),y.useEffect(()=>{if(!l||u.current)return;if(!Object.values(t).some(Boolean)){s(n,l),u.current=!0;return}u.current=!0},[n,l,t,s]),a.jsx("div",{style:{height:"100%",minHeight:0,padding:0},children:a.jsx(Yu,{node:e})})},JA=ht.lazy(()=>Jt(()=>import("./index-BSdyu2HS.js"),__vite__mapDeps([27,1,2,3,4,28,5,6,21,29]),import.meta.url).then(e=>({default:e.SystemSettingsPage}))),QA=ht.lazy(()=>Jt(()=>import("./index-CTTo_OVV.js"),__vite__mapDeps([30,1,2,3,4,5,6,31]),import.meta.url).then(e=>({default:e.CommandPalette}))),ZA=ht.lazy(()=>Jt(()=>import("./FeatureGuide-BlFyQEho.js"),__vite__mapDeps([32,1,2,3,28]),import.meta.url).then(e=>({default:e.FeatureGuide}))),Jp="bodhi_open_provider_on_entry",e1="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",t1=()=>(w0(),null),n1=({themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r})=>{const s=Ei(I=>I.isOpen),o=Ei(I=>I.close),{t:i}=Ge(),{token:l}=ut.useToken(),u=yd(),d=y.useMemo(()=>ly()==="macos",[]);y.useEffect(()=>{localStorage.getItem(Jp)==="true"&&(localStorage.removeItem(Jp),Ei.getState().open("chat","provider"))},[]),J_(),y.useEffect(()=>{ih.clear(),ah()},[e]),y.useEffect(()=>{ih.clear(),ah()},[u]);const h=gt(I=>I.sidebar.collapsed),m=gt(I=>I.sidebar.widthPx),b=gt(I=>I.sidebar.minWidthPx),v=gt(I=>I.sidebar.maxWidthPx),w=gt(I=>I.setSidebarCollapsed),S=gt(I=>I.setSidebarWidthPx),k=18,P=0,j=!s&&h&&d?44:P,C=0,E=88,A=10,O="none",D=jl(),F="min(86vw, 360px)",[N,q]=y.useState(!1);return y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Q=requestIdleCallback(()=>q(!0));return()=>cancelIdleCallback(Q)}const I=window.setTimeout(()=>q(!0),200);return()=>window.clearTimeout(I)},[]),y.useEffect(()=>{const I=Q=>{!((Q.metaKey||Q.ctrlKey)&&Q.key.toLowerCase()==="k")||N||(Q.preventDefault(),window[e1]=!0,q(!0))};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[N]),a.jsxs(a.Fragment,{children:[a.jsx("a",{href:"#lotus-main-content",className:"lotus-skip-link",style:{position:"absolute",top:-9999,left:-9999,zIndex:1e4,padding:"8px 16px",background:"var(--lotus-main-surface, #fff)",color:"var(--ant-color-primary, #0d9488)",borderRadius:8,fontWeight:600,textDecoration:"none"},onFocus:I=>{I.currentTarget.style.top="8px",I.currentTarget.style.left="8px"},onBlur:I=>{I.currentTarget.style.top="-9999px",I.currentTarget.style.left="-9999px"},children:i("app.skipToContent","Skip to main content")}),N&&a.jsx(ht.Suspense,{fallback:null,children:a.jsx(QA,{})}),N&&a.jsx(ht.Suspense,{fallback:null,children:a.jsx(ZA,{disabled:s})}),N&&a.jsx(t1,{}),a.jsx(Ws,{style:{minHeight:"100vh",height:"100vh",overflow:"hidden",background:"transparent",display:"flex",flexDirection:"row",position:"relative"},children:a.jsxs("div",{style:{display:"flex",flex:1,minHeight:0,height:"100%",width:"100%",boxSizing:"border-box",paddingTop:j,paddingLeft:P,paddingRight:P,paddingBottom:P,background:"transparent"},children:[s?a.jsx(Ws,{className:"lotus-shell-panel lotus-settings-panel lotus-page-enter",style:{flex:1,display:"flex",flexDirection:"column",background:"var(--lotus-main-surface)",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:O,overflow:"hidden"},children:a.jsx(zi,{name:"SystemSettings",children:a.jsx(ht.Suspense,{fallback:a.jsx("div",{style:{padding:24,color:"var(--ant-color-text-secondary)"},children:i("app.loading","Loading…")}),children:a.jsx(JA,{themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r,onBack:o})})})}):a.jsx(a.Fragment,{children:D?a.jsxs(a.Fragment,{children:[a.jsx(Ml,{placement:"left",closable:!1,onClose:()=>w(!0),open:!h,width:F,styles:{body:{padding:0,background:"var(--lotus-sidebar-bg)"}},children:a.jsx(rh,{})}),a.jsx("main",{id:"lotus-main-content",className:"lotus-shell-panel lotus-shell-main",style:{flex:1,height:"100%",minHeight:0,borderRadius:`${k}px`,border:O,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Ws,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Gp,{})})})]}):a.jsx(vd,{layout:"horizontal",style:{flex:1,minHeight:0,height:"100%",background:"transparent"},sizesPx:[h?C:m,0],minFirstPx:h?C:b,minSecondPx:320,disabled:h,handleSizePx:h?0:2,onResizeEnd:([I])=>{if(h)return;const Q=Math.max(b,Math.min(v,I));S(Q)},first:a.jsx("div",{className:"lotus-shell-panel lotus-shell-sidebar",style:{height:"100%",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:O,overflow:"hidden",background:"var(--lotus-sidebar-bg)"},children:a.jsx(rh,{})}),second:a.jsx("main",{id:"lotus-main-content",className:"lotus-shell-panel lotus-shell-main",style:{height:"100%",minHeight:0,borderRadius:h?`${k}px`:`0 ${k}px ${k}px 0`,border:O,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Ws,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Gp,{})})})})}),!s&&h?a.jsx(je,{"data-testid":"show-sidebar",type:"text",size:"small",icon:a.jsx(dx,{}),onClick:()=>w(!1),title:i("layout.showSidebar"),"aria-label":i("layout.showSidebar"),className:"lotus-toolbar-icon lotus-floating-sidebar-toggle",style:{position:"absolute",top:D?8:A,left:D?8:E,zIndex:40,width:36,height:36,borderRadius:12,border:`1px solid ${l.colorBorderSecondary}`,background:l.colorBgElevated,boxShadow:l.boxShadowSecondary}}):null]})})]})},r1="bodhi_open_provider_on_entry",{Title:Qp,Paragraph:Zp}=ft,s1=()=>{const{t:e}=Ge(),[t,n]=y.useState(!1),[r,s]=y.useState(null),[o,i]=y.useState(!1),l=async u=>{try{s(null),i(!0),await Qs.getInstance().markSetupComplete(),u&&localStorage.setItem(r1,"true"),n(!0)}catch(d){console.error("Failed to complete setup:",d),s(e("setup.error.completeFailed"))}finally{i(!1)}};return t?a.jsxs("div",{"data-testid":"setup-complete",className:"setup-complete",children:[a.jsx(Qp,{level:2,children:e("setup.complete.title")}),a.jsx(Zp,{children:e("setup.complete.restartMessage")}),a.jsx(je,{"data-testid":"setup-restart",onClick:()=>window.location.reload(),children:e("setup.complete.restartMessage")})]}):a.jsx("div",{className:"setup-page",children:a.jsxs(nn,{className:"setup-page__card",children:[a.jsxs("div",{className:"setup-page__hero",children:[a.jsx("div",{className:"setup-page__hero-icon",children:a.jsx(Pf,{})}),a.jsx(Qp,{level:2,style:{marginTop:0},children:e("setup.welcome.heading")}),a.jsx(Zp,{type:"secondary",children:e("setup.welcome.description")})]}),a.jsx(ir,{message:e("setup.welcome.providerHint"),type:"info",showIcon:!0,style:{marginBottom:16}}),a.jsx(ir,{message:e("setup.welcome.proxyHint"),type:"info",showIcon:!0,style:{marginBottom:24}}),r?a.jsx(ir,{message:r,type:"error",showIcon:!0,style:{marginBottom:16}}):null,a.jsxs("div",{className:"setup-page__actions",children:[a.jsx(je,{"data-testid":"setup-configure-provider",icon:a.jsx(Tl,{}),onClick:()=>void l(!0),loading:o,children:e("setup.button.configureProvider")}),a.jsx(je,{"data-testid":"setup-get-started",type:"primary",icon:a.jsx(Pf,{}),onClick:()=>void l(!1),loading:o,children:e("setup.button.getStarted")})]})]})})},{Title:o1,Text:em}=ft,i1=({onVerified:e,verifyPassword:t})=>{const{t:n}=Ge(),[r,s]=y.useState(""),[o,i]=y.useState(null),[l,u]=y.useState(!1),d=async()=>{const h=r.trim();if(!h){i(n("app.passwordGate.validation.required"));return}u(!0),i(null);try{await t(h),await e(),s("")}catch(m){const b=m instanceof Error?m.message:n("app.passwordGate.validation.verifyFailed");i(b)}finally{u(!1)}};return a.jsx("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",padding:24},children:a.jsx(nn,{style:{width:"100%",maxWidth:480},children:a.jsxs(Ue,{direction:"vertical",size:20,style:{width:"100%"},children:[a.jsxs("div",{children:[a.jsx(o1,{level:3,style:{marginBottom:8},children:n("app.passwordGate.title")}),a.jsx(em,{type:"secondary",children:n("app.passwordGate.description")})]}),o?a.jsx(ir,{type:"error",showIcon:!0,message:o}):null,a.jsxs(Ue,{direction:"vertical",size:8,style:{width:"100%"},children:[a.jsx(em,{strong:!0,children:n("app.passwordGate.passwordLabel")}),a.jsx(xs.Password,{value:r,autoFocus:!0,autoComplete:"current-password",onChange:h=>s(h.target.value),onPressEnter:()=>void d(),placeholder:n("app.passwordGate.passwordPlaceholder")})]}),a.jsx(je,{type:"primary",block:!0,loading:l,onClick:()=>void d(),children:n("app.passwordGate.submit")})]})})})};var Ao={},Hc={exports:{}},tm;function Yt(){return tm||(tm=1,function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(Hc)),Hc.exports}var Io={},nm;function a1(){if(nm)return Io;nm=1,Object.defineProperty(Io,"__esModule",{value:!0}),Io.default=void 0;var e={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};return Io.default=e,Io}var Oo={},$o={},Lo={},Yc={exports:{}},Xc={exports:{}},Kc={exports:{}},Vc={exports:{}},rm;function l1(){return rm||(rm=1,function(e){var t=lg().default;function n(r,s){if(t(r)!="object"||!r)return r;var o=r[Symbol.toPrimitive];if(o!==void 0){var i=o.call(r,s||"default");if(t(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(r)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(Vc)),Vc.exports}var sm;function c1(){return sm||(sm=1,function(e){var t=lg().default,n=l1();function r(s){var o=n(s,"string");return t(o)=="symbol"?o:o+""}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(Kc)),Kc.exports}var om;function u1(){return om||(om=1,function(e){var t=c1();function n(r,s,o){return(s=t(s))in r?Object.defineProperty(r,s,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[s]=o,r}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(Xc)),Xc.exports}var im;function so(){return im||(im=1,function(e){var t=u1();function n(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(s);o&&(l=l.filter(function(u){return Object.getOwnPropertyDescriptor(s,u).enumerable})),i.push.apply(i,l)}return i}function r(s){for(var o=1;o<arguments.length;o++){var i=arguments[o]!=null?arguments[o]:{};o%2?n(Object(i),!0).forEach(function(l){t(s,l,i[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach(function(l){Object.defineProperty(s,l,Object.getOwnPropertyDescriptor(i,l))})}return s}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(Yc)),Yc.exports}var Fo={},am;function oo(){return am||(am=1,Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.commonLocale=void 0,Fo.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),Fo}var lm;function d1(){if(lm)return Lo;lm=1;var e=Yt().default;Object.defineProperty(Lo,"__esModule",{value:!0}),Lo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",week:"Week",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"});return Lo.default=r,Lo}var Do={},cm;function Dv(){if(cm)return Do;cm=1,Object.defineProperty(Do,"__esModule",{value:!0}),Do.default=void 0;const e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};return Do.default=e,Do}var um;function Nv(){if(um)return $o;um=1;var e=Yt().default;Object.defineProperty($o,"__esModule",{value:!0}),$o.default=void 0;var t=e(d1()),n=e(Dv());const r={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},t.default),timePickerLocale:Object.assign({},n.default)};return $o.default=r,$o}var dm;function f1(){if(dm)return Oo;dm=1;var e=Yt().default;Object.defineProperty(Oo,"__esModule",{value:!0}),Oo.default=void 0;var t=e(Nv());return Oo.default=t.default,Oo}var fm;function h1(){if(fm)return Ao;fm=1;var e=Yt().default;Object.defineProperty(Ao,"__esModule",{value:!0}),Ao.default=void 0;var t=e(a1()),n=e(f1()),r=e(Nv()),s=e(Dv());const o="${label} is not a valid ${type}",i={locale:"en",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckAll:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty",transparent:"Transparent",singleColor:"Single",gradientColor:"Gradient"}};return Ao.default=i,Ao}var Gc,hm;function p1(){return hm||(hm=1,Gc=h1()),Gc}var m1=p1();const g1=vs(m1);var No={},Bo={},pm;function y1(){if(pm)return Bo;pm=1,Object.defineProperty(Bo,"__esModule",{value:!0}),Bo.default=void 0;var e={items_per_page:"/ page",jump_to:"Aller à",jump_to_confirm:"confirmer",page:"Page",prev_page:"Page précédente",next_page:"Page suivante",prev_5:"5 Pages précédentes",next_5:"5 Pages suivantes",prev_3:"3 Pages précédentes",next_3:"3 Pages suivantes",page_size:"taille de la page"};return Bo.default=e,Bo}var zo={},Wo={},Uo={},mm;function b1(){if(mm)return Uo;mm=1;var e=Yt().default;Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"fr_FR",today:"Aujourd'hui",now:"Maintenant",backToToday:"Aujourd'hui",ok:"OK",clear:"Rétablir",week:"Semaine",month:"Mois",year:"Année",timeSelect:"Sélectionner l'heure",dateSelect:"Sélectionner la date",monthSelect:"Choisissez un mois",yearSelect:"Choisissez une année",decadeSelect:"Choisissez une décennie",dateFormat:"DD/MM/YYYY",dayFormat:"DD",dateTimeFormat:"DD/MM/YYYY HH:mm:ss",previousMonth:"Mois précédent (PageUp)",nextMonth:"Mois suivant (PageDown)",previousYear:"Année précédente (Ctrl + gauche)",nextYear:"Année prochaine (Ctrl + droite)",previousDecade:"Décennie précédente",nextDecade:"Décennie suivante",previousCentury:"Siècle précédent",nextCentury:"Siècle suivant"});return Uo.default=r,Uo}var qo={},gm;function Bv(){if(gm)return qo;gm=1,Object.defineProperty(qo,"__esModule",{value:!0}),qo.default=void 0;const e={placeholder:"Sélectionner l'heure",rangePlaceholder:["Heure de début","Heure de fin"]};return qo.default=e,qo}var ym;function zv(){if(ym)return Wo;ym=1;var e=Yt().default;Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.default=void 0;var t=e(b1()),n=e(Bv());const r={lang:Object.assign({placeholder:"Sélectionner une date",yearPlaceholder:"Sélectionner une année",quarterPlaceholder:"Sélectionner un trimestre",monthPlaceholder:"Sélectionner un mois",weekPlaceholder:"Sélectionner une semaine",rangePlaceholder:["Date de début","Date de fin"],rangeYearPlaceholder:["Année de début","Année de fin"],rangeMonthPlaceholder:["Mois de début","Mois de fin"],rangeWeekPlaceholder:["Semaine de début","Semaine de fin"]},t.default),timePickerLocale:Object.assign({},n.default)};return Wo.default=r,Wo}var bm;function v1(){if(bm)return zo;bm=1;var e=Yt().default;Object.defineProperty(zo,"__esModule",{value:!0}),zo.default=void 0;var t=e(zv());return zo.default=t.default,zo}var vm;function S1(){if(vm)return No;vm=1;var e=Yt().default;Object.defineProperty(No,"__esModule",{value:!0}),No.default=void 0;var t=e(y1()),n=e(v1()),r=e(zv()),s=e(Bv());const o="La valeur du champ ${label} n'est pas valide pour le type ${type}",i={locale:"fr",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,Table:{filterTitle:"Filtrer",filterConfirm:"OK",filterReset:"Réinitialiser",filterEmptyText:"Aucun filtre",filterCheckAll:"Tout sélectionner",filterSearchPlaceholder:"Chercher dans les filtres",emptyText:"Aucune donnée",selectAll:"Sélectionner la page actuelle",selectInvert:"Inverser la sélection de la page actuelle",selectNone:"Désélectionner toutes les données",selectionAll:"Sélectionner toutes les données",sortTitle:"Trier",expand:"Développer la ligne",collapse:"Réduire la ligne",triggerDesc:"Trier par ordre décroissant",triggerAsc:"Trier par ordre croissant",cancelSort:"Annuler le tri"},Tour:{Next:"Étape suivante",Previous:"Étape précédente",Finish:"Fin de la visite guidée"},Modal:{okText:"OK",cancelText:"Annuler",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Annuler"},Transfer:{titles:["",""],searchPlaceholder:"Rechercher",itemUnit:"élément",itemsUnit:"éléments",remove:"Désélectionner",selectCurrent:"Sélectionner la page actuelle",removeCurrent:"Désélectionner la page actuelle",selectAll:"Sélectionner toutes les données",removeAll:"Désélectionner toutes les données",selectInvert:"Inverser la sélection de la page actuelle"},Upload:{uploading:"Téléchargement...",removeFile:"Effacer le fichier",uploadError:"Erreur de téléchargement",previewFile:"Fichier de prévisualisation",downloadFile:"Télécharger un fichier"},Empty:{description:"Aucune donnée"},Icon:{icon:"icône"},Text:{edit:"Éditer",copy:"Copier",copied:"Copie effectuée",expand:"Développer"},Form:{optional:"(optionnel)",defaultValidateMessages:{default:"Erreur de validation pour le champ ${label}",required:"Le champ ${label} est obligatoire",enum:"La valeur du champ ${label} doit être parmi [${enum}]",whitespace:"La valeur du champ ${label} ne peut pas être vide",date:{format:"La valeur du champ ${label} n'est pas au format date",parse:"La valeur du champ ${label} ne peut pas être convertie vers une date",invalid:"La valeur du champ ${label} n'est pas une date valide"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"La taille du champ ${label} doit être de ${len} caractères",min:"La taille du champ ${label} doit être au minimum de ${min} caractères",max:"La taille du champ ${label} doit être au maximum de ${max} caractères",range:"La taille du champ ${label} doit être entre ${min} et ${max} caractères"},number:{len:"La valeur du champ ${label} doit être égale à ${len}",min:"La valeur du champ ${label} doit être plus grande que ${min}",max:"La valeur du champ ${label} doit être plus petit que ${max}",range:"La valeur du champ ${label} doit être entre ${min} et ${max}"},array:{len:"La taille du tableau ${label} doit être de ${len}",min:"La taille du tableau ${label} doit être au minimum de ${min}",max:"La taille du tableau ${label} doit être au maximum de ${max}",range:"La taille du tableau ${label} doit être entre ${min}-${max}"},pattern:{mismatch:"La valeur du champ ${label} ne correspond pas au modèle ${pattern}"}}},Image:{preview:"Aperçu"}};return No.default=i,No}var Jc,Sm;function x1(){return Sm||(Sm=1,Jc=S1()),Jc}var w1=x1();const _1=vs(w1);var Ho={},Yo={},xm;function k1(){if(xm)return Yo;xm=1,Object.defineProperty(Yo,"__esModule",{value:!0}),Yo.default=void 0;var e={items_per_page:"/ पृष्ठ",jump_to:"इस पर चलें",jump_to_confirm:"पुष्टि करें",page:"",prev_page:"पिछला पृष्ठ",next_page:"अगला पृष्ठ",prev_5:"पिछले 5 पृष्ठ",next_5:"अगले 5 पृष्ठ",prev_3:"पिछले 3 पृष्ठ",next_3:"अगले 3 पेज",page_size:"Page Size"};return Yo.default=e,Yo}var Xo={},Ko={},Vo={},wm;function C1(){if(wm)return Vo;wm=1;var e=Yt().default;Object.defineProperty(Vo,"__esModule",{value:!0}),Vo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"hi_IN",today:"आज",now:"अभी",backToToday:"आज तक",ok:"ठीक",clear:"स्पष्ट",week:"सप्ताह",month:"महीना",year:"साल",timeSelect:"समय का चयन करें",dateSelect:"तारीख़ चुनें",weekSelect:"एक सप्ताह चुनें",monthSelect:"एक महीना चुनें",yearSelect:"एक वर्ष चुनें",decadeSelect:"एक दशक चुनें",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"पिछला महीना (पेजअप)",nextMonth:"अगले महीने (पेजडाउन)",previousYear:"पिछले साल (Ctrl + बाएं)",nextYear:"अगले साल (Ctrl + दाहिना)",previousDecade:"पिछला दशक",nextDecade:"अगले दशक",previousCentury:"पीछ्ली शताब्दी",nextCentury:"अगली सदी"});return Vo.default=r,Vo}var Go={},_m;function Wv(){if(_m)return Go;_m=1,Object.defineProperty(Go,"__esModule",{value:!0}),Go.default=void 0;const e={placeholder:"समय का चयन करें",rangePlaceholder:["आरंभिक समय","अंत समय"]};return Go.default=e,Go}var km;function Uv(){if(km)return Ko;km=1;var e=Yt().default;Object.defineProperty(Ko,"__esModule",{value:!0}),Ko.default=void 0;var t=e(C1()),n=e(Wv());const r={lang:Object.assign({placeholder:"तारीख़ चुनें",yearPlaceholder:"वर्ष चुनें",quarterPlaceholder:"तिमाही चुनें",monthPlaceholder:"महीना चुनिए",weekPlaceholder:"सप्ताह चुनें",rangePlaceholder:["प्रारंभ तिथि","समाप्ति तिथि"],rangeYearPlaceholder:["आरंभिक वर्ष","अंत वर्ष"],rangeMonthPlaceholder:["आरंभिक महीना","अंत महीना"],rangeWeekPlaceholder:["आरंभिक सप्ताह","अंत सप्ताह"]},t.default),timePickerLocale:Object.assign({},n.default)};return Ko.default=r,Ko}var Cm;function T1(){if(Cm)return Xo;Cm=1;var e=Yt().default;Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.default=void 0;var t=e(Uv());return Xo.default=t.default,Xo}var Tm;function P1(){if(Tm)return Ho;Tm=1;var e=Yt().default;Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.default=void 0;var t=e(k1()),n=e(T1()),r=e(Uv()),s=e(Wv());const o="${label} मान्य ${type} नहीं है",i={locale:"hi",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"कृपया चुनें"},Table:{filterTitle:"सूची बंद करें",filterConfirm:"अच्छी तरह से",filterReset:"रीसेट",filterEmptyText:"कोई फ़िल्टर नहीं",emptyText:"कोई जानकारी नहीं",selectAll:"वर्तमान पृष्ठ का चयन करें",selectInvert:"वर्तमान पृष्ठ घुमाएं",selectNone:"सभी डेटा साफ़ करें",selectionAll:"सभी डेटा का चयन करें",sortTitle:"द्वारा क्रमबद्ध करें",expand:"पंक्ति का विस्तार करें",collapse:"पंक्ति संक्षिप्त करें",triggerDesc:"अवरोही क्रमित करने के लिए क्लिक करें",triggerAsc:"आरोही क्रमित करने के लिए क्लिक करें",cancelSort:"छँटाई रद्द करने के लिए क्लिक करें"},Modal:{okText:"अच्छी तरह से",cancelText:"रद्द करना",justOkText:"अच्छी तरह से"},Popconfirm:{okText:"अच्छी तरह से",cancelText:"रद्द करना"},Transfer:{titles:["",""],searchPlaceholder:"यहां खोजें",itemUnit:"तत्त्व",itemsUnit:"विषय-वस्तु",remove:"हटाए",selectCurrent:"वर्तमान पृष्ठ का चयन करें",removeCurrent:"वर्तमान पृष्ठ हटाएं",selectAll:"सभी डेटा का चयन करें",removeAll:"सभी डेटा हटाएं",selectInvert:"वर्तमान पृष्ठ को उल्टा करें"},Upload:{uploading:"अपलोड हो रहा...",removeFile:"फ़ाइल निकालें",uploadError:"अपलोड में त्रुटि",previewFile:"फ़ाइल पूर्वावलोकन",downloadFile:"फ़ाइल डाउनलोड करें"},Empty:{description:"कोई आकड़ा उपलब्ध नहीं है"},Icon:{icon:"आइकन"},Text:{edit:"संपादित करें",copy:"प्रतिलिपि",copied:"कॉपी किया गया",expand:"विस्तार"},Form:{optional:"(ऐच्छिक)",defaultValidateMessages:{default:"${label} के लिए फील्ड सत्यापन त्रुटि",required:"कृपया ${label} दर्ज करें",enum:"${label} [${enum}] में से एक होना चाहिए",whitespace:"${label} एक खाली अक्षर नहीं हो सकता",date:{format:"${label} तिथि प्रारूप अमान्य है",parse:"${label} को तारीख में नहीं बदला जा सकता",invalid:"${label} एक अमान्य तिथि है"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label} ${len} अक्षर का होना चाहिए",min:"${label} कम से कम ${min} वर्णों का होना चाहिए",max:"${label} अधिकतम ${max} वर्णों का होना चाहिए",range:"${label} ${min}-${max} वर्णों के बीच होना चाहिए"},number:{len:"${label} ${len} के बराबर होना चाहिए",min:"${label} कम से कम ${min} होना चाहिए",max:"${label} अधिकतम ${max} होना चाहिए",range:"${label} ${min}-${max} के बीच होना चाहिए"},array:{len:"${len} ${label} होना चाहिए",min:"कम से कम ${min} ${label}",max:"ज्यादा से ज्यादा ${max} ${label}",range:"${label} की राशि ${min}-${max} के बीच होनी चाहिए"},pattern:{mismatch:"${label} ${pattern} पैटर्न से मेल नहीं खाता"}}},Image:{preview:"पूर्वावलोकन"}};return Ho.default=i,Ho}var Qc,Pm;function M1(){return Pm||(Pm=1,Qc=P1()),Qc}var E1=M1();const j1=vs(E1);var Jo={},Qo={},Mm;function R1(){if(Mm)return Qo;Mm=1,Object.defineProperty(Qo,"__esModule",{value:!0}),Qo.default=void 0;var e={items_per_page:"件 / ページ",jump_to:"移動",jump_to_confirm:"確認する",page:"ページ",prev_page:"前のページ",next_page:"次のページ",prev_5:"前 5ページ",next_5:"次 5ページ",prev_3:"前 3ページ",next_3:"次 3ページ",page_size:"ページサイズ"};return Qo.default=e,Qo}var Zo={},ei={},ti={},Em;function A1(){if(Em)return ti;Em=1;var e=Yt().default;Object.defineProperty(ti,"__esModule",{value:!0}),ti.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"ja_JP",today:"今日",now:"現在時刻",backToToday:"今日に戻る",ok:"確定",timeSelect:"時間を選択",dateSelect:"日時を選択",weekSelect:"週を選択",clear:"クリア",week:"週",month:"月",year:"年",previousMonth:"前月 (ページアップキー)",nextMonth:"翌月 (ページダウンキー)",monthSelect:"月を選択",yearSelect:"年を選択",decadeSelect:"年代を選択",yearFormat:"YYYY年",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"前年 (Controlを押しながら左キー)",nextYear:"翌年 (Controlを押しながら右キー)",previousDecade:"前の年代",nextDecade:"次の年代",previousCentury:"前の世紀",nextCentury:"次の世紀",monthBeforeYear:!1});return ti.default=r,ti}var ni={},jm;function qv(){if(jm)return ni;jm=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.default=void 0;const e={placeholder:"時間を選択",rangePlaceholder:["開始時間","終了時間"]};return ni.default=e,ni}var Rm;function Hv(){if(Rm)return ei;Rm=1;var e=Yt().default;Object.defineProperty(ei,"__esModule",{value:!0}),ei.default=void 0;var t=e(A1()),n=e(qv());const r={lang:Object.assign({placeholder:"日付を選択",yearPlaceholder:"年を選択",quarterPlaceholder:"四半期を選択",monthPlaceholder:"月を選択",weekPlaceholder:"週を選択",rangePlaceholder:["開始日付","終了日付"],rangeYearPlaceholder:["開始年","終了年"],rangeMonthPlaceholder:["開始月","終了月"],rangeQuarterPlaceholder:["開始四半期","終了四半期"],rangeWeekPlaceholder:["開始週","終了週"],shortWeekDays:["日","月","火","水","木","金","土"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},t.default),timePickerLocale:Object.assign({},n.default)};return ei.default=r,ei}var Am;function I1(){if(Am)return Zo;Am=1;var e=Yt().default;Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.default=void 0;var t=e(Hv());return Zo.default=t.default,Zo}var Im;function O1(){if(Im)return Jo;Im=1;var e=Yt().default;Object.defineProperty(Jo,"__esModule",{value:!0}),Jo.default=void 0;var t=e(R1()),n=e(I1()),r=e(Hv()),s=e(qv());const o="${label}は有効な${type}ではありません",i={locale:"ja",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"選んでください"},Table:{filterTitle:"フィルター",filterConfirm:"OK",filterReset:"リセット",filterEmptyText:"フィルターなし",filterCheckAll:"すべてを選択",filterSearchPlaceholder:"フィルターで検索",emptyText:"データなし",selectAll:"ページ単位で選択",selectInvert:"ページ単位で反転",selectNone:"クリア",selectionAll:"すべてを選択",sortTitle:"ソート",expand:"展開する",collapse:"折り畳む",triggerDesc:"クリックで降順にソート",triggerAsc:"クリックで昇順にソート",cancelSort:"ソートをキャンセル"},Tour:{Next:"次",Previous:"前の",Finish:"仕上げる"},Modal:{okText:"OK",cancelText:"キャンセル",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"キャンセル"},Transfer:{titles:["",""],searchPlaceholder:"ここを検索",itemUnit:"アイテム",itemsUnit:"アイテム",remove:"削除",selectCurrent:"現在のページを選択",removeCurrent:"現在のページを削除",selectAll:"ページ単位で選択",deselectAll:"すべてのデータの選択を解除する",removeAll:"ページ単位で削除",selectInvert:"ページ単位で反転"},Upload:{uploading:"アップロード中...",removeFile:"ファイルを削除",uploadError:"アップロードエラー",previewFile:"ファイルをプレビュー",downloadFile:"ダウンロードファイル"},Empty:{description:"データがありません"},Icon:{icon:"アイコン"},Text:{edit:"編集",copy:"コピー",copied:"コピーされました",expand:"拡大する",collapse:"崩壊"},Form:{optional:"(オプション)",defaultValidateMessages:{default:"${label}のフィールド検証エラー",required:"${label}を入力してください",enum:"${label}は[${enum}]のいずれかである必要があります",whitespace:"${label}は空白文字にすることはできません",date:{format:"${label}の日付形式は不正です",parse:"${label}は日付に変換できません",invalid:"${label}は不正な日付です"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}は${len}文字である必要があります",min:"${label}は${min}文字以上である必要があります",max:"${label}は${max}文字以下である必要があります",range:"${label}は${min}-${max}文字の範囲である必要があります"},number:{len:"${label}は${len}と等しい必要があります",min:"${label}の最小値は${min}です",max:"${label}の最大値は${max}です",range:"${label}は${min}-${max}の範囲である必要があります"},array:{len:"${label}は${len}である必要があります",min:"${label}の最小は${min}です",max:"${label}の最大は${max}です",range:"${label}の合計は${min}-${max}の範囲である必要があります"},pattern:{mismatch:"${label}はパターン${pattern}と一致しません"}}},Image:{preview:"プレビュー"},QRCode:{expired:"QRコードの有効期限が切れました",refresh:"リフレッシュ",scanned:"スキャン済み"},ColorPicker:{presetEmpty:"空の",transparent:"透明",singleColor:"単色",gradientColor:"グラデーション"}};return Jo.default=i,Jo}var Zc,Om;function $1(){return Om||(Om=1,Zc=O1()),Zc}var L1=$1();const F1=vs(L1);var ri={},si={},$m;function D1(){if($m)return si;$m=1,Object.defineProperty(si,"__esModule",{value:!0}),si.default=void 0;var e={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};return si.default=e,si}var oi={},ii={},ai={},Lm;function N1(){if(Lm)return ai;Lm=1;var e=Yt().default;Object.defineProperty(ai,"__esModule",{value:!0}),ai.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});return ai.default=r,ai}var li={},Fm;function Yv(){if(Fm)return li;Fm=1,Object.defineProperty(li,"__esModule",{value:!0}),li.default=void 0;const e={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};return li.default=e,li}var Dm;function Xv(){if(Dm)return ii;Dm=1;var e=Yt().default;Object.defineProperty(ii,"__esModule",{value:!0}),ii.default=void 0;var t=e(N1()),n=e(Yv());const r={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},t.default),timePickerLocale:Object.assign({},n.default)};return r.lang.ok="确定",ii.default=r,ii}var Nm;function B1(){if(Nm)return oi;Nm=1;var e=Yt().default;Object.defineProperty(oi,"__esModule",{value:!0}),oi.default=void 0;var t=e(Xv());return oi.default=t.default,oi}var Bm;function z1(){if(Bm)return ri;Bm=1;var e=Yt().default;Object.defineProperty(ri,"__esModule",{value:!0}),ri.default=void 0;var t=e(D1()),n=e(B1()),r=e(Xv()),s=e(Yv());const o="${label}不是一个有效的${type}",i={locale:"zh-cn",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckAll:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无",transparent:"无色",singleColor:"单色",gradientColor:"渐变色"}};return ri.default=i,ri}var eu,zm;function W1(){return zm||(zm=1,eu=z1()),eu}var U1=W1();const q1=vs(U1);var ci={},ui={},Wm;function H1(){if(Wm)return ui;Wm=1,Object.defineProperty(ui,"__esModule",{value:!0}),ui.default=void 0;var e={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};return ui.default=e,ui}var di={},fi={},hi={},Um;function Y1(){if(Um)return hi;Um=1;var e=Yt().default;Object.defineProperty(hi,"__esModule",{value:!0}),hi.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",week:"週",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀",cellDateFormat:"D",monthBeforeYear:!1});return hi.default=r,hi}var pi={},qm;function Kv(){if(qm)return pi;qm=1,Object.defineProperty(pi,"__esModule",{value:!0}),pi.default=void 0;const e={placeholder:"請選擇時間"};return pi.default=e,pi}var Hm;function Vv(){if(Hm)return fi;Hm=1;var e=Yt().default;Object.defineProperty(fi,"__esModule",{value:!0}),fi.default=void 0;var t=e(Y1()),n=e(Kv());const r={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},t.default),timePickerLocale:Object.assign({},n.default)};return r.lang.ok="確 定",fi.default=r,fi}var Ym;function X1(){if(Ym)return di;Ym=1;var e=Yt().default;Object.defineProperty(di,"__esModule",{value:!0}),di.default=void 0;var t=e(Vv());return di.default=t.default,di}var Xm;function K1(){if(Xm)return ci;Xm=1;var e=Yt().default;Object.defineProperty(ci,"__esModule",{value:!0}),ci.default=void 0;var t=e(H1()),n=e(X1()),r=e(Vv()),s=e(Kv());const o="${label}不是一個有效的${type}",i={locale:"zh-tw",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckAll:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開",collapse:"收起"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"},ColorPicker:{presetEmpty:"暫無",transparent:"透明",singleColor:"單色",gradientColor:"漸變色"}};return ci.default=i,ci}var tu,Km;function V1(){return Km||(Km=1,tu=K1()),tu}var G1=V1();const J1=vs(G1),Vm=e=>{switch(e){case"zh-CN":return q1;case"zh-TW":return J1;case"fr-FR":return _1;case"ja-JP":return F1;case"hi-IN":return j1;default:return g1}},Gv="lotus_vdi_safe_mode",Gm=()=>{try{return localStorage.getItem(Gv)==="true"}catch{return!1}},BI=e=>{try{localStorage.setItem(Gv,e.toString())}catch(t){console.error("[vdiSafeMode] Failed to persist setting:",t)}};async function Q1(){const e=Hn.getInstance();for(const t of Object.keys(localStorage))if(t.startsWith("chat-model-options-cache-v1:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&Array.isArray(s.options)&&(await e.saveModelOptionsCache(n,s.options,s.timestamp),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}for(const t of Object.keys(localStorage))if(t.startsWith("chat-session-diff-collapse:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&typeof s.isExpanded=="boolean"&&(await e.saveDiffCollapse(n,{isExpanded:s.isExpanded,expandedFiles:s.expandedFiles||[]}),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}for(const t of Object.keys(localStorage))if(t.startsWith("chat-session-tool-collapse:")){const n=t.split(":");if(n.length>=3){const r=n[1],s=n.slice(2).join(":");try{const o=localStorage.getItem(t);if(o){const i=JSON.parse(o);i&&typeof i.isExpanded=="boolean"&&(await e.saveToolSessionCollapse(r,s,{isExpanded:i.isExpanded,expandedTools:i.expandedTools||[]}),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}}try{const t=localStorage.getItem("chat_input_reasoning_by_session_v1");if(t){const n=JSON.parse(t);for(const[r,s]of Object.entries(n))typeof s=="string"&&await e.saveInputReasoning(r,s);localStorage.removeItem("chat_input_reasoning_by_session_v1")}}catch{localStorage.removeItem("chat_input_reasoning_by_session_v1")}try{const t=localStorage.getItem("chat_input_reasoning_last_used_v1");t&&typeof t=="string"&&(await e.saveLastUsedReasoningEffort(t),localStorage.removeItem("chat_input_reasoning_last_used_v1"))}catch{localStorage.removeItem("chat_input_reasoning_last_used_v1")}for(const t of Object.keys(localStorage))if(t.startsWith("chat_scroll_anchor_v2:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&s.v===1&&typeof s.anchorId=="string"&&(await e.saveScrollAnchor(n,s),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}localStorage.removeItem("chat_scroll_anchors_v1")}const Z1="copilot_ui_theme_v1",Xu={colorPrimary:"#0d9488",colorPrimaryHover:"#14b8a6",colorPrimaryActive:"#0f766e",colorInfo:"#0d9488",colorLink:"#0d9488",colorLinkHover:"#14b8a6",colorLinkActive:"#0f766e",colorSuccess:"#10b981",colorWarning:"#f59e0b",colorError:"#ef4444",colorText:"#0f172a",colorTextSecondary:"#475569",colorTextTertiary:"#64748b",colorTextDisabled:"#94a3b8",colorTextLightSolid:"#ffffff",colorBorder:"#d1e3e0",colorBorderSecondary:"#e2f0ee",colorFill:"#f0fdfa",colorFillSecondary:"#f7fdfb",colorFillTertiary:"rgba(255, 255, 255, 0.82)",colorFillQuaternary:"transparent",colorBgLayout:"#f0fdfa",colorBgContainer:"rgba(255, 255, 255, 0.82)",colorBgElevated:"rgba(255, 255, 255, 0.9)",colorBgSpotlight:"rgba(13, 148, 136, 0.16)",colorPrimaryBg:"#f0fdfa",colorPrimaryBgHover:"#ccfbf1",colorPrimaryBorder:"#99f6e4",borderRadius:10,borderRadiusLG:18,borderRadiusSM:10,boxShadow:"0 12px 36px rgba(15, 118, 110, 0.10), 0 6px 18px rgba(15, 23, 42, 0.06)",boxShadowSecondary:"0 20px 48px rgba(15, 118, 110, 0.12), 0 8px 24px rgba(15, 23, 42, 0.08)"},Ku={colorPrimary:"#2dd4bf",colorPrimaryHover:"#5eead4",colorPrimaryActive:"#0d9488",colorInfo:"#2dd4bf",colorLink:"#2dd4bf",colorLinkHover:"#5eead4",colorLinkActive:"#0d9488",colorSuccess:"#34d399",colorWarning:"#fbbf24",colorError:"#f87171",colorText:"#e5edf8",colorTextSecondary:"#b7c4d6",colorTextTertiary:"#8d9bb0",colorTextDisabled:"#627085",colorBorder:"rgba(255, 255, 255, 0.10)",colorBorderSecondary:"rgba(255, 255, 255, 0.06)",colorFill:"#0c1a17",colorFillSecondary:"#091412",colorFillTertiary:"rgba(15, 23, 42, 0.74)",colorFillQuaternary:"transparent",colorBgLayout:"#070e0c",colorBgContainer:"rgba(11, 22, 18, 0.76)",colorBgElevated:"rgba(15, 30, 25, 0.9)",colorBgSpotlight:"rgba(13, 148, 136, 0.20)",colorPrimaryBg:"rgba(13, 148, 136, 0.14)",colorPrimaryBgHover:"rgba(13, 148, 136, 0.18)",colorPrimaryBorder:"rgba(45, 212, 191, 0.28)",borderRadius:10,borderRadiusLG:18,borderRadiusSM:10,boxShadow:"0 16px 40px rgba(2, 6, 23, 0.42), 0 8px 20px rgba(15, 23, 42, 0.24)",boxShadowSecondary:"0 24px 56px rgba(2, 6, 23, 0.5), 0 10px 28px rgba(15, 23, 42, 0.28)"},Vu={Tag:{defaultBg:"rgba(13, 148, 136, 0.1)",defaultColor:"#0f766e"},Table:{bodySortBg:"rgba(13, 148, 136, 0.08)"}},Gu={Tag:{defaultBg:"rgba(45, 212, 191, 0.18)",defaultColor:"#ccfbf1"},Table:{bodySortBg:"rgba(45, 212, 191, 0.14)"}},Jm={...Xu,colorBgElevated:"#ffffff",colorBgSpotlight:"#0f172a",colorFillTertiary:"#f3f7f6"},Qm={...Ku,colorBgElevated:"#0f1b18",colorBgSpotlight:"#22332f",colorFillTertiary:"#162622"},Zm={...Vu,Menu:{popupBg:"#ffffff",itemBg:"transparent",itemHoverBg:"#f3f7f6",itemActiveBg:"#eef7f5",itemSelectedBg:"#e7f8f4",subMenuItemBg:"#ffffff",dangerItemActiveBg:"#fdecec",dangerItemSelectedBg:"#fdecec"},Select:{selectorBg:"#ffffff",clearBg:"#ffffff",optionActiveBg:"#f3f7f6",optionSelectedBg:"#e7f8f4"},Modal:{contentBg:"#ffffff",headerBg:"#ffffff",footerBg:"#ffffff"}},eg={...Gu,Menu:{popupBg:"#0f1b18",darkPopupBg:"#0f1b18",itemBg:"transparent",itemHoverBg:"#162622",itemActiveBg:"#162622",itemSelectedBg:"#12332d",subMenuItemBg:"#0f1b18",dangerItemActiveBg:"#3a161c",dangerItemSelectedBg:"#3a161c"},Select:{selectorBg:"#0f1b18",clearBg:"#0f1b18",optionActiveBg:"#162622",optionSelectedBg:"#12332d"},Modal:{contentBg:"#0f1b18",headerBg:"#0f1b18",footerBg:"#0f1b18"}};function eI(){const{t:e}=Ge(),t=ul(C=>C.themeMode),n=ul(C=>C.setThemeMode),[r,s]=y.useState(()=>fx()),[o,i]=y.useState(()=>Gm()),[l,u]=y.useState(null),[d,h]=y.useState(null),[m,b]=y.useState(0),[v,w]=y.useState(null),[S,k]=y.useState(!1);if(y.useEffect(()=>{localStorage.setItem(Z1,t)},[t]),y.useEffect(()=>{localStorage.setItem(hx,r),px(r)},[r]),y.useEffect(()=>{let C=!1;const E=Date.now(),A=async()=>{try{const O=Qs.getInstance(),D=await O.getAccessStatus();if(C)return;if(h(null),w(D),D.requires_password&&!S){u(!1);return}const F=await O.getSetupStatus();if(C)return;u(F.is_complete)}catch(O){if(C)return;const D=Date.now()-E;if(D>=2e4){const q=ws(),I=O instanceof Error&&O.message.trim()?O.message:"Unknown error";h(e("app.backendNotReachable",{baseUrl:q,message:I}));return}const N=Math.min(500+Math.floor(D/2),2e3);setTimeout(()=>{C||A()},N)}};return A(),()=>{C=!0}},[S,m,e]),y.useEffect(()=>{document.body.setAttribute("data-theme",t)},[t]),y.useEffect(()=>{const C=()=>{const E=Gm();i(E),document.body.setAttribute("data-vdi-safe",E?"true":"false");const A=document.getElementById("root");A&&A.setAttribute("data-vdi-safe",E?"true":"false")};return C(),window.addEventListener("storage",C),window.addEventListener("lotus-vdi-safe-mode-change",C),()=>{window.removeEventListener("storage",C),window.removeEventListener("lotus-vdi-safe-mode-change",C)}},[]),y.useEffect(()=>{var E;const C=(E=window.__TAURI_INTERNALS__)==null?void 0:E.invoke;typeof C=="function"&&C("set_window_theme",{theme:t}).catch(A=>{console.warn("[App] Failed to sync native window theme:",A)})},[t]),y.useEffect(()=>{l&&hd().then(()=>pd()).catch(C=>{console.error("[App] Bootstrap error:",C)})},[l]),y.useEffect(()=>{const C=Hn.getInstance();C.cleanupStaleData(30).catch(A=>{console.warn("[App] Failed to cleanup stale storage data:",A)});const E=setInterval(()=>{C.cleanupStaleData(30).catch(()=>{})},24*60*60*1e3);return()=>clearInterval(E)},[]),y.useEffect(()=>{const C=setTimeout(()=>{Q1().catch(E=>{console.warn("[App] Storage migration failed:",E)})},5e3);return()=>clearTimeout(C)},[]),v!=null&&v.requires_password&&!S)return a.jsx(Mf,{locale:Vm(r),theme:{token:t==="dark"?o?Qm:Ku:o?Jm:Xu,algorithm:t==="dark"?ut.darkAlgorithm:ut.defaultAlgorithm,components:t==="dark"?o?eg:Gu:o?Zm:Vu},children:a.jsx(Fn,{children:a.jsx(zi,{name:"PasswordGatePage",children:a.jsx(i1,{verifyPassword:async C=>{await Qs.getInstance().verifyAccessPassword(C)},onVerified:async()=>{k(!0),h(null),b(C=>C+1)}})})})});if(l===null)return d?a.jsxs("div",{style:{padding:40,textAlign:"center"},children:[a.jsx("div",{style:{marginBottom:12},children:d}),a.jsx(je,{type:"primary",onClick:()=>{h(null),w(null),u(null),b(C=>C+1)},children:e("app.retry")})]}):a.jsx("div",{style:{padding:40,textAlign:"center"},children:e("app.loading")});const P=l?a.jsx(n1,{themeMode:t,onThemeModeChange:n,locale:r,onLocaleChange:s}):a.jsx(s1,{}),T=t==="dark"?o?Qm:Ku:o?Jm:Xu,j=t==="dark"?o?eg:Gu:o?Zm:Vu;return a.jsx(Mf,{locale:Vm(r),theme:{token:T,algorithm:t==="dark"?ut.darkAlgorithm:ut.defaultAlgorithm,components:j},children:a.jsx(Fn,{children:a.jsx(zi,{name:"App",children:a.jsx("div",{style:{position:"relative"},children:P})})})})}const zI=Object.freeze(Object.defineProperty({__proto__:null,default:eI},Symbol.toStringTag,{value:"Module"}));export{kk as $,NI as A,Ni as B,wu as C,Bk as D,JC as E,Jg as F,Jn as G,Lk as H,kc as I,fu as J,rs as K,yd as L,xI as M,wI as N,PI as O,Ex as P,yc as Q,hs as R,Qs as S,sy as T,bd as U,_I as V,EI as W,aI as X,Kk as Y,Xf as Z,xk as _,St as a,uy as a0,Gm as a1,Rk as a2,MI as a3,TI as a4,CI as a5,kI as a6,BI as a7,lI as a8,SI as a9,zI as aa,Mi as b,Ei as c,ul as d,gt as e,Lv as f,Kn as g,fy as h,Rl as i,Wt as j,Hg as k,UE as l,ks as m,DI as n,N_ as o,Ro as p,Ai as q,Xk as r,Vi as s,Ee as t,ae as u,to as v,Yi as w,Pr as x,rt as y,Fi as z};
224
+ `),truncated:he.truncated,toolCount:he.toolCount,workspace:he.workspace})).sort((ne,he)=>ne.filePath.localeCompare(he.filePath));return{totalAdded:Z,totalRemoved:pe,files:oe,changedTools:$}},[u]),P=gt(G=>G.inspector.widthPx),T=gt(G=>G.inspector.minWidthPx),j=gt(G=>G.inspector.maxWidthPx),C=gt(G=>G.setInspectorWidthPx),E=u.length>0,A=y.useMemo(()=>r||Jd({isEmbedded:t,leafCount:s,isMobileViewport:o}),[t,o,s,r]),O=A.inspectorMode,D=!!(i&&(h&&E||w||S||k)),F=!!i&&(O==="drawer"||D),[N,q]=y.useState(()=>O==="rail"),[I,Q]=y.useState(!1);return y.useEffect(()=>{q(O==="rail"?D:!1)},[D,O,i]),y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Z=requestIdleCallback(()=>Q(!0));return()=>cancelIdleCallback(Z)}const G=window.setTimeout(()=>Q(!0),300);return()=>window.clearTimeout(G)},[]),y.useEffect(()=>{if(typeof window>"u"||!i)return;const G=Z=>{var oe;(((oe=Z.detail)==null?void 0:oe.sessionId)??null)===i&&q(!0)};return window.addEventListener(Su,G),()=>{window.removeEventListener(Su,G)}},[i]),a.jsx("div",{"data-session-workspace-shell":!0,"data-inspector-mode":O,"data-multi-pane":A.isMultiPane?"true":"false","data-inspector-toggle-placement":A.inspectorTogglePlacement,style:{height:"100%",minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Me,{style:{flex:1,minHeight:0},children:F&&O==="rail"&&N?a.jsx(vd,{layout:"horizontal",sizesPx:[0,P],minFirstPx:320,minSecondPx:T,style:{flex:1,minHeight:0},handleSizePx:4,onResizeEnd:([,G])=>{const Z=Math.max(T,Math.min(j,G));C(Z)},first:a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Xp,{sessionId:i,embedded:t,paneCount:s,auxReady:I,sessionDiffSummary:k,workspaceState:A,inspectorEligible:D,onRequestOpenInspector:()=>q(!0)})}),second:a.jsx(Vp,{sessionId:i,auxReady:I,mode:O,open:N,onOpenChange:q,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Xp,{sessionId:i,embedded:t,paneCount:s,auxReady:I,sessionDiffSummary:k,workspaceState:A,inspectorEligible:D,onRequestOpenInspector:()=>q(!0)})}),F?a.jsx(Vp,{sessionId:i,auxReady:I,mode:O,open:N,onOpenChange:q,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k}):null]})})})},qA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>a.jsx(UA,{sessionId:e,embedded:t,paneCount:n,workspaceState:r}),HA=ht.lazy(()=>Jt(()=>import("./index-Btfph2VJ.js"),__vite__mapDeps([25,1,2,3,4,5,6,26]),import.meta.url).then(e=>({default:e.HomeDashboard}))),{useToken:YA}=ut,{Text:XA}=ft,KA=4,VA=({leafId:e})=>{var pe;const{token:t}=YA(),{t:n}=Ge(),r=gt($=>$.tree),s=gt($=>$.leafSessionIds),o=gt($=>$.activeLeafId),i=gt($=>$.setActiveLeafId),l=gt($=>$.splitLeaf),u=gt($=>$.closeLeaf),d=gt($=>$.setLeafSessionId),h=ae($=>$.selectSession),m=ae($=>$.addChat),b=ae($=>$.systemPrompts),v=ae($=>$.lastSelectedPromptId),w=s[e]??null,S=ae(ks(w)),k=y.useMemo(()=>Kn(r),[r]),P=k.length,T=Math.max(0,k.indexOf(e))+1,j=P<KA,C=wg("(max-width: 768px)"),E=y.useMemo(()=>Jd({isEmbedded:!0,leafCount:P,isMobileViewport:C}),[C,P]),A=E.isMultiPane,D=A||!!w,F=E.isMultiPane,N=o===e,q=((pe=S==null?void 0:S.title)==null?void 0:pe.trim())||n("chat.multiPane.selectSessionHint"),I=!C,Q=E.inspectorTogglePlacement==="pane_header"&&!!w,G=y.useCallback($=>{d(e,$),i(e),h($)},[e,h,i,d]),Z=y.useCallback(async()=>{var ne,he;const $=b.find(fe=>fe.id===v),oe=($==null?void 0:$.id)||(b.length>0?((ne=b.find(fe=>fe.id==="general_assistant"))==null?void 0:ne.id)||b[0].id:""),me=await m({title:n("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:oe,baseSystemPrompt:($==null?void 0:$.content)||(b.length>0?((he=b.find(fe=>fe.id==="general_assistant"))==null?void 0:he.content)||b[0].content:""),lastUsedEnhancedPrompt:null}});d(e,me),i(e)},[m,v,b,n,e,d,i]);return a.jsxs("div",{className:"chat-pane-shell",onMouseDownCapture:()=>{Xn("pane focus (mouse)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e),w&&h(w)},onFocusCapture:()=>{Xn("pane focus (focus)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e)},style:{height:"100%",minHeight:0,border:F?`1px solid ${N?t.colorPrimaryBorder:t.colorBorderSecondary}`:"none",borderRadius:F?t.borderRadiusLG:0,overflow:"hidden",background:t.colorBgContainer,position:"relative"},children:[I?a.jsx("div",{className:"chat-pane-shell__header",style:{padding:`${t.paddingXS}px ${t.paddingSM}px`,borderBottom:`1px solid ${t.colorBorderSecondary}`,background:F?t.colorBgElevated:t.colorBgContainer},children:a.jsxs(Me,{align:"center",justify:"space-between",gap:t.marginSM,style:{minWidth:0},children:[a.jsxs(Me,{align:"center",gap:t.marginXS,style:{minWidth:0,flex:1},children:[F?a.jsx(Je,{color:N?"blue":"default",style:{marginInlineEnd:0},children:n("chat.multiPane.paneLabel",{index:T,defaultValue:"Pane {{index}}"})}):null,a.jsx("div",{className:"chat-pane-shell__title",children:a.jsx(XA,{strong:!!w,type:w?void 0:"secondary",ellipsis:{tooltip:q},children:q})})]}),a.jsxs(Me,{className:"chat-pane-shell__actions",align:"center",gap:4,children:[a.jsx(je,{size:"small",type:"text",icon:a.jsx(cx,{}),disabled:!j,title:n("chat.multiPane.splitHorizontal"),"aria-label":n("chat.multiPane.splitHorizontal"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane split request",{leafId:e,layout:"horizontal"}),l(e,"horizontal");const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;me&&h(me)}}),a.jsx(je,{size:"small",type:"text",icon:a.jsx(ux,{}),disabled:!j,title:n("chat.multiPane.splitVertical"),"aria-label":n("chat.multiPane.splitVertical"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane split request",{leafId:e,layout:"vertical"}),l(e,"vertical");const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;me&&h(me)}}),a.jsx(je,{size:"small",type:"text",icon:a.jsx(xg,{}),disabled:!w,title:n("chat.multiPane.selectMessagesToExport"),"aria-label":n("chat.multiPane.selectMessagesToExport"),onClick:$=>{$.preventDefault(),$.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(vu,{detail:{sessionId:w}}))}}),Q?a.jsx(je,{size:"small",type:"text",icon:a.jsx(ad,{}),title:n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),"aria-label":n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),onClick:$=>{$.preventDefault(),$.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(Su,{detail:{sessionId:w}}))}}):null,a.jsx(je,{size:"small",type:"text",danger:!0,icon:a.jsx(Ss,{}),disabled:!D,title:n("chat.multiPane.closePane"),"aria-label":n("chat.multiPane.closePane"),onClick:$=>{$.preventDefault(),$.stopPropagation(),Xn("pane close request",{leafId:e}),A?u(e):d(e,null);const oe=gt.getState(),me=oe.leafSessionIds[oe.activeLeafId]??null;h(me)}})]})]})}):null,a.jsx("div",{className:"chat-pane-shell__content",children:w?a.jsx(zi,{name:"ChatView",children:a.jsx(qA,{sessionId:w,embedded:!0,paneCount:P,workspaceState:E})}):a.jsx(zi,{name:"HomeDashboard",children:a.jsx(ht.Suspense,{fallback:null,children:a.jsx(HA,{onOpenSession:G,onCreateSession:Z})})})})]})},GA=({node:e})=>{const t=gt(r=>r.splitSizesPx[e.id]??null),n=gt(r=>r.setSplitSizesPx);return a.jsx(vd,{layout:e.layout,sizesPx:t,defaultSplitRatio:.5,minFirstPx:240,minSecondPx:240,style:{height:"100%",minHeight:0},onResizeEnd:r=>{n(e.id,r)},first:a.jsx(Yu,{node:e.children[0]}),second:a.jsx(Yu,{node:e.children[1]})})},Yu=({node:e})=>e.type==="leaf"?a.jsx(VA,{leafId:e.id}):a.jsx(GA,{node:e}),Gp=()=>{const e=gt(h=>h.tree),t=gt(h=>h.leafSessionIds),n=gt(h=>h.activeLeafId),r=gt(h=>h.setActiveLeafId),s=gt(h=>h.setLeafSessionId),o=ae(h=>h.chats.map(m=>m.id).join(",")),i=y.useMemo(()=>new Set(o.split(",")),[o]),l=ae(h=>h.currentSessionId),u=y.useRef(!1),d=y.useMemo(()=>Kn(e),[e]);return y.useEffect(()=>{d.length!==0&&(d.includes(n)||r(d[0]))},[n,d,r]),y.useEffect(()=>{const h=new Set(Object.values(t).filter(Boolean));let m=!1;for(const b of h)if(!i.has(b)){m=!0;break}if(m)for(const[b,v]of Object.entries(t))v&&!i.has(v)&&s(b,null)},[i,t,s]),y.useEffect(()=>{if(!l||u.current)return;if(!Object.values(t).some(Boolean)){s(n,l),u.current=!0;return}u.current=!0},[n,l,t,s]),a.jsx("div",{style:{height:"100%",minHeight:0,padding:0},children:a.jsx(Yu,{node:e})})},JA=ht.lazy(()=>Jt(()=>import("./index-QAoCDEtf.js"),__vite__mapDeps([27,1,2,3,4,28,5,6,21,29]),import.meta.url).then(e=>({default:e.SystemSettingsPage}))),QA=ht.lazy(()=>Jt(()=>import("./index-Cgz3GQNf.js"),__vite__mapDeps([30,1,2,3,4,5,6,31]),import.meta.url).then(e=>({default:e.CommandPalette}))),ZA=ht.lazy(()=>Jt(()=>import("./FeatureGuide-BlFyQEho.js"),__vite__mapDeps([32,1,2,3,28]),import.meta.url).then(e=>({default:e.FeatureGuide}))),Jp="bodhi_open_provider_on_entry",e1="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",t1=()=>(w0(),null),n1=({themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r})=>{const s=Ei(I=>I.isOpen),o=Ei(I=>I.close),{t:i}=Ge(),{token:l}=ut.useToken(),u=yd(),d=y.useMemo(()=>ly()==="macos",[]);y.useEffect(()=>{localStorage.getItem(Jp)==="true"&&(localStorage.removeItem(Jp),Ei.getState().open("chat","provider"))},[]),J_(),y.useEffect(()=>{ih.clear(),ah()},[e]),y.useEffect(()=>{ih.clear(),ah()},[u]);const h=gt(I=>I.sidebar.collapsed),m=gt(I=>I.sidebar.widthPx),b=gt(I=>I.sidebar.minWidthPx),v=gt(I=>I.sidebar.maxWidthPx),w=gt(I=>I.setSidebarCollapsed),S=gt(I=>I.setSidebarWidthPx),k=18,P=0,j=!s&&h&&d?44:P,C=0,E=88,A=10,O="none",D=jl(),F="min(86vw, 360px)",[N,q]=y.useState(!1);return y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Q=requestIdleCallback(()=>q(!0));return()=>cancelIdleCallback(Q)}const I=window.setTimeout(()=>q(!0),200);return()=>window.clearTimeout(I)},[]),y.useEffect(()=>{const I=Q=>{!((Q.metaKey||Q.ctrlKey)&&Q.key.toLowerCase()==="k")||N||(Q.preventDefault(),window[e1]=!0,q(!0))};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[N]),a.jsxs(a.Fragment,{children:[a.jsx("a",{href:"#lotus-main-content",className:"lotus-skip-link",style:{position:"absolute",top:-9999,left:-9999,zIndex:1e4,padding:"8px 16px",background:"var(--lotus-main-surface, #fff)",color:"var(--ant-color-primary, #0d9488)",borderRadius:8,fontWeight:600,textDecoration:"none"},onFocus:I=>{I.currentTarget.style.top="8px",I.currentTarget.style.left="8px"},onBlur:I=>{I.currentTarget.style.top="-9999px",I.currentTarget.style.left="-9999px"},children:i("app.skipToContent","Skip to main content")}),N&&a.jsx(ht.Suspense,{fallback:null,children:a.jsx(QA,{})}),N&&a.jsx(ht.Suspense,{fallback:null,children:a.jsx(ZA,{disabled:s})}),N&&a.jsx(t1,{}),a.jsx(Ws,{style:{minHeight:"100vh",height:"100vh",overflow:"hidden",background:"transparent",display:"flex",flexDirection:"row",position:"relative"},children:a.jsxs("div",{style:{display:"flex",flex:1,minHeight:0,height:"100%",width:"100%",boxSizing:"border-box",paddingTop:j,paddingLeft:P,paddingRight:P,paddingBottom:P,background:"transparent"},children:[s?a.jsx(Ws,{className:"lotus-shell-panel lotus-settings-panel lotus-page-enter",style:{flex:1,display:"flex",flexDirection:"column",background:"var(--lotus-main-surface)",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:O,overflow:"hidden"},children:a.jsx(zi,{name:"SystemSettings",children:a.jsx(ht.Suspense,{fallback:a.jsx("div",{style:{padding:24,color:"var(--ant-color-text-secondary)"},children:i("app.loading","Loading…")}),children:a.jsx(JA,{themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r,onBack:o})})})}):a.jsx(a.Fragment,{children:D?a.jsxs(a.Fragment,{children:[a.jsx(Ml,{placement:"left",closable:!1,onClose:()=>w(!0),open:!h,width:F,styles:{body:{padding:0,background:"var(--lotus-sidebar-bg)"}},children:a.jsx(rh,{})}),a.jsx("main",{id:"lotus-main-content",className:"lotus-shell-panel lotus-shell-main",style:{flex:1,height:"100%",minHeight:0,borderRadius:`${k}px`,border:O,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Ws,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Gp,{})})})]}):a.jsx(vd,{layout:"horizontal",style:{flex:1,minHeight:0,height:"100%",background:"transparent"},sizesPx:[h?C:m,0],minFirstPx:h?C:b,minSecondPx:320,disabled:h,handleSizePx:h?0:2,onResizeEnd:([I])=>{if(h)return;const Q=Math.max(b,Math.min(v,I));S(Q)},first:a.jsx("div",{className:"lotus-shell-panel lotus-shell-sidebar",style:{height:"100%",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:O,overflow:"hidden",background:"var(--lotus-sidebar-bg)"},children:a.jsx(rh,{})}),second:a.jsx("main",{id:"lotus-main-content",className:"lotus-shell-panel lotus-shell-main",style:{height:"100%",minHeight:0,borderRadius:h?`${k}px`:`0 ${k}px ${k}px 0`,border:O,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Ws,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Gp,{})})})})}),!s&&h?a.jsx(je,{"data-testid":"show-sidebar",type:"text",size:"small",icon:a.jsx(dx,{}),onClick:()=>w(!1),title:i("layout.showSidebar"),"aria-label":i("layout.showSidebar"),className:"lotus-toolbar-icon lotus-floating-sidebar-toggle",style:{position:"absolute",top:D?8:A,left:D?8:E,zIndex:40,width:36,height:36,borderRadius:12,border:`1px solid ${l.colorBorderSecondary}`,background:l.colorBgElevated,boxShadow:l.boxShadowSecondary}}):null]})})]})},r1="bodhi_open_provider_on_entry",{Title:Qp,Paragraph:Zp}=ft,s1=()=>{const{t:e}=Ge(),[t,n]=y.useState(!1),[r,s]=y.useState(null),[o,i]=y.useState(!1),l=async u=>{try{s(null),i(!0),await Qs.getInstance().markSetupComplete(),u&&localStorage.setItem(r1,"true"),n(!0)}catch(d){console.error("Failed to complete setup:",d),s(e("setup.error.completeFailed"))}finally{i(!1)}};return t?a.jsxs("div",{"data-testid":"setup-complete",className:"setup-complete",children:[a.jsx(Qp,{level:2,children:e("setup.complete.title")}),a.jsx(Zp,{children:e("setup.complete.restartMessage")}),a.jsx(je,{"data-testid":"setup-restart",onClick:()=>window.location.reload(),children:e("setup.complete.restartMessage")})]}):a.jsx("div",{className:"setup-page",children:a.jsxs(nn,{className:"setup-page__card",children:[a.jsxs("div",{className:"setup-page__hero",children:[a.jsx("div",{className:"setup-page__hero-icon",children:a.jsx(Pf,{})}),a.jsx(Qp,{level:2,style:{marginTop:0},children:e("setup.welcome.heading")}),a.jsx(Zp,{type:"secondary",children:e("setup.welcome.description")})]}),a.jsx(ir,{message:e("setup.welcome.providerHint"),type:"info",showIcon:!0,style:{marginBottom:16}}),a.jsx(ir,{message:e("setup.welcome.proxyHint"),type:"info",showIcon:!0,style:{marginBottom:24}}),r?a.jsx(ir,{message:r,type:"error",showIcon:!0,style:{marginBottom:16}}):null,a.jsxs("div",{className:"setup-page__actions",children:[a.jsx(je,{"data-testid":"setup-configure-provider",icon:a.jsx(Tl,{}),onClick:()=>void l(!0),loading:o,children:e("setup.button.configureProvider")}),a.jsx(je,{"data-testid":"setup-get-started",type:"primary",icon:a.jsx(Pf,{}),onClick:()=>void l(!1),loading:o,children:e("setup.button.getStarted")})]})]})})},{Title:o1,Text:em}=ft,i1=({onVerified:e,verifyPassword:t})=>{const{t:n}=Ge(),[r,s]=y.useState(""),[o,i]=y.useState(null),[l,u]=y.useState(!1),d=async()=>{const h=r.trim();if(!h){i(n("app.passwordGate.validation.required"));return}u(!0),i(null);try{await t(h),await e(),s("")}catch(m){const b=m instanceof Error?m.message:n("app.passwordGate.validation.verifyFailed");i(b)}finally{u(!1)}};return a.jsx("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",padding:24},children:a.jsx(nn,{style:{width:"100%",maxWidth:480},children:a.jsxs(Ue,{direction:"vertical",size:20,style:{width:"100%"},children:[a.jsxs("div",{children:[a.jsx(o1,{level:3,style:{marginBottom:8},children:n("app.passwordGate.title")}),a.jsx(em,{type:"secondary",children:n("app.passwordGate.description")})]}),o?a.jsx(ir,{type:"error",showIcon:!0,message:o}):null,a.jsxs(Ue,{direction:"vertical",size:8,style:{width:"100%"},children:[a.jsx(em,{strong:!0,children:n("app.passwordGate.passwordLabel")}),a.jsx(xs.Password,{value:r,autoFocus:!0,autoComplete:"current-password",onChange:h=>s(h.target.value),onPressEnter:()=>void d(),placeholder:n("app.passwordGate.passwordPlaceholder")})]}),a.jsx(je,{type:"primary",block:!0,loading:l,onClick:()=>void d(),children:n("app.passwordGate.submit")})]})})})};var Ao={},Hc={exports:{}},tm;function Yt(){return tm||(tm=1,function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(Hc)),Hc.exports}var Io={},nm;function a1(){if(nm)return Io;nm=1,Object.defineProperty(Io,"__esModule",{value:!0}),Io.default=void 0;var e={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};return Io.default=e,Io}var Oo={},$o={},Lo={},Yc={exports:{}},Xc={exports:{}},Kc={exports:{}},Vc={exports:{}},rm;function l1(){return rm||(rm=1,function(e){var t=lg().default;function n(r,s){if(t(r)!="object"||!r)return r;var o=r[Symbol.toPrimitive];if(o!==void 0){var i=o.call(r,s||"default");if(t(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(r)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(Vc)),Vc.exports}var sm;function c1(){return sm||(sm=1,function(e){var t=lg().default,n=l1();function r(s){var o=n(s,"string");return t(o)=="symbol"?o:o+""}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(Kc)),Kc.exports}var om;function u1(){return om||(om=1,function(e){var t=c1();function n(r,s,o){return(s=t(s))in r?Object.defineProperty(r,s,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[s]=o,r}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(Xc)),Xc.exports}var im;function so(){return im||(im=1,function(e){var t=u1();function n(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(s);o&&(l=l.filter(function(u){return Object.getOwnPropertyDescriptor(s,u).enumerable})),i.push.apply(i,l)}return i}function r(s){for(var o=1;o<arguments.length;o++){var i=arguments[o]!=null?arguments[o]:{};o%2?n(Object(i),!0).forEach(function(l){t(s,l,i[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach(function(l){Object.defineProperty(s,l,Object.getOwnPropertyDescriptor(i,l))})}return s}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(Yc)),Yc.exports}var Fo={},am;function oo(){return am||(am=1,Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.commonLocale=void 0,Fo.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),Fo}var lm;function d1(){if(lm)return Lo;lm=1;var e=Yt().default;Object.defineProperty(Lo,"__esModule",{value:!0}),Lo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",week:"Week",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"});return Lo.default=r,Lo}var Do={},cm;function Dv(){if(cm)return Do;cm=1,Object.defineProperty(Do,"__esModule",{value:!0}),Do.default=void 0;const e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};return Do.default=e,Do}var um;function Nv(){if(um)return $o;um=1;var e=Yt().default;Object.defineProperty($o,"__esModule",{value:!0}),$o.default=void 0;var t=e(d1()),n=e(Dv());const r={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},t.default),timePickerLocale:Object.assign({},n.default)};return $o.default=r,$o}var dm;function f1(){if(dm)return Oo;dm=1;var e=Yt().default;Object.defineProperty(Oo,"__esModule",{value:!0}),Oo.default=void 0;var t=e(Nv());return Oo.default=t.default,Oo}var fm;function h1(){if(fm)return Ao;fm=1;var e=Yt().default;Object.defineProperty(Ao,"__esModule",{value:!0}),Ao.default=void 0;var t=e(a1()),n=e(f1()),r=e(Nv()),s=e(Dv());const o="${label} is not a valid ${type}",i={locale:"en",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckAll:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty",transparent:"Transparent",singleColor:"Single",gradientColor:"Gradient"}};return Ao.default=i,Ao}var Gc,hm;function p1(){return hm||(hm=1,Gc=h1()),Gc}var m1=p1();const g1=vs(m1);var No={},Bo={},pm;function y1(){if(pm)return Bo;pm=1,Object.defineProperty(Bo,"__esModule",{value:!0}),Bo.default=void 0;var e={items_per_page:"/ page",jump_to:"Aller à",jump_to_confirm:"confirmer",page:"Page",prev_page:"Page précédente",next_page:"Page suivante",prev_5:"5 Pages précédentes",next_5:"5 Pages suivantes",prev_3:"3 Pages précédentes",next_3:"3 Pages suivantes",page_size:"taille de la page"};return Bo.default=e,Bo}var zo={},Wo={},Uo={},mm;function b1(){if(mm)return Uo;mm=1;var e=Yt().default;Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"fr_FR",today:"Aujourd'hui",now:"Maintenant",backToToday:"Aujourd'hui",ok:"OK",clear:"Rétablir",week:"Semaine",month:"Mois",year:"Année",timeSelect:"Sélectionner l'heure",dateSelect:"Sélectionner la date",monthSelect:"Choisissez un mois",yearSelect:"Choisissez une année",decadeSelect:"Choisissez une décennie",dateFormat:"DD/MM/YYYY",dayFormat:"DD",dateTimeFormat:"DD/MM/YYYY HH:mm:ss",previousMonth:"Mois précédent (PageUp)",nextMonth:"Mois suivant (PageDown)",previousYear:"Année précédente (Ctrl + gauche)",nextYear:"Année prochaine (Ctrl + droite)",previousDecade:"Décennie précédente",nextDecade:"Décennie suivante",previousCentury:"Siècle précédent",nextCentury:"Siècle suivant"});return Uo.default=r,Uo}var qo={},gm;function Bv(){if(gm)return qo;gm=1,Object.defineProperty(qo,"__esModule",{value:!0}),qo.default=void 0;const e={placeholder:"Sélectionner l'heure",rangePlaceholder:["Heure de début","Heure de fin"]};return qo.default=e,qo}var ym;function zv(){if(ym)return Wo;ym=1;var e=Yt().default;Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.default=void 0;var t=e(b1()),n=e(Bv());const r={lang:Object.assign({placeholder:"Sélectionner une date",yearPlaceholder:"Sélectionner une année",quarterPlaceholder:"Sélectionner un trimestre",monthPlaceholder:"Sélectionner un mois",weekPlaceholder:"Sélectionner une semaine",rangePlaceholder:["Date de début","Date de fin"],rangeYearPlaceholder:["Année de début","Année de fin"],rangeMonthPlaceholder:["Mois de début","Mois de fin"],rangeWeekPlaceholder:["Semaine de début","Semaine de fin"]},t.default),timePickerLocale:Object.assign({},n.default)};return Wo.default=r,Wo}var bm;function v1(){if(bm)return zo;bm=1;var e=Yt().default;Object.defineProperty(zo,"__esModule",{value:!0}),zo.default=void 0;var t=e(zv());return zo.default=t.default,zo}var vm;function S1(){if(vm)return No;vm=1;var e=Yt().default;Object.defineProperty(No,"__esModule",{value:!0}),No.default=void 0;var t=e(y1()),n=e(v1()),r=e(zv()),s=e(Bv());const o="La valeur du champ ${label} n'est pas valide pour le type ${type}",i={locale:"fr",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,Table:{filterTitle:"Filtrer",filterConfirm:"OK",filterReset:"Réinitialiser",filterEmptyText:"Aucun filtre",filterCheckAll:"Tout sélectionner",filterSearchPlaceholder:"Chercher dans les filtres",emptyText:"Aucune donnée",selectAll:"Sélectionner la page actuelle",selectInvert:"Inverser la sélection de la page actuelle",selectNone:"Désélectionner toutes les données",selectionAll:"Sélectionner toutes les données",sortTitle:"Trier",expand:"Développer la ligne",collapse:"Réduire la ligne",triggerDesc:"Trier par ordre décroissant",triggerAsc:"Trier par ordre croissant",cancelSort:"Annuler le tri"},Tour:{Next:"Étape suivante",Previous:"Étape précédente",Finish:"Fin de la visite guidée"},Modal:{okText:"OK",cancelText:"Annuler",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Annuler"},Transfer:{titles:["",""],searchPlaceholder:"Rechercher",itemUnit:"élément",itemsUnit:"éléments",remove:"Désélectionner",selectCurrent:"Sélectionner la page actuelle",removeCurrent:"Désélectionner la page actuelle",selectAll:"Sélectionner toutes les données",removeAll:"Désélectionner toutes les données",selectInvert:"Inverser la sélection de la page actuelle"},Upload:{uploading:"Téléchargement...",removeFile:"Effacer le fichier",uploadError:"Erreur de téléchargement",previewFile:"Fichier de prévisualisation",downloadFile:"Télécharger un fichier"},Empty:{description:"Aucune donnée"},Icon:{icon:"icône"},Text:{edit:"Éditer",copy:"Copier",copied:"Copie effectuée",expand:"Développer"},Form:{optional:"(optionnel)",defaultValidateMessages:{default:"Erreur de validation pour le champ ${label}",required:"Le champ ${label} est obligatoire",enum:"La valeur du champ ${label} doit être parmi [${enum}]",whitespace:"La valeur du champ ${label} ne peut pas être vide",date:{format:"La valeur du champ ${label} n'est pas au format date",parse:"La valeur du champ ${label} ne peut pas être convertie vers une date",invalid:"La valeur du champ ${label} n'est pas une date valide"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"La taille du champ ${label} doit être de ${len} caractères",min:"La taille du champ ${label} doit être au minimum de ${min} caractères",max:"La taille du champ ${label} doit être au maximum de ${max} caractères",range:"La taille du champ ${label} doit être entre ${min} et ${max} caractères"},number:{len:"La valeur du champ ${label} doit être égale à ${len}",min:"La valeur du champ ${label} doit être plus grande que ${min}",max:"La valeur du champ ${label} doit être plus petit que ${max}",range:"La valeur du champ ${label} doit être entre ${min} et ${max}"},array:{len:"La taille du tableau ${label} doit être de ${len}",min:"La taille du tableau ${label} doit être au minimum de ${min}",max:"La taille du tableau ${label} doit être au maximum de ${max}",range:"La taille du tableau ${label} doit être entre ${min}-${max}"},pattern:{mismatch:"La valeur du champ ${label} ne correspond pas au modèle ${pattern}"}}},Image:{preview:"Aperçu"}};return No.default=i,No}var Jc,Sm;function x1(){return Sm||(Sm=1,Jc=S1()),Jc}var w1=x1();const _1=vs(w1);var Ho={},Yo={},xm;function k1(){if(xm)return Yo;xm=1,Object.defineProperty(Yo,"__esModule",{value:!0}),Yo.default=void 0;var e={items_per_page:"/ पृष्ठ",jump_to:"इस पर चलें",jump_to_confirm:"पुष्टि करें",page:"",prev_page:"पिछला पृष्ठ",next_page:"अगला पृष्ठ",prev_5:"पिछले 5 पृष्ठ",next_5:"अगले 5 पृष्ठ",prev_3:"पिछले 3 पृष्ठ",next_3:"अगले 3 पेज",page_size:"Page Size"};return Yo.default=e,Yo}var Xo={},Ko={},Vo={},wm;function C1(){if(wm)return Vo;wm=1;var e=Yt().default;Object.defineProperty(Vo,"__esModule",{value:!0}),Vo.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"hi_IN",today:"आज",now:"अभी",backToToday:"आज तक",ok:"ठीक",clear:"स्पष्ट",week:"सप्ताह",month:"महीना",year:"साल",timeSelect:"समय का चयन करें",dateSelect:"तारीख़ चुनें",weekSelect:"एक सप्ताह चुनें",monthSelect:"एक महीना चुनें",yearSelect:"एक वर्ष चुनें",decadeSelect:"एक दशक चुनें",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"पिछला महीना (पेजअप)",nextMonth:"अगले महीने (पेजडाउन)",previousYear:"पिछले साल (Ctrl + बाएं)",nextYear:"अगले साल (Ctrl + दाहिना)",previousDecade:"पिछला दशक",nextDecade:"अगले दशक",previousCentury:"पीछ्ली शताब्दी",nextCentury:"अगली सदी"});return Vo.default=r,Vo}var Go={},_m;function Wv(){if(_m)return Go;_m=1,Object.defineProperty(Go,"__esModule",{value:!0}),Go.default=void 0;const e={placeholder:"समय का चयन करें",rangePlaceholder:["आरंभिक समय","अंत समय"]};return Go.default=e,Go}var km;function Uv(){if(km)return Ko;km=1;var e=Yt().default;Object.defineProperty(Ko,"__esModule",{value:!0}),Ko.default=void 0;var t=e(C1()),n=e(Wv());const r={lang:Object.assign({placeholder:"तारीख़ चुनें",yearPlaceholder:"वर्ष चुनें",quarterPlaceholder:"तिमाही चुनें",monthPlaceholder:"महीना चुनिए",weekPlaceholder:"सप्ताह चुनें",rangePlaceholder:["प्रारंभ तिथि","समाप्ति तिथि"],rangeYearPlaceholder:["आरंभिक वर्ष","अंत वर्ष"],rangeMonthPlaceholder:["आरंभिक महीना","अंत महीना"],rangeWeekPlaceholder:["आरंभिक सप्ताह","अंत सप्ताह"]},t.default),timePickerLocale:Object.assign({},n.default)};return Ko.default=r,Ko}var Cm;function T1(){if(Cm)return Xo;Cm=1;var e=Yt().default;Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.default=void 0;var t=e(Uv());return Xo.default=t.default,Xo}var Tm;function P1(){if(Tm)return Ho;Tm=1;var e=Yt().default;Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.default=void 0;var t=e(k1()),n=e(T1()),r=e(Uv()),s=e(Wv());const o="${label} मान्य ${type} नहीं है",i={locale:"hi",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"कृपया चुनें"},Table:{filterTitle:"सूची बंद करें",filterConfirm:"अच्छी तरह से",filterReset:"रीसेट",filterEmptyText:"कोई फ़िल्टर नहीं",emptyText:"कोई जानकारी नहीं",selectAll:"वर्तमान पृष्ठ का चयन करें",selectInvert:"वर्तमान पृष्ठ घुमाएं",selectNone:"सभी डेटा साफ़ करें",selectionAll:"सभी डेटा का चयन करें",sortTitle:"द्वारा क्रमबद्ध करें",expand:"पंक्ति का विस्तार करें",collapse:"पंक्ति संक्षिप्त करें",triggerDesc:"अवरोही क्रमित करने के लिए क्लिक करें",triggerAsc:"आरोही क्रमित करने के लिए क्लिक करें",cancelSort:"छँटाई रद्द करने के लिए क्लिक करें"},Modal:{okText:"अच्छी तरह से",cancelText:"रद्द करना",justOkText:"अच्छी तरह से"},Popconfirm:{okText:"अच्छी तरह से",cancelText:"रद्द करना"},Transfer:{titles:["",""],searchPlaceholder:"यहां खोजें",itemUnit:"तत्त्व",itemsUnit:"विषय-वस्तु",remove:"हटाए",selectCurrent:"वर्तमान पृष्ठ का चयन करें",removeCurrent:"वर्तमान पृष्ठ हटाएं",selectAll:"सभी डेटा का चयन करें",removeAll:"सभी डेटा हटाएं",selectInvert:"वर्तमान पृष्ठ को उल्टा करें"},Upload:{uploading:"अपलोड हो रहा...",removeFile:"फ़ाइल निकालें",uploadError:"अपलोड में त्रुटि",previewFile:"फ़ाइल पूर्वावलोकन",downloadFile:"फ़ाइल डाउनलोड करें"},Empty:{description:"कोई आकड़ा उपलब्ध नहीं है"},Icon:{icon:"आइकन"},Text:{edit:"संपादित करें",copy:"प्रतिलिपि",copied:"कॉपी किया गया",expand:"विस्तार"},Form:{optional:"(ऐच्छिक)",defaultValidateMessages:{default:"${label} के लिए फील्ड सत्यापन त्रुटि",required:"कृपया ${label} दर्ज करें",enum:"${label} [${enum}] में से एक होना चाहिए",whitespace:"${label} एक खाली अक्षर नहीं हो सकता",date:{format:"${label} तिथि प्रारूप अमान्य है",parse:"${label} को तारीख में नहीं बदला जा सकता",invalid:"${label} एक अमान्य तिथि है"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label} ${len} अक्षर का होना चाहिए",min:"${label} कम से कम ${min} वर्णों का होना चाहिए",max:"${label} अधिकतम ${max} वर्णों का होना चाहिए",range:"${label} ${min}-${max} वर्णों के बीच होना चाहिए"},number:{len:"${label} ${len} के बराबर होना चाहिए",min:"${label} कम से कम ${min} होना चाहिए",max:"${label} अधिकतम ${max} होना चाहिए",range:"${label} ${min}-${max} के बीच होना चाहिए"},array:{len:"${len} ${label} होना चाहिए",min:"कम से कम ${min} ${label}",max:"ज्यादा से ज्यादा ${max} ${label}",range:"${label} की राशि ${min}-${max} के बीच होनी चाहिए"},pattern:{mismatch:"${label} ${pattern} पैटर्न से मेल नहीं खाता"}}},Image:{preview:"पूर्वावलोकन"}};return Ho.default=i,Ho}var Qc,Pm;function M1(){return Pm||(Pm=1,Qc=P1()),Qc}var E1=M1();const j1=vs(E1);var Jo={},Qo={},Mm;function R1(){if(Mm)return Qo;Mm=1,Object.defineProperty(Qo,"__esModule",{value:!0}),Qo.default=void 0;var e={items_per_page:"件 / ページ",jump_to:"移動",jump_to_confirm:"確認する",page:"ページ",prev_page:"前のページ",next_page:"次のページ",prev_5:"前 5ページ",next_5:"次 5ページ",prev_3:"前 3ページ",next_3:"次 3ページ",page_size:"ページサイズ"};return Qo.default=e,Qo}var Zo={},ei={},ti={},Em;function A1(){if(Em)return ti;Em=1;var e=Yt().default;Object.defineProperty(ti,"__esModule",{value:!0}),ti.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"ja_JP",today:"今日",now:"現在時刻",backToToday:"今日に戻る",ok:"確定",timeSelect:"時間を選択",dateSelect:"日時を選択",weekSelect:"週を選択",clear:"クリア",week:"週",month:"月",year:"年",previousMonth:"前月 (ページアップキー)",nextMonth:"翌月 (ページダウンキー)",monthSelect:"月を選択",yearSelect:"年を選択",decadeSelect:"年代を選択",yearFormat:"YYYY年",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"前年 (Controlを押しながら左キー)",nextYear:"翌年 (Controlを押しながら右キー)",previousDecade:"前の年代",nextDecade:"次の年代",previousCentury:"前の世紀",nextCentury:"次の世紀",monthBeforeYear:!1});return ti.default=r,ti}var ni={},jm;function qv(){if(jm)return ni;jm=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.default=void 0;const e={placeholder:"時間を選択",rangePlaceholder:["開始時間","終了時間"]};return ni.default=e,ni}var Rm;function Hv(){if(Rm)return ei;Rm=1;var e=Yt().default;Object.defineProperty(ei,"__esModule",{value:!0}),ei.default=void 0;var t=e(A1()),n=e(qv());const r={lang:Object.assign({placeholder:"日付を選択",yearPlaceholder:"年を選択",quarterPlaceholder:"四半期を選択",monthPlaceholder:"月を選択",weekPlaceholder:"週を選択",rangePlaceholder:["開始日付","終了日付"],rangeYearPlaceholder:["開始年","終了年"],rangeMonthPlaceholder:["開始月","終了月"],rangeQuarterPlaceholder:["開始四半期","終了四半期"],rangeWeekPlaceholder:["開始週","終了週"],shortWeekDays:["日","月","火","水","木","金","土"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},t.default),timePickerLocale:Object.assign({},n.default)};return ei.default=r,ei}var Am;function I1(){if(Am)return Zo;Am=1;var e=Yt().default;Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.default=void 0;var t=e(Hv());return Zo.default=t.default,Zo}var Im;function O1(){if(Im)return Jo;Im=1;var e=Yt().default;Object.defineProperty(Jo,"__esModule",{value:!0}),Jo.default=void 0;var t=e(R1()),n=e(I1()),r=e(Hv()),s=e(qv());const o="${label}は有効な${type}ではありません",i={locale:"ja",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"選んでください"},Table:{filterTitle:"フィルター",filterConfirm:"OK",filterReset:"リセット",filterEmptyText:"フィルターなし",filterCheckAll:"すべてを選択",filterSearchPlaceholder:"フィルターで検索",emptyText:"データなし",selectAll:"ページ単位で選択",selectInvert:"ページ単位で反転",selectNone:"クリア",selectionAll:"すべてを選択",sortTitle:"ソート",expand:"展開する",collapse:"折り畳む",triggerDesc:"クリックで降順にソート",triggerAsc:"クリックで昇順にソート",cancelSort:"ソートをキャンセル"},Tour:{Next:"次",Previous:"前の",Finish:"仕上げる"},Modal:{okText:"OK",cancelText:"キャンセル",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"キャンセル"},Transfer:{titles:["",""],searchPlaceholder:"ここを検索",itemUnit:"アイテム",itemsUnit:"アイテム",remove:"削除",selectCurrent:"現在のページを選択",removeCurrent:"現在のページを削除",selectAll:"ページ単位で選択",deselectAll:"すべてのデータの選択を解除する",removeAll:"ページ単位で削除",selectInvert:"ページ単位で反転"},Upload:{uploading:"アップロード中...",removeFile:"ファイルを削除",uploadError:"アップロードエラー",previewFile:"ファイルをプレビュー",downloadFile:"ダウンロードファイル"},Empty:{description:"データがありません"},Icon:{icon:"アイコン"},Text:{edit:"編集",copy:"コピー",copied:"コピーされました",expand:"拡大する",collapse:"崩壊"},Form:{optional:"(オプション)",defaultValidateMessages:{default:"${label}のフィールド検証エラー",required:"${label}を入力してください",enum:"${label}は[${enum}]のいずれかである必要があります",whitespace:"${label}は空白文字にすることはできません",date:{format:"${label}の日付形式は不正です",parse:"${label}は日付に変換できません",invalid:"${label}は不正な日付です"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}は${len}文字である必要があります",min:"${label}は${min}文字以上である必要があります",max:"${label}は${max}文字以下である必要があります",range:"${label}は${min}-${max}文字の範囲である必要があります"},number:{len:"${label}は${len}と等しい必要があります",min:"${label}の最小値は${min}です",max:"${label}の最大値は${max}です",range:"${label}は${min}-${max}の範囲である必要があります"},array:{len:"${label}は${len}である必要があります",min:"${label}の最小は${min}です",max:"${label}の最大は${max}です",range:"${label}の合計は${min}-${max}の範囲である必要があります"},pattern:{mismatch:"${label}はパターン${pattern}と一致しません"}}},Image:{preview:"プレビュー"},QRCode:{expired:"QRコードの有効期限が切れました",refresh:"リフレッシュ",scanned:"スキャン済み"},ColorPicker:{presetEmpty:"空の",transparent:"透明",singleColor:"単色",gradientColor:"グラデーション"}};return Jo.default=i,Jo}var Zc,Om;function $1(){return Om||(Om=1,Zc=O1()),Zc}var L1=$1();const F1=vs(L1);var ri={},si={},$m;function D1(){if($m)return si;$m=1,Object.defineProperty(si,"__esModule",{value:!0}),si.default=void 0;var e={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};return si.default=e,si}var oi={},ii={},ai={},Lm;function N1(){if(Lm)return ai;Lm=1;var e=Yt().default;Object.defineProperty(ai,"__esModule",{value:!0}),ai.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});return ai.default=r,ai}var li={},Fm;function Yv(){if(Fm)return li;Fm=1,Object.defineProperty(li,"__esModule",{value:!0}),li.default=void 0;const e={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};return li.default=e,li}var Dm;function Xv(){if(Dm)return ii;Dm=1;var e=Yt().default;Object.defineProperty(ii,"__esModule",{value:!0}),ii.default=void 0;var t=e(N1()),n=e(Yv());const r={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},t.default),timePickerLocale:Object.assign({},n.default)};return r.lang.ok="确定",ii.default=r,ii}var Nm;function B1(){if(Nm)return oi;Nm=1;var e=Yt().default;Object.defineProperty(oi,"__esModule",{value:!0}),oi.default=void 0;var t=e(Xv());return oi.default=t.default,oi}var Bm;function z1(){if(Bm)return ri;Bm=1;var e=Yt().default;Object.defineProperty(ri,"__esModule",{value:!0}),ri.default=void 0;var t=e(D1()),n=e(B1()),r=e(Xv()),s=e(Yv());const o="${label}不是一个有效的${type}",i={locale:"zh-cn",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckAll:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无",transparent:"无色",singleColor:"单色",gradientColor:"渐变色"}};return ri.default=i,ri}var eu,zm;function W1(){return zm||(zm=1,eu=z1()),eu}var U1=W1();const q1=vs(U1);var ci={},ui={},Wm;function H1(){if(Wm)return ui;Wm=1,Object.defineProperty(ui,"__esModule",{value:!0}),ui.default=void 0;var e={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};return ui.default=e,ui}var di={},fi={},hi={},Um;function Y1(){if(Um)return hi;Um=1;var e=Yt().default;Object.defineProperty(hi,"__esModule",{value:!0}),hi.default=void 0;var t=e(so()),n=oo(),r=(0,t.default)((0,t.default)({},n.commonLocale),{},{locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",week:"週",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀",cellDateFormat:"D",monthBeforeYear:!1});return hi.default=r,hi}var pi={},qm;function Kv(){if(qm)return pi;qm=1,Object.defineProperty(pi,"__esModule",{value:!0}),pi.default=void 0;const e={placeholder:"請選擇時間"};return pi.default=e,pi}var Hm;function Vv(){if(Hm)return fi;Hm=1;var e=Yt().default;Object.defineProperty(fi,"__esModule",{value:!0}),fi.default=void 0;var t=e(Y1()),n=e(Kv());const r={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},t.default),timePickerLocale:Object.assign({},n.default)};return r.lang.ok="確 定",fi.default=r,fi}var Ym;function X1(){if(Ym)return di;Ym=1;var e=Yt().default;Object.defineProperty(di,"__esModule",{value:!0}),di.default=void 0;var t=e(Vv());return di.default=t.default,di}var Xm;function K1(){if(Xm)return ci;Xm=1;var e=Yt().default;Object.defineProperty(ci,"__esModule",{value:!0}),ci.default=void 0;var t=e(H1()),n=e(X1()),r=e(Vv()),s=e(Kv());const o="${label}不是一個有效的${type}",i={locale:"zh-tw",Pagination:t.default,DatePicker:r.default,TimePicker:s.default,Calendar:n.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckAll:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開",collapse:"收起"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"},ColorPicker:{presetEmpty:"暫無",transparent:"透明",singleColor:"單色",gradientColor:"漸變色"}};return ci.default=i,ci}var tu,Km;function V1(){return Km||(Km=1,tu=K1()),tu}var G1=V1();const J1=vs(G1),Vm=e=>{switch(e){case"zh-CN":return q1;case"zh-TW":return J1;case"fr-FR":return _1;case"ja-JP":return F1;case"hi-IN":return j1;default:return g1}},Gv="lotus_vdi_safe_mode",Gm=()=>{try{return localStorage.getItem(Gv)==="true"}catch{return!1}},BI=e=>{try{localStorage.setItem(Gv,e.toString())}catch(t){console.error("[vdiSafeMode] Failed to persist setting:",t)}};async function Q1(){const e=Hn.getInstance();for(const t of Object.keys(localStorage))if(t.startsWith("chat-model-options-cache-v1:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&Array.isArray(s.options)&&(await e.saveModelOptionsCache(n,s.options,s.timestamp),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}for(const t of Object.keys(localStorage))if(t.startsWith("chat-session-diff-collapse:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&typeof s.isExpanded=="boolean"&&(await e.saveDiffCollapse(n,{isExpanded:s.isExpanded,expandedFiles:s.expandedFiles||[]}),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}for(const t of Object.keys(localStorage))if(t.startsWith("chat-session-tool-collapse:")){const n=t.split(":");if(n.length>=3){const r=n[1],s=n.slice(2).join(":");try{const o=localStorage.getItem(t);if(o){const i=JSON.parse(o);i&&typeof i.isExpanded=="boolean"&&(await e.saveToolSessionCollapse(r,s,{isExpanded:i.isExpanded,expandedTools:i.expandedTools||[]}),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}}try{const t=localStorage.getItem("chat_input_reasoning_by_session_v1");if(t){const n=JSON.parse(t);for(const[r,s]of Object.entries(n))typeof s=="string"&&await e.saveInputReasoning(r,s);localStorage.removeItem("chat_input_reasoning_by_session_v1")}}catch{localStorage.removeItem("chat_input_reasoning_by_session_v1")}try{const t=localStorage.getItem("chat_input_reasoning_last_used_v1");t&&typeof t=="string"&&(await e.saveLastUsedReasoningEffort(t),localStorage.removeItem("chat_input_reasoning_last_used_v1"))}catch{localStorage.removeItem("chat_input_reasoning_last_used_v1")}for(const t of Object.keys(localStorage))if(t.startsWith("chat_scroll_anchor_v2:")){const n=t.split(":")[1];try{const r=localStorage.getItem(t);if(r){const s=JSON.parse(r);s&&s.v===1&&typeof s.anchorId=="string"&&(await e.saveScrollAnchor(n,s),localStorage.removeItem(t))}}catch{localStorage.removeItem(t)}}localStorage.removeItem("chat_scroll_anchors_v1")}const Z1="copilot_ui_theme_v1",Xu={colorPrimary:"#0d9488",colorPrimaryHover:"#14b8a6",colorPrimaryActive:"#0f766e",colorInfo:"#0d9488",colorLink:"#0d9488",colorLinkHover:"#14b8a6",colorLinkActive:"#0f766e",colorSuccess:"#10b981",colorWarning:"#f59e0b",colorError:"#ef4444",colorText:"#0f172a",colorTextSecondary:"#475569",colorTextTertiary:"#64748b",colorTextDisabled:"#94a3b8",colorTextLightSolid:"#ffffff",colorBorder:"#d1e3e0",colorBorderSecondary:"#e2f0ee",colorFill:"#f0fdfa",colorFillSecondary:"#f7fdfb",colorFillTertiary:"rgba(255, 255, 255, 0.82)",colorFillQuaternary:"transparent",colorBgLayout:"#f0fdfa",colorBgContainer:"rgba(255, 255, 255, 0.82)",colorBgElevated:"rgba(255, 255, 255, 0.9)",colorBgSpotlight:"rgba(13, 148, 136, 0.16)",colorPrimaryBg:"#f0fdfa",colorPrimaryBgHover:"#ccfbf1",colorPrimaryBorder:"#99f6e4",borderRadius:10,borderRadiusLG:18,borderRadiusSM:10,boxShadow:"0 12px 36px rgba(15, 118, 110, 0.10), 0 6px 18px rgba(15, 23, 42, 0.06)",boxShadowSecondary:"0 20px 48px rgba(15, 118, 110, 0.12), 0 8px 24px rgba(15, 23, 42, 0.08)"},Ku={colorPrimary:"#2dd4bf",colorPrimaryHover:"#5eead4",colorPrimaryActive:"#0d9488",colorInfo:"#2dd4bf",colorLink:"#2dd4bf",colorLinkHover:"#5eead4",colorLinkActive:"#0d9488",colorSuccess:"#34d399",colorWarning:"#fbbf24",colorError:"#f87171",colorText:"#e5edf8",colorTextSecondary:"#b7c4d6",colorTextTertiary:"#8d9bb0",colorTextDisabled:"#627085",colorBorder:"rgba(255, 255, 255, 0.10)",colorBorderSecondary:"rgba(255, 255, 255, 0.06)",colorFill:"#0c1a17",colorFillSecondary:"#091412",colorFillTertiary:"rgba(15, 23, 42, 0.74)",colorFillQuaternary:"transparent",colorBgLayout:"#070e0c",colorBgContainer:"rgba(11, 22, 18, 0.76)",colorBgElevated:"rgba(15, 30, 25, 0.9)",colorBgSpotlight:"rgba(13, 148, 136, 0.20)",colorPrimaryBg:"rgba(13, 148, 136, 0.14)",colorPrimaryBgHover:"rgba(13, 148, 136, 0.18)",colorPrimaryBorder:"rgba(45, 212, 191, 0.28)",borderRadius:10,borderRadiusLG:18,borderRadiusSM:10,boxShadow:"0 16px 40px rgba(2, 6, 23, 0.42), 0 8px 20px rgba(15, 23, 42, 0.24)",boxShadowSecondary:"0 24px 56px rgba(2, 6, 23, 0.5), 0 10px 28px rgba(15, 23, 42, 0.28)"},Vu={Tag:{defaultBg:"rgba(13, 148, 136, 0.1)",defaultColor:"#0f766e"},Table:{bodySortBg:"rgba(13, 148, 136, 0.08)"}},Gu={Tag:{defaultBg:"rgba(45, 212, 191, 0.18)",defaultColor:"#ccfbf1"},Table:{bodySortBg:"rgba(45, 212, 191, 0.14)"}},Jm={...Xu,colorBgElevated:"#ffffff",colorBgSpotlight:"#0f172a",colorFillTertiary:"#f3f7f6"},Qm={...Ku,colorBgElevated:"#0f1b18",colorBgSpotlight:"#22332f",colorFillTertiary:"#162622"},Zm={...Vu,Menu:{popupBg:"#ffffff",itemBg:"transparent",itemHoverBg:"#f3f7f6",itemActiveBg:"#eef7f5",itemSelectedBg:"#e7f8f4",subMenuItemBg:"#ffffff",dangerItemActiveBg:"#fdecec",dangerItemSelectedBg:"#fdecec"},Select:{selectorBg:"#ffffff",clearBg:"#ffffff",optionActiveBg:"#f3f7f6",optionSelectedBg:"#e7f8f4"},Modal:{contentBg:"#ffffff",headerBg:"#ffffff",footerBg:"#ffffff"}},eg={...Gu,Menu:{popupBg:"#0f1b18",darkPopupBg:"#0f1b18",itemBg:"transparent",itemHoverBg:"#162622",itemActiveBg:"#162622",itemSelectedBg:"#12332d",subMenuItemBg:"#0f1b18",dangerItemActiveBg:"#3a161c",dangerItemSelectedBg:"#3a161c"},Select:{selectorBg:"#0f1b18",clearBg:"#0f1b18",optionActiveBg:"#162622",optionSelectedBg:"#12332d"},Modal:{contentBg:"#0f1b18",headerBg:"#0f1b18",footerBg:"#0f1b18"}};function eI(){const{t:e}=Ge(),t=ul(C=>C.themeMode),n=ul(C=>C.setThemeMode),[r,s]=y.useState(()=>fx()),[o,i]=y.useState(()=>Gm()),[l,u]=y.useState(null),[d,h]=y.useState(null),[m,b]=y.useState(0),[v,w]=y.useState(null),[S,k]=y.useState(!1);if(y.useEffect(()=>{localStorage.setItem(Z1,t)},[t]),y.useEffect(()=>{localStorage.setItem(hx,r),px(r)},[r]),y.useEffect(()=>{let C=!1;const E=Date.now(),A=async()=>{try{const O=Qs.getInstance(),D=await O.getAccessStatus();if(C)return;if(h(null),w(D),D.requires_password&&!S){u(!1);return}const F=await O.getSetupStatus();if(C)return;u(F.is_complete)}catch(O){if(C)return;const D=Date.now()-E;if(D>=2e4){const q=ws(),I=O instanceof Error&&O.message.trim()?O.message:"Unknown error";h(e("app.backendNotReachable",{baseUrl:q,message:I}));return}const N=Math.min(500+Math.floor(D/2),2e3);setTimeout(()=>{C||A()},N)}};return A(),()=>{C=!0}},[S,m,e]),y.useEffect(()=>{document.body.setAttribute("data-theme",t)},[t]),y.useEffect(()=>{const C=()=>{const E=Gm();i(E),document.body.setAttribute("data-vdi-safe",E?"true":"false");const A=document.getElementById("root");A&&A.setAttribute("data-vdi-safe",E?"true":"false")};return C(),window.addEventListener("storage",C),window.addEventListener("lotus-vdi-safe-mode-change",C),()=>{window.removeEventListener("storage",C),window.removeEventListener("lotus-vdi-safe-mode-change",C)}},[]),y.useEffect(()=>{var E;const C=(E=window.__TAURI_INTERNALS__)==null?void 0:E.invoke;typeof C=="function"&&C("set_window_theme",{theme:t}).catch(A=>{console.warn("[App] Failed to sync native window theme:",A)})},[t]),y.useEffect(()=>{l&&hd().then(()=>pd()).catch(C=>{console.error("[App] Bootstrap error:",C)})},[l]),y.useEffect(()=>{const C=Hn.getInstance();C.cleanupStaleData(30).catch(A=>{console.warn("[App] Failed to cleanup stale storage data:",A)});const E=setInterval(()=>{C.cleanupStaleData(30).catch(()=>{})},24*60*60*1e3);return()=>clearInterval(E)},[]),y.useEffect(()=>{const C=setTimeout(()=>{Q1().catch(E=>{console.warn("[App] Storage migration failed:",E)})},5e3);return()=>clearTimeout(C)},[]),v!=null&&v.requires_password&&!S)return a.jsx(Mf,{locale:Vm(r),theme:{token:t==="dark"?o?Qm:Ku:o?Jm:Xu,algorithm:t==="dark"?ut.darkAlgorithm:ut.defaultAlgorithm,components:t==="dark"?o?eg:Gu:o?Zm:Vu},children:a.jsx(Fn,{children:a.jsx(zi,{name:"PasswordGatePage",children:a.jsx(i1,{verifyPassword:async C=>{await Qs.getInstance().verifyAccessPassword(C)},onVerified:async()=>{k(!0),h(null),b(C=>C+1)}})})})});if(l===null)return d?a.jsxs("div",{style:{padding:40,textAlign:"center"},children:[a.jsx("div",{style:{marginBottom:12},children:d}),a.jsx(je,{type:"primary",onClick:()=>{h(null),w(null),u(null),b(C=>C+1)},children:e("app.retry")})]}):a.jsx("div",{style:{padding:40,textAlign:"center"},children:e("app.loading")});const P=l?a.jsx(n1,{themeMode:t,onThemeModeChange:n,locale:r,onLocaleChange:s}):a.jsx(s1,{}),T=t==="dark"?o?Qm:Ku:o?Jm:Xu,j=t==="dark"?o?eg:Gu:o?Zm:Vu;return a.jsx(Mf,{locale:Vm(r),theme:{token:T,algorithm:t==="dark"?ut.darkAlgorithm:ut.defaultAlgorithm,components:j},children:a.jsx(Fn,{children:a.jsx(zi,{name:"App",children:a.jsx("div",{style:{position:"relative"},children:P})})})})}const zI=Object.freeze(Object.defineProperty({__proto__:null,default:eI},Symbol.toStringTag,{value:"Module"}));export{kk as $,NI as A,Ni as B,wu as C,Bk as D,JC as E,Jg as F,Jn as G,Lk as H,kc as I,fu as J,rs as K,yd as L,xI as M,wI as N,PI as O,Ex as P,yc as Q,hs as R,Qs as S,sy as T,bd as U,_I as V,EI as W,aI as X,Kk as Y,Xf as Z,xk as _,St as a,uy as a0,Gm as a1,Rk as a2,MI as a3,TI as a4,CI as a5,kI as a6,BI as a7,lI as a8,SI as a9,zI as aa,Mi as b,Ei as c,ul as d,gt as e,Lv as f,Kn as g,fy as h,Rl as i,Wt as j,Hg as k,UE as l,ks as m,DI as n,N_ as o,Ro as p,Ai as q,Xk as r,Vi as s,Ee as t,ae as u,to as v,Yi as w,Pr as x,rt as y,Fi as z};