@bigduu/lotus 2026.5.18 → 2026.5.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{App-BYqor0NW.js → App-BxL0EdPR.js} +8 -8
- package/dist/assets/{MetricsService-BLd6-0qb.js → MetricsService-CIUJS8Ow.js} +1 -1
- package/dist/assets/{SubAgentsPanel-DOzTGVWO.js → SubAgentsPanel-ByOD_VrF.js} +1 -1
- package/dist/assets/{index-0lLJoNTX.js → index-BekDgOIT.js} +1 -1
- package/dist/assets/{index-0wGcdXc1.js → index-C8TiuUqm.js} +1 -1
- package/dist/assets/{index-CUlZM8lX.js → index-CAQ3YTCz.js} +1 -1
- package/dist/assets/{index-Dhul7_lf.js → index-CWDkpwMB.js} +1 -1
- package/dist/assets/{index-ekP40-i6.js → index-Cj2Jmnr0.js} +1 -1
- package/dist/assets/{index-BJkKRJIj.js → index-DNvloxwu.js} +1 -1
- package/dist/assets/{index-PfIEgx4k.js → index-DPgfFTH0.js} +1 -1
- package/dist/assets/{index-B-6erFBV.js → index-DdEEn03o.js} +1 -1
- package/dist/assets/{index-4Mo8dj-Y.js → index-Dggksxfu.js} +1 -1
- package/dist/assets/{index-DbIwj11C.js → index-GpWoYh67.js} +1 -1
- package/dist/assets/{index-Ccxo4-w9.js → index-JLScRSdR.js} +2 -2
- package/dist/assets/{main-CEmqYfJe.js → main-Bx_fLxV8.js} +2 -2
- package/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-
|
|
2
|
-
var bS=Object.defineProperty;var vS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Et=(e,t,n)=>vS(e,typeof t!="symbol"?t+"":t,n);import{j as a,M as xr,S as dn,a as rg,t as sg,p as og,b as SS,c as ed,d as xS,m as ig,s as wS,y as ag,e as lg,h as dl,f as td,r as nd,g as rd,i as cg}from"./vendor-markdown-DZuK0SxV.js";import{a as y,u as Ve,R as ft,i as wt,c as _S,g as Cs}from"./vendor-i18n-BNURlJ23.js";import{_ as Gt,cq as sd}from"./vendor-mermaid-C1Gk9PtT.js";import{t as ct,o as Tf,p as kS,Q as CS,as as xs,aY as ug,aZ as TS,V as Ml,E as Ae,ap as PS,G as Ts,ak as eo,a_ as ES,L as Mr,X as Ps,a$ as dg,H as ou,S as He,F as Ee,u as ws,q as Kr,O as od,Y as jl,n as wn,b0 as MS,b1 as jS,j as dt,M as Dn,W as Va,a0 as RS,a4 as iu,b2 as AS,b3 as Rl,b4 as fg,J as id,b5 as au,b6 as to,b7 as IS,b8 as OS,D as fl,k as $S,y as hg,b9 as LS,ba as FS,K as no,aj as DS,l as Je,a2 as NS,v as pg,A as or,C as tn,bb as Al,bc as mg,ao as BS,ac as zS,w as ad,aE as gg,bd as WS,be as US,bf as qS,bg as HS,z as ro,bh as YS,bi as XS,ah as ld,ai as jr,at as hl,aD as io,bj as KS,bk as yg,bl as bg,ad as cd,a7 as VS,m as Il,a9 as Pf,aA as GS,I as Ef,P as vg,aS as Sg,aK as JS,av as QS,af as ZS,bm as ex,bn as tx,ar as nx,aF as rx,bo as sx,bp as ox,bq as ix,br as ax,B as lx,aW as Xs,bs as xg,bt as cx,bu as wg,a5 as ud,bv as ux,bw as dx,$ as fx,bx as Mf,by as jf}from"./vendor-antd-C8lKwvI6.js";import{r as hx,A as px,a as mx}from"./main-CEmqYfJe.js";function _g(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 Ol(){return _g("(max-width: 768px)")}const gx=({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}=Ve(),[w,S]=y.useState(!1),[k,P]=y.useState(e.title),[T,j]=y.useState(!1),[C,E]=y.useState(!1),{token:A}=ct.useToken(),L=y.useCallback(J=>{J.stopPropagation(),l&&k.trim()&&l(e.id,k.trim()),S(!1)},[e.id,k,l]),F=y.useCallback(J=>{J.stopPropagation(),P(e.title),S(!1)},[e.title]),N=[{key:"pin",icon:e.pinned?a.jsx(Tf,{style:{color:A.colorWarning}}):a.jsx(kS,{}),label:e.pinned?v("chat.actions.unpin"):v("chat.actions.pin"),onClick:({domEvent:J})=>{J.stopPropagation(),e.pinned?i(e.id):o(e.id)}},{key:"edit",icon:a.jsx(CS,{}),label:v("chat.chatItem.edit"),onClick:({domEvent:J})=>{J.stopPropagation(),S(!0)}},...u?[{key:"generate-title",icon:h?a.jsx(xs,{}):a.jsx(ug,{style:b?{color:A.colorError}:void 0}),label:b||v("chat.actions.generateTitle"),disabled:h,onClick:({domEvent:J})=>{J.stopPropagation(),u(e.id)}}]:[],...d?[{key:"run-project-dream",icon:m?a.jsx(xs,{}):a.jsx(TS,{}),label:v("chat.actions.runProjectDream"),disabled:m,onClick:({domEvent:J})=>{J.stopPropagation(),d(e.id)}}]:[],{type:"divider"},{key:"delete",icon:a.jsx(Ml,{}),label:v("common.delete"),danger:!0,onClick:({domEvent:J})=>{J.stopPropagation(),s(e.id)}}],B={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},U={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},$={flex:1,fontSize:A.fontSizeSM,marginRight:A.marginSM},ee=w?[a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(PS,{style:{color:A.colorSuccess}}),onClick:L,"aria-label":v("common.save")},"save"),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ts,{style:{color:A.colorError}}),onClick:F,"aria-label":v("common.cancel")},"cancel")]:T||C?[a.jsx(eo,{menu:{items:N,className:"lotus-sidebar-actions-menu"},trigger:["click"],placement:"bottomRight",overlayClassName:"lotus-sidebar-actions-dropdown",open:C,onOpenChange:J=>E(J),children:a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(ES,{}),"aria-label":v("common.moreActions","More actions"),onClick:J=>J.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(Mr.Item,{style:B,tabIndex:0,onClick:()=>!w&&r(e.id),onKeyDown:J=>{J.key==="Enter"&&!w?(J.preventDefault(),r(e.id)):(J.key==="Delete"||J.key==="Backspace")&&!w&&J.metaKey&&(J.preventDefault(),s(e.id))},onMouseEnter:()=>j(!0),onMouseLeave:()=>{C||j(!1)},onFocus:()=>j(!0),onBlur:()=>{C||j(!1)},actions:ee,"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(Ps,{value:k,onChange:J=>P(J.target.value),onClick:J=>J.stopPropagation(),onPressEnter:J=>{J.preventDefault(),L(J)},autoFocus:!0,style:$,variant:"borderless",size:"small"}):a.jsxs("div",{style:{...U,display:"flex",alignItems:"center",gap:n?4:A.marginXS,minWidth:0},children:[e.pinned&&a.jsx(Tf,{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(dg,{}),v("chat.planMode.badge","Plan")]}):null]})})})},yx=(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,lu=y.memo(gx,yx);lu.displayName="ChatItem";const Rf=e=>({Today:0,Yesterday:1,"This Week":2,"This Month":3})[e]??4,bx=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},vx=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:Rf(n)-Rf(r)})},Sx=(e,t)=>e[t]?e[t].map(n=>n.id):[],kg=(e,t)=>e[t]?e[t].length:0,xx=e=>e.createdByScheduleId?"Scheduled":new Date(e.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),Af=(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},wx=({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}=Ve(),E=y.useMemo(()=>s.length?s.map(L=>{const F=e[L],N=kg(e,L);return{dateKey:L,dateGroup:F,totalChatsInDate:N}}):[],[e,s]);if(!s.length)return a.jsx(ou,{image:ou.PRESENTED_IMAGE_SIMPLE,description:a.jsxs(He,{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(Ae,{size:"small",type:"link",onClick:()=>{var F;const L=document.querySelector('[data-testid="sidebar-search-input"] input, .lotus-sidebar-search input');if(L){const N=(F=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:F.set;N==null||N.call(L,""),L.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:L,dateGroup:F,totalChatsInDate:N})=>{const B=A.has(L);return a.jsxs("div",{style:{borderRadius:T.borderRadiusSM,background:"transparent",padding:0},children:[a.jsxs(Ee,{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":B,"aria-label":`${Af(L,C)} (${N})`,onKeyDown:U=>{if(U.key==="Enter"||U.key===" "){U.preventDefault();const $=new Set(A);$.has(L)?$.delete(L):$.add(L),i(Array.from($))}},onMouseEnter:U=>{U.currentTarget.style.background="var(--lotus-sidebar-item-hover-bg, rgba(204, 251, 241, 0.76))",U.currentTarget.style.borderColor="transparent";const $=U.currentTarget.querySelector(".chat-sidebar-date-group-delete");$&&($.style.opacity="1")},onMouseLeave:U=>{U.currentTarget.style.background="transparent",U.currentTarget.style.borderColor="transparent";const $=U.currentTarget.querySelector(".chat-sidebar-date-group-delete");$&&($.style.opacity="0")},onClick:()=>{const U=new Set(A);U.has(L)?U.delete(L):U.add(L),i(Array.from(U))},className:"chat-sidebar-date-group-header",children:[a.jsxs(Ee,{align:"center",gap:"small",style:{minWidth:0},children:[B?a.jsx(ws,{style:{fontSize:12,opacity:.6}}):a.jsx(Kr,{style:{fontSize:12,opacity:.6}}),a.jsxs("span",{style:{fontSize:10.5,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.3px",color:L==="Today"?"var(--lotus-primary)":T.colorTextSecondary,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[Af(L,C)," (",N,")"]})]}),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ml,{}),className:"chat-sidebar-date-group-delete",style:{color:T.colorTextTertiary,opacity:0,transition:"opacity 0.2s ease"},onClick:U=>{U.stopPropagation(),h(L)}})]}),B?a.jsx("div",{style:{marginTop:2},children:a.jsx(Mr,{itemLayout:"horizontal",dataSource:F,split:!1,renderItem:U=>{var $,ee,J,Q,pe,I;return a.jsxs("div",{children:[a.jsxs(Ee,{align:"center",gap:6,style:{padding:"4px 8px"},children:[($=t[U.id])!=null&&$.length?a.jsx(Ae,{size:"small",type:"text",style:{padding:0,width:18,minWidth:18,height:18},"aria-label":n.has(U.id)?C("chat.sidebar.actions.collapseChildren"):C("chat.sidebar.actions.expandChildren"),onClick:ie=>{ie.preventDefault(),ie.stopPropagation(),r(U.id)},children:n.has(U.id)?a.jsx(ws,{style:{fontSize:12}}):a.jsx(Kr,{style:{fontSize:12}})}):a.jsx("div",{style:{width:18}}),a.jsx("div",{style:{flex:1,minWidth:0,marginLeft:-8},children:a.jsx(lu,{chat:U,compact:!0,isSelected:U.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((ee=k[U.id])==null?void 0:ee.status)==="loading",isRunningProjectDream:((J=P[U.id])==null?void 0:J.status)==="loading",titleGenerationError:((Q=k[U.id])==null?void 0:Q.status)==="error"?(pe=k[U.id])==null?void 0:pe.error:void 0})})]}),n.has(U.id)&&(((I=t[U.id])==null?void 0:I.length)??0)>0?a.jsx("div",{style:{marginLeft:18,marginTop:1},children:a.jsx(Mr,{itemLayout:"horizontal",dataSource:t[U.id],split:!1,renderItem:ie=>{var be,oe,ge,de;return a.jsx("div",{style:{paddingLeft:8,borderLeft:`1px solid ${T.colorBorderSecondary}`,marginLeft:2},children:a.jsx(lu,{chat:ie,compact:!0,isSelected:ie.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((be=k[ie.id])==null?void 0:be.status)==="loading",isRunningProjectDream:((oe=P[ie.id])==null?void 0:oe.status)==="loading",titleGenerationError:((ge=k[ie.id])==null?void 0:ge.status)==="error"?(de=k[ie.id])==null?void 0:de.error:void 0})},ie.id)}})}):null]},U.id)}})}):null]},L)})})},If=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},_x=e=>e?If(e):If,kx=e=>e;function Cx(e,t=kx){const n=ft.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return ft.useDebugValue(n),n}const Of=e=>{const t=_x(e),n=r=>Cx(t,r);return Object.assign(n,t),n},Jr=e=>e?Of(e):Of,Tx="copilot_ui_theme_v1";function Px(){var e;try{const t=localStorage.getItem(Tx);if(t==="light"||t==="dark")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const pl=Jr(e=>({themeMode:Px(),setThemeMode:t=>e({themeMode:t}),toggleTheme:()=>e(t=>({themeMode:t.themeMode==="dark"?"light":"dark"}))})),Ex="2026.5.18",Mx={version:Ex},jx=Mx.version,{Text:Rx}=dt,Ax=({collapsed:e,onNewChat:t,onOpenSettings:n,token:r})=>{const{t:s}=Ve(),o=pl(h=>h.themeMode),i=pl(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(Ee,{vertical:!0,gap:e?"small":10,style:{padding:e?10:12,background:"transparent",borderTop:`1px solid ${r.colorBorderSecondary}`},children:[a.jsx(Ae,{"data-testid":"new-chat","data-tour-id":"new-session",type:"primary",icon:a.jsx(od,{}),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(Ee,{gap:6,align:"center",children:[a.jsx(Ae,{"data-testid":"open-settings","data-tour-id":"open-settings",icon:a.jsx(jl,{}),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(wn,{title:d,placement:"top",children:a.jsx(Ae,{"data-testid":"toggle-theme",type:"text",icon:o==="dark"?a.jsx(MS,{}):a.jsx(jS,{}),onClick:i,"aria-label":d,className:"lotus-toolbar-icon",style:{width:36,height:36,borderRadius:r.borderRadiusLG,flexShrink:0}})})]}),!e&&a.jsxs(Rx,{type:"secondary","data-testid":"app-version-badge",style:{fontSize:11,textAlign:"center",userSelect:"text"},children:[s("settings.appTab.runningVersion","Running version"),": v",jx]})]})},$f=e=>Symbol.iterator in e,Lf=e=>"entries"in e,Ff=(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},Ix=(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 Ox(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:$f(e)&&$f(t)?Lf(e)&&Lf(t)?Ff(e,t):Ix(e,t):Ff({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Ii(e){const t=ft.useRef(void 0);return n=>{const r=e(n);return Ox(t.current,r)?t.current:t.current=r}}const Cg=()=>!1,Tg=e=>{if(!Cg())return!1;try{return localStorage.getItem(e)==="1"}catch{return!1}},$x=()=>Tg("bodhi_debug_ui_layout"),Kn=(e,t)=>{$x()&&console.log(`[ui-layout] ${e}`,t??"")},je=(e,t,...n)=>{Cg()&&Tg("bodhi_debug_verbose")&&console.log(`${e} ${t}`,...n)};var yc={};const bc="copilot_backend_base_url",Pg="http://127.0.0.1:9562/v1",Lx=9562,_s=e=>e.trim().replace(/\/+$/,""),Fx=()=>{const t=yc==null?void 0:yc.VITE_BACKEND_BASE_URL;return t?_s(t):null},Qi=()=>{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}},dd=e=>{const t=e.trim().toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"},Dx=(e=Qi())=>(e==null?void 0:e.protocol.toLowerCase())==="https:",Nx=e=>{try{return new URL(_s(e)).protocol.toLowerCase()==="http:"}catch{return!1}},Bx=e=>{try{const t=new URL(_s(e));return dd(t.hostname)}catch{return!1}},zx=(e=Qi())=>{if(!e)return null;const t=e.protocol.toLowerCase(),n=e.hostname.trim();return n?t==="https:"?_s(`https://${n}/v1`):t==="http:"?_s(`http://${n}/v1`):null:null},Wx=(e,t=Qi())=>{if(!t)return!1;const n=t.hostname.trim();return n?Dx(t)&&Nx(e)?!0:dd(n)?!1:Bx(e):!1},Ux=(e=Qi())=>{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:"?zx(e):dd(n)?Pg:_s(`http://${n}:${Lx}/v1`):null},qx=()=>{const e=Fx();return e||(Ux()??Pg)},Es=()=>{const e=Qi(),t=localStorage.getItem(bc);if(t){const n=_s(t);if(Wx(n,e))console.warn("Ignoring stored backend override because it is incompatible with the current page origin:",n),localStorage.removeItem(bc);else try{return new URL(n),n}catch{console.warn("Invalid stored backend URL, using default:",n),localStorage.removeItem(bc)}}return qx()};class zi extends Error{constructor(t,n,r,s){super(t),this.status=n,this.statusText=r,this.body=s,this.name="ApiError"}}function uI(e){return e instanceof zi}class fd{constructor(t={}){Et(this,"baseUrl");Et(this,"defaultHeaders");this.baseUrl=t.baseUrl??this.resolveBaseUrl(),this.defaultHeaders=t.defaultHeaders??{"Content-Type":"application/json"}}resolveBaseUrl(){const t=Es().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 zi(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 zi(`API request failed: ${s.statusText}`,s.status,s.statusText);return s}}const rt=new fd,xt=new fd({baseUrl:(()=>{let e=Es().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`})()}),Hx=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,Yx=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,Xx=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}},Kx=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}))}),Vx=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}))}),ka=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}),fs=class fs{static getInstance(){return fs.instance||(fs.instance=new fs),fs.instance}async sendMessage(t){var r,s,o;je("[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 xt.post("chat",t);return je("[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),je("[AgentClient]","execute.request",{sessionId:t,model:i.model??null,reasoningEffort:i.reasoning_effort??null,modelRef:i.model_ref??null,provider:i.provider??null,clientSync:Hx(i.client_sync)});const l=await xt.post(`execute/${t}`,i);return je("[AgentClient]","execute.response",{sessionId:t,status:l.status,runId:l.run_id??null,eventsUrl:l.events_url,sync:Yx(l.sync)}),l}async listSessions(){je("[AgentClient]","sessions.list.request",{});const t=await xt.get("sessions");return je("[AgentClient]","sessions.list.response",Kx(t.sessions)),t}async getTaskList(t){const n=encodeURIComponent(t),r=await xt.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 xt.post("sessions",t)}async patchSession(t,n){const r=encodeURIComponent(t);await xt.patch(`sessions/${r}`,n)}async regenerateSessionTitle(t){const n=encodeURIComponent(t);await xt.post(`sessions/${n}/regenerate-title`)}async getSessionSystemPrompt(t){const n=encodeURIComponent(t);return xt.get(`sessions/${n}/system-prompt`)}async clearSession(t){const n=encodeURIComponent(t);await xt.post(`sessions/${n}/clear`)}async runProjectDream(t){const n=encodeURIComponent(t);return xt.post(`sessions/${n}/project-dream/run`)}async truncateSessionMessages(t,n){const r=encodeURIComponent(t);return xt.post(`sessions/${r}/messages/truncate`,n)}async restoreSessionState(t,n){const r=encodeURIComponent(t);return xt.post(`sessions/${r}/restore`,n)}async patchSessionMessage(t,n,r){const s=encodeURIComponent(t),o=encodeURIComponent(n);await xt.patch(`sessions/${s}/messages/${o}`,r)}async deleteSessionMessage(t,n){const r=encodeURIComponent(t),s=encodeURIComponent(n);await xt.delete(`sessions/${r}/messages/${s}`)}async cleanupSessions(t,n){await xt.post("sessions/cleanup",{mode:t,keep_pinned:n})}async devResetSessions(){await xt.post("dev/reset")}async getRunningSessions(){je("[AgentClient]","runs.active.request",{});const t=await xt.get("runs/active");return je("[AgentClient]","runs.active.response",Vx(t)),t}async listSchedules(){return xt.get("schedules")}async createSchedule(t){return xt.post("schedules",t)}async patchSchedule(t,n){const r=encodeURIComponent(t);return xt.patch(`schedules/${r}`,n)}async deleteSchedule(t){const n=encodeURIComponent(t);await xt.delete(`schedules/${n}`)}async runScheduleNow(t){const n=encodeURIComponent(t);await xt.post(`schedules/${n}/run`)}async listScheduleSessions(t){const n=encodeURIComponent(t);return xt.get(`schedules/${n}/sessions`)}async listScheduleRuns(t){const n=encodeURIComponent(t);return xt.get(`schedules/${n}/runs`)}async subscribeToEvents(t,n,r){const s=r==null?void 0:r.signal;je("[AgentClient]","events.subscribe.request",{sessionId:t});const o=Es().trim().replace(/\/+$/,""),l=`${o.endsWith("/v1")?o.slice(0,-3):o}/api/v1/events/${encodeURIComponent(t)}`;return je("[AgentClient]","events.subscribe.url",{sessionId:t,eventsUrl:l}),await new Promise((u,d)=>{if(s!=null&&s.aborted){je("[AgentClient]","events.subscribe.aborted_before_connect",{sessionId:t}),u();return}let h=!1,m=!1,b=null;const v=()=>{je("[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,je("[AgentClient]","events.subscribe.resolve",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),w(),u())},k=P=>{h||(h=!0,je("[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=()=>{je("[AgentClient]","events.subscribe.open",{sessionId:t})},b.onmessage=P=>{const T=P.data;if(T==="[DONE]"){m=!0,je("[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")&&je("[AgentClient]","events.subscribe.event",{sessionId:t,...ka(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(je("[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,L,F,N,B,U,$,ee,J,Q,pe,I;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 ie=t.status;if(!(ie==="pending"||ie==="in_progress"||ie==="completed"||ie==="blocked"))break;(h=n.onTaskListItemProgress)==null||h.call(n,{session_id:t.session_id,item_id:t.item_id,status:ie,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":(L=n.onExecutionStarted)==null||L.call(n,t.run_id||"",t.started_at);break;case"runner_progress":t.session_id&&typeof t.round_count=="number"&&((F=n.onRunnerProgress)==null||F.call(n,t.session_id,t.round_count));break;case"need_clarification":(N=n.onNeedClarification)==null||N.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"&&((B=n.onSessionTitleUpdated)==null||B.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"&&((U=n.onSessionPinnedUpdated)==null||U.call(n,{type:"session_pinned_updated",session_id:t.session_id,pinned:t.pinned,updated_at:t.updated_at}));break;case"plan_mode_entered":($=n.onPlanModeEntered)==null||$.call(n,t);break;case"plan_mode_exited":(ee=n.onPlanModeExited)==null||ee.call(n,t);break;case"plan_file_updated":(J=n.onPlanFileUpdated)==null||J.call(n,t);break;case"complete":je("[AgentClient]","events.dispatch.complete",ka(t)),(Q=n.onComplete)==null||Q.call(n,t.usage);break;case"cancelled":je("[AgentClient]","events.dispatch.cancelled",ka(t)),(pe=n.onCancelled)==null||pe.call(n,t.message);break;case"error":je("[AgentClient]","events.dispatch.error",ka(t)),(I=n.onError)==null||I.call(n,t.message||t.error||"Unknown error");break;default:console.warn("Unknown event type:",t)}}async stopGeneration(t){await xt.post(`stop/${t}`)}async deleteSession(t){const n=encodeURIComponent(t);await xt.delete(`sessions/${n}`)}async getHistory(t){je("[AgentClient]","history.request",{sessionId:t});const n=await xt.get(`history/${t}`);return je("[AgentClient]","history.response",Xx(n)),n}async healthCheck(){try{return await xt.get("health"),!0}catch{return!1}}};Et(fs,"instance");let Qn=fs;const Js=Qn.getInstance(),Df="provider",Oi=Jr(e=>({isOpen:!1,origin:"chat",activeTabKey:Df,open:(t,n=Df)=>e({isOpen:!0,origin:t,activeTabKey:n}),close:()=>e({isOpen:!1}),setActiveTabKey:t=>e({activeTabKey:t})})),Nf={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Wi=new Map,Ca=e=>{const t=Wi.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,r])=>[n,r.getState()])):{}},Gx=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};const r=Wi.get(n.name);if(r)return{type:"tracked",store:e,...r};const s={connection:t.connect(n),stores:{}};return Wi.set(n.name,s),{type:"tracked",store:e,...s}},Jx=(e,t)=>{if(t===void 0)return;const n=Wi.get(e);n&&(delete n.stores[t],Object.keys(n.stores).length===0&&Wi.delete(e))},Qx=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-CAQ3YTCz.js","./vendor-markdown-DZuK0SxV.js","./vendor-i18n-BNURlJ23.js","./vendor-antd-C8lKwvI6.js","./vendor-mermaid-C1Gk9PtT.js","./main-Bx_fLxV8.js","./main-B6snAd4S.css","./index-Bcpx4-c6.js","./index-C8TiuUqm.js","./index-Bi-vGirQ.css","./index-Cj2Jmnr0.js","./index-BBEDlZ5R.js","./index-BmjFP0ha.js","./core-Cfh-QHsP.js","./index-_XI0Qq6F.js","./vendor-pdf-DB-djSmA.js","./index-DNvloxwu.js","./index-DNsNCcgt.css","./index-BekDgOIT.js","./index-B6OABT-M.css","./index-DPgfFTH0.js","./MetricsService-CIUJS8Ow.js","./index-D9ODTr93.css","./index-CWDkpwMB.js","./SubAgentsPanel-ByOD_VrF.js","./index-DdEEn03o.js","./index-AIUPRSCn.css","./index-JLScRSdR.js","./onboardingStorage-BVcEpmTy.js","./vendor-charts-bhMup2Pu.js","./index-Dggksxfu.js","./index-CLYKYSO0.css","./FeatureGuide-BlFyQEho.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var bS=Object.defineProperty;var vS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Et=(e,t,n)=>vS(e,typeof t!="symbol"?t+"":t,n);import{j as a,M as xr,S as dn,a as rg,t as sg,p as og,b as SS,c as ed,d as xS,m as ig,s as wS,y as ag,e as lg,h as dl,f as td,r as nd,g as rd,i as cg}from"./vendor-markdown-DZuK0SxV.js";import{a as y,u as Ve,R as ft,i as wt,c as _S,g as Cs}from"./vendor-i18n-BNURlJ23.js";import{_ as Gt,cq as sd}from"./vendor-mermaid-C1Gk9PtT.js";import{t as ct,o as Tf,p as kS,Q as CS,as as xs,aY as ug,aZ as TS,V as Ml,E as Ae,ap as PS,G as Ts,ak as eo,a_ as ES,L as Mr,X as Ps,a$ as dg,H as ou,S as He,F as Ee,u as ws,q as Kr,O as od,Y as jl,n as wn,b0 as MS,b1 as jS,j as dt,M as Dn,W as Va,a0 as RS,a4 as iu,b2 as AS,b3 as Rl,b4 as fg,J as id,b5 as au,b6 as to,b7 as IS,b8 as OS,D as fl,k as $S,y as hg,b9 as LS,ba as FS,K as no,aj as DS,l as Je,a2 as NS,v as pg,A as or,C as tn,bb as Al,bc as mg,ao as BS,ac as zS,w as ad,aE as gg,bd as WS,be as US,bf as qS,bg as HS,z as ro,bh as YS,bi as XS,ah as ld,ai as jr,at as hl,aD as io,bj as KS,bk as yg,bl as bg,ad as cd,a7 as VS,m as Il,a9 as Pf,aA as GS,I as Ef,P as vg,aS as Sg,aK as JS,av as QS,af as ZS,bm as ex,bn as tx,ar as nx,aF as rx,bo as sx,bp as ox,bq as ix,br as ax,B as lx,aW as Xs,bs as xg,bt as cx,bu as wg,a5 as ud,bv as ux,bw as dx,$ as fx,bx as Mf,by as jf}from"./vendor-antd-C8lKwvI6.js";import{r as hx,A as px,a as mx}from"./main-Bx_fLxV8.js";function _g(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 Ol(){return _g("(max-width: 768px)")}const gx=({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}=Ve(),[w,S]=y.useState(!1),[k,P]=y.useState(e.title),[T,j]=y.useState(!1),[C,E]=y.useState(!1),{token:A}=ct.useToken(),L=y.useCallback(J=>{J.stopPropagation(),l&&k.trim()&&l(e.id,k.trim()),S(!1)},[e.id,k,l]),F=y.useCallback(J=>{J.stopPropagation(),P(e.title),S(!1)},[e.title]),N=[{key:"pin",icon:e.pinned?a.jsx(Tf,{style:{color:A.colorWarning}}):a.jsx(kS,{}),label:e.pinned?v("chat.actions.unpin"):v("chat.actions.pin"),onClick:({domEvent:J})=>{J.stopPropagation(),e.pinned?i(e.id):o(e.id)}},{key:"edit",icon:a.jsx(CS,{}),label:v("chat.chatItem.edit"),onClick:({domEvent:J})=>{J.stopPropagation(),S(!0)}},...u?[{key:"generate-title",icon:h?a.jsx(xs,{}):a.jsx(ug,{style:b?{color:A.colorError}:void 0}),label:b||v("chat.actions.generateTitle"),disabled:h,onClick:({domEvent:J})=>{J.stopPropagation(),u(e.id)}}]:[],...d?[{key:"run-project-dream",icon:m?a.jsx(xs,{}):a.jsx(TS,{}),label:v("chat.actions.runProjectDream"),disabled:m,onClick:({domEvent:J})=>{J.stopPropagation(),d(e.id)}}]:[],{type:"divider"},{key:"delete",icon:a.jsx(Ml,{}),label:v("common.delete"),danger:!0,onClick:({domEvent:J})=>{J.stopPropagation(),s(e.id)}}],B={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},U={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},$={flex:1,fontSize:A.fontSizeSM,marginRight:A.marginSM},ee=w?[a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(PS,{style:{color:A.colorSuccess}}),onClick:L,"aria-label":v("common.save")},"save"),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ts,{style:{color:A.colorError}}),onClick:F,"aria-label":v("common.cancel")},"cancel")]:T||C?[a.jsx(eo,{menu:{items:N,className:"lotus-sidebar-actions-menu"},trigger:["click"],placement:"bottomRight",overlayClassName:"lotus-sidebar-actions-dropdown",open:C,onOpenChange:J=>E(J),children:a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(ES,{}),"aria-label":v("common.moreActions","More actions"),onClick:J=>J.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(Mr.Item,{style:B,tabIndex:0,onClick:()=>!w&&r(e.id),onKeyDown:J=>{J.key==="Enter"&&!w?(J.preventDefault(),r(e.id)):(J.key==="Delete"||J.key==="Backspace")&&!w&&J.metaKey&&(J.preventDefault(),s(e.id))},onMouseEnter:()=>j(!0),onMouseLeave:()=>{C||j(!1)},onFocus:()=>j(!0),onBlur:()=>{C||j(!1)},actions:ee,"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(Ps,{value:k,onChange:J=>P(J.target.value),onClick:J=>J.stopPropagation(),onPressEnter:J=>{J.preventDefault(),L(J)},autoFocus:!0,style:$,variant:"borderless",size:"small"}):a.jsxs("div",{style:{...U,display:"flex",alignItems:"center",gap:n?4:A.marginXS,minWidth:0},children:[e.pinned&&a.jsx(Tf,{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(dg,{}),v("chat.planMode.badge","Plan")]}):null]})})})},yx=(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,lu=y.memo(gx,yx);lu.displayName="ChatItem";const Rf=e=>({Today:0,Yesterday:1,"This Week":2,"This Month":3})[e]??4,bx=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},vx=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:Rf(n)-Rf(r)})},Sx=(e,t)=>e[t]?e[t].map(n=>n.id):[],kg=(e,t)=>e[t]?e[t].length:0,xx=e=>e.createdByScheduleId?"Scheduled":new Date(e.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),Af=(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},wx=({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}=Ve(),E=y.useMemo(()=>s.length?s.map(L=>{const F=e[L],N=kg(e,L);return{dateKey:L,dateGroup:F,totalChatsInDate:N}}):[],[e,s]);if(!s.length)return a.jsx(ou,{image:ou.PRESENTED_IMAGE_SIMPLE,description:a.jsxs(He,{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(Ae,{size:"small",type:"link",onClick:()=>{var F;const L=document.querySelector('[data-testid="sidebar-search-input"] input, .lotus-sidebar-search input');if(L){const N=(F=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:F.set;N==null||N.call(L,""),L.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:L,dateGroup:F,totalChatsInDate:N})=>{const B=A.has(L);return a.jsxs("div",{style:{borderRadius:T.borderRadiusSM,background:"transparent",padding:0},children:[a.jsxs(Ee,{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":B,"aria-label":`${Af(L,C)} (${N})`,onKeyDown:U=>{if(U.key==="Enter"||U.key===" "){U.preventDefault();const $=new Set(A);$.has(L)?$.delete(L):$.add(L),i(Array.from($))}},onMouseEnter:U=>{U.currentTarget.style.background="var(--lotus-sidebar-item-hover-bg, rgba(204, 251, 241, 0.76))",U.currentTarget.style.borderColor="transparent";const $=U.currentTarget.querySelector(".chat-sidebar-date-group-delete");$&&($.style.opacity="1")},onMouseLeave:U=>{U.currentTarget.style.background="transparent",U.currentTarget.style.borderColor="transparent";const $=U.currentTarget.querySelector(".chat-sidebar-date-group-delete");$&&($.style.opacity="0")},onClick:()=>{const U=new Set(A);U.has(L)?U.delete(L):U.add(L),i(Array.from(U))},className:"chat-sidebar-date-group-header",children:[a.jsxs(Ee,{align:"center",gap:"small",style:{minWidth:0},children:[B?a.jsx(ws,{style:{fontSize:12,opacity:.6}}):a.jsx(Kr,{style:{fontSize:12,opacity:.6}}),a.jsxs("span",{style:{fontSize:10.5,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.3px",color:L==="Today"?"var(--lotus-primary)":T.colorTextSecondary,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[Af(L,C)," (",N,")"]})]}),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ml,{}),className:"chat-sidebar-date-group-delete",style:{color:T.colorTextTertiary,opacity:0,transition:"opacity 0.2s ease"},onClick:U=>{U.stopPropagation(),h(L)}})]}),B?a.jsx("div",{style:{marginTop:2},children:a.jsx(Mr,{itemLayout:"horizontal",dataSource:F,split:!1,renderItem:U=>{var $,ee,J,Q,pe,I;return a.jsxs("div",{children:[a.jsxs(Ee,{align:"center",gap:6,style:{padding:"4px 8px"},children:[($=t[U.id])!=null&&$.length?a.jsx(Ae,{size:"small",type:"text",style:{padding:0,width:18,minWidth:18,height:18},"aria-label":n.has(U.id)?C("chat.sidebar.actions.collapseChildren"):C("chat.sidebar.actions.expandChildren"),onClick:ie=>{ie.preventDefault(),ie.stopPropagation(),r(U.id)},children:n.has(U.id)?a.jsx(ws,{style:{fontSize:12}}):a.jsx(Kr,{style:{fontSize:12}})}):a.jsx("div",{style:{width:18}}),a.jsx("div",{style:{flex:1,minWidth:0,marginLeft:-8},children:a.jsx(lu,{chat:U,compact:!0,isSelected:U.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((ee=k[U.id])==null?void 0:ee.status)==="loading",isRunningProjectDream:((J=P[U.id])==null?void 0:J.status)==="loading",titleGenerationError:((Q=k[U.id])==null?void 0:Q.status)==="error"?(pe=k[U.id])==null?void 0:pe.error:void 0})})]}),n.has(U.id)&&(((I=t[U.id])==null?void 0:I.length)??0)>0?a.jsx("div",{style:{marginLeft:18,marginTop:1},children:a.jsx(Mr,{itemLayout:"horizontal",dataSource:t[U.id],split:!1,renderItem:ie=>{var be,oe,ge,de;return a.jsx("div",{style:{paddingLeft:8,borderLeft:`1px solid ${T.colorBorderSecondary}`,marginLeft:2},children:a.jsx(lu,{chat:ie,compact:!0,isSelected:ie.id===l,onSelect:u,onDelete:d,onPin:m,onUnpin:b,onEdit:v,onGenerateTitle:w,onRunProjectDream:S,isGeneratingTitle:((be=k[ie.id])==null?void 0:be.status)==="loading",isRunningProjectDream:((oe=P[ie.id])==null?void 0:oe.status)==="loading",titleGenerationError:((ge=k[ie.id])==null?void 0:ge.status)==="error"?(de=k[ie.id])==null?void 0:de.error:void 0})},ie.id)}})}):null]},U.id)}})}):null]},L)})})},If=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},_x=e=>e?If(e):If,kx=e=>e;function Cx(e,t=kx){const n=ft.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return ft.useDebugValue(n),n}const Of=e=>{const t=_x(e),n=r=>Cx(t,r);return Object.assign(n,t),n},Jr=e=>e?Of(e):Of,Tx="copilot_ui_theme_v1";function Px(){var e;try{const t=localStorage.getItem(Tx);if(t==="light"||t==="dark")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const pl=Jr(e=>({themeMode:Px(),setThemeMode:t=>e({themeMode:t}),toggleTheme:()=>e(t=>({themeMode:t.themeMode==="dark"?"light":"dark"}))})),Ex="2026.5.19",Mx={version:Ex},jx=Mx.version,{Text:Rx}=dt,Ax=({collapsed:e,onNewChat:t,onOpenSettings:n,token:r})=>{const{t:s}=Ve(),o=pl(h=>h.themeMode),i=pl(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(Ee,{vertical:!0,gap:e?"small":10,style:{padding:e?10:12,background:"transparent",borderTop:`1px solid ${r.colorBorderSecondary}`},children:[a.jsx(Ae,{"data-testid":"new-chat","data-tour-id":"new-session",type:"primary",icon:a.jsx(od,{}),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(Ee,{gap:6,align:"center",children:[a.jsx(Ae,{"data-testid":"open-settings","data-tour-id":"open-settings",icon:a.jsx(jl,{}),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(wn,{title:d,placement:"top",children:a.jsx(Ae,{"data-testid":"toggle-theme",type:"text",icon:o==="dark"?a.jsx(MS,{}):a.jsx(jS,{}),onClick:i,"aria-label":d,className:"lotus-toolbar-icon",style:{width:36,height:36,borderRadius:r.borderRadiusLG,flexShrink:0}})})]}),!e&&a.jsxs(Rx,{type:"secondary","data-testid":"app-version-badge",style:{fontSize:11,textAlign:"center",userSelect:"text"},children:[s("settings.appTab.runningVersion","Running version"),": v",jx]})]})},$f=e=>Symbol.iterator in e,Lf=e=>"entries"in e,Ff=(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},Ix=(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 Ox(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:$f(e)&&$f(t)?Lf(e)&&Lf(t)?Ff(e,t):Ix(e,t):Ff({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Ii(e){const t=ft.useRef(void 0);return n=>{const r=e(n);return Ox(t.current,r)?t.current:t.current=r}}const Cg=()=>!1,Tg=e=>{if(!Cg())return!1;try{return localStorage.getItem(e)==="1"}catch{return!1}},$x=()=>Tg("bodhi_debug_ui_layout"),Kn=(e,t)=>{$x()&&console.log(`[ui-layout] ${e}`,t??"")},je=(e,t,...n)=>{Cg()&&Tg("bodhi_debug_verbose")&&console.log(`${e} ${t}`,...n)};var yc={};const bc="copilot_backend_base_url",Pg="http://127.0.0.1:9562/v1",Lx=9562,_s=e=>e.trim().replace(/\/+$/,""),Fx=()=>{const t=yc==null?void 0:yc.VITE_BACKEND_BASE_URL;return t?_s(t):null},Qi=()=>{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}},dd=e=>{const t=e.trim().toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"},Dx=(e=Qi())=>(e==null?void 0:e.protocol.toLowerCase())==="https:",Nx=e=>{try{return new URL(_s(e)).protocol.toLowerCase()==="http:"}catch{return!1}},Bx=e=>{try{const t=new URL(_s(e));return dd(t.hostname)}catch{return!1}},zx=(e=Qi())=>{if(!e)return null;const t=e.protocol.toLowerCase(),n=e.hostname.trim();return n?t==="https:"?_s(`https://${n}/v1`):t==="http:"?_s(`http://${n}/v1`):null:null},Wx=(e,t=Qi())=>{if(!t)return!1;const n=t.hostname.trim();return n?Dx(t)&&Nx(e)?!0:dd(n)?!1:Bx(e):!1},Ux=(e=Qi())=>{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:"?zx(e):dd(n)?Pg:_s(`http://${n}:${Lx}/v1`):null},qx=()=>{const e=Fx();return e||(Ux()??Pg)},Es=()=>{const e=Qi(),t=localStorage.getItem(bc);if(t){const n=_s(t);if(Wx(n,e))console.warn("Ignoring stored backend override because it is incompatible with the current page origin:",n),localStorage.removeItem(bc);else try{return new URL(n),n}catch{console.warn("Invalid stored backend URL, using default:",n),localStorage.removeItem(bc)}}return qx()};class zi extends Error{constructor(t,n,r,s){super(t),this.status=n,this.statusText=r,this.body=s,this.name="ApiError"}}function uI(e){return e instanceof zi}class fd{constructor(t={}){Et(this,"baseUrl");Et(this,"defaultHeaders");this.baseUrl=t.baseUrl??this.resolveBaseUrl(),this.defaultHeaders=t.defaultHeaders??{"Content-Type":"application/json"}}resolveBaseUrl(){const t=Es().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 zi(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 zi(`API request failed: ${s.statusText}`,s.status,s.statusText);return s}}const rt=new fd,xt=new fd({baseUrl:(()=>{let e=Es().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`})()}),Hx=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,Yx=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,Xx=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}},Kx=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}))}),Vx=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}))}),ka=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}),fs=class fs{static getInstance(){return fs.instance||(fs.instance=new fs),fs.instance}async sendMessage(t){var r,s,o;je("[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 xt.post("chat",t);return je("[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),je("[AgentClient]","execute.request",{sessionId:t,model:i.model??null,reasoningEffort:i.reasoning_effort??null,modelRef:i.model_ref??null,provider:i.provider??null,clientSync:Hx(i.client_sync)});const l=await xt.post(`execute/${t}`,i);return je("[AgentClient]","execute.response",{sessionId:t,status:l.status,runId:l.run_id??null,eventsUrl:l.events_url,sync:Yx(l.sync)}),l}async listSessions(){je("[AgentClient]","sessions.list.request",{});const t=await xt.get("sessions");return je("[AgentClient]","sessions.list.response",Kx(t.sessions)),t}async getTaskList(t){const n=encodeURIComponent(t),r=await xt.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 xt.post("sessions",t)}async patchSession(t,n){const r=encodeURIComponent(t);await xt.patch(`sessions/${r}`,n)}async regenerateSessionTitle(t){const n=encodeURIComponent(t);await xt.post(`sessions/${n}/regenerate-title`)}async getSessionSystemPrompt(t){const n=encodeURIComponent(t);return xt.get(`sessions/${n}/system-prompt`)}async clearSession(t){const n=encodeURIComponent(t);await xt.post(`sessions/${n}/clear`)}async runProjectDream(t){const n=encodeURIComponent(t);return xt.post(`sessions/${n}/project-dream/run`)}async truncateSessionMessages(t,n){const r=encodeURIComponent(t);return xt.post(`sessions/${r}/messages/truncate`,n)}async restoreSessionState(t,n){const r=encodeURIComponent(t);return xt.post(`sessions/${r}/restore`,n)}async patchSessionMessage(t,n,r){const s=encodeURIComponent(t),o=encodeURIComponent(n);await xt.patch(`sessions/${s}/messages/${o}`,r)}async deleteSessionMessage(t,n){const r=encodeURIComponent(t),s=encodeURIComponent(n);await xt.delete(`sessions/${r}/messages/${s}`)}async cleanupSessions(t,n){await xt.post("sessions/cleanup",{mode:t,keep_pinned:n})}async devResetSessions(){await xt.post("dev/reset")}async getRunningSessions(){je("[AgentClient]","runs.active.request",{});const t=await xt.get("runs/active");return je("[AgentClient]","runs.active.response",Vx(t)),t}async listSchedules(){return xt.get("schedules")}async createSchedule(t){return xt.post("schedules",t)}async patchSchedule(t,n){const r=encodeURIComponent(t);return xt.patch(`schedules/${r}`,n)}async deleteSchedule(t){const n=encodeURIComponent(t);await xt.delete(`schedules/${n}`)}async runScheduleNow(t){const n=encodeURIComponent(t);await xt.post(`schedules/${n}/run`)}async listScheduleSessions(t){const n=encodeURIComponent(t);return xt.get(`schedules/${n}/sessions`)}async listScheduleRuns(t){const n=encodeURIComponent(t);return xt.get(`schedules/${n}/runs`)}async subscribeToEvents(t,n,r){const s=r==null?void 0:r.signal;je("[AgentClient]","events.subscribe.request",{sessionId:t});const o=Es().trim().replace(/\/+$/,""),l=`${o.endsWith("/v1")?o.slice(0,-3):o}/api/v1/events/${encodeURIComponent(t)}`;return je("[AgentClient]","events.subscribe.url",{sessionId:t,eventsUrl:l}),await new Promise((u,d)=>{if(s!=null&&s.aborted){je("[AgentClient]","events.subscribe.aborted_before_connect",{sessionId:t}),u();return}let h=!1,m=!1,b=null;const v=()=>{je("[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,je("[AgentClient]","events.subscribe.resolve",{sessionId:t,terminalSeen:m,aborted:(s==null?void 0:s.aborted)??!1}),w(),u())},k=P=>{h||(h=!0,je("[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=()=>{je("[AgentClient]","events.subscribe.open",{sessionId:t})},b.onmessage=P=>{const T=P.data;if(T==="[DONE]"){m=!0,je("[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")&&je("[AgentClient]","events.subscribe.event",{sessionId:t,...ka(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(je("[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,L,F,N,B,U,$,ee,J,Q,pe,I;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 ie=t.status;if(!(ie==="pending"||ie==="in_progress"||ie==="completed"||ie==="blocked"))break;(h=n.onTaskListItemProgress)==null||h.call(n,{session_id:t.session_id,item_id:t.item_id,status:ie,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":(L=n.onExecutionStarted)==null||L.call(n,t.run_id||"",t.started_at);break;case"runner_progress":t.session_id&&typeof t.round_count=="number"&&((F=n.onRunnerProgress)==null||F.call(n,t.session_id,t.round_count));break;case"need_clarification":(N=n.onNeedClarification)==null||N.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"&&((B=n.onSessionTitleUpdated)==null||B.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"&&((U=n.onSessionPinnedUpdated)==null||U.call(n,{type:"session_pinned_updated",session_id:t.session_id,pinned:t.pinned,updated_at:t.updated_at}));break;case"plan_mode_entered":($=n.onPlanModeEntered)==null||$.call(n,t);break;case"plan_mode_exited":(ee=n.onPlanModeExited)==null||ee.call(n,t);break;case"plan_file_updated":(J=n.onPlanFileUpdated)==null||J.call(n,t);break;case"complete":je("[AgentClient]","events.dispatch.complete",ka(t)),(Q=n.onComplete)==null||Q.call(n,t.usage);break;case"cancelled":je("[AgentClient]","events.dispatch.cancelled",ka(t)),(pe=n.onCancelled)==null||pe.call(n,t.message);break;case"error":je("[AgentClient]","events.dispatch.error",ka(t)),(I=n.onError)==null||I.call(n,t.message||t.error||"Unknown error");break;default:console.warn("Unknown event type:",t)}}async stopGeneration(t){await xt.post(`stop/${t}`)}async deleteSession(t){const n=encodeURIComponent(t);await xt.delete(`sessions/${n}`)}async getHistory(t){je("[AgentClient]","history.request",{sessionId:t});const n=await xt.get(`history/${t}`);return je("[AgentClient]","history.response",Xx(n)),n}async healthCheck(){try{return await xt.get("health"),!0}catch{return!1}}};Et(fs,"instance");let Qn=fs;const Js=Qn.getInstance(),Df="provider",Oi=Jr(e=>({isOpen:!1,origin:"chat",activeTabKey:Df,open:(t,n=Df)=>e({isOpen:!0,origin:t,activeTabKey:n}),close:()=>e({isOpen:!1}),setActiveTabKey:t=>e({activeTabKey:t})})),Nf={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Wi=new Map,Ca=e=>{const t=Wi.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,r])=>[n,r.getState()])):{}},Gx=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};const r=Wi.get(n.name);if(r)return{type:"tracked",store:e,...r};const s={connection:t.connect(n),stores:{}};return Wi.set(n.name,s),{type:"tracked",store:e,...s}},Jx=(e,t)=>{if(t===void 0)return;const n=Wi.get(e);n&&(delete n.stores[t],Object.keys(n.stores).length===0&&Wi.delete(e))},Qx=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]},Zx=(e,t={})=>(n,r,s)=>{const{enabled:o,anonymousActionType:i,store:l,...u}=t;let d;try{d=(o??(Nf?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!d)return e(n,r,s);const{connection:h,...m}=Gx(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||Qx(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}`},{...Ca(u.name),[l]:s.getState()}),T)},s.devtools={cleanup:()=>{h&&typeof h.unsubscribe=="function"&&h.unsubscribe(),Jx(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)=>{(Nf?"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 vc(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}),ml=()=>[iw()];class aw{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 Sc=new aw,Nt=Jr((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 Sc.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 Sc.getProviderCatalog();e({catalog:n})}catch{}},fetchCatalogModels:async n=>{e({isCatalogFetching:!0});try{await Sc.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):[]}})),dI=Object.freeze(Object.defineProperty({__proto__:null,useProviderStore:Nt},Symbol.toStringTag,{value:"Module"}));function Eg(e){return e.type==="session_title_updated"||e.type==="session_pinned_updated"}function uu(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 lw(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 cw=5e3,Bf=80,uw=16,Ur=(e,t)=>{},$l=e=>e!==void 0&&e!=="idle"&&e!=="completed"&&e!=="error"&&e!=="cancelled",dw=e=>e==="starting"||e==="running"||e==="streaming"||e==="running_tools"||e==="running_children"||e==="settling",fw=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}),bn=(e,t)=>e[t]??Mg(t),jt=(e,t)=>[...e.length>=uw?e.slice(-15):e,t],hw=e=>e.length<=Bf?e:e.slice(e.length-Bf),pw=(e,t)=>e.length===t.length&&e.every((n,r)=>n===t[r]),mw=(e,t)=>e?e.question===t.question&&e.allowCustom===t.allowCustom&&e.toolCallId===t.toolCallId&&pw(e.options,t.options):!1,jg=(e,t,n)=>{const r=mw(e.interaction.pendingQuestion,t)?e.interaction.pendingQuestion:{...t,receivedAt:n};return e.phase==="waiting_user_answer"&&e.confidence==="live"&&r===e.interaction.pendingQuestion?e:{...e,phase:"waiting_user_answer",confidence:"live",interaction:{...e.interaction,pendingQuestion:r,respondMode:null},activeReasons:jt(e.activeReasons,"sse:need_clarification")}},Ll=new Set(["idle","completed","error","cancelled","settling","waiting_user_answer"]),Ms=e=>Ll.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"},en=(e,t,n)=>({...e,[t]:n}),gw=(e,t)=>{if(!(t in e))return e;const n={...e};return delete n[t],n},zf=(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 Ms(s)},yw=(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 Ms(r)},bw=(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 Ms(i)},vw=(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=hw(o+n),l={...s,preview:i},u=[...e.stream.activeToolCalls];return u[r]=l,{...e,stream:{...e.stream,activeToolCalls:u}}},Sw=(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&&!Ll.has(s.phase)?{...s,phase:"settling",timestamps:{...s.timestamps,settlingStartedAt:s.timestamps.settlingStartedAt??s.timestamps.terminalAt}}:Ms(s)},Rg=(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 Ms(u)},du=(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&&!Ll.has(d.phase)?{...d,phase:"settling",timestamps:{...d.timestamps,settlingStartedAt:d.timestamps.settlingStartedAt??d.timestamps.terminalAt},activeReasons:jt(d.activeReasons,"sse:sub_agent_completed")}:Ms(d)},xw=(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&&!Ll.has(o.phase)?{...o,phase:"settling",timestamps:{...o.timestamps,settlingStartedAt:o.timestamps.settlingStartedAt??o.timestamps.terminalAt}}:Ms(o)},Wf=(e,t,n)=>{switch(t.type){case"token":return zf(e,"sse:token",n);case"reasoning_token":return zf(e,"sse:token",n);case"tool_start":{const r=t.tool_call_id??"",s=t.tool_name??"";return r?bw(e,r,s,n()):e}case"tool_token":{const r=t.tool_call_id??"";return r?vw(e,r,t.content??""):e}case"tool_complete":case"tool_error":{const r=t.tool_call_id??"";return r?Sw(e,r,"sse:tool_complete"):e}case"tool_lifecycle":return e;case"sub_agent_started":{const r=t.child_session_id??"";return r?Rg(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()),du(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 du(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 jg(e,r,n())}case"execution_started":{const r=t.run_id;return r?e.phase!=="starting"&&e.phase!=="settling"?{...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}},ww=e=>e==="completed"||e==="error"||e==="cancelled",_w=(e,t,n)=>{const r=t.last_run_status,s=ww(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(Ur("summary.notRunning.evaluate",{sessionId:t.id,phase:e.phase,generation:e.generation,backendRunId:e.backendRunId,summaryIsRunning:t.is_running,optimisticAt:e.timestamps.optimisticAt}),new Set(["starting","running","streaming","running_tools","running_children","settling"]).has(e.phase)){if(s==="completed")return Ur("summary.notRunning.transition",{sessionId:t.id,fromPhase:e.phase,generation:e.generation,backendRunId:e.backendRunId}),{...u,phase:"completed",confidence:"terminal",timestamps:{...u.timestamps,settledAt:o},activeReasons:jt(u.activeReasons,"summary:terminal")};if(s==="error")return Ur("summary.notRunning.transition",{sessionId:t.id,fromPhase:e.phase,generation:e.generation,backendRunId:e.backendRunId}),{...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 Ur("summary.notRunning.transition",{sessionId:t.id,fromPhase:e.phase,generation:e.generation,backendRunId:e.backendRunId}),{...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<cw)return Ur("summary.notRunning.keepOptimistic",{sessionId:t.id,phase:e.phase,generation:e.generation,backendRunId:e.backendRunId}),u}return Ur("summary.notRunning.transition",{sessionId:t.id,fromPhase:e.phase,generation:e.generation,backendRunId:e.backendRunId}),{...u,phase:"idle",confidence:"summary",activeReasons:jt(u.activeReasons,"summary:terminal")}}return u},kw=()=>new Date().toISOString(),Vt=(e,t,n=kw)=>{switch(t.type){case"ensureSession":return t.sessionId in e?e:en(e,t.sessionId,Mg(t.sessionId));case"markOptimisticStart":{const r=bn(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 en(e,t.sessionId,o)}case"markRespondStart":{const r=bn(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 en(e,t.sessionId,o)}case"markRetryStart":{const r=bn(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 en(e,t.sessionId,o)}case"markForceSubscribe":{const r=bn(e,t.sessionId);if($l(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 en(e,t.sessionId,s)}case"markCancel":{const r=bn(e,t.sessionId),s=n(),o={...r,phase:"cancelled",confidence:"terminal",timestamps:{...r.timestamps,settledAt:s},activeReasons:jt(r.activeReasons,"user:cancel")};return en(e,t.sessionId,o)}case"markSettleTimeout":{const r=bn(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 en(e,t.sessionId,s)}case"markStreamStarted":{const r=bn(e,t.sessionId);if(t.generation!==r.generation)return e;const s=yw(r,n);return s===r?e:en(e,t.sessionId,s)}case"applyAgentEvent":{const r=bn(e,t.sessionId);if(t.generation!==r.generation)return Ur("drop.applyAgentEvent.generationMismatch",{sessionId:t.sessionId,actionGeneration:t.generation,entryGeneration:r.generation,eventType:t.event.type,phase:r.phase,backendRunId:r.backendRunId??null}),e;const s=Wf(r,t.event,n);return s===r?e:en(e,t.sessionId,s)}case"applyExecutionStarted":{const r=bn(e,t.sessionId);if(t.generation!==r.generation)return Ur("drop.applyExecutionStarted.generationMismatch",{sessionId:t.sessionId,actionGeneration:t.generation,entryGeneration:r.generation,runId:t.runId,phase:r.phase,backendRunId:r.backendRunId??null}),e;if(r.phase!=="starting"&&r.phase!=="settling")return en(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 en(e,t.sessionId,s)}case"applySessionSummary":{const r=bn(e,t.sessionId),s=_w(r,t.summary,n);return s===r?e:en(e,t.sessionId,s)}case"applyOneShotTerminal":{const r=bn(e,t.sessionId);if(t.generation!==r.generation||r.phase!=="idle"&&r.phase!=="starting")return e;const s=n();return t.payload.status==="completed"?en(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"?en(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")}):en(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=bn(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 en(e,t.sessionId,{...r,phase:"settling",timestamps:{...r.timestamps,settlingStartedAt:s,terminalAt:r.timestamps.terminalAt??s}})}case"applyChildProgress":{const r=bn(e,t.sessionId),o=!(t.childId in r.children.byId)?Rg(r,t.childId,t.patch):du(r,t.childId,t.patch);return o===r?e:en(e,t.sessionId,o)}case"clearChildProgress":{const r=bn(e,t.sessionId),s=xw(r,t.childId);return s===r?e:en(e,t.sessionId,s)}case"setPendingQuestion":{const r=bn(e,t.sessionId),s=jg(r,t.payload,n());return s===r?e:en(e,t.sessionId,s)}case"clearPendingQuestion":{const r=bn(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 en(e,t.sessionId,s)}case"resetSession":return gw(e,t.sessionId);case"applyRunningSnapshot":{let r=e;for(const s of t.sessions){const o=bn(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=Wf(l,u,n));r=en(r,s.sessionId,l)}return r}default:return e}},ln=()=>new Date().toISOString(),Cw=(e,t)=>({executionBySession:{},ensureSession:n=>{e(r=>{const s=Vt(r.executionBySession,{type:"ensureSession",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markOptimisticStart:n=>{let r=0;return e(s=>{const o=s.executionBySession[n];r=o?o.generation+1:1;const l=Vt(s.executionBySession,{type:"markOptimisticStart",sessionId:n},ln);return l===s.executionBySession?s:{executionBySession:l}}),r},markRespondStart:(n,r)=>{let s=0;return e(o=>{const i=o.executionBySession[n];s=i?i.generation+1:1;const u=Vt(o.executionBySession,{type:"markRespondStart",sessionId:n},ln);return u===o.executionBySession?o:{executionBySession:u}}),s},markRetryStart:n=>{let r=0;return e(s=>{const o=s.executionBySession[n];r=o?o.generation+1:1;const l=Vt(s.executionBySession,{type:"markRetryStart",sessionId:n},ln);return l===s.executionBySession?s:{executionBySession:l}}),r},markForceSubscribe:n=>{e(r=>{const s=Vt(r.executionBySession,{type:"markForceSubscribe",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markCancel:n=>{e(r=>{const s=Vt(r.executionBySession,{type:"markCancel",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markSettleTimeout:n=>{e(r=>{const s=Vt(r.executionBySession,{type:"markSettleTimeout",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},markStreamStarted:(n,r)=>{e(s=>{const o=Vt(s.executionBySession,{type:"markStreamStarted",sessionId:n,generation:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyAgentEvent:(n,r,s)=>{e(o=>{const i=Vt(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=Vt(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=Vt(s.executionBySession,{type:"applySessionSummary",sessionId:n,summary:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyOneShotTerminal:(n,r,s)=>{e(o=>{const i=Vt(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=Vt(s.executionBySession,{type:"beginSettle",sessionId:n,generation:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},applyChildProgress:(n,r,s)=>{e(o=>{const i=Vt(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=Vt(s.executionBySession,{type:"clearChildProgress",sessionId:n,childId:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},setPendingQuestion:(n,r)=>{e(s=>{const o=Vt(s.executionBySession,{type:"setPendingQuestion",sessionId:n,payload:r},ln);return o===s.executionBySession?s:{executionBySession:o}})},clearPendingQuestion:n=>{e(r=>{const s=Vt(r.executionBySession,{type:"clearPendingQuestion",sessionId:n},ln);return s===r.executionBySession?r:{executionBySession:s}})},resetSession:n=>{e(r=>{const s=Vt(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(Eg(l)){uu(l,r);continue}i.push(l)}return{...o,criticalEvents:i}});e(o=>{const i=Vt(o.executionBySession,{type:"applyRunningSnapshot",sessions:s},ln);return i===o.executionBySession?o:{executionBySession:i}})}}),mr=Qn.getInstance(),Qs=ml()[0],Tw=(Qs==null?void 0:Qs.id)||"general_assistant";var ng;const Ag=((ng=Qs==null?void 0:Qs.content)==null?void 0:ng.trim())||"",xc="tool",Uf=e=>{if(typeof e!="string"||!e.trim())return null;const t=Date.parse(e);return Number.isFinite(t)?t:null},Pw=(e,t)=>e===t?!0:!e||!t?e==null&&t==null:e.provider===t.provider&&e.model===t.model,Ew=(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,Mw=(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})},jw=(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,Rw=(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&&Pw(e.model_ref,t.model_ref)&&e.reasoningEffort===t.reasoningEffort&&Ew(e.tokenUsage,t.tokenUsage)&&e.truncationOccurred===t.truncationOccurred&&e.segmentsRemoved===t.segmentsRemoved&&Mw(e.compressionEvents,t.compressionEvents)&&jw(e.syncCursor,t.syncCursor),Aw=(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&&Rw(e.config,t.config),Iw=()=>{try{const e=globalThis.crypto;if(e!=null&&e.randomUUID)return e.randomUUID()}catch{}return`id_${Date.now()}_${Math.random().toString(16).slice(2)}`},Ow=()=>{let e=Es().trim().replace(/\/+$/,"");return e.endsWith("/v1")&&(e=e.slice(0,-3)),`${e}/api/v1`},Ig=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}},$w=e=>{const t=Ig(e);return t?`${Ow()}/sessions/${encodeURIComponent(t.sessionId)}/attachments/${encodeURIComponent(t.attachmentId)}`:e},ls=e=>{if(typeof e!="string")return;const t=e.trim();if(t&&t.toLowerCase()!=="unknown")return t},Lw=e=>{const t=(e||"").trim();if(!t)return;const n=t.match(/tool policy blocked ['"`]([^'"`]+)['"`]/i);if(n!=null&&n[1])return ls(n[1]);try{const r=JSON.parse(t);if(typeof(r==null?void 0:r.tool_name)=="string")return ls(r.tool_name)}catch{}},fu=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||wt.t("chat.session.defaultTitle"),titleVersion:e.title_version??0,createdAt:t,pinned:e.pinned,messages:[],config:{systemPromptId:Tw,baseSystemPrompt:Ag,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:[]}}},Fw=(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=$w(k),T=Ig(k),j=b.get(k.trim());v.push({id:Iw(),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,ls((l=C.function)==null?void 0:l.name)||xc);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:ls((E=C.function)==null?void 0:E.name)||xc,parameters:(()=>{var A,L;try{return JSON.parse(((A=C.function)==null?void 0:A.arguments)||"{}")}catch{return{raw:((L=C.function)==null?void 0:L.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=ls(n.get(b))||ls(h.tool_name)||ls(h.name)||Lw(h.content)||xc,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},Dw=750,_t={inFlight:null,forcedPromise:null,timer:null,trailingPromise:null,trailingResolve:null,trailingReject:null};function Og(){const e={resolve:_t.trailingResolve,reject:_t.trailingReject};return _t.trailingPromise=null,_t.trailingResolve=null,_t.trailingReject=null,e}function qf(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 Nw(){return _t.timer&&(clearTimeout(_t.timer),_t.timer=null),Og()}function Bw(e,t){const n=e.map(fu);t(r=>{let s=r.executionBySession;for(const u of e)s=Vt(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 N,B,U,$;const h=o.get(u.id);if(!h)return i=!0,u;const m=Uf(h.updatedAt),b=Uf(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},L={...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:((N=h.config)==null?void 0:N.compressionEvents)??((B=u.config)==null?void 0:B.compressionEvents),syncCursor:((U=h.config)==null?void 0:U.syncCursor)??(($=u.config)==null?void 0:$.syncCursor)},F={...u,pinned:v?h.pinned:u.pinned,updatedAt:v?h.updatedAt:u.updatedAt,messages:h.messages,messageCount:j,planMode:u.planMode,config:L,...A};return Aw(h,F)?(r.chats[d]!==h&&(i=!0),h):(i=!0,F)});return!i&&s===r.executionBySession?r:{...r,chats:i?l:r.chats,executionBySession:s}})}async function Ga(e){return _t.inFlight?(je("[ChatSlice]","refreshChats.inFlight.reuse",{}),_t.inFlight):(je("[ChatSlice]","refreshChats.start",{}),_t.inFlight=(async()=>{try{const t=await mr.listSessions();je("[ChatSlice]","refreshChats.response",{count:t.sessions.length,runningCount:t.sessions.filter(n=>n.is_running).length}),Bw(t.sessions,e)}catch(t){throw console.error("[ChatSlice] Failed to refresh sessions:",t),je("[ChatSlice]","refreshChats.error",{error:t}),t}})().finally(()=>{je("[ChatSlice]","refreshChats.finally",{}),_t.inFlight=null}),_t.inFlight)}function zw(e){return _t.forcedPromise?(je("[ChatSlice]","refreshChatsNow.forced.reuse",{}),_t.forcedPromise):(je("[ChatSlice]","refreshChatsNow.forced.start",{hasInflight:!!_t.inFlight}),_t.forcedPromise=(async()=>{_t.inFlight&&await _t.inFlight,await Ga(e)})().finally(()=>{je("[ChatSlice]","refreshChatsNow.forced.finally",{}),_t.forcedPromise=null}),_t.forcedPromise)}const Ww=(e,t)=>({chats:[],currentSessionId:null,latestActiveSessionId:null,addChat:async n=>{var b,v,w,S,k,P,T,j,C,E,A,L;const r=(n.title||wt.t("chat.sidebar.newSession")).trim(),s=((v=(b=n.config)==null?void 0:b.baseSystemPrompt)==null?void 0:v.trim())||"",o=(w=Nt.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(Nt.getState().isProviderModelRefEnabled()){const F=(T=n.config)==null?void 0:T.model_ref;if((j=F==null?void 0:F.provider)!=null&&j.trim()&&((C=F==null?void 0:F.model)!=null&&C.trim()))u=F,d=F.provider;else{const N=(E=Nt.getState().providerConfig.defaults)==null?void 0:E.chat;if((A=N==null?void 0:N.provider)!=null&&A.trim()&&((L=N==null?void 0:N.model)!=null&&L.trim()))u=N,d=N.provider;else{const B=Nt.getState().getActiveModel();B&&(u={provider:Nt.getState().currentProvider,model:B},d=Nt.getState().currentProvider)}}}const h=await mr.createSession({title:r,system_prompt:s||void 0,model:i,model_ref:u,provider:d,reasoning_effort:l||void 0}),m={...fu(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||Ag},messages:[]};return e(F=>{const N=[m,...F.chats.filter(B=>B.id!==m.id)];return{...F,chats:N,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 mr.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")&&Nt.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&&mr.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 mr.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 mr.deleteSessionMessage(n,r)}catch(o){return console.warn(`[ChatSlice] Failed to delete message ${r} from session ${n}:`,o),o instanceof zi?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()=>_t.inFlight?_t.inFlight:_t.timer?(_t.trailingPromise||(_t.trailingPromise=new Promise((n,r)=>{_t.trailingResolve=n,_t.trailingReject=r})),_t.trailingPromise):(_t.timer=setTimeout(()=>{if(_t.timer=null,_t.trailingPromise){const n=Og();qf(Ga(e),n)}},Dw),Ga(e)),refreshChatsNow:async()=>{const n=Nw();je("[ChatSlice]","refreshChatsNow.start",{hadTrailingCallbacks:!!n,hasInflight:!!_t.inFlight});const r=_t.inFlight?zw(e):Ga(e);return qf(r,n),r},loadChats:async()=>{var i,l,u;je("[ChatSlice]","loadChats.start",{});let n=await mr.listSessions();if(!n.sessions||n.sessions.length===0){const d=(i=Nt.getState().getActiveModel())==null?void 0:i.trim(),h=(l=Nt.getState().providerConfig.defaults)==null?void 0:l.chat;je("[ChatSlice]","loadChats.createInitialSession",{defaultModel:d??null,defaultModelRef:h??null}),n={sessions:[(await mr.createSession({title:wt.t("chat.sidebar.newSession"),model:d,model_ref:h,provider:h==null?void 0:h.provider})).session]}}const r=n.sessions.map(fu),s=((u=r[0])==null?void 0:u.id)??null;je("[ChatSlice]","loadChats.listResolved",{count:n.sessions.length,currentSessionId:s});let o=t().executionBySession;for(const d of n.sessions)o=Vt(o,{type:"applySessionSummary",sessionId:d.id,summary:d});try{const d=await mr.getRunningSessions();if(je("[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(Eg(v)){lw(v,r);continue}b.push(v)}return{sessionId:m.session_id,runId:m.run_id,criticalEvents:b}});o=Vt(o,{type:"applyRunningSnapshot",sessions:h},()=>new Date().toISOString())}}catch(d){je("[ChatSlice]","loadChats.runningSnapshot.error",{error:d})}e({chats:r,latestActiveSessionId:s,currentSessionId:s,executionBySession:o}),je("[ChatSlice]","loadChats.applied",{currentSessionId:s,chatCount:r.length,executionSessionCount:Object.keys(o||{}).length}),s&&(je("[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;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);je("[ChatSlice]","loadChatHistory.start",{sessionId:n,mode:s,retries:o,retryDelayMs:i,waitForAssistant:(r==null?void 0:r.waitForAssistant)??!1});for(let j=0;j<=o;j+=1)try{const C=t().chats.find(F=>F.id===n);if(!C){je("[ChatSlice]","loadChatHistory.skipMissingChat",{sessionId:n,attempt:j});return}const E=await mr.getHistory(n);je("[ChatSlice]","loadChatHistory.response",{sessionId:n,attempt:j,historyMessageCount:E.messages.length,localMessageCount:C.messages.length,localStoredMessageCount:C.messageCount??null,lastMessageId:((l=E.messages[E.messages.length-1])==null?void 0:l.id)??null,lastRole:((u=E.messages[E.messages.length-1])==null?void 0:u.role)??null});const A=(d=E.messages[E.messages.length-1])==null?void 0:d.role;if(r!=null&&r.waitForAssistant&&A==="user"&&j<o){const F=i>0?i*(j+1):200*(j+1);je("[ChatSlice]","loadChatHistory.waitForAssistant.retry",{sessionId:n,attempt:j,delay:F}),await new Promise(N=>setTimeout(N,F));continue}const L=Fw(n,E.messages);if(s==="monotonic"){const F=C.messages||[],N=F.length,B=L.length,U=(h=L[L.length-1])==null?void 0:h.role,$=(m=F[F.length-1])==null?void 0:m.role,ee=F[F.length-1],J=L[L.length-1],Q=ee==null?void 0:ee.id,pe=J==null?void 0:J.id;let I=!1;if(B>N?I=!0:B===N&&(I=$==="user"&&U!=="user"||typeof Q=="string"&&typeof pe=="string"&&Q!==pe),je("[ChatSlice]","loadChatHistory.monotonicDecision",{sessionId:n,attempt:j,prevLen:N,nextLen:B,prevLastRole:$??null,nextLastRole:U??null,prevLastId:Q??null,nextLastId:pe??null,shouldReplace:I}),!I){t().updateSession(n,{messageCount:Math.max(C.messageCount??0,E.messages.length)}),je("[ChatSlice]","loadChatHistory.monotonicSkip",{sessionId:n,attempt:j,localMessageCount:C.messages.length,serverMessageCount:E.messages.length});return}}t().updateSession(n,{messages:L,messageCount:E.messages.length,config:{...C.config||{},compressionEvents:(E.compression_events||[]).map(F=>({id:F.id,createdAt:F.created_at,messagesCompressed:F.messages_compressed,segmentsRemoved:F.segments_removed})),syncCursor:{messageCount:E.messages.length,lastMessageId:((b=E.messages[E.messages.length-1])==null?void 0:b.id)??null,hasPendingQuestion:!!((w=(v=t().executionBySession)==null?void 0:v[n])!=null&&w.interaction.pendingQuestion),pendingQuestionToolCallId:((P=(k=(S=t().executionBySession)==null?void 0:S[n])==null?void 0:k.interaction.pendingQuestion)==null?void 0:P.toolCallId)??null}}}),je("[ChatSlice]","loadChatHistory.applied",{sessionId:n,attempt:j,mode:s,messageCount:E.messages.length,lastMessageId:((T=E.messages[E.messages.length-1])==null?void 0:T.id)??null});return}catch(C){if(j>=o){console.warn(`[ChatSlice] Failed to load history for ${n}:`,C),je("[ChatSlice]","loadChatHistory.error.final",{sessionId:n,attempt:j,retries:o,error:C});return}const E=i>0?i*(j+1):200*(j+1);je("[ChatSlice]","loadChatHistory.error.retry",{sessionId:n,attempt:j,delay:E,error:C}),await new Promise(A=>setTimeout(A,E))}}});class hu extends Error{constructor(n="Proxy authentication required"){super(n);Et(this,"code","proxy_auth_required");this.name="ProxyAuthRequiredError"}}const hs=class hs{constructor(){}static getInstance(){return hs.instance||(hs.instance=new hs),hs.instance}resolveOpenAICompatBaseUrl(){const t=Es().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 fd({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 zi){if(r.status===428)throw new hu(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 hu(((n=s.error)==null?void 0:n.message)||r.message)}throw r}}};Et(hs,"instance");let pu=hs;const $g=pu.getInstance(),Uw=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)},qw=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")},Rr=async e=>{try{await Uw(e);return}catch(t){try{qw(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 Hw{async copyToClipboard(t){await Rr(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 ps=class ps{constructor(){Et(this,"httpUtilityService",new Hw)}static getInstance(){return ps.instance||(ps.instance=new ps),ps.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)}};Et(ps,"instance");let so=ps;const cs=so.getInstance();let ko=null,Co=null;const wc=(e,t)=>e instanceof Error&&e.message.trim()?e.message:t,mu=Jr((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(ko)return ko;ko=(async()=>{e({isLoadingConfig:!0,error:null});try{const s=await cs.getBambooConfig()??{};return e({config:s,lastLoadedAt:Date.now(),error:null}),s}catch(s){const o=wc(s,"Failed to load Bamboo config");throw e({error:o}),s}finally{e({isLoadingConfig:!1})}})();try{return await ko}finally{ko=null}},saveConfig:async n=>{e({isLoadingConfig:!0,error:null,config:n});try{const r=await cs.setBambooConfig(n);return e({config:r,lastLoadedAt:Date.now(),error:null}),r}catch(r){const s=wc(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(Co)return Co;Co=(async()=>{e({isLoadingProxyAuthStatus:!0,error:null});try{const s=await cs.getProxyAuthStatus();return e({proxyAuthStatus:s,error:null}),s}catch(s){const o=wc(s,"Failed to load proxy auth status");throw e({error:o}),s}finally{e({isLoadingProxyAuthStatus:!1})}})();try{return await Co}finally{Co=null}},applyProxyAuth:async n=>{await cs.setProxyAuth(n),await t().loadProxyAuthStatus({force:!0})},clearProxyAuth:async()=>{await cs.clearProxyAuth(),await t().loadProxyAuthStatus({force:!0})}}));let To=null;const Yw=(e,t)=>({models:[],selectedModel:void 0,isLoadingModels:!1,modelsError:null,configModel:void 0,setSelectedModel:n=>{e({selectedModel:n})},loadConfigModel:async()=>{try{const n=await mu.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(To)return To;To=(async()=>{e({isLoadingModels:!0,modelsError:null});try{try{if(!(await cs.getSetupStatus()).is_complete){je("[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 $g.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 hu){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 To}finally{To=null}}}),Xw=["system_prompt","system_prompt_selected_id"],_c=e=>({id:e.id,name:e.name||e.id,content:e.content||"",description:e.description,isDefault:!!e.is_default}),Hr=class Hr{constructor(){Et(this,"deprecatedKeysCleanupDone",!1)}static getInstance(){return Hr.instance||(Hr.instance=new Hr),Hr.instance.cleanupDeprecatedPromptStorageKeys(),Hr.instance}cleanupDeprecatedPromptStorageKeys(){if(!this.deprecatedKeysCleanupDone){this.deprecatedKeysCleanupDone=!0;try{for(const t of Xw)localStorage.removeItem(t)}catch(t){console.warn("[SystemPromptService] Failed to cleanup deprecated prompt storage keys:",t)}}}async getSystemPromptPresets(){try{const t=await xt.get("prompt-presets"),r=(Array.isArray(t==null?void 0:t.prompts)?t.prompts:[]).filter(s=>s.id&&s.id.trim().length>0).map(_c);if(r.length>0)return r}catch(t){console.error("Failed to load prompt presets from backend:",t)}return ml()}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 xt.post("prompt-presets",n);if(!(r!=null&&r.prompt))throw new Error("Backend did not return created prompt preset");return _c(r.prompt)}async updateSystemPromptPreset(t){const n=encodeURIComponent(t.id),r={name:t.name,content:t.content,description:t.description},s=await xt.patch(`prompt-presets/${n}`,r);if(!(s!=null&&s.prompt))throw new Error("Backend did not return updated prompt preset");return _c(s.prompt)}async deleteSystemPromptPreset(t){const n=encodeURIComponent(t);await xt.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)||""}};Et(Hr,"instance");let gl=Hr;const Hf="copilot_last_selected_prompt_id",Lg="copilot_custom_system_prompts_v2",Fg="copilot_custom_system_prompts_v2_migrated_to_backend",Dg="general_assistant",hd=80,Ks=gl.getInstance();let Ta=null;function pd(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,hd)}function Ng(e){if(typeof e!="string")return null;const t=e.toLowerCase().trim().replace(/[^a-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return t?t.slice(0,hd):null}function Bg(e,t){if(!t.has(e))return e;let n=2;for(;;){const r=`_${n}`,o=`${e.slice(0,Math.max(0,hd-r.length))}${r}`;if(!t.has(o))return o;n+=1}}function zg(){try{const e=localStorage.getItem(Lg);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=Ng(s==null?void 0:s.id)||pd(o),d=Bg(u,n);d!==Dg&&(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 Wg(){try{return localStorage.getItem(Fg)==="1"}catch(e){return console.error("[promptSlice] Failed to read migration marker:",e),!1}}function Yf(){try{localStorage.setItem(Fg,"1")}catch(e){console.error("[promptSlice] Failed to write migration marker:",e)}}function Xf(){try{localStorage.removeItem(Lg)}catch(e){console.error("[promptSlice] Failed to clear legacy custom prompts:",e)}}async function Kw(){var s,o;if(Wg())return;const e=zg();if(e.length===0){Xf(),Yf();return}const t=await Ks.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===Dg||i.isDefault)continue;const d=Ng(i.id)||pd(l),h=Bg(d,n);try{const m=await Ks.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||(Xf(),Yf())}async function Vw(){Ta||(Ta=Kw().finally(()=>{Ta=null})),await Ta}const Gw=(e,t)=>({systemPrompts:[],lastSelectedPromptId:localStorage.getItem(Hf)||null,loadSystemPrompts:async()=>{try{await Vw()}catch(s){console.warn("[promptSlice] Legacy prompt migration skipped:",s)}let n=[];try{n=await Ks.getSystemPromptPresets()}catch(s){console.error("Failed to load system prompts from backend:",s)}let r=n.length?n:ml();if(!Wg()){const s=zg();r=Jw(r,s)}r.length===0&&(r=ml()),e({systemPrompts:r})},addSystemPrompt:async n=>{try{await Ks.createSystemPromptPreset({id:pd(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 Ks.updateSystemPromptPreset(n),await t().loadSystemPrompts()}catch(r){throw console.error("Failed to update system prompt:",r),r}},deleteSystemPrompt:async n=>{try{await Ks.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(Hf,n)}catch(r){console.error("Failed to save last selected prompt ID to localStorage:",r)}}}),Jw=(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())},Qw=()=>({});class Zw{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 Kf=new Zw,e_=(e,t)=>({skills:[],isLoadingSkills:!1,skillsError:null,loadSkills:async(n,r)=>{e({isLoadingSkills:!0,skillsError:null});try{const s=await Kf.listSkills(n,r);e({skills:s.skills,isLoadingSkills:!1})}catch(s){e({skillsError:s instanceof Error?s.message:wt.t("components.skillManager.loadFailed"),isLoadingSkills:!1})}},getSkill:async n=>{e({isLoadingSkills:!0,skillsError:null});try{const r=await Kf.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:wt.t("components.skillManager.getFailed"),isLoadingSkills:!1})}},clearSkillsError:()=>{e({skillsError:null})}}),t_=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}})}),n_=Qn.getInstance(),r_=(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 n_.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 Ja={exports:{}},s_=Ja.exports,Vf;function o_(){return Vf||(Vf=1,function(e,t){((n,r)=>{e.exports=r()})(s_,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:_S,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 L(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)L(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:L(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 F(c){var f,p={};for(f in c)m(c,f)&&(p[f]=c[f]);return p}var N=[].concat;function B(c){return N.apply([],c)}var de="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(B([8,16,32,64].map(function(c){return["Int","Uint","Float"].map(function(f){return f+c+"Array"})}))).filter(function(c){return o[c]}),U=new Set(de.map(function(c){return o[c]})),$=null;function ee(c){return $=new WeakMap,c=function f(p){if(!p||typeof p!="object")return p;var g=$.get(p);if(g)return g;if(l(p)){g=[],$.set(p,g);for(var x=0,_=p.length;x<_;++x)g.push(f(p[x]))}else if(U.has(p.constructor))g=p;else{var M,R=d(p);for(M in g=R===Object.prototype?{}:Object.create(R),$.set(p,g),p)m(p,M)&&(g[M]=f(p[M]))}return g}(c),$=null,c}var J={}.toString;function Q(c){return J.call(c).slice(8,-1)}var pe=typeof Symbol<"u"?Symbol.iterator:"@@iterator",I=typeof pe=="symbol"?function(c){var f;return c!=null&&(f=c[pe])&&f.apply(c)}:function(){return null};function ie(c,f){f=c.indexOf(f),0<=f&&c.splice(f,1)}var be={};function oe(c){var f,p,g,x;if(arguments.length===1){if(l(c))return c.slice();if(this===be&&typeof c=="string")return[c];if(x=I(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 ge=typeof Symbol<"u"?function(c){return c[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},de=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],$t=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(de),le={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 ue(c,f){this.name=c,this.message=f}function ke(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 De(c,f,p,g){this.failures=f,this.failedKeys=g,this.successCount=p,this.message=ke(c,f)}function We(c,f){this.name="BulkError",this.failures=Object.keys(f).map(function(p){return f[p]}),this.failuresByPos=f,this.message=ke(c,this.failures)}S(ue).from(Error).extend({toString:function(){return this.name+": "+this.message}}),S(De).from(ue),S(We).from(ue);var bt=$t.reduce(function(c,f){return c[f]=f+"Error",c},{}),O=ue,ae=$t.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=le[f]||p,this.inner=null)}return S(g).from(O),c[f]=g,c},{}),ye=(ae.Syntax=SyntaxError,ae.Type=TypeError,ae.Range=RangeError,de.reduce(function(c,f){return c[f+"Error"]=ae[f],c},{}));de=$t.reduce(function(c,f){return["Syntax","Type","Range"].indexOf(f)===-1&&(c[f+"Error"]=ae[f]),c},{});function Re(){}function Ue(c){return c}function Ot(c,f){return c==null||c===Ue?f:function(p){return f(c(p))}}function vt(c,f){return function(){c.apply(this,arguments),f.apply(this,arguments)}}function gt(c,f){return c===Re?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?vt(g,this.onsuccess):g),x&&(this.onerror=this.onerror?vt(x,this.onerror):x),_!==void 0?_:p}}function Ht(c,f){return c===Re?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?vt(p,this.onsuccess):p),g&&(this.onerror=this.onerror?vt(g,this.onerror):g)}}function nn(c,f){return c===Re?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?vt(x,this.onsuccess):x),_&&(this.onerror=this.onerror?vt(_,this.onerror):_),g===void 0?M===void 0?void 0:M:u(g,M)}}function Ln(c,f){return c===Re?f:function(){return f.apply(this,arguments)!==!1&&c.apply(this,arguments)}}function Mt(c,f){return c===Re?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)}}de.ModifyError=De,de.DexieError=ue,de.BulkError=We;var qt=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Yt(c){qt=c}var fn={},Rn=100,kn=typeof Promise>"u"?[]:($t=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[kn=crypto.subtle.digest("SHA-512",new Uint8Array([0])),d(kn),$t]:[$t,d($t),$t]),$t=kn[0],$s=kn[1],$s=$s&&$s.then,yn=$t&&$t.constructor,hn=!!kn[2],fe=function(c,f){Tn.push([c,f]),$e&&(queueMicrotask(St),$e=!1)},Ie=!0,$e=!0,Ye=[],ut=[],Cn=Ue,Jt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Re,pgp:!1,env:{},finalize:Re},Le=Jt,Tn=[],Xt=0,W=[];function D(c){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var f=this._PSD=Le;if(typeof c!="function"){if(c!==fn)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&&ht();_&&typeof _.then=="function"?p(g,function(R,q){_ instanceof D?_._then(R,q):_.then(R,q)}):(g._state=!0,g._value=_,Ne(g)),M&&kt()}},Fe.bind(null,g))}catch(_){Fe(g,_)}}(this,c)}var he={get:function(){var c=Le,f=kr;function p(g,x){var _=this,M=!c.global&&(c!==Le||f!==kr),R=M&&!er(),q=new D(function(Z,Y){Ke(_,new _e(la(g,c,M,R),la(x,c,M,R),Z,Y,c))});return this._consoleTask&&(q._consoleTask=this._consoleTask),q}return p.prototype=fn,p},set:function(c){w(this,"then",c&&c.prototype===fn?he:{get:function(){return c},set:he.set})}};function _e(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;ut.push(f),c._state===null&&(p=c._lib&&ht(),f=Cn(f),c._state=!1,c._value=f,g=c,Ye.some(function(x){return x._value===g._value})||Ye.push(g),Ne(c),p)&&kt()}function Ne(c){var f=c._listeners;c._listeners=[];for(var p=0,g=f.length;p<g;++p)Ke(c,f[p]);var x=c._PSD;--x.ref||x.finalize(),Xt===0&&(++Xt,fe(function(){--Xt==0&&et()},[]))}function Ke(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,++Xt,fe(Ge,[p,c,f])}}function Ge(c,f,p){try{var g,x=f._value;!f._state&&ut.length&&(ut=[]),g=qt&&f._consoleTask?f._consoleTask.run(function(){return c(x)}):c(x),f._state||ut.indexOf(x)!==-1||(_=>{for(var M=Ye.length;M;)if(Ye[--M]._value===_._value)return Ye.splice(M,1)})(f),p.resolve(g)}catch(_){p.reject(_)}finally{--Xt==0&&et(),--p.psd.ref||p.psd.finalize()}}function St(){cr(Jt,function(){ht()&&kt()})}function ht(){var c=Ie;return $e=Ie=!1,c}function kt(){var c,f,p;do for(;0<Tn.length;)for(c=Tn,Tn=[],p=c.length,f=0;f<p;++f){var g=c[f];g[0].apply(null,g[1])}while(0<Tn.length);$e=Ie=!0}function et(){for(var c=Ye,f=(Ye=[],c.forEach(function(g){g._PSD.onunhandled.call(null,g._value,g)}),W.slice(0)),p=f.length;p;)f[--p]()}function Me(c){return new D(fn,!1,c)}function Te(c,f){var p=Le;return function(){var g=ht(),x=Le;try{return lr(p,!0),c.apply(this,arguments)}catch(_){f&&f(_)}finally{lr(x,!1),g&&kt()}}}b(D.prototype,{then:he,_then:function(c,f){Ke(this,new _e(null,null,c,f,Le))},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:Me)(g)}):this.then(null,function(g){return(g&&g.name===f?p:Me)(g)}))},finally:function(c){return this.then(function(f){return D.resolve(c()).then(function(){return f})},function(f){return D.resolve(c()).then(function(){return Me(f)})})},timeout:function(c,f){var p=this;return c<1/0?new D(function(g,x){var _=setTimeout(function(){return x(new ae.Timeout(f))},c);p.then(g,x).finally(clearTimeout.bind(null,_))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&w(D.prototype,Symbol.toStringTag,"Dexie.Promise"),Jt.env=aa(),b(D,{all:function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.length===0&&f([]);var g=c.length;c.forEach(function(x,_){return D.resolve(x).then(function(M){c[_]=M,--g||f(c)},p)})})},resolve:function(c){return c instanceof D?c:c&&typeof c.then=="function"?new D(function(f,p){c.then(f,p)}):new D(fn,!0,c)},reject:Me,race:function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.map(function(g){return D.resolve(g).then(f,p)})})},PSD:{get:function(){return Le},set:function(c){return Le=c}},totalEchoes:{get:function(){return kr}},newPSD:Zn,usePSD:cr,scheduler:{get:function(){return fe},set:function(c){fe=c}},rejectionMapper:{get:function(){return Cn},set:function(c){Cn=c}},follow:function(c,f){return new D(function(p,g){return Zn(function(x,_){var M=Le;M.unhandleds=[],M.onunhandled=_,M.finalize=vt(function(){var R,q=this;R=function(){q.unhandleds.length===0?x():_(q.unhandleds[0])},W.push(function Z(){R(),W.splice(W.indexOf(Z),1)}),++Xt,fe(function(){--Xt==0&&et()},[])},M.finalize),c()},f,p,g)})}}),yn&&(yn.allSettled&&w(D,"allSettled",function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f){c.length===0&&f([]);var p=c.length,g=new Array(p);c.forEach(function(x,_){return D.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)})})})}),yn.any&&typeof AggregateError<"u"&&w(D,"any",function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.length===0&&p(new AggregateError([]));var g=c.length,x=new Array(g);c.forEach(function(_,M){return D.resolve(_).then(function(R){return f(R)},function(R){x[M]=R,--g||p(new AggregateError(x))})})})}),yn.withResolvers)&&(D.withResolvers=yn.withResolvers);var qe={awaits:0,echoes:0,id:0},Lt=0,Kt=[],_r=0,kr=0,ho=0;function Zn(c,M,p,g){var x=Le,_=Object.create(x),M=(_.parent=x,_.ref=0,_.global=!1,_.id=++ho,Jt.env,_.env=hn?{Promise:D,PromiseProp:{value:D,configurable:!0,writable:!0},all:D.all,race:D.race,allSettled:D.allSettled,any:D.any,resolve:D.resolve,reject:D.reject}:{},M&&u(_,M),++x.ref,_.finalize=function(){--this.parent.ref||this.parent.finalize()},cr(_,c,p,g));return _.ref===0&&_.finalize(),M}function ar(){return qe.id||(qe.id=++Lt),++qe.awaits,qe.echoes+=Rn,qe.id}function er(){return!!qe.awaits&&(--qe.awaits==0&&(qe.id=0),qe.echoes=qe.awaits*Rn,!0)}function Ar(c){return qe.echoes&&c&&c.constructor===yn?(ar(),c.then(function(f){return er(),f},function(f){return er(),Bt(f)})):c}function ia(){var c=Kt[Kt.length-1];Kt.pop(),lr(c,!1)}function lr(c,f){var p,g,x=Le;(f?!qe.echoes||_r++&&c===Le:!_r||--_r&&c===Le)||queueMicrotask(f?(function(_){++kr,qe.echoes&&--qe.echoes!=0||(qe.echoes=qe.awaits=qe.id=0),Kt.push(Le),lr(_,!0)}).bind(null,c):ia),c!==Le&&(Le=c,x===Jt&&(Jt.env=aa()),hn)&&(p=Jt.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 aa(){var c=o.Promise;return hn?{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 _=Le;try{return lr(c,!0),f(p,g,x)}finally{lr(_,!1)}}function la(c,f,p,g){return typeof c!="function"?c:function(){var x=Le;p&&ar(),lr(f,!0);try{return c.apply(this,arguments)}finally{lr(x,!1),g&&queueMicrotask(er)}}}function Rs(c){Promise===yn&&qe.echoes===0?_r===0?c():enqueueNativeMicroTask(c):setTimeout(c,0)}(""+$s).indexOf("[native code]")===-1&&(ar=er=Re);var Bt=D.reject,ur="",Yn="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",me="String expected.",lt="__dbnames",At="readonly",zt="readwrite";function Ct(c,f){return c?f?function(){return c.apply(this,arguments)&&f.apply(this,arguments)}:c:f}var rn={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Qt(c){return typeof c!="string"||/\./.test(c)?function(f){return f}:function(f){return f[c]===void 0&&c in f&&delete(f=ee(f))[c],f}}function sn(){throw ae.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function it(c,f){try{var p=Cr(c),g=Cr(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=dr(c),_=dr(f),M=x.length,R=_.length,q=M<R?M:R,Z=0;Z<q;++Z)if(x[Z]!==_[Z])return x[Z]<_[Z]?-1:1;return M===R?0:M<R?-1:1;case"Array":for(var Y=c,z=f,H=Y.length,G=z.length,X=H<G?H:G,K=0;K<X;++K){var V=it(Y[K],z[K]);if(V!==0)return V}return H===G?0:H<G?-1:1}}catch{}return NaN}function Cr(c){var f=typeof c;return f=="object"&&(ArrayBuffer.isView(c)||(f=Q(c))==="ArrayBuffer")?"binary":f}function dr(c){return c instanceof Uint8Array?c:ArrayBuffer.isView(c)?new Uint8Array(c.buffer,c.byteOffset,c.byteLength):new Uint8Array(c)}function Zr(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}tf.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 po=tf;function tf(c){this["@@propmod"]=c}function nf(c,f){for(var p=i(f),g=p.length,x=!1,_=0;_<g;++_){var M=p[_],R=f[M],q=A(c,M);R instanceof po?(L(c,M,R.execute(q)),x=!0):q!==R&&(L(c,M,R),x=!0)}return x}Ft.prototype._trans=function(c,f,p){var g=this._tx||Le.trans,x=this.name,_=qt&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(c==="readonly"?"read":"write"," ").concat(this.name));function M(Z,Y,z){if(z.schema[x])return f(z.idbtrans,z);throw new ae.NotFound("Table "+x+" not part of transaction")}var R=ht();try{var q=g&&g.db._novip===this.db._novip?g===Le.trans?g._promise(c,M,p):Zn(function(){return g._promise(c,M,p)},{trans:g,transless:Le.transless||Le}):function Z(Y,z,H,G){if(Y.idbdb&&(Y._state.openComplete||Le.letThrough||Y._vip)){var X=Y._createTransaction(z,H,Y._dbSchema);try{X.create(),Y._state.PR1398_maxLoop=3}catch(K){return K.name===bt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return Z(Y,z,H,G)})):Bt(K)}return X._promise(z,function(K,V){return Zn(function(){return Le.trans=X,G(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 Bt(new ae.DatabaseClosed(Y._state.dbOpenError));if(!Y._state.isBeingOpened){if(!Y._state.autoOpen)return Bt(new ae.DatabaseClosed);Y.open().catch(Re)}return Y._state.dbReadyPromise.then(function(){return Z(Y,z,H,G)})}(this.db,c,[this.name],M);return _&&(q._consoleTask=_,q=q.catch(function(Z){return console.trace(Z),Bt(Z)})),q}finally{R&&kt()}},Ft.prototype.get=function(c,f){var p=this;return c&&c.constructor===Object?this.where(c).first(f):c==null?Bt(new ae.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(Z){return 0<=R.keyPath.indexOf(Z)})){for(var q=0;q<f.length;++q)if(f.indexOf(R.keyPath[q])===-1)return!1;return!0}return!1}).sort(function(R,q){return R.keyPath.length-q.keyPath.length})[0];if(p&&this.db._maxKey!==ur)return M=p.keyPath.slice(0,f.length),this.where(M).equals(M.map(function(R){return c[R]}));!p&&qt&&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,q){return it(R,q)===0}var M=f.reduce(function(Y,q){var Z=Y[0],Y=Y[1],z=g[q],H=c[q];return[Z||z,Z||!z?Ct(Y,z&&z.multi?function(G){return G=A(G,q),l(G)&&G.some(function(X){return x(H,X)})}:function(G){return x(H,A(G,q))}):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 sn&&(c=(M=>{var R=Y,q=M;if(typeof q!="function"&&q!==null)throw new TypeError("Class extends value "+String(q)+" is not a constructor or null");function Z(){this.constructor=R}function Y(){return M!==null&&M.apply(this,arguments)||this}return n(R,q),R.prototype=q===null?Object.create(q):(Z.prototype=q.prototype,new Z),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,q=Object.create(c.prototype);for(R in M)if(!g.has(R))try{q[R]=M[R]}catch{}return q}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=Qt(_)(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?D.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{L(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 nf(M,f),g&&L(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?D.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?Bt(new ae.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=Qt(_)(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?D.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{L(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 Zr(f,[c],g)}).then(function(g){return g.numFailures?D.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:rn}).then(function(p){return Zr(c,null,p)})}).then(function(f){return f.numFailures?D.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,Z=R.auto,R=R.keyPath;if(R&&x)throw new ae.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new ae.InvalidArgument("Arguments objects and keys must have the same length");var q=c.length,Z=R&&Z?c.map(Qt(R)):c;return g.core.mutate({trans:M,type:"add",keys:x,values:Z,wantResults:_}).then(function(Y){var z=Y.numFailures,H=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new We("".concat(g.name,".bulkAdd(): ").concat(z," of ").concat(q," operations failed"),H)})})},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,Z=R.auto,R=R.keyPath;if(R&&x)throw new ae.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new ae.InvalidArgument("Arguments objects and keys must have the same length");var q=c.length,Z=R&&Z?c.map(Qt(R)):c;return g.core.mutate({trans:M,type:"put",keys:x,values:Z,wantResults:_}).then(function(Y){var z=Y.numFailures,H=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new We("".concat(g.name,".bulkPut(): ").concat(z," of ").concat(q," operations failed"),H)})})},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 q=[],Z=[],Y=(c.forEach(function(z,H){var G=z.key,X=z.changes,K=R[H];if(K){for(var V=0,re=Object.keys(X);V<re.length;V++){var te=re[V],ce=X[te];if(te===f.schema.primKey.keyPath){if(it(ce,G)!==0)throw new ae.Constraint("Cannot update primary key in bulkUpdate()")}else L(K,te,ce)}_.push(H),q.push(G),Z.push(K)}}),q.length);return p.mutate({trans:M,type:"put",keys:q,values:Z,updates:{keys:g,changeSpecs:x}}).then(function(z){var H=z.numFailures,G=z.failures;if(H===0)return Y;for(var X=0,K=Object.keys(G);X<K.length;X++){var V,re=K[X],te=_[Number(re)];te!=null&&(V=G[re],delete G[re],G[te]=V)}throw new We("".concat(f.name,".bulkUpdate(): ").concat(H," of ").concat(Y," operations failed"),G)})})})},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 Zr(f,c,x)})}).then(function(g){var x=g.numFailures,_=g.failures;if(x===0)return g.lastResult;throw new We("".concat(f.name,".bulkDelete(): ").concat(x," of ").concat(p," operations failed"),_)})};var rf=Ft;function Ft(){}function mo(c){function f(M,R){if(R){for(var q=arguments.length,Z=new Array(q-1);--q;)Z[q-1]=arguments[q];return p[M].subscribe.apply(null,Z),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,q){var Z,Y;if(typeof M!="object")return R=R||Ln,Y={subscribers:[],fire:q=q||Re,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(H){return H!==z}),Y.fire=Y.subscribers.reduce(R,q)}},p[M]=f[M]=Y;i(Z=M).forEach(function(z){var H=Z[z];if(l(H))_(z,Z[z][0],Z[z][1]);else{if(H!=="asap")throw new ae.InvalidArgument("Invalid event config");var G=_(z,Ue,function(){for(var X=arguments.length,K=new Array(X);X--;)K[X]=arguments[X];G.subscribers.forEach(function(V){E(function(){V.apply(null,K)})})})}})}}function go(c,f){return S(f).from({prototype:c}),f}function As(c,f){return!(c.filter||c.algorithm||c.or)&&(f?c.justLimit:!c.replayFilter)}function Xl(c,f){c.filter=Ct(c.filter,f)}function Kl(c,f,p){var g=c.replayFilter;c.replayFilter=g?function(){return Ct(g(),f())}:f,c.justLimit=p&&!g}function ca(c,f){if(c.isPrimKey)return f.primaryKey;var p=f.getIndexByKeyPath(c.index);if(p)return p;throw new ae.Schema("KeyPath "+c.index+" on object store "+f.name+" is not indexed")}function sf(c,f,p){var g=ca(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 ua(c,f,p,g){var x,_,M=c.replayFilter?Ct(c.filter,c.replayFilter()):c.filter;return c.or?(x={},_=function(R,q,Z){var Y,z;M&&!M(q,Z,function(H){return q.stop(H)},function(H){return q.fail(H)})||((z=""+(Y=q.primaryKey))=="[object ArrayBuffer]"&&(z=""+new Uint8Array(Y)),m(x,z))||(x[z]=!0,f(R,q,Z))},Promise.all([c.or._iterate(_,p),of(sf(c,g,p),c.algorithm,_,!c.keysOnly&&c.valueMapper)])):of(sf(c,g,p),Ct(c.algorithm,M),f,!c.keysOnly&&c.valueMapper)}function of(c,f,p,g){var x=Te(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=Re},function(R){_.fail(R),M=Re})||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,Bt.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,Bt.bind(null,f.error)):f.table._trans("readwrite",c,"locked")},Pt.prototype._addAlgorithm=function(c){var f=this._ctx;f.algorithm=Ct(f.algorithm,c)},Pt.prototype._iterate=function(c,f){return ua(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 ua(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 As(x,!0)?_.count({trans:p,query:{index:ca(x,_.schema),range:x.range}}).then(function(M){return Math.min(M,x.limit)}):(g=0,ua(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 _(q,Z){return Z?_(q[p[Z]],Z-1):q[g]}var M=this._ctx.dir==="next"?1:-1;function R(q,Z){return it(_(q,x),_(Z,x))*M}return this.toArray(function(q){return q.sort(R)}).then(f)},Pt.prototype.toArray=function(c){var f=this;return this._read(function(p){var g,x,_,M=f._ctx;return As(M,!0)&&0<M.limit?(g=M.valueMapper,x=ca(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})):(_=[],ua(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,As(f)?Kl(f,function(){var p=c;return function(g,x){return p===0||(p===1?--p:x(function(){g.advance(p),p=0}),!1)}}):Kl(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),Kl(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 Xl(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 Xl(this._ctx,function(p){return c(p.value)}),(f=this._ctx).isMatch=Ct(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(As(f,!0)&&0<f.limit)return this._read(function(g){var x=ca(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={},Xl(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 re=V.failures;H+=K-V.numFailures;for(var te=0,ce=i(re);te<ce.length;te++){var ve=ce[te];z.push(re[ve])}}var _=typeof c=="function"?c:function(K){return nf(K,c)},M=p.table.core,Y=M.schema.primaryKey,R=Y.outbound,q=Y.extractKey,Z=200,Y=f.db._options.modifyChunkSize,z=(Y&&(Z=typeof Y=="object"?Y[M.name]||Y["*"]||200:Y),[]),H=0,G=[],X=c===af;return f.clone().primaryKeys().then(function(K){function V(te){var ce=Math.min(Z,K.length-te),ve=K.slice(te,te+ce);return(X?Promise.resolve([]):M.getMany({trans:g,keys:ve,cache:"immutable"})).then(function(xe){var Pe=[],we=[],Be=R?[]:null,Ce=X?ve:[];if(!X)for(var ze=0;ze<ce;++ze){var Se=xe[ze],tt={value:ee(Se),primKey:K[te+ze]};_.call(tt,tt.value,tt)!==!1&&(tt.value==null?Ce.push(K[te+ze]):R||it(q(Se),q(tt.value))===0?(we.push(tt.value),R&&Be.push(K[te+ze])):(Ce.push(K[te+ze]),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)Ce.splice(parseInt(at),1);x(Pe.length,nt)})).then(function(){return(0<we.length||re&&typeof c=="object")&&M.mutate({trans:g,type:"put",keys:Be,values:we,criteria:re,changeSpec:typeof c!="function"&&c,isAdditionalChunk:0<te}).then(function(nt){return x(we.length,nt)})}).then(function(){return(0<Ce.length||re&&X)&&M.mutate({trans:g,type:"delete",keys:Ce,criteria:re,isAdditionalChunk:0<te}).then(function(nt){return Zr(p.table,Ce,nt)}).then(function(nt){return x(Ce.length,nt)})}).then(function(){return K.length>te+ce&&V(te+Z)})})}var re=As(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 De("Error modifying one or more objects",z,H,G);return K.length})})})},Pt.prototype.delete=function(){var c=this._ctx,f=c.range;return!As(c)||c.table.schema.yProps||!c.isPrimKey&&f.type!==3?this.modify(af):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(q){var R=q.failures,q=q.numFailures;if(q)throw new De("Could not delete some values",Object.keys(R).map(function(Z){return R[Z]}),_-q);return _-q})})})};var Qv=Pt;function Pt(){}var af=function(c,f){return f.value=null};function Zv(c,f){return c<f?-1:c===f?0:1}function eS(c,f){return f<c?-1:c===f?0:1}function Nn(c,f,p){return c=c instanceof cf?new c.Collection(c):c,c._ctx.error=new(p||TypeError)(f),c}function Is(c){return new c.Collection(c,function(){return lf("")}).limit(0)}function da(G,f,p,g){var x,_,M,R,q,Z,Y,z=p.length;if(!p.every(function(K){return typeof K=="string"}))return Nn(G,me);function H(K){x=K==="next"?function(re){return re.toUpperCase()}:function(re){return re.toLowerCase()},_=K==="next"?function(re){return re.toLowerCase()}:function(re){return re.toUpperCase()},M=K==="next"?Zv:eS;var V=p.map(function(re){return{lower:_(re),upper:x(re)}}).sort(function(re,te){return M(re.lower,te.lower)});R=V.map(function(re){return re.upper}),q=V.map(function(re){return re.lower}),Y=(Z=K)==="next"?"":g}H("next");var G=new G.Collection(G,function(){return Ir(R[0],q[z-1]+g)}),X=(G._ondirectionchange=function(K){H(K)},0);return G._addAlgorithm(function(K,V,re){var te=K.key;if(typeof te=="string"){var ce=_(te);if(f(ce,q,X))return!0;for(var ve=null,xe=X;xe<z;++xe){var Pe=((we,Be,Ce,ze,Se,tt)=>{for(var nt=Math.min(we.length,ze.length),at=-1,yt=0;yt<nt;++yt){var Bn=Be[yt];if(Bn!==ze[yt])return Se(we[yt],Ce[yt])<0?we.substr(0,yt)+Ce[yt]+Ce.substr(yt+1):Se(we[yt],ze[yt])<0?we.substr(0,yt)+ze[yt]+Ce.substr(yt+1):0<=at?we.substr(0,at)+Be[at]+Ce.substr(at+1):null;Se(we[yt],Bn)<0&&(at=yt)}return nt<ze.length&&tt==="next"?we+Ce.substr(we.length):nt<we.length&&tt==="prev"?we.substr(0,Ce.length):at<0?null:we.substr(0,at)+ze[at]+Ce.substr(at+1)})(te,ce,R[xe],q[xe],M,Z);Pe===null&&ve===null?X=xe+1:(ve===null||0<M(ve,Pe))&&(ve=Pe)}V(ve!==null?function(){K.continue(ve+Y)}:re)}return!1}),G}function Ir(c,f,p,g){return{type:2,lower:c,upper:f,lowerOpen:p,upperOpen:g}}function lf(c){return{type:1,lower:c,upper:c}}Object.defineProperty(pn.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),pn.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)?Is(this):new this.Collection(this,function(){return Ir(c,f,!p,!g)})}catch{return Nn(this,Yn)}},pn.prototype.equals=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return lf(c)})},pn.prototype.above=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(c,void 0,!0)})},pn.prototype.aboveOrEqual=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(c,void 0,!1)})},pn.prototype.below=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(void 0,c,!1,!0)})},pn.prototype.belowOrEqual=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(void 0,c)})},pn.prototype.startsWith=function(c){return typeof c!="string"?Nn(this,me):this.between(c,c+ur,!0,!0)},pn.prototype.startsWithIgnoreCase=function(c){return c===""?this.startsWith(c):da(this,function(f,p){return f.indexOf(p[0])===0},[c],ur)},pn.prototype.equalsIgnoreCase=function(c){return da(this,function(f,p){return f===p[0]},[c],"")},pn.prototype.anyOfIgnoreCase=function(){var c=oe.apply(be,arguments);return c.length===0?Is(this):da(this,function(f,p){return p.indexOf(f)!==-1},c,"")},pn.prototype.startsWithAnyOfIgnoreCase=function(){var c=oe.apply(be,arguments);return c.length===0?Is(this):da(this,function(f,p){return p.some(function(g){return f.indexOf(g)===0})},c,ur)},pn.prototype.anyOf=function(){var c,f,p=this,g=oe.apply(be,arguments),x=this._cmp;try{g.sort(x)}catch{return Nn(this,Yn)}return g.length===0?Is(this):((c=new this.Collection(this,function(){return Ir(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 q=_.key;0<x(q,g[f]);)if(++f===g.length)return M(R),!1;return x(q,g[f])===0||(M(function(){_.continue(g[f])}),!1)}),c)},pn.prototype.notEqual=function(c){return this.inAnyRange([[-1/0,c],[c,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},pn.prototype.noneOf=function(){var c=oe.apply(be,arguments);if(c.length===0)return new this.Collection(this);try{c.sort(this._ascending)}catch{return Nn(this,Yn)}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})},pn.prototype.inAnyRange=function(c,re){var p=this,g=this._cmp,x=this._ascending,_=this._descending,M=this._min,R=this._max;if(c.length===0)return Is(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",ae.InvalidArgument);var q=!re||re.includeLowers!==!1,Z=re&&re.includeUppers===!0,Y,z=x;function H(te,ce){return z(te[0],ce[0])}try{(Y=c.reduce(function(te,ce){for(var ve=0,xe=te.length;ve<xe;++ve){var Pe=te[ve];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 ve===xe&&te.push(ce),te},[])).sort(H)}catch{return Nn(this,Yn)}var G=0,X=Z?function(te){return 0<x(te,Y[G][1])}:function(te){return 0<=x(te,Y[G][1])},K=q?function(te){return 0<_(te,Y[G][0])}:function(te){return 0<=_(te,Y[G][0])},V=X,re=new this.Collection(this,function(){return Ir(Y[0][0],Y[Y.length-1][1],!q,!Z)});return re._ondirectionchange=function(te){z=te==="next"?(V=X,x):(V=K,_),Y.sort(H)},re._addAlgorithm(function(te,ce,ve){for(var xe,Pe=te.key;V(Pe);)if(++G===Y.length)return ce(ve),!1;return!X(xe=Pe)&&!K(xe)||(p._cmp(Pe,Y[G][1])===0||p._cmp(Pe,Y[G][0])===0||ce(function(){z===x?te.continue(Y[G][0]):te.continue(Y[G][1])}),!1)}),re},pn.prototype.startsWithAnyOf=function(){var c=oe.apply(be,arguments);return c.every(function(f){return typeof f=="string"})?c.length===0?Is(this):this.inAnyRange(c.map(function(f){return[f,f+ur]})):Nn(this,"startsWithAnyOf() only works with strings")};var cf=pn;function pn(){}function tr(c){return Te(function(f){return yo(f),c(f.target.error),!1})}function yo(c){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault()}var bo="storagemutated",Vl="x-storagemutated-1",Or=mo(null,bo),tS=(fr.prototype._lock=function(){return C(!Le.global),++this._reculock,this._reculock!==1||Le.global||(Le.lockOwnerFor=this),this},fr.prototype._unlock=function(){if(C(!Le.global),--this._reculock==0)for(Le.global||(Le.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var c=this._blockedFuncs.shift();try{cr(c[1],c[0])}catch{}}return this},fr.prototype._locked=function(){return this._reculock&&Le.lockOwnerFor!==this},fr.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 ae.DatabaseClosed(g);case"MissingAPIError":throw new ae.MissingAPI(g.message,g);default:throw new ae.OpenFailed(g)}if(!this.active)throw new ae.TransactionInactive;C(this._completion._state===null),(c=this.idbtrans=c||(this.db.core||p).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=Te(function(x){yo(x),f._reject(c.error)}),c.onabort=Te(function(x){yo(x),f.active&&f._reject(new ae.Abort(c.error)),f.active=!1,f.on("abort").fire(x)}),c.oncomplete=Te(function(){f.active=!1,f._resolve(),"mutatedParts"in c&&Or.storagemutated.fire(c.mutatedParts)})}return this},fr.prototype._promise=function(c,f,p){var g,x=this;return c==="readwrite"&&this.mode!=="readwrite"?Bt(new ae.ReadOnly("Transaction is readonly")):this.active?this._locked()?new D(function(_,M){x._blockedFuncs.push([function(){x._promise(c,f,p).then(_,M)},Le])}):p?Zn(function(){var _=new D(function(M,R){x._lock();var q=f(M,R,x);q&&q.then&&q.then(M,R)});return _.finally(function(){return x._unlock()}),_._lib=!0,_}):((g=new D(function(_,M){var R=f(_,M,x);R&&R.then&&R.then(_,M)}))._lib=!0,g):Bt(new ae.TransactionInactive)},fr.prototype._root=function(){return this.parent?this.parent._root():this},fr.prototype.waitFor=function(c){var f,p=this._root(),g=D.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 D(function(_,M){g.then(function(R){return p._waitingQueue.push(Te(_.bind(null,R)))},function(R){return p._waitingQueue.push(Te(M.bind(null,R)))}).finally(function(){p._waitingFor===x&&(p._waitingFor=null)})})},fr.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new ae.Abort))},fr.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 ae.NotFound("Table "+c+" not part of transaction")},fr);function fr(){}function Gl(c,f,p,g,x,_,M,R){return{name:c,keyPath:f,unique:p,multi:g,auto:x,compound:_,src:(p&&!M?"&":"")+(g?"*":"")+(x?"++":"")+uf(f),type:R}}function uf(c){return typeof c=="string"?c:c?"["+[].join.call(c,"+")+"]":""}function Jl(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 vo=function(c){try{return c.only([[]]),vo=function(){return[[]]},[[]]}catch{return vo=function(){return ur},ur}};function Ql(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 df(c){return[].slice.call(c)}var nS=0;function So(c){return c==null?":id":typeof c=="string"?c:"[".concat(c.join("+"),"]")}function rS(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 G=V.lower,X=V.upper,K=V.lowerOpen,V=V.upperOpen;return G===void 0?X===void 0?null:f.upperBound(X,!!V):X===void 0?f.lowerBound(G,!!K):f.bound(G,X,!!K,!!V)}function x(H){var G,X,K=H.name;return{name:K,schema:H,mutate:function(V){var re=V.trans,te=V.type,ce=V.keys,ve=V.values,xe=V.range;return new Promise(function(Pe,we){Pe=Te(Pe);var Be=re.objectStore(K),Ce=Be.keyPath==null,ze=te==="put"||te==="add";if(!ze&&te!=="delete"&&te!=="deleteRange")throw new Error("Invalid operation type: "+te);var Se,tt=(ce||ve||{length:1}).length;if(ce&&ve&&ce.length!==ve.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(An){++Bn,yo(An)}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(Se=Be.clear()):at.push(Se=Be.delete(g(xe)))}else{var Ce=ze?Ce?[ve,ce]:[ve,null]:[ce,null],ot=Ce[0],En=Ce[1];if(ze)for(var Mn=0;Mn<tt;++Mn)at.push(Se=En&&En[Mn]!==void 0?Be[te](ot[Mn],En[Mn]):Be[te](ot[Mn])),Se.onerror=nt;else for(Mn=0;Mn<tt;++Mn)at.push(Se=Be[te](ot[Mn])),Se.onerror=nt}function _a(An){An=An.target.result,at.forEach(function(ns,gc){return ns.error!=null&&(yt[gc]=ns.error)}),Pe({numFailures:Bn,failures:yt,results:te==="delete"?ce:at.map(function(ns){return ns.result}),lastResult:An})}Se.onerror=function(An){nt(An),_a(An)},Se.onsuccess=_a})},getMany:function(V){var re=V.trans,te=V.keys;return new Promise(function(ce,ve){ce=Te(ce);for(var xe,Pe=re.objectStore(K),we=te.length,Be=new Array(we),Ce=0,ze=0,Se=function(at){at=at.target,Be[at._pos]=at.result,++ze===Ce&&ce(Be)},tt=tr(ve),nt=0;nt<we;++nt)te[nt]!=null&&((xe=Pe.get(te[nt]))._pos=nt,xe.onsuccess=Se,xe.onerror=tt,++Ce);Ce===0&&ce(Be)})},get:function(V){var re=V.trans,te=V.key;return new Promise(function(ce,ve){ce=Te(ce);var xe=re.objectStore(K).get(te);xe.onsuccess=function(Pe){return ce(Pe.target.result)},xe.onerror=tr(ve)})},query:(G=q,X=Z,function(V){return new Promise(function(re,te){re=Te(re);var ce,ve,xe,Pe,tt=V.trans,we=V.values,Be=V.limit,Se=V.query,Ce=(Ce=V.direction)!=null?Ce:"next",ze=Be===1/0?void 0:Be,nt=Se.index,Se=Se.range,tt=tt.objectStore(K),tt=nt.isPrimaryKey?tt:tt.index(nt.name),nt=g(Se);if(Be===0)return re({result:[]});X?(Se={query:nt,count:ze,direction:Ce},(ce=we?tt.getAll(Se):tt.getAllKeys(Se)).onsuccess=function(at){return re({result:at.target.result})},ce.onerror=tr(te)):G&&Ce==="next"?((ce=we?tt.getAll(nt,ze):tt.getAllKeys(nt,ze)).onsuccess=function(at){return re({result:at.target.result})},ce.onerror=tr(te)):(ve=0,xe=!we&&"openKeyCursor"in tt?tt.openKeyCursor(nt,Ce):tt.openCursor(nt,Ce),Pe=[],xe.onsuccess=function(){var at=xe.result;return!at||(Pe.push(we?at.value:at.primaryKey),++ve===Be)?re({result:Pe}):void at.continue()},xe.onerror=tr(te))})}),openCursor:function(V){var re=V.trans,te=V.values,ce=V.query,ve=V.reverse,xe=V.unique;return new Promise(function(Pe,we){Pe=Te(Pe);var ze=ce.index,Be=ce.range,Ce=re.objectStore(K),Ce=ze.isPrimaryKey?Ce:Ce.index(ze.name),ze=ve?xe?"prevunique":"prev":xe?"nextunique":"next",Se=!te&&"openKeyCursor"in Ce?Ce.openKeyCursor(g(Be),ze):Ce.openCursor(g(Be),ze);Se.onerror=tr(we),Se.onsuccess=Te(function(tt){var nt,at,yt,Bn,ot=Se.result;ot?(ot.___id=++nS,ot.done=!1,nt=ot.continue.bind(ot),at=(at=ot.continuePrimaryKey)&&at.bind(ot),yt=ot.advance.bind(ot),Bn=function(){throw new Error("Cursor not stopped")},ot.trans=re,ot.stop=ot.continue=ot.continuePrimaryKey=ot.advance=function(){throw new Error("Cursor not started")},ot.fail=Te(we),ot.next=function(){var En=this,Mn=1;return this.start(function(){return Mn--?En.continue():En.stop()}).then(function(){return En})},ot.start=function(En){function Mn(){if(Se.result)try{En()}catch(An){ot.fail(An)}else ot.done=!0,ot.start=function(){throw new Error("Cursor behind last entry")},ot.stop()}var _a=new Promise(function(An,ns){An=Te(An),Se.onerror=tr(ns),ot.fail=ns,ot.stop=function(gc){ot.stop=ot.continue=ot.continuePrimaryKey=ot.advance=Bn,An(gc)}});return Se.onsuccess=Te(function(An){Se.onsuccess=Mn,Mn()}),ot.continue=nt,ot.continuePrimaryKey=at,ot.advance=yt,Mn(),_a},Pe(ot)):Pe(null)},we)})},count:function(V){var re=V.query,te=V.trans,ce=re.index,ve=re.range;return new Promise(function(xe,Pe){var we=te.objectStore(K),we=ce.isPrimaryKey?we:we.index(ce.name),Be=g(ve),Be=Be?we.count(Be):we.count();Be.onsuccess=Te(function(Ce){return xe(Ce.target.result)}),Be.onerror=tr(Pe)})}}}_=M,R=df((M=c).objectStoreNames),Y=0<R.length?_.objectStore(R[0]):{};var _,M={schema:{name:M.name,tables:R.map(function(H){return _.objectStore(H)}).map(function(H){var G=H.keyPath,X=H.autoIncrement,V=l(G),K={},V={name:H.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:G==null,compound:V,keyPath:G,autoIncrement:X,unique:!0,extractKey:Ql(G)},indexes:df(H.indexNames).map(function(re){return H.index(re)}).map(function(ve){var xe=ve.name,te=ve.unique,ce=ve.multiEntry,ve=ve.keyPath,xe={name:xe,compound:l(ve),keyPath:ve,unique:te,multiEntry:ce,extractKey:Ql(ve)};return K[So(ve)]=xe}),getIndexByKeyPath:function(re){return K[So(re)]}};return K[":id"]=V.primaryKey,G!=null&&(K[So(G)]=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,q=M.hasGetAll,Z=M.hasIdb3Features,Y=R.tables.map(x),z={};return Y.forEach(function(H){return z[H.name]=H}),{stack:"dbcore",transaction:c.transaction.bind(c),table:function(H){if(z[H])return z[H];throw new Error("Table '".concat(H,"' not found"))},MIN_KEY:-1/0,MAX_KEY:vo(f),schema:R}}function sS(c,f,p,g){return p=p.IDBKeyRange,f=rS(f,p,g),{dbcore:c.dbcore.reduce(function(x,_){return _=_.create,r(r({},x),_(x))},f)}}function fa(c,f){var p=f.db,p=sS(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 ha(c,f,p,g){p.forEach(function(x){var _=g[x];f.forEach(function(M){var R=function q(Z,Y){return k(Z,Y)||(Z=d(Z))&&q(Z,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(q){v(this,x,{value:q,writable:!0,configurable:!0,enumerable:!0})}}):M[x]=new c.Table(x,_))})})}function Zl(c,f){f.forEach(function(p){for(var g in p)p[g]instanceof c.Table&&delete p[g]})}function oS(c,f){return c._cfg.version-f._cfg.version}function iS(c,f,p,g){var x=c._dbSchema,_=(p.objectStoreNames.contains("$meta")&&!x.$meta&&(x.$meta=Jl("$meta",hf("")[0],[]),c._storeNames.push("$meta")),c._createTransaction("readwrite",c._storeNames,x)),M=(_.create(p),_._completion.catch(g),_._reject.bind(_)),R=Le.transless||Le;Zn(function(){if(Le.trans=_,Le.transless=R,f!==0)return fa(c,p),Z=f,((q=_).storeNames.includes("$meta")?q.table("$meta").get("version").then(function(Y){return Y??Z}):D.resolve(Z)).then(function(V){var z=c,H=V,G=_,X=p,K=[],V=z._versions,re=z._dbSchema=ma(0,z.idbdb,X);return(V=V.filter(function(te){return te._cfg.version>=H})).length===0?D.resolve():(V.forEach(function(te){K.push(function(){var ce,ve,xe,Pe=re,we=te._cfg.dbschema,Be=(ga(z,Pe,X),ga(z,we,X),re=z._dbSchema=we,ec(Pe,we)),Ce=(Be.add.forEach(function(ze){tc(X,ze[0],ze[1].primKey,ze[1].indexes)}),Be.change.forEach(function(ze){if(ze.recreate)throw new ae.Upgrade("Not yet support for changing primary key");var Se=X.objectStore(ze.name);ze.add.forEach(function(tt){return pa(Se,tt)}),ze.change.forEach(function(tt){Se.deleteIndex(tt.name),pa(Se,tt)}),ze.del.forEach(function(tt){return Se.deleteIndex(tt)})}),te._cfg.contentUpgrade);if(Ce&&te._cfg.version>H)return fa(z,X),G._memoizedTables={},ce=F(we),Be.del.forEach(function(ze){ce[ze]=Pe[ze]}),Zl(z,[z.Transaction.prototype]),ha(z,[z.Transaction.prototype],i(ce),ce),G.schema=ce,(ve=ge(Ce))&&ar(),we=D.follow(function(){var ze;(xe=Ce(G))&&ve&&(ze=er.bind(null,null),xe.then(ze,ze))}),xe&&typeof xe.then=="function"?D.resolve(xe):we.then(function(){return xe})}),K.push(function(ce){var ve,xe,Pe=te._cfg.dbschema;ve=Pe,xe=ce,[].slice.call(xe.db.objectStoreNames).forEach(function(we){return ve[we]==null&&xe.db.deleteObjectStore(we)}),Zl(z,[z.Transaction.prototype]),ha(z,[z.Transaction.prototype],z._storeNames,z._dbSchema),G.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(ve){return ve!=="$meta"})):ce.objectStore("$meta").put(te._cfg.version,"version"))})}),function te(){return K.length?D.resolve(K.shift()(G.idbtrans)).then(te):D.resolve()}().then(function(){ff(re,X)}))}).catch(M);var q,Z;i(x).forEach(function(Y){tc(p,Y,x[Y].primKey,x[Y].indexes)}),fa(c,p),D.follow(function(){return c.on.populate.fire(_)}).catch(M)})}function aS(c,f){ff(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=ma(0,c.idbdb,f);ga(c,c._dbSchema,f);for(var g=0,x=ec(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(q){qt&&console.debug("Dexie upgrade patch: Creating missing index ".concat(M.name,".").concat(q.src)),pa(R,q)})})(x[g]);if(typeof _=="object")return _.value}}function ec(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,q=_.idxByName,Z=void 0;for(Z in R)q[Z]||M.del.push(Z);for(Z in q){var Y=R[Z],z=q[Z];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 tc(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 pa(x,_)})}function ff(c,f){i(c).forEach(function(p){f.db.objectStoreNames.contains(p)||(qt&&console.debug("Dexie: Creating missing table",p),tc(f,p,c[p].primKey,c[p].indexes))})}function pa(c,f){c.createIndex(f.name,f.keyPath,{unique:f.unique,multiEntry:f.multi})}function ma(c,f,p){var g={};return T(f.objectStoreNames,0).forEach(function(x){for(var _=p.objectStore(x),M=Gl(uf(Z=_.keyPath),Z||"",!0,!1,!!_.autoIncrement,Z&&typeof Z!="string",!0),R=[],q=0;q<_.indexNames.length;++q){var Y=_.index(_.indexNames[q]),Z=Y.keyPath,Y=Gl(Y.name,Z,!!Y.unique,!!Y.multiEntry,!1,Z&&typeof Z!="string",!1);R.push(Y)}g[x]=Jl(x,M,R)}),g}function ga(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 q,Z=M.indexNames[R],Y=M.index(Z).keyPath,Y=typeof Y=="string"?Y:"["+T(Y).join("+")+"]";f[_]&&(q=f[_].idxByName[Y])&&(q.name=Z,delete f[_].idxByName[Y],f[_].idxByName[Z]=q)}}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 hf(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 Gl(x,_||null,/\&/.test(f),/\*/.test(f),/\+\+/.test(f),l(_),p===0,g)})}Os.prototype._createTableSchema=Jl,Os.prototype._parseIndexSyntax=hf,Os.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 ae.Schema("Invalid schema for table "+g+": "+c[g]);if(_.unique=!0,_.multi)throw new ae.Schema("Primary key cannot be multiEntry*");x.forEach(function(M){if(M.auto)throw new ae.Schema("Only primary key can be marked as autoIncrement (++)");if(!M.keyPath)throw new ae.Schema("Index must have a name and cannot be an empty string")}),_=p._createTableSchema(g,_,x),f[g]=_}})},Os.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,Zl(f,[f._allTables,f,f.Transaction.prototype]),ha(f,[f._allTables,f,f.Transaction.prototype,this._cfg.tables],i(x),x),f._storeNames=i(x),this},Os.prototype.upgrade=function(c){return this._cfg.contentUpgrade=Mt(this._cfg.contentUpgrade||Re,c),this};var lS=Os;function Os(){}var xo=(()=>{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 nc(c,f){var p=c._dbNamesDB;return p||(p=c._dbNamesDB=new Tr(lt,{addons:[],indexedDB:c,IDBKeyRange:f})).version(1).stores({dbnames:"name"}),p.table("dbnames")}function rc(c){return c&&typeof c.databases=="function"}function sc(c){return Zn(function(){return Le.letThrough=!0,c()})}function oc(c){return!("from"in c)}var Pn=function(c,f){var p;if(!this)return p=new Pn,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 wo(c,f,p){var g=it(f,p);if(!isNaN(g)){if(0<g)throw RangeError();if(oc(c))return u(c,{from:f,to:p,d:1});var g=c.l,x=c.r;if(it(p,c.from)<0)return g?wo(g,f,p):c.l={from:f,to:p,d:1,l:null,r:null},mf(c);if(0<it(f,c.to))return x?wo(x,f,p):c.r={from:f,to:p,d:1,l:null,r:null},mf(c);it(f,c.from)<0&&(c.from=f,c.l=null,c.d=x?x.d+1:1),0<it(p,c.to)&&(c.to=p,c.r=null,c.d=c.l?c.l.d+1:1),f=!c.r,g&&!c.l&&_o(c,g),x&&f&&_o(c,x)}}function _o(c,f){oc(f)||function p(g,x){var _=x.from,M=x.l,R=x.r;wo(g,_,x.to),M&&p(g,M),R&&p(g,R)}(c,f)}function pf(c,f){var p=ya(f),g=p.next();if(!g.done)for(var x=g.value,_=ya(c),M=_.next(x.from),R=M.value;!g.done&&!M.done;){if(it(R.from,x.to)<=0&&0<=it(R.to,x.from))return!0;it(x.from,R.from)<0?x=(g=p.next(R.from)).value:R=(M=_.next(x.from)).value}return!1}function ya(c){var f=oc(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&&it(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||it(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 mf(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=gf(p)),c.d=gf(c)}function gf(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 ba(c,f){return i(f).forEach(function(p){c[p]?_o(c[p],f[p]):c[p]=function g(x){var _,M,R={};for(_ in x)m(x,_)&&(M=x[_],R[_]=!M||typeof M!="object"||U.has(M.constructor)?M:g(M));return R}(f[p])}),c}function ic(c,f){return c.all||f.all||Object.keys(c).some(function(p){return f[p]&&pf(f[p],c[p])})}b(Pn.prototype,(($t={add:function(c){return _o(this,c),this},addKey:function(c){return wo(this,c,c),this},addKeys:function(c){var f=this;return c.forEach(function(p){return wo(f,p,p)}),this},hasKey:function(c){var f=ya(this).next(c).value;return f&&it(f.from,c)<=0&&0<=it(f.to,c)}})[pe]=function(){return ya(this)},$t));var es={},ac={},lc=!1;function va(c){ba(ac,c),lc||(lc=!0,setTimeout(function(){lc=!1,cc(ac,!(ac={}))},0))}function cc(c,f){f===void 0&&(f=!1);var p=new Set;if(c.all)for(var g=0,x=Object.values(es);g<x.length;g++)yf(R=x[g],c,p,f);else for(var _ in c){var M,R,_=/^idb\:\/\/(.*)\/(.*)\//.exec(_);_&&(M=_[1],_=_[2],R=es["idb://".concat(M,"/").concat(_)])&&yf(R,c,p,f)}p.forEach(function(q){return q()})}function yf(c,f,p,g){for(var x=[],_=0,M=Object.entries(c.queries.query);_<M.length;_++){for(var R=M[_],q=R[0],Z=[],Y=0,z=R[1];Y<z.length;Y++){var H=z[Y];ic(f,H.obsSet)?H.subscribers.forEach(function(V){return p.add(V)}):g&&Z.push(H)}g&&x.push([q,Z])}if(g)for(var G=0,X=x;G<X.length;G++){var K=X[G],q=K[0],Z=K[1];c.queries.query[q]=Z}}function cS(c){var f=c._state,p=c._deps.indexedDB;if(f.isBeingOpened||c.idbdb)return f.dbReadyPromise.then(function(){return f.dbOpenError?Bt(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 ae.DatabaseClosed("db.open() was cancelled")}function R(){return new D(function(H,G){if(M(),!p)throw new ae.MissingAPI;var X=c.name,K=f.autoSchema||!x?p.open(X):p.open(X,x);if(!K)throw new ae.MissingAPI;K.onerror=tr(G),K.onblocked=Te(c._fireOnBlocked),K.onupgradeneeded=Te(function(V){var re;Y=K.transaction,f.autoSchema&&!c._options.allowEmptyDB?(K.onerror=yo,Y.abort(),K.result.close(),(re=p.deleteDatabase(X)).onsuccess=re.onerror=Te(function(){G(new ae.NoSuchDatabase("Database ".concat(X," doesnt exist")))})):(Y.onerror=tr(G),re=V.oldVersion>Math.pow(2,62)?0:V.oldVersion,z=re<1,c.idbdb=K.result,_&&aS(c,Y),iS(c,re/10,Y,G))},G),K.onsuccess=Te(function(){Y=null;var V,re,te,ce,ve,xe,Pe=c.idbdb=K.result,we=T(Pe.objectStoreNames);if(0<we.length)try{var Be=Pe.transaction((ve=we).length===1?ve[0]:ve,"readonly");if(f.autoSchema)xe=Pe,ce=Be,(te=c).verno=xe.version/10,ce=te._dbSchema=ma(0,xe,ce),te._storeNames=T(xe.objectStoreNames,0),ha(te,[te._allTables],i(ce),ce);else if(ga(c,c._dbSchema,Be),re=Be,((re=ec(ma(0,(V=c).idbdb,re),V._dbSchema)).add.length||re.change.some(function(Ce){return Ce.add.length||Ce.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,H(R());fa(c,Be)}catch{}xo.add(c),Pe.onversionchange=Te(function(Ce){f.vcFired=!0,c.on("versionchange").fire(Ce)}),Pe.onclose=Te(function(){c.close({disableAutoOpen:!1})}),z&&(we=c._deps,ve=X,rc(xe=we.indexedDB)||ve===lt||nc(xe,we.IDBKeyRange).put({name:ve}).catch(Re)),H()},G)}).catch(function(H){switch(H==null?void 0:H.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 D.reject(H)})}var q,Z=f.dbReadyResolve,Y=null,z=!1;return D.race([g,(typeof navigator>"u"?D.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(H){function G(){return indexedDB.databases().finally(H)}q=setInterval(G,100),G()}).finally(function(){return clearInterval(q)}):Promise.resolve()).then(R)]).then(function(){return M(),f.onReadyBeingFired=[],D.resolve(sc(function(){return c.on.ready.fire(c.vip)})).then(function H(){var G;if(0<f.onReadyBeingFired.length)return G=f.onReadyBeingFired.reduce(Mt,Re),f.onReadyBeingFired=[],D.resolve(sc(function(){return G(c.vip)})).then(H)})}).finally(function(){f.openCanceller===g&&(f.onReadyBeingFired=null,f.isBeingOpened=!1)}).catch(function(H){f.dbOpenError=H;try{Y&&Y.abort()}catch{}return g===f.openCanceller&&c._close(),Bt(H)}).finally(function(){f.openComplete=!0,Z()}).then(function(){var H;return z&&(H={},c.tables.forEach(function(G){G.schema.indexes.forEach(function(X){X.name&&(H["idb://".concat(c.name,"/").concat(G.name,"/").concat(X.name)]=new Pn(-1/0,[[[]]]))}),H["idb://".concat(c.name,"/").concat(G.name,"/")]=H["idb://".concat(c.name,"/").concat(G.name,"/:dels")]=new Pn(-1/0,[[[]]])}),Or(bo).fire(H),cc(H,!0)),c})}function uc(c){function f(_){return c.next(_)}var p=x(f),g=x(function(_){return c.throw(_)});function x(_){return function(R){var R=_(R),q=R.value;return R.done?q:q&&typeof q.then=="function"?q.then(p,g):l(q)?Promise.all(q).then(p,g):p(q)}}return x(f)()}function Sa(c,f,p){for(var g=l(c)?c.slice():[c],x=0;x<p;++x)g.push(f);return g}var uS={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(H,G,X){var te=So(H),K=x[te]=x[te]||[],V=H==null?0:typeof H=="string"?1:H.length,re=0<G,te=r(r({},X),{name:re?"".concat(te,"(virtual-from:").concat(X.name,")"):X.name,lowLevelIndex:X,isVirtual:re,keyTail:G,keyLength:V,extractKey:Ql(H),unique:!re&&X.unique});return K.push(te),te.isPrimaryKey||_.push(te),1<V&&M(V===2?H[0]:H.slice(0,V-1),G+1,X),K.sort(function(ce,ve){return ce.keyTail-ve.keyTail}),te}var R=M(g.primaryKey.keyPath,0,g.primaryKey);x[":id"]=[R];for(var q=0,Z=g.indexes;q<Z.length;q++){var Y=Z[q];M(Y.keyPath,0,Y)}function z(H){var G,X=H.query.index;return X.isVirtual?r(r({},H),{query:{index:X.lowLevelIndex,range:(G=H.query.range,X=X.keyTail,{type:G.type===1?2:G.type,lower:Sa(G.lower,G.lowerOpen?c.MAX_KEY:c.MIN_KEY,X),lowerOpen:!0,upper:Sa(G.upper,G.upperOpen?c.MIN_KEY:c.MAX_KEY,X),upperOpen:!0})}}):H}return r(r({},p),{schema:r(r({},g),{primaryKey:R,indexes:_,getIndexByKeyPath:function(H){return(H=x[So(H)])&&H[0]}}),count:function(H){return p.count(z(H))},query:function(H){return p.query(z(H))},openCursor:function(H){var G=H.query.index,X=G.keyTail,K=G.keyLength;return G.isVirtual?p.openCursor(z(H)).then(function(re){return re&&V(re)}):p.openCursor(H);function V(re){return Object.create(re,{continue:{value:function(te){te!=null?re.continue(Sa(te,H.reverse?c.MAX_KEY:c.MIN_KEY,X)):H.unique?re.continue(re.key.slice(0,K).concat(H.reverse?c.MIN_KEY:c.MAX_KEY,X)):re.continue()}},continuePrimaryKey:{value:function(te,ce){re.continuePrimaryKey(Sa(te,c.MAX_KEY,X),ce)}},primaryKey:{get:function(){return re.primaryKey}},key:{get:function(){var te=re.key;return K===1?te[0]:te.slice(0,K)}},value:{get:function(){return re.value}}})}}})}})}};function dc(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=Q(_))!==Q(M)?p[g+x]=f[x]:R==="Object"?dc(_,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 fc(c,f){return f.type==="delete"?f.keys:f.keys||f.values.map(c.extractKey)}var dS={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 _=Le.trans,M=_.table(f).hook,R=M.deleting,q=M.creating,Z=M.updating;switch(x.type){case"add":if(q.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"put":if(q.fire===Re&&Z.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"delete":if(R.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"deleteRange":if(R.fire===Re)break;return _._promise("readwrite",function(){return function z(H,G,X){return p.query({trans:H,values:!1,query:{index:g,range:G},limit:X}).then(function(K){var V=K.result;return Y({type:"delete",keys:V,trans:H}).then(function(re){return 0<re.numFailures?Promise.reject(re.failures[0]):V.length<X?{failures:[],numFailures:0,lastResult:void 0}:z(H,r(r({},G),{lower:V[V.length-1],lowerOpen:!0}),X)})})}(x.trans,x.range,1e4)},!0)}return p.mutate(x);function Y(z){var H,G,X,K=Le.trans,V=z.keys||fc(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)),H=p,X=V,((G=z).type==="add"?Promise.resolve([]):H.getMany({trans:G.trans,keys:X,cache:"immutable"})).then(function(re){var te=V.map(function(ce,ve){var xe,Pe,we,Be=re[ve],Ce={onerror:null,onsuccess:null};return z.type==="delete"?R.fire.call(Ce,ce,Be,K):z.type==="add"||Be===void 0?(xe=q.fire.call(Ce,ce,z.values[ve],K),ce==null&&xe!=null&&(z.keys[ve]=ce=xe,g.outbound||L(z.values[ve],g.keyPath,ce))):(xe=dc(Be,z.values[ve]),(Pe=Z.fire.call(Ce,xe,ce,Be,K))&&(we=z.values[ve],Object.keys(Pe).forEach(function(ze){m(we,ze)?we[ze]=Pe[ze]:L(we,ze,Pe[ze])}))),Ce});return p.mutate(z).then(function(ce){for(var ve=ce.failures,xe=ce.results,Pe=ce.numFailures,ce=ce.lastResult,we=0;we<V.length;++we){var Be=(xe||V)[we],Ce=te[we];Be==null?Ce.onerror&&Ce.onerror(ve[we]):Ce.onsuccess&&Ce.onsuccess(z.type==="put"&&re[we]?z.values[we]:Be)}return{failures:ve,results:xe,numFailures:Pe,lastResult:ce}}).catch(function(ce){return te.forEach(function(ve){return ve.onerror&&ve.onerror(ce)}),Promise.reject(ce)})});throw new Error("Keys missing")}}})}})}};function bf(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)it(f.keys[x],c[_])===0&&(g.push(p?ee(f.values[x]):f.values[x]),++_);return g.length===c.length?g:null}catch{return null}}var fS={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=bf(g.keys,g.trans._cache,g.cache==="clone"))?D.resolve(x):p.getMany(g).then(function(_){return g.trans._cache={keys:g.keys,values:g.cache==="clone"?ee(_):_},_}):p.getMany(g)},mutate:function(g){return g.type!=="add"&&(g.trans._cache=null),p.mutate(g)}})}}}};function vf(c,f){return c.trans.mode==="readonly"&&!!c.subscr&&!c.trans.explicit&&c.trans.db._options.cache!=="disabled"&&!f.schema.primaryKey.outbound}function Sf(c,f){switch(c){case"query":return f.values&&!f.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var hS={stack:"dbcore",level:0,name:"Observability",create:function(c){var f=c.schema.name,p=new Pn(c.MIN_KEY,c.MAX_KEY);return r(r({},c),{transaction:function(g,x,_){if(Le.subscr&&x!=="readonly")throw new ae.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(Le.querier));return c.transaction(g,x,_)},table:function(g){function x(V){var K,V=V.query;return[K=V.index,new Pn((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,q=M.indexes,Z=R.extractKey,Y=R.outbound,z=R.autoIncrement&&q.filter(function(X){return X.compound&&X.keyPath.includes(R.keyPath)}),H=r(r({},_),{mutate:function(X){function K(Se){return Se="idb://".concat(f,"/").concat(g,"/").concat(Se),ve[Se]||(ve[Se]=new Pn)}var V,re,te,ce=X.trans,ve=X.mutatedParts||(X.mutatedParts={}),xe=K(""),Pe=K(":dels"),we=X.type,Ce=X.type==="deleteRange"?[X.range]:X.type==="delete"?[X.keys]:X.values.length<50?[fc(R,X).filter(function(Se){return Se}),X.values]:[],Be=Ce[0],Ce=Ce[1],ze=X.trans._cache;return l(Be)?(xe.addKeys(Be),(we=we==="delete"||Be.length===Ce.length?bf(Be,ze):null)||Pe.addKeys(Be),(we||Ce)&&(V=K,re=we,te=Ce,M.indexes.forEach(function(Se){var tt=V(Se.name||"");function nt(yt){return yt!=null?Se.extractKey(yt):null}function at(yt){Se.multiEntry&&l(yt)?yt.forEach(function(Bn){return tt.addKey(Bn)}):tt.addKey(yt)}(re||te).forEach(function(yt,En){var ot=re&&nt(re[En]),En=te&&nt(te[En]);it(ot,En)!==0&&(ot!=null&&at(ot),En!=null)&&at(En)})}))):Be?(Ce={from:(ze=Be.lower)!=null?ze:c.MIN_KEY,to:(we=Be.upper)!=null?we:c.MAX_KEY},Pe.add(Ce),xe.add(Ce)):(xe.add(p),Pe.add(p),M.indexes.forEach(function(Se){return K(Se.name).add(p)})),_.mutate(X).then(function(Se){return!Be||X.type!=="add"&&X.type!=="put"||(xe.addKeys(Se.results),z&&z.forEach(function(tt){for(var nt=X.values.map(function(ot){return tt.extractKey(ot)}),at=tt.keyPath.findIndex(function(ot){return ot===R.keyPath}),yt=0,Bn=Se.results.length;yt<Bn;++yt)nt[yt][at]=Se.results[yt];K(tt.name).addKeys(nt)})),ce.mutatedParts=ba(ce.mutatedParts||{},ve),Se})}}),G={get:function(X){return[R,new Pn(X.key)]},getMany:function(X){return[R,new Pn().addKeys(X.keys)]},count:x,query:x,openCursor:x};return i(G).forEach(function(X){H[X]=function(K){var V=Le.subscr,re=!!V,te=vf(Le,_)&&Sf(X,K)?K.obsSet={}:V;if(re){var ce,V=function(Ce){return Ce="idb://".concat(f,"/").concat(g,"/").concat(Ce),te[Ce]||(te[Ce]=new Pn)},ve=V(""),xe=V(":dels"),re=G[X](K),Pe=re[0],re=re[1];if((X==="query"&&Pe.isPrimaryKey&&!K.values?xe:V(Pe.name||"")).add(re),!Pe.isPrimaryKey){if(X!=="count")return ce=X==="query"&&Y&&K.values&&_.query(r(r({},K),{values:!1})),_[X].apply(this,arguments).then(function(Ce){if(X==="query"){if(Y&&K.values)return ce.then(function(nt){return nt=nt.result,ve.addKeys(nt),Ce});var ze=K.values?Ce.result.map(Z):Ce.result;(K.values?ve:xe).addKeys(ze)}else{var Se,tt;if(X==="openCursor")return tt=K.values,(Se=Ce)&&Object.create(Se,{key:{get:function(){return xe.addKey(Se.primaryKey),Se.key}},primaryKey:{get:function(){var nt=Se.primaryKey;return xe.addKey(nt),nt}},value:{get:function(){return tt&&ve.addKey(Se.primaryKey),Se.value}}})}return Ce});xe.add(p)}}return _[X].apply(this,arguments)}}),H}})}};function xf(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 hc(c,f){return p=c,((g=f).lower===void 0||(g.lowerOpen?0<it(p,g.lower):0<=it(p,g.lower)))&&(p=c,(g=f).upper===void 0||(g.upperOpen?it(p,g.upper)<0:it(p,g.upper)<=0));var p,g}function wf(c,f,p,g,x,_){var M,R,q,Z,Y,z,H;return!p||p.length===0||(M=f.query.index,R=M.multiEntry,q=f.query.range,Z=g.schema.primaryKey.extractKey,Y=M.extractKey,z=(M.lowLevelIndex||M).extractKey,(g=p.reduce(function(G,X){var K=G,V=[];if(X.type==="add"||X.type==="put")for(var re=new Pn,te=X.values.length-1;0<=te;--te){var ce,ve=X.values[te],xe=Z(ve);!re.hasKey(xe)&&(ce=Y(ve),R&&l(ce)?ce.some(function(ze){return hc(ze,q)}):hc(ce,q))&&(re.addKey(xe),V.push(ve))}switch(X.type){case"add":var Pe=new Pn().addKeys(f.values?G.map(function(Se){return Z(Se)}):G),K=G.concat(f.values?V.filter(function(Se){return Se=Z(Se),!Pe.hasKey(Se)&&(Pe.addKey(Se),!0)}):V.map(function(Se){return Z(Se)}).filter(function(Se){return!Pe.hasKey(Se)&&(Pe.addKey(Se),!0)}));break;case"put":var we=new Pn().addKeys(X.values.map(function(Se){return Z(Se)}));K=G.filter(function(Se){return!we.hasKey(f.values?Z(Se):Se)}).concat(f.values?V:V.map(function(Se){return Z(Se)}));break;case"delete":var Be=new Pn().addKeys(X.keys);K=G.filter(function(Se){return!Be.hasKey(f.values?Z(Se):Se)});break;case"deleteRange":var Ce=X.range;K=G.filter(function(Se){return!hc(Z(Se),Ce)})}return K},c))===c)?c:(H=function(G,X){return it(z(G),z(X))||it(Z(G),Z(X))},g.sort(f.direction==="prev"||f.direction==="prevunique"?function(G,X){return H(X,G)}:H),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 _f(c,f){return it(c.lower,f.lower)===0&&it(c.upper,f.upper)===0&&!!c.lowerOpen==!!f.lowerOpen&&!!c.upperOpen==!!f.upperOpen}function pS(c,f){return((p,g,x,_)=>{if(p===void 0)return g!==void 0?-1:0;if(g===void 0)return 1;if((p=it(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=it(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 mS(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&&ie(_,x)},3e3))})}var gS={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(q){return function(){if(_.abort(),g==="readwrite"){for(var Z=new Set,Y=0,z=p;Y<z.length;Y++){var H=z[Y],G=es["idb://".concat(f,"/").concat(H)];if(G){var X=c.table(H),K=G.optimisticOps.filter(function(Se){return Se.trans===R});if(R._explicit&&q&&R.mutatedParts)for(var V=0,re=Object.values(G.queries.query);V<re.length;V++)for(var te=0,ce=(Pe=re[V]).slice();te<ce.length;te++)ic((we=ce[te]).obsSet,R.mutatedParts)&&(ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)}));else if(0<K.length){G.optimisticOps=G.optimisticOps.filter(function(Se){return Se.trans!==R});for(var ve=0,xe=Object.values(G.queries.query);ve<xe.length;ve++)for(var Pe,we,Be,Ce=0,ze=(Pe=xe[ve]).slice();Ce<ze.length;Ce++)(we=ze[Ce]).res!=null&&R.mutatedParts&&(q&&!we.dirty?(Be=Object.isFrozen(we.res),Be=wf(we.res,we.req,K,X,we,Be),we.dirty?(ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)})):Be!==we.res&&(we.res=Be,we.promise=D.resolve({result:Be}))):(we.dirty&&ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)})))}}}Z.forEach(function(Se){return Se()})}}})(!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=Le.trans;return!x.outbound&&R.db._options.cache!=="disabled"&&!R.explicit&&R.idbtrans.mode==="readwrite"&&(M=es["idb://".concat(f,"/").concat(p)])?(R=g.mutate(_),_.type!=="add"&&_.type!=="put"||!(50<=_.values.length||fc(x,_).some(function(q){return q==null}))?(M.optimisticOps.push(_),_.mutatedParts&&va(_.mutatedParts),R.then(function(q){0<q.numFailures&&(ie(M.optimisticOps,_),(q=xf(0,_,q))&&M.optimisticOps.push(q),_.mutatedParts)&&va(_.mutatedParts)}),R.catch(function(){ie(M.optimisticOps,_),_.mutatedParts&&va(_.mutatedParts)})):R.then(function(q){var Z=xf(0,r(r({},_),{values:_.values.map(function(Y,z){var H;return q.failures[z]?Y:(L(H=(H=x.keyPath)!=null&&H.includes(".")?ee(Y):r({},Y),x.keyPath,q.results[z]),H)})}),q);M.optimisticOps.push(Z),queueMicrotask(function(){return _.mutatedParts&&va(_.mutatedParts)})}),R):g.mutate(_)},query:function(_){var M,R,q,Z,Y,z,H;return vf(Le,g)&&Sf("query",_)?(M=((q=Le.trans)==null?void 0:q.db._options.cache)==="immutable",R=(q=Le).requery,q=q.signal,z=((G,X,K,V)=>{var re=es["idb://".concat(G,"/").concat(X)];if(!re)return[];if(!(G=re.queries[K]))return[null,!1,re,null];var te=G[(V.query?V.query.index.name:null)||""];if(!te)return[null,!1,re,null];switch(K){case"query":var ce=(ve=V.direction)!=null?ve:"next",ve=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&&_f(xe.req.query.range,V.query.range)});return ve?[ve,!0,re,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)&&pS(xe.req.query.range,V.query.range)}),!1,re,te];case"count":return ve=te.find(function(xe){return _f(xe.req.query.range,V.query.range)}),[ve,!!ve,re,te]}})(f,p,"query",_),H=z[0],Z=z[2],Y=z[3],H&&z[1]?H.obsSet=_.obsSet:(z=g.query(_).then(function(G){var X=G.result;if(H&&(H.res=X),M){for(var K=0,V=X.length;K<V;++K)Object.freeze(X[K]);Object.freeze(X)}else G.result=ee(X);return G}).catch(function(G){return Y&&H&&ie(Y,H),Promise.reject(G)}),H={obsSet:_.obsSet,promise:z,subscribers:new Set,type:"query",req:_,dirty:!1},Y?Y.push(H):(Y=[H],(Z=Z||(es["idb://".concat(f,"/").concat(p)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[_.query.index.name||""]=Y)),mS(H,Y,R,q),H.promise.then(function(G){return{result:wf(G.result,_,Z==null?void 0:Z.optimisticOps,g,H,M)}})):g.query(_)}})}})}};function xa(c,f){return new Proxy(c,{get:function(p,g,x){return g==="db"?f:Reflect.get(p,g,x)}})}Zt.prototype.version=function(c){if(isNaN(c)||c<.1)throw new ae.Type("Given version is not a positive number");if(c=Math.round(10*c)/10,this.idbdb||this._state.isBeingOpened)throw new ae.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(oS),p.stores({}),this._state.autoSchema=!1),p},Zt.prototype._whenReady=function(c){var f=this;return this.idbdb&&(this._state.openComplete||Le.letThrough||this._vip)?c():new D(function(p,g){if(f._state.openComplete)return g(new ae.DatabaseClosed(f._state.dbOpenError));if(!f._state.isBeingOpened){if(!f._state.autoOpen)return void g(new ae.DatabaseClosed);f.open().catch(Re)}f._state.dbReadyPromise.then(p,g)}).then(c)},Zt.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},Zt.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},Zt.prototype.open=function(){var c=this;return cr(Jt,function(){return cS(c)})},Zt.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var c=this._state;if(xo.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}c.isBeingOpened||(c.dbReadyPromise=new D(function(f){c.dbReadyResolve=f}),c.openCanceller=new D(function(f,p){c.cancelOpen=p}))},Zt.prototype.close=function(f){var f=(f===void 0?{disableAutoOpen:!0}:f).disableAutoOpen,p=this._state;f?(p.isBeingOpened&&p.cancelOpen(new ae.DatabaseClosed),this._close(),p.autoOpen=!1,p.dbOpenError=new ae.DatabaseClosed):(this._close(),p.autoOpen=this._options.autoOpen||p.isBeingOpened,p.openComplete=!1,p.dbOpenError=null)},Zt.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 D(function(x,_){function M(){f.close(c);var R=f._deps.indexedDB.deleteDatabase(f.name);R.onsuccess=Te(function(){var q,Z,Y;q=f._deps,Z=f.name,rc(Y=q.indexedDB)||Z===lt||nc(Y,q.IDBKeyRange).delete(Z).catch(Re),x()}),R.onerror=tr(_),R.onblocked=f._fireOnBlocked}if(p)throw new ae.InvalidArgument("Invalid closeOptions argument to db.delete()");g.isBeingOpened?g.dbReadyPromise.then(M):M()})},Zt.prototype.backendDB=function(){return this.idbdb},Zt.prototype.isOpen=function(){return this.idbdb!==null},Zt.prototype.hasBeenClosed=function(){var c=this._state.dbOpenError;return c&&c.name==="DatabaseClosed"},Zt.prototype.hasFailed=function(){return this._state.dbOpenError!==null},Zt.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(Zt.prototype,"tables",{get:function(){var c=this;return i(this._allTables).map(function(f){return c._allTables[f]})},enumerable:!1,configurable:!0}),Zt.prototype.transaction=function(){var c=(function(f,p,g){var x=arguments.length;if(x<2)throw new ae.InvalidArgument("Too few arguments");for(var _=new Array(x-1);--x;)_[x-1]=arguments[x];return g=_.pop(),[f,B(_),g]}).apply(this,arguments);return this._transaction.apply(this,c)},Zt.prototype._transaction=function(c,f,p){var g,x,_=this,M=Le.trans,R=(M&&M.db===this&&c.indexOf("!")===-1||(M=null),c.indexOf("?")!==-1);c=c.replace("!","").replace("?","");try{if(x=f.map(function(Z){if(Z=Z instanceof _.Table?Z.name:Z,typeof Z!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return Z}),c=="r"||c===At)g=At;else{if(c!="rw"&&c!=zt)throw new ae.InvalidArgument("Invalid transaction mode: "+c);g=zt}if(M){if(M.mode===At&&g===zt){if(!R)throw new ae.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");M=null}M&&x.forEach(function(Z){if(M&&M.storeNames.indexOf(Z)===-1){if(!R)throw new ae.SubTransaction("Table "+Z+" not included in parent transaction.");M=null}}),R&&M&&!M.active&&(M=null)}}catch(Z){return M?M._promise(null,function(Y,z){z(Z)}):Bt(Z)}var q=(function Z(Y,z,H,G,X){return D.resolve().then(function(){var te=Le.transless||Le,K=Y._createTransaction(z,H,Y._dbSchema,G),te=(K.explicit=!0,{trans:K,transless:te});if(G)K.idbtrans=G.idbtrans;else try{K.create(),K.idbtrans._explicit=!0,Y._state.PR1398_maxLoop=3}catch(ce){return ce.name===bt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return Z(Y,z,H,null,X)})):Bt(ce)}var V,re=ge(X),te=(re&&ar(),D.follow(function(){var ce;(V=X.call(K,K))&&(re?(ce=er.bind(null,null),V.then(ce,ce)):typeof V.next=="function"&&typeof V.throw=="function"&&(V=uc(V)))},te));return(V&&typeof V.then=="function"?D.resolve(V).then(function(ce){return K.active?ce:Bt(new ae.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):te.then(function(){return V})).then(function(ce){return G&&K._resolve(),K._completion.then(function(){return ce})}).catch(function(ce){return K._reject(ce),Bt(ce)})})}).bind(null,this,g,x,M,p);return M?M._promise(g,q,"lock"):Le.trans?cr(Le.transless,function(){return _._whenReady(q)}):this._whenReady(q)},Zt.prototype.table=function(c){if(m(this._allTables,c))return this._allTables[c];throw new ae.InvalidTable("Table ".concat(c," does not exist"))};var Tr=Zt;function Zt(c,f){var p,g,x,_,M,R=this,q=(this._middlewares={},this.verno=0,Zt.dependencies),q=(this._options=f=r({addons:Zt.addons,autoOpen:!0,indexedDB:q.indexedDB,IDBKeyRange:q.IDBKeyRange,cache:"cloned",maxConnections:1e3},f),this._deps={indexedDB:f.indexedDB,IDBKeyRange:f.IDBKeyRange},f.addons),Z=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Re,dbReadyPromise:null,cancelOpen:Re,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:f.autoOpen}),Y=(Z.dbReadyPromise=new D(function(z){Z.dbReadyResolve=z}),Z.openCanceller=new D(function(z,H){Z.cancelOpen=H}),this._state=Z,this.name=c,this.on=mo(this,"populate","blocked","versionchange","close",{ready:[Mt,Re]}),this.once=function(z,H){var G=function(){for(var X=[],K=0;K<arguments.length;K++)X[K]=arguments[K];R.on(z).unsubscribe(G),H.apply(R,X)};return R.on(z,G)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(z){return function(H,G){Zt.vip(function(){var X,K=R._state;K.openComplete?(K.dbOpenError||D.resolve().then(H),G&&z(H)):K.onReadyBeingFired?(K.onReadyBeingFired.push(H),G&&z(H)):(z(H),X=R,G||z(function V(){X.on.ready.unsubscribe(H),X.on.ready.unsubscribe(V)}))})}}),this.Collection=(p=this,go(Qv.prototype,function(V,K){this.db=p;var G=rn,X=null;if(K)try{G=K()}catch(te){X=te}var K=V._ctx,V=K.table,re=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:G,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:re!==Ue?re:null}})),this.Table=(g=this,go(rf.prototype,function(z,H,G){this.db=g,this._tx=G,this.name=z,this.schema=H,this.hook=g._allTables[z]?g._allTables[z].hook:mo(null,{creating:[gt,Re],reading:[Ot,Ue],updating:[nn,Re],deleting:[Ht,Re]})})),this.Transaction=(x=this,go(tS.prototype,function(z,H,G,X,K){var V=this;z!=="readonly"&&H.forEach(function(re){re=(re=G[re])==null?void 0:re.yProps,re&&(H=H.concat(re.map(function(te){return te.updatesTable})))}),this.db=x,this.mode=z,this.storeNames=H,this.schema=G,this.chromeTransactionDurability=X,this.idbtrans=null,this.on=mo(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 D(function(re,te){V._resolve=re,V._reject=te}),this._completion.then(function(){V.active=!1,V.on.complete.fire()},function(re){var te=V.active;return V.active=!1,V.on.error.fire(re),V.parent?V.parent._reject(re):te&&V.idbtrans&&V.idbtrans.abort(),Bt(re)})})),this.Version=(_=this,go(lS.prototype,function(z){this.db=_,this._cfg={version:z,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(M=this,go(cf.prototype,function(z,H,G){if(this.db=M,this._ctx={table:z,index:H===":id"?null:H,or:G},this._cmp=this._ascending=it,this._descending=function(X,K){return it(K,X)},this._max=function(X,K){return 0<it(X,K)?X:K},this._min=function(X,K){return it(X,K)<0?X:K},this._IDBKeyRange=M._deps.IDBKeyRange,!this._IDBKeyRange)throw new ae.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=vo(f.IDBKeyRange),this._createTransaction=function(z,H,G,X){return new R.Transaction(z,H,G,R._options.chromeTransactionDurability,X)},this._fireOnBlocked=function(z){R.on("blocked").fire(z),xo.toArray().filter(function(H){return H.name===R.name&&H!==R&&!H._state.vcFired}).map(function(H){return H.on("versionchange").fire(z)})},this.use(fS),this.use(gS),this.use(hS),this.use(uS),this.use(dS),new Proxy(this,{get:function(z,H,G){var X;return H==="_vip"||(H==="table"?function(K){return xa(R.table(K),Y)}:(X=Reflect.get(z,H,G))instanceof rf?xa(X,Y):H==="tables"?X.map(function(K){return xa(K,Y)}):H==="_createTransaction"?function(){return xa(X.apply(this,arguments),Y)}:X)}}));this.vip=Y,q.forEach(function(z){return z(R)})}var wa,$s=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",yS=(pc.prototype.subscribe=function(c,f,p){return this._subscribe(c&&typeof c!="function"?c:{next:c,error:f,complete:p})},pc.prototype[$s]=function(){return this},pc);function pc(c){this._subscribe=c}try{wa={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch{wa={indexedDB:null,IDBKeyRange:null}}function kf(c){var f,p=!1,g=new yS(function(x){var _=ge(c),M,R=!1,q={},Z={},Y={get closed(){return R},unsubscribe:function(){R||(R=!0,M&&M.abort(),z&&Or.storagemutated.unsubscribe(X))}},z=(x.start&&x.start(Y),!1),H=function(){return Rs(K)};function G(){return ic(Z,q)}var X=function(V){ba(q,V),G()&&H()},K=function(){var V,re,te;!R&&wa.indexedDB&&(q={},V={},M&&M.abort(),M=new AbortController,te=(ce=>{var ve=ht();try{_&&ar();var xe=Zn(c,ce);return xe=_?xe.finally(er):xe}finally{ve&&kt()}})(re={subscr:V,signal:M.signal,requery:H,querier:c,trans:null}),z||(Or(bo,X),z=!0),Promise.resolve(te).then(function(ce){p=!0,f=ce,R||re.signal.aborted||(G()||(Z=V,G())?H():(q={},Rs(function(){return!R&&x.next&&x.next(ce)})))},function(ce){p=!1,["DatabaseClosedError","AbortError"].includes(ce==null?void 0:ce.name)||R||Rs(function(){R||x.error&&x.error(ce)})}))};return setTimeout(H,0),Y});return g.hasValue=function(){return p},g.getValue=function(){return f},g}var ts=Tr;function mc(c){var f=$r;try{$r=!0,Or.storagemutated.fire(c),cc(c,!0)}finally{$r=f}}b(ts,r(r({},de),{delete:function(c){return new ts(c,{addons:[]}).delete()},exists:function(c){return new ts(c,{addons:[]}).open().then(function(f){return f.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(c){try{return f=ts.dependencies,p=f.indexedDB,f=f.IDBKeyRange,(rc(p)?Promise.resolve(p.databases()).then(function(g){return g.map(function(x){return x.name}).filter(function(x){return x!==lt})}):nc(p,f).toCollection().primaryKeys()).then(c)}catch{return Bt(new ae.MissingAPI)}var f,p},defineClass:function(){return function(c){u(this,c)}},ignoreTransaction:function(c){return Le.trans?cr(Le.transless||Jt,c):c()},vip:sc,async:function(c){return function(){try{var f=uc(c.apply(this,arguments));return f&&typeof f.then=="function"?f:D.resolve(f)}catch(p){return Bt(p)}}},spawn:function(c,f,p){try{var g=uc(c.apply(p,f||[]));return g&&typeof g.then=="function"?g:D.resolve(g)}catch(x){return Bt(x)}},currentTransaction:{get:function(){return Le.trans||null}},waitFor:function(c,f){return c=D.resolve(typeof c=="function"?ts.ignoreTransaction(c):c).timeout(f||6e4),Le.trans?Le.trans.waitFor(c):c},Promise:D,debug:{get:function(){return qt},set:function(c){Yt(c)}},derive:S,extend:u,props:b,override:j,Events:mo,on:Or,liveQuery:kf,extendObservabilitySet:ba,getByKeyPath:A,setByKeyPath:L,delByKeyPath:function(c,f){typeof f=="string"?L(c,f,void 0):"length"in f&&[].map.call(f,function(p){L(c,p,void 0)})},shallowClone:F,deepClone:ee,getObjectDiff:dc,cmp:it,asap:E,minKey:-1/0,addons:[],connections:{get:xo.toArray},errnames:bt,dependencies:wa,cache:es,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)})})),ts.maxKey=vo(ts.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Or(bo,function(c){$r||(c=new CustomEvent(Vl,{detail:c}),$r=!0,dispatchEvent(c),$r=!1)}),addEventListener(Vl,function(c){c=c.detail,$r||mc(c)}));var Ls,$r=!1,Cf=function(){};return typeof BroadcastChannel<"u"&&((Cf=function(){(Ls=new BroadcastChannel(Vl)).onmessage=function(c){return c.data&&mc(c.data)}})(),typeof Ls.unref=="function"&&Ls.unref(),Or(bo,function(c){$r||Ls.postMessage(c)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(c){if(!Tr.disableBfCache&&c.persisted){qt&&console.debug("Dexie: handling persisted pagehide"),Ls!=null&&Ls.close();for(var f=0,p=xo.toArray();f<p.length;f++)p[f].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(c){!Tr.disableBfCache&&c.persisted&&(qt&&console.debug("Dexie: handling persisted pageshow"),Cf(),mc({all:new Pn(-1/0,[[]])}))})),D.rejectionMapper=function(c,f){return!c||c instanceof ue||c instanceof TypeError||c instanceof SyntaxError||!c.name||!ye[c.name]?c:(f=new ye[c.name](f||c.message,c),"stack"in c&&w(f,"stack",{get:function(){return this.inner.stack}}),f)},Yt(qt),r(Tr,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:Tr,Entity:sn,PropModification:po,RangeSet:Pn,add:function(c){return new po({add:c})},cmp:it,default:Tr,liveQuery:kf,mergeRanges:_o,rangesOverlap:pf,remove:function(c){return new po({remove:c})},replacePrefix:function(c,f){return new po({replacePrefix:[c,f]})}}),{default:Tr}),Tr})}(Ja)),Ja.exports}var i_=o_();const gu=Cs(i_),Gf=Symbol.for("Dexie"),yl=globalThis[Gf]||(globalThis[Gf]=gu);if(gu.semVer!==yl.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${gu.semVer} and ${yl.semVer}`);const{liveQuery:fI,mergeRanges:hI,rangesOverlap:pI,RangeSet:mI,cmp:gI,Entity:yI,PropModification:bI,replacePrefix:vI,add:SI,remove:xI,DexieYProvider:wI}=yl;class a_ extends yl{constructor(){super("LotusStorage");Et(this,"scrollAnchors");Et(this,"toolSessionCollapses");Et(this,"diffCollapses");Et(this,"inputStates");Et(this,"modelOptionsCaches");this.version(1).stores({scrollAnchors:"sessionId, ts",toolSessionCollapses:"id, sessionId, updatedAt",diffCollapses:"sessionId, updatedAt",inputStates:"sessionId, updatedAt",modelOptionsCaches:"provider, timestamp"})}}const l_=new a_,ms=class ms{constructor(){Et(this,"db",l_)}static getInstance(){return ms.instance||(ms.instance=new ms),ms.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}}}};Et(ms,"instance");let Hn=ms;const Ug="chat_input_reasoning_by_session_v1",qg="chat_input_reasoning_last_used_v1",Jf={content:"",referenceText:null,attachments:[],reasoningEffort:"medium"},md=e=>e==="low"||e==="medium"||e==="high"||e==="xhigh"||e==="max",Hg=()=>{if(typeof window>"u")return{};try{const e=localStorage.getItem(Ug);if(!e)return{};const t=JSON.parse(e),n={};for(const[r,s]of Object.entries(t||{}))md(s)&&(n[r]=s);return n}catch{return{}}},c_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ug,JSON.stringify(e))}catch{}},u_=()=>{if(!(typeof window>"u"))try{const e=localStorage.getItem(qg);return md(e)?e:void 0}catch{return}},d_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(qg,e)}catch{}},Yg=e=>{const t=Hg();return md(t[e])?t[e]:u_()},Po=e=>({...Jf,reasoningEffort:Yg(e)??Jf.reasoningEffort}),f_=(e,t)=>({inputStates:{},setInputContent:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),content:r}}})),setReferenceText:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),referenceText:r}}})),setAttachments:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),attachments:r}}})),setInputReasoningEffort:(n,r)=>{e(i=>({inputStates:{...i.inputStates,[n]:{...i.inputStates[n]||Po(n),reasoningEffort:r}}}));const s=Hg();s[n]=r,c_(s),d_(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]||Po(n)}),h_="bamboo_proxy_auth",p_=()=>{try{const e=localStorage.getItem(h_);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}},Xg={byId:{},runningCount:0},m_=[],$n=(e,t)=>t?e.executionBySession[t]??null:null,g_=e=>t=>$n(t,e),y_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.phase)??"idle"},Zi=e=>t=>{const n=$n(t,e);return $l(n==null?void 0:n.phase)},Kg=e=>t=>{const n=$n(t,e);return n?n.phase==="streaming"?!0:n.phase==="running_tools"&&n.stream.hasTokens:!1},b_=e=>t=>{const n=$n(t,e);return n?n.phase==="waiting_user_answer"||n.interaction.pendingQuestion!==null||n.backend.hasPendingQuestion===!0:!1},Vg=e=>t=>{const n=$n(t,e);return dw(n==null?void 0:n.phase)},Gg=e=>t=>{const n=$n(t,e);return fw(n==null?void 0:n.phase)},gr=e=>t=>{const n=$n(t,e);return $l(n==null?void 0:n.phase)},v_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.stream.activeToolCalls)??m_},Zs=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.interaction.pendingQuestion)??null},S_=e=>t=>{if(!e)return null;const n=Zs(e)(t);return n?{sessionId:e,question:n.question,options:n.options,allowCustom:n.allowCustom,toolCallId:n.toolCallId}:null},Ui=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.children.byId)??Xg.byId},x_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.children)??Xg},It=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.generation)??0},w_=Object.freeze({state:"idle",activeToolCalls:[],runningChildCount:0,hasQuestion:!1,hasError:!1,errorMessage:null,generation:0}),__=e=>t=>{var r;const n=$n(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}:w_},k_=e=>t=>e.map(n=>({sessionId:n??"",entry:$n(t,n)})),C_="auto",T_="required",P_=1e4,E_=15e3,M_=Qn.getInstance();let Qf=null,Eo=null,Zf=null,Mo=null;const eh=new WeakMap,se=Jr()(ew(nw((e,t,n)=>({...Ww(e,t),...Yw(e,t),...Gw(e,t),...Qw(),...e_(e,t),...t_(e),...r_(e,t),...f_(e,t),...Cw(e,t),agentAvailability:null,setAgentAvailability:r=>{e({agentAvailability:r})},checkAgentAvailability:async()=>{if(Eo)return Eo;Eo=(async()=>{const r=await M_.healthCheck();return t().agentAvailability!==r&&e({agentAvailability:r}),r})();try{return await Eo}finally{Eo=null}},startAgentHealthCheck:()=>{Qf||(t().checkAgentAvailability(),Qf=setInterval(()=>{t().checkAgentAvailability()},P_))},refreshSessionsIndex:async()=>{if(Mo)return Mo;Mo=(async()=>{try{await t().refreshChats()}catch(r){console.warn("[AppStore] refreshChats failed:",r)}})();try{return await Mo}finally{Mo=null}},startSessionsIndexSync:()=>{Zf||(t().refreshSessionsIndex(),Zf=setInterval(()=>{t().refreshSessionsIndex()},E_))}})),{name:"AppStore"})),Jg=e=>{const t=eh.get(e);if(t)return t;const n=new Map(e.map(r=>[r.id,r]));return eh.set(e,n),n},js=e=>t=>e?Jg(t.chats).get(e)??null:null,Qg=e=>e.currentSessionId?Jg(e.chats).get(e.currentSessionId)??null:null,j_=e=>{var t;return((t=Qg(e))==null?void 0:t.messages)??[]},th=async()=>{const e=p_();if(!e)return!1;try{return await cs.setProxyAuth(e),!0}catch(t){return console.error("Failed to apply stored proxy auth during startup:",t),!1}},R_=async()=>{try{const e=await mu.getState().loadConfig();if((typeof(e==null?void 0:e.proxy_auth_mode)=="string"?e.proxy_auth_mode:C_)!==T_)return await th(),!1;const n=await mu.getState().loadProxyAuthStatus({force:!0});return n!=null&&n.configured||await th()?!1:(se.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 nh=!1,Zg=!1,Pa=null;const gd=async(e=!1)=>{nh&&!e||(nh=!0,se.getState().startAgentHealthCheck(),se.getState().startSessionsIndexSync(),await Nt.getState().loadProviderConfig(),await se.getState().loadChats(),Zg=!0)},yd=async()=>{if(Zg)return Pa||(Pa=(async()=>{try{await R_()||await se.getState().fetchModels(),await se.getState().loadSystemPrompts()}catch(e){console.error("[AppStore] Deferred bootstrap failed:",e)}})(),Pa)},A_=async(e=!1)=>{await gd(e),yd().catch(t=>{console.error("[AppStore] Deferred bootstrap error:",t)})},_I=Object.freeze(Object.defineProperty({__proto__:null,bootstrapCritical:gd,bootstrapDeferred:yd,initializeStore:A_,selectActiveToolCalls:v_,selectCanCancel:Gg,selectChildren:Ui,selectChildrenSnapshot:x_,selectCurrentChat:Qg,selectCurrentMessages:j_,selectExecutionByPane:k_,selectExecutionPhase:y_,selectExecutionState:g_,selectGeneration:It,selectIsAwaitingUser:b_,selectIsBusy:Zi,selectIsInputLocked:Vg,selectIsStreaming:Kg,selectPendingQuestion:Zs,selectRailModel:__,selectRespondMode:S_,selectSessionById:js,selectShouldObserve:gr,useAppStore:se},Symbol.toStringTag,{value:"Module"})),Ea={THEME:"copilot_ui_theme_v1",LAYOUT:"copilot_ui_layout_v1"};class I_{getTheme(){try{return localStorage.getItem(Ea.THEME)}catch(t){return console.error("Failed to get theme:",t),null}}setTheme(t){try{localStorage.setItem(Ea.THEME,t)}catch(n){console.error("Failed to set theme:",n)}}getLayout(){try{return localStorage.getItem(Ea.LAYOUT)}catch(t){return console.error("Failed to get layout:",t),null}}setLayout(t){try{localStorage.setItem(Ea.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 ey=new I_,bd={collapsed:!1,widthPx:260,collapsedWidthPx:72,minWidthPx:180,maxWidthPx:520},qr={widthPx:520,minWidthPx:420,maxWidthPx:840},ty={v:2,sidebar:bd,inspector:qr,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:null},splitSizesPx:{}},rh=e=>{const t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return`${e}-${t}`},Vn=e=>e.type==="leaf"?[e.id]:[...Vn(e.children[0]),...Vn(e.children[1])],qi=e=>e.type==="leaf"?[]:[e.id,...qi(e.children[0]),...qi(e.children[1])],O_=(e,t)=>{for(const[n,r]of Object.entries(e))if(r===t)return n;return null},$_=(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},yu=(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:[yu(e.children[0],t,n,r,s),yu(e.children[1],t,n,r,s)]},bu=(e,t)=>{if(e.type==="leaf")return e.id===t?{node:null,removed:!0}:{node:e,removed:!1};const n=bu(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=bu(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}},L_=e=>({v:2,sidebar:e.sidebar,inspector:e.inspector,tree:e.tree,activeLeafId:e.activeLeafId,leafSessionIds:e.leafSessionIds,splitSizesPx:e.splitSizesPx}),F_=e=>{try{ey.setLayout(JSON.stringify(e))}catch(t){console.warn("[uiLayoutStore] Failed to persist layout:",t)}},hr=e=>{const t=L_(e);return F_(t),t},D_=e=>{var v,w,S,k,P,T,j,C,E,A,L;const t={...bd,...e.sidebar||{}},n={...qr},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 F="split-root",N=s,B=N==="horizontal"?{type:"split",id:F,layout:N,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"rt"}]}:{type:"split",id:F,layout:N,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},U=N==="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;U&&(l[F]=U);const $=Vn(B);return{v:2,sidebar:t,inspector:n,tree:B,activeLeafId:$.includes(i)?i:$[0],leafSessionIds:Object.fromEntries($.map(ee=>[ee,o[ee]??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),(L=e.split)!=null&&L.rightRowsPx&&(l[h]=e.split.rightRowsPx);const b=Vn(m);return{v:2,sidebar:t,inspector:n,tree:m,activeLeafId:b.includes(i)?i:b[0],leafSessionIds:Object.fromEntries(b.map(F=>[F,o[F]??null])),splitSizesPx:l}},N_=e=>{if(!e)return null;try{const t=JSON.parse(e);if(!t||typeof t!="object")return null;if(t.v===2){const n={...bd,...t.sidebar||{}},r=t.inspector||{},s={...qr,...r},o=Math.max(qr.minWidthPx,Number.isFinite(s.minWidthPx)?s.minWidthPx:qr.minWidthPx),i=Math.max(o,Math.max(qr.maxWidthPx,Number.isFinite(s.maxWidthPx)?s.maxWidthPx:qr.maxWidthPx)),u={widthPx:Math.max(o,Math.min(i,Number.isFinite(s.widthPx)?s.widthPx:qr.widthPx)),minWidthPx:o,maxWidthPx:i},d=t.tree||ty.tree,h=Vn(d),m=qi(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=$_(h,b);return{v:2,sidebar:n,inspector:u,tree:d,activeLeafId:w,leafSessionIds:S,splitSizesPx:v}}return t.v===1?D_(t):null}catch{return null}},B_=()=>N_(ey.getLayout())??ty,mt=Jr(e=>({...B_(),setSidebarCollapsed:t=>{e(n=>n.sidebar.collapsed===t?n:hr({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:hr({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:hr({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||!Vn(n.tree).includes(t)?n:(Kn("setActiveLeafId",{from:n.activeLeafId,to:t}),hr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:t,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})))},setLeafSessionId:(t,n)=>{e(r=>{const s=Vn(r.tree);if(!s.includes(t)||(r.leafSessionIds[t]??null)===n)return r;const o=[];Kn("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&&Kn("setLeafSessionId dedupe",{sessionId:n,clearedLeafIds:o,assignedLeafId:t}),s.forEach(l=>{l in i||(i[l]=null)}),hr({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?hr({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=Vn(r.tree);if(!s.includes(t)||s.length>=4)return r;const o=rh("split"),i=rh("pane"),l=yu(r.tree,t,n,o,i),u={...r.leafSessionIds,[i]:null};return hr({sidebar:r.sidebar,inspector:r.inspector,tree:l,activeLeafId:i,leafSessionIds:u,splitSizesPx:r.splitSizesPx})})},closeLeaf:t=>{e(n=>{const r=Vn(n.tree);if(!r.includes(t)||r.length<=1)return n;const s=bu(n.tree,t);if(!s.removed||!s.node)return n;const o=s.node,i=Vn(o),l=qi(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 hr({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:hr({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(qi(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:hr({sidebar:t.sidebar,inspector:t.inspector,tree:t.tree,activeLeafId:t.activeLeafId,leafSessionIds:t.leafSessionIds,splitSizesPx:r})})}})),z_=async(e,t)=>{var i;const n=se.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=se.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)},W_=(e,t)=>{const{activeLeafId:n,leafSessionIds:r,setLeafSessionId:s,setActiveLeafId:o}=mt.getState(),i=O_(r,e),l=r[n]??null;Kn("openSession (input)",{activeLeafId:n,activeLeafSessionId:l,sessionId:e,existingLeafId:i}),i?i===n?Kn("openSession (decision)",{action:"noop_already_active",leafId:n,sessionId:e}):(o(i),Kn("openSession (decision)",{action:"focus_existing_leaf",leafId:i,sessionId:e})):(s(n,e),Kn("openSession (decision)",{action:"assign_to_active_leaf",leafId:n,sessionId:e})),se.getState().selectSession(e),z_(e,t)},ny=e=>e==="child"?"child":"root",U_=e=>({id:e.id,title:e.title,kind:ny(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}}),q_=(e,t)=>e.id===t.id&&e.title===t.title&&e.kind===ny(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),H_=(()=>{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&&q_(l,i)?l:U_(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)}})(),Y_=e=>[e.title,e.id,e.kind||"root",e.config.workspacePath||"",e.config.systemPromptId||"",e.updatedAt||"",e.createdByScheduleId||"",e.lastRunStatus||"",e.lastRunError||""].join(" ").toLowerCase(),X_=e=>e.messages.filter(t=>t.role==="user"&&"content"in t).slice(0,3).map(t=>"content"in t?t.content:"").join(" ").toLowerCase(),kc=(e,t)=>{if(!t)return!0;const n=t.split(/\s+/).filter(Boolean),r=Y_(e);if(n.every(l=>r.includes(l)))return!0;const s=se.getState().chats.find(l=>l.id===e.id);if(!s)return!1;const o=X_(s),i=`${r} ${o}`;return n.every(l=>i.includes(l))},Cc=(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}},K_=()=>{const{t:e}=Ve(),{message:t}=Dn.useApp(),{chats:n,currentSessionId:r,deleteSession:s,deleteSessions:o,pinSession:i,unpinSession:l,updateSession:u,addChat:d,refreshChats:h,lastSelectedPromptId:m,systemPrompts:b}=se(Ii(fe=>({chats:H_(fe.chats),currentSessionId:fe.currentSessionId,deleteSession:fe.deleteSession,deleteSessions:fe.deleteSessions,pinSession:fe.pinSession,unpinSession:fe.unpinSession,updateSession:fe.updateSession,addChat:fe.addChat,refreshChats:fe.refreshChats,lastSelectedPromptId:fe.lastSelectedPromptId,systemPrompts:fe.systemPrompts}))),v=y.useCallback(fe=>Zi(fe)(se.getState()),[]),{sidebarCollapsed:w,setSidebarCollapsed:S,clearSessionFromAllLeaves:k}=mt(Ii(fe=>({sidebarCollapsed:fe.sidebar.collapsed,setSidebarCollapsed:fe.setSidebarCollapsed,clearSessionFromAllLeaves:fe.clearSessionFromAllLeaves}))),P=y.useCallback(async(fe,Ie)=>{var Le,Tn;const $e=b.find(Xt=>Xt.id===m),Ye=($e==null?void 0:$e.id)||(b.length>0?((Le=b.find(Xt=>Xt.id==="general_assistant"))==null?void 0:Le.id)||b[0].id:""),ut={title:fe||e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:Ye,baseSystemPrompt:($e==null?void 0:$e.content)||(b.length>0?((Tn=b.find(Xt=>Xt.id==="general_assistant"))==null?void 0:Tn.content)||b[0].content:""),lastUsedEnhancedPrompt:null},...Ie},Cn=await d(ut),{activeLeafId:Jt}=mt.getState();mt.getState().setLeafSessionId(Jt,Cn),mt.getState().setActiveLeafId(Jt)},[d,m,b,e]),[T,j]=y.useState(!1),[C,E]=y.useState(new Set(["Today"])),[A,L]=y.useState(""),[F,N]=y.useState("all"),[B,U]=y.useState({}),$=se(Ii(fe=>{const Ie=fe.currentSessionId;if(!Ie)return null;const $e=fe.chats.find(Ye=>Ye.id===Ie);return $e?{id:$e.id,kind:$e.kind,parentSessionId:$e.parentSessionId||null,rootSessionId:$e.rootSessionId||null,pinned:!!$e.pinned,createdAt:$e.createdAt,createdByScheduleId:$e.createdByScheduleId||null}:null})),ee=y.useMemo(()=>$?$.pinned?"Pinned":$.createdByScheduleId?"Scheduled":new Date($.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):null,[$]),J=y.useMemo(()=>{const fe=new Set(C);return ee&&fe.add(ee),Array.from(fe)},[ee,C]),Q=fe=>{const Ie=new Set(Array.isArray(fe)?fe:[fe]);E($e=>{if($e.size!==Ie.size)return Ie;for(const Ye of Ie)if(!$e.has(Ye))return Ie;return $e})},pe=A.trim().toLowerCase(),I=pe.length>0||F!=="all",ie=y.useMemo(()=>[],[]),be=y.useMemo(()=>({}),[]),oe=y.useMemo(()=>({}),[]),ge=y.useMemo(()=>[],[]),de=y.useMemo(()=>new Set,[]),le=y.useMemo(()=>w?ie:n.filter(fe=>fe.kind!=="child"),[n,w,ie]),ue=y.useMemo(()=>{if(w)return be;const fe={};for(const Ie of n){if(Ie.kind!=="child")continue;const $e=Ie.parentSessionId||Ie.rootSessionId;$e&&(fe[$e]||(fe[$e]=[]),fe[$e].push(Ie))}return Object.keys(fe).forEach(Ie=>{fe[Ie].sort(($e,Ye)=>{if($e.pinned!==Ye.pinned)return $e.pinned?-1:1;const ut=Date.parse($e.updatedAt||"")||$e.createdAt||0;return(Date.parse(Ye.updatedAt||"")||Ye.createdAt||0)-ut})}),fe},[n,w,be]),ke=y.useMemo(()=>I?le.filter(fe=>kc(fe,pe)&&Cc(fe,F,v)?!0:(ue[fe.id]||[]).some(Ye=>kc(Ye,pe)&&Cc(Ye,F,v))):le,[ue,I,v,pe,le,F]),De=y.useMemo(()=>{if(!I)return ue;const fe={};for(const Ie of ke){const $e=ue[Ie.id]||[];fe[Ie.id]=$e.filter(Ye=>kc(Ye,pe)&&Cc(Ye,F,v))}return fe},[ue,ke,I,v,pe,F]),We=y.useMemo(()=>w?oe:bx(ke),[ke,w,oe]),bt=y.useMemo(()=>w?ge:vx(We),[We,w,ge]),O=y.useCallback(fe=>{i(fe),E(Ie=>{if(Ie.has("Pinned"))return Ie;const $e=new Set(Ie);return $e.add("Pinned"),$e})},[i]),ae=y.useCallback(fe=>{const Ie=n.find(Ye=>Ye.id===fe),$e=Ie?xx({...Ie}):null;l(fe),$e&&E(Ye=>{if(Ye.has($e))return Ye;const ut=new Set(Ye);return ut.add($e),ut})},[n,l]),ye=fe=>{Va.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(fe),s(fe)}})},Re=Oi(fe=>fe.open),Ue=()=>{Re("chat")},Ot=y.useCallback(fe=>{L(fe)},[]),vt=y.useCallback(fe=>{N(fe)},[]),gt=(fe,Ie)=>{u(fe,{title:Ie})},Ht=y.useCallback(async fe=>{try{await Qn.getInstance().regenerateSessionTitle(fe)}catch(Ie){console.error("Failed to regenerate session title:",Ie)}},[]),nn=y.useCallback(async fe=>{var $e;if((($e=B[fe])==null?void 0:$e.status)==="loading")return;U(Ye=>({...Ye,[fe]:{status:"loading"}}));const Ie=t.loading(e("chat.actions.runProjectDreamRunning"),0);try{const Ye=await Qn.getInstance().runProjectDream(fe);Ie(),Ye.dream_generated?t.success(e("chat.actions.runProjectDreamSuccess")):t.info(Ye.message||e("chat.actions.runProjectDreamNoChange"));try{await h()}catch(ut){console.warn("Failed to refresh chats after project dream run:",ut)}}catch(Ye){Ie();const ut=Ye instanceof Error&&Ye.message?Ye.message:e("chat.actions.runProjectDreamFailed");t.error(ut),console.error("Failed to run project dream:",Ye)}finally{U(Ye=>({...Ye,[fe]:{status:"idle"}}))}},[t,B,h,e]),Ln=fe=>{const Ie=Sx(We,fe),$e=kg(We,fe);Va.confirm({title:e("chat.sidebar.deleteByDate.title",{date:fe}),content:e("chat.sidebar.deleteByDate.confirm",{count:$e,date:fe}),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{Ie.forEach(Ye=>k(Ye)),o(Ie)}})},Mt=()=>{j(!0)},qt=()=>{j(!1)},Yt=async fe=>{try{await P(e("chat.sidebar.newSessionWithPrompt",{prompt:fe.name}),{config:{systemPromptId:fe.id,baseSystemPrompt:fe.content,lastUsedEnhancedPrompt:null}}),j(!1)}catch(Ie){console.error("Failed to create chat:",Ie),Va.error({title:e("chat.sidebar.createFailedTitle"),content:Ie instanceof Error?Ie.message:e("chat.sidebar.createFailedUnknown")})}},fn=y.useCallback(fe=>W_(fe),[]),[Rn,kn]=y.useState(new Set),$t=y.useMemo(()=>{if(w)return de;const fe=new Set;for(const Ie of Object.values(ue))for(const $e of Ie)if($e.pinned){const Ye=$e.parentSessionId||$e.rootSessionId;Ye&&fe.add(Ye)}return fe},[ue,w,de]),yn=y.useMemo(()=>{var Ie;if(w)return de;const fe=new Set(Rn);if(($==null?void 0:$.kind)==="child"){const $e=$.parentSessionId||$.rootSessionId;$e&&fe.add($e)}for(const $e of $t)fe.add($e);if(I)for(const $e of ke)(((Ie=De[$e.id])==null?void 0:Ie.length)??0)>0&&fe.add($e.id);return fe},[De,Rn,ke,I,$t,$,w,de]),hn=y.useCallback(fe=>{kn(Ie=>{const $e=new Set(Ie);return $e.has(fe)?$e.delete(fe):$e.add(fe),$e})},[]);return{chats:ke,childrenByRoot:De,expandedRootIds:yn,toggleRootExpanded:hn,collapsed:w,currentSessionId:r,expandedKeys:J,groupedChatsByDate:We,hasActiveFilters:I,handleCollapseChange:Q,handleDelete:ye,handleDeleteByDate:Ln,handleEditTitle:gt,handleGenerateTitle:Ht,handleNewChat:Mt,handleNewChatSelectorClose:qt,handleOpenSettings:Ue,handleRunProjectDream:nn,handleSearchQueryChange:Ot,handleStatusFilterChange:vt,handleSystemPromptSelect:Yt,isNewChatSelectorOpen:T,pinSession:O,projectDreamState:B,searchQuery:A,selectSession:fn,setCollapsed:S,sortedDateKeys:bt,statusFilter:F,systemPrompts:b,titleGenerationState:{},unpinSession:ae}},V_=y.lazy(()=>Gt(()=>import("./index-CUlZM8lX.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)),{useBreakpoint:G_}=Rl,{useToken:J_}=ct,sh=()=>{const{token:e}=J_(),{t}=Ve(),n=G_(),{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:L,pinSession:F,projectDreamState:N,searchQuery:B,selectSession:U,setCollapsed:$,sortedDateKeys:ee,statusFilter:J,systemPrompts:Q,titleGenerationState:pe,unpinSession:I}=K_(),{xs:ie,sm:be}=n;return y.useEffect(()=>{typeof ie!="boolean"||typeof be!="boolean"||ie===!1&&be===!1&&$(!0)},[be,ie,$]),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(Ee,{justify:"flex-end",style:{flexShrink:0,padding:"8px 10px 0 10px",minHeight:34},children:a.jsx(Ae,{type:"text",icon:a.jsx(RS,{}),onClick:()=>$(!0),size:n.xs?"small":"middle",className:"lotus-toolbar-icon","aria-label":t("chat.sidebar.collapse","Collapse sidebar")})}),a.jsxs(Ee,{vertical:!0,gap:6,style:{flexShrink:0,padding:"6px 10px 6px 10px"},children:[a.jsx(Ps,{allowClear:!0,value:B,onChange:oe=>j(oe.target.value),prefix:a.jsx(iu,{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(AS,{block:!0,size:n.xs?"middle":"small",value:J,onChange:oe=>C(oe),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(Ee,{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(wx,{groupedChatsByDate:d,childrenByRoot:r,expandedRootIds:s,onToggleRootExpanded:o,sortedDateKeys:ee,expandedKeys:u,onCollapseChange:h,currentSessionId:l,onSelectChat:U,onDeleteChat:m,onDeleteByDate:b,onPinChat:F,onUnpinChat:I,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:T,titleGenerationState:pe,projectDreamState:N,token:e,hasActiveFilters:A})}),a.jsx(Ax,{collapsed:!1,onNewChat:S,onOpenSettings:P,token:e}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(V_,{open:L,onClose:k,onSelect:E,prompts:Q,title:t("chat.prompt.newSessionSelectorTitle"),showCancelButton:!0})})]})},{Text:oh,Paragraph:Q_}=dt;class Hi extends y.Component{constructor(n){super(n);Et(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(Z_,{error:r,onReset:this.handleReset})}}const Z_=({error:e,onReset:t})=>{const{token:n}=ct.useToken(),[r,s]=ft.useState(!1),{t:o}=Ve();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(fg,{style:{fontSize:36,color:n.colorWarning}}),a.jsx(oh,{strong:!0,style:{fontSize:16},children:o("app.errorBoundary.title")}),a.jsx(oh,{type:"secondary",style:{maxWidth:420},children:o("app.errorBoundary.description")}),a.jsxs("div",{style:{display:"flex",gap:8,marginTop:4},children:[a.jsx(Ae,{type:"primary",icon:a.jsx(id,{}),onClick:t,"aria-label":o("app.errorBoundary.tryAgain"),children:o("app.errorBoundary.tryAgain")}),a.jsx(Ae,{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(Q_,{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=le[f]||p,this.inner=null)}return S(g).from(O),c[f]=g,c},{}),ye=(ae.Syntax=SyntaxError,ae.Type=TypeError,ae.Range=RangeError,de.reduce(function(c,f){return c[f+"Error"]=ae[f],c},{}));de=$t.reduce(function(c,f){return["Syntax","Type","Range"].indexOf(f)===-1&&(c[f+"Error"]=ae[f]),c},{});function Re(){}function Ue(c){return c}function Ot(c,f){return c==null||c===Ue?f:function(p){return f(c(p))}}function vt(c,f){return function(){c.apply(this,arguments),f.apply(this,arguments)}}function gt(c,f){return c===Re?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?vt(g,this.onsuccess):g),x&&(this.onerror=this.onerror?vt(x,this.onerror):x),_!==void 0?_:p}}function Ht(c,f){return c===Re?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?vt(p,this.onsuccess):p),g&&(this.onerror=this.onerror?vt(g,this.onerror):g)}}function nn(c,f){return c===Re?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?vt(x,this.onsuccess):x),_&&(this.onerror=this.onerror?vt(_,this.onerror):_),g===void 0?M===void 0?void 0:M:u(g,M)}}function Ln(c,f){return c===Re?f:function(){return f.apply(this,arguments)!==!1&&c.apply(this,arguments)}}function Mt(c,f){return c===Re?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)}}de.ModifyError=De,de.DexieError=ue,de.BulkError=We;var qt=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Yt(c){qt=c}var fn={},Rn=100,kn=typeof Promise>"u"?[]:($t=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[kn=crypto.subtle.digest("SHA-512",new Uint8Array([0])),d(kn),$t]:[$t,d($t),$t]),$t=kn[0],$s=kn[1],$s=$s&&$s.then,yn=$t&&$t.constructor,hn=!!kn[2],fe=function(c,f){Tn.push([c,f]),$e&&(queueMicrotask(St),$e=!1)},Ie=!0,$e=!0,Ye=[],ut=[],Cn=Ue,Jt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Re,pgp:!1,env:{},finalize:Re},Le=Jt,Tn=[],Xt=0,W=[];function D(c){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var f=this._PSD=Le;if(typeof c!="function"){if(c!==fn)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&&ht();_&&typeof _.then=="function"?p(g,function(R,q){_ instanceof D?_._then(R,q):_.then(R,q)}):(g._state=!0,g._value=_,Ne(g)),M&&kt()}},Fe.bind(null,g))}catch(_){Fe(g,_)}}(this,c)}var he={get:function(){var c=Le,f=kr;function p(g,x){var _=this,M=!c.global&&(c!==Le||f!==kr),R=M&&!er(),q=new D(function(Z,Y){Ke(_,new _e(la(g,c,M,R),la(x,c,M,R),Z,Y,c))});return this._consoleTask&&(q._consoleTask=this._consoleTask),q}return p.prototype=fn,p},set:function(c){w(this,"then",c&&c.prototype===fn?he:{get:function(){return c},set:he.set})}};function _e(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;ut.push(f),c._state===null&&(p=c._lib&&ht(),f=Cn(f),c._state=!1,c._value=f,g=c,Ye.some(function(x){return x._value===g._value})||Ye.push(g),Ne(c),p)&&kt()}function Ne(c){var f=c._listeners;c._listeners=[];for(var p=0,g=f.length;p<g;++p)Ke(c,f[p]);var x=c._PSD;--x.ref||x.finalize(),Xt===0&&(++Xt,fe(function(){--Xt==0&&et()},[]))}function Ke(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,++Xt,fe(Ge,[p,c,f])}}function Ge(c,f,p){try{var g,x=f._value;!f._state&&ut.length&&(ut=[]),g=qt&&f._consoleTask?f._consoleTask.run(function(){return c(x)}):c(x),f._state||ut.indexOf(x)!==-1||(_=>{for(var M=Ye.length;M;)if(Ye[--M]._value===_._value)return Ye.splice(M,1)})(f),p.resolve(g)}catch(_){p.reject(_)}finally{--Xt==0&&et(),--p.psd.ref||p.psd.finalize()}}function St(){cr(Jt,function(){ht()&&kt()})}function ht(){var c=Ie;return $e=Ie=!1,c}function kt(){var c,f,p;do for(;0<Tn.length;)for(c=Tn,Tn=[],p=c.length,f=0;f<p;++f){var g=c[f];g[0].apply(null,g[1])}while(0<Tn.length);$e=Ie=!0}function et(){for(var c=Ye,f=(Ye=[],c.forEach(function(g){g._PSD.onunhandled.call(null,g._value,g)}),W.slice(0)),p=f.length;p;)f[--p]()}function Me(c){return new D(fn,!1,c)}function Te(c,f){var p=Le;return function(){var g=ht(),x=Le;try{return lr(p,!0),c.apply(this,arguments)}catch(_){f&&f(_)}finally{lr(x,!1),g&&kt()}}}b(D.prototype,{then:he,_then:function(c,f){Ke(this,new _e(null,null,c,f,Le))},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:Me)(g)}):this.then(null,function(g){return(g&&g.name===f?p:Me)(g)}))},finally:function(c){return this.then(function(f){return D.resolve(c()).then(function(){return f})},function(f){return D.resolve(c()).then(function(){return Me(f)})})},timeout:function(c,f){var p=this;return c<1/0?new D(function(g,x){var _=setTimeout(function(){return x(new ae.Timeout(f))},c);p.then(g,x).finally(clearTimeout.bind(null,_))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&w(D.prototype,Symbol.toStringTag,"Dexie.Promise"),Jt.env=aa(),b(D,{all:function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.length===0&&f([]);var g=c.length;c.forEach(function(x,_){return D.resolve(x).then(function(M){c[_]=M,--g||f(c)},p)})})},resolve:function(c){return c instanceof D?c:c&&typeof c.then=="function"?new D(function(f,p){c.then(f,p)}):new D(fn,!0,c)},reject:Me,race:function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.map(function(g){return D.resolve(g).then(f,p)})})},PSD:{get:function(){return Le},set:function(c){return Le=c}},totalEchoes:{get:function(){return kr}},newPSD:Zn,usePSD:cr,scheduler:{get:function(){return fe},set:function(c){fe=c}},rejectionMapper:{get:function(){return Cn},set:function(c){Cn=c}},follow:function(c,f){return new D(function(p,g){return Zn(function(x,_){var M=Le;M.unhandleds=[],M.onunhandled=_,M.finalize=vt(function(){var R,q=this;R=function(){q.unhandleds.length===0?x():_(q.unhandleds[0])},W.push(function Z(){R(),W.splice(W.indexOf(Z),1)}),++Xt,fe(function(){--Xt==0&&et()},[])},M.finalize),c()},f,p,g)})}}),yn&&(yn.allSettled&&w(D,"allSettled",function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f){c.length===0&&f([]);var p=c.length,g=new Array(p);c.forEach(function(x,_){return D.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)})})})}),yn.any&&typeof AggregateError<"u"&&w(D,"any",function(){var c=oe.apply(null,arguments).map(Ar);return new D(function(f,p){c.length===0&&p(new AggregateError([]));var g=c.length,x=new Array(g);c.forEach(function(_,M){return D.resolve(_).then(function(R){return f(R)},function(R){x[M]=R,--g||p(new AggregateError(x))})})})}),yn.withResolvers)&&(D.withResolvers=yn.withResolvers);var qe={awaits:0,echoes:0,id:0},Lt=0,Kt=[],_r=0,kr=0,ho=0;function Zn(c,M,p,g){var x=Le,_=Object.create(x),M=(_.parent=x,_.ref=0,_.global=!1,_.id=++ho,Jt.env,_.env=hn?{Promise:D,PromiseProp:{value:D,configurable:!0,writable:!0},all:D.all,race:D.race,allSettled:D.allSettled,any:D.any,resolve:D.resolve,reject:D.reject}:{},M&&u(_,M),++x.ref,_.finalize=function(){--this.parent.ref||this.parent.finalize()},cr(_,c,p,g));return _.ref===0&&_.finalize(),M}function ar(){return qe.id||(qe.id=++Lt),++qe.awaits,qe.echoes+=Rn,qe.id}function er(){return!!qe.awaits&&(--qe.awaits==0&&(qe.id=0),qe.echoes=qe.awaits*Rn,!0)}function Ar(c){return qe.echoes&&c&&c.constructor===yn?(ar(),c.then(function(f){return er(),f},function(f){return er(),Bt(f)})):c}function ia(){var c=Kt[Kt.length-1];Kt.pop(),lr(c,!1)}function lr(c,f){var p,g,x=Le;(f?!qe.echoes||_r++&&c===Le:!_r||--_r&&c===Le)||queueMicrotask(f?(function(_){++kr,qe.echoes&&--qe.echoes!=0||(qe.echoes=qe.awaits=qe.id=0),Kt.push(Le),lr(_,!0)}).bind(null,c):ia),c!==Le&&(Le=c,x===Jt&&(Jt.env=aa()),hn)&&(p=Jt.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 aa(){var c=o.Promise;return hn?{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 _=Le;try{return lr(c,!0),f(p,g,x)}finally{lr(_,!1)}}function la(c,f,p,g){return typeof c!="function"?c:function(){var x=Le;p&&ar(),lr(f,!0);try{return c.apply(this,arguments)}finally{lr(x,!1),g&&queueMicrotask(er)}}}function Rs(c){Promise===yn&&qe.echoes===0?_r===0?c():enqueueNativeMicroTask(c):setTimeout(c,0)}(""+$s).indexOf("[native code]")===-1&&(ar=er=Re);var Bt=D.reject,ur="",Yn="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",me="String expected.",lt="__dbnames",At="readonly",zt="readwrite";function Ct(c,f){return c?f?function(){return c.apply(this,arguments)&&f.apply(this,arguments)}:c:f}var rn={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Qt(c){return typeof c!="string"||/\./.test(c)?function(f){return f}:function(f){return f[c]===void 0&&c in f&&delete(f=ee(f))[c],f}}function sn(){throw ae.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function it(c,f){try{var p=Cr(c),g=Cr(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=dr(c),_=dr(f),M=x.length,R=_.length,q=M<R?M:R,Z=0;Z<q;++Z)if(x[Z]!==_[Z])return x[Z]<_[Z]?-1:1;return M===R?0:M<R?-1:1;case"Array":for(var Y=c,z=f,H=Y.length,G=z.length,X=H<G?H:G,K=0;K<X;++K){var V=it(Y[K],z[K]);if(V!==0)return V}return H===G?0:H<G?-1:1}}catch{}return NaN}function Cr(c){var f=typeof c;return f=="object"&&(ArrayBuffer.isView(c)||(f=Q(c))==="ArrayBuffer")?"binary":f}function dr(c){return c instanceof Uint8Array?c:ArrayBuffer.isView(c)?new Uint8Array(c.buffer,c.byteOffset,c.byteLength):new Uint8Array(c)}function Zr(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}tf.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 po=tf;function tf(c){this["@@propmod"]=c}function nf(c,f){for(var p=i(f),g=p.length,x=!1,_=0;_<g;++_){var M=p[_],R=f[M],q=A(c,M);R instanceof po?(L(c,M,R.execute(q)),x=!0):q!==R&&(L(c,M,R),x=!0)}return x}Ft.prototype._trans=function(c,f,p){var g=this._tx||Le.trans,x=this.name,_=qt&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(c==="readonly"?"read":"write"," ").concat(this.name));function M(Z,Y,z){if(z.schema[x])return f(z.idbtrans,z);throw new ae.NotFound("Table "+x+" not part of transaction")}var R=ht();try{var q=g&&g.db._novip===this.db._novip?g===Le.trans?g._promise(c,M,p):Zn(function(){return g._promise(c,M,p)},{trans:g,transless:Le.transless||Le}):function Z(Y,z,H,G){if(Y.idbdb&&(Y._state.openComplete||Le.letThrough||Y._vip)){var X=Y._createTransaction(z,H,Y._dbSchema);try{X.create(),Y._state.PR1398_maxLoop=3}catch(K){return K.name===bt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return Z(Y,z,H,G)})):Bt(K)}return X._promise(z,function(K,V){return Zn(function(){return Le.trans=X,G(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 Bt(new ae.DatabaseClosed(Y._state.dbOpenError));if(!Y._state.isBeingOpened){if(!Y._state.autoOpen)return Bt(new ae.DatabaseClosed);Y.open().catch(Re)}return Y._state.dbReadyPromise.then(function(){return Z(Y,z,H,G)})}(this.db,c,[this.name],M);return _&&(q._consoleTask=_,q=q.catch(function(Z){return console.trace(Z),Bt(Z)})),q}finally{R&&kt()}},Ft.prototype.get=function(c,f){var p=this;return c&&c.constructor===Object?this.where(c).first(f):c==null?Bt(new ae.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(Z){return 0<=R.keyPath.indexOf(Z)})){for(var q=0;q<f.length;++q)if(f.indexOf(R.keyPath[q])===-1)return!1;return!0}return!1}).sort(function(R,q){return R.keyPath.length-q.keyPath.length})[0];if(p&&this.db._maxKey!==ur)return M=p.keyPath.slice(0,f.length),this.where(M).equals(M.map(function(R){return c[R]}));!p&&qt&&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,q){return it(R,q)===0}var M=f.reduce(function(Y,q){var Z=Y[0],Y=Y[1],z=g[q],H=c[q];return[Z||z,Z||!z?Ct(Y,z&&z.multi?function(G){return G=A(G,q),l(G)&&G.some(function(X){return x(H,X)})}:function(G){return x(H,A(G,q))}):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 sn&&(c=(M=>{var R=Y,q=M;if(typeof q!="function"&&q!==null)throw new TypeError("Class extends value "+String(q)+" is not a constructor or null");function Z(){this.constructor=R}function Y(){return M!==null&&M.apply(this,arguments)||this}return n(R,q),R.prototype=q===null?Object.create(q):(Z.prototype=q.prototype,new Z),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,q=Object.create(c.prototype);for(R in M)if(!g.has(R))try{q[R]=M[R]}catch{}return q}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=Qt(_)(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?D.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{L(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 nf(M,f),g&&L(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?D.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?Bt(new ae.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=Qt(_)(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?D.reject(R.failures[0]):R.lastResult}).then(function(R){if(_)try{L(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 Zr(f,[c],g)}).then(function(g){return g.numFailures?D.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:rn}).then(function(p){return Zr(c,null,p)})}).then(function(f){return f.numFailures?D.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,Z=R.auto,R=R.keyPath;if(R&&x)throw new ae.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new ae.InvalidArgument("Arguments objects and keys must have the same length");var q=c.length,Z=R&&Z?c.map(Qt(R)):c;return g.core.mutate({trans:M,type:"add",keys:x,values:Z,wantResults:_}).then(function(Y){var z=Y.numFailures,H=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new We("".concat(g.name,".bulkAdd(): ").concat(z," of ").concat(q," operations failed"),H)})})},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,Z=R.auto,R=R.keyPath;if(R&&x)throw new ae.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(x&&x.length!==c.length)throw new ae.InvalidArgument("Arguments objects and keys must have the same length");var q=c.length,Z=R&&Z?c.map(Qt(R)):c;return g.core.mutate({trans:M,type:"put",keys:x,values:Z,wantResults:_}).then(function(Y){var z=Y.numFailures,H=Y.failures;if(z===0)return _?Y.results:Y.lastResult;throw new We("".concat(g.name,".bulkPut(): ").concat(z," of ").concat(q," operations failed"),H)})})},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 q=[],Z=[],Y=(c.forEach(function(z,H){var G=z.key,X=z.changes,K=R[H];if(K){for(var V=0,re=Object.keys(X);V<re.length;V++){var te=re[V],ce=X[te];if(te===f.schema.primKey.keyPath){if(it(ce,G)!==0)throw new ae.Constraint("Cannot update primary key in bulkUpdate()")}else L(K,te,ce)}_.push(H),q.push(G),Z.push(K)}}),q.length);return p.mutate({trans:M,type:"put",keys:q,values:Z,updates:{keys:g,changeSpecs:x}}).then(function(z){var H=z.numFailures,G=z.failures;if(H===0)return Y;for(var X=0,K=Object.keys(G);X<K.length;X++){var V,re=K[X],te=_[Number(re)];te!=null&&(V=G[re],delete G[re],G[te]=V)}throw new We("".concat(f.name,".bulkUpdate(): ").concat(H," of ").concat(Y," operations failed"),G)})})})},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 Zr(f,c,x)})}).then(function(g){var x=g.numFailures,_=g.failures;if(x===0)return g.lastResult;throw new We("".concat(f.name,".bulkDelete(): ").concat(x," of ").concat(p," operations failed"),_)})};var rf=Ft;function Ft(){}function mo(c){function f(M,R){if(R){for(var q=arguments.length,Z=new Array(q-1);--q;)Z[q-1]=arguments[q];return p[M].subscribe.apply(null,Z),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,q){var Z,Y;if(typeof M!="object")return R=R||Ln,Y={subscribers:[],fire:q=q||Re,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(H){return H!==z}),Y.fire=Y.subscribers.reduce(R,q)}},p[M]=f[M]=Y;i(Z=M).forEach(function(z){var H=Z[z];if(l(H))_(z,Z[z][0],Z[z][1]);else{if(H!=="asap")throw new ae.InvalidArgument("Invalid event config");var G=_(z,Ue,function(){for(var X=arguments.length,K=new Array(X);X--;)K[X]=arguments[X];G.subscribers.forEach(function(V){E(function(){V.apply(null,K)})})})}})}}function go(c,f){return S(f).from({prototype:c}),f}function As(c,f){return!(c.filter||c.algorithm||c.or)&&(f?c.justLimit:!c.replayFilter)}function Xl(c,f){c.filter=Ct(c.filter,f)}function Kl(c,f,p){var g=c.replayFilter;c.replayFilter=g?function(){return Ct(g(),f())}:f,c.justLimit=p&&!g}function ca(c,f){if(c.isPrimKey)return f.primaryKey;var p=f.getIndexByKeyPath(c.index);if(p)return p;throw new ae.Schema("KeyPath "+c.index+" on object store "+f.name+" is not indexed")}function sf(c,f,p){var g=ca(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 ua(c,f,p,g){var x,_,M=c.replayFilter?Ct(c.filter,c.replayFilter()):c.filter;return c.or?(x={},_=function(R,q,Z){var Y,z;M&&!M(q,Z,function(H){return q.stop(H)},function(H){return q.fail(H)})||((z=""+(Y=q.primaryKey))=="[object ArrayBuffer]"&&(z=""+new Uint8Array(Y)),m(x,z))||(x[z]=!0,f(R,q,Z))},Promise.all([c.or._iterate(_,p),of(sf(c,g,p),c.algorithm,_,!c.keysOnly&&c.valueMapper)])):of(sf(c,g,p),Ct(c.algorithm,M),f,!c.keysOnly&&c.valueMapper)}function of(c,f,p,g){var x=Te(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=Re},function(R){_.fail(R),M=Re})||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,Bt.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,Bt.bind(null,f.error)):f.table._trans("readwrite",c,"locked")},Pt.prototype._addAlgorithm=function(c){var f=this._ctx;f.algorithm=Ct(f.algorithm,c)},Pt.prototype._iterate=function(c,f){return ua(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 ua(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 As(x,!0)?_.count({trans:p,query:{index:ca(x,_.schema),range:x.range}}).then(function(M){return Math.min(M,x.limit)}):(g=0,ua(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 _(q,Z){return Z?_(q[p[Z]],Z-1):q[g]}var M=this._ctx.dir==="next"?1:-1;function R(q,Z){return it(_(q,x),_(Z,x))*M}return this.toArray(function(q){return q.sort(R)}).then(f)},Pt.prototype.toArray=function(c){var f=this;return this._read(function(p){var g,x,_,M=f._ctx;return As(M,!0)&&0<M.limit?(g=M.valueMapper,x=ca(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})):(_=[],ua(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,As(f)?Kl(f,function(){var p=c;return function(g,x){return p===0||(p===1?--p:x(function(){g.advance(p),p=0}),!1)}}):Kl(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),Kl(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 Xl(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 Xl(this._ctx,function(p){return c(p.value)}),(f=this._ctx).isMatch=Ct(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(As(f,!0)&&0<f.limit)return this._read(function(g){var x=ca(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={},Xl(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 re=V.failures;H+=K-V.numFailures;for(var te=0,ce=i(re);te<ce.length;te++){var ve=ce[te];z.push(re[ve])}}var _=typeof c=="function"?c:function(K){return nf(K,c)},M=p.table.core,Y=M.schema.primaryKey,R=Y.outbound,q=Y.extractKey,Z=200,Y=f.db._options.modifyChunkSize,z=(Y&&(Z=typeof Y=="object"?Y[M.name]||Y["*"]||200:Y),[]),H=0,G=[],X=c===af;return f.clone().primaryKeys().then(function(K){function V(te){var ce=Math.min(Z,K.length-te),ve=K.slice(te,te+ce);return(X?Promise.resolve([]):M.getMany({trans:g,keys:ve,cache:"immutable"})).then(function(xe){var Pe=[],we=[],Be=R?[]:null,Ce=X?ve:[];if(!X)for(var ze=0;ze<ce;++ze){var Se=xe[ze],tt={value:ee(Se),primKey:K[te+ze]};_.call(tt,tt.value,tt)!==!1&&(tt.value==null?Ce.push(K[te+ze]):R||it(q(Se),q(tt.value))===0?(we.push(tt.value),R&&Be.push(K[te+ze])):(Ce.push(K[te+ze]),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)Ce.splice(parseInt(at),1);x(Pe.length,nt)})).then(function(){return(0<we.length||re&&typeof c=="object")&&M.mutate({trans:g,type:"put",keys:Be,values:we,criteria:re,changeSpec:typeof c!="function"&&c,isAdditionalChunk:0<te}).then(function(nt){return x(we.length,nt)})}).then(function(){return(0<Ce.length||re&&X)&&M.mutate({trans:g,type:"delete",keys:Ce,criteria:re,isAdditionalChunk:0<te}).then(function(nt){return Zr(p.table,Ce,nt)}).then(function(nt){return x(Ce.length,nt)})}).then(function(){return K.length>te+ce&&V(te+Z)})})}var re=As(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 De("Error modifying one or more objects",z,H,G);return K.length})})})},Pt.prototype.delete=function(){var c=this._ctx,f=c.range;return!As(c)||c.table.schema.yProps||!c.isPrimKey&&f.type!==3?this.modify(af):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(q){var R=q.failures,q=q.numFailures;if(q)throw new De("Could not delete some values",Object.keys(R).map(function(Z){return R[Z]}),_-q);return _-q})})})};var Qv=Pt;function Pt(){}var af=function(c,f){return f.value=null};function Zv(c,f){return c<f?-1:c===f?0:1}function eS(c,f){return f<c?-1:c===f?0:1}function Nn(c,f,p){return c=c instanceof cf?new c.Collection(c):c,c._ctx.error=new(p||TypeError)(f),c}function Is(c){return new c.Collection(c,function(){return lf("")}).limit(0)}function da(G,f,p,g){var x,_,M,R,q,Z,Y,z=p.length;if(!p.every(function(K){return typeof K=="string"}))return Nn(G,me);function H(K){x=K==="next"?function(re){return re.toUpperCase()}:function(re){return re.toLowerCase()},_=K==="next"?function(re){return re.toLowerCase()}:function(re){return re.toUpperCase()},M=K==="next"?Zv:eS;var V=p.map(function(re){return{lower:_(re),upper:x(re)}}).sort(function(re,te){return M(re.lower,te.lower)});R=V.map(function(re){return re.upper}),q=V.map(function(re){return re.lower}),Y=(Z=K)==="next"?"":g}H("next");var G=new G.Collection(G,function(){return Ir(R[0],q[z-1]+g)}),X=(G._ondirectionchange=function(K){H(K)},0);return G._addAlgorithm(function(K,V,re){var te=K.key;if(typeof te=="string"){var ce=_(te);if(f(ce,q,X))return!0;for(var ve=null,xe=X;xe<z;++xe){var Pe=((we,Be,Ce,ze,Se,tt)=>{for(var nt=Math.min(we.length,ze.length),at=-1,yt=0;yt<nt;++yt){var Bn=Be[yt];if(Bn!==ze[yt])return Se(we[yt],Ce[yt])<0?we.substr(0,yt)+Ce[yt]+Ce.substr(yt+1):Se(we[yt],ze[yt])<0?we.substr(0,yt)+ze[yt]+Ce.substr(yt+1):0<=at?we.substr(0,at)+Be[at]+Ce.substr(at+1):null;Se(we[yt],Bn)<0&&(at=yt)}return nt<ze.length&&tt==="next"?we+Ce.substr(we.length):nt<we.length&&tt==="prev"?we.substr(0,Ce.length):at<0?null:we.substr(0,at)+ze[at]+Ce.substr(at+1)})(te,ce,R[xe],q[xe],M,Z);Pe===null&&ve===null?X=xe+1:(ve===null||0<M(ve,Pe))&&(ve=Pe)}V(ve!==null?function(){K.continue(ve+Y)}:re)}return!1}),G}function Ir(c,f,p,g){return{type:2,lower:c,upper:f,lowerOpen:p,upperOpen:g}}function lf(c){return{type:1,lower:c,upper:c}}Object.defineProperty(pn.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),pn.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)?Is(this):new this.Collection(this,function(){return Ir(c,f,!p,!g)})}catch{return Nn(this,Yn)}},pn.prototype.equals=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return lf(c)})},pn.prototype.above=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(c,void 0,!0)})},pn.prototype.aboveOrEqual=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(c,void 0,!1)})},pn.prototype.below=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(void 0,c,!1,!0)})},pn.prototype.belowOrEqual=function(c){return c==null?Nn(this,Yn):new this.Collection(this,function(){return Ir(void 0,c)})},pn.prototype.startsWith=function(c){return typeof c!="string"?Nn(this,me):this.between(c,c+ur,!0,!0)},pn.prototype.startsWithIgnoreCase=function(c){return c===""?this.startsWith(c):da(this,function(f,p){return f.indexOf(p[0])===0},[c],ur)},pn.prototype.equalsIgnoreCase=function(c){return da(this,function(f,p){return f===p[0]},[c],"")},pn.prototype.anyOfIgnoreCase=function(){var c=oe.apply(be,arguments);return c.length===0?Is(this):da(this,function(f,p){return p.indexOf(f)!==-1},c,"")},pn.prototype.startsWithAnyOfIgnoreCase=function(){var c=oe.apply(be,arguments);return c.length===0?Is(this):da(this,function(f,p){return p.some(function(g){return f.indexOf(g)===0})},c,ur)},pn.prototype.anyOf=function(){var c,f,p=this,g=oe.apply(be,arguments),x=this._cmp;try{g.sort(x)}catch{return Nn(this,Yn)}return g.length===0?Is(this):((c=new this.Collection(this,function(){return Ir(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 q=_.key;0<x(q,g[f]);)if(++f===g.length)return M(R),!1;return x(q,g[f])===0||(M(function(){_.continue(g[f])}),!1)}),c)},pn.prototype.notEqual=function(c){return this.inAnyRange([[-1/0,c],[c,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},pn.prototype.noneOf=function(){var c=oe.apply(be,arguments);if(c.length===0)return new this.Collection(this);try{c.sort(this._ascending)}catch{return Nn(this,Yn)}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})},pn.prototype.inAnyRange=function(c,re){var p=this,g=this._cmp,x=this._ascending,_=this._descending,M=this._min,R=this._max;if(c.length===0)return Is(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",ae.InvalidArgument);var q=!re||re.includeLowers!==!1,Z=re&&re.includeUppers===!0,Y,z=x;function H(te,ce){return z(te[0],ce[0])}try{(Y=c.reduce(function(te,ce){for(var ve=0,xe=te.length;ve<xe;++ve){var Pe=te[ve];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 ve===xe&&te.push(ce),te},[])).sort(H)}catch{return Nn(this,Yn)}var G=0,X=Z?function(te){return 0<x(te,Y[G][1])}:function(te){return 0<=x(te,Y[G][1])},K=q?function(te){return 0<_(te,Y[G][0])}:function(te){return 0<=_(te,Y[G][0])},V=X,re=new this.Collection(this,function(){return Ir(Y[0][0],Y[Y.length-1][1],!q,!Z)});return re._ondirectionchange=function(te){z=te==="next"?(V=X,x):(V=K,_),Y.sort(H)},re._addAlgorithm(function(te,ce,ve){for(var xe,Pe=te.key;V(Pe);)if(++G===Y.length)return ce(ve),!1;return!X(xe=Pe)&&!K(xe)||(p._cmp(Pe,Y[G][1])===0||p._cmp(Pe,Y[G][0])===0||ce(function(){z===x?te.continue(Y[G][0]):te.continue(Y[G][1])}),!1)}),re},pn.prototype.startsWithAnyOf=function(){var c=oe.apply(be,arguments);return c.every(function(f){return typeof f=="string"})?c.length===0?Is(this):this.inAnyRange(c.map(function(f){return[f,f+ur]})):Nn(this,"startsWithAnyOf() only works with strings")};var cf=pn;function pn(){}function tr(c){return Te(function(f){return yo(f),c(f.target.error),!1})}function yo(c){c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault()}var bo="storagemutated",Vl="x-storagemutated-1",Or=mo(null,bo),tS=(fr.prototype._lock=function(){return C(!Le.global),++this._reculock,this._reculock!==1||Le.global||(Le.lockOwnerFor=this),this},fr.prototype._unlock=function(){if(C(!Le.global),--this._reculock==0)for(Le.global||(Le.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var c=this._blockedFuncs.shift();try{cr(c[1],c[0])}catch{}}return this},fr.prototype._locked=function(){return this._reculock&&Le.lockOwnerFor!==this},fr.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 ae.DatabaseClosed(g);case"MissingAPIError":throw new ae.MissingAPI(g.message,g);default:throw new ae.OpenFailed(g)}if(!this.active)throw new ae.TransactionInactive;C(this._completion._state===null),(c=this.idbtrans=c||(this.db.core||p).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=Te(function(x){yo(x),f._reject(c.error)}),c.onabort=Te(function(x){yo(x),f.active&&f._reject(new ae.Abort(c.error)),f.active=!1,f.on("abort").fire(x)}),c.oncomplete=Te(function(){f.active=!1,f._resolve(),"mutatedParts"in c&&Or.storagemutated.fire(c.mutatedParts)})}return this},fr.prototype._promise=function(c,f,p){var g,x=this;return c==="readwrite"&&this.mode!=="readwrite"?Bt(new ae.ReadOnly("Transaction is readonly")):this.active?this._locked()?new D(function(_,M){x._blockedFuncs.push([function(){x._promise(c,f,p).then(_,M)},Le])}):p?Zn(function(){var _=new D(function(M,R){x._lock();var q=f(M,R,x);q&&q.then&&q.then(M,R)});return _.finally(function(){return x._unlock()}),_._lib=!0,_}):((g=new D(function(_,M){var R=f(_,M,x);R&&R.then&&R.then(_,M)}))._lib=!0,g):Bt(new ae.TransactionInactive)},fr.prototype._root=function(){return this.parent?this.parent._root():this},fr.prototype.waitFor=function(c){var f,p=this._root(),g=D.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 D(function(_,M){g.then(function(R){return p._waitingQueue.push(Te(_.bind(null,R)))},function(R){return p._waitingQueue.push(Te(M.bind(null,R)))}).finally(function(){p._waitingFor===x&&(p._waitingFor=null)})})},fr.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new ae.Abort))},fr.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 ae.NotFound("Table "+c+" not part of transaction")},fr);function fr(){}function Gl(c,f,p,g,x,_,M,R){return{name:c,keyPath:f,unique:p,multi:g,auto:x,compound:_,src:(p&&!M?"&":"")+(g?"*":"")+(x?"++":"")+uf(f),type:R}}function uf(c){return typeof c=="string"?c:c?"["+[].join.call(c,"+")+"]":""}function Jl(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 vo=function(c){try{return c.only([[]]),vo=function(){return[[]]},[[]]}catch{return vo=function(){return ur},ur}};function Ql(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 df(c){return[].slice.call(c)}var nS=0;function So(c){return c==null?":id":typeof c=="string"?c:"[".concat(c.join("+"),"]")}function rS(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 G=V.lower,X=V.upper,K=V.lowerOpen,V=V.upperOpen;return G===void 0?X===void 0?null:f.upperBound(X,!!V):X===void 0?f.lowerBound(G,!!K):f.bound(G,X,!!K,!!V)}function x(H){var G,X,K=H.name;return{name:K,schema:H,mutate:function(V){var re=V.trans,te=V.type,ce=V.keys,ve=V.values,xe=V.range;return new Promise(function(Pe,we){Pe=Te(Pe);var Be=re.objectStore(K),Ce=Be.keyPath==null,ze=te==="put"||te==="add";if(!ze&&te!=="delete"&&te!=="deleteRange")throw new Error("Invalid operation type: "+te);var Se,tt=(ce||ve||{length:1}).length;if(ce&&ve&&ce.length!==ve.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(An){++Bn,yo(An)}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(Se=Be.clear()):at.push(Se=Be.delete(g(xe)))}else{var Ce=ze?Ce?[ve,ce]:[ve,null]:[ce,null],ot=Ce[0],En=Ce[1];if(ze)for(var Mn=0;Mn<tt;++Mn)at.push(Se=En&&En[Mn]!==void 0?Be[te](ot[Mn],En[Mn]):Be[te](ot[Mn])),Se.onerror=nt;else for(Mn=0;Mn<tt;++Mn)at.push(Se=Be[te](ot[Mn])),Se.onerror=nt}function _a(An){An=An.target.result,at.forEach(function(ns,gc){return ns.error!=null&&(yt[gc]=ns.error)}),Pe({numFailures:Bn,failures:yt,results:te==="delete"?ce:at.map(function(ns){return ns.result}),lastResult:An})}Se.onerror=function(An){nt(An),_a(An)},Se.onsuccess=_a})},getMany:function(V){var re=V.trans,te=V.keys;return new Promise(function(ce,ve){ce=Te(ce);for(var xe,Pe=re.objectStore(K),we=te.length,Be=new Array(we),Ce=0,ze=0,Se=function(at){at=at.target,Be[at._pos]=at.result,++ze===Ce&&ce(Be)},tt=tr(ve),nt=0;nt<we;++nt)te[nt]!=null&&((xe=Pe.get(te[nt]))._pos=nt,xe.onsuccess=Se,xe.onerror=tt,++Ce);Ce===0&&ce(Be)})},get:function(V){var re=V.trans,te=V.key;return new Promise(function(ce,ve){ce=Te(ce);var xe=re.objectStore(K).get(te);xe.onsuccess=function(Pe){return ce(Pe.target.result)},xe.onerror=tr(ve)})},query:(G=q,X=Z,function(V){return new Promise(function(re,te){re=Te(re);var ce,ve,xe,Pe,tt=V.trans,we=V.values,Be=V.limit,Se=V.query,Ce=(Ce=V.direction)!=null?Ce:"next",ze=Be===1/0?void 0:Be,nt=Se.index,Se=Se.range,tt=tt.objectStore(K),tt=nt.isPrimaryKey?tt:tt.index(nt.name),nt=g(Se);if(Be===0)return re({result:[]});X?(Se={query:nt,count:ze,direction:Ce},(ce=we?tt.getAll(Se):tt.getAllKeys(Se)).onsuccess=function(at){return re({result:at.target.result})},ce.onerror=tr(te)):G&&Ce==="next"?((ce=we?tt.getAll(nt,ze):tt.getAllKeys(nt,ze)).onsuccess=function(at){return re({result:at.target.result})},ce.onerror=tr(te)):(ve=0,xe=!we&&"openKeyCursor"in tt?tt.openKeyCursor(nt,Ce):tt.openCursor(nt,Ce),Pe=[],xe.onsuccess=function(){var at=xe.result;return!at||(Pe.push(we?at.value:at.primaryKey),++ve===Be)?re({result:Pe}):void at.continue()},xe.onerror=tr(te))})}),openCursor:function(V){var re=V.trans,te=V.values,ce=V.query,ve=V.reverse,xe=V.unique;return new Promise(function(Pe,we){Pe=Te(Pe);var ze=ce.index,Be=ce.range,Ce=re.objectStore(K),Ce=ze.isPrimaryKey?Ce:Ce.index(ze.name),ze=ve?xe?"prevunique":"prev":xe?"nextunique":"next",Se=!te&&"openKeyCursor"in Ce?Ce.openKeyCursor(g(Be),ze):Ce.openCursor(g(Be),ze);Se.onerror=tr(we),Se.onsuccess=Te(function(tt){var nt,at,yt,Bn,ot=Se.result;ot?(ot.___id=++nS,ot.done=!1,nt=ot.continue.bind(ot),at=(at=ot.continuePrimaryKey)&&at.bind(ot),yt=ot.advance.bind(ot),Bn=function(){throw new Error("Cursor not stopped")},ot.trans=re,ot.stop=ot.continue=ot.continuePrimaryKey=ot.advance=function(){throw new Error("Cursor not started")},ot.fail=Te(we),ot.next=function(){var En=this,Mn=1;return this.start(function(){return Mn--?En.continue():En.stop()}).then(function(){return En})},ot.start=function(En){function Mn(){if(Se.result)try{En()}catch(An){ot.fail(An)}else ot.done=!0,ot.start=function(){throw new Error("Cursor behind last entry")},ot.stop()}var _a=new Promise(function(An,ns){An=Te(An),Se.onerror=tr(ns),ot.fail=ns,ot.stop=function(gc){ot.stop=ot.continue=ot.continuePrimaryKey=ot.advance=Bn,An(gc)}});return Se.onsuccess=Te(function(An){Se.onsuccess=Mn,Mn()}),ot.continue=nt,ot.continuePrimaryKey=at,ot.advance=yt,Mn(),_a},Pe(ot)):Pe(null)},we)})},count:function(V){var re=V.query,te=V.trans,ce=re.index,ve=re.range;return new Promise(function(xe,Pe){var we=te.objectStore(K),we=ce.isPrimaryKey?we:we.index(ce.name),Be=g(ve),Be=Be?we.count(Be):we.count();Be.onsuccess=Te(function(Ce){return xe(Ce.target.result)}),Be.onerror=tr(Pe)})}}}_=M,R=df((M=c).objectStoreNames),Y=0<R.length?_.objectStore(R[0]):{};var _,M={schema:{name:M.name,tables:R.map(function(H){return _.objectStore(H)}).map(function(H){var G=H.keyPath,X=H.autoIncrement,V=l(G),K={},V={name:H.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:G==null,compound:V,keyPath:G,autoIncrement:X,unique:!0,extractKey:Ql(G)},indexes:df(H.indexNames).map(function(re){return H.index(re)}).map(function(ve){var xe=ve.name,te=ve.unique,ce=ve.multiEntry,ve=ve.keyPath,xe={name:xe,compound:l(ve),keyPath:ve,unique:te,multiEntry:ce,extractKey:Ql(ve)};return K[So(ve)]=xe}),getIndexByKeyPath:function(re){return K[So(re)]}};return K[":id"]=V.primaryKey,G!=null&&(K[So(G)]=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,q=M.hasGetAll,Z=M.hasIdb3Features,Y=R.tables.map(x),z={};return Y.forEach(function(H){return z[H.name]=H}),{stack:"dbcore",transaction:c.transaction.bind(c),table:function(H){if(z[H])return z[H];throw new Error("Table '".concat(H,"' not found"))},MIN_KEY:-1/0,MAX_KEY:vo(f),schema:R}}function sS(c,f,p,g){return p=p.IDBKeyRange,f=rS(f,p,g),{dbcore:c.dbcore.reduce(function(x,_){return _=_.create,r(r({},x),_(x))},f)}}function fa(c,f){var p=f.db,p=sS(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 ha(c,f,p,g){p.forEach(function(x){var _=g[x];f.forEach(function(M){var R=function q(Z,Y){return k(Z,Y)||(Z=d(Z))&&q(Z,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(q){v(this,x,{value:q,writable:!0,configurable:!0,enumerable:!0})}}):M[x]=new c.Table(x,_))})})}function Zl(c,f){f.forEach(function(p){for(var g in p)p[g]instanceof c.Table&&delete p[g]})}function oS(c,f){return c._cfg.version-f._cfg.version}function iS(c,f,p,g){var x=c._dbSchema,_=(p.objectStoreNames.contains("$meta")&&!x.$meta&&(x.$meta=Jl("$meta",hf("")[0],[]),c._storeNames.push("$meta")),c._createTransaction("readwrite",c._storeNames,x)),M=(_.create(p),_._completion.catch(g),_._reject.bind(_)),R=Le.transless||Le;Zn(function(){if(Le.trans=_,Le.transless=R,f!==0)return fa(c,p),Z=f,((q=_).storeNames.includes("$meta")?q.table("$meta").get("version").then(function(Y){return Y??Z}):D.resolve(Z)).then(function(V){var z=c,H=V,G=_,X=p,K=[],V=z._versions,re=z._dbSchema=ma(0,z.idbdb,X);return(V=V.filter(function(te){return te._cfg.version>=H})).length===0?D.resolve():(V.forEach(function(te){K.push(function(){var ce,ve,xe,Pe=re,we=te._cfg.dbschema,Be=(ga(z,Pe,X),ga(z,we,X),re=z._dbSchema=we,ec(Pe,we)),Ce=(Be.add.forEach(function(ze){tc(X,ze[0],ze[1].primKey,ze[1].indexes)}),Be.change.forEach(function(ze){if(ze.recreate)throw new ae.Upgrade("Not yet support for changing primary key");var Se=X.objectStore(ze.name);ze.add.forEach(function(tt){return pa(Se,tt)}),ze.change.forEach(function(tt){Se.deleteIndex(tt.name),pa(Se,tt)}),ze.del.forEach(function(tt){return Se.deleteIndex(tt)})}),te._cfg.contentUpgrade);if(Ce&&te._cfg.version>H)return fa(z,X),G._memoizedTables={},ce=F(we),Be.del.forEach(function(ze){ce[ze]=Pe[ze]}),Zl(z,[z.Transaction.prototype]),ha(z,[z.Transaction.prototype],i(ce),ce),G.schema=ce,(ve=ge(Ce))&&ar(),we=D.follow(function(){var ze;(xe=Ce(G))&&ve&&(ze=er.bind(null,null),xe.then(ze,ze))}),xe&&typeof xe.then=="function"?D.resolve(xe):we.then(function(){return xe})}),K.push(function(ce){var ve,xe,Pe=te._cfg.dbschema;ve=Pe,xe=ce,[].slice.call(xe.db.objectStoreNames).forEach(function(we){return ve[we]==null&&xe.db.deleteObjectStore(we)}),Zl(z,[z.Transaction.prototype]),ha(z,[z.Transaction.prototype],z._storeNames,z._dbSchema),G.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(ve){return ve!=="$meta"})):ce.objectStore("$meta").put(te._cfg.version,"version"))})}),function te(){return K.length?D.resolve(K.shift()(G.idbtrans)).then(te):D.resolve()}().then(function(){ff(re,X)}))}).catch(M);var q,Z;i(x).forEach(function(Y){tc(p,Y,x[Y].primKey,x[Y].indexes)}),fa(c,p),D.follow(function(){return c.on.populate.fire(_)}).catch(M)})}function aS(c,f){ff(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=ma(0,c.idbdb,f);ga(c,c._dbSchema,f);for(var g=0,x=ec(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(q){qt&&console.debug("Dexie upgrade patch: Creating missing index ".concat(M.name,".").concat(q.src)),pa(R,q)})})(x[g]);if(typeof _=="object")return _.value}}function ec(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,q=_.idxByName,Z=void 0;for(Z in R)q[Z]||M.del.push(Z);for(Z in q){var Y=R[Z],z=q[Z];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 tc(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 pa(x,_)})}function ff(c,f){i(c).forEach(function(p){f.db.objectStoreNames.contains(p)||(qt&&console.debug("Dexie: Creating missing table",p),tc(f,p,c[p].primKey,c[p].indexes))})}function pa(c,f){c.createIndex(f.name,f.keyPath,{unique:f.unique,multiEntry:f.multi})}function ma(c,f,p){var g={};return T(f.objectStoreNames,0).forEach(function(x){for(var _=p.objectStore(x),M=Gl(uf(Z=_.keyPath),Z||"",!0,!1,!!_.autoIncrement,Z&&typeof Z!="string",!0),R=[],q=0;q<_.indexNames.length;++q){var Y=_.index(_.indexNames[q]),Z=Y.keyPath,Y=Gl(Y.name,Z,!!Y.unique,!!Y.multiEntry,!1,Z&&typeof Z!="string",!1);R.push(Y)}g[x]=Jl(x,M,R)}),g}function ga(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 q,Z=M.indexNames[R],Y=M.index(Z).keyPath,Y=typeof Y=="string"?Y:"["+T(Y).join("+")+"]";f[_]&&(q=f[_].idxByName[Y])&&(q.name=Z,delete f[_].idxByName[Y],f[_].idxByName[Z]=q)}}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 hf(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 Gl(x,_||null,/\&/.test(f),/\*/.test(f),/\+\+/.test(f),l(_),p===0,g)})}Os.prototype._createTableSchema=Jl,Os.prototype._parseIndexSyntax=hf,Os.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 ae.Schema("Invalid schema for table "+g+": "+c[g]);if(_.unique=!0,_.multi)throw new ae.Schema("Primary key cannot be multiEntry*");x.forEach(function(M){if(M.auto)throw new ae.Schema("Only primary key can be marked as autoIncrement (++)");if(!M.keyPath)throw new ae.Schema("Index must have a name and cannot be an empty string")}),_=p._createTableSchema(g,_,x),f[g]=_}})},Os.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,Zl(f,[f._allTables,f,f.Transaction.prototype]),ha(f,[f._allTables,f,f.Transaction.prototype,this._cfg.tables],i(x),x),f._storeNames=i(x),this},Os.prototype.upgrade=function(c){return this._cfg.contentUpgrade=Mt(this._cfg.contentUpgrade||Re,c),this};var lS=Os;function Os(){}var xo=(()=>{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 nc(c,f){var p=c._dbNamesDB;return p||(p=c._dbNamesDB=new Tr(lt,{addons:[],indexedDB:c,IDBKeyRange:f})).version(1).stores({dbnames:"name"}),p.table("dbnames")}function rc(c){return c&&typeof c.databases=="function"}function sc(c){return Zn(function(){return Le.letThrough=!0,c()})}function oc(c){return!("from"in c)}var Pn=function(c,f){var p;if(!this)return p=new Pn,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 wo(c,f,p){var g=it(f,p);if(!isNaN(g)){if(0<g)throw RangeError();if(oc(c))return u(c,{from:f,to:p,d:1});var g=c.l,x=c.r;if(it(p,c.from)<0)return g?wo(g,f,p):c.l={from:f,to:p,d:1,l:null,r:null},mf(c);if(0<it(f,c.to))return x?wo(x,f,p):c.r={from:f,to:p,d:1,l:null,r:null},mf(c);it(f,c.from)<0&&(c.from=f,c.l=null,c.d=x?x.d+1:1),0<it(p,c.to)&&(c.to=p,c.r=null,c.d=c.l?c.l.d+1:1),f=!c.r,g&&!c.l&&_o(c,g),x&&f&&_o(c,x)}}function _o(c,f){oc(f)||function p(g,x){var _=x.from,M=x.l,R=x.r;wo(g,_,x.to),M&&p(g,M),R&&p(g,R)}(c,f)}function pf(c,f){var p=ya(f),g=p.next();if(!g.done)for(var x=g.value,_=ya(c),M=_.next(x.from),R=M.value;!g.done&&!M.done;){if(it(R.from,x.to)<=0&&0<=it(R.to,x.from))return!0;it(x.from,R.from)<0?x=(g=p.next(R.from)).value:R=(M=_.next(x.from)).value}return!1}function ya(c){var f=oc(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&&it(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||it(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 mf(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=gf(p)),c.d=gf(c)}function gf(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 ba(c,f){return i(f).forEach(function(p){c[p]?_o(c[p],f[p]):c[p]=function g(x){var _,M,R={};for(_ in x)m(x,_)&&(M=x[_],R[_]=!M||typeof M!="object"||U.has(M.constructor)?M:g(M));return R}(f[p])}),c}function ic(c,f){return c.all||f.all||Object.keys(c).some(function(p){return f[p]&&pf(f[p],c[p])})}b(Pn.prototype,(($t={add:function(c){return _o(this,c),this},addKey:function(c){return wo(this,c,c),this},addKeys:function(c){var f=this;return c.forEach(function(p){return wo(f,p,p)}),this},hasKey:function(c){var f=ya(this).next(c).value;return f&&it(f.from,c)<=0&&0<=it(f.to,c)}})[pe]=function(){return ya(this)},$t));var es={},ac={},lc=!1;function va(c){ba(ac,c),lc||(lc=!0,setTimeout(function(){lc=!1,cc(ac,!(ac={}))},0))}function cc(c,f){f===void 0&&(f=!1);var p=new Set;if(c.all)for(var g=0,x=Object.values(es);g<x.length;g++)yf(R=x[g],c,p,f);else for(var _ in c){var M,R,_=/^idb\:\/\/(.*)\/(.*)\//.exec(_);_&&(M=_[1],_=_[2],R=es["idb://".concat(M,"/").concat(_)])&&yf(R,c,p,f)}p.forEach(function(q){return q()})}function yf(c,f,p,g){for(var x=[],_=0,M=Object.entries(c.queries.query);_<M.length;_++){for(var R=M[_],q=R[0],Z=[],Y=0,z=R[1];Y<z.length;Y++){var H=z[Y];ic(f,H.obsSet)?H.subscribers.forEach(function(V){return p.add(V)}):g&&Z.push(H)}g&&x.push([q,Z])}if(g)for(var G=0,X=x;G<X.length;G++){var K=X[G],q=K[0],Z=K[1];c.queries.query[q]=Z}}function cS(c){var f=c._state,p=c._deps.indexedDB;if(f.isBeingOpened||c.idbdb)return f.dbReadyPromise.then(function(){return f.dbOpenError?Bt(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 ae.DatabaseClosed("db.open() was cancelled")}function R(){return new D(function(H,G){if(M(),!p)throw new ae.MissingAPI;var X=c.name,K=f.autoSchema||!x?p.open(X):p.open(X,x);if(!K)throw new ae.MissingAPI;K.onerror=tr(G),K.onblocked=Te(c._fireOnBlocked),K.onupgradeneeded=Te(function(V){var re;Y=K.transaction,f.autoSchema&&!c._options.allowEmptyDB?(K.onerror=yo,Y.abort(),K.result.close(),(re=p.deleteDatabase(X)).onsuccess=re.onerror=Te(function(){G(new ae.NoSuchDatabase("Database ".concat(X," doesnt exist")))})):(Y.onerror=tr(G),re=V.oldVersion>Math.pow(2,62)?0:V.oldVersion,z=re<1,c.idbdb=K.result,_&&aS(c,Y),iS(c,re/10,Y,G))},G),K.onsuccess=Te(function(){Y=null;var V,re,te,ce,ve,xe,Pe=c.idbdb=K.result,we=T(Pe.objectStoreNames);if(0<we.length)try{var Be=Pe.transaction((ve=we).length===1?ve[0]:ve,"readonly");if(f.autoSchema)xe=Pe,ce=Be,(te=c).verno=xe.version/10,ce=te._dbSchema=ma(0,xe,ce),te._storeNames=T(xe.objectStoreNames,0),ha(te,[te._allTables],i(ce),ce);else if(ga(c,c._dbSchema,Be),re=Be,((re=ec(ma(0,(V=c).idbdb,re),V._dbSchema)).add.length||re.change.some(function(Ce){return Ce.add.length||Ce.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,H(R());fa(c,Be)}catch{}xo.add(c),Pe.onversionchange=Te(function(Ce){f.vcFired=!0,c.on("versionchange").fire(Ce)}),Pe.onclose=Te(function(){c.close({disableAutoOpen:!1})}),z&&(we=c._deps,ve=X,rc(xe=we.indexedDB)||ve===lt||nc(xe,we.IDBKeyRange).put({name:ve}).catch(Re)),H()},G)}).catch(function(H){switch(H==null?void 0:H.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 D.reject(H)})}var q,Z=f.dbReadyResolve,Y=null,z=!1;return D.race([g,(typeof navigator>"u"?D.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(H){function G(){return indexedDB.databases().finally(H)}q=setInterval(G,100),G()}).finally(function(){return clearInterval(q)}):Promise.resolve()).then(R)]).then(function(){return M(),f.onReadyBeingFired=[],D.resolve(sc(function(){return c.on.ready.fire(c.vip)})).then(function H(){var G;if(0<f.onReadyBeingFired.length)return G=f.onReadyBeingFired.reduce(Mt,Re),f.onReadyBeingFired=[],D.resolve(sc(function(){return G(c.vip)})).then(H)})}).finally(function(){f.openCanceller===g&&(f.onReadyBeingFired=null,f.isBeingOpened=!1)}).catch(function(H){f.dbOpenError=H;try{Y&&Y.abort()}catch{}return g===f.openCanceller&&c._close(),Bt(H)}).finally(function(){f.openComplete=!0,Z()}).then(function(){var H;return z&&(H={},c.tables.forEach(function(G){G.schema.indexes.forEach(function(X){X.name&&(H["idb://".concat(c.name,"/").concat(G.name,"/").concat(X.name)]=new Pn(-1/0,[[[]]]))}),H["idb://".concat(c.name,"/").concat(G.name,"/")]=H["idb://".concat(c.name,"/").concat(G.name,"/:dels")]=new Pn(-1/0,[[[]]])}),Or(bo).fire(H),cc(H,!0)),c})}function uc(c){function f(_){return c.next(_)}var p=x(f),g=x(function(_){return c.throw(_)});function x(_){return function(R){var R=_(R),q=R.value;return R.done?q:q&&typeof q.then=="function"?q.then(p,g):l(q)?Promise.all(q).then(p,g):p(q)}}return x(f)()}function Sa(c,f,p){for(var g=l(c)?c.slice():[c],x=0;x<p;++x)g.push(f);return g}var uS={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(H,G,X){var te=So(H),K=x[te]=x[te]||[],V=H==null?0:typeof H=="string"?1:H.length,re=0<G,te=r(r({},X),{name:re?"".concat(te,"(virtual-from:").concat(X.name,")"):X.name,lowLevelIndex:X,isVirtual:re,keyTail:G,keyLength:V,extractKey:Ql(H),unique:!re&&X.unique});return K.push(te),te.isPrimaryKey||_.push(te),1<V&&M(V===2?H[0]:H.slice(0,V-1),G+1,X),K.sort(function(ce,ve){return ce.keyTail-ve.keyTail}),te}var R=M(g.primaryKey.keyPath,0,g.primaryKey);x[":id"]=[R];for(var q=0,Z=g.indexes;q<Z.length;q++){var Y=Z[q];M(Y.keyPath,0,Y)}function z(H){var G,X=H.query.index;return X.isVirtual?r(r({},H),{query:{index:X.lowLevelIndex,range:(G=H.query.range,X=X.keyTail,{type:G.type===1?2:G.type,lower:Sa(G.lower,G.lowerOpen?c.MAX_KEY:c.MIN_KEY,X),lowerOpen:!0,upper:Sa(G.upper,G.upperOpen?c.MIN_KEY:c.MAX_KEY,X),upperOpen:!0})}}):H}return r(r({},p),{schema:r(r({},g),{primaryKey:R,indexes:_,getIndexByKeyPath:function(H){return(H=x[So(H)])&&H[0]}}),count:function(H){return p.count(z(H))},query:function(H){return p.query(z(H))},openCursor:function(H){var G=H.query.index,X=G.keyTail,K=G.keyLength;return G.isVirtual?p.openCursor(z(H)).then(function(re){return re&&V(re)}):p.openCursor(H);function V(re){return Object.create(re,{continue:{value:function(te){te!=null?re.continue(Sa(te,H.reverse?c.MAX_KEY:c.MIN_KEY,X)):H.unique?re.continue(re.key.slice(0,K).concat(H.reverse?c.MIN_KEY:c.MAX_KEY,X)):re.continue()}},continuePrimaryKey:{value:function(te,ce){re.continuePrimaryKey(Sa(te,c.MAX_KEY,X),ce)}},primaryKey:{get:function(){return re.primaryKey}},key:{get:function(){var te=re.key;return K===1?te[0]:te.slice(0,K)}},value:{get:function(){return re.value}}})}}})}})}};function dc(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=Q(_))!==Q(M)?p[g+x]=f[x]:R==="Object"?dc(_,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 fc(c,f){return f.type==="delete"?f.keys:f.keys||f.values.map(c.extractKey)}var dS={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 _=Le.trans,M=_.table(f).hook,R=M.deleting,q=M.creating,Z=M.updating;switch(x.type){case"add":if(q.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"put":if(q.fire===Re&&Z.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"delete":if(R.fire===Re)break;return _._promise("readwrite",function(){return Y(x)},!0);case"deleteRange":if(R.fire===Re)break;return _._promise("readwrite",function(){return function z(H,G,X){return p.query({trans:H,values:!1,query:{index:g,range:G},limit:X}).then(function(K){var V=K.result;return Y({type:"delete",keys:V,trans:H}).then(function(re){return 0<re.numFailures?Promise.reject(re.failures[0]):V.length<X?{failures:[],numFailures:0,lastResult:void 0}:z(H,r(r({},G),{lower:V[V.length-1],lowerOpen:!0}),X)})})}(x.trans,x.range,1e4)},!0)}return p.mutate(x);function Y(z){var H,G,X,K=Le.trans,V=z.keys||fc(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)),H=p,X=V,((G=z).type==="add"?Promise.resolve([]):H.getMany({trans:G.trans,keys:X,cache:"immutable"})).then(function(re){var te=V.map(function(ce,ve){var xe,Pe,we,Be=re[ve],Ce={onerror:null,onsuccess:null};return z.type==="delete"?R.fire.call(Ce,ce,Be,K):z.type==="add"||Be===void 0?(xe=q.fire.call(Ce,ce,z.values[ve],K),ce==null&&xe!=null&&(z.keys[ve]=ce=xe,g.outbound||L(z.values[ve],g.keyPath,ce))):(xe=dc(Be,z.values[ve]),(Pe=Z.fire.call(Ce,xe,ce,Be,K))&&(we=z.values[ve],Object.keys(Pe).forEach(function(ze){m(we,ze)?we[ze]=Pe[ze]:L(we,ze,Pe[ze])}))),Ce});return p.mutate(z).then(function(ce){for(var ve=ce.failures,xe=ce.results,Pe=ce.numFailures,ce=ce.lastResult,we=0;we<V.length;++we){var Be=(xe||V)[we],Ce=te[we];Be==null?Ce.onerror&&Ce.onerror(ve[we]):Ce.onsuccess&&Ce.onsuccess(z.type==="put"&&re[we]?z.values[we]:Be)}return{failures:ve,results:xe,numFailures:Pe,lastResult:ce}}).catch(function(ce){return te.forEach(function(ve){return ve.onerror&&ve.onerror(ce)}),Promise.reject(ce)})});throw new Error("Keys missing")}}})}})}};function bf(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)it(f.keys[x],c[_])===0&&(g.push(p?ee(f.values[x]):f.values[x]),++_);return g.length===c.length?g:null}catch{return null}}var fS={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=bf(g.keys,g.trans._cache,g.cache==="clone"))?D.resolve(x):p.getMany(g).then(function(_){return g.trans._cache={keys:g.keys,values:g.cache==="clone"?ee(_):_},_}):p.getMany(g)},mutate:function(g){return g.type!=="add"&&(g.trans._cache=null),p.mutate(g)}})}}}};function vf(c,f){return c.trans.mode==="readonly"&&!!c.subscr&&!c.trans.explicit&&c.trans.db._options.cache!=="disabled"&&!f.schema.primaryKey.outbound}function Sf(c,f){switch(c){case"query":return f.values&&!f.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var hS={stack:"dbcore",level:0,name:"Observability",create:function(c){var f=c.schema.name,p=new Pn(c.MIN_KEY,c.MAX_KEY);return r(r({},c),{transaction:function(g,x,_){if(Le.subscr&&x!=="readonly")throw new ae.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(Le.querier));return c.transaction(g,x,_)},table:function(g){function x(V){var K,V=V.query;return[K=V.index,new Pn((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,q=M.indexes,Z=R.extractKey,Y=R.outbound,z=R.autoIncrement&&q.filter(function(X){return X.compound&&X.keyPath.includes(R.keyPath)}),H=r(r({},_),{mutate:function(X){function K(Se){return Se="idb://".concat(f,"/").concat(g,"/").concat(Se),ve[Se]||(ve[Se]=new Pn)}var V,re,te,ce=X.trans,ve=X.mutatedParts||(X.mutatedParts={}),xe=K(""),Pe=K(":dels"),we=X.type,Ce=X.type==="deleteRange"?[X.range]:X.type==="delete"?[X.keys]:X.values.length<50?[fc(R,X).filter(function(Se){return Se}),X.values]:[],Be=Ce[0],Ce=Ce[1],ze=X.trans._cache;return l(Be)?(xe.addKeys(Be),(we=we==="delete"||Be.length===Ce.length?bf(Be,ze):null)||Pe.addKeys(Be),(we||Ce)&&(V=K,re=we,te=Ce,M.indexes.forEach(function(Se){var tt=V(Se.name||"");function nt(yt){return yt!=null?Se.extractKey(yt):null}function at(yt){Se.multiEntry&&l(yt)?yt.forEach(function(Bn){return tt.addKey(Bn)}):tt.addKey(yt)}(re||te).forEach(function(yt,En){var ot=re&&nt(re[En]),En=te&&nt(te[En]);it(ot,En)!==0&&(ot!=null&&at(ot),En!=null)&&at(En)})}))):Be?(Ce={from:(ze=Be.lower)!=null?ze:c.MIN_KEY,to:(we=Be.upper)!=null?we:c.MAX_KEY},Pe.add(Ce),xe.add(Ce)):(xe.add(p),Pe.add(p),M.indexes.forEach(function(Se){return K(Se.name).add(p)})),_.mutate(X).then(function(Se){return!Be||X.type!=="add"&&X.type!=="put"||(xe.addKeys(Se.results),z&&z.forEach(function(tt){for(var nt=X.values.map(function(ot){return tt.extractKey(ot)}),at=tt.keyPath.findIndex(function(ot){return ot===R.keyPath}),yt=0,Bn=Se.results.length;yt<Bn;++yt)nt[yt][at]=Se.results[yt];K(tt.name).addKeys(nt)})),ce.mutatedParts=ba(ce.mutatedParts||{},ve),Se})}}),G={get:function(X){return[R,new Pn(X.key)]},getMany:function(X){return[R,new Pn().addKeys(X.keys)]},count:x,query:x,openCursor:x};return i(G).forEach(function(X){H[X]=function(K){var V=Le.subscr,re=!!V,te=vf(Le,_)&&Sf(X,K)?K.obsSet={}:V;if(re){var ce,V=function(Ce){return Ce="idb://".concat(f,"/").concat(g,"/").concat(Ce),te[Ce]||(te[Ce]=new Pn)},ve=V(""),xe=V(":dels"),re=G[X](K),Pe=re[0],re=re[1];if((X==="query"&&Pe.isPrimaryKey&&!K.values?xe:V(Pe.name||"")).add(re),!Pe.isPrimaryKey){if(X!=="count")return ce=X==="query"&&Y&&K.values&&_.query(r(r({},K),{values:!1})),_[X].apply(this,arguments).then(function(Ce){if(X==="query"){if(Y&&K.values)return ce.then(function(nt){return nt=nt.result,ve.addKeys(nt),Ce});var ze=K.values?Ce.result.map(Z):Ce.result;(K.values?ve:xe).addKeys(ze)}else{var Se,tt;if(X==="openCursor")return tt=K.values,(Se=Ce)&&Object.create(Se,{key:{get:function(){return xe.addKey(Se.primaryKey),Se.key}},primaryKey:{get:function(){var nt=Se.primaryKey;return xe.addKey(nt),nt}},value:{get:function(){return tt&&ve.addKey(Se.primaryKey),Se.value}}})}return Ce});xe.add(p)}}return _[X].apply(this,arguments)}}),H}})}};function xf(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 hc(c,f){return p=c,((g=f).lower===void 0||(g.lowerOpen?0<it(p,g.lower):0<=it(p,g.lower)))&&(p=c,(g=f).upper===void 0||(g.upperOpen?it(p,g.upper)<0:it(p,g.upper)<=0));var p,g}function wf(c,f,p,g,x,_){var M,R,q,Z,Y,z,H;return!p||p.length===0||(M=f.query.index,R=M.multiEntry,q=f.query.range,Z=g.schema.primaryKey.extractKey,Y=M.extractKey,z=(M.lowLevelIndex||M).extractKey,(g=p.reduce(function(G,X){var K=G,V=[];if(X.type==="add"||X.type==="put")for(var re=new Pn,te=X.values.length-1;0<=te;--te){var ce,ve=X.values[te],xe=Z(ve);!re.hasKey(xe)&&(ce=Y(ve),R&&l(ce)?ce.some(function(ze){return hc(ze,q)}):hc(ce,q))&&(re.addKey(xe),V.push(ve))}switch(X.type){case"add":var Pe=new Pn().addKeys(f.values?G.map(function(Se){return Z(Se)}):G),K=G.concat(f.values?V.filter(function(Se){return Se=Z(Se),!Pe.hasKey(Se)&&(Pe.addKey(Se),!0)}):V.map(function(Se){return Z(Se)}).filter(function(Se){return!Pe.hasKey(Se)&&(Pe.addKey(Se),!0)}));break;case"put":var we=new Pn().addKeys(X.values.map(function(Se){return Z(Se)}));K=G.filter(function(Se){return!we.hasKey(f.values?Z(Se):Se)}).concat(f.values?V:V.map(function(Se){return Z(Se)}));break;case"delete":var Be=new Pn().addKeys(X.keys);K=G.filter(function(Se){return!Be.hasKey(f.values?Z(Se):Se)});break;case"deleteRange":var Ce=X.range;K=G.filter(function(Se){return!hc(Z(Se),Ce)})}return K},c))===c)?c:(H=function(G,X){return it(z(G),z(X))||it(Z(G),Z(X))},g.sort(f.direction==="prev"||f.direction==="prevunique"?function(G,X){return H(X,G)}:H),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 _f(c,f){return it(c.lower,f.lower)===0&&it(c.upper,f.upper)===0&&!!c.lowerOpen==!!f.lowerOpen&&!!c.upperOpen==!!f.upperOpen}function pS(c,f){return((p,g,x,_)=>{if(p===void 0)return g!==void 0?-1:0;if(g===void 0)return 1;if((p=it(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=it(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 mS(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&&ie(_,x)},3e3))})}var gS={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(q){return function(){if(_.abort(),g==="readwrite"){for(var Z=new Set,Y=0,z=p;Y<z.length;Y++){var H=z[Y],G=es["idb://".concat(f,"/").concat(H)];if(G){var X=c.table(H),K=G.optimisticOps.filter(function(Se){return Se.trans===R});if(R._explicit&&q&&R.mutatedParts)for(var V=0,re=Object.values(G.queries.query);V<re.length;V++)for(var te=0,ce=(Pe=re[V]).slice();te<ce.length;te++)ic((we=ce[te]).obsSet,R.mutatedParts)&&(ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)}));else if(0<K.length){G.optimisticOps=G.optimisticOps.filter(function(Se){return Se.trans!==R});for(var ve=0,xe=Object.values(G.queries.query);ve<xe.length;ve++)for(var Pe,we,Be,Ce=0,ze=(Pe=xe[ve]).slice();Ce<ze.length;Ce++)(we=ze[Ce]).res!=null&&R.mutatedParts&&(q&&!we.dirty?(Be=Object.isFrozen(we.res),Be=wf(we.res,we.req,K,X,we,Be),we.dirty?(ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)})):Be!==we.res&&(we.res=Be,we.promise=D.resolve({result:Be}))):(we.dirty&&ie(Pe,we),we.subscribers.forEach(function(Se){return Z.add(Se)})))}}}Z.forEach(function(Se){return Se()})}}})(!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=Le.trans;return!x.outbound&&R.db._options.cache!=="disabled"&&!R.explicit&&R.idbtrans.mode==="readwrite"&&(M=es["idb://".concat(f,"/").concat(p)])?(R=g.mutate(_),_.type!=="add"&&_.type!=="put"||!(50<=_.values.length||fc(x,_).some(function(q){return q==null}))?(M.optimisticOps.push(_),_.mutatedParts&&va(_.mutatedParts),R.then(function(q){0<q.numFailures&&(ie(M.optimisticOps,_),(q=xf(0,_,q))&&M.optimisticOps.push(q),_.mutatedParts)&&va(_.mutatedParts)}),R.catch(function(){ie(M.optimisticOps,_),_.mutatedParts&&va(_.mutatedParts)})):R.then(function(q){var Z=xf(0,r(r({},_),{values:_.values.map(function(Y,z){var H;return q.failures[z]?Y:(L(H=(H=x.keyPath)!=null&&H.includes(".")?ee(Y):r({},Y),x.keyPath,q.results[z]),H)})}),q);M.optimisticOps.push(Z),queueMicrotask(function(){return _.mutatedParts&&va(_.mutatedParts)})}),R):g.mutate(_)},query:function(_){var M,R,q,Z,Y,z,H;return vf(Le,g)&&Sf("query",_)?(M=((q=Le.trans)==null?void 0:q.db._options.cache)==="immutable",R=(q=Le).requery,q=q.signal,z=((G,X,K,V)=>{var re=es["idb://".concat(G,"/").concat(X)];if(!re)return[];if(!(G=re.queries[K]))return[null,!1,re,null];var te=G[(V.query?V.query.index.name:null)||""];if(!te)return[null,!1,re,null];switch(K){case"query":var ce=(ve=V.direction)!=null?ve:"next",ve=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&&_f(xe.req.query.range,V.query.range)});return ve?[ve,!0,re,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)&&pS(xe.req.query.range,V.query.range)}),!1,re,te];case"count":return ve=te.find(function(xe){return _f(xe.req.query.range,V.query.range)}),[ve,!!ve,re,te]}})(f,p,"query",_),H=z[0],Z=z[2],Y=z[3],H&&z[1]?H.obsSet=_.obsSet:(z=g.query(_).then(function(G){var X=G.result;if(H&&(H.res=X),M){for(var K=0,V=X.length;K<V;++K)Object.freeze(X[K]);Object.freeze(X)}else G.result=ee(X);return G}).catch(function(G){return Y&&H&&ie(Y,H),Promise.reject(G)}),H={obsSet:_.obsSet,promise:z,subscribers:new Set,type:"query",req:_,dirty:!1},Y?Y.push(H):(Y=[H],(Z=Z||(es["idb://".concat(f,"/").concat(p)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[_.query.index.name||""]=Y)),mS(H,Y,R,q),H.promise.then(function(G){return{result:wf(G.result,_,Z==null?void 0:Z.optimisticOps,g,H,M)}})):g.query(_)}})}})}};function xa(c,f){return new Proxy(c,{get:function(p,g,x){return g==="db"?f:Reflect.get(p,g,x)}})}Zt.prototype.version=function(c){if(isNaN(c)||c<.1)throw new ae.Type("Given version is not a positive number");if(c=Math.round(10*c)/10,this.idbdb||this._state.isBeingOpened)throw new ae.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(oS),p.stores({}),this._state.autoSchema=!1),p},Zt.prototype._whenReady=function(c){var f=this;return this.idbdb&&(this._state.openComplete||Le.letThrough||this._vip)?c():new D(function(p,g){if(f._state.openComplete)return g(new ae.DatabaseClosed(f._state.dbOpenError));if(!f._state.isBeingOpened){if(!f._state.autoOpen)return void g(new ae.DatabaseClosed);f.open().catch(Re)}f._state.dbReadyPromise.then(p,g)}).then(c)},Zt.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},Zt.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},Zt.prototype.open=function(){var c=this;return cr(Jt,function(){return cS(c)})},Zt.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var c=this._state;if(xo.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}c.isBeingOpened||(c.dbReadyPromise=new D(function(f){c.dbReadyResolve=f}),c.openCanceller=new D(function(f,p){c.cancelOpen=p}))},Zt.prototype.close=function(f){var f=(f===void 0?{disableAutoOpen:!0}:f).disableAutoOpen,p=this._state;f?(p.isBeingOpened&&p.cancelOpen(new ae.DatabaseClosed),this._close(),p.autoOpen=!1,p.dbOpenError=new ae.DatabaseClosed):(this._close(),p.autoOpen=this._options.autoOpen||p.isBeingOpened,p.openComplete=!1,p.dbOpenError=null)},Zt.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 D(function(x,_){function M(){f.close(c);var R=f._deps.indexedDB.deleteDatabase(f.name);R.onsuccess=Te(function(){var q,Z,Y;q=f._deps,Z=f.name,rc(Y=q.indexedDB)||Z===lt||nc(Y,q.IDBKeyRange).delete(Z).catch(Re),x()}),R.onerror=tr(_),R.onblocked=f._fireOnBlocked}if(p)throw new ae.InvalidArgument("Invalid closeOptions argument to db.delete()");g.isBeingOpened?g.dbReadyPromise.then(M):M()})},Zt.prototype.backendDB=function(){return this.idbdb},Zt.prototype.isOpen=function(){return this.idbdb!==null},Zt.prototype.hasBeenClosed=function(){var c=this._state.dbOpenError;return c&&c.name==="DatabaseClosed"},Zt.prototype.hasFailed=function(){return this._state.dbOpenError!==null},Zt.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(Zt.prototype,"tables",{get:function(){var c=this;return i(this._allTables).map(function(f){return c._allTables[f]})},enumerable:!1,configurable:!0}),Zt.prototype.transaction=function(){var c=(function(f,p,g){var x=arguments.length;if(x<2)throw new ae.InvalidArgument("Too few arguments");for(var _=new Array(x-1);--x;)_[x-1]=arguments[x];return g=_.pop(),[f,B(_),g]}).apply(this,arguments);return this._transaction.apply(this,c)},Zt.prototype._transaction=function(c,f,p){var g,x,_=this,M=Le.trans,R=(M&&M.db===this&&c.indexOf("!")===-1||(M=null),c.indexOf("?")!==-1);c=c.replace("!","").replace("?","");try{if(x=f.map(function(Z){if(Z=Z instanceof _.Table?Z.name:Z,typeof Z!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return Z}),c=="r"||c===At)g=At;else{if(c!="rw"&&c!=zt)throw new ae.InvalidArgument("Invalid transaction mode: "+c);g=zt}if(M){if(M.mode===At&&g===zt){if(!R)throw new ae.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");M=null}M&&x.forEach(function(Z){if(M&&M.storeNames.indexOf(Z)===-1){if(!R)throw new ae.SubTransaction("Table "+Z+" not included in parent transaction.");M=null}}),R&&M&&!M.active&&(M=null)}}catch(Z){return M?M._promise(null,function(Y,z){z(Z)}):Bt(Z)}var q=(function Z(Y,z,H,G,X){return D.resolve().then(function(){var te=Le.transless||Le,K=Y._createTransaction(z,H,Y._dbSchema,G),te=(K.explicit=!0,{trans:K,transless:te});if(G)K.idbtrans=G.idbtrans;else try{K.create(),K.idbtrans._explicit=!0,Y._state.PR1398_maxLoop=3}catch(ce){return ce.name===bt.InvalidState&&Y.isOpen()&&0<--Y._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),Y.close({disableAutoOpen:!1}),Y.open().then(function(){return Z(Y,z,H,null,X)})):Bt(ce)}var V,re=ge(X),te=(re&&ar(),D.follow(function(){var ce;(V=X.call(K,K))&&(re?(ce=er.bind(null,null),V.then(ce,ce)):typeof V.next=="function"&&typeof V.throw=="function"&&(V=uc(V)))},te));return(V&&typeof V.then=="function"?D.resolve(V).then(function(ce){return K.active?ce:Bt(new ae.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):te.then(function(){return V})).then(function(ce){return G&&K._resolve(),K._completion.then(function(){return ce})}).catch(function(ce){return K._reject(ce),Bt(ce)})})}).bind(null,this,g,x,M,p);return M?M._promise(g,q,"lock"):Le.trans?cr(Le.transless,function(){return _._whenReady(q)}):this._whenReady(q)},Zt.prototype.table=function(c){if(m(this._allTables,c))return this._allTables[c];throw new ae.InvalidTable("Table ".concat(c," does not exist"))};var Tr=Zt;function Zt(c,f){var p,g,x,_,M,R=this,q=(this._middlewares={},this.verno=0,Zt.dependencies),q=(this._options=f=r({addons:Zt.addons,autoOpen:!0,indexedDB:q.indexedDB,IDBKeyRange:q.IDBKeyRange,cache:"cloned",maxConnections:1e3},f),this._deps={indexedDB:f.indexedDB,IDBKeyRange:f.IDBKeyRange},f.addons),Z=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Re,dbReadyPromise:null,cancelOpen:Re,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:f.autoOpen}),Y=(Z.dbReadyPromise=new D(function(z){Z.dbReadyResolve=z}),Z.openCanceller=new D(function(z,H){Z.cancelOpen=H}),this._state=Z,this.name=c,this.on=mo(this,"populate","blocked","versionchange","close",{ready:[Mt,Re]}),this.once=function(z,H){var G=function(){for(var X=[],K=0;K<arguments.length;K++)X[K]=arguments[K];R.on(z).unsubscribe(G),H.apply(R,X)};return R.on(z,G)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(z){return function(H,G){Zt.vip(function(){var X,K=R._state;K.openComplete?(K.dbOpenError||D.resolve().then(H),G&&z(H)):K.onReadyBeingFired?(K.onReadyBeingFired.push(H),G&&z(H)):(z(H),X=R,G||z(function V(){X.on.ready.unsubscribe(H),X.on.ready.unsubscribe(V)}))})}}),this.Collection=(p=this,go(Qv.prototype,function(V,K){this.db=p;var G=rn,X=null;if(K)try{G=K()}catch(te){X=te}var K=V._ctx,V=K.table,re=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:G,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:re!==Ue?re:null}})),this.Table=(g=this,go(rf.prototype,function(z,H,G){this.db=g,this._tx=G,this.name=z,this.schema=H,this.hook=g._allTables[z]?g._allTables[z].hook:mo(null,{creating:[gt,Re],reading:[Ot,Ue],updating:[nn,Re],deleting:[Ht,Re]})})),this.Transaction=(x=this,go(tS.prototype,function(z,H,G,X,K){var V=this;z!=="readonly"&&H.forEach(function(re){re=(re=G[re])==null?void 0:re.yProps,re&&(H=H.concat(re.map(function(te){return te.updatesTable})))}),this.db=x,this.mode=z,this.storeNames=H,this.schema=G,this.chromeTransactionDurability=X,this.idbtrans=null,this.on=mo(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 D(function(re,te){V._resolve=re,V._reject=te}),this._completion.then(function(){V.active=!1,V.on.complete.fire()},function(re){var te=V.active;return V.active=!1,V.on.error.fire(re),V.parent?V.parent._reject(re):te&&V.idbtrans&&V.idbtrans.abort(),Bt(re)})})),this.Version=(_=this,go(lS.prototype,function(z){this.db=_,this._cfg={version:z,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(M=this,go(cf.prototype,function(z,H,G){if(this.db=M,this._ctx={table:z,index:H===":id"?null:H,or:G},this._cmp=this._ascending=it,this._descending=function(X,K){return it(K,X)},this._max=function(X,K){return 0<it(X,K)?X:K},this._min=function(X,K){return it(X,K)<0?X:K},this._IDBKeyRange=M._deps.IDBKeyRange,!this._IDBKeyRange)throw new ae.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=vo(f.IDBKeyRange),this._createTransaction=function(z,H,G,X){return new R.Transaction(z,H,G,R._options.chromeTransactionDurability,X)},this._fireOnBlocked=function(z){R.on("blocked").fire(z),xo.toArray().filter(function(H){return H.name===R.name&&H!==R&&!H._state.vcFired}).map(function(H){return H.on("versionchange").fire(z)})},this.use(fS),this.use(gS),this.use(hS),this.use(uS),this.use(dS),new Proxy(this,{get:function(z,H,G){var X;return H==="_vip"||(H==="table"?function(K){return xa(R.table(K),Y)}:(X=Reflect.get(z,H,G))instanceof rf?xa(X,Y):H==="tables"?X.map(function(K){return xa(K,Y)}):H==="_createTransaction"?function(){return xa(X.apply(this,arguments),Y)}:X)}}));this.vip=Y,q.forEach(function(z){return z(R)})}var wa,$s=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",yS=(pc.prototype.subscribe=function(c,f,p){return this._subscribe(c&&typeof c!="function"?c:{next:c,error:f,complete:p})},pc.prototype[$s]=function(){return this},pc);function pc(c){this._subscribe=c}try{wa={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch{wa={indexedDB:null,IDBKeyRange:null}}function kf(c){var f,p=!1,g=new yS(function(x){var _=ge(c),M,R=!1,q={},Z={},Y={get closed(){return R},unsubscribe:function(){R||(R=!0,M&&M.abort(),z&&Or.storagemutated.unsubscribe(X))}},z=(x.start&&x.start(Y),!1),H=function(){return Rs(K)};function G(){return ic(Z,q)}var X=function(V){ba(q,V),G()&&H()},K=function(){var V,re,te;!R&&wa.indexedDB&&(q={},V={},M&&M.abort(),M=new AbortController,te=(ce=>{var ve=ht();try{_&&ar();var xe=Zn(c,ce);return xe=_?xe.finally(er):xe}finally{ve&&kt()}})(re={subscr:V,signal:M.signal,requery:H,querier:c,trans:null}),z||(Or(bo,X),z=!0),Promise.resolve(te).then(function(ce){p=!0,f=ce,R||re.signal.aborted||(G()||(Z=V,G())?H():(q={},Rs(function(){return!R&&x.next&&x.next(ce)})))},function(ce){p=!1,["DatabaseClosedError","AbortError"].includes(ce==null?void 0:ce.name)||R||Rs(function(){R||x.error&&x.error(ce)})}))};return setTimeout(H,0),Y});return g.hasValue=function(){return p},g.getValue=function(){return f},g}var ts=Tr;function mc(c){var f=$r;try{$r=!0,Or.storagemutated.fire(c),cc(c,!0)}finally{$r=f}}b(ts,r(r({},de),{delete:function(c){return new ts(c,{addons:[]}).delete()},exists:function(c){return new ts(c,{addons:[]}).open().then(function(f){return f.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(c){try{return f=ts.dependencies,p=f.indexedDB,f=f.IDBKeyRange,(rc(p)?Promise.resolve(p.databases()).then(function(g){return g.map(function(x){return x.name}).filter(function(x){return x!==lt})}):nc(p,f).toCollection().primaryKeys()).then(c)}catch{return Bt(new ae.MissingAPI)}var f,p},defineClass:function(){return function(c){u(this,c)}},ignoreTransaction:function(c){return Le.trans?cr(Le.transless||Jt,c):c()},vip:sc,async:function(c){return function(){try{var f=uc(c.apply(this,arguments));return f&&typeof f.then=="function"?f:D.resolve(f)}catch(p){return Bt(p)}}},spawn:function(c,f,p){try{var g=uc(c.apply(p,f||[]));return g&&typeof g.then=="function"?g:D.resolve(g)}catch(x){return Bt(x)}},currentTransaction:{get:function(){return Le.trans||null}},waitFor:function(c,f){return c=D.resolve(typeof c=="function"?ts.ignoreTransaction(c):c).timeout(f||6e4),Le.trans?Le.trans.waitFor(c):c},Promise:D,debug:{get:function(){return qt},set:function(c){Yt(c)}},derive:S,extend:u,props:b,override:j,Events:mo,on:Or,liveQuery:kf,extendObservabilitySet:ba,getByKeyPath:A,setByKeyPath:L,delByKeyPath:function(c,f){typeof f=="string"?L(c,f,void 0):"length"in f&&[].map.call(f,function(p){L(c,p,void 0)})},shallowClone:F,deepClone:ee,getObjectDiff:dc,cmp:it,asap:E,minKey:-1/0,addons:[],connections:{get:xo.toArray},errnames:bt,dependencies:wa,cache:es,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)})})),ts.maxKey=vo(ts.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Or(bo,function(c){$r||(c=new CustomEvent(Vl,{detail:c}),$r=!0,dispatchEvent(c),$r=!1)}),addEventListener(Vl,function(c){c=c.detail,$r||mc(c)}));var Ls,$r=!1,Cf=function(){};return typeof BroadcastChannel<"u"&&((Cf=function(){(Ls=new BroadcastChannel(Vl)).onmessage=function(c){return c.data&&mc(c.data)}})(),typeof Ls.unref=="function"&&Ls.unref(),Or(bo,function(c){$r||Ls.postMessage(c)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(c){if(!Tr.disableBfCache&&c.persisted){qt&&console.debug("Dexie: handling persisted pagehide"),Ls!=null&&Ls.close();for(var f=0,p=xo.toArray();f<p.length;f++)p[f].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(c){!Tr.disableBfCache&&c.persisted&&(qt&&console.debug("Dexie: handling persisted pageshow"),Cf(),mc({all:new Pn(-1/0,[[]])}))})),D.rejectionMapper=function(c,f){return!c||c instanceof ue||c instanceof TypeError||c instanceof SyntaxError||!c.name||!ye[c.name]?c:(f=new ye[c.name](f||c.message,c),"stack"in c&&w(f,"stack",{get:function(){return this.inner.stack}}),f)},Yt(qt),r(Tr,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:Tr,Entity:sn,PropModification:po,RangeSet:Pn,add:function(c){return new po({add:c})},cmp:it,default:Tr,liveQuery:kf,mergeRanges:_o,rangesOverlap:pf,remove:function(c){return new po({remove:c})},replacePrefix:function(c,f){return new po({replacePrefix:[c,f]})}}),{default:Tr}),Tr})}(Ja)),Ja.exports}var i_=o_();const gu=Cs(i_),Gf=Symbol.for("Dexie"),yl=globalThis[Gf]||(globalThis[Gf]=gu);if(gu.semVer!==yl.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${gu.semVer} and ${yl.semVer}`);const{liveQuery:fI,mergeRanges:hI,rangesOverlap:pI,RangeSet:mI,cmp:gI,Entity:yI,PropModification:bI,replacePrefix:vI,add:SI,remove:xI,DexieYProvider:wI}=yl;class a_ extends yl{constructor(){super("LotusStorage");Et(this,"scrollAnchors");Et(this,"toolSessionCollapses");Et(this,"diffCollapses");Et(this,"inputStates");Et(this,"modelOptionsCaches");this.version(1).stores({scrollAnchors:"sessionId, ts",toolSessionCollapses:"id, sessionId, updatedAt",diffCollapses:"sessionId, updatedAt",inputStates:"sessionId, updatedAt",modelOptionsCaches:"provider, timestamp"})}}const l_=new a_,ms=class ms{constructor(){Et(this,"db",l_)}static getInstance(){return ms.instance||(ms.instance=new ms),ms.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}}}};Et(ms,"instance");let Hn=ms;const Ug="chat_input_reasoning_by_session_v1",qg="chat_input_reasoning_last_used_v1",Jf={content:"",referenceText:null,attachments:[],reasoningEffort:"medium"},md=e=>e==="low"||e==="medium"||e==="high"||e==="xhigh"||e==="max",Hg=()=>{if(typeof window>"u")return{};try{const e=localStorage.getItem(Ug);if(!e)return{};const t=JSON.parse(e),n={};for(const[r,s]of Object.entries(t||{}))md(s)&&(n[r]=s);return n}catch{return{}}},c_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ug,JSON.stringify(e))}catch{}},u_=()=>{if(!(typeof window>"u"))try{const e=localStorage.getItem(qg);return md(e)?e:void 0}catch{return}},d_=e=>{if(!(typeof window>"u"))try{localStorage.setItem(qg,e)}catch{}},Yg=e=>{const t=Hg();return md(t[e])?t[e]:u_()},Po=e=>({...Jf,reasoningEffort:Yg(e)??Jf.reasoningEffort}),f_=(e,t)=>({inputStates:{},setInputContent:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),content:r}}})),setReferenceText:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),referenceText:r}}})),setAttachments:(n,r)=>e(s=>({inputStates:{...s.inputStates,[n]:{...s.inputStates[n]||Po(n),attachments:r}}})),setInputReasoningEffort:(n,r)=>{e(i=>({inputStates:{...i.inputStates,[n]:{...i.inputStates[n]||Po(n),reasoningEffort:r}}}));const s=Hg();s[n]=r,c_(s),d_(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]||Po(n)}),h_="bamboo_proxy_auth",p_=()=>{try{const e=localStorage.getItem(h_);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}},Xg={byId:{},runningCount:0},m_=[],$n=(e,t)=>t?e.executionBySession[t]??null:null,g_=e=>t=>$n(t,e),y_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.phase)??"idle"},Zi=e=>t=>{const n=$n(t,e);return $l(n==null?void 0:n.phase)},Kg=e=>t=>{const n=$n(t,e);return n?n.phase==="streaming"?!0:n.phase==="running_tools"&&n.stream.hasTokens:!1},b_=e=>t=>{const n=$n(t,e);return n?n.phase==="waiting_user_answer"||n.interaction.pendingQuestion!==null||n.backend.hasPendingQuestion===!0:!1},Vg=e=>t=>{const n=$n(t,e);return dw(n==null?void 0:n.phase)},Gg=e=>t=>{const n=$n(t,e);return fw(n==null?void 0:n.phase)},gr=e=>t=>{const n=$n(t,e);return $l(n==null?void 0:n.phase)},v_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.stream.activeToolCalls)??m_},Zs=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.interaction.pendingQuestion)??null},S_=e=>t=>{if(!e)return null;const n=Zs(e)(t);return n?{sessionId:e,question:n.question,options:n.options,allowCustom:n.allowCustom,toolCallId:n.toolCallId}:null},Ui=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.children.byId)??Xg.byId},x_=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.children)??Xg},It=e=>t=>{const n=$n(t,e);return(n==null?void 0:n.generation)??0},w_=Object.freeze({state:"idle",activeToolCalls:[],runningChildCount:0,hasQuestion:!1,hasError:!1,errorMessage:null,generation:0}),__=e=>t=>{var r;const n=$n(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}:w_},k_=e=>t=>e.map(n=>({sessionId:n??"",entry:$n(t,n)})),C_="auto",T_="required",P_=1e4,E_=15e3,M_=Qn.getInstance();let Qf=null,Eo=null,Zf=null,Mo=null;const eh=new WeakMap,se=Jr()(ew(nw((e,t,n)=>({...Ww(e,t),...Yw(e,t),...Gw(e,t),...Qw(),...e_(e,t),...t_(e),...r_(e,t),...f_(e,t),...Cw(e,t),agentAvailability:null,setAgentAvailability:r=>{e({agentAvailability:r})},checkAgentAvailability:async()=>{if(Eo)return Eo;Eo=(async()=>{const r=await M_.healthCheck();return t().agentAvailability!==r&&e({agentAvailability:r}),r})();try{return await Eo}finally{Eo=null}},startAgentHealthCheck:()=>{Qf||(t().checkAgentAvailability(),Qf=setInterval(()=>{t().checkAgentAvailability()},P_))},refreshSessionsIndex:async()=>{if(Mo)return Mo;Mo=(async()=>{try{await t().refreshChats()}catch(r){console.warn("[AppStore] refreshChats failed:",r)}})();try{return await Mo}finally{Mo=null}},startSessionsIndexSync:()=>{Zf||(t().refreshSessionsIndex(),Zf=setInterval(()=>{t().refreshSessionsIndex()},E_))}})),{name:"AppStore"})),Jg=e=>{const t=eh.get(e);if(t)return t;const n=new Map(e.map(r=>[r.id,r]));return eh.set(e,n),n},js=e=>t=>e?Jg(t.chats).get(e)??null:null,Qg=e=>e.currentSessionId?Jg(e.chats).get(e.currentSessionId)??null:null,j_=e=>{var t;return((t=Qg(e))==null?void 0:t.messages)??[]},th=async()=>{const e=p_();if(!e)return!1;try{return await cs.setProxyAuth(e),!0}catch(t){return console.error("Failed to apply stored proxy auth during startup:",t),!1}},R_=async()=>{try{const e=await mu.getState().loadConfig();if((typeof(e==null?void 0:e.proxy_auth_mode)=="string"?e.proxy_auth_mode:C_)!==T_)return await th(),!1;const n=await mu.getState().loadProxyAuthStatus({force:!0});return n!=null&&n.configured||await th()?!1:(se.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 nh=!1,Zg=!1,Pa=null;const gd=async(e=!1)=>{nh&&!e||(nh=!0,se.getState().startAgentHealthCheck(),se.getState().startSessionsIndexSync(),await Nt.getState().loadProviderConfig(),await se.getState().loadChats(),Zg=!0)},yd=async()=>{if(Zg)return Pa||(Pa=(async()=>{try{await R_()||await se.getState().fetchModels(),await se.getState().loadSystemPrompts()}catch(e){console.error("[AppStore] Deferred bootstrap failed:",e)}})(),Pa)},A_=async(e=!1)=>{await gd(e),yd().catch(t=>{console.error("[AppStore] Deferred bootstrap error:",t)})},_I=Object.freeze(Object.defineProperty({__proto__:null,bootstrapCritical:gd,bootstrapDeferred:yd,initializeStore:A_,selectActiveToolCalls:v_,selectCanCancel:Gg,selectChildren:Ui,selectChildrenSnapshot:x_,selectCurrentChat:Qg,selectCurrentMessages:j_,selectExecutionByPane:k_,selectExecutionPhase:y_,selectExecutionState:g_,selectGeneration:It,selectIsAwaitingUser:b_,selectIsBusy:Zi,selectIsInputLocked:Vg,selectIsStreaming:Kg,selectPendingQuestion:Zs,selectRailModel:__,selectRespondMode:S_,selectSessionById:js,selectShouldObserve:gr,useAppStore:se},Symbol.toStringTag,{value:"Module"})),Ea={THEME:"copilot_ui_theme_v1",LAYOUT:"copilot_ui_layout_v1"};class I_{getTheme(){try{return localStorage.getItem(Ea.THEME)}catch(t){return console.error("Failed to get theme:",t),null}}setTheme(t){try{localStorage.setItem(Ea.THEME,t)}catch(n){console.error("Failed to set theme:",n)}}getLayout(){try{return localStorage.getItem(Ea.LAYOUT)}catch(t){return console.error("Failed to get layout:",t),null}}setLayout(t){try{localStorage.setItem(Ea.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 ey=new I_,bd={collapsed:!1,widthPx:260,collapsedWidthPx:72,minWidthPx:180,maxWidthPx:520},qr={widthPx:520,minWidthPx:420,maxWidthPx:840},ty={v:2,sidebar:bd,inspector:qr,tree:{type:"leaf",id:"lt"},activeLeafId:"lt",leafSessionIds:{lt:null},splitSizesPx:{}},rh=e=>{const t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return`${e}-${t}`},Vn=e=>e.type==="leaf"?[e.id]:[...Vn(e.children[0]),...Vn(e.children[1])],qi=e=>e.type==="leaf"?[]:[e.id,...qi(e.children[0]),...qi(e.children[1])],O_=(e,t)=>{for(const[n,r]of Object.entries(e))if(r===t)return n;return null},$_=(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},yu=(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:[yu(e.children[0],t,n,r,s),yu(e.children[1],t,n,r,s)]},bu=(e,t)=>{if(e.type==="leaf")return e.id===t?{node:null,removed:!0}:{node:e,removed:!1};const n=bu(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=bu(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}},L_=e=>({v:2,sidebar:e.sidebar,inspector:e.inspector,tree:e.tree,activeLeafId:e.activeLeafId,leafSessionIds:e.leafSessionIds,splitSizesPx:e.splitSizesPx}),F_=e=>{try{ey.setLayout(JSON.stringify(e))}catch(t){console.warn("[uiLayoutStore] Failed to persist layout:",t)}},hr=e=>{const t=L_(e);return F_(t),t},D_=e=>{var v,w,S,k,P,T,j,C,E,A,L;const t={...bd,...e.sidebar||{}},n={...qr},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 F="split-root",N=s,B=N==="horizontal"?{type:"split",id:F,layout:N,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"rt"}]}:{type:"split",id:F,layout:N,children:[{type:"leaf",id:"lt"},{type:"leaf",id:"lb"}]},U=N==="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;U&&(l[F]=U);const $=Vn(B);return{v:2,sidebar:t,inspector:n,tree:B,activeLeafId:$.includes(i)?i:$[0],leafSessionIds:Object.fromEntries($.map(ee=>[ee,o[ee]??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),(L=e.split)!=null&&L.rightRowsPx&&(l[h]=e.split.rightRowsPx);const b=Vn(m);return{v:2,sidebar:t,inspector:n,tree:m,activeLeafId:b.includes(i)?i:b[0],leafSessionIds:Object.fromEntries(b.map(F=>[F,o[F]??null])),splitSizesPx:l}},N_=e=>{if(!e)return null;try{const t=JSON.parse(e);if(!t||typeof t!="object")return null;if(t.v===2){const n={...bd,...t.sidebar||{}},r=t.inspector||{},s={...qr,...r},o=Math.max(qr.minWidthPx,Number.isFinite(s.minWidthPx)?s.minWidthPx:qr.minWidthPx),i=Math.max(o,Math.max(qr.maxWidthPx,Number.isFinite(s.maxWidthPx)?s.maxWidthPx:qr.maxWidthPx)),u={widthPx:Math.max(o,Math.min(i,Number.isFinite(s.widthPx)?s.widthPx:qr.widthPx)),minWidthPx:o,maxWidthPx:i},d=t.tree||ty.tree,h=Vn(d),m=qi(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=$_(h,b);return{v:2,sidebar:n,inspector:u,tree:d,activeLeafId:w,leafSessionIds:S,splitSizesPx:v}}return t.v===1?D_(t):null}catch{return null}},B_=()=>N_(ey.getLayout())??ty,mt=Jr(e=>({...B_(),setSidebarCollapsed:t=>{e(n=>n.sidebar.collapsed===t?n:hr({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:hr({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:hr({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||!Vn(n.tree).includes(t)?n:(Kn("setActiveLeafId",{from:n.activeLeafId,to:t}),hr({sidebar:n.sidebar,inspector:n.inspector,tree:n.tree,activeLeafId:t,leafSessionIds:n.leafSessionIds,splitSizesPx:n.splitSizesPx})))},setLeafSessionId:(t,n)=>{e(r=>{const s=Vn(r.tree);if(!s.includes(t)||(r.leafSessionIds[t]??null)===n)return r;const o=[];Kn("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&&Kn("setLeafSessionId dedupe",{sessionId:n,clearedLeafIds:o,assignedLeafId:t}),s.forEach(l=>{l in i||(i[l]=null)}),hr({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?hr({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=Vn(r.tree);if(!s.includes(t)||s.length>=4)return r;const o=rh("split"),i=rh("pane"),l=yu(r.tree,t,n,o,i),u={...r.leafSessionIds,[i]:null};return hr({sidebar:r.sidebar,inspector:r.inspector,tree:l,activeLeafId:i,leafSessionIds:u,splitSizesPx:r.splitSizesPx})})},closeLeaf:t=>{e(n=>{const r=Vn(n.tree);if(!r.includes(t)||r.length<=1)return n;const s=bu(n.tree,t);if(!s.removed||!s.node)return n;const o=s.node,i=Vn(o),l=qi(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 hr({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:hr({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(qi(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:hr({sidebar:t.sidebar,inspector:t.inspector,tree:t.tree,activeLeafId:t.activeLeafId,leafSessionIds:t.leafSessionIds,splitSizesPx:r})})}})),z_=async(e,t)=>{var i;const n=se.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=se.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)},W_=(e,t)=>{const{activeLeafId:n,leafSessionIds:r,setLeafSessionId:s,setActiveLeafId:o}=mt.getState(),i=O_(r,e),l=r[n]??null;Kn("openSession (input)",{activeLeafId:n,activeLeafSessionId:l,sessionId:e,existingLeafId:i}),i?i===n?Kn("openSession (decision)",{action:"noop_already_active",leafId:n,sessionId:e}):(o(i),Kn("openSession (decision)",{action:"focus_existing_leaf",leafId:i,sessionId:e})):(s(n,e),Kn("openSession (decision)",{action:"assign_to_active_leaf",leafId:n,sessionId:e})),se.getState().selectSession(e),z_(e,t)},ny=e=>e==="child"?"child":"root",U_=e=>({id:e.id,title:e.title,kind:ny(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}}),q_=(e,t)=>e.id===t.id&&e.title===t.title&&e.kind===ny(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),H_=(()=>{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&&q_(l,i)?l:U_(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)}})(),Y_=e=>[e.title,e.id,e.kind||"root",e.config.workspacePath||"",e.config.systemPromptId||"",e.updatedAt||"",e.createdByScheduleId||"",e.lastRunStatus||"",e.lastRunError||""].join(" ").toLowerCase(),X_=e=>e.messages.filter(t=>t.role==="user"&&"content"in t).slice(0,3).map(t=>"content"in t?t.content:"").join(" ").toLowerCase(),kc=(e,t)=>{if(!t)return!0;const n=t.split(/\s+/).filter(Boolean),r=Y_(e);if(n.every(l=>r.includes(l)))return!0;const s=se.getState().chats.find(l=>l.id===e.id);if(!s)return!1;const o=X_(s),i=`${r} ${o}`;return n.every(l=>i.includes(l))},Cc=(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}},K_=()=>{const{t:e}=Ve(),{message:t}=Dn.useApp(),{chats:n,currentSessionId:r,deleteSession:s,deleteSessions:o,pinSession:i,unpinSession:l,updateSession:u,addChat:d,refreshChats:h,lastSelectedPromptId:m,systemPrompts:b}=se(Ii(fe=>({chats:H_(fe.chats),currentSessionId:fe.currentSessionId,deleteSession:fe.deleteSession,deleteSessions:fe.deleteSessions,pinSession:fe.pinSession,unpinSession:fe.unpinSession,updateSession:fe.updateSession,addChat:fe.addChat,refreshChats:fe.refreshChats,lastSelectedPromptId:fe.lastSelectedPromptId,systemPrompts:fe.systemPrompts}))),v=y.useCallback(fe=>Zi(fe)(se.getState()),[]),{sidebarCollapsed:w,setSidebarCollapsed:S,clearSessionFromAllLeaves:k}=mt(Ii(fe=>({sidebarCollapsed:fe.sidebar.collapsed,setSidebarCollapsed:fe.setSidebarCollapsed,clearSessionFromAllLeaves:fe.clearSessionFromAllLeaves}))),P=y.useCallback(async(fe,Ie)=>{var Le,Tn;const $e=b.find(Xt=>Xt.id===m),Ye=($e==null?void 0:$e.id)||(b.length>0?((Le=b.find(Xt=>Xt.id==="general_assistant"))==null?void 0:Le.id)||b[0].id:""),ut={title:fe||e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:Ye,baseSystemPrompt:($e==null?void 0:$e.content)||(b.length>0?((Tn=b.find(Xt=>Xt.id==="general_assistant"))==null?void 0:Tn.content)||b[0].content:""),lastUsedEnhancedPrompt:null},...Ie},Cn=await d(ut),{activeLeafId:Jt}=mt.getState();mt.getState().setLeafSessionId(Jt,Cn),mt.getState().setActiveLeafId(Jt)},[d,m,b,e]),[T,j]=y.useState(!1),[C,E]=y.useState(new Set(["Today"])),[A,L]=y.useState(""),[F,N]=y.useState("all"),[B,U]=y.useState({}),$=se(Ii(fe=>{const Ie=fe.currentSessionId;if(!Ie)return null;const $e=fe.chats.find(Ye=>Ye.id===Ie);return $e?{id:$e.id,kind:$e.kind,parentSessionId:$e.parentSessionId||null,rootSessionId:$e.rootSessionId||null,pinned:!!$e.pinned,createdAt:$e.createdAt,createdByScheduleId:$e.createdByScheduleId||null}:null})),ee=y.useMemo(()=>$?$.pinned?"Pinned":$.createdByScheduleId?"Scheduled":new Date($.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):null,[$]),J=y.useMemo(()=>{const fe=new Set(C);return ee&&fe.add(ee),Array.from(fe)},[ee,C]),Q=fe=>{const Ie=new Set(Array.isArray(fe)?fe:[fe]);E($e=>{if($e.size!==Ie.size)return Ie;for(const Ye of Ie)if(!$e.has(Ye))return Ie;return $e})},pe=A.trim().toLowerCase(),I=pe.length>0||F!=="all",ie=y.useMemo(()=>[],[]),be=y.useMemo(()=>({}),[]),oe=y.useMemo(()=>({}),[]),ge=y.useMemo(()=>[],[]),de=y.useMemo(()=>new Set,[]),le=y.useMemo(()=>w?ie:n.filter(fe=>fe.kind!=="child"),[n,w,ie]),ue=y.useMemo(()=>{if(w)return be;const fe={};for(const Ie of n){if(Ie.kind!=="child")continue;const $e=Ie.parentSessionId||Ie.rootSessionId;$e&&(fe[$e]||(fe[$e]=[]),fe[$e].push(Ie))}return Object.keys(fe).forEach(Ie=>{fe[Ie].sort(($e,Ye)=>{if($e.pinned!==Ye.pinned)return $e.pinned?-1:1;const ut=Date.parse($e.updatedAt||"")||$e.createdAt||0;return(Date.parse(Ye.updatedAt||"")||Ye.createdAt||0)-ut})}),fe},[n,w,be]),ke=y.useMemo(()=>I?le.filter(fe=>kc(fe,pe)&&Cc(fe,F,v)?!0:(ue[fe.id]||[]).some(Ye=>kc(Ye,pe)&&Cc(Ye,F,v))):le,[ue,I,v,pe,le,F]),De=y.useMemo(()=>{if(!I)return ue;const fe={};for(const Ie of ke){const $e=ue[Ie.id]||[];fe[Ie.id]=$e.filter(Ye=>kc(Ye,pe)&&Cc(Ye,F,v))}return fe},[ue,ke,I,v,pe,F]),We=y.useMemo(()=>w?oe:bx(ke),[ke,w,oe]),bt=y.useMemo(()=>w?ge:vx(We),[We,w,ge]),O=y.useCallback(fe=>{i(fe),E(Ie=>{if(Ie.has("Pinned"))return Ie;const $e=new Set(Ie);return $e.add("Pinned"),$e})},[i]),ae=y.useCallback(fe=>{const Ie=n.find(Ye=>Ye.id===fe),$e=Ie?xx({...Ie}):null;l(fe),$e&&E(Ye=>{if(Ye.has($e))return Ye;const ut=new Set(Ye);return ut.add($e),ut})},[n,l]),ye=fe=>{Va.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(fe),s(fe)}})},Re=Oi(fe=>fe.open),Ue=()=>{Re("chat")},Ot=y.useCallback(fe=>{L(fe)},[]),vt=y.useCallback(fe=>{N(fe)},[]),gt=(fe,Ie)=>{u(fe,{title:Ie})},Ht=y.useCallback(async fe=>{try{await Qn.getInstance().regenerateSessionTitle(fe)}catch(Ie){console.error("Failed to regenerate session title:",Ie)}},[]),nn=y.useCallback(async fe=>{var $e;if((($e=B[fe])==null?void 0:$e.status)==="loading")return;U(Ye=>({...Ye,[fe]:{status:"loading"}}));const Ie=t.loading(e("chat.actions.runProjectDreamRunning"),0);try{const Ye=await Qn.getInstance().runProjectDream(fe);Ie(),Ye.dream_generated?t.success(e("chat.actions.runProjectDreamSuccess")):t.info(Ye.message||e("chat.actions.runProjectDreamNoChange"));try{await h()}catch(ut){console.warn("Failed to refresh chats after project dream run:",ut)}}catch(Ye){Ie();const ut=Ye instanceof Error&&Ye.message?Ye.message:e("chat.actions.runProjectDreamFailed");t.error(ut),console.error("Failed to run project dream:",Ye)}finally{U(Ye=>({...Ye,[fe]:{status:"idle"}}))}},[t,B,h,e]),Ln=fe=>{const Ie=Sx(We,fe),$e=kg(We,fe);Va.confirm({title:e("chat.sidebar.deleteByDate.title",{date:fe}),content:e("chat.sidebar.deleteByDate.confirm",{count:$e,date:fe}),okText:e("common.delete"),okType:"danger",cancelText:e("common.cancel"),onOk:()=>{Ie.forEach(Ye=>k(Ye)),o(Ie)}})},Mt=()=>{j(!0)},qt=()=>{j(!1)},Yt=async fe=>{try{await P(e("chat.sidebar.newSessionWithPrompt",{prompt:fe.name}),{config:{systemPromptId:fe.id,baseSystemPrompt:fe.content,lastUsedEnhancedPrompt:null}}),j(!1)}catch(Ie){console.error("Failed to create chat:",Ie),Va.error({title:e("chat.sidebar.createFailedTitle"),content:Ie instanceof Error?Ie.message:e("chat.sidebar.createFailedUnknown")})}},fn=y.useCallback(fe=>W_(fe),[]),[Rn,kn]=y.useState(new Set),$t=y.useMemo(()=>{if(w)return de;const fe=new Set;for(const Ie of Object.values(ue))for(const $e of Ie)if($e.pinned){const Ye=$e.parentSessionId||$e.rootSessionId;Ye&&fe.add(Ye)}return fe},[ue,w,de]),yn=y.useMemo(()=>{var Ie;if(w)return de;const fe=new Set(Rn);if(($==null?void 0:$.kind)==="child"){const $e=$.parentSessionId||$.rootSessionId;$e&&fe.add($e)}for(const $e of $t)fe.add($e);if(I)for(const $e of ke)(((Ie=De[$e.id])==null?void 0:Ie.length)??0)>0&&fe.add($e.id);return fe},[De,Rn,ke,I,$t,$,w,de]),hn=y.useCallback(fe=>{kn(Ie=>{const $e=new Set(Ie);return $e.has(fe)?$e.delete(fe):$e.add(fe),$e})},[]);return{chats:ke,childrenByRoot:De,expandedRootIds:yn,toggleRootExpanded:hn,collapsed:w,currentSessionId:r,expandedKeys:J,groupedChatsByDate:We,hasActiveFilters:I,handleCollapseChange:Q,handleDelete:ye,handleDeleteByDate:Ln,handleEditTitle:gt,handleGenerateTitle:Ht,handleNewChat:Mt,handleNewChatSelectorClose:qt,handleOpenSettings:Ue,handleRunProjectDream:nn,handleSearchQueryChange:Ot,handleStatusFilterChange:vt,handleSystemPromptSelect:Yt,isNewChatSelectorOpen:T,pinSession:O,projectDreamState:B,searchQuery:A,selectSession:fn,setCollapsed:S,sortedDateKeys:bt,statusFilter:F,systemPrompts:b,titleGenerationState:{},unpinSession:ae}},V_=y.lazy(()=>Gt(()=>import("./index-CAQ3YTCz.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)),{useBreakpoint:G_}=Rl,{useToken:J_}=ct,sh=()=>{const{token:e}=J_(),{t}=Ve(),n=G_(),{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:L,pinSession:F,projectDreamState:N,searchQuery:B,selectSession:U,setCollapsed:$,sortedDateKeys:ee,statusFilter:J,systemPrompts:Q,titleGenerationState:pe,unpinSession:I}=K_(),{xs:ie,sm:be}=n;return y.useEffect(()=>{typeof ie!="boolean"||typeof be!="boolean"||ie===!1&&be===!1&&$(!0)},[be,ie,$]),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(Ee,{justify:"flex-end",style:{flexShrink:0,padding:"8px 10px 0 10px",minHeight:34},children:a.jsx(Ae,{type:"text",icon:a.jsx(RS,{}),onClick:()=>$(!0),size:n.xs?"small":"middle",className:"lotus-toolbar-icon","aria-label":t("chat.sidebar.collapse","Collapse sidebar")})}),a.jsxs(Ee,{vertical:!0,gap:6,style:{flexShrink:0,padding:"6px 10px 6px 10px"},children:[a.jsx(Ps,{allowClear:!0,value:B,onChange:oe=>j(oe.target.value),prefix:a.jsx(iu,{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(AS,{block:!0,size:n.xs?"middle":"small",value:J,onChange:oe=>C(oe),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(Ee,{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(wx,{groupedChatsByDate:d,childrenByRoot:r,expandedRootIds:s,onToggleRootExpanded:o,sortedDateKeys:ee,expandedKeys:u,onCollapseChange:h,currentSessionId:l,onSelectChat:U,onDeleteChat:m,onDeleteByDate:b,onPinChat:F,onUnpinChat:I,onEditTitle:v,onGenerateTitle:w,onRunProjectDream:T,titleGenerationState:pe,projectDreamState:N,token:e,hasActiveFilters:A})}),a.jsx(Ax,{collapsed:!1,onNewChat:S,onOpenSettings:P,token:e}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(V_,{open:L,onClose:k,onSelect:E,prompts:Q,title:t("chat.prompt.newSessionSelectorTitle"),showCancelButton:!0})})]})},{Text:oh,Paragraph:Q_}=dt;class Hi extends y.Component{constructor(n){super(n);Et(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(Z_,{error:r,onReset:this.handleReset})}}const Z_=({error:e,onReset:t})=>{const{token:n}=ct.useToken(),[r,s]=ft.useState(!1),{t:o}=Ve();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(fg,{style:{fontSize:36,color:n.colorWarning}}),a.jsx(oh,{strong:!0,style:{fontSize:16},children:o("app.errorBoundary.title")}),a.jsx(oh,{type:"secondary",style:{maxWidth:420},children:o("app.errorBoundary.description")}),a.jsxs("div",{style:{display:"flex",gap:8,marginTop:4},children:[a.jsx(Ae,{type:"primary",icon:a.jsx(id,{}),onClick:t,"aria-label":o("app.errorBoundary.tryAgain"),children:o("app.errorBoundary.tryAgain")}),a.jsx(Ae,{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(Q_,{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}`:""]})]})},ih={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},vd=Jr()(ow(e=>({settings:ih,updateSettings:t=>e(n=>({settings:{...n.settings,...t}})),resetSettings:()=>e({settings:ih})}),{name:"mermaid-settings"})),Sd=()=>vd(t=>t.settings),kI=()=>vd(e=>e.updateSettings),CI=()=>vd(e=>e.resetSettings),e0=()=>{const{token:e}=ct.useToken(),t=Sd(),n=y.useRef("");y.useEffect(()=>{const r=t0(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),sd.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 t0(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}sd.initialize({startOnLoad:!1,theme:"dark",securityLevel:"loose",suppressErrorRendering:!0});sd.parseError=function(e){console.warn("Mermaid parse error (handled gracefully):",e)};const ah=new Map,n0=/^(\s*%%\{[\s\S]*?\}%%\s*)*\s*gantt\b/i,r0=e=>e.replace(/:/g,":").replace(/,/g,",").replace(/;/g,";").replace(/(/g,"(").replace(/)/g,")").replace(/-/g,"-"),s0=e=>(n0.test(e)?r0(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,"(").replace(/\)/g,")")),l&&(h=h.replace(/@/g,"@")),h===s?n:`[${h}]`}),o0=200,br=new Map,Qa=new Map;let Tc=null;const i0=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 a0(){Tc||(Tc=Gt(()=>import("./vendor-mermaid-C1Gk9PtT.js").then(t=>t.cs),__vite__mapDeps([4,3,2]),import.meta.url));const e=await Tc;return e.default??e}function l0(e,t){if(br.has(e)&&br.delete(e),br.set(e,t),br.size>o0){const n=br.keys().next().value;n&&br.delete(n)}}function Za(e){const t=br.get(e);return t?(br.delete(e),br.set(e,t),t):null}function lh(){br.clear(),Qa.clear()}function c0(e,t){const n=Za(e);if(n)return Promise.resolve(n);const r=Qa.get(e);if(r)return r;const s=(async()=>{var T,j;const o=await a0();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=i0(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 l0(e,P),P})().finally(()=>{Qa.delete(e)});return Qa.set(e,s),s}const Si=new Map,el=new Set,Fs=new Map,$i=new Map;let xi=null;const ry=(e,t)=>{const n=Si.get(e);n&&n.forEach(r=>r(t))},ch=()=>{if(xi=null,$i.size===0)return;const e=Array.from($i.values());$i.clear(),e.forEach(t=>{ry(t.messageId,t.content),el.forEach(n=>n(t))})},Tt={getLatest(e){return Fs.get(e)??null},subscribeMessage(e,t){let n=Si.get(e);return n||(n=new Set,Si.set(e,n)),n.add(t),Fs.has(e)&&t(Fs.get(e)??null),()=>{const r=Si.get(e);r&&(r.delete(t),r.size===0&&Si.delete(e))}},subscribe(e){return el.add(e),()=>{el.delete(e)}},publish(e){e.content===null?Fs.delete(e.messageId):Fs.set(e.messageId,e.content),$i.set(e.messageId,e),xi===null&&(xi=requestAnimationFrame(ch))},clear(e,t){Fs.delete(t),$i.delete(t),ry(t,null),el.forEach(n=>n({sessionId:e,messageId:t,content:null}))},forceFlush(){xi!==null&&(cancelAnimationFrame(xi),ch())}},vu=e=>{const t=(e??"").trim().toLowerCase();return t.includes("completion policy violation")&&t.includes("conclusion_with_options")},Su=e=>{const t=(e??"").trim(),n=t?`
|
|
16
16
|
|
|
@@ -109,7 +109,7 @@ You are running on **${Mk(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 L=[];for(const F of A){const N=F[1],B=s.get(N);B&&L.push(B)}if(L.length>0){const F=JSON.stringify({type:"file_reference",paths:L.map(N=>N.path),display_text:E});await i(F,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])}),Xk=({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}},Kk=({referenceText:e,isToolSpecificMode:t,isRestrictConversation:n,allowedTools:r,autoToolPrefix:s,t:o})=>o(e?"chat.input.placeholderWithReference":"chat.input.placeholderWithWorkflows"),Vk=(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}},Gk=(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 Vk(e,r)};function Jk({value:e,onChange:t,disabled:n}){const r=Nt(l=>l.catalog);y.useEffect(()=>{r||Nt.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(He,{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(He,{size:4,"data-tour-id":"model-picker",children:a.jsx(eo,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:o?[o]:[],items:s,style:{maxHeight:"50vh",overflowY:"auto"},onClick:i},disabled:n,children:a.jsx(Ae,{type:"text",size:"small",disabled:n,style:{minWidth:146,padding:"0 12px",height:36,borderRadius:18},title:e?`${e.provider}/${e.model}`:wt.t("chat.model.selectModel"),children:a.jsxs(He,{size:4,children:[a.jsx("span",{style:{maxWidth:150,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:13},children:e?`${e.provider}/${e.model}`:wt.t("chat.model.selectModel")}),a.jsx(ws,{style:{fontSize:10}})]})})})})}const AI={copilot:"GitHub Copilot",openai:"OpenAI",anthropic:"Anthropic",gemini:"Google Gemini",bodhi:"Bodhi"},Qk=[{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"}],Zk=[{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"}],eC=[{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"}],tC=[{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4o-mini",label:"GPT-4o Mini"}],nC=y.lazy(()=>Gt(()=>import("./index-Bcpx4-c6.js"),__vite__mapDeps([7,1,2,3]),import.meta.url)),rC=y.lazy(()=>Gt(()=>import("./index-0wGcdXc1.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url)),sC=y.lazy(()=>Gt(()=>import("./index-ekP40-i6.js"),__vite__mapDeps([10,1,2,3,5,4,6]),import.meta.url)),oC=y.lazy(()=>Gt(()=>import("./index-BBEDlZ5R.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)),{useToken:iC}=ct,_h="chat-send-message",kh="reference-text",aC="chat-model-options-cache-v1",py=24*60*60*1e3,lC=["low","medium","high","xhigh","max"],cC=[],Ro=(e,t)=>{},my=e=>`${aC}:${e}`,uC=e=>{if(typeof window>"u")return null;try{const t=localStorage.getItem(my(e));if(!t)return null;const n=JSON.parse(t);return!n||!Array.isArray(n.options)||Date.now()-n.timestamp>py?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}},dC=(e,t)=>{if(!(typeof window>"u"))try{const n={timestamp:Date.now(),options:t};localStorage.setItem(my(e),JSON.stringify(n))}catch{}},fC=async e=>{const t=Hn.getInstance();try{const n=await t.loadModelOptionsCache(e);if(n)return Date.now()-n.timestamp>py?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string")}catch{}return uC(e)},hC=async(e,t)=>{const n=Hn.getInstance();try{await n.saveModelOptionsCache(e,t,Date.now())}catch{}dC(e,t)},pC=({sessionId:e,onWorkflowDraftChange:t,statusIndicator:n})=>{var Rs,Bt,ur,Yn;const{t:r}=Ve(),s=y.useRef(null),{token:o}=iC(),i=Ol(),l=Oi(me=>me.open),u=se(me=>e??me.currentSessionId),d=se(me=>me.currentSessionId),h=se(js(u)),m=y.useMemo(()=>(h==null?void 0:h.messages)||[],[h==null?void 0:h.messages]),b=se(me=>me.addMessage),v=se(me=>me.updateSession),w=se(Kg(u)),S=se(Vg(u)),P=se(Gg(u))||(h==null?void 0:h.isRunning)===!0&&S,T=se(me=>me.markRespondStart),j=se(me=>me.markSettleTimeout),C=se(me=>me.applyExecutionStarted),E=se(Zs(u)),A=se(me=>me.clearPendingQuestion),L=y.useCallback(()=>{var lt,At;if(!u)return null;const me=(lt=se.getState().executionBySession)==null?void 0:lt[u];return me?{phase:me.phase,generation:me.generation,backendRunId:me.backendRunId??null,backendIsRunning:me.backend.isRunning,hasPendingQuestion:me.interaction.pendingQuestion!=null,pendingQuestionToolCallId:((At=me.interaction.pendingQuestion)==null?void 0:At.toolCallId)??null,tokenCount:me.stream.tokenCount,hasTokens:me.stream.hasTokens,activeReasons:me.activeReasons}:null},[u]),F=_d(u),N=hy((Rs=h==null?void 0:h.config)==null?void 0:Rs.model_ref),B=Nt(me=>me.isProviderModelRefEnabled),U=se(me=>u?me.inputStates[u]:void 0),$=se(me=>me.setInputContent),ee=se(me=>me.setReferenceText),J=se(me=>me.setInputReasoningEffort),Q=Nt(me=>me.currentProvider),pe=Nt(me=>me.providerConfig),[I,ie]=y.useState([]),[be,oe]=y.useState(!1),[ge,de]=y.useState(null),[le,ue]=y.useState(!1),ke=(U==null?void 0:U.content)||"",De=(U==null?void 0:U.referenceText)||null,We=y.useMemo(()=>{var me,lt;return Gk(pe,N,((lt=(me=h==null?void 0:h.config)==null?void 0:me.model_ref)==null?void 0:lt.provider)??Q)},[N,(ur=(Bt=h==null?void 0:h.config)==null?void 0:Bt.model_ref)==null?void 0:ur.provider,pe,Q]),bt=y.useMemo(()=>u?Yg(u):void 0,[u]),O=((Yn=h==null?void 0:h.config)==null?void 0:Yn.reasoningEffort)??(U==null?void 0:U.reasoningEffort)??bt??We??"medium",ae=y.useCallback(me=>{u&&$(u,me)},[u,$]),ye=y.useCallback(me=>{u&&ee(u,me)},[u,ee]),Re=y.useCallback(async me=>{if(u&&(J(u,me),!!h))try{await Js.patchSession(u,{reasoning_effort:me}),v(u,{config:{...h.config,reasoningEffort:me}})}catch(lt){console.warn("[InputContainer] Failed to persist reasoning effort:",lt)}},[h,u,J,v]),{sendMessage:Ue,retryLastTurn:Ot,cancel:vt}=Nk({sessionId:u,addMessage:b,updateSession:v});y.useEffect(()=>{if(typeof window>"u")return;const me=zt=>zt?u===zt:u!==null&&u===d,lt=zt=>{const Ct=zt;if(!Ct.detail||typeof Ct.detail.text!="string")return;const rn=typeof Ct.detail.sessionId=="string"?Ct.detail.sessionId:null;if(!me(rn))return;const Qt=Ct.detail.text.trim();Qt&&(Ct.detail.handled=!0,ye(Qt),requestAnimationFrame(()=>{var sn;(sn=s.current)==null||sn.focus()}))},At=zt=>{var Qt;const Ct=zt,rn=typeof((Qt=Ct.detail)==null?void 0:Qt.sessionId)=="string"?Ct.detail.sessionId:null;me(rn)&&(Ct.detail&&(Ct.detail.handled=!0),requestAnimationFrame(()=>{var sn;(sn=s.current)==null||sn.focus()}))};return window.addEventListener(kh,lt),window.addEventListener(ku,At),()=>{window.removeEventListener(kh,lt),window.removeEventListener(ku,At)}},[d,u,ye]);const{message:gt}=Dn.useApp(),Ht=!1,nn=!1,Ln=cC,Mt=void 0,{recordEntry:qt,navigate:Yt,acknowledgeManualInput:fn}=Bk(u),{attachments:Rn,setAttachments:kn,handleAttachmentsAdded:$t,handleAttachmentRemove:yn,handleClearAttachments:hn}=Hk(),fe=zk({setContent:ae,onWorkflowDraftChange:t,acknowledgeManualInput:fn,currentSessionId:u,textAreaRef:s,content:ke}),Ie=qk({content:ke,setContent:ae,currentSessionId:u,currentChat:h,updateSession:v,messageApi:gt}),{setShowFileSelector:$e}=Ie;y.useEffect(()=>{fe.showCommandSelector&&$e(!1)},[fe.showCommandSelector,$e]);const{handleSubmit:Ye}=Yk({attachments:Rn,referenceText:De,selectedWorkflow:fe.selectedCommand,matchesWorkflowToken:fe.matchesCommandToken,fileReferences:Ie.fileReferences,reasoningEffort:O,sendMessage:Ue,recordEntry:qt,clearWorkflowDraft:fe.clearCommandDraft,setContent:ae,setReferenceText:ye,setAttachments:kn,setFileReferences:Ie.setFileReferences}),ut=E?{sessionId:u??"",question:E.question,options:E.options,allowCustom:E.allowCustom,toolCallId:E.toolCallId}:null,Cn=!!ut,Jt=(ut==null?void 0:ut.options)||[],Le=(ut==null?void 0:ut.allowCustom)??!0,Tn=y.useCallback(me=>me?!!Zs(me)(se.getState()):!1,[]),Xt=y.useCallback(async me=>{const lt=me.trim();if(!lt||!u)return;const zt=Zs(u)(se.getState());if(zt&&!zt.allowCustom&&zt.options.length>0&&!zt.options.includes(lt)){gt.warning(r("components.questionDialog.selectOptionWarning"));return}Ro("input.respond:start",{trimmedLength:lt.length,pendingQuestionToolCallId:(ut==null?void 0:ut.toolCallId)??null,executionBefore:L()});const Ct=T(u,(ut==null?void 0:ut.toolCallId)??null);Ro("input.respond:afterMarkRespondStart",{executionAfterMarkRespondStart:L()}),await new Promise(rn=>setTimeout(rn,0));try{const rn={response:lt,reasoning_effort:O};B()&&N&&(rn.model_ref=N,rn.provider=N.provider);const Qt=await xt.post(`respond/${u}`,rn);Ro("input.respond:response",{sessionId:u,result:Qt,executionAfterResponse:L()}),gt.success(r("components.questionDialog.responseSubmittedContinue")),ae(""),A(u),typeof window<"u"&&window.dispatchEvent(new CustomEvent(Cu,{detail:{sessionId:u}}));const sn=Qt==null?void 0:Qt.auto_resume_status,it=Qt==null?void 0:Qt.run_id;Ro("input.respond:resumeDecision",{sessionId:u,resumeStatus:sn,runId:it??null,newGeneration:Ct,executionBeforeResumeDecision:L()}),sn==="started"||sn==="already_running"?(C(u,it??"",Ct),Ro("input.respond:afterApplyExecutionStarted",{sessionId:u,resumeStatus:sn,runId:it??null,newGeneration:Ct,executionAfterApplyExecutionStarted:L()})):(sn==="error"||!sn)&&(console.error("[InputContainer] Failed to auto-resume agent execution"),j(u))}catch(rn){console.error("[InputContainer] Failed to submit respond:",rn),gt.error(rn instanceof Error?rn.message:r("components.questionDialog.submitFailed")),j(u)}},[u,O,N,B,gt,ae,A,T,j,C,L,ut==null?void 0:ut.toolCallId,r]),W=y.useCallback(async(me,lt)=>{if(Tn(u)){await Xt(me);return}await Ye(me,lt)},[u,Tn,Xt,Ye]),D=y.useCallback(async(me,lt)=>{await W(me,lt)},[W]);y.useEffect(()=>{if(typeof window>"u")return;const me=lt=>{var Qt,sn,it;const At=lt;if(!At.detail)return;const zt=typeof At.detail.sessionId=="string"?At.detail.sessionId:null;if(!(zt?u===zt:u!==null&&u===d))return;At.detail.handled=!0;const rn=(Qt=At.detail)==null?void 0:Qt.content;if(typeof rn!="string"||rn.trim().length===0){(it=(sn=At.detail)==null?void 0:sn.reject)==null||it.call(sn,new Error("External send message content is empty"));return}W(rn,void 0).then(()=>{var Cr,dr;(dr=(Cr=At.detail)==null?void 0:Cr.resolve)==null||dr.call(Cr)}).catch(Cr=>{var dr,Zr;(Zr=(dr=At.detail)==null?void 0:dr.reject)==null||Zr.call(dr,Cr)})};return window.addEventListener(_h,me),()=>{window.removeEventListener(_h,me)}},[d,u,W]);const{retryLastMessage:he,handleHistoryNavigate:_e}=Xk({currentSessionId:u,currentChat:h,currentMessages:m,reasoningEffort:O,retryLastTurn:Ot,navigate:Yt}),Fe=y.useCallback(()=>ye(null),[ye]),Ne=y.useMemo(()=>pe.providers[Q],[pe,Q]),Ke=y.useMemo(()=>!Ne||typeof Ne!="object"?!1:Q==="copilot"?Object.keys(Ne).length>0:"api_key"in Ne?typeof Ne.api_key=="string"&&Ne.api_key.trim().length>0:!1,[Q,Ne]),Ge=y.useCallback(()=>Ke?!1:(l("chat"),gt.warning(r("chat.view.providerNotConfigured")),!0),[Ke,gt,l,r]);y.useEffect(()=>{(async()=>{const me=await fC(Q);ie(me??[]),de(null)})()},[Q]);const St=y.useCallback(me=>me instanceof Error&&me.message.trim()?me.message:r("chat.view.unknownError"),[r]),ht=y.useMemo(()=>({openai:[...Qk],anthropic:[...Zk],gemini:[...eC],copilot:[...tC],bodhi:[]})[Q]||[],[Q]),kt=y.useMemo(()=>{const lt=[...I.length>0?I:ht];return F&&!lt.some(At=>At.value===F)&<.unshift({value:F,label:F}),lt},[I,ht,F]),et=y.useCallback(async(me,lt)=>{if(!(!(lt!=null&<.force)&&I.length>0))try{oe(!0),de(null);const zt=(me==="copilot"?await $g.getModels():ht).map(Ct=>({value:typeof Ct=="string"?Ct:Ct.value,label:typeof Ct=="string"?Ct:Ct.label}));ie(zt),await hC(me,zt)}catch(At){de(St(At))}finally{oe(!1)}},[ht,St,I.length]),Me=y.useCallback(me=>{me&&(Ge()||be||I.length>0||et(Q))},[Q,et,be,I.length,Ge]),Te=y.useCallback(async me=>{var lt,At,zt;if(!(!me||me===F)&&!le)try{if(Ge())return;if(ue(!0),!u||!h){u&&v(u,{config:{systemPromptId:((lt=h==null?void 0:h.config)==null?void 0:lt.systemPromptId)||"default",baseSystemPrompt:((At=h==null?void 0:h.config)==null?void 0:At.baseSystemPrompt)||"",lastUsedEnhancedPrompt:((zt=h==null?void 0:h.config)==null?void 0:zt.lastUsedEnhancedPrompt)??null,...(h==null?void 0:h.config)||{},model:me}});return}await Js.patchSession(u,{model:me}),v(u,{config:{...h.config,model:me}}),gt.success(r("settings.providerTab.modelUpdated"))}catch(Ct){gt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${St(Ct)}`)}finally{ue(!1)}},[F,h,St,le,gt,Ge,u,r,v]),qe=y.useCallback(async me=>{if(!u||!(h!=null&&h.config)){Nt.getState().setSelectedModelRef(me);return}if(!le)try{ue(!0),await Js.patchSession(u,{model:me.model,model_ref:me,provider:me.provider}),Nt.getState().setSelectedModelRef(me),v(u,{config:{...h.config,model:me.model,model_ref:me}}),gt.success(r("settings.providerTab.modelUpdated"))}catch(lt){gt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${St(lt)}`)}finally{ue(!1)}},[h==null?void 0:h.config,St,le,gt,u,r,v]),Lt=y.useMemo(()=>Kk({referenceText:De,isToolSpecificMode:Ht,isRestrictConversation:nn,allowedTools:Ln,autoToolPrefix:Mt,t:r}),[De,Ht,nn,Ln,Mt,r]),Kt=Cn&&Le?r("chat.respond.customAnswerPlaceholder"):Cn?r("components.questionDialog.selectOptionWarning"):Lt,_r=Cn?r("chat.respond.submitToolResult","Submit tool result"):void 0,kr=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]),ho=y.useMemo(()=>kr[O]??O,[O,kr]),Zn=y.useMemo(()=>a.jsx(eo,{trigger:["click"],placement:"topLeft",disabled:!F||S,menu:{selectable:!0,selectedKeys:[O],items:lC.map(me=>({key:me,label:kr[me]})),onClick:({key:me})=>{Re(me)}},children:a.jsx(Ae,{type:"text",size:"small",disabled:!F||w,style:{minWidth:i?74:88,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:O==="medium"?o.colorTextSecondary:o.colorPrimary},title:r("chat.input.reasoningTitle",{label:ho}),children:a.jsxs(He,{size:6,children:[a.jsx(NS,{}),a.jsx("span",{children:ho}),a.jsx(ws,{style:{fontSize:10}})]})})}),[F,ho,S,i,w,O,kr,Re,r,o.colorPrimary,o.colorTextSecondary]),ar=F||r(Ke?"chat.model.selectModel":"chat.model.configureProvider"),er=y.useMemo(()=>kt.length>0?kt.map(me=>({key:me.value,label:me.label})):[{key:"__no_models__",label:ge||r("chat.model.noModelsAvailable"),disabled:!0}],[kt,ge,r]),Ar=y.useMemo(()=>a.jsx(Ae,{type:"text",size:"small",disabled:w||le,onClick:()=>{Ke||Ge()},style:{minWidth:i?112:146,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:ge?o.colorError:o.colorTextSecondary},title:ar,children:a.jsxs(He,{size:6,children:[be?a.jsx(xs,{}):a.jsx(pg,{}),a.jsx("span",{style:{maxWidth:i?84:128,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:ar}),a.jsx(ws,{style:{fontSize:10}})]})}),[w,le,Ke,Ge,i,ge,o.colorError,o.colorTextSecondary,ar,be]),ia=y.useMemo(()=>B()?a.jsx(Jk,{value:N,onChange:qe,disabled:w||le}):Ke?a.jsx(eo,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:F?[F]:[],items:er,style:{maxHeight:"50vh",overflowY:"auto"},onClick:({key:me})=>{me!=="__no_models__"&&Te(String(me))}},onOpenChange:Me,disabled:S||le,children:Ar}):Ar,[B,N,qe,w,le,Ke,F,er,Te,Me,S,Ar]),lr=y.useMemo(()=>a.jsxs(He,{size:0,wrap:!0,children:[ia,Zn]}),[ia,Zn]),aa=y.useCallback(me=>({isValid:!0}),[nn,Mt,r]),cr=y.useMemo(()=>m.some(me=>me.role==="user"),[m]),la=y.useMemo(()=>({isStreaming:w,isInputLocked:S,canCancel:P,hasMessages:cr,allowRetry:!0,onRetry:he,onCancel:vt,onHistoryNavigate:_e}),[w,S,P,cr,he,vt,_e]);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:[!F&&a.jsx(or,{type:"warning",showIcon:!0,icon:a.jsx(jl,{}),message:r(Ke?"chat.model.noModelSelected":"chat.model.providerNotConfigured"),description:r(Ke?"chat.model.selectModelHint":"chat.model.configureProviderHint"),action:Ke?void 0:a.jsx(He,{children:a.jsx("a",{onClick:()=>l("chat"),children:r("chat.model.openSettings")})}),style:{marginBottom:o.marginSM}}),Ht,De&&a.jsx(_k,{text:De,onClose:Fe}),Rn.length>0&&a.jsx(y.Suspense,{fallback:a.jsx(no,{size:"small"}),children:a.jsx(nC,{files:Rn,onRemove:yn,onClear:hn})}),Cn&&Jt.length>0&&a.jsx("div",{style:{marginBottom:o.marginSM},children:a.jsx(He,{wrap:!0,size:[8,8],children:Jt.map(me=>a.jsx(Ae,{size:"small",onClick:()=>{Xt(me)},disabled:S,children:me},me))})}),a.jsx(xk,{value:ke,onChange:fe.handleInputChange,onSubmit:D,placeholder:Kt,allowImages:!0,disabled:!F||Cn&&!Le&&Jt.length>0,statusIndicator:n,submitButtonLabel:_r,isWorkflowSelectorVisible:fe.showCommandSelector,textAreaRef:s,validateMessage:aa,onAttachmentsAdded:$t,onWorkflowCommandChange:fe.handleCommandChange,onFileReferenceChange:Ie.handleFileReferenceChange,onFileReferenceButtonClick:Ie.handleFileReferenceButtonClick,leftControlsExtra:lr,interaction:la}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(rC,{visible:fe.showCommandSelector,onSelect:fe.handleCommandSelect,onCancel:fe.handleCommandSelectorCancel,onAutoComplete:fe.handleAutoComplete,searchText:fe.commandSearchText})}),Ie.showFileSelector&&a.jsx(y.Suspense,{fallback:a.jsx(no,{size:"small"}),children:a.jsx(oC,{visible:Ie.showFileSelector,files:Ie.workspaceFiles,searchText:Ie.fileSearchText,loading:Ie.isWorkspaceLoading,error:Ie.workspaceError,onSelect:Ie.handleFileReferenceSelect,onCancel:Ie.handleFileSelectorCancel,onChangeWorkspace:()=>{Ie.setWorkspacePathInput((h==null?void 0:h.config.workspacePath)??""),Ie.setIsWorkspaceModalVisible(!0)}})}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(sC,{open:Ie.isWorkspaceModalVisible,initialPath:Ie.workspacePathInput,loading:Ie.isSavingWorkspace,onSubmit:Ie.handleWorkspaceModalSubmit,onCancel:Ie.handleWorkspaceModalCancel})})]})},mC={maxLines:8,maxCharacters:500},Yr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Fr=e=>typeof e=="string"?e:void 0,us=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ch=e=>typeof e=="boolean"?e:void 0,kd=e=>{if(!e)return null;const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return null;try{const n=JSON.parse(t);return Yr(n)?n:null}catch{return null}},gy=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 L=[];for(const F of A){const N=F[1],B=s.get(N);B&&L.push(B)}if(L.length>0){const F=JSON.stringify({type:"file_reference",paths:L.map(N=>N.path),display_text:E});await i(F,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])}),Xk=({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}},Kk=({referenceText:e,isToolSpecificMode:t,isRestrictConversation:n,allowedTools:r,autoToolPrefix:s,t:o})=>o(e?"chat.input.placeholderWithReference":"chat.input.placeholderWithWorkflows"),Vk=(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}},Gk=(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 Vk(e,r)};function Jk({value:e,onChange:t,disabled:n}){const r=Nt(l=>l.catalog);y.useEffect(()=>{r||Nt.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(He,{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(He,{size:4,"data-tour-id":"model-picker",children:a.jsx(eo,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:o?[o]:[],items:s,style:{maxHeight:"50vh",overflowY:"auto"},onClick:i},disabled:n,children:a.jsx(Ae,{type:"text",size:"small",disabled:n,style:{minWidth:146,padding:"0 12px",height:36,borderRadius:18},title:e?`${e.provider}/${e.model}`:wt.t("chat.model.selectModel"),children:a.jsxs(He,{size:4,children:[a.jsx("span",{style:{maxWidth:150,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:13},children:e?`${e.provider}/${e.model}`:wt.t("chat.model.selectModel")}),a.jsx(ws,{style:{fontSize:10}})]})})})})}const AI={copilot:"GitHub Copilot",openai:"OpenAI",anthropic:"Anthropic",gemini:"Google Gemini",bodhi:"Bodhi"},Qk=[{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"}],Zk=[{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"}],eC=[{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"}],tC=[{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4o-mini",label:"GPT-4o Mini"}],nC=y.lazy(()=>Gt(()=>import("./index-Bcpx4-c6.js"),__vite__mapDeps([7,1,2,3]),import.meta.url)),rC=y.lazy(()=>Gt(()=>import("./index-C8TiuUqm.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url)),sC=y.lazy(()=>Gt(()=>import("./index-Cj2Jmnr0.js"),__vite__mapDeps([10,1,2,3,5,4,6]),import.meta.url)),oC=y.lazy(()=>Gt(()=>import("./index-BBEDlZ5R.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)),{useToken:iC}=ct,_h="chat-send-message",kh="reference-text",aC="chat-model-options-cache-v1",py=24*60*60*1e3,lC=["low","medium","high","xhigh","max"],cC=[],Ro=(e,t)=>{},my=e=>`${aC}:${e}`,uC=e=>{if(typeof window>"u")return null;try{const t=localStorage.getItem(my(e));if(!t)return null;const n=JSON.parse(t);return!n||!Array.isArray(n.options)||Date.now()-n.timestamp>py?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}},dC=(e,t)=>{if(!(typeof window>"u"))try{const n={timestamp:Date.now(),options:t};localStorage.setItem(my(e),JSON.stringify(n))}catch{}},fC=async e=>{const t=Hn.getInstance();try{const n=await t.loadModelOptionsCache(e);if(n)return Date.now()-n.timestamp>py?null:n.options.filter(r=>r&&typeof r.value=="string"&&r.value.trim().length>0&&typeof r.label=="string")}catch{}return uC(e)},hC=async(e,t)=>{const n=Hn.getInstance();try{await n.saveModelOptionsCache(e,t,Date.now())}catch{}dC(e,t)},pC=({sessionId:e,onWorkflowDraftChange:t,statusIndicator:n})=>{var Rs,Bt,ur,Yn;const{t:r}=Ve(),s=y.useRef(null),{token:o}=iC(),i=Ol(),l=Oi(me=>me.open),u=se(me=>e??me.currentSessionId),d=se(me=>me.currentSessionId),h=se(js(u)),m=y.useMemo(()=>(h==null?void 0:h.messages)||[],[h==null?void 0:h.messages]),b=se(me=>me.addMessage),v=se(me=>me.updateSession),w=se(Kg(u)),S=se(Vg(u)),P=se(Gg(u))||(h==null?void 0:h.isRunning)===!0&&S,T=se(me=>me.markRespondStart),j=se(me=>me.markSettleTimeout),C=se(me=>me.applyExecutionStarted),E=se(Zs(u)),A=se(me=>me.clearPendingQuestion),L=y.useCallback(()=>{var lt,At;if(!u)return null;const me=(lt=se.getState().executionBySession)==null?void 0:lt[u];return me?{phase:me.phase,generation:me.generation,backendRunId:me.backendRunId??null,backendIsRunning:me.backend.isRunning,hasPendingQuestion:me.interaction.pendingQuestion!=null,pendingQuestionToolCallId:((At=me.interaction.pendingQuestion)==null?void 0:At.toolCallId)??null,tokenCount:me.stream.tokenCount,hasTokens:me.stream.hasTokens,activeReasons:me.activeReasons}:null},[u]),F=_d(u),N=hy((Rs=h==null?void 0:h.config)==null?void 0:Rs.model_ref),B=Nt(me=>me.isProviderModelRefEnabled),U=se(me=>u?me.inputStates[u]:void 0),$=se(me=>me.setInputContent),ee=se(me=>me.setReferenceText),J=se(me=>me.setInputReasoningEffort),Q=Nt(me=>me.currentProvider),pe=Nt(me=>me.providerConfig),[I,ie]=y.useState([]),[be,oe]=y.useState(!1),[ge,de]=y.useState(null),[le,ue]=y.useState(!1),ke=(U==null?void 0:U.content)||"",De=(U==null?void 0:U.referenceText)||null,We=y.useMemo(()=>{var me,lt;return Gk(pe,N,((lt=(me=h==null?void 0:h.config)==null?void 0:me.model_ref)==null?void 0:lt.provider)??Q)},[N,(ur=(Bt=h==null?void 0:h.config)==null?void 0:Bt.model_ref)==null?void 0:ur.provider,pe,Q]),bt=y.useMemo(()=>u?Yg(u):void 0,[u]),O=((Yn=h==null?void 0:h.config)==null?void 0:Yn.reasoningEffort)??(U==null?void 0:U.reasoningEffort)??bt??We??"medium",ae=y.useCallback(me=>{u&&$(u,me)},[u,$]),ye=y.useCallback(me=>{u&&ee(u,me)},[u,ee]),Re=y.useCallback(async me=>{if(u&&(J(u,me),!!h))try{await Js.patchSession(u,{reasoning_effort:me}),v(u,{config:{...h.config,reasoningEffort:me}})}catch(lt){console.warn("[InputContainer] Failed to persist reasoning effort:",lt)}},[h,u,J,v]),{sendMessage:Ue,retryLastTurn:Ot,cancel:vt}=Nk({sessionId:u,addMessage:b,updateSession:v});y.useEffect(()=>{if(typeof window>"u")return;const me=zt=>zt?u===zt:u!==null&&u===d,lt=zt=>{const Ct=zt;if(!Ct.detail||typeof Ct.detail.text!="string")return;const rn=typeof Ct.detail.sessionId=="string"?Ct.detail.sessionId:null;if(!me(rn))return;const Qt=Ct.detail.text.trim();Qt&&(Ct.detail.handled=!0,ye(Qt),requestAnimationFrame(()=>{var sn;(sn=s.current)==null||sn.focus()}))},At=zt=>{var Qt;const Ct=zt,rn=typeof((Qt=Ct.detail)==null?void 0:Qt.sessionId)=="string"?Ct.detail.sessionId:null;me(rn)&&(Ct.detail&&(Ct.detail.handled=!0),requestAnimationFrame(()=>{var sn;(sn=s.current)==null||sn.focus()}))};return window.addEventListener(kh,lt),window.addEventListener(ku,At),()=>{window.removeEventListener(kh,lt),window.removeEventListener(ku,At)}},[d,u,ye]);const{message:gt}=Dn.useApp(),Ht=!1,nn=!1,Ln=cC,Mt=void 0,{recordEntry:qt,navigate:Yt,acknowledgeManualInput:fn}=Bk(u),{attachments:Rn,setAttachments:kn,handleAttachmentsAdded:$t,handleAttachmentRemove:yn,handleClearAttachments:hn}=Hk(),fe=zk({setContent:ae,onWorkflowDraftChange:t,acknowledgeManualInput:fn,currentSessionId:u,textAreaRef:s,content:ke}),Ie=qk({content:ke,setContent:ae,currentSessionId:u,currentChat:h,updateSession:v,messageApi:gt}),{setShowFileSelector:$e}=Ie;y.useEffect(()=>{fe.showCommandSelector&&$e(!1)},[fe.showCommandSelector,$e]);const{handleSubmit:Ye}=Yk({attachments:Rn,referenceText:De,selectedWorkflow:fe.selectedCommand,matchesWorkflowToken:fe.matchesCommandToken,fileReferences:Ie.fileReferences,reasoningEffort:O,sendMessage:Ue,recordEntry:qt,clearWorkflowDraft:fe.clearCommandDraft,setContent:ae,setReferenceText:ye,setAttachments:kn,setFileReferences:Ie.setFileReferences}),ut=E?{sessionId:u??"",question:E.question,options:E.options,allowCustom:E.allowCustom,toolCallId:E.toolCallId}:null,Cn=!!ut,Jt=(ut==null?void 0:ut.options)||[],Le=(ut==null?void 0:ut.allowCustom)??!0,Tn=y.useCallback(me=>me?!!Zs(me)(se.getState()):!1,[]),Xt=y.useCallback(async me=>{const lt=me.trim();if(!lt||!u)return;const zt=Zs(u)(se.getState());if(zt&&!zt.allowCustom&&zt.options.length>0&&!zt.options.includes(lt)){gt.warning(r("components.questionDialog.selectOptionWarning"));return}Ro("input.respond:start",{trimmedLength:lt.length,pendingQuestionToolCallId:(ut==null?void 0:ut.toolCallId)??null,executionBefore:L()});const Ct=T(u,(ut==null?void 0:ut.toolCallId)??null);Ro("input.respond:afterMarkRespondStart",{executionAfterMarkRespondStart:L()}),await new Promise(rn=>setTimeout(rn,0));try{const rn={response:lt,reasoning_effort:O};B()&&N&&(rn.model_ref=N,rn.provider=N.provider);const Qt=await xt.post(`respond/${u}`,rn);Ro("input.respond:response",{sessionId:u,result:Qt,executionAfterResponse:L()}),gt.success(r("components.questionDialog.responseSubmittedContinue")),ae(""),A(u),typeof window<"u"&&window.dispatchEvent(new CustomEvent(Cu,{detail:{sessionId:u}}));const sn=Qt==null?void 0:Qt.auto_resume_status,it=Qt==null?void 0:Qt.run_id;Ro("input.respond:resumeDecision",{sessionId:u,resumeStatus:sn,runId:it??null,newGeneration:Ct,executionBeforeResumeDecision:L()}),sn==="started"||sn==="already_running"?(C(u,it??"",Ct),Ro("input.respond:afterApplyExecutionStarted",{sessionId:u,resumeStatus:sn,runId:it??null,newGeneration:Ct,executionAfterApplyExecutionStarted:L()})):(sn==="error"||!sn)&&(console.error("[InputContainer] Failed to auto-resume agent execution"),j(u))}catch(rn){console.error("[InputContainer] Failed to submit respond:",rn),gt.error(rn instanceof Error?rn.message:r("components.questionDialog.submitFailed")),j(u)}},[u,O,N,B,gt,ae,A,T,j,C,L,ut==null?void 0:ut.toolCallId,r]),W=y.useCallback(async(me,lt)=>{if(Tn(u)){await Xt(me);return}await Ye(me,lt)},[u,Tn,Xt,Ye]),D=y.useCallback(async(me,lt)=>{await W(me,lt)},[W]);y.useEffect(()=>{if(typeof window>"u")return;const me=lt=>{var Qt,sn,it;const At=lt;if(!At.detail)return;const zt=typeof At.detail.sessionId=="string"?At.detail.sessionId:null;if(!(zt?u===zt:u!==null&&u===d))return;At.detail.handled=!0;const rn=(Qt=At.detail)==null?void 0:Qt.content;if(typeof rn!="string"||rn.trim().length===0){(it=(sn=At.detail)==null?void 0:sn.reject)==null||it.call(sn,new Error("External send message content is empty"));return}W(rn,void 0).then(()=>{var Cr,dr;(dr=(Cr=At.detail)==null?void 0:Cr.resolve)==null||dr.call(Cr)}).catch(Cr=>{var dr,Zr;(Zr=(dr=At.detail)==null?void 0:dr.reject)==null||Zr.call(dr,Cr)})};return window.addEventListener(_h,me),()=>{window.removeEventListener(_h,me)}},[d,u,W]);const{retryLastMessage:he,handleHistoryNavigate:_e}=Xk({currentSessionId:u,currentChat:h,currentMessages:m,reasoningEffort:O,retryLastTurn:Ot,navigate:Yt}),Fe=y.useCallback(()=>ye(null),[ye]),Ne=y.useMemo(()=>pe.providers[Q],[pe,Q]),Ke=y.useMemo(()=>!Ne||typeof Ne!="object"?!1:Q==="copilot"?Object.keys(Ne).length>0:"api_key"in Ne?typeof Ne.api_key=="string"&&Ne.api_key.trim().length>0:!1,[Q,Ne]),Ge=y.useCallback(()=>Ke?!1:(l("chat"),gt.warning(r("chat.view.providerNotConfigured")),!0),[Ke,gt,l,r]);y.useEffect(()=>{(async()=>{const me=await fC(Q);ie(me??[]),de(null)})()},[Q]);const St=y.useCallback(me=>me instanceof Error&&me.message.trim()?me.message:r("chat.view.unknownError"),[r]),ht=y.useMemo(()=>({openai:[...Qk],anthropic:[...Zk],gemini:[...eC],copilot:[...tC],bodhi:[]})[Q]||[],[Q]),kt=y.useMemo(()=>{const lt=[...I.length>0?I:ht];return F&&!lt.some(At=>At.value===F)&<.unshift({value:F,label:F}),lt},[I,ht,F]),et=y.useCallback(async(me,lt)=>{if(!(!(lt!=null&<.force)&&I.length>0))try{oe(!0),de(null);const zt=(me==="copilot"?await $g.getModels():ht).map(Ct=>({value:typeof Ct=="string"?Ct:Ct.value,label:typeof Ct=="string"?Ct:Ct.label}));ie(zt),await hC(me,zt)}catch(At){de(St(At))}finally{oe(!1)}},[ht,St,I.length]),Me=y.useCallback(me=>{me&&(Ge()||be||I.length>0||et(Q))},[Q,et,be,I.length,Ge]),Te=y.useCallback(async me=>{var lt,At,zt;if(!(!me||me===F)&&!le)try{if(Ge())return;if(ue(!0),!u||!h){u&&v(u,{config:{systemPromptId:((lt=h==null?void 0:h.config)==null?void 0:lt.systemPromptId)||"default",baseSystemPrompt:((At=h==null?void 0:h.config)==null?void 0:At.baseSystemPrompt)||"",lastUsedEnhancedPrompt:((zt=h==null?void 0:h.config)==null?void 0:zt.lastUsedEnhancedPrompt)??null,...(h==null?void 0:h.config)||{},model:me}});return}await Js.patchSession(u,{model:me}),v(u,{config:{...h.config,model:me}}),gt.success(r("settings.providerTab.modelUpdated"))}catch(Ct){gt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${St(Ct)}`)}finally{ue(!1)}},[F,h,St,le,gt,Ge,u,r,v]),qe=y.useCallback(async me=>{if(!u||!(h!=null&&h.config)){Nt.getState().setSelectedModelRef(me);return}if(!le)try{ue(!0),await Js.patchSession(u,{model:me.model,model_ref:me,provider:me.provider}),Nt.getState().setSelectedModelRef(me),v(u,{config:{...h.config,model:me.model,model_ref:me}}),gt.success(r("settings.providerTab.modelUpdated"))}catch(lt){gt.error(`${r("settings.providerTab.updateModelErrorPrefix")}: ${St(lt)}`)}finally{ue(!1)}},[h==null?void 0:h.config,St,le,gt,u,r,v]),Lt=y.useMemo(()=>Kk({referenceText:De,isToolSpecificMode:Ht,isRestrictConversation:nn,allowedTools:Ln,autoToolPrefix:Mt,t:r}),[De,Ht,nn,Ln,Mt,r]),Kt=Cn&&Le?r("chat.respond.customAnswerPlaceholder"):Cn?r("components.questionDialog.selectOptionWarning"):Lt,_r=Cn?r("chat.respond.submitToolResult","Submit tool result"):void 0,kr=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]),ho=y.useMemo(()=>kr[O]??O,[O,kr]),Zn=y.useMemo(()=>a.jsx(eo,{trigger:["click"],placement:"topLeft",disabled:!F||S,menu:{selectable:!0,selectedKeys:[O],items:lC.map(me=>({key:me,label:kr[me]})),onClick:({key:me})=>{Re(me)}},children:a.jsx(Ae,{type:"text",size:"small",disabled:!F||w,style:{minWidth:i?74:88,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:O==="medium"?o.colorTextSecondary:o.colorPrimary},title:r("chat.input.reasoningTitle",{label:ho}),children:a.jsxs(He,{size:6,children:[a.jsx(NS,{}),a.jsx("span",{children:ho}),a.jsx(ws,{style:{fontSize:10}})]})})}),[F,ho,S,i,w,O,kr,Re,r,o.colorPrimary,o.colorTextSecondary]),ar=F||r(Ke?"chat.model.selectModel":"chat.model.configureProvider"),er=y.useMemo(()=>kt.length>0?kt.map(me=>({key:me.value,label:me.label})):[{key:"__no_models__",label:ge||r("chat.model.noModelsAvailable"),disabled:!0}],[kt,ge,r]),Ar=y.useMemo(()=>a.jsx(Ae,{type:"text",size:"small",disabled:w||le,onClick:()=>{Ke||Ge()},style:{minWidth:i?112:146,padding:i?"0 8px":"0 12px",height:36,borderRadius:18,color:ge?o.colorError:o.colorTextSecondary},title:ar,children:a.jsxs(He,{size:6,children:[be?a.jsx(xs,{}):a.jsx(pg,{}),a.jsx("span",{style:{maxWidth:i?84:128,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:ar}),a.jsx(ws,{style:{fontSize:10}})]})}),[w,le,Ke,Ge,i,ge,o.colorError,o.colorTextSecondary,ar,be]),ia=y.useMemo(()=>B()?a.jsx(Jk,{value:N,onChange:qe,disabled:w||le}):Ke?a.jsx(eo,{trigger:["click"],placement:"topLeft",menu:{selectable:!0,selectedKeys:F?[F]:[],items:er,style:{maxHeight:"50vh",overflowY:"auto"},onClick:({key:me})=>{me!=="__no_models__"&&Te(String(me))}},onOpenChange:Me,disabled:S||le,children:Ar}):Ar,[B,N,qe,w,le,Ke,F,er,Te,Me,S,Ar]),lr=y.useMemo(()=>a.jsxs(He,{size:0,wrap:!0,children:[ia,Zn]}),[ia,Zn]),aa=y.useCallback(me=>({isValid:!0}),[nn,Mt,r]),cr=y.useMemo(()=>m.some(me=>me.role==="user"),[m]),la=y.useMemo(()=>({isStreaming:w,isInputLocked:S,canCancel:P,hasMessages:cr,allowRetry:!0,onRetry:he,onCancel:vt,onHistoryNavigate:_e}),[w,S,P,cr,he,vt,_e]);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:[!F&&a.jsx(or,{type:"warning",showIcon:!0,icon:a.jsx(jl,{}),message:r(Ke?"chat.model.noModelSelected":"chat.model.providerNotConfigured"),description:r(Ke?"chat.model.selectModelHint":"chat.model.configureProviderHint"),action:Ke?void 0:a.jsx(He,{children:a.jsx("a",{onClick:()=>l("chat"),children:r("chat.model.openSettings")})}),style:{marginBottom:o.marginSM}}),Ht,De&&a.jsx(_k,{text:De,onClose:Fe}),Rn.length>0&&a.jsx(y.Suspense,{fallback:a.jsx(no,{size:"small"}),children:a.jsx(nC,{files:Rn,onRemove:yn,onClear:hn})}),Cn&&Jt.length>0&&a.jsx("div",{style:{marginBottom:o.marginSM},children:a.jsx(He,{wrap:!0,size:[8,8],children:Jt.map(me=>a.jsx(Ae,{size:"small",onClick:()=>{Xt(me)},disabled:S,children:me},me))})}),a.jsx(xk,{value:ke,onChange:fe.handleInputChange,onSubmit:D,placeholder:Kt,allowImages:!0,disabled:!F||Cn&&!Le&&Jt.length>0,statusIndicator:n,submitButtonLabel:_r,isWorkflowSelectorVisible:fe.showCommandSelector,textAreaRef:s,validateMessage:aa,onAttachmentsAdded:$t,onWorkflowCommandChange:fe.handleCommandChange,onFileReferenceChange:Ie.handleFileReferenceChange,onFileReferenceButtonClick:Ie.handleFileReferenceButtonClick,leftControlsExtra:lr,interaction:la}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(rC,{visible:fe.showCommandSelector,onSelect:fe.handleCommandSelect,onCancel:fe.handleCommandSelectorCancel,onAutoComplete:fe.handleAutoComplete,searchText:fe.commandSearchText})}),Ie.showFileSelector&&a.jsx(y.Suspense,{fallback:a.jsx(no,{size:"small"}),children:a.jsx(oC,{visible:Ie.showFileSelector,files:Ie.workspaceFiles,searchText:Ie.fileSearchText,loading:Ie.isWorkspaceLoading,error:Ie.workspaceError,onSelect:Ie.handleFileReferenceSelect,onCancel:Ie.handleFileSelectorCancel,onChangeWorkspace:()=>{Ie.setWorkspacePathInput((h==null?void 0:h.config.workspacePath)??""),Ie.setIsWorkspaceModalVisible(!0)}})}),a.jsx(y.Suspense,{fallback:null,children:a.jsx(sC,{open:Ie.isWorkspaceModalVisible,initialPath:Ie.workspacePathInput,loading:Ie.isSavingWorkspace,onSubmit:Ie.handleWorkspaceModalSubmit,onCancel:Ie.handleWorkspaceModalCancel})})]})},mC={maxLines:8,maxCharacters:500},Yr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Fr=e=>typeof e=="string"?e:void 0,us=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ch=e=>typeof e=="boolean"?e:void 0,kd=e=>{if(!e)return null;const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return null;try{const n=JSON.parse(t);return Yr(n)?n:null}catch{return null}},gy=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,Sr=e=>Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>gy(t).trim()).filter(Boolean):[],gn=e=>{if(typeof e!="string")return;const t=gy(e).trim();return t.length>0?t:void 0},gC=e=>{if(!Yr(e))return;const t=gn(e.graph);if(t)return{title:gn(e.title),graph:t}},yC=e=>{if(!Yr(e))return;const t=gn(e.summary)??gn(e.conclusion);if(t)return{title:gn(e.title)||"Conclusion",summary:t,key_points:Sr(e.key_points),next_steps:Sr(e.next_steps),confidence:gn(e.confidence),mermaid:gC(e.mermaid)}},bC=e=>{const t=kd(e);if(!t)return null;const n=gn(t.conclusion);return!n||t.type!=null&&t.type!=="conclusion"?null:{type:"conclusion",title:gn(t.title)||"Conclusion",conclusion:n,key_points:Sr(t.key_points),next_steps:Sr(t.next_steps),confidence:gn(t.confidence)}},vC=e=>{const t=kd(e);if(!t)return null;const n=gn(t.question);if(!n)return null;const r=gn(t.status);return r&&r!=="awaiting_user_input"&&r!=="awaiting_permission_approval"?null:{question:n,options:Sr(t.options),allow_custom:typeof t.allow_custom=="boolean"?t.allow_custom:!0,conclusion:yC(t.conclusion)}},SC=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}`},OM=(e,t)=>{const n=jM[e];if(!n)return null;const r=t.trim();if(!r)return"
|
|
|
180
180
|
`),ge=ye.isJson?"json":"text",de="result")}const le=B.info.status==="process"?o("components.toolSteps.running"):((ae=B.metadata)==null?void 0:ae.elapsed_ms)!=null?ip(B.metadata.elapsed_ms):void 0;return{key:B.key,title:a.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:i.marginXS},children:U?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(Br,{strong:!0,style:{fontSize:i.fontSizeSM},children:U.toolName})]}):a.jsx(Br,{strong:!0,style:{fontSize:i.fontSizeSM},children:B.toolName})}),subTitle:le?a.jsx(Br,{type:"secondary",style:{fontSize:i.fontSizeSM-1},children:le}):void 0,description:a.jsxs("div",{style:{minWidth:0},children:[a.jsx(Br,{ellipsis:!0,style:{fontSize:i.fontSizeSM,display:"block",maxWidth:"100%"},children:ee}),a.jsx("div",{style:{marginTop:i.marginXXS,display:"flex",gap:i.marginXS,alignItems:"center"},children:a.jsx(Ae,{type:"link",size:"small",icon:a.jsx(ld,{}),style:{padding:0,height:"auto",fontSize:i.fontSizeSM},"data-testid":`tool-step-details-${B.key}`,onClick:()=>k(B,Q?"diff":"preview"),children:o("components.toolSteps.details")})}),ie&&!Q&&a.jsx(Br,{type:"secondary",style:{display:"block",marginTop:i.marginXS,fontSize:i.fontSizeSM-1},children:ie}),Q&&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-${B.key}`,children:a.jsxs("div",{style:{display:"grid",gap:i.marginXXS??2},children:[a.jsx(Br,{strong:!0,style:{fontSize:i.fontSizeSM},ellipsis:{tooltip:be},children:be}),a.jsx(Br,{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(Ki,{payload:Q,compact:!0,showHeader:!1,showViewToggle:!1,defaultViewMode:"unified",maxHeight:BM,unifiedLinesOverride:I??void 0}),a.jsx(Ae,{type:"link",size:"small",style:{padding:0,height:"auto",fontSize:i.fontSizeSM-1},onClick:()=>k(B,"diff"),children:o("components.toolSteps.viewFullDiff",{defaultValue:"View full diff"})})]})}),oe&&a.jsxs("div",{style:{marginTop:i.marginXS},children:[a.jsx(wi,{value:oe,mode:ge,className:"lotus-tool-step-preview",compact:!0,maxHeight:72,scrollable:!1,backgroundColor:"transparent"}),a.jsx(Ae,{type:"link",size:"small",style:{padding:0,height:"auto",fontSize:i.fontSizeSM-1},onClick:()=>k(B,de==="result"?"result":"preview"),children:de==="result"?o("components.toolSteps.viewFullResult",{defaultValue:"View full result"}):o("components.toolSteps.viewFullOutput")})]})]}),status:B.info.status,icon:B.info.icon}}),[d,i,o]),N=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:N,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(B=>!B),"data-testid":"tool-steps-header",children:[a.jsx("span",{style:{flexShrink:0},children:l?a.jsx(ws,{style:{color:i.colorTextSecondary,fontSize:i.fontSizeSM}}):a.jsx(Kr,{style:{color:i.colorTextSecondary,fontSize:i.fontSizeSM}})}),a.jsxs(Br,{strong:!0,style:{fontSize:i.fontSizeSM},children:["🛠 ",L]})]}),(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(bg,{direction:"vertical",size:"small",current:T,status:j?"error":"process",items:F})}),b&&a.jsx(NM,{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})]})},jd=y.memo(UM);jd.displayName="ToolStepsCard";const{Text:Ac}=dt,qM=({content:e,workflowName:t,parameters:n,status:r="success",timestamp:s,onRetry:o,isLoading:i,errorMessage:l})=>{const{t:u}=Ve(),{token:d}=ct.useToken(),[h,m]=y.useState(!1),b=y.useMemo(()=>oo(e),[e]),v=y.useMemo(()=>typeof i=="boolean"?i:b.formattedText.trim().length===0,[b.formattedText,i]),w=y.useMemo(()=>kC(b.formattedText),[b.formattedText]),S=b.isJson||w,k=!S||h,P=y.useMemo(()=>CC(b.formattedText),[b.formattedText]),T=y.useMemo(()=>{if(n==null)return null;if(typeof n=="string")return oo(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?vs(b.parsedJson):b.formattedText;await Rr(E)}catch(E){console.error("[WorkflowResultCard] Failed to copy content:",E)}},C=async()=>{if(T)try{const E=T.isJson?vs(T.parsedJson):T.formattedText;await Rr(E)}catch(E){console.error("[WorkflowResultCard] Failed to copy parameters:",E)}};return a.jsx(tn,{size:"small",variant:"outlined",style:{borderRadius:d.borderRadiusLG,borderColor:d.colorBorderSecondary,backgroundColor:d.colorBgContainer},styles:{body:{padding:d.paddingMD}},children:a.jsxs(He,{direction:"vertical",style:{width:"100%"},size:d.marginSM,children:[a.jsxs(Ee,{align:"center",justify:"space-between",children:[a.jsxs(He,{size:d.marginXS,align:"center",children:[a.jsx(ZS,{style:{color:d.colorWarning}}),a.jsx(Ac,{strong:!0,children:u("components.workflowResult.userWorkflow")}),a.jsx(Je,{color:d.colorWarning,children:t}),a.jsx(Je,{color:xy(r),children:r})]}),a.jsxs(He,{size:"small",children:[a.jsx(wn,{title:u(h?"components.workflowResult.collapseResult":"components.workflowResult.expandResult"),children:S&&a.jsx(Ae,{type:"text",size:"small",icon:h?a.jsx(ex,{}):a.jsx(tx,{}),onClick:()=>m(E=>!E)})}),a.jsx(wn,{title:u("components.workflowResult.copyResult"),children:a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(jr,{}),onClick:j,"aria-label":u("components.workflowResult.copyContent")})}),o&&a.jsx(wn,{title:u("components.workflowResult.retryWorkflow"),children:a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(id,{}),onClick:o,"aria-label":u("components.workflowResult.retryWorkflow")})})]})]}),s&&a.jsx(Ac,{type:"secondary",style:{fontSize:d.fontSizeSM},children:new Date(s).toLocaleString()}),a.jsx(hl,{style:{margin:`${d.marginXS}px 0`}}),l&&a.jsx(or,{type:"error",message:u("components.workflowResult.executionFailed"),description:l,showIcon:!0,style:{marginBottom:d.marginXS}}),a.jsx(Ee,{vertical:!0,style:{width:"100%"},children:v?a.jsx(no,{tip:u("components.workflowResult.waitingForResult")}):b.isJson?a.jsx(dl,{language:"json",style:Gi,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(Ee,{vertical:!0,style:{width:"100%"},children:[a.jsx(hl,{style:{margin:`${d.marginXS}px 0`},children:a.jsxs(He,{size:"small",children:[a.jsx(Ac,{strong:!0,children:u("common.parameters")}),a.jsx(wn,{title:u("components.workflowResult.copyParameters"),children:a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(jr,{}),onClick:C,"aria-label":u("components.workflowResult.copyParameters")})})]})}),T.isJson?a.jsx(dl,{language:"json",style:Gi,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})]})]})})},eb=y.memo(qM);eb.displayName="WorkflowResultCard";const HM=e=>Array.isArray(e)?e.map(t=>String(t??"")):[],YM=({sessionId:e,question:t,options:n,allowCustom:r,toolCallId:s})=>JSON.stringify({sessionId:e??null,question:t??"",options:HM(n),allowCustom:r??!0,toolCallId:s??null}),{Text:Ic}=dt,XM=({sessionId:e,question:t,options:n,allowCustom:r,toolCallId:s,conclusionMarkdown:o,markdownComponents:i,markdownPlugins:l,rehypePlugins:u})=>{const{t:d}=Ve(),[h,m]=y.useState(null),b=y.useMemo(()=>YM({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(Cu,w),()=>{window.removeEventListener(Cu,w)}},[e,b]),a.jsxs(He,{direction:"vertical",size:"middle",style:{width:"100%"},children:[o?a.jsx(xr,{remarkPlugins:l,rehypePlugins:u,components:i,children:o}):null,a.jsxs("div",{children:[a.jsx(Ic,{strong:!0,children:d("components.questionDialog.questionLabel","Question")}),a.jsx("div",{style:{marginTop:8},children:a.jsx(xr,{remarkPlugins:l,rehypePlugins:u,components:i,children:t})})]}),v?a.jsx(Ic,{type:"secondary",children:d("components.questionDialog.responseSubmittedContinue","Response submitted. Continuing...")}):a.jsx(Ic,{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:nr}=dt,KM=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=ao(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}},VM=({sessionId:e,message:t,messageText:n,isUserToolCall:r,formatUserToolCall:s,markdownComponents:o,markdownPlugins:i,rehypePlugins:l})=>{var w;const{t:u}=Ve(),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=vC(S),E=(T==="conclusion_with_options"||T==="exitplanmode"||T==="request_permissions")&&!t.isError&&C,A=T==="conclusion"?yy(S):null;return E&&C?a.jsx(XM,{sessionId:e,question:C.question,options:C.options,allowCustom:C.allow_custom,toolCallId:t.toolCallId,conclusionMarkdown:SC(C.conclusion),markdownComponents:o,markdownPlugins:i,rehypePlugins:l}):A?a.jsx(He,{direction:"vertical",style:{width:"100%"},size:"small",children:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:A})}):a.jsx(Qy,{content:S,toolName:t.toolName,status:t.isError?"error":P?"warning":"success",timestamp:t.createdAt,defaultCollapsed:!j,isLoading:P,errorMessage:k})}if(FP(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(eb,{content:S,workflowName:t.workflowName,parameters:t.parameters,status:P?"warning":t.status??"success",timestamp:t.createdAt,isLoading:P,errorMessage:k})}if(LP(t)){const S=t.toolCalls.filter(k=>!d(k.toolName));return S.length===0?null:a.jsx(jd,{toolCalls:S,metadata:t.metadata,defaultExpanded:!1})}if(t.isAuthError)return a.jsxs(He,{direction:"vertical",style:{width:"100%"},size:"middle",children:[a.jsx(or,{message:u("chat.messageCard.authRequired"),description:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:n}),type:"error",showIcon:!0}),a.jsx(Ae,{type:"primary",icon:a.jsx(jl,{}),onClick:()=>{window.location.hash="/settings"},children:u("chat.messageCard.goToSettings")})]});const{cleanText:h,hints:m}=t.role==="user"?KM(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(nr,{italic:!0,children:u("chat.messageCard.assistantThinking")}):a.jsxs(He,{direction:"vertical",style:{width:"100%"},size:"small",children:[v?a.jsx(io,{size:"small",defaultActiveKey:["reasoning"],items:[{key:"reasoning",label:a.jsx(nr,{strong:!0,children:u("chat.messageCard.reasoning")}),children:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:b})}]}):null,m.map((S,k)=>S.type==="mcp"?a.jsx(or,{type:"info",showIcon:!1,message:a.jsxs(He,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"purple",children:"MCP"}),a.jsx(nr,{strong:!0,children:u("chat.messageCard.selectedTool")}),S.serverId&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.serverId})}),S.toolName&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.toolName})})]}),style:{marginBottom:0}},`hint-mcp-${k}`):a.jsx(or,{type:"success",showIcon:!1,message:a.jsxs(He,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"success",children:"Skill"}),a.jsx(nr,{strong:!0,children:u("chat.messageCard.selected")}),S.label&&a.jsx(nr,{children:S.label}),S.skillId&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.skillId})})]}),style:{marginBottom:0}},`hint-skill-${k}`)),h?a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:r?s(h):h}):null]})},GM=y.memo(VM),{Text:Oc}=dt,JM=({role:e,formattedTimestamp:t,token:n})=>{const{t:r}=Ve(),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(Ee,{align:"center",justify:"space-between",gap:n.marginXS,style:{marginBottom:n.marginXS},children:[a.jsxs(Ee,{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(Ee,{vertical:!0,gap:0,children:[a.jsx(Oc,{strong:!0,style:{fontSize:13,color:s?"var(--lotus-primary)":n.colorText,letterSpacing:"0.2px",lineHeight:1.1},children:l}),a.jsx(Oc,{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(Oc,{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})]})},Rd=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},QM=e=>e==="text"||e==="plan"||e==="question"||e==="tool_call"||e==="tool_result",ZM=(e,t)=>{if(t)return t;if("message_type"in e&&e.message_type){const n=e.message_type;if(QM(n))return n}if(e.role==="assistant"&&e.type==="text"){const n=typeof e.content=="string"?e.content:"";try{const r=Rd(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"},ej=(e,t)=>{if(t!=="plan"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Rd(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},tj=(e,t)=>{if(t!=="question"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Rd(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},tb=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"?yy(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""},nj=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}`},ap=e=>e.map(t=>({name:t.name,extensions:[...t.extensions]})),lp=e=>e.trim().slice(0,64).replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/-+/g,"-")||"message",rj={},sj='[data-mermaid-loading="true"]';class nb{static async exportMessageText(t){const{format:n,content:r,sessionId:s=null,messageId:o=null,filenamePrefix:i}=t,l=i||["chat-message",s?lp(s.slice(0,8)):null,o?lp(o.slice(0,8)):null].filter(Boolean).join("-"),u=n==="markdown"?vr.generateTimestampedFilename(l,"md"):vr.generateTimestampedFilename(l,"pdf");if(n==="markdown"){const d=await vr.saveTextFile(r,ap(vr.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 vr.saveBinaryFile(d,ap(vr.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:wt.t("chat.messageActions.exportFailed")}}}static async generatePdfFromText(t){if(typeof document>"u")throw new Error(wt.t("chat.messageActions.pdfUnavailable"));const n=(await Gt(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 Gt(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 Gt(async()=>{const{createRoot:v}=await import("./main-CEmqYfJe.js").then(w=>w.c);return{createRoot:v}},__vite__mapDeps([5,4,3,2,1,6]),import.meta.url),{flushSync:o}=await Gt(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=Jy(rj,{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=wt.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}},VM=({sessionId:e,message:t,messageText:n,isUserToolCall:r,formatUserToolCall:s,markdownComponents:o,markdownPlugins:i,rehypePlugins:l})=>{var w;const{t:u}=Ve(),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=vC(S),E=(T==="conclusion_with_options"||T==="exitplanmode"||T==="request_permissions")&&!t.isError&&C,A=T==="conclusion"?yy(S):null;return E&&C?a.jsx(XM,{sessionId:e,question:C.question,options:C.options,allowCustom:C.allow_custom,toolCallId:t.toolCallId,conclusionMarkdown:SC(C.conclusion),markdownComponents:o,markdownPlugins:i,rehypePlugins:l}):A?a.jsx(He,{direction:"vertical",style:{width:"100%"},size:"small",children:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:A})}):a.jsx(Qy,{content:S,toolName:t.toolName,status:t.isError?"error":P?"warning":"success",timestamp:t.createdAt,defaultCollapsed:!j,isLoading:P,errorMessage:k})}if(FP(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(eb,{content:S,workflowName:t.workflowName,parameters:t.parameters,status:P?"warning":t.status??"success",timestamp:t.createdAt,isLoading:P,errorMessage:k})}if(LP(t)){const S=t.toolCalls.filter(k=>!d(k.toolName));return S.length===0?null:a.jsx(jd,{toolCalls:S,metadata:t.metadata,defaultExpanded:!1})}if(t.isAuthError)return a.jsxs(He,{direction:"vertical",style:{width:"100%"},size:"middle",children:[a.jsx(or,{message:u("chat.messageCard.authRequired"),description:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:n}),type:"error",showIcon:!0}),a.jsx(Ae,{type:"primary",icon:a.jsx(jl,{}),onClick:()=>{window.location.hash="/settings"},children:u("chat.messageCard.goToSettings")})]});const{cleanText:h,hints:m}=t.role==="user"?KM(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(nr,{italic:!0,children:u("chat.messageCard.assistantThinking")}):a.jsxs(He,{direction:"vertical",style:{width:"100%"},size:"small",children:[v?a.jsx(io,{size:"small",defaultActiveKey:["reasoning"],items:[{key:"reasoning",label:a.jsx(nr,{strong:!0,children:u("chat.messageCard.reasoning")}),children:a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:b})}]}):null,m.map((S,k)=>S.type==="mcp"?a.jsx(or,{type:"info",showIcon:!1,message:a.jsxs(He,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"purple",children:"MCP"}),a.jsx(nr,{strong:!0,children:u("chat.messageCard.selectedTool")}),S.serverId&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.serverId})}),S.toolName&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.toolName})})]}),style:{marginBottom:0}},`hint-mcp-${k}`):a.jsx(or,{type:"success",showIcon:!1,message:a.jsxs(He,{wrap:!0,size:"small",children:[a.jsx(Je,{color:"success",children:"Skill"}),a.jsx(nr,{strong:!0,children:u("chat.messageCard.selected")}),S.label&&a.jsx(nr,{children:S.label}),S.skillId&&a.jsx(nr,{type:"secondary",children:a.jsx(nr,{code:!0,children:S.skillId})})]}),style:{marginBottom:0}},`hint-skill-${k}`)),h?a.jsx(xr,{remarkPlugins:i,rehypePlugins:l,components:o,children:r?s(h):h}):null]})},GM=y.memo(VM),{Text:Oc}=dt,JM=({role:e,formattedTimestamp:t,token:n})=>{const{t:r}=Ve(),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(Ee,{align:"center",justify:"space-between",gap:n.marginXS,style:{marginBottom:n.marginXS},children:[a.jsxs(Ee,{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(Ee,{vertical:!0,gap:0,children:[a.jsx(Oc,{strong:!0,style:{fontSize:13,color:s?"var(--lotus-primary)":n.colorText,letterSpacing:"0.2px",lineHeight:1.1},children:l}),a.jsx(Oc,{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(Oc,{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})]})},Rd=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},QM=e=>e==="text"||e==="plan"||e==="question"||e==="tool_call"||e==="tool_result",ZM=(e,t)=>{if(t)return t;if("message_type"in e&&e.message_type){const n=e.message_type;if(QM(n))return n}if(e.role==="assistant"&&e.type==="text"){const n=typeof e.content=="string"?e.content:"";try{const r=Rd(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"},ej=(e,t)=>{if(t!=="plan"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Rd(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},tj=(e,t)=>{if(t!=="question"||e.role!=="assistant"||e.type!=="text")return null;const n=e.content??"";try{const r=Rd(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},tb=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"?yy(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""},nj=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}`},ap=e=>e.map(t=>({name:t.name,extensions:[...t.extensions]})),lp=e=>e.trim().slice(0,64).replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/-+/g,"-")||"message",rj={},sj='[data-mermaid-loading="true"]';class nb{static async exportMessageText(t){const{format:n,content:r,sessionId:s=null,messageId:o=null,filenamePrefix:i}=t,l=i||["chat-message",s?lp(s.slice(0,8)):null,o?lp(o.slice(0,8)):null].filter(Boolean).join("-"),u=n==="markdown"?vr.generateTimestampedFilename(l,"md"):vr.generateTimestampedFilename(l,"pdf");if(n==="markdown"){const d=await vr.saveTextFile(r,ap(vr.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 vr.saveBinaryFile(d,ap(vr.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:wt.t("chat.messageActions.exportFailed")}}}static async generatePdfFromText(t){if(typeof document>"u")throw new Error(wt.t("chat.messageActions.pdfUnavailable"));const n=(await Gt(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 Gt(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 Gt(async()=>{const{createRoot:v}=await import("./main-Bx_fLxV8.js").then(w=>w.c);return{createRoot:v}},__vite__mapDeps([5,4,3,2,1,6]),import.meta.url),{flushSync:o}=await Gt(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=Jy(rj,{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=wt.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},Lp="_text",El=e=>!!(e&&e.role==="assistant"&&"type"in e&&e.type==="text"),Fp=(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(Lp)){const o=e.slice(0,-Lp.length);if(o&&n.some(i=>i.id===o))return o}return e},yR=(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},bR=e=>(e instanceof Error?e.message:String(e)).toLowerCase().includes("message not found"),vR=(e,t,n,r)=>{const s=e.find(o=>o.id===t);return El(s)?s:e.find(o=>El(o)&&(o.content===n||yR(o.content,r)))},SR=(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
|
-
`)},xR=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 mR().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:SR(e,n)}],temperature:0})).choices)==null?void 0:l[0])==null?void 0:u.message)==null?void 0:d.content)??"";return Tv(i)},wR=(e,t)=>{const n=Fk(),r=Dk(),s=(r==null?void 0:r.model)??n;return y.useCallback(async(o,i)=>{const l=se.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(!El(h))throw new Error("Mermaid fix is only available for assistant text messages");const m=await xR(o,s,i);if(!m)throw new Error("AI did not return a Mermaid fix");const b=gR(h.content,o,m);if(!b)throw new Error("Unable to locate Mermaid block to update");let v=Fp(e,h,d.messages);try{await Js.patchSessionMessage(u,v,{content:b})}catch(T){if(!bR(T))throw T;await l.loadChatHistory(u,{mode:"replace",retries:2,retryDelayMs:150,waitForAssistant:!0});const C=se.getState().chats.find(A=>A.id===u);if(!C)throw T;const E=vR(C.messages,e,h.content,o);if(!E)throw T;v=Fp(E.id,E,C.messages),await Js.patchSessionMessage(u,v,{content:b})}const w=se.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)||!El(T)?T:{...T,content:b});w.updateSession(u,{messages:P})},[e,t,s])},_R=e=>e.xs?"100%":e.sm?"95%":"800px",kR=[{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:"}],CR=({messageId:e,isVisible:t,onRetryWithVariation:n})=>{const{t:r}=Ve(),[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(wn,{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(sx,{}):a.jsx(ox,{})})}),a.jsx(wn,{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(ix,{}):a.jsx(ax,{})})}),i&&n&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"lotus-msg-feedback-sep"}),a.jsx("span",{className:"lotus-msg-feedback-retry",children:kR.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:TR}=ct,{useBreakpoint:PR}=Rl,ER="chat-send-message",MR=({sessionId:e,message:t,onDelete:n,messageType:r})=>{const{role:s,id:o}=t,{token:i}=TR(),l=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:u}=Ve(),{message:d}=Dn.useApp(),h=PR(),m=se(ue=>ue.updateSession),b=se(ue=>ue.loadChatHistory),v=se(ue=>ue.refreshChats),w=y.useRef(null),[S,k]=y.useState(!1),P=se(Zi(e)),T=y.useCallback(ue=>typeof window>"u"?Promise.reject(new Error("window is unavailable")):new Promise((ke,De)=>{const We={content:ue,sessionId:e,handled:!1,resolve:ke,reject:De};window.dispatchEvent(new CustomEvent(ER,{detail:We})),We.handled||De(new Error("No chat message dispatcher available"))}),[e]),j=y.useMemo(()=>{if(!t.createdAt)return null;const ue=new Date(t.createdAt);if(Number.isNaN(ue.getTime()))return null;try{return PP(ue,"MMM d, yyyy HH:mm")}catch{return ue.toLocaleString()}},[t.createdAt]),C=y.useMemo(()=>ZM(t,r),[t,r]),E=y.useMemo(()=>ej(t,C),[t,C]),A=y.useMemo(()=>tj(t,C),[t,C]),L=y.useMemo(()=>tb(t),[t]),F=wR(o,e),N=y.useCallback(async ue=>{var ke;if(!e||!o){d.warning(u("chat.messageActions.cannotRestore"));return}try{const De=await Js.restoreSessionState(e,{target_message_id:o,restore_files:ue});await b(e,{mode:"replace"}),await v();const We=((ke=De.file_errors)==null?void 0:ke.length)??0;if(We>0){d.warning(u("chat.messageActions.restorePartial",{count:We}));return}ue?d.success(u("chat.messageActions.restoreFilesSuccess",{count:De.messages_removed})):d.success(u("chat.messageActions.restoreSuccess",{count:De.messages_removed}))}catch(De){const We=De instanceof Error?De.message:u("chat.messageActions.restoreFailed");d.error(We)}},[d,e,b,o,v,u]),B=y.useCallback(()=>{N(!1)},[N]),U=y.useCallback(()=>{N(!0)},[N]),{contextMenuItems:$,handleMouseUp:ee,copyToClipboard:J,referenceMessage:Q}=oj({messageText:L,messageId:o,currentSessionId:e,onDelete:n,onRestoreChat:B,onRestoreFilesAndChat:U,cardRef:w}),pe=y.useMemo(()=>s==="user"&&L.startsWith("/"),[s,L]),I=y.useMemo(()=>Jy(void 0,{onFixMermaid:F}),[F]),ie=y.useMemo(()=>[nd,rd],[]),be=y.useMemo(()=>[td],[]),oe=y.useMemo(()=>[OP(()=>J(L),u("chat.actions.copyMessage")),$P(Q,u("chat.actions.referenceMessage"))],[L,J,Q,u]),{handleExecutePlan:ge,handleRefinePlan:de,handleQuestionAnswer:le}=ij({currentSessionId:e,updateSession:m,sendMessage:T});return C==="plan"&&E&&s==="assistant"?a.jsx(jy,{plan:E,contextId:e||"",onExecute:ge,onRefine:de,timestamp:j??void 0}):C==="question"&&A&&s==="assistant"?a.jsx(Ry,{question:A,contextId:e||"",onAnswer:le,disabled:P||!1,timestamp:j??void 0}):NP(t)?a.jsx(XP,{taskList:t.taskList}):DP(t)?(je("[MessageCard]","[MessageCard] Rendering FileReferenceCard for message:",t.id,"paths:",t.paths),a.jsx(Ee,{justify:"flex-end",style:{width:"100%"},children:a.jsx(Ay,{paths:t.paths,displayText:t.displayText,timestamp:j??void 0})})):a.jsxs(Ee,{vertical:!0,onContextMenu:ue=>ee(ue),style:{width:"100%"},children:[a.jsx(eo,{menu:{items:$},trigger:["contextMenu"],children:a.jsx(tn,{"data-testid":s==="assistant"?"assistant-message":"user-message",id:o?`message-${o}`:void 0,ref:w,style:{width:"100%",minWidth:"100%",maxWidth:_R(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(He,{direction:"vertical",size:i.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(JM,{role:s,formattedTimestamp:j,token:i}),t.role==="user"&&t.images&&a.jsx(jP,{images:t.images}),a.jsx(Ee,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:a.jsx(GM,{sessionId:e,message:t,messageText:L,isUserToolCall:pe,formatUserToolCall:nj,markdownComponents:I,markdownPlugins:ie,rehypePlugins:be})}),a.jsx(IP,{isVisible:S,position:{bottom:i.paddingXS,right:i.paddingXS},buttons:oe})]})})}),s==="assistant"&&C==="text"&&o&&a.jsx(CR,{messageId:o,isVisible:S})]})},Pv=y.memo(MR,(e,t)=>e.message===t.message&&e.messageType===t.messageType&&e.onDelete===t.onDelete);Pv.displayName="MessageCard";const{Text:Bi}=dt,{useToken:jR}=ct,Ai=8,Hc=4,RR=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"]),AR=(e,t)=>a.jsx(tn,{size:"small",styles:{body:{padding:0}},style:{position:"relative",maxWidth:"100%",overflow:"auto",marginBottom:Ai,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})})}),IR=e=>({p:({children:t})=>a.jsx(Bi,{style:{marginBottom:Ai,display:"block"},children:t}),ol:({children:t})=>a.jsx("ol",{style:{marginBottom:Ai,paddingLeft:20},children:t}),ul:({children:t})=>a.jsx("ul",{style:{marginBottom:Ai,paddingLeft:20},children:t}),li:({children:t})=>a.jsx("li",{style:{marginBottom:Hc},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(Bi,{code:!0,className:t,...s,children:n});if(!u.trim())return null;const d=i.toLowerCase();return RR.has(d)?AR(u,e):Vy(i,u,void 0,void 0)},pre:({children:t})=>a.jsx(a.Fragment,{children:t}),blockquote:({children:t})=>a.jsx(tn,{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:`${Hc}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(),Gy(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(tn,{size:"small",styles:{body:{padding:0}},style:{overflow:"auto",margin:`${Ai}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:Hc,accentColor:"var(--ant-color-primary, #0d9488)"},readOnly:!0}):a.jsx("input",{type:t,checked:n,disabled:r})}),Ev=y.memo(({sessionId:e})=>{const{token:t}=jR(),n=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:r}=Ve(),s=`streaming-${e}`,o=`streaming-reasoning-${e}`,i=`streaming-status-${e}`,[l,u]=y.useState(()=>Tt.getLatest(s)??""),[d,h]=y.useState(()=>Tt.getLatest(o)??""),[m,b]=y.useState(()=>Tt.getLatest(i)??"");y.useEffect(()=>{let P=null,T=null;const j=Tt.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=Tt.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=Tt.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(()=>[nd,rd],[]),S=y.useMemo(()=>[td],[]),k=y.useMemo(()=>IR(t),[t]);return a.jsx(tn,{"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(He,{direction:"vertical",size:t.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(Ee,{align:"baseline",justify:"space-between",gap:t.marginXS,children:a.jsx(Bi,{type:"secondary",strong:!0,style:{fontSize:t.fontSizeSM},children:r("chat.streaming.assistant")})}),a.jsxs(Ee,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:[d?a.jsx(io,{size:"small",defaultActiveKey:["reasoning"],style:{marginBottom:t.marginSM,background:t.colorBgContainer,borderColor:t.colorBorderSecondary},items:[{key:"reasoning",label:a.jsx(Bi,{strong:!0,children:r("chat.messageCard.reasoning")}),children:a.jsx(xr,{remarkPlugins:w,rehypePlugins:S,components:k,children:d})}]}):null,!l||m?a.jsx(Bi,{italic:!0,className:"thinking-shimmer",children:v}):null,l?a.jsx(xr,{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}})]})]})})});Ev.displayName="StreamingMessageCard";const{Text:Ka}=dt,OR="chat-session-tool-collapse:",Mv=(e,t)=>`${OR}${e}:${t}`,Dp=(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}},$R=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{}},LR="synthetic-tool-call:",FR=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(LR)&&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)},DR=e=>{const t=new Set;return e.forEach(n=>{FR(n).forEach(r=>t.add(r))}),Array.from(t)},NR=({tools:e,sessionId:t,defaultExpanded:n=!1,autoCollapseWhenStale:r=!1,onDeleteMessageIds:s})=>{const{t:o}=Ve(),{token:i}=ct.useToken(),l=y.useMemo(()=>{var L,F,N,B;const C=e[0],E=(F=(L=C==null?void 0:C.call)==null?void 0:L.toolCalls)==null?void 0:F[0];return`${(C==null?void 0:C.callMessageId)||((N=C==null?void 0:C.call)==null?void 0:N.id)||(C==null?void 0:C.resultMessageId)||((B=C==null?void 0:C.result)==null?void 0:B.id)||"tool-message-missing"}:${(E==null?void 0:E.toolCallId)||"tool-call-missing"}`},[e]),[u,d]=y.useState(()=>{const C=Dp(t,l);return C?C.isExpanded:n});y.useEffect(()=>{const C=Dp(t,l);d(C?C.isExpanded:n),Hn.getInstance().loadToolSessionCollapse(t,l).then(A=>{A&&d(A.isExpanded)}).catch(()=>{})},[n,t,l]),y.useEffect(()=>{$R(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(L=>{L.result?(C++,L.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(L=>{var B,U;const F=(U=(B=L.result)==null?void 0:B.result)==null?void 0:U.result;if(!F)return;const N=Cd(F);N&&(C+=N.added,E+=N.removed,A+=1)}),{added:C,removed:E,changedTools:A}},[e]),k=y.useMemo(()=>{const C=e.map(L=>{var B,U;const F=(U=(B=L.call)==null?void 0:B.toolCalls)==null?void 0:U[0];if(!F)return null;const N=ao(F.toolName);return N?N.toolName:F.toolName||null}).filter(L=>!!L);if(C.length===0)return o("components.toolSession.title");if(C.length===1)return C[0];const E=C.filter((L,F)=>F===0||L!==C[F-1]),A=3;return E.length<=A?E.join(" → "):`${E.slice(0,A).join(" → ")} +${E.length-A}`},[e,o]),P=y.useMemo(()=>DR(e),[e]),T=a.jsx(jd,{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(ad,{style:{color:i.colorPrimary}}),a.jsx(Ka,{strong:!0,style:{flex:1},children:k}),a.jsx(lx,{count:e.length,style:{backgroundColor:i.colorPrimary}}),S.changedTools>0&&a.jsxs(He,{size:4,style:{marginInlineStart:i.marginXS},children:[a.jsxs(Ka,{style:{color:i.colorSuccess,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["+",S.added]}),a.jsxs(Ka,{style:{color:i.colorError,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["-",S.removed]})]}),a.jsx(Ka,{type:"secondary",style:{fontSize:i.fontSizeSM},children:w.text}),s&&a.jsx(wn,{title:P.length>0?o("components.toolSession.deleteMessage"):o("components.toolSession.noPersistedMessage"),children:a.jsx(Ae,{type:"text",size:"small",danger:!0,icon:a.jsx(Ml,{}),"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(ws,{style:{color:i.colorTextSecondary}}):a.jsx(Kr,{style:{color:i.colorTextSecondary}})})]}),u&&T]})},jv=y.memo(NR);jv.displayName="ToolSessionCard";const{Content:BR}=Xs,{Text:Np}=dt,Bp=120,zR=140,WR=220,UR=140,qR=72,zp=68,HR=84,YR=720,XR=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};function Wp(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:e.message.id}function KR(e,t){const n=e[t];if(!n)return Bp;if("type"in n){if(n.type==="compression_divider")return qR;if(n.type==="tool_session"){if(!(t===e.length-1))return zp;const o=zp+Math.min(n.tools.length,8)*HR;return Math.min(YR,o)}}const r="message"in n?n.message:void 0;return r?r.role==="system"?UR:r.role==="user"?zR:WR:Bp}const VR=({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}=Ve(),E=y.useRef(d);E.current=d;const A=y.useCallback(ee=>{const J=E.current[ee];return J?Wp(J):String(ee)},[]),L=y.useCallback(ee=>KR(E.current,ee),[]),F=hT({count:d.length,getScrollElement:()=>l.current,estimateSize:L,overscan:5,gap:h,getItemKey:A}),N=(ee,J)=>{if(!k)return null;const Q=T.has(ee);return a.jsx(cx,{checked:P.has(ee),disabled:!Q,onChange:()=>{Q&&j(ee)},style:{marginTop:8,marginLeft:J==="flex-end"?8:0,marginRight:J==="flex-start"?8:0}})},B=(ee,J)=>{const Q=n(ee),pe=J===void 0||J===d.length-1;if(Q.type==="compression_divider"){const I=XR(Q.createdAt);return a.jsx("div",{role:"note","aria-label":C("chat.compression.timelineAria",{detail:Q.label,time:I,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(Ee,{align:"center",justify:"space-between",gap:8,wrap:!0,children:[a.jsxs(Ee,{align:"center",gap:8,wrap:!0,children:[a.jsx(Je,{color:"gold",icon:a.jsx(xg,{}),children:C("chat.compression.tag","Context compressed")}),a.jsx(Np,{strong:!0,style:{fontSize:12},children:Q.label})]}),a.jsx(Np,{type:"secondary",style:{fontSize:11},children:I})]})})}return Q.type==="tool_session"?a.jsx(Ee,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{id:`message-${Q.id}`,style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(jv,{tools:Q.tools,sessionId:Q.sessionId,createdAt:Q.createdAt,defaultExpanded:pe,autoCollapseWhenStale:!pe,onDeleteMessageIds:t?s:void 0})})}):Q.message.role==="system"?a.jsxs(Ee,{align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[N(Q.message.id,"flex-start"),a.jsx("div",{style:{flex:1,minWidth:0},children:a.jsx(ky,{currentChat:e,message:Q.message})})]}):a.jsxs(Ee,{justify:Q.align,align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[Q.align==="flex-start"&&N(Q.message.id,Q.align),a.jsx("div",{style:{width:Q.message.role==="user"?"85%":"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Pv,{sessionId:t,message:Q.message,messageType:Q.messageType,onDelete:Q.message.id===v?void 0:r})}),Q.align==="flex-end"&&N(Q.message.id,Q.align)]})},U=(m||i)&&d.length>0,$=F.getVirtualItems();return a.jsx(BR,{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:[U&&a.jsx("div",{style:{position:"relative",width:"100%",height:F.getTotalSize()},children:$.map(ee=>{const J=d[ee.index];if(!J)return null;const Q=Wp(J);return a.jsx("div",{"data-chat-entry-id":Q,"data-index":ee.index,ref:F.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${ee.start}px)`},children:a.jsx("div",{className:"messageEnter",children:B(J,ee.index)})},ee.key)})}),w&&t&&a.jsx("div",{className:"streaming-card-enter",children:a.jsx(Ee,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Ev,{sessionId:t})})})}),a.jsx("div",{ref:u,"data-chat-bottom-anchor":"true","aria-hidden":"true",style:{width:"100%",height:1,flexShrink:0}})]})})};function Rv(e){return typeof e.maxContextTokens=="number"&&e.maxContextTokens>0?e.maxContextTokens:e.budgetLimit>0?e.budgetLimit:0}function Av(e){const t=Rv(e);return t===0?0:e.totalTokens/t*100}function GR(e){const t=Av(e);return t>=90?"error":t>=70?"warning":t>=50?"success":"default"}function Lo(e){return e.toLocaleString()}function zI(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 JR=({usage:e,showDetails:t=!0,size:n="small",className:r=""})=>{const{t:s}=Ve(),o=Rv(e),i=Av(e),l=m=>{const b=Math.round(m*10)/10;return Number.isInteger(b)?b.toFixed(0):b.toFixed(1)},u=GR(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"),":"," ",Lo(e.totalTokens)," / ",Lo(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"),": ",Lo(e.systemTokens)]}),e.summaryTokens>0&&a.jsxs("div",{children:[s("components.tokenUsage.summary"),": ",Lo(e.summaryTokens)]}),a.jsxs("div",{children:[s("components.tokenUsage.messages"),": ",Lo(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(wn,{title:h,placement:"top",arrow:!0,children:a.jsxs(He,{className:`token-usage-display ${r}`,size:4,align:"center",style:{lineHeight:1},children:[a.jsx(vg,{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),"%"]})]})})},Xu="chat_scroll_anchors_v1",Iv="chat_scroll_anchor_v2:";function Ov(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 QR(){try{const e=localStorage.getItem(Xu);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[r,s]of Object.entries(t))Ov(s)&&(n[r]=s);return n}catch{return{}}}function ZR(e){const t=QR(),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(Xu):localStorage.setItem(Xu,JSON.stringify(t))}catch{}return n}async function eA(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(`${Iv}${e}`);if(t){const n=JSON.parse(t);if(Ov(n))return Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),n}}catch{}return ZR(e)}async function tA(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(`${Iv}${e}`,JSON.stringify(t))}catch{}}}const Yc=1,nA=3,rA=2e3;function sA(e,t){const n=Math.max(0,e.scrollHeight-e.clientHeight);return Math.min(Math.max(0,t),n)}function oA(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=sA(t,t.scrollTop+(w-r));if(Math.abs(t.scrollTop-S)>Yc)t.scrollTop=S,l=0;else{const P=Number.isFinite(d)?Math.abs(S-d)<=Yc:!1,T=Math.abs(t.scrollTop-u)<=Yc;l=P&&T?l+1:0}d=S,u=t.scrollTop;const k=performance.now()-i>rA;if(l>=nA||k){o();return}requestAnimationFrame(h)};requestAnimationFrame(h)})}const iA=300,aA=.5;function lA(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 $v(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 Up(e){if(!e)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function cA(e,t){const n=Up(e.createdAt);if(n!=null){let r=null,s=Number.POSITIVE_INFINITY;for(let o=0;o<t.length;o++){const i=Up($v(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 Zd(e){return Array.from(e.querySelectorAll("[data-chat-entry-id]"))}function uA(e,t){const n=Zd(e);for(const r of n)if(r.dataset.chatEntryId===t)return r;return null}function dA(e,t){const n=Zd(e);if(n.length===0)return null;const r=Math.max(0,Math.min(n.length-1,t));return n[r]??null}function fA(e){const t=Zd(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 hA(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=lA(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=fA(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?$v(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)<=aA||(await tA(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(()=>{})},iA)},[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 eA(t).then(k=>{if(S||!k){S||s.current.add(t);return}const P=h.get(k.anchorId),T=typeof P=="number"?P:cA(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;oA({scrollEl:w,getAnchorElement:()=>uA(w,k.anchorId)??dA(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 qp=2,Hp=6,Xc=150,pA="streaming-",mA="streaming-reasoning-",gA="streaming-status-",yA=e=>e.startsWith(pA)&&!e.startsWith(mA)&&!e.startsWith(gA),bA=({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}=hA({currentSessionId:e,messagesListRef:n,renderableMessages:s}),C=y.useCallback(()=>{P.current.clear(),h(!1),b(0)},[]),E=y.useCallback($=>{if($<=0)return 0;const ee=P.current;if(ee.size===0)return $;let J=$;for(const Q of Array.from(ee)){if(J<=0)break;ee.delete(Q),J-=1}return J},[]),A=y.useCallback(()=>{const $=n.current;if(!$||s.length===0)return i(!1),u(!1),C(),null;const ee=Math.max(0,$.scrollHeight-$.scrollTop-$.clientHeight),J=ee<=Xc,Q=$.scrollTop<=Xc;return i(!J),u(!Q&&s.length>3),J&&(w.current=!0,C()),{atBottom:J,distanceFromBottom:ee}},[C,n,s.length]),L=y.useCallback($=>{const ee=A();ee&&(ee.distanceFromBottom>Xc?(v.current=!0,w.current=!1):ee.atBottom&&(v.current=!1,w.current=!0,C()),j($))},[C,A,j]),F=y.useCallback($=>{cancelAnimationFrame(T.current);const ee=n.current,J=r.current;if(!ee||!J||s.length===0)return;const Q=($==null?void 0:$.behavior)??"smooth";let pe=0,I=Number.NaN;const ie=()=>{T.current=0,v.current=!1,w.current=!0,C(),A()},be=()=>{const oe=n.current,ge=r.current;if(!oe||!ge)return;const de=Math.max(0,oe.scrollHeight-oe.scrollTop-oe.clientHeight),le=ge.getBoundingClientRect(),ue=oe.getBoundingClientRect(),ke=le.top-ue.top,De=!Number.isFinite(I)||Math.abs(ke-I)>.5,We=de>qp||De||pe===0;if(We&&ge.scrollIntoView({block:"end",behavior:pe===0?Q:"auto"}),I=ke,pe+=1,pe<Hp&&We){T.current=requestAnimationFrame(be);return}ie()};T.current=requestAnimationFrame(be)},[r,C,n,A,s.length]),N=y.useCallback(()=>{if(!n.current)return;let ee=0;const J=()=>{A()},Q=()=>{const pe=n.current;if(!pe)return;const I=pe.scrollTop>qp||ee===0;if(I&&pe.scrollTo({top:0,behavior:"auto"}),ee+=1,ee<Hp&&I){requestAnimationFrame(Q);return}J()};requestAnimationFrame(Q)},[n,A]),B=y.useCallback(()=>{v.current=!1,w.current=!0,C()},[C]);y.useEffect(()=>{const $=ee=>{var de,le;const Q=(de=ee.detail)==null?void 0:de.messageId;if(!Q){console.error("No messageId provided for navigation");return}const pe=s.findIndex(ue=>"message"in ue&&ue.message?ue.message.id===Q:"id"in ue?ue.id===Q:!1);if(pe===-1){console.warn("Message not found for navigation:",Q);return}const I=s[pe],ie=I&&"message"in I?I.message.id:I&&"id"in I?I.id:Q,be=document.getElementById(`message-${ie}`),oe=Array.from(((le=n.current)==null?void 0:le.querySelectorAll("[data-chat-entry-id]"))||[]),ge=be||oe.find(ue=>ue.dataset.chatEntryId===ie);if(!ge){console.warn("Message element not found for navigation:",Q);return}ge.scrollIntoView({behavior:"smooth",block:"center"}),ge.classList.add("highlight-message"),setTimeout(()=>{ge.classList.remove("highlight-message")},2e3)};return window.addEventListener("navigate-to-message",$),()=>{window.removeEventListener("navigate-to-message",$)}},[n,s]);const U=y.useRef(t);return y.useEffect(()=>{!U.current&&t&&(B(),F()),U.current=t},[t,B,F]),y.useEffect(()=>Tt.subscribe($=>{var ee;if($.sessionId===e){if(v.current){(((ee=$.content)==null?void 0:ee.trim())??"")&&yA($.messageId)&&(P.current.has($.messageId)||(P.current.add($.messageId),b(Q=>Q+1)),h(!0)),A();return}if(!$.content){A();return}F()}}),[e,A,F]),y.useEffect(()=>{const $=s.length,ee=k.current,J=$>ee;if($===0){C(),A(),k.current=$;return}if(S.current){A(),S.current=!1,k.current=$;return}if(J&&v.current){const Q=E($-ee);h(!0),Q>0&&b(pe=>pe+Q)}!v.current&&J?F():A(),k.current=$},[C,E,A,s.length,F]),y.useEffect(()=>{const $=n.current;if(!$||typeof ResizeObserver>"u")return;let ee=0,J=!1;const Q=()=>{cancelAnimationFrame(ee);const be=w.current;ee=requestAnimationFrame(()=>{if(J&&be&&!v.current){F({behavior:"auto"});return}A()})},pe=new ResizeObserver(()=>{J=!0,Q()});pe.observe($);const I=$.firstElementChild;I instanceof HTMLElement&&pe.observe(I);const ie=r.current;return ie instanceof HTMLElement&&pe.observe(ie),Q(),()=>{cancelAnimationFrame(ee),pe.disconnect()}},[r,e,n,A,s.length,F]),y.useEffect(()=>{if(!n.current||s.length===0){A();return}A();let ee=0;const J=requestAnimationFrame(()=>{A(),ee=requestAnimationFrame(()=>{A()})});return()=>{cancelAnimationFrame(J),cancelAnimationFrame(ee)}},[n,s.length,e,A]),y.useEffect(()=>{S.current=!0,v.current=!1,w.current=!1,k.current=0,C()},[C,e]),{handleMessagesScroll:L,hasUnreadActivity:d,resetUserScroll:B,scrollToBottom:F,scrollToTop:N,showScrollToBottom:o,showScrollToTop:l,unreadCount:m}};function vA(e){return"type"in e&&e.type==="tool_session"}function SA(e){return"type"in e&&e.type==="compression_divider"}const Yp=e=>{const t=Date.parse(e||"");return Number.isFinite(t)?t:Number.MAX_SAFE_INTEGER},xA=e=>"type"in e?e.createdAt:e.message.createdAt,wA=e=>!("type"in e)&&e.message.role==="system";function _A(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_call"}function kA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_result"}const Xp=e=>(e??"").trim().toLowerCase()==="conclusion",CA=e=>{const t=(e??"").trim().toLowerCase();return t==="conclusion_with_options"||t==="exitplanmode"||t==="request_permissions"},TA=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"},PA=(e,t)=>{var n;return e.call.id||e.callMessageId||e.resultMessageId||((n=e.result)==null?void 0:n.id)||`tool-message-missing-${t}`},EA=(e,t)=>`tool-session-${PA(e,t)}:${TA(e)}`;function MA(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(_A(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(Xp(u.toolName)){r.add(h);return}if(CA(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(kA(i)){const l=i.toolCallId;if(l&&r.has(l)){r.delete(l),t.push(i);continue}if(Xp(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 jA=(e,t)=>{var l;const{t:n}=Ve(),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(SA(u))return{type:"compression_divider",id:u.id,createdAt:u.createdAt,label:u.label};if(vA(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=MA(u),h=[];d.forEach((k,P)=>{var C,E;if(Array.isArray(k)){const A=k[0];h.push({type:"tool_session",id:A?EA(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=>!wA(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=Yp(k.createdAt),j=h.findIndex((C,E)=>E>=w&&Yp(xA(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:RA}=dt,AA=({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(Ee,{align:"center",justify:"space-between",wrap:"wrap",gap:8,children:[a.jsx(RA,{type:"secondary",children:w("chat.selectionToolbar.selectedCount",{selected:n,total:r})}),a.jsxs(He,{size:8,wrap:!0,children:[a.jsx(Ae,{size:"small",onClick:h,children:w("chat.selectionToolbar.selectAll")}),a.jsx(Ae,{size:"small",onClick:m,children:w("chat.selectionToolbar.clear")}),a.jsx(Ae,{size:"small",icon:a.jsx(to,{}),onClick:b,disabled:n===0,children:w("chat.selectionToolbar.exportMarkdown")}),a.jsx(Ae,{size:"small",type:"primary",icon:a.jsx(to,{}),onClick:v,disabled:n===0,children:w("chat.selectionToolbar.exportPdf")}),a.jsx(Ae,{size:"small",icon:a.jsx(Ts,{}),onClick:d,children:w("chat.selectionToolbar.done")})]})]}):a.jsx(Ee,{justify:"flex-end",children:a.jsx(wn,{title:w("chat.selectionToolbar.selectMessages"),children:a.jsx(Ae,{"aria-label":w("chat.selectionToolbar.selectMessages"),icon:a.jsx(wg,{}),size:"small",onClick:d})})})}):null,IA=({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(Ae,{"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(Ae,{"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]})}),OA=ft.lazy(()=>Gt(()=>import("./index-BJkKRJIj.js"),__vite__mapDeps([16,1,2,3,4,5,6,17]),import.meta.url).then(e=>({default:e.ContextBar}))),$A=({sessionId:e,auxReady:t,maxWidth:n,paddingLeft:r,paddingRight:s,workspaceState:o,inspectorEligible:i,planMode:l,onRequestOpenInspector:u,t:d})=>{const{token:h}=ct.useToken();if(!e)return null;const m=l?a.jsx(wn,{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(dg,{}),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(ft.Suspense,{fallback:null,children:a.jsx(OA,{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(Ee,{align:"center",justify:"space-between",gap:h.marginXS,wrap:!0,children:[a.jsxs(Ee,{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(Ae,{size:"small",icon:a.jsx(ud,{}),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]})},ef=({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"}},LA=ft.lazy(()=>Gt(()=>import("./index-0lLJoNTX.js"),__vite__mapDeps([18,1,2,3,4,5,6,19]),import.meta.url).then(e=>({default:e.QuestionDialog}))),{useToken:FA}=ct,{useBreakpoint:DA}=Rl,NA=e=>{const{t}=wt;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")},Lv=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},BA=e=>e.map(({message:t,text:n},r)=>{const s=NA(t),o=Lv(t.createdAt);return[`## ${r+1}. ${s} · ${o}`,"",n].join(`
|
|
217
|
+
`)},xR=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 mR().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:SR(e,n)}],temperature:0})).choices)==null?void 0:l[0])==null?void 0:u.message)==null?void 0:d.content)??"";return Tv(i)},wR=(e,t)=>{const n=Fk(),r=Dk(),s=(r==null?void 0:r.model)??n;return y.useCallback(async(o,i)=>{const l=se.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(!El(h))throw new Error("Mermaid fix is only available for assistant text messages");const m=await xR(o,s,i);if(!m)throw new Error("AI did not return a Mermaid fix");const b=gR(h.content,o,m);if(!b)throw new Error("Unable to locate Mermaid block to update");let v=Fp(e,h,d.messages);try{await Js.patchSessionMessage(u,v,{content:b})}catch(T){if(!bR(T))throw T;await l.loadChatHistory(u,{mode:"replace",retries:2,retryDelayMs:150,waitForAssistant:!0});const C=se.getState().chats.find(A=>A.id===u);if(!C)throw T;const E=vR(C.messages,e,h.content,o);if(!E)throw T;v=Fp(E.id,E,C.messages),await Js.patchSessionMessage(u,v,{content:b})}const w=se.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)||!El(T)?T:{...T,content:b});w.updateSession(u,{messages:P})},[e,t,s])},_R=e=>e.xs?"100%":e.sm?"95%":"800px",kR=[{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:"}],CR=({messageId:e,isVisible:t,onRetryWithVariation:n})=>{const{t:r}=Ve(),[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(wn,{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(sx,{}):a.jsx(ox,{})})}),a.jsx(wn,{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(ix,{}):a.jsx(ax,{})})}),i&&n&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"lotus-msg-feedback-sep"}),a.jsx("span",{className:"lotus-msg-feedback-retry",children:kR.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:TR}=ct,{useBreakpoint:PR}=Rl,ER="chat-send-message",MR=({sessionId:e,message:t,onDelete:n,messageType:r})=>{const{role:s,id:o}=t,{token:i}=TR(),l=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:u}=Ve(),{message:d}=Dn.useApp(),h=PR(),m=se(ue=>ue.updateSession),b=se(ue=>ue.loadChatHistory),v=se(ue=>ue.refreshChats),w=y.useRef(null),[S,k]=y.useState(!1),P=se(Zi(e)),T=y.useCallback(ue=>typeof window>"u"?Promise.reject(new Error("window is unavailable")):new Promise((ke,De)=>{const We={content:ue,sessionId:e,handled:!1,resolve:ke,reject:De};window.dispatchEvent(new CustomEvent(ER,{detail:We})),We.handled||De(new Error("No chat message dispatcher available"))}),[e]),j=y.useMemo(()=>{if(!t.createdAt)return null;const ue=new Date(t.createdAt);if(Number.isNaN(ue.getTime()))return null;try{return PP(ue,"MMM d, yyyy HH:mm")}catch{return ue.toLocaleString()}},[t.createdAt]),C=y.useMemo(()=>ZM(t,r),[t,r]),E=y.useMemo(()=>ej(t,C),[t,C]),A=y.useMemo(()=>tj(t,C),[t,C]),L=y.useMemo(()=>tb(t),[t]),F=wR(o,e),N=y.useCallback(async ue=>{var ke;if(!e||!o){d.warning(u("chat.messageActions.cannotRestore"));return}try{const De=await Js.restoreSessionState(e,{target_message_id:o,restore_files:ue});await b(e,{mode:"replace"}),await v();const We=((ke=De.file_errors)==null?void 0:ke.length)??0;if(We>0){d.warning(u("chat.messageActions.restorePartial",{count:We}));return}ue?d.success(u("chat.messageActions.restoreFilesSuccess",{count:De.messages_removed})):d.success(u("chat.messageActions.restoreSuccess",{count:De.messages_removed}))}catch(De){const We=De instanceof Error?De.message:u("chat.messageActions.restoreFailed");d.error(We)}},[d,e,b,o,v,u]),B=y.useCallback(()=>{N(!1)},[N]),U=y.useCallback(()=>{N(!0)},[N]),{contextMenuItems:$,handleMouseUp:ee,copyToClipboard:J,referenceMessage:Q}=oj({messageText:L,messageId:o,currentSessionId:e,onDelete:n,onRestoreChat:B,onRestoreFilesAndChat:U,cardRef:w}),pe=y.useMemo(()=>s==="user"&&L.startsWith("/"),[s,L]),I=y.useMemo(()=>Jy(void 0,{onFixMermaid:F}),[F]),ie=y.useMemo(()=>[nd,rd],[]),be=y.useMemo(()=>[td],[]),oe=y.useMemo(()=>[OP(()=>J(L),u("chat.actions.copyMessage")),$P(Q,u("chat.actions.referenceMessage"))],[L,J,Q,u]),{handleExecutePlan:ge,handleRefinePlan:de,handleQuestionAnswer:le}=ij({currentSessionId:e,updateSession:m,sendMessage:T});return C==="plan"&&E&&s==="assistant"?a.jsx(jy,{plan:E,contextId:e||"",onExecute:ge,onRefine:de,timestamp:j??void 0}):C==="question"&&A&&s==="assistant"?a.jsx(Ry,{question:A,contextId:e||"",onAnswer:le,disabled:P||!1,timestamp:j??void 0}):NP(t)?a.jsx(XP,{taskList:t.taskList}):DP(t)?(je("[MessageCard]","[MessageCard] Rendering FileReferenceCard for message:",t.id,"paths:",t.paths),a.jsx(Ee,{justify:"flex-end",style:{width:"100%"},children:a.jsx(Ay,{paths:t.paths,displayText:t.displayText,timestamp:j??void 0})})):a.jsxs(Ee,{vertical:!0,onContextMenu:ue=>ee(ue),style:{width:"100%"},children:[a.jsx(eo,{menu:{items:$},trigger:["contextMenu"],children:a.jsx(tn,{"data-testid":s==="assistant"?"assistant-message":"user-message",id:o?`message-${o}`:void 0,ref:w,style:{width:"100%",minWidth:"100%",maxWidth:_R(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(He,{direction:"vertical",size:i.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(JM,{role:s,formattedTimestamp:j,token:i}),t.role==="user"&&t.images&&a.jsx(jP,{images:t.images}),a.jsx(Ee,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:a.jsx(GM,{sessionId:e,message:t,messageText:L,isUserToolCall:pe,formatUserToolCall:nj,markdownComponents:I,markdownPlugins:ie,rehypePlugins:be})}),a.jsx(IP,{isVisible:S,position:{bottom:i.paddingXS,right:i.paddingXS},buttons:oe})]})})}),s==="assistant"&&C==="text"&&o&&a.jsx(CR,{messageId:o,isVisible:S})]})},Pv=y.memo(MR,(e,t)=>e.message===t.message&&e.messageType===t.messageType&&e.onDelete===t.onDelete);Pv.displayName="MessageCard";const{Text:Bi}=dt,{useToken:jR}=ct,Ai=8,Hc=4,RR=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"]),AR=(e,t)=>a.jsx(tn,{size:"small",styles:{body:{padding:0}},style:{position:"relative",maxWidth:"100%",overflow:"auto",marginBottom:Ai,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})})}),IR=e=>({p:({children:t})=>a.jsx(Bi,{style:{marginBottom:Ai,display:"block"},children:t}),ol:({children:t})=>a.jsx("ol",{style:{marginBottom:Ai,paddingLeft:20},children:t}),ul:({children:t})=>a.jsx("ul",{style:{marginBottom:Ai,paddingLeft:20},children:t}),li:({children:t})=>a.jsx("li",{style:{marginBottom:Hc},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(Bi,{code:!0,className:t,...s,children:n});if(!u.trim())return null;const d=i.toLowerCase();return RR.has(d)?AR(u,e):Vy(i,u,void 0,void 0)},pre:({children:t})=>a.jsx(a.Fragment,{children:t}),blockquote:({children:t})=>a.jsx(tn,{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:`${Hc}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(),Gy(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(tn,{size:"small",styles:{body:{padding:0}},style:{overflow:"auto",margin:`${Ai}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:Hc,accentColor:"var(--ant-color-primary, #0d9488)"},readOnly:!0}):a.jsx("input",{type:t,checked:n,disabled:r})}),Ev=y.memo(({sessionId:e})=>{const{token:t}=jR(),n=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{t:r}=Ve(),s=`streaming-${e}`,o=`streaming-reasoning-${e}`,i=`streaming-status-${e}`,[l,u]=y.useState(()=>Tt.getLatest(s)??""),[d,h]=y.useState(()=>Tt.getLatest(o)??""),[m,b]=y.useState(()=>Tt.getLatest(i)??"");y.useEffect(()=>{let P=null,T=null;const j=Tt.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=Tt.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=Tt.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(()=>[nd,rd],[]),S=y.useMemo(()=>[td],[]),k=y.useMemo(()=>IR(t),[t]);return a.jsx(tn,{"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(He,{direction:"vertical",size:t.marginXS,style:{width:"100%",maxWidth:"100%"},children:[a.jsx(Ee,{align:"baseline",justify:"space-between",gap:t.marginXS,children:a.jsx(Bi,{type:"secondary",strong:!0,style:{fontSize:t.fontSizeSM},children:r("chat.streaming.assistant")})}),a.jsxs(Ee,{vertical:!0,style:{width:"100%",maxWidth:"100%"},children:[d?a.jsx(io,{size:"small",defaultActiveKey:["reasoning"],style:{marginBottom:t.marginSM,background:t.colorBgContainer,borderColor:t.colorBorderSecondary},items:[{key:"reasoning",label:a.jsx(Bi,{strong:!0,children:r("chat.messageCard.reasoning")}),children:a.jsx(xr,{remarkPlugins:w,rehypePlugins:S,components:k,children:d})}]}):null,!l||m?a.jsx(Bi,{italic:!0,className:"thinking-shimmer",children:v}):null,l?a.jsx(xr,{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}})]})]})})});Ev.displayName="StreamingMessageCard";const{Text:Ka}=dt,OR="chat-session-tool-collapse:",Mv=(e,t)=>`${OR}${e}:${t}`,Dp=(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}},$R=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{}},LR="synthetic-tool-call:",FR=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(LR)&&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)},DR=e=>{const t=new Set;return e.forEach(n=>{FR(n).forEach(r=>t.add(r))}),Array.from(t)},NR=({tools:e,sessionId:t,defaultExpanded:n=!1,autoCollapseWhenStale:r=!1,onDeleteMessageIds:s})=>{const{t:o}=Ve(),{token:i}=ct.useToken(),l=y.useMemo(()=>{var L,F,N,B;const C=e[0],E=(F=(L=C==null?void 0:C.call)==null?void 0:L.toolCalls)==null?void 0:F[0];return`${(C==null?void 0:C.callMessageId)||((N=C==null?void 0:C.call)==null?void 0:N.id)||(C==null?void 0:C.resultMessageId)||((B=C==null?void 0:C.result)==null?void 0:B.id)||"tool-message-missing"}:${(E==null?void 0:E.toolCallId)||"tool-call-missing"}`},[e]),[u,d]=y.useState(()=>{const C=Dp(t,l);return C?C.isExpanded:n});y.useEffect(()=>{const C=Dp(t,l);d(C?C.isExpanded:n),Hn.getInstance().loadToolSessionCollapse(t,l).then(A=>{A&&d(A.isExpanded)}).catch(()=>{})},[n,t,l]),y.useEffect(()=>{$R(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(L=>{L.result?(C++,L.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(L=>{var B,U;const F=(U=(B=L.result)==null?void 0:B.result)==null?void 0:U.result;if(!F)return;const N=Cd(F);N&&(C+=N.added,E+=N.removed,A+=1)}),{added:C,removed:E,changedTools:A}},[e]),k=y.useMemo(()=>{const C=e.map(L=>{var B,U;const F=(U=(B=L.call)==null?void 0:B.toolCalls)==null?void 0:U[0];if(!F)return null;const N=ao(F.toolName);return N?N.toolName:F.toolName||null}).filter(L=>!!L);if(C.length===0)return o("components.toolSession.title");if(C.length===1)return C[0];const E=C.filter((L,F)=>F===0||L!==C[F-1]),A=3;return E.length<=A?E.join(" → "):`${E.slice(0,A).join(" → ")} +${E.length-A}`},[e,o]),P=y.useMemo(()=>DR(e),[e]),T=a.jsx(jd,{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(ad,{style:{color:i.colorPrimary}}),a.jsx(Ka,{strong:!0,style:{flex:1},children:k}),a.jsx(lx,{count:e.length,style:{backgroundColor:i.colorPrimary}}),S.changedTools>0&&a.jsxs(He,{size:4,style:{marginInlineStart:i.marginXS},children:[a.jsxs(Ka,{style:{color:i.colorSuccess,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["+",S.added]}),a.jsxs(Ka,{style:{color:i.colorError,fontSize:i.fontSizeSM,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},children:["-",S.removed]})]}),a.jsx(Ka,{type:"secondary",style:{fontSize:i.fontSizeSM},children:w.text}),s&&a.jsx(wn,{title:P.length>0?o("components.toolSession.deleteMessage"):o("components.toolSession.noPersistedMessage"),children:a.jsx(Ae,{type:"text",size:"small",danger:!0,icon:a.jsx(Ml,{}),"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(ws,{style:{color:i.colorTextSecondary}}):a.jsx(Kr,{style:{color:i.colorTextSecondary}})})]}),u&&T]})},jv=y.memo(NR);jv.displayName="ToolSessionCard";const{Content:BR}=Xs,{Text:Np}=dt,Bp=120,zR=140,WR=220,UR=140,qR=72,zp=68,HR=84,YR=720,XR=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};function Wp(e){return"type"in e&&(e.type==="tool_session"||e.type==="compression_divider")?e.id:e.message.id}function KR(e,t){const n=e[t];if(!n)return Bp;if("type"in n){if(n.type==="compression_divider")return qR;if(n.type==="tool_session"){if(!(t===e.length-1))return zp;const o=zp+Math.min(n.tools.length,8)*HR;return Math.min(YR,o)}}const r="message"in n?n.message:void 0;return r?r.role==="system"?UR:r.role==="user"?zR:WR:Bp}const VR=({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}=Ve(),E=y.useRef(d);E.current=d;const A=y.useCallback(ee=>{const J=E.current[ee];return J?Wp(J):String(ee)},[]),L=y.useCallback(ee=>KR(E.current,ee),[]),F=hT({count:d.length,getScrollElement:()=>l.current,estimateSize:L,overscan:5,gap:h,getItemKey:A}),N=(ee,J)=>{if(!k)return null;const Q=T.has(ee);return a.jsx(cx,{checked:P.has(ee),disabled:!Q,onChange:()=>{Q&&j(ee)},style:{marginTop:8,marginLeft:J==="flex-end"?8:0,marginRight:J==="flex-start"?8:0}})},B=(ee,J)=>{const Q=n(ee),pe=J===void 0||J===d.length-1;if(Q.type==="compression_divider"){const I=XR(Q.createdAt);return a.jsx("div",{role:"note","aria-label":C("chat.compression.timelineAria",{detail:Q.label,time:I,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(Ee,{align:"center",justify:"space-between",gap:8,wrap:!0,children:[a.jsxs(Ee,{align:"center",gap:8,wrap:!0,children:[a.jsx(Je,{color:"gold",icon:a.jsx(xg,{}),children:C("chat.compression.tag","Context compressed")}),a.jsx(Np,{strong:!0,style:{fontSize:12},children:Q.label})]}),a.jsx(Np,{type:"secondary",style:{fontSize:11},children:I})]})})}return Q.type==="tool_session"?a.jsx(Ee,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{id:`message-${Q.id}`,style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(jv,{tools:Q.tools,sessionId:Q.sessionId,createdAt:Q.createdAt,defaultExpanded:pe,autoCollapseWhenStale:!pe,onDeleteMessageIds:t?s:void 0})})}):Q.message.role==="system"?a.jsxs(Ee,{align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[N(Q.message.id,"flex-start"),a.jsx("div",{style:{flex:1,minWidth:0},children:a.jsx(ky,{currentChat:e,message:Q.message})})]}):a.jsxs(Ee,{justify:Q.align,align:"flex-start",style:{width:"100%",maxWidth:"100%"},children:[Q.align==="flex-start"&&N(Q.message.id,Q.align),a.jsx("div",{style:{width:Q.message.role==="user"?"85%":"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Pv,{sessionId:t,message:Q.message,messageType:Q.messageType,onDelete:Q.message.id===v?void 0:r})}),Q.align==="flex-end"&&N(Q.message.id,Q.align)]})},U=(m||i)&&d.length>0,$=F.getVirtualItems();return a.jsx(BR,{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:[U&&a.jsx("div",{style:{position:"relative",width:"100%",height:F.getTotalSize()},children:$.map(ee=>{const J=d[ee.index];if(!J)return null;const Q=Wp(J);return a.jsx("div",{"data-chat-entry-id":Q,"data-index":ee.index,ref:F.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${ee.start}px)`},children:a.jsx("div",{className:"messageEnter",children:B(J,ee.index)})},ee.key)})}),w&&t&&a.jsx("div",{className:"streaming-card-enter",children:a.jsx(Ee,{justify:"flex-start",style:{width:"100%",maxWidth:"100%"},children:a.jsx("div",{style:{width:"100%",maxWidth:b.xs?"100%":"90%"},children:a.jsx(Ev,{sessionId:t})})})}),a.jsx("div",{ref:u,"data-chat-bottom-anchor":"true","aria-hidden":"true",style:{width:"100%",height:1,flexShrink:0}})]})})};function Rv(e){return typeof e.maxContextTokens=="number"&&e.maxContextTokens>0?e.maxContextTokens:e.budgetLimit>0?e.budgetLimit:0}function Av(e){const t=Rv(e);return t===0?0:e.totalTokens/t*100}function GR(e){const t=Av(e);return t>=90?"error":t>=70?"warning":t>=50?"success":"default"}function Lo(e){return e.toLocaleString()}function zI(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 JR=({usage:e,showDetails:t=!0,size:n="small",className:r=""})=>{const{t:s}=Ve(),o=Rv(e),i=Av(e),l=m=>{const b=Math.round(m*10)/10;return Number.isInteger(b)?b.toFixed(0):b.toFixed(1)},u=GR(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"),":"," ",Lo(e.totalTokens)," / ",Lo(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"),": ",Lo(e.systemTokens)]}),e.summaryTokens>0&&a.jsxs("div",{children:[s("components.tokenUsage.summary"),": ",Lo(e.summaryTokens)]}),a.jsxs("div",{children:[s("components.tokenUsage.messages"),": ",Lo(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(wn,{title:h,placement:"top",arrow:!0,children:a.jsxs(He,{className:`token-usage-display ${r}`,size:4,align:"center",style:{lineHeight:1},children:[a.jsx(vg,{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),"%"]})]})})},Xu="chat_scroll_anchors_v1",Iv="chat_scroll_anchor_v2:";function Ov(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 QR(){try{const e=localStorage.getItem(Xu);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[r,s]of Object.entries(t))Ov(s)&&(n[r]=s);return n}catch{return{}}}function ZR(e){const t=QR(),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(Xu):localStorage.setItem(Xu,JSON.stringify(t))}catch{}return n}async function eA(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(`${Iv}${e}`);if(t){const n=JSON.parse(t);if(Ov(n))return Hn.getInstance().saveScrollAnchor(e,n).catch(()=>{}),n}}catch{}return ZR(e)}async function tA(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(`${Iv}${e}`,JSON.stringify(t))}catch{}}}const Yc=1,nA=3,rA=2e3;function sA(e,t){const n=Math.max(0,e.scrollHeight-e.clientHeight);return Math.min(Math.max(0,t),n)}function oA(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=sA(t,t.scrollTop+(w-r));if(Math.abs(t.scrollTop-S)>Yc)t.scrollTop=S,l=0;else{const P=Number.isFinite(d)?Math.abs(S-d)<=Yc:!1,T=Math.abs(t.scrollTop-u)<=Yc;l=P&&T?l+1:0}d=S,u=t.scrollTop;const k=performance.now()-i>rA;if(l>=nA||k){o();return}requestAnimationFrame(h)};requestAnimationFrame(h)})}const iA=300,aA=.5;function lA(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 $v(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 Up(e){if(!e)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function cA(e,t){const n=Up(e.createdAt);if(n!=null){let r=null,s=Number.POSITIVE_INFINITY;for(let o=0;o<t.length;o++){const i=Up($v(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 Zd(e){return Array.from(e.querySelectorAll("[data-chat-entry-id]"))}function uA(e,t){const n=Zd(e);for(const r of n)if(r.dataset.chatEntryId===t)return r;return null}function dA(e,t){const n=Zd(e);if(n.length===0)return null;const r=Math.max(0,Math.min(n.length-1,t));return n[r]??null}function fA(e){const t=Zd(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 hA(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=lA(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=fA(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?$v(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)<=aA||(await tA(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(()=>{})},iA)},[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 eA(t).then(k=>{if(S||!k){S||s.current.add(t);return}const P=h.get(k.anchorId),T=typeof P=="number"?P:cA(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;oA({scrollEl:w,getAnchorElement:()=>uA(w,k.anchorId)??dA(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 qp=2,Hp=6,Xc=150,pA="streaming-",mA="streaming-reasoning-",gA="streaming-status-",yA=e=>e.startsWith(pA)&&!e.startsWith(mA)&&!e.startsWith(gA),bA=({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}=hA({currentSessionId:e,messagesListRef:n,renderableMessages:s}),C=y.useCallback(()=>{P.current.clear(),h(!1),b(0)},[]),E=y.useCallback($=>{if($<=0)return 0;const ee=P.current;if(ee.size===0)return $;let J=$;for(const Q of Array.from(ee)){if(J<=0)break;ee.delete(Q),J-=1}return J},[]),A=y.useCallback(()=>{const $=n.current;if(!$||s.length===0)return i(!1),u(!1),C(),null;const ee=Math.max(0,$.scrollHeight-$.scrollTop-$.clientHeight),J=ee<=Xc,Q=$.scrollTop<=Xc;return i(!J),u(!Q&&s.length>3),J&&(w.current=!0,C()),{atBottom:J,distanceFromBottom:ee}},[C,n,s.length]),L=y.useCallback($=>{const ee=A();ee&&(ee.distanceFromBottom>Xc?(v.current=!0,w.current=!1):ee.atBottom&&(v.current=!1,w.current=!0,C()),j($))},[C,A,j]),F=y.useCallback($=>{cancelAnimationFrame(T.current);const ee=n.current,J=r.current;if(!ee||!J||s.length===0)return;const Q=($==null?void 0:$.behavior)??"smooth";let pe=0,I=Number.NaN;const ie=()=>{T.current=0,v.current=!1,w.current=!0,C(),A()},be=()=>{const oe=n.current,ge=r.current;if(!oe||!ge)return;const de=Math.max(0,oe.scrollHeight-oe.scrollTop-oe.clientHeight),le=ge.getBoundingClientRect(),ue=oe.getBoundingClientRect(),ke=le.top-ue.top,De=!Number.isFinite(I)||Math.abs(ke-I)>.5,We=de>qp||De||pe===0;if(We&&ge.scrollIntoView({block:"end",behavior:pe===0?Q:"auto"}),I=ke,pe+=1,pe<Hp&&We){T.current=requestAnimationFrame(be);return}ie()};T.current=requestAnimationFrame(be)},[r,C,n,A,s.length]),N=y.useCallback(()=>{if(!n.current)return;let ee=0;const J=()=>{A()},Q=()=>{const pe=n.current;if(!pe)return;const I=pe.scrollTop>qp||ee===0;if(I&&pe.scrollTo({top:0,behavior:"auto"}),ee+=1,ee<Hp&&I){requestAnimationFrame(Q);return}J()};requestAnimationFrame(Q)},[n,A]),B=y.useCallback(()=>{v.current=!1,w.current=!0,C()},[C]);y.useEffect(()=>{const $=ee=>{var de,le;const Q=(de=ee.detail)==null?void 0:de.messageId;if(!Q){console.error("No messageId provided for navigation");return}const pe=s.findIndex(ue=>"message"in ue&&ue.message?ue.message.id===Q:"id"in ue?ue.id===Q:!1);if(pe===-1){console.warn("Message not found for navigation:",Q);return}const I=s[pe],ie=I&&"message"in I?I.message.id:I&&"id"in I?I.id:Q,be=document.getElementById(`message-${ie}`),oe=Array.from(((le=n.current)==null?void 0:le.querySelectorAll("[data-chat-entry-id]"))||[]),ge=be||oe.find(ue=>ue.dataset.chatEntryId===ie);if(!ge){console.warn("Message element not found for navigation:",Q);return}ge.scrollIntoView({behavior:"smooth",block:"center"}),ge.classList.add("highlight-message"),setTimeout(()=>{ge.classList.remove("highlight-message")},2e3)};return window.addEventListener("navigate-to-message",$),()=>{window.removeEventListener("navigate-to-message",$)}},[n,s]);const U=y.useRef(t);return y.useEffect(()=>{!U.current&&t&&(B(),F()),U.current=t},[t,B,F]),y.useEffect(()=>Tt.subscribe($=>{var ee;if($.sessionId===e){if(v.current){(((ee=$.content)==null?void 0:ee.trim())??"")&&yA($.messageId)&&(P.current.has($.messageId)||(P.current.add($.messageId),b(Q=>Q+1)),h(!0)),A();return}if(!$.content){A();return}F()}}),[e,A,F]),y.useEffect(()=>{const $=s.length,ee=k.current,J=$>ee;if($===0){C(),A(),k.current=$;return}if(S.current){A(),S.current=!1,k.current=$;return}if(J&&v.current){const Q=E($-ee);h(!0),Q>0&&b(pe=>pe+Q)}!v.current&&J?F():A(),k.current=$},[C,E,A,s.length,F]),y.useEffect(()=>{const $=n.current;if(!$||typeof ResizeObserver>"u")return;let ee=0,J=!1;const Q=()=>{cancelAnimationFrame(ee);const be=w.current;ee=requestAnimationFrame(()=>{if(J&&be&&!v.current){F({behavior:"auto"});return}A()})},pe=new ResizeObserver(()=>{J=!0,Q()});pe.observe($);const I=$.firstElementChild;I instanceof HTMLElement&&pe.observe(I);const ie=r.current;return ie instanceof HTMLElement&&pe.observe(ie),Q(),()=>{cancelAnimationFrame(ee),pe.disconnect()}},[r,e,n,A,s.length,F]),y.useEffect(()=>{if(!n.current||s.length===0){A();return}A();let ee=0;const J=requestAnimationFrame(()=>{A(),ee=requestAnimationFrame(()=>{A()})});return()=>{cancelAnimationFrame(J),cancelAnimationFrame(ee)}},[n,s.length,e,A]),y.useEffect(()=>{S.current=!0,v.current=!1,w.current=!1,k.current=0,C()},[C,e]),{handleMessagesScroll:L,hasUnreadActivity:d,resetUserScroll:B,scrollToBottom:F,scrollToTop:N,showScrollToBottom:o,showScrollToTop:l,unreadCount:m}};function vA(e){return"type"in e&&e.type==="tool_session"}function SA(e){return"type"in e&&e.type==="compression_divider"}const Yp=e=>{const t=Date.parse(e||"");return Number.isFinite(t)?t:Number.MAX_SAFE_INTEGER},xA=e=>"type"in e?e.createdAt:e.message.createdAt,wA=e=>!("type"in e)&&e.message.role==="system";function _A(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_call"}function kA(e){return e.role==="assistant"&&"type"in e&&e.type==="tool_result"}const Xp=e=>(e??"").trim().toLowerCase()==="conclusion",CA=e=>{const t=(e??"").trim().toLowerCase();return t==="conclusion_with_options"||t==="exitplanmode"||t==="request_permissions"},TA=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"},PA=(e,t)=>{var n;return e.call.id||e.callMessageId||e.resultMessageId||((n=e.result)==null?void 0:n.id)||`tool-message-missing-${t}`},EA=(e,t)=>`tool-session-${PA(e,t)}:${TA(e)}`;function MA(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(_A(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(Xp(u.toolName)){r.add(h);return}if(CA(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(kA(i)){const l=i.toolCallId;if(l&&r.has(l)){r.delete(l),t.push(i);continue}if(Xp(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 jA=(e,t)=>{var l;const{t:n}=Ve(),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(SA(u))return{type:"compression_divider",id:u.id,createdAt:u.createdAt,label:u.label};if(vA(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=MA(u),h=[];d.forEach((k,P)=>{var C,E;if(Array.isArray(k)){const A=k[0];h.push({type:"tool_session",id:A?EA(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=>!wA(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=Yp(k.createdAt),j=h.findIndex((C,E)=>E>=w&&Yp(xA(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:RA}=dt,AA=({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(Ee,{align:"center",justify:"space-between",wrap:"wrap",gap:8,children:[a.jsx(RA,{type:"secondary",children:w("chat.selectionToolbar.selectedCount",{selected:n,total:r})}),a.jsxs(He,{size:8,wrap:!0,children:[a.jsx(Ae,{size:"small",onClick:h,children:w("chat.selectionToolbar.selectAll")}),a.jsx(Ae,{size:"small",onClick:m,children:w("chat.selectionToolbar.clear")}),a.jsx(Ae,{size:"small",icon:a.jsx(to,{}),onClick:b,disabled:n===0,children:w("chat.selectionToolbar.exportMarkdown")}),a.jsx(Ae,{size:"small",type:"primary",icon:a.jsx(to,{}),onClick:v,disabled:n===0,children:w("chat.selectionToolbar.exportPdf")}),a.jsx(Ae,{size:"small",icon:a.jsx(Ts,{}),onClick:d,children:w("chat.selectionToolbar.done")})]})]}):a.jsx(Ee,{justify:"flex-end",children:a.jsx(wn,{title:w("chat.selectionToolbar.selectMessages"),children:a.jsx(Ae,{"aria-label":w("chat.selectionToolbar.selectMessages"),icon:a.jsx(wg,{}),size:"small",onClick:d})})})}):null,IA=({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(Ae,{"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(Ae,{"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]})}),OA=ft.lazy(()=>Gt(()=>import("./index-DNvloxwu.js"),__vite__mapDeps([16,1,2,3,4,5,6,17]),import.meta.url).then(e=>({default:e.ContextBar}))),$A=({sessionId:e,auxReady:t,maxWidth:n,paddingLeft:r,paddingRight:s,workspaceState:o,inspectorEligible:i,planMode:l,onRequestOpenInspector:u,t:d})=>{const{token:h}=ct.useToken();if(!e)return null;const m=l?a.jsx(wn,{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(dg,{}),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(ft.Suspense,{fallback:null,children:a.jsx(OA,{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(Ee,{align:"center",justify:"space-between",gap:h.marginXS,wrap:!0,children:[a.jsxs(Ee,{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(Ae,{size:"small",icon:a.jsx(ud,{}),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]})},ef=({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"}},LA=ft.lazy(()=>Gt(()=>import("./index-BekDgOIT.js"),__vite__mapDeps([18,1,2,3,4,5,6,19]),import.meta.url).then(e=>({default:e.QuestionDialog}))),{useToken:FA}=ct,{useBreakpoint:DA}=Rl,NA=e=>{const{t}=wt;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")},Lv=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},BA=e=>e.map(({message:t,text:n},r)=>{const s=NA(t),o=Lv(t.createdAt);return[`## ${r+1}. ${s} · ${o}`,"",n].join(`
|
|
218
218
|
`)}).join(`
|
|
219
219
|
|
|
220
220
|
---
|
|
221
221
|
|
|
222
|
-
`),Kp=({sessionId:e,embedded:t=!1,paneCount:n=1,auxReady:r=!1,sessionDiffSummary:s=null,workspaceState:o,inspectorEligible:i=!1,onRequestOpenInspector:l})=>{var Ge,St,ht,kt,et;const u=n,{message:d}=Dn.useApp(),{t:h}=Ve(),m=se(Me=>e??Me.currentSessionId),b=se(js(m)),v=se(Me=>Me.deleteMessage),w=se(Me=>Me.loadChatHistory),S=se(Me=>m?Me.tokenUsages[m]??null:null),k=se(Me=>m?Me.truncationOccurred[m]??!1:!1),P=se(Me=>m?Me.segmentsRemoved[m]??0:0),T=y.useMemo(()=>(b==null?void 0:b.messages)||[],[b]),j=se(Zi(m));y.useEffect(()=>{if(!m)return;const Me=se.getState().chats.find(Te=>Te.id===m);Me&&Array.isArray(Me.messages)&&Me.messages.length>0||w(m)},[m,w]);const C=(b==null?void 0:b.messageCount)??0,E=((Ge=b==null?void 0:b.messages)==null?void 0:Ge.length)??0;y.useEffect(()=>{if(!m)return;C-E>0&&w(m,{mode:"monotonic"})},[m,C,E,w]);const A=j,L=y.useCallback(Me=>{if(Me.success)return null;switch(Me.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 Me.errorMessage||h("chat.messageActions.deleteFailed")}},[h]),F=y.useCallback(async(Me,Te)=>{if(!m){const Lt={success:!1,sessionId:"",messageId:Me,reason:"session_not_found"};return(Te==null?void 0:Te.notify)!==!1&&d.error(L(Lt)),Lt}const qe=await v(m,Me);return!qe.success&&(Te==null?void 0:Te.notify)!==!1&&d.error(L(qe)),qe},[m,v,d,L]),N=y.useCallback(async Me=>{const Te=Array.from(new Set(Me.map(Kt=>Kt.trim()).filter(Boolean)));if(Te.length===0)return;const Lt=(await Promise.all(Te.map(Kt=>F(Kt,{notify:!1})))).filter(Kt=>!Kt.success);if(Lt.length!==0){if(Lt.length===1){d.error(L(Lt[0]));return}d.error(h("chat.messageActions.deleteBatchFailed",{failed:Lt.length,total:Te.length}))}},[F,d,L,h]),B=y.useRef(null),U=y.useRef(null),{token:$}=FA(),ee=DA(),J=Ol(),[Q,pe]=y.useState(null),[I,ie]=y.useState(!1),[be,oe]=y.useState(new Set),ge=mt(Me=>Me.sidebar.collapsed),de=r,le=s,ue=()=>t||ee.xs||ee.sm?"100%":ee.md?"90%":ee.lg?"85%":"1024px",ke=()=>{let Me;return t?Me=$.paddingSM:ee.xs?Me=$.paddingXS:ee.sm?Me=$.paddingSM:Me=$.padding,!t&&ge&&!J?Me+18:Me},De=y.useMemo(()=>o||ef({isEmbedded:t,leafCount:u,isMobileViewport:J}),[t,J,u,o]);y.useEffect(()=>{pe(null),ie(!1),oe(new Set)},[m]);const{systemPromptMessage:We,renderableMessages:bt,convertRenderableEntry:O}=jA(b,T),ae=T.length>0,ye=!!(Q!=null&&Q.content),Re=!!We,Ue=!!m&&(ae||ye),Ot=0,vt=y.useMemo(()=>{if(!(Q!=null&&Q.content))return bt;const Me={message:{id:Q.id,role:"user",content:Q.content,createdAt:Q.createdAt},messageType:"text"};return[...bt,Me]},[bt,Q]),gt=y.useMemo(()=>{const Me=[];for(const Te of vt){if(!("message"in Te))continue;const qe=tb(Te.message).trim();qe&&Me.push({id:Te.message.id,message:Te.message,text:qe})}return Me},[vt]),Ht=y.useMemo(()=>new Set(gt.map(Me=>Me.id)),[gt]);y.useEffect(()=>{oe(Me=>{let Te=!1;const qe=new Set;for(const Lt of Me)Ht.has(Lt)?qe.add(Lt):Te=!0;return Te?qe:Me})},[Ht]);const nn=y.useMemo(()=>gt.filter(Me=>be.has(Me.id)),[gt,be]),Ln=gt.length>0,Mt=y.useCallback(Me=>{oe(Te=>{const qe=new Set(Te);return qe.has(Me)?qe.delete(Me):qe.add(Me),qe})},[]),qt=y.useCallback(()=>{if(!Ln){d.warning(h("chat.view.noExportableMessages"));return}ie(!0)},[d,Ln,h]),Yt=y.useCallback(()=>{ie(!1),oe(new Set)},[]),fn=y.useCallback(()=>{if(I){Yt();return}qt()},[qt,Yt,I]),Rn=y.useCallback(()=>{oe(new Set(gt.map(Me=>Me.id)))},[gt]),kn=y.useCallback(()=>{oe(new Set)},[]),$t=y.useCallback(async Me=>{var Lt;if(!m){d.warning(h("chat.view.noActiveChat"));return}if(nn.length===0){d.warning(h("chat.view.selectAtLeastOneMessage"));return}const Te=BA(nn),qe=await nb.exportMessageText({format:Me,content:Te,sessionId:m,filenamePrefix:`chat-messages-${nn.length}`});if(qe.success){d.success(h("chat.view.exportSaved",{filename:qe.filename}));return}(Lt=qe.error)!=null&&Lt.toLowerCase().includes("cancel")||d.error(qe.error||h("chat.view.exportFailed"))},[d,m,nn,h]);y.useEffect(()=>{if(typeof window>"u")return;const Me=Te=>{var Kt;const Lt=((Kt=Te.detail)==null?void 0:Kt.sessionId)??null;!m||Lt!==m||fn()};return window.addEventListener(wu,Me),()=>{window.removeEventListener(wu,Me)}},[m,fn]);const yn=(St=b==null?void 0:b.config)==null?void 0:St.tokenUsage,hn=S||yn||null,fe=(ht=b==null?void 0:b.config)==null?void 0:ht.truncationOccurred,Ie=k||fe||!1,$e=(kt=b==null?void 0:b.config)==null?void 0:kt.segmentsRemoved,Ye=P||$e||0,ut=y.useMemo(()=>{var Te;const Me=(Te=b==null?void 0:b.config)==null?void 0:Te.compressionEvents;return!Me||Me.length===0?null:Me.reduce((qe,Lt)=>{const Kt=Date.parse(qe.createdAt),_r=Date.parse(Lt.createdAt);return Number.isFinite(Kt)?Number.isFinite(_r)&&_r>Kt?Lt:qe:Lt})},[(et=b==null?void 0:b.config)==null?void 0:et.compressionEvents]),Cn=$.marginMD,{handleMessagesScroll:Jt,hasUnreadActivity:Le,resetUserScroll:Tn,scrollToBottom:Xt,scrollToTop:W,showScrollToBottom:D,showScrollToTop:he,unreadCount:_e}=bA({currentSessionId:m,isThinking:A,messagesListRef:B,bottomAnchorRef:U,renderableMessages:vt}),Fe=!!Ue&&Ln&&(!t||I),Ne=ut?a.jsx(wn,{title:h("chat.compression.tooltip",{count:ut.messagesCompressed,time:Lv(ut.createdAt),defaultValue:"Latest compression at {{time}}: {{count}} messages archived"}),children:a.jsx(Je,{color:"gold",icon:a.jsx(xg,{}),style:{marginInlineEnd:0,whiteSpace:"nowrap"},children:h("chat.compression.archivedShort",{count:ut.messagesCompressed,defaultValue:"{{count}} archived"})})}):null,Ke=hn&&hn.budgetLimit>0?a.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:$.marginXS},children:[a.jsx(JR,{usage:hn,showDetails:!0,size:"small"}),Ie&&a.jsxs("span",{style:{fontSize:11,color:$.colorTextSecondary,whiteSpace:"nowrap"},children:["(",Ye," truncated)"]}),Ne]}):Ne?a.jsx("div",{style:{display:"inline-flex",alignItems:"center",gap:$.marginXS},children:Ne}):null;return a.jsx(Xs,{role:"region","aria-label":h("chat.view.chatRegion","Chat conversation"),style:{flex:1,minHeight:0,height:"100%",background:$.colorBgContainer,position:"relative",overflow:"hidden"},children:a.jsxs(Ee,{vertical:!0,style:{flex:1,minHeight:0,height:"100%"},children:[a.jsx($A,{sessionId:m,auxReady:de,maxWidth:ue(),paddingLeft:ke(),paddingRight:ke(),workspaceState:De,inspectorEligible:i,planMode:(b==null?void 0:b.planMode)??null,onRequestOpenInspector:l,t:h}),a.jsx(AA,{visible:Fe,selectionMode:I,selectedCount:nn.length,totalCount:gt.length,paddingTop:$.paddingXS,paddingRight:ke()+Ot,paddingBottom:0,paddingLeft:ke(),maxWidth:ue(),onToggleSelectionMode:fn,onSelectAll:Rn,onClear:kn,onExportMarkdown:()=>{$t("markdown")},onExportPdf:()=>{$t("pdf")},t:h}),a.jsx(VR,{currentChat:b,currentSessionId:m,convertRenderableEntry:O,handleDeleteMessage:F,handleDeleteToolMessages:N,handleMessagesScroll:Jt,hasSystemPrompt:Re,messagesListRef:B,bottomAnchorRef:U,renderableMessages:vt,rowGap:Cn,showMessagesView:!!Ue,screens:ee,workflowDraftId:Q==null?void 0:Q.id,isThinking:A,padding:ke(),selectionMode:I,selectedMessageIds:be,selectableMessageIds:Ht,onToggleMessageSelection:Mt}),a.jsxs("div",{className:"chat-bottom-stack","data-testid":"chat-bottom-stack",children:[a.jsx(IA,{visible:Ue,showScrollToTop:he,showScrollToBottom:D,hasUnreadActivity:Le,unreadCount:_e,onScrollToTop:W,onScrollToBottom:Xt,onResetUserScroll:Tn,t:h}),m&&de&&a.jsx("div",{style:{paddingTop:$.paddingXS,paddingRight:ke(),paddingBottom:0,paddingLeft:ke(),maxWidth:ue(),margin:"0 auto",width:"100%"},children:a.jsx(ft.Suspense,{fallback:null,children:a.jsx(LA,{sessionId:m},m)})}),a.jsx(tT,{sessionId:m,isCenteredLayout:!Ue,maxWidth:Ue?ue():"100%",onWorkflowDraftChange:pe,showMessagesView:!!Ue,sessionDiffSummary:le,contextUsageIndicator:Ke,showSessionDiffCard:!1})]})]})})},Ku="lotus_experience_mode_v1",WI=new Set(["skills","hooks","masking","env-vars","metrics","sessions","config"]);function Vp(){try{const e=localStorage.getItem(Ku);if(e==="simple"||e==="advanced")return e}catch{}return"advanced"}const Fv=Jr(e=>({mode:Vp(),isAdvanced:Vp()==="advanced",setMode:t=>{try{localStorage.setItem(Ku,t)}catch{}e({mode:t,isAdvanced:t==="advanced"})},toggleMode:()=>e(t=>{const n=t.mode==="simple"?"advanced":"simple";try{localStorage.setItem(Ku,n)}catch{}return{mode:n,isAdvanced:n==="advanced"}})})),zA=ft.lazy(()=>Gt(()=>import("./index-PfIEgx4k.js"),__vite__mapDeps([20,1,2,3,21,4,5,6,22]),import.meta.url).then(e=>({default:e.SessionSummaryCard}))),WA=ft.lazy(()=>Gt(()=>import("./index-Dhul7_lf.js"),__vite__mapDeps([23,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.TodoList}))),UA=ft.lazy(()=>Gt(()=>import("./SubAgentsPanel-DOzTGVWO.js"),__vite__mapDeps([24,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.SubAgentsPanel}))),{Title:qA,Text:Dv}=dt,HA=({sessionId:e,auxReady:t,showMessagesView:n,shouldShowTaskPanel:r,hasSubAgents:s,sessionDiffSummary:o})=>{const{token:i}=ct.useToken(),l=Fv(d=>d.isAdvanced),u=y.useMemo(()=>[{key:"overview",title:"Overview",showTitle:!1,visible:l&&n,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(zA,{sessionId:e,compact:!0})}):null},{key:"tasks",title:"Tasks",showTitle:!1,visible:r,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(WA,{sessionId:e,initialCollapsed:!1,compact:!0})}):null},{key:"agents",title:"Sub-agents",showTitle:!1,visible:s,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(UA,{parentSessionId:e,compact:!0})}):null},{key:"diffs",title:"Diffs",showTitle:!1,visible:!!o,node:a.jsx(wy,{sessionDiffSummary:o,sessionId:e,compact:!0})}].filter(d=>d.visible),[t,s,l,o,e,r,n]);return u.length===0?a.jsx(Ee,{vertical:!0,align:"center",justify:"center",style:{minHeight:180,color:i.colorTextSecondary,padding:i.paddingLG,textAlign:"center"},children:a.jsx(Dv,{type:"secondary",children:"No session details available yet."})}):a.jsx(Ee,{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(Ee,{vertical:!0,gap:6,style:{width:"100%",minWidth:0},children:[a.jsx(qA,{level:5,style:{margin:0,fontSize:i.fontSizeLG},children:d.title}),d.node]}):d.node},d.key))})},Gp=({sessionId:e,auxReady:t,mode:n,open:r,onOpenChange:s,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u})=>{const{token:d}=ct.useToken(),h=mt(w=>w.inspector.widthPx),m=mt(w=>w.inspector.minWidthPx),b=mt(w=>w.inspector.maxWidthPx);if(!e)return null;const v=a.jsx(HA,{sessionId:e,auxReady:t,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u});return n==="drawer"?a.jsx(Al,{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(Ee,{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(Ee,{align:"center",gap:d.marginXS,children:[a.jsx(ud,{}),a.jsx(Dv,{strong:!0,children:"Inspector"})]}),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ts,{}),"aria-label":"Close inspector",onClick:()=>s(!1)})]}),a.jsx("div",{style:{padding:`6px ${d.paddingSM}px ${d.paddingSM}px`,minWidth:0},children:v})]}):null},YA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>{const s=n,o=Ol(),i=se(J=>e??J.currentSessionId),l=se(js(i)),u=y.useMemo(()=>(l==null?void 0:l.messages)||[],[l]),d=se(J=>J.loadTaskList),h=Fv(J=>J.isAdvanced),m=y.useMemo(()=>!i||!l?i:l.kind==="child"&&(l.parentSessionId||l.rootSessionId)||i,[l,i]),b=se(J=>m?!!J.taskLists[m]:!1),v=se(Zi(i)),w=y.useMemo(()=>!i||!l?!1:!!(b||l.kind==="child"||v),[l,b,v,i]),S=se(J=>{if(!i)return!1;const Q=Ui(i)(J);return Object.keys(Q).length>0?!0:J.chats.some(pe=>pe.kind==="child"&&pe.parentSessionId===i)});y.useEffect(()=>{!m||b||w&&d(m).catch(J=>{console.warn(`[SessionWorkspaceShell] Failed to load task list for ${m}:`,J)})},[m,b,w,d]);const k=y.useMemo(()=>{var be;if(!u||u.length===0)return null;const J=new Map;let Q=0,pe=0,I=0;for(const oe of u){if(!My(oe))continue;const ge=((be=oe.result)==null?void 0:be.result)??"",de=lo(ge),le=Cd(ge);if(!de||!le)continue;I+=1,Q+=le.added,pe+=le.removed;const ue=J.get(de.file_path);ue?(ue.added+=le.added,ue.removed+=le.removed,ue.diffChunks.push(de.diff.unified),ue.truncated=ue.truncated||!!de.diff.truncated,ue.toolCount+=1,ue.workspace=ue.workspace??de.workspace):J.set(de.file_path,{added:le.added,removed:le.removed,diffChunks:[de.diff.unified],truncated:!!de.diff.truncated,toolCount:1,workspace:de.workspace})}if(J.size===0)return null;const ie=Array.from(J.entries()).map(([oe,ge])=>({filePath:oe,added:ge.added,removed:ge.removed,unifiedDiff:ge.diffChunks.join(`
|
|
222
|
+
`),Kp=({sessionId:e,embedded:t=!1,paneCount:n=1,auxReady:r=!1,sessionDiffSummary:s=null,workspaceState:o,inspectorEligible:i=!1,onRequestOpenInspector:l})=>{var Ge,St,ht,kt,et;const u=n,{message:d}=Dn.useApp(),{t:h}=Ve(),m=se(Me=>e??Me.currentSessionId),b=se(js(m)),v=se(Me=>Me.deleteMessage),w=se(Me=>Me.loadChatHistory),S=se(Me=>m?Me.tokenUsages[m]??null:null),k=se(Me=>m?Me.truncationOccurred[m]??!1:!1),P=se(Me=>m?Me.segmentsRemoved[m]??0:0),T=y.useMemo(()=>(b==null?void 0:b.messages)||[],[b]),j=se(Zi(m));y.useEffect(()=>{if(!m)return;const Me=se.getState().chats.find(Te=>Te.id===m);Me&&Array.isArray(Me.messages)&&Me.messages.length>0||w(m)},[m,w]);const C=(b==null?void 0:b.messageCount)??0,E=((Ge=b==null?void 0:b.messages)==null?void 0:Ge.length)??0;y.useEffect(()=>{if(!m)return;C-E>0&&w(m,{mode:"monotonic"})},[m,C,E,w]);const A=j,L=y.useCallback(Me=>{if(Me.success)return null;switch(Me.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 Me.errorMessage||h("chat.messageActions.deleteFailed")}},[h]),F=y.useCallback(async(Me,Te)=>{if(!m){const Lt={success:!1,sessionId:"",messageId:Me,reason:"session_not_found"};return(Te==null?void 0:Te.notify)!==!1&&d.error(L(Lt)),Lt}const qe=await v(m,Me);return!qe.success&&(Te==null?void 0:Te.notify)!==!1&&d.error(L(qe)),qe},[m,v,d,L]),N=y.useCallback(async Me=>{const Te=Array.from(new Set(Me.map(Kt=>Kt.trim()).filter(Boolean)));if(Te.length===0)return;const Lt=(await Promise.all(Te.map(Kt=>F(Kt,{notify:!1})))).filter(Kt=>!Kt.success);if(Lt.length!==0){if(Lt.length===1){d.error(L(Lt[0]));return}d.error(h("chat.messageActions.deleteBatchFailed",{failed:Lt.length,total:Te.length}))}},[F,d,L,h]),B=y.useRef(null),U=y.useRef(null),{token:$}=FA(),ee=DA(),J=Ol(),[Q,pe]=y.useState(null),[I,ie]=y.useState(!1),[be,oe]=y.useState(new Set),ge=mt(Me=>Me.sidebar.collapsed),de=r,le=s,ue=()=>t||ee.xs||ee.sm?"100%":ee.md?"90%":ee.lg?"85%":"1024px",ke=()=>{let Me;return t?Me=$.paddingSM:ee.xs?Me=$.paddingXS:ee.sm?Me=$.paddingSM:Me=$.padding,!t&&ge&&!J?Me+18:Me},De=y.useMemo(()=>o||ef({isEmbedded:t,leafCount:u,isMobileViewport:J}),[t,J,u,o]);y.useEffect(()=>{pe(null),ie(!1),oe(new Set)},[m]);const{systemPromptMessage:We,renderableMessages:bt,convertRenderableEntry:O}=jA(b,T),ae=T.length>0,ye=!!(Q!=null&&Q.content),Re=!!We,Ue=!!m&&(ae||ye),Ot=0,vt=y.useMemo(()=>{if(!(Q!=null&&Q.content))return bt;const Me={message:{id:Q.id,role:"user",content:Q.content,createdAt:Q.createdAt},messageType:"text"};return[...bt,Me]},[bt,Q]),gt=y.useMemo(()=>{const Me=[];for(const Te of vt){if(!("message"in Te))continue;const qe=tb(Te.message).trim();qe&&Me.push({id:Te.message.id,message:Te.message,text:qe})}return Me},[vt]),Ht=y.useMemo(()=>new Set(gt.map(Me=>Me.id)),[gt]);y.useEffect(()=>{oe(Me=>{let Te=!1;const qe=new Set;for(const Lt of Me)Ht.has(Lt)?qe.add(Lt):Te=!0;return Te?qe:Me})},[Ht]);const nn=y.useMemo(()=>gt.filter(Me=>be.has(Me.id)),[gt,be]),Ln=gt.length>0,Mt=y.useCallback(Me=>{oe(Te=>{const qe=new Set(Te);return qe.has(Me)?qe.delete(Me):qe.add(Me),qe})},[]),qt=y.useCallback(()=>{if(!Ln){d.warning(h("chat.view.noExportableMessages"));return}ie(!0)},[d,Ln,h]),Yt=y.useCallback(()=>{ie(!1),oe(new Set)},[]),fn=y.useCallback(()=>{if(I){Yt();return}qt()},[qt,Yt,I]),Rn=y.useCallback(()=>{oe(new Set(gt.map(Me=>Me.id)))},[gt]),kn=y.useCallback(()=>{oe(new Set)},[]),$t=y.useCallback(async Me=>{var Lt;if(!m){d.warning(h("chat.view.noActiveChat"));return}if(nn.length===0){d.warning(h("chat.view.selectAtLeastOneMessage"));return}const Te=BA(nn),qe=await nb.exportMessageText({format:Me,content:Te,sessionId:m,filenamePrefix:`chat-messages-${nn.length}`});if(qe.success){d.success(h("chat.view.exportSaved",{filename:qe.filename}));return}(Lt=qe.error)!=null&&Lt.toLowerCase().includes("cancel")||d.error(qe.error||h("chat.view.exportFailed"))},[d,m,nn,h]);y.useEffect(()=>{if(typeof window>"u")return;const Me=Te=>{var Kt;const Lt=((Kt=Te.detail)==null?void 0:Kt.sessionId)??null;!m||Lt!==m||fn()};return window.addEventListener(wu,Me),()=>{window.removeEventListener(wu,Me)}},[m,fn]);const yn=(St=b==null?void 0:b.config)==null?void 0:St.tokenUsage,hn=S||yn||null,fe=(ht=b==null?void 0:b.config)==null?void 0:ht.truncationOccurred,Ie=k||fe||!1,$e=(kt=b==null?void 0:b.config)==null?void 0:kt.segmentsRemoved,Ye=P||$e||0,ut=y.useMemo(()=>{var Te;const Me=(Te=b==null?void 0:b.config)==null?void 0:Te.compressionEvents;return!Me||Me.length===0?null:Me.reduce((qe,Lt)=>{const Kt=Date.parse(qe.createdAt),_r=Date.parse(Lt.createdAt);return Number.isFinite(Kt)?Number.isFinite(_r)&&_r>Kt?Lt:qe:Lt})},[(et=b==null?void 0:b.config)==null?void 0:et.compressionEvents]),Cn=$.marginMD,{handleMessagesScroll:Jt,hasUnreadActivity:Le,resetUserScroll:Tn,scrollToBottom:Xt,scrollToTop:W,showScrollToBottom:D,showScrollToTop:he,unreadCount:_e}=bA({currentSessionId:m,isThinking:A,messagesListRef:B,bottomAnchorRef:U,renderableMessages:vt}),Fe=!!Ue&&Ln&&(!t||I),Ne=ut?a.jsx(wn,{title:h("chat.compression.tooltip",{count:ut.messagesCompressed,time:Lv(ut.createdAt),defaultValue:"Latest compression at {{time}}: {{count}} messages archived"}),children:a.jsx(Je,{color:"gold",icon:a.jsx(xg,{}),style:{marginInlineEnd:0,whiteSpace:"nowrap"},children:h("chat.compression.archivedShort",{count:ut.messagesCompressed,defaultValue:"{{count}} archived"})})}):null,Ke=hn&&hn.budgetLimit>0?a.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:$.marginXS},children:[a.jsx(JR,{usage:hn,showDetails:!0,size:"small"}),Ie&&a.jsxs("span",{style:{fontSize:11,color:$.colorTextSecondary,whiteSpace:"nowrap"},children:["(",Ye," truncated)"]}),Ne]}):Ne?a.jsx("div",{style:{display:"inline-flex",alignItems:"center",gap:$.marginXS},children:Ne}):null;return a.jsx(Xs,{role:"region","aria-label":h("chat.view.chatRegion","Chat conversation"),style:{flex:1,minHeight:0,height:"100%",background:$.colorBgContainer,position:"relative",overflow:"hidden"},children:a.jsxs(Ee,{vertical:!0,style:{flex:1,minHeight:0,height:"100%"},children:[a.jsx($A,{sessionId:m,auxReady:de,maxWidth:ue(),paddingLeft:ke(),paddingRight:ke(),workspaceState:De,inspectorEligible:i,planMode:(b==null?void 0:b.planMode)??null,onRequestOpenInspector:l,t:h}),a.jsx(AA,{visible:Fe,selectionMode:I,selectedCount:nn.length,totalCount:gt.length,paddingTop:$.paddingXS,paddingRight:ke()+Ot,paddingBottom:0,paddingLeft:ke(),maxWidth:ue(),onToggleSelectionMode:fn,onSelectAll:Rn,onClear:kn,onExportMarkdown:()=>{$t("markdown")},onExportPdf:()=>{$t("pdf")},t:h}),a.jsx(VR,{currentChat:b,currentSessionId:m,convertRenderableEntry:O,handleDeleteMessage:F,handleDeleteToolMessages:N,handleMessagesScroll:Jt,hasSystemPrompt:Re,messagesListRef:B,bottomAnchorRef:U,renderableMessages:vt,rowGap:Cn,showMessagesView:!!Ue,screens:ee,workflowDraftId:Q==null?void 0:Q.id,isThinking:A,padding:ke(),selectionMode:I,selectedMessageIds:be,selectableMessageIds:Ht,onToggleMessageSelection:Mt}),a.jsxs("div",{className:"chat-bottom-stack","data-testid":"chat-bottom-stack",children:[a.jsx(IA,{visible:Ue,showScrollToTop:he,showScrollToBottom:D,hasUnreadActivity:Le,unreadCount:_e,onScrollToTop:W,onScrollToBottom:Xt,onResetUserScroll:Tn,t:h}),m&&de&&a.jsx("div",{style:{paddingTop:$.paddingXS,paddingRight:ke(),paddingBottom:0,paddingLeft:ke(),maxWidth:ue(),margin:"0 auto",width:"100%"},children:a.jsx(ft.Suspense,{fallback:null,children:a.jsx(LA,{sessionId:m},m)})}),a.jsx(tT,{sessionId:m,isCenteredLayout:!Ue,maxWidth:Ue?ue():"100%",onWorkflowDraftChange:pe,showMessagesView:!!Ue,sessionDiffSummary:le,contextUsageIndicator:Ke,showSessionDiffCard:!1})]})]})})},Ku="lotus_experience_mode_v1",WI=new Set(["skills","hooks","masking","env-vars","metrics","sessions","config"]);function Vp(){try{const e=localStorage.getItem(Ku);if(e==="simple"||e==="advanced")return e}catch{}return"advanced"}const Fv=Jr(e=>({mode:Vp(),isAdvanced:Vp()==="advanced",setMode:t=>{try{localStorage.setItem(Ku,t)}catch{}e({mode:t,isAdvanced:t==="advanced"})},toggleMode:()=>e(t=>{const n=t.mode==="simple"?"advanced":"simple";try{localStorage.setItem(Ku,n)}catch{}return{mode:n,isAdvanced:n==="advanced"}})})),zA=ft.lazy(()=>Gt(()=>import("./index-DPgfFTH0.js"),__vite__mapDeps([20,1,2,3,21,4,5,6,22]),import.meta.url).then(e=>({default:e.SessionSummaryCard}))),WA=ft.lazy(()=>Gt(()=>import("./index-CWDkpwMB.js"),__vite__mapDeps([23,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.TodoList}))),UA=ft.lazy(()=>Gt(()=>import("./SubAgentsPanel-ByOD_VrF.js"),__vite__mapDeps([24,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.SubAgentsPanel}))),{Title:qA,Text:Dv}=dt,HA=({sessionId:e,auxReady:t,showMessagesView:n,shouldShowTaskPanel:r,hasSubAgents:s,sessionDiffSummary:o})=>{const{token:i}=ct.useToken(),l=Fv(d=>d.isAdvanced),u=y.useMemo(()=>[{key:"overview",title:"Overview",showTitle:!1,visible:l&&n,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(zA,{sessionId:e,compact:!0})}):null},{key:"tasks",title:"Tasks",showTitle:!1,visible:r,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(WA,{sessionId:e,initialCollapsed:!1,compact:!0})}):null},{key:"agents",title:"Sub-agents",showTitle:!1,visible:s,node:t?a.jsx(ft.Suspense,{fallback:null,children:a.jsx(UA,{parentSessionId:e,compact:!0})}):null},{key:"diffs",title:"Diffs",showTitle:!1,visible:!!o,node:a.jsx(wy,{sessionDiffSummary:o,sessionId:e,compact:!0})}].filter(d=>d.visible),[t,s,l,o,e,r,n]);return u.length===0?a.jsx(Ee,{vertical:!0,align:"center",justify:"center",style:{minHeight:180,color:i.colorTextSecondary,padding:i.paddingLG,textAlign:"center"},children:a.jsx(Dv,{type:"secondary",children:"No session details available yet."})}):a.jsx(Ee,{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(Ee,{vertical:!0,gap:6,style:{width:"100%",minWidth:0},children:[a.jsx(qA,{level:5,style:{margin:0,fontSize:i.fontSizeLG},children:d.title}),d.node]}):d.node},d.key))})},Gp=({sessionId:e,auxReady:t,mode:n,open:r,onOpenChange:s,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u})=>{const{token:d}=ct.useToken(),h=mt(w=>w.inspector.widthPx),m=mt(w=>w.inspector.minWidthPx),b=mt(w=>w.inspector.maxWidthPx);if(!e)return null;const v=a.jsx(HA,{sessionId:e,auxReady:t,showMessagesView:o,shouldShowTaskPanel:i,hasSubAgents:l,sessionDiffSummary:u});return n==="drawer"?a.jsx(Al,{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(Ee,{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(Ee,{align:"center",gap:d.marginXS,children:[a.jsx(ud,{}),a.jsx(Dv,{strong:!0,children:"Inspector"})]}),a.jsx(Ae,{type:"text",size:"small",icon:a.jsx(Ts,{}),"aria-label":"Close inspector",onClick:()=>s(!1)})]}),a.jsx("div",{style:{padding:`6px ${d.paddingSM}px ${d.paddingSM}px`,minWidth:0},children:v})]}):null},YA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>{const s=n,o=Ol(),i=se(J=>e??J.currentSessionId),l=se(js(i)),u=y.useMemo(()=>(l==null?void 0:l.messages)||[],[l]),d=se(J=>J.loadTaskList),h=Fv(J=>J.isAdvanced),m=y.useMemo(()=>!i||!l?i:l.kind==="child"&&(l.parentSessionId||l.rootSessionId)||i,[l,i]),b=se(J=>m?!!J.taskLists[m]:!1),v=se(Zi(i)),w=y.useMemo(()=>!i||!l?!1:!!(b||l.kind==="child"||v),[l,b,v,i]),S=se(J=>{if(!i)return!1;const Q=Ui(i)(J);return Object.keys(Q).length>0?!0:J.chats.some(pe=>pe.kind==="child"&&pe.parentSessionId===i)});y.useEffect(()=>{!m||b||w&&d(m).catch(J=>{console.warn(`[SessionWorkspaceShell] Failed to load task list for ${m}:`,J)})},[m,b,w,d]);const k=y.useMemo(()=>{var be;if(!u||u.length===0)return null;const J=new Map;let Q=0,pe=0,I=0;for(const oe of u){if(!My(oe))continue;const ge=((be=oe.result)==null?void 0:be.result)??"",de=lo(ge),le=Cd(ge);if(!de||!le)continue;I+=1,Q+=le.added,pe+=le.removed;const ue=J.get(de.file_path);ue?(ue.added+=le.added,ue.removed+=le.removed,ue.diffChunks.push(de.diff.unified),ue.truncated=ue.truncated||!!de.diff.truncated,ue.toolCount+=1,ue.workspace=ue.workspace??de.workspace):J.set(de.file_path,{added:le.added,removed:le.removed,diffChunks:[de.diff.unified],truncated:!!de.diff.truncated,toolCount:1,workspace:de.workspace})}if(J.size===0)return null;const ie=Array.from(J.entries()).map(([oe,ge])=>({filePath:oe,added:ge.added,removed:ge.removed,unifiedDiff:ge.diffChunks.join(`
|
|
223
223
|
|
|
224
|
-
`),truncated:ge.truncated,toolCount:ge.toolCount,workspace:ge.workspace})).sort((oe,ge)=>oe.filePath.localeCompare(ge.filePath));return{totalAdded:Q,totalRemoved:pe,files:ie,changedTools:I}},[u]),P=mt(J=>J.inspector.widthPx),T=mt(J=>J.inspector.minWidthPx),j=mt(J=>J.inspector.maxWidthPx),C=mt(J=>J.setInspectorWidthPx),E=u.length>0,A=y.useMemo(()=>r||ef({isEmbedded:t,leafCount:s,isMobileViewport:o}),[t,o,s,r]),L=A.inspectorMode,F=!!(i&&(h&&E||w||S||k)),N=!!i&&(L==="drawer"||F),[B,U]=y.useState(()=>L==="rail"),[$,ee]=y.useState(!1);return y.useEffect(()=>{U(L==="rail"?F:!1)},[F,L,i]),y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Q=requestIdleCallback(()=>ee(!0));return()=>cancelIdleCallback(Q)}const J=window.setTimeout(()=>ee(!0),300);return()=>window.clearTimeout(J)},[]),y.useEffect(()=>{if(typeof window>"u"||!i)return;const J=Q=>{var ie;(((ie=Q.detail)==null?void 0:ie.sessionId)??null)===i&&U(!0)};return window.addEventListener(_u,J),()=>{window.removeEventListener(_u,J)}},[i]),a.jsx("div",{"data-session-workspace-shell":!0,"data-inspector-mode":L,"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(Ee,{style:{flex:1,minHeight:0},children:N&&L==="rail"&&B?a.jsx(wd,{layout:"horizontal",sizesPx:[0,P],minFirstPx:320,minSecondPx:T,style:{flex:1,minHeight:0},handleSizePx:4,onResizeEnd:([,J])=>{const Q=Math.max(T,Math.min(j,J));C(Q)},first:a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Kp,{sessionId:i,embedded:t,paneCount:s,auxReady:$,sessionDiffSummary:k,workspaceState:A,inspectorEligible:F,onRequestOpenInspector:()=>U(!0)})}),second:a.jsx(Gp,{sessionId:i,auxReady:$,mode:L,open:B,onOpenChange:U,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(Kp,{sessionId:i,embedded:t,paneCount:s,auxReady:$,sessionDiffSummary:k,workspaceState:A,inspectorEligible:F,onRequestOpenInspector:()=>U(!0)})}),N?a.jsx(Gp,{sessionId:i,auxReady:$,mode:L,open:B,onOpenChange:U,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k}):null]})})})},XA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>a.jsx(YA,{sessionId:e,embedded:t,paneCount:n,workspaceState:r}),KA=ft.lazy(()=>Gt(()=>import("./index-B-6erFBV.js"),__vite__mapDeps([25,1,2,3,4,5,6,26]),import.meta.url).then(e=>({default:e.HomeDashboard}))),{useToken:VA}=ct,{Text:GA}=dt,JA=4,QA=({leafId:e})=>{var pe;const{token:t}=VA(),{t:n}=Ve(),r=mt(I=>I.tree),s=mt(I=>I.leafSessionIds),o=mt(I=>I.activeLeafId),i=mt(I=>I.setActiveLeafId),l=mt(I=>I.splitLeaf),u=mt(I=>I.closeLeaf),d=mt(I=>I.setLeafSessionId),h=se(I=>I.selectSession),m=se(I=>I.addChat),b=se(I=>I.systemPrompts),v=se(I=>I.lastSelectedPromptId),w=s[e]??null,S=se(js(w)),k=y.useMemo(()=>Vn(r),[r]),P=k.length,T=Math.max(0,k.indexOf(e))+1,j=P<JA,C=_g("(max-width: 768px)"),E=y.useMemo(()=>ef({isEmbedded:!0,leafCount:P,isMobileViewport:C}),[C,P]),A=E.isMultiPane,F=A||!!w,N=E.isMultiPane,B=o===e,U=((pe=S==null?void 0:S.title)==null?void 0:pe.trim())||n("chat.multiPane.selectSessionHint"),$=!C,ee=E.inspectorTogglePlacement==="pane_header"&&!!w,J=y.useCallback(I=>{d(e,I),i(e),h(I)},[e,h,i,d]),Q=y.useCallback(async()=>{var oe,ge;const I=b.find(de=>de.id===v),ie=(I==null?void 0:I.id)||(b.length>0?((oe=b.find(de=>de.id==="general_assistant"))==null?void 0:oe.id)||b[0].id:""),be=await m({title:n("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:ie,baseSystemPrompt:(I==null?void 0:I.content)||(b.length>0?((ge=b.find(de=>de.id==="general_assistant"))==null?void 0:ge.content)||b[0].content:""),lastUsedEnhancedPrompt:null}});d(e,be),i(e)},[m,v,b,n,e,d,i]);return a.jsxs("div",{className:"chat-pane-shell",onMouseDownCapture:()=>{Kn("pane focus (mouse)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e),w&&h(w)},onFocusCapture:()=>{Kn("pane focus (focus)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e)},style:{height:"100%",minHeight:0,border:N?`1px solid ${B?t.colorPrimaryBorder:t.colorBorderSecondary}`:"none",borderRadius:N?t.borderRadiusLG:0,overflow:"hidden",background:t.colorBgContainer,position:"relative"},children:[$?a.jsx("div",{className:"chat-pane-shell__header",style:{padding:`${t.paddingXS}px ${t.paddingSM}px`,borderBottom:`1px solid ${t.colorBorderSecondary}`,background:N?t.colorBgElevated:t.colorBgContainer},children:a.jsxs(Ee,{align:"center",justify:"space-between",gap:t.marginSM,style:{minWidth:0},children:[a.jsxs(Ee,{align:"center",gap:t.marginXS,style:{minWidth:0,flex:1},children:[N?a.jsx(Je,{color:B?"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(GA,{strong:!!w,type:w?void 0:"secondary",ellipsis:{tooltip:U},children:U})})]}),a.jsxs(Ee,{className:"chat-pane-shell__actions",align:"center",gap:4,children:[a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(ux,{}),disabled:!j,title:n("chat.multiPane.splitHorizontal"),"aria-label":n("chat.multiPane.splitHorizontal"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane split request",{leafId:e,layout:"horizontal"}),l(e,"horizontal");const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;be&&h(be)}}),a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(dx,{}),disabled:!j,title:n("chat.multiPane.splitVertical"),"aria-label":n("chat.multiPane.splitVertical"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane split request",{leafId:e,layout:"vertical"}),l(e,"vertical");const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;be&&h(be)}}),a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(wg,{}),disabled:!w,title:n("chat.multiPane.selectMessagesToExport"),"aria-label":n("chat.multiPane.selectMessagesToExport"),onClick:I=>{I.preventDefault(),I.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(wu,{detail:{sessionId:w}}))}}),ee?a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(ud,{}),title:n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),"aria-label":n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),onClick:I=>{I.preventDefault(),I.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(_u,{detail:{sessionId:w}}))}}):null,a.jsx(Ae,{size:"small",type:"text",danger:!0,icon:a.jsx(Ts,{}),disabled:!F,title:n("chat.multiPane.closePane"),"aria-label":n("chat.multiPane.closePane"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane close request",{leafId:e}),A?u(e):d(e,null);const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;h(be)}})]})]})}):null,a.jsx("div",{className:"chat-pane-shell__content",children:w?a.jsx(Hi,{name:"ChatView",children:a.jsx(XA,{sessionId:w,embedded:!0,paneCount:P,workspaceState:E})}):a.jsx(Hi,{name:"HomeDashboard",children:a.jsx(ft.Suspense,{fallback:null,children:a.jsx(KA,{onOpenSession:J,onCreateSession:Q})})})})]})},ZA=({node:e})=>{const t=mt(r=>r.splitSizesPx[e.id]??null),n=mt(r=>r.setSplitSizesPx);return a.jsx(wd,{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(Vu,{node:e.children[0]}),second:a.jsx(Vu,{node:e.children[1]})})},Vu=({node:e})=>e.type==="leaf"?a.jsx(QA,{leafId:e.id}):a.jsx(ZA,{node:e}),Jp=()=>{const e=mt(h=>h.tree),t=mt(h=>h.leafSessionIds),n=mt(h=>h.activeLeafId),r=mt(h=>h.setActiveLeafId),s=mt(h=>h.setLeafSessionId),o=se(h=>h.chats.map(m=>m.id).join(",")),i=y.useMemo(()=>new Set(o.split(",")),[o]),l=se(h=>h.currentSessionId),u=y.useRef(!1),d=y.useMemo(()=>Vn(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(Vu,{node:e})})},e1=ft.lazy(()=>Gt(()=>import("./index-Ccxo4-w9.js"),__vite__mapDeps([27,1,2,3,4,28,5,6,21,29]),import.meta.url).then(e=>({default:e.SystemSettingsPage}))),t1=ft.lazy(()=>Gt(()=>import("./index-4Mo8dj-Y.js"),__vite__mapDeps([30,1,2,3,4,5,6,31]),import.meta.url).then(e=>({default:e.CommandPalette}))),n1=ft.lazy(()=>Gt(()=>import("./FeatureGuide-BlFyQEho.js"),__vite__mapDeps([32,1,2,3,28]),import.meta.url).then(e=>({default:e.FeatureGuide}))),Qp="bodhi_open_provider_on_entry",r1="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",s1=()=>(C0(),null),o1=({themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r})=>{const s=Oi($=>$.isOpen),o=Oi($=>$.close),{t:i}=Ve(),{token:l}=ct.useToken(),u=Sd(),d=y.useMemo(()=>cy()==="macos",[]);y.useEffect(()=>{localStorage.getItem(Qp)==="true"&&(localStorage.removeItem(Qp),Oi.getState().open("chat","provider"))},[]),e0(),y.useEffect(()=>{ah.clear(),lh()},[e]),y.useEffect(()=>{ah.clear(),lh()},[u]);const h=mt($=>$.sidebar.collapsed),m=mt($=>$.sidebar.widthPx),b=mt($=>$.sidebar.minWidthPx),v=mt($=>$.sidebar.maxWidthPx),w=mt($=>$.setSidebarCollapsed),S=mt($=>$.setSidebarWidthPx),k=18,P=0,j=!s&&h&&d?44:P,C=0,E=88,A=10,L="none",F=Ol(),N="min(86vw, 360px)",[B,U]=y.useState(!1);return y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const ee=requestIdleCallback(()=>U(!0));return()=>cancelIdleCallback(ee)}const $=window.setTimeout(()=>U(!0),200);return()=>window.clearTimeout($)},[]),y.useEffect(()=>{const $=ee=>{!((ee.metaKey||ee.ctrlKey)&&ee.key.toLowerCase()==="k")||B||(ee.preventDefault(),window[r1]=!0,U(!0))};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[B]),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:$=>{$.currentTarget.style.top="8px",$.currentTarget.style.left="8px"},onBlur:$=>{$.currentTarget.style.top="-9999px",$.currentTarget.style.left="-9999px"},children:i("app.skipToContent","Skip to main content")}),B&&a.jsx(ft.Suspense,{fallback:null,children:a.jsx(t1,{})}),B&&a.jsx(ft.Suspense,{fallback:null,children:a.jsx(n1,{disabled:s})}),B&&a.jsx(s1,{}),a.jsx(Xs,{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(Xs,{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:L,overflow:"hidden"},children:a.jsx(Hi,{name:"SystemSettings",children:a.jsx(ft.Suspense,{fallback:a.jsx("div",{style:{padding:24,color:"var(--ant-color-text-secondary)"},children:i("app.loading","Loading…")}),children:a.jsx(e1,{themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r,onBack:o})})})}):a.jsx(a.Fragment,{children:F?a.jsxs(a.Fragment,{children:[a.jsx(Al,{placement:"left",closable:!1,onClose:()=>w(!0),open:!h,width:N,styles:{body:{padding:0,background:"var(--lotus-sidebar-bg)"}},children:a.jsx(sh,{})}),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:L,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Xs,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Jp,{})})})]}):a.jsx(wd,{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:([$])=>{if(h)return;const ee=Math.max(b,Math.min(v,$));S(ee)},first:a.jsx("div",{className:"lotus-shell-panel lotus-shell-sidebar",style:{height:"100%",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:L,overflow:"hidden",background:"var(--lotus-sidebar-bg)"},children:a.jsx(sh,{})}),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:L,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Xs,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Jp,{})})})})}),!s&&h?a.jsx(Ae,{"data-testid":"show-sidebar",type:"text",size:"small",icon:a.jsx(fx,{}),onClick:()=>w(!1),title:i("layout.showSidebar"),"aria-label":i("layout.showSidebar"),className:"lotus-toolbar-icon lotus-floating-sidebar-toggle",style:{position:"absolute",top:F?8:A,left:F?8:E,zIndex:40,width:36,height:36,borderRadius:12,border:`1px solid ${l.colorBorderSecondary}`,background:l.colorBgElevated,boxShadow:l.boxShadowSecondary}}):null]})})]})},i1="bodhi_open_provider_on_entry",{Title:Zp,Paragraph:em}=dt,a1=()=>{const{t:e}=Ve(),[t,n]=y.useState(!1),[r,s]=y.useState(null),[o,i]=y.useState(!1),l=async u=>{try{s(null),i(!0),await so.getInstance().markSetupComplete(),u&&localStorage.setItem(i1,"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(Zp,{level:2,children:e("setup.complete.title")}),a.jsx(em,{children:e("setup.complete.restartMessage")}),a.jsx(Ae,{"data-testid":"setup-restart",onClick:()=>window.location.reload(),children:e("setup.complete.restartMessage")})]}):a.jsx("div",{className:"setup-page",children:a.jsxs(tn,{className:"setup-page__card",children:[a.jsxs("div",{className:"setup-page__hero",children:[a.jsx("div",{className:"setup-page__hero-icon",children:a.jsx(Mf,{})}),a.jsx(Zp,{level:2,style:{marginTop:0},children:e("setup.welcome.heading")}),a.jsx(em,{type:"secondary",children:e("setup.welcome.description")})]}),a.jsx(or,{message:e("setup.welcome.providerHint"),type:"info",showIcon:!0,style:{marginBottom:16}}),a.jsx(or,{message:e("setup.welcome.proxyHint"),type:"info",showIcon:!0,style:{marginBottom:24}}),r?a.jsx(or,{message:r,type:"error",showIcon:!0,style:{marginBottom:16}}):null,a.jsxs("div",{className:"setup-page__actions",children:[a.jsx(Ae,{"data-testid":"setup-configure-provider",icon:a.jsx(jl,{}),onClick:()=>void l(!0),loading:o,children:e("setup.button.configureProvider")}),a.jsx(Ae,{"data-testid":"setup-get-started",type:"primary",icon:a.jsx(Mf,{}),onClick:()=>void l(!1),loading:o,children:e("setup.button.getStarted")})]})]})})},{Title:l1,Text:tm}=dt,c1=({onVerified:e,verifyPassword:t})=>{const{t:n}=Ve(),[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(tn,{style:{width:"100%",maxWidth:480},children:a.jsxs(He,{direction:"vertical",size:20,style:{width:"100%"},children:[a.jsxs("div",{children:[a.jsx(l1,{level:3,style:{marginBottom:8},children:n("app.passwordGate.title")}),a.jsx(tm,{type:"secondary",children:n("app.passwordGate.description")})]}),o?a.jsx(or,{type:"error",showIcon:!0,message:o}):null,a.jsxs(He,{direction:"vertical",size:8,style:{width:"100%"},children:[a.jsx(tm,{strong:!0,children:n("app.passwordGate.passwordLabel")}),a.jsx(Ps.Password,{value:r,autoFocus:!0,autoComplete:"current-password",onChange:h=>s(h.target.value),onPressEnter:()=>void d(),placeholder:n("app.passwordGate.passwordPlaceholder")})]}),a.jsx(Ae,{type:"primary",block:!0,loading:l,onClick:()=>void d(),children:n("app.passwordGate.submit")})]})})})};var Fo={},Kc={exports:{}},nm;function Ut(){return nm||(nm=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}(Kc)),Kc.exports}var Do={},rm;function u1(){if(rm)return Do;rm=1,Object.defineProperty(Do,"__esModule",{value:!0}),Do.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 Do.default=e,Do}var No={},Bo={},zo={},Vc={exports:{}},Gc={exports:{}},Jc={exports:{}},Qc={exports:{}},sm;function d1(){return sm||(sm=1,function(e){var t=cg().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}(Qc)),Qc.exports}var om;function f1(){return om||(om=1,function(e){var t=cg().default,n=d1();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}(Jc)),Jc.exports}var im;function h1(){return im||(im=1,function(e){var t=f1();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}(Gc)),Gc.exports}var am;function uo(){return am||(am=1,function(e){var t=h1();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}(Vc)),Vc.exports}var Wo={},lm;function fo(){return lm||(lm=1,Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.commonLocale=void 0,Wo.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),Wo}var cm;function p1(){if(cm)return zo;cm=1;var e=Ut().default;Object.defineProperty(zo,"__esModule",{value:!0}),zo.default=void 0;var t=e(uo()),n=fo(),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 zo.default=r,zo}var Uo={},um;function Nv(){if(um)return Uo;um=1,Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.default=void 0;const e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};return Uo.default=e,Uo}var dm;function Bv(){if(dm)return Bo;dm=1;var e=Ut().default;Object.defineProperty(Bo,"__esModule",{value:!0}),Bo.default=void 0;var t=e(p1()),n=e(Nv());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 Bo.default=r,Bo}var fm;function m1(){if(fm)return No;fm=1;var e=Ut().default;Object.defineProperty(No,"__esModule",{value:!0}),No.default=void 0;var t=e(Bv());return No.default=t.default,No}var hm;function g1(){if(hm)return Fo;hm=1;var e=Ut().default;Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.default=void 0;var t=e(u1()),n=e(m1()),r=e(Bv()),s=e(Nv());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 Fo.default=i,Fo}var Zc,pm;function y1(){return pm||(pm=1,Zc=g1()),Zc}var b1=y1();const v1=Cs(b1);var qo={},Ho={},mm;function S1(){if(mm)return Ho;mm=1,Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.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 Ho.default=e,Ho}var Yo={},Xo={},Ko={},gm;function x1(){if(gm)return Ko;gm=1;var e=Ut().default;Object.defineProperty(Ko,"__esModule",{value:!0}),Ko.default=void 0;var t=e(uo()),n=fo(),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 Ko.default=r,Ko}var Vo={},ym;function zv(){if(ym)return Vo;ym=1,Object.defineProperty(Vo,"__esModule",{value:!0}),Vo.default=void 0;const e={placeholder:"Sélectionner l'heure",rangePlaceholder:["Heure de début","Heure de fin"]};return Vo.default=e,Vo}var bm;function Wv(){if(bm)return Xo;bm=1;var e=Ut().default;Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.default=void 0;var t=e(x1()),n=e(zv());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 Xo.default=r,Xo}var vm;function w1(){if(vm)return Yo;vm=1;var e=Ut().default;Object.defineProperty(Yo,"__esModule",{value:!0}),Yo.default=void 0;var t=e(Wv());return Yo.default=t.default,Yo}var Sm;function _1(){if(Sm)return qo;Sm=1;var e=Ut().default;Object.defineProperty(qo,"__esModule",{value:!0}),qo.default=void 0;var t=e(S1()),n=e(w1()),r=e(Wv()),s=e(zv());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 qo.default=i,qo}var eu,xm;function k1(){return xm||(xm=1,eu=_1()),eu}var C1=k1();const T1=Cs(C1);var Go={},Jo={},wm;function P1(){if(wm)return Jo;wm=1,Object.defineProperty(Jo,"__esModule",{value:!0}),Jo.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 Jo.default=e,Jo}var Qo={},Zo={},ei={},_m;function E1(){if(_m)return ei;_m=1;var e=Ut().default;Object.defineProperty(ei,"__esModule",{value:!0}),ei.default=void 0;var t=e(uo()),n=fo(),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 ei.default=r,ei}var ti={},km;function Uv(){if(km)return ti;km=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.default=void 0;const e={placeholder:"समय का चयन करें",rangePlaceholder:["आरंभिक समय","अंत समय"]};return ti.default=e,ti}var Cm;function qv(){if(Cm)return Zo;Cm=1;var e=Ut().default;Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.default=void 0;var t=e(E1()),n=e(Uv());const r={lang:Object.assign({placeholder:"तारीख़ चुनें",yearPlaceholder:"वर्ष चुनें",quarterPlaceholder:"तिमाही चुनें",monthPlaceholder:"महीना चुनिए",weekPlaceholder:"सप्ताह चुनें",rangePlaceholder:["प्रारंभ तिथि","समाप्ति तिथि"],rangeYearPlaceholder:["आरंभिक वर्ष","अंत वर्ष"],rangeMonthPlaceholder:["आरंभिक महीना","अंत महीना"],rangeWeekPlaceholder:["आरंभिक सप्ताह","अंत सप्ताह"]},t.default),timePickerLocale:Object.assign({},n.default)};return Zo.default=r,Zo}var Tm;function M1(){if(Tm)return Qo;Tm=1;var e=Ut().default;Object.defineProperty(Qo,"__esModule",{value:!0}),Qo.default=void 0;var t=e(qv());return Qo.default=t.default,Qo}var Pm;function j1(){if(Pm)return Go;Pm=1;var e=Ut().default;Object.defineProperty(Go,"__esModule",{value:!0}),Go.default=void 0;var t=e(P1()),n=e(M1()),r=e(qv()),s=e(Uv());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 Go.default=i,Go}var tu,Em;function R1(){return Em||(Em=1,tu=j1()),tu}var A1=R1();const I1=Cs(A1);var ni={},ri={},Mm;function O1(){if(Mm)return ri;Mm=1,Object.defineProperty(ri,"__esModule",{value:!0}),ri.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 ri.default=e,ri}var si={},oi={},ii={},jm;function $1(){if(jm)return ii;jm=1;var e=Ut().default;Object.defineProperty(ii,"__esModule",{value:!0}),ii.default=void 0;var t=e(uo()),n=fo(),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 ii.default=r,ii}var ai={},Rm;function Hv(){if(Rm)return ai;Rm=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.default=void 0;const e={placeholder:"時間を選択",rangePlaceholder:["開始時間","終了時間"]};return ai.default=e,ai}var Am;function Yv(){if(Am)return oi;Am=1;var e=Ut().default;Object.defineProperty(oi,"__esModule",{value:!0}),oi.default=void 0;var t=e($1()),n=e(Hv());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 oi.default=r,oi}var Im;function L1(){if(Im)return si;Im=1;var e=Ut().default;Object.defineProperty(si,"__esModule",{value:!0}),si.default=void 0;var t=e(Yv());return si.default=t.default,si}var Om;function F1(){if(Om)return ni;Om=1;var e=Ut().default;Object.defineProperty(ni,"__esModule",{value:!0}),ni.default=void 0;var t=e(O1()),n=e(L1()),r=e(Yv()),s=e(Hv());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 ni.default=i,ni}var nu,$m;function D1(){return $m||($m=1,nu=F1()),nu}var N1=D1();const B1=Cs(N1);var li={},ci={},Lm;function z1(){if(Lm)return ci;Lm=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.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 ci.default=e,ci}var ui={},di={},fi={},Fm;function W1(){if(Fm)return fi;Fm=1;var e=Ut().default;Object.defineProperty(fi,"__esModule",{value:!0}),fi.default=void 0;var t=e(uo()),n=fo(),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 fi.default=r,fi}var hi={},Dm;function Xv(){if(Dm)return hi;Dm=1,Object.defineProperty(hi,"__esModule",{value:!0}),hi.default=void 0;const e={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};return hi.default=e,hi}var Nm;function Kv(){if(Nm)return di;Nm=1;var e=Ut().default;Object.defineProperty(di,"__esModule",{value:!0}),di.default=void 0;var t=e(W1()),n=e(Xv());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="确定",di.default=r,di}var Bm;function U1(){if(Bm)return ui;Bm=1;var e=Ut().default;Object.defineProperty(ui,"__esModule",{value:!0}),ui.default=void 0;var t=e(Kv());return ui.default=t.default,ui}var zm;function q1(){if(zm)return li;zm=1;var e=Ut().default;Object.defineProperty(li,"__esModule",{value:!0}),li.default=void 0;var t=e(z1()),n=e(U1()),r=e(Kv()),s=e(Xv());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 li.default=i,li}var ru,Wm;function H1(){return Wm||(Wm=1,ru=q1()),ru}var Y1=H1();const X1=Cs(Y1);var pi={},mi={},Um;function K1(){if(Um)return mi;Um=1,Object.defineProperty(mi,"__esModule",{value:!0}),mi.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 mi.default=e,mi}var gi={},yi={},bi={},qm;function V1(){if(qm)return bi;qm=1;var e=Ut().default;Object.defineProperty(bi,"__esModule",{value:!0}),bi.default=void 0;var t=e(uo()),n=fo(),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 bi.default=r,bi}var vi={},Hm;function Vv(){if(Hm)return vi;Hm=1,Object.defineProperty(vi,"__esModule",{value:!0}),vi.default=void 0;const e={placeholder:"請選擇時間"};return vi.default=e,vi}var Ym;function Gv(){if(Ym)return yi;Ym=1;var e=Ut().default;Object.defineProperty(yi,"__esModule",{value:!0}),yi.default=void 0;var t=e(V1()),n=e(Vv());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="確 定",yi.default=r,yi}var Xm;function G1(){if(Xm)return gi;Xm=1;var e=Ut().default;Object.defineProperty(gi,"__esModule",{value:!0}),gi.default=void 0;var t=e(Gv());return gi.default=t.default,gi}var Km;function J1(){if(Km)return pi;Km=1;var e=Ut().default;Object.defineProperty(pi,"__esModule",{value:!0}),pi.default=void 0;var t=e(K1()),n=e(G1()),r=e(Gv()),s=e(Vv());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 pi.default=i,pi}var su,Vm;function Q1(){return Vm||(Vm=1,su=J1()),su}var Z1=Q1();const eI=Cs(Z1),Gm=e=>{switch(e){case"zh-CN":return X1;case"zh-TW":return eI;case"fr-FR":return T1;case"ja-JP":return B1;case"hi-IN":return I1;default:return v1}},Jv="lotus_vdi_safe_mode",Jm=()=>{try{return localStorage.getItem(Jv)==="true"}catch{return!1}},UI=e=>{try{localStorage.setItem(Jv,e.toString())}catch(t){console.error("[vdiSafeMode] Failed to persist setting:",t)}};async function tI(){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 nI="copilot_ui_theme_v1",Gu={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)"},Ju={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)"},Qu={Tag:{defaultBg:"rgba(13, 148, 136, 0.1)",defaultColor:"#0f766e"},Table:{bodySortBg:"rgba(13, 148, 136, 0.08)"}},Zu={Tag:{defaultBg:"rgba(45, 212, 191, 0.18)",defaultColor:"#ccfbf1"},Table:{bodySortBg:"rgba(45, 212, 191, 0.14)"}},Qm={...Gu,colorBgElevated:"#ffffff",colorBgSpotlight:"#0f172a",colorFillTertiary:"#f3f7f6"},Zm={...Ju,colorBgElevated:"#0f1b18",colorBgSpotlight:"#22332f",colorFillTertiary:"#162622"},eg={...Qu,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"}},tg={...Zu,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 rI(){const{t:e}=Ve(),t=pl(C=>C.themeMode),n=pl(C=>C.setThemeMode),[r,s]=y.useState(()=>hx()),[o,i]=y.useState(()=>Jm()),[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(nI,t)},[t]),y.useEffect(()=>{localStorage.setItem(px,r),mx(r)},[r]),y.useEffect(()=>{let C=!1;const E=Date.now(),A=async()=>{try{const L=so.getInstance(),F=await L.getAccessStatus();if(C)return;if(h(null),w(F),F.requires_password&&!S){u(!1);return}const N=await L.getSetupStatus();if(C)return;u(N.is_complete)}catch(L){if(C)return;const F=Date.now()-E;if(F>=2e4){const U=Es(),$=L instanceof Error&&L.message.trim()?L.message:"Unknown error";h(e("app.backendNotReachable",{baseUrl:U,message:$}));return}const B=Math.min(500+Math.floor(F/2),2e3);setTimeout(()=>{C||A()},B)}};return A(),()=>{C=!0}},[S,m,e]),y.useEffect(()=>{document.body.setAttribute("data-theme",t)},[t]),y.useEffect(()=>{const C=()=>{const E=Jm();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&&gd().then(()=>yd()).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(()=>{tI().catch(E=>{console.warn("[App] Storage migration failed:",E)})},5e3);return()=>clearTimeout(C)},[]),v!=null&&v.requires_password&&!S)return a.jsx(jf,{locale:Gm(r),theme:{token:t==="dark"?o?Zm:Ju:o?Qm:Gu,algorithm:t==="dark"?ct.darkAlgorithm:ct.defaultAlgorithm,components:t==="dark"?o?tg:Zu:o?eg:Qu},children:a.jsx(Dn,{children:a.jsx(Hi,{name:"PasswordGatePage",children:a.jsx(c1,{verifyPassword:async C=>{await so.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(Ae,{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(o1,{themeMode:t,onThemeModeChange:n,locale:r,onLocaleChange:s}):a.jsx(a1,{}),T=t==="dark"?o?Zm:Ju:o?Qm:Gu,j=t==="dark"?o?tg:Zu:o?eg:Qu;return a.jsx(jf,{locale:Gm(r),theme:{token:T,algorithm:t==="dark"?ct.darkAlgorithm:ct.defaultAlgorithm,components:j},children:a.jsx(Dn,{children:a.jsx(Hi,{name:"App",children:a.jsx("div",{style:{position:"relative"},children:P})})})})}const qI=Object.freeze(Object.defineProperty({__proto__:null,default:rI},Symbol.toStringTag,{value:"Module"}));export{kk as $,WI as A,zi as B,Cu as C,Ui as D,eT as E,Uk as F,Qg as G,Qn as H,Pc as I,Nk as J,mu as K,cs as L,Sd as M,kI as N,CI as O,jI as P,jx as Q,Sc as R,so as S,vs as T,oy as U,xd as V,TI as W,AI as X,uI as Y,Jk as Z,Kf as _,xt as a,Pk as a0,dy as a1,Jm as a2,Ok as a3,RI as a4,MI as a5,EI as a6,PI as a7,UI as a8,dI as a9,_I as aa,qI as ab,Ii as b,Oi as c,pl as d,mt as e,Fv as f,Vn as g,Zs as h,$l as i,hy as j,Nt as k,Yg as l,YM as m,js as n,W_ as o,zI as p,Lo as q,Gk as r,Zi as s,Li as t,se as u,je as v,ao as w,Gi as x,Rr as y,rt as z};
|
|
224
|
+
`),truncated:ge.truncated,toolCount:ge.toolCount,workspace:ge.workspace})).sort((oe,ge)=>oe.filePath.localeCompare(ge.filePath));return{totalAdded:Q,totalRemoved:pe,files:ie,changedTools:I}},[u]),P=mt(J=>J.inspector.widthPx),T=mt(J=>J.inspector.minWidthPx),j=mt(J=>J.inspector.maxWidthPx),C=mt(J=>J.setInspectorWidthPx),E=u.length>0,A=y.useMemo(()=>r||ef({isEmbedded:t,leafCount:s,isMobileViewport:o}),[t,o,s,r]),L=A.inspectorMode,F=!!(i&&(h&&E||w||S||k)),N=!!i&&(L==="drawer"||F),[B,U]=y.useState(()=>L==="rail"),[$,ee]=y.useState(!1);return y.useEffect(()=>{U(L==="rail"?F:!1)},[F,L,i]),y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const Q=requestIdleCallback(()=>ee(!0));return()=>cancelIdleCallback(Q)}const J=window.setTimeout(()=>ee(!0),300);return()=>window.clearTimeout(J)},[]),y.useEffect(()=>{if(typeof window>"u"||!i)return;const J=Q=>{var ie;(((ie=Q.detail)==null?void 0:ie.sessionId)??null)===i&&U(!0)};return window.addEventListener(_u,J),()=>{window.removeEventListener(_u,J)}},[i]),a.jsx("div",{"data-session-workspace-shell":!0,"data-inspector-mode":L,"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(Ee,{style:{flex:1,minHeight:0},children:N&&L==="rail"&&B?a.jsx(wd,{layout:"horizontal",sizesPx:[0,P],minFirstPx:320,minSecondPx:T,style:{flex:1,minHeight:0},handleSizePx:4,onResizeEnd:([,J])=>{const Q=Math.max(T,Math.min(j,J));C(Q)},first:a.jsx("div",{style:{flex:1,minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:a.jsx(Kp,{sessionId:i,embedded:t,paneCount:s,auxReady:$,sessionDiffSummary:k,workspaceState:A,inspectorEligible:F,onRequestOpenInspector:()=>U(!0)})}),second:a.jsx(Gp,{sessionId:i,auxReady:$,mode:L,open:B,onOpenChange:U,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(Kp,{sessionId:i,embedded:t,paneCount:s,auxReady:$,sessionDiffSummary:k,workspaceState:A,inspectorEligible:F,onRequestOpenInspector:()=>U(!0)})}),N?a.jsx(Gp,{sessionId:i,auxReady:$,mode:L,open:B,onOpenChange:U,showMessagesView:E,shouldShowTaskPanel:w,hasSubAgents:S,sessionDiffSummary:k}):null]})})})},XA=({sessionId:e,embedded:t=!1,paneCount:n=1,workspaceState:r})=>a.jsx(YA,{sessionId:e,embedded:t,paneCount:n,workspaceState:r}),KA=ft.lazy(()=>Gt(()=>import("./index-DdEEn03o.js"),__vite__mapDeps([25,1,2,3,4,5,6,26]),import.meta.url).then(e=>({default:e.HomeDashboard}))),{useToken:VA}=ct,{Text:GA}=dt,JA=4,QA=({leafId:e})=>{var pe;const{token:t}=VA(),{t:n}=Ve(),r=mt(I=>I.tree),s=mt(I=>I.leafSessionIds),o=mt(I=>I.activeLeafId),i=mt(I=>I.setActiveLeafId),l=mt(I=>I.splitLeaf),u=mt(I=>I.closeLeaf),d=mt(I=>I.setLeafSessionId),h=se(I=>I.selectSession),m=se(I=>I.addChat),b=se(I=>I.systemPrompts),v=se(I=>I.lastSelectedPromptId),w=s[e]??null,S=se(js(w)),k=y.useMemo(()=>Vn(r),[r]),P=k.length,T=Math.max(0,k.indexOf(e))+1,j=P<JA,C=_g("(max-width: 768px)"),E=y.useMemo(()=>ef({isEmbedded:!0,leafCount:P,isMobileViewport:C}),[C,P]),A=E.isMultiPane,F=A||!!w,N=E.isMultiPane,B=o===e,U=((pe=S==null?void 0:S.title)==null?void 0:pe.trim())||n("chat.multiPane.selectSessionHint"),$=!C,ee=E.inspectorTogglePlacement==="pane_header"&&!!w,J=y.useCallback(I=>{d(e,I),i(e),h(I)},[e,h,i,d]),Q=y.useCallback(async()=>{var oe,ge;const I=b.find(de=>de.id===v),ie=(I==null?void 0:I.id)||(b.length>0?((oe=b.find(de=>de.id==="general_assistant"))==null?void 0:oe.id)||b[0].id:""),be=await m({title:n("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:ie,baseSystemPrompt:(I==null?void 0:I.content)||(b.length>0?((ge=b.find(de=>de.id==="general_assistant"))==null?void 0:ge.content)||b[0].content:""),lastUsedEnhancedPrompt:null}});d(e,be),i(e)},[m,v,b,n,e,d,i]);return a.jsxs("div",{className:"chat-pane-shell",onMouseDownCapture:()=>{Kn("pane focus (mouse)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e),w&&h(w)},onFocusCapture:()=>{Kn("pane focus (focus)",{leafId:e,sessionId:w,prevActiveLeafId:o}),i(e)},style:{height:"100%",minHeight:0,border:N?`1px solid ${B?t.colorPrimaryBorder:t.colorBorderSecondary}`:"none",borderRadius:N?t.borderRadiusLG:0,overflow:"hidden",background:t.colorBgContainer,position:"relative"},children:[$?a.jsx("div",{className:"chat-pane-shell__header",style:{padding:`${t.paddingXS}px ${t.paddingSM}px`,borderBottom:`1px solid ${t.colorBorderSecondary}`,background:N?t.colorBgElevated:t.colorBgContainer},children:a.jsxs(Ee,{align:"center",justify:"space-between",gap:t.marginSM,style:{minWidth:0},children:[a.jsxs(Ee,{align:"center",gap:t.marginXS,style:{minWidth:0,flex:1},children:[N?a.jsx(Je,{color:B?"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(GA,{strong:!!w,type:w?void 0:"secondary",ellipsis:{tooltip:U},children:U})})]}),a.jsxs(Ee,{className:"chat-pane-shell__actions",align:"center",gap:4,children:[a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(ux,{}),disabled:!j,title:n("chat.multiPane.splitHorizontal"),"aria-label":n("chat.multiPane.splitHorizontal"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane split request",{leafId:e,layout:"horizontal"}),l(e,"horizontal");const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;be&&h(be)}}),a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(dx,{}),disabled:!j,title:n("chat.multiPane.splitVertical"),"aria-label":n("chat.multiPane.splitVertical"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane split request",{leafId:e,layout:"vertical"}),l(e,"vertical");const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;be&&h(be)}}),a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(wg,{}),disabled:!w,title:n("chat.multiPane.selectMessagesToExport"),"aria-label":n("chat.multiPane.selectMessagesToExport"),onClick:I=>{I.preventDefault(),I.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(wu,{detail:{sessionId:w}}))}}),ee?a.jsx(Ae,{size:"small",type:"text",icon:a.jsx(ud,{}),title:n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),"aria-label":n("chat.workspace.openInspector",{defaultValue:"Open inspector"}),onClick:I=>{I.preventDefault(),I.stopPropagation(),w&&window.dispatchEvent(new CustomEvent(_u,{detail:{sessionId:w}}))}}):null,a.jsx(Ae,{size:"small",type:"text",danger:!0,icon:a.jsx(Ts,{}),disabled:!F,title:n("chat.multiPane.closePane"),"aria-label":n("chat.multiPane.closePane"),onClick:I=>{I.preventDefault(),I.stopPropagation(),Kn("pane close request",{leafId:e}),A?u(e):d(e,null);const ie=mt.getState(),be=ie.leafSessionIds[ie.activeLeafId]??null;h(be)}})]})]})}):null,a.jsx("div",{className:"chat-pane-shell__content",children:w?a.jsx(Hi,{name:"ChatView",children:a.jsx(XA,{sessionId:w,embedded:!0,paneCount:P,workspaceState:E})}):a.jsx(Hi,{name:"HomeDashboard",children:a.jsx(ft.Suspense,{fallback:null,children:a.jsx(KA,{onOpenSession:J,onCreateSession:Q})})})})]})},ZA=({node:e})=>{const t=mt(r=>r.splitSizesPx[e.id]??null),n=mt(r=>r.setSplitSizesPx);return a.jsx(wd,{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(Vu,{node:e.children[0]}),second:a.jsx(Vu,{node:e.children[1]})})},Vu=({node:e})=>e.type==="leaf"?a.jsx(QA,{leafId:e.id}):a.jsx(ZA,{node:e}),Jp=()=>{const e=mt(h=>h.tree),t=mt(h=>h.leafSessionIds),n=mt(h=>h.activeLeafId),r=mt(h=>h.setActiveLeafId),s=mt(h=>h.setLeafSessionId),o=se(h=>h.chats.map(m=>m.id).join(",")),i=y.useMemo(()=>new Set(o.split(",")),[o]),l=se(h=>h.currentSessionId),u=y.useRef(!1),d=y.useMemo(()=>Vn(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(Vu,{node:e})})},e1=ft.lazy(()=>Gt(()=>import("./index-JLScRSdR.js"),__vite__mapDeps([27,1,2,3,4,28,5,6,21,29]),import.meta.url).then(e=>({default:e.SystemSettingsPage}))),t1=ft.lazy(()=>Gt(()=>import("./index-Dggksxfu.js"),__vite__mapDeps([30,1,2,3,4,5,6,31]),import.meta.url).then(e=>({default:e.CommandPalette}))),n1=ft.lazy(()=>Gt(()=>import("./FeatureGuide-BlFyQEho.js"),__vite__mapDeps([32,1,2,3,28]),import.meta.url).then(e=>({default:e.FeatureGuide}))),Qp="bodhi_open_provider_on_entry",r1="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",s1=()=>(C0(),null),o1=({themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r})=>{const s=Oi($=>$.isOpen),o=Oi($=>$.close),{t:i}=Ve(),{token:l}=ct.useToken(),u=Sd(),d=y.useMemo(()=>cy()==="macos",[]);y.useEffect(()=>{localStorage.getItem(Qp)==="true"&&(localStorage.removeItem(Qp),Oi.getState().open("chat","provider"))},[]),e0(),y.useEffect(()=>{ah.clear(),lh()},[e]),y.useEffect(()=>{ah.clear(),lh()},[u]);const h=mt($=>$.sidebar.collapsed),m=mt($=>$.sidebar.widthPx),b=mt($=>$.sidebar.minWidthPx),v=mt($=>$.sidebar.maxWidthPx),w=mt($=>$.setSidebarCollapsed),S=mt($=>$.setSidebarWidthPx),k=18,P=0,j=!s&&h&&d?44:P,C=0,E=88,A=10,L="none",F=Ol(),N="min(86vw, 360px)",[B,U]=y.useState(!1);return y.useEffect(()=>{if(typeof requestIdleCallback=="function"){const ee=requestIdleCallback(()=>U(!0));return()=>cancelIdleCallback(ee)}const $=window.setTimeout(()=>U(!0),200);return()=>window.clearTimeout($)},[]),y.useEffect(()=>{const $=ee=>{!((ee.metaKey||ee.ctrlKey)&&ee.key.toLowerCase()==="k")||B||(ee.preventDefault(),window[r1]=!0,U(!0))};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[B]),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:$=>{$.currentTarget.style.top="8px",$.currentTarget.style.left="8px"},onBlur:$=>{$.currentTarget.style.top="-9999px",$.currentTarget.style.left="-9999px"},children:i("app.skipToContent","Skip to main content")}),B&&a.jsx(ft.Suspense,{fallback:null,children:a.jsx(t1,{})}),B&&a.jsx(ft.Suspense,{fallback:null,children:a.jsx(n1,{disabled:s})}),B&&a.jsx(s1,{}),a.jsx(Xs,{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(Xs,{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:L,overflow:"hidden"},children:a.jsx(Hi,{name:"SystemSettings",children:a.jsx(ft.Suspense,{fallback:a.jsx("div",{style:{padding:24,color:"var(--ant-color-text-secondary)"},children:i("app.loading","Loading…")}),children:a.jsx(e1,{themeMode:e,onThemeModeChange:t,locale:n,onLocaleChange:r,onBack:o})})})}):a.jsx(a.Fragment,{children:F?a.jsxs(a.Fragment,{children:[a.jsx(Al,{placement:"left",closable:!1,onClose:()=>w(!0),open:!h,width:N,styles:{body:{padding:0,background:"var(--lotus-sidebar-bg)"}},children:a.jsx(sh,{})}),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:L,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Xs,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Jp,{})})})]}):a.jsx(wd,{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:([$])=>{if(h)return;const ee=Math.max(b,Math.min(v,$));S(ee)},first:a.jsx("div",{className:"lotus-shell-panel lotus-shell-sidebar",style:{height:"100%",minHeight:0,borderRadius:`${k}px 0 0 ${k}px`,border:L,overflow:"hidden",background:"var(--lotus-sidebar-bg)"},children:a.jsx(sh,{})}),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:L,overflow:"hidden",background:"var(--lotus-main-surface)",boxShadow:"var(--lotus-shadow-shell)"},children:a.jsx(Xs,{style:{display:"flex",flexDirection:"column",background:"transparent",minHeight:0,height:"100%"},children:a.jsx(Jp,{})})})})}),!s&&h?a.jsx(Ae,{"data-testid":"show-sidebar",type:"text",size:"small",icon:a.jsx(fx,{}),onClick:()=>w(!1),title:i("layout.showSidebar"),"aria-label":i("layout.showSidebar"),className:"lotus-toolbar-icon lotus-floating-sidebar-toggle",style:{position:"absolute",top:F?8:A,left:F?8:E,zIndex:40,width:36,height:36,borderRadius:12,border:`1px solid ${l.colorBorderSecondary}`,background:l.colorBgElevated,boxShadow:l.boxShadowSecondary}}):null]})})]})},i1="bodhi_open_provider_on_entry",{Title:Zp,Paragraph:em}=dt,a1=()=>{const{t:e}=Ve(),[t,n]=y.useState(!1),[r,s]=y.useState(null),[o,i]=y.useState(!1),l=async u=>{try{s(null),i(!0),await so.getInstance().markSetupComplete(),u&&localStorage.setItem(i1,"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(Zp,{level:2,children:e("setup.complete.title")}),a.jsx(em,{children:e("setup.complete.restartMessage")}),a.jsx(Ae,{"data-testid":"setup-restart",onClick:()=>window.location.reload(),children:e("setup.complete.restartMessage")})]}):a.jsx("div",{className:"setup-page",children:a.jsxs(tn,{className:"setup-page__card",children:[a.jsxs("div",{className:"setup-page__hero",children:[a.jsx("div",{className:"setup-page__hero-icon",children:a.jsx(Mf,{})}),a.jsx(Zp,{level:2,style:{marginTop:0},children:e("setup.welcome.heading")}),a.jsx(em,{type:"secondary",children:e("setup.welcome.description")})]}),a.jsx(or,{message:e("setup.welcome.providerHint"),type:"info",showIcon:!0,style:{marginBottom:16}}),a.jsx(or,{message:e("setup.welcome.proxyHint"),type:"info",showIcon:!0,style:{marginBottom:24}}),r?a.jsx(or,{message:r,type:"error",showIcon:!0,style:{marginBottom:16}}):null,a.jsxs("div",{className:"setup-page__actions",children:[a.jsx(Ae,{"data-testid":"setup-configure-provider",icon:a.jsx(jl,{}),onClick:()=>void l(!0),loading:o,children:e("setup.button.configureProvider")}),a.jsx(Ae,{"data-testid":"setup-get-started",type:"primary",icon:a.jsx(Mf,{}),onClick:()=>void l(!1),loading:o,children:e("setup.button.getStarted")})]})]})})},{Title:l1,Text:tm}=dt,c1=({onVerified:e,verifyPassword:t})=>{const{t:n}=Ve(),[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(tn,{style:{width:"100%",maxWidth:480},children:a.jsxs(He,{direction:"vertical",size:20,style:{width:"100%"},children:[a.jsxs("div",{children:[a.jsx(l1,{level:3,style:{marginBottom:8},children:n("app.passwordGate.title")}),a.jsx(tm,{type:"secondary",children:n("app.passwordGate.description")})]}),o?a.jsx(or,{type:"error",showIcon:!0,message:o}):null,a.jsxs(He,{direction:"vertical",size:8,style:{width:"100%"},children:[a.jsx(tm,{strong:!0,children:n("app.passwordGate.passwordLabel")}),a.jsx(Ps.Password,{value:r,autoFocus:!0,autoComplete:"current-password",onChange:h=>s(h.target.value),onPressEnter:()=>void d(),placeholder:n("app.passwordGate.passwordPlaceholder")})]}),a.jsx(Ae,{type:"primary",block:!0,loading:l,onClick:()=>void d(),children:n("app.passwordGate.submit")})]})})})};var Fo={},Kc={exports:{}},nm;function Ut(){return nm||(nm=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}(Kc)),Kc.exports}var Do={},rm;function u1(){if(rm)return Do;rm=1,Object.defineProperty(Do,"__esModule",{value:!0}),Do.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 Do.default=e,Do}var No={},Bo={},zo={},Vc={exports:{}},Gc={exports:{}},Jc={exports:{}},Qc={exports:{}},sm;function d1(){return sm||(sm=1,function(e){var t=cg().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}(Qc)),Qc.exports}var om;function f1(){return om||(om=1,function(e){var t=cg().default,n=d1();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}(Jc)),Jc.exports}var im;function h1(){return im||(im=1,function(e){var t=f1();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}(Gc)),Gc.exports}var am;function uo(){return am||(am=1,function(e){var t=h1();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}(Vc)),Vc.exports}var Wo={},lm;function fo(){return lm||(lm=1,Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.commonLocale=void 0,Wo.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),Wo}var cm;function p1(){if(cm)return zo;cm=1;var e=Ut().default;Object.defineProperty(zo,"__esModule",{value:!0}),zo.default=void 0;var t=e(uo()),n=fo(),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 zo.default=r,zo}var Uo={},um;function Nv(){if(um)return Uo;um=1,Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.default=void 0;const e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};return Uo.default=e,Uo}var dm;function Bv(){if(dm)return Bo;dm=1;var e=Ut().default;Object.defineProperty(Bo,"__esModule",{value:!0}),Bo.default=void 0;var t=e(p1()),n=e(Nv());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 Bo.default=r,Bo}var fm;function m1(){if(fm)return No;fm=1;var e=Ut().default;Object.defineProperty(No,"__esModule",{value:!0}),No.default=void 0;var t=e(Bv());return No.default=t.default,No}var hm;function g1(){if(hm)return Fo;hm=1;var e=Ut().default;Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.default=void 0;var t=e(u1()),n=e(m1()),r=e(Bv()),s=e(Nv());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 Fo.default=i,Fo}var Zc,pm;function y1(){return pm||(pm=1,Zc=g1()),Zc}var b1=y1();const v1=Cs(b1);var qo={},Ho={},mm;function S1(){if(mm)return Ho;mm=1,Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.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 Ho.default=e,Ho}var Yo={},Xo={},Ko={},gm;function x1(){if(gm)return Ko;gm=1;var e=Ut().default;Object.defineProperty(Ko,"__esModule",{value:!0}),Ko.default=void 0;var t=e(uo()),n=fo(),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 Ko.default=r,Ko}var Vo={},ym;function zv(){if(ym)return Vo;ym=1,Object.defineProperty(Vo,"__esModule",{value:!0}),Vo.default=void 0;const e={placeholder:"Sélectionner l'heure",rangePlaceholder:["Heure de début","Heure de fin"]};return Vo.default=e,Vo}var bm;function Wv(){if(bm)return Xo;bm=1;var e=Ut().default;Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.default=void 0;var t=e(x1()),n=e(zv());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 Xo.default=r,Xo}var vm;function w1(){if(vm)return Yo;vm=1;var e=Ut().default;Object.defineProperty(Yo,"__esModule",{value:!0}),Yo.default=void 0;var t=e(Wv());return Yo.default=t.default,Yo}var Sm;function _1(){if(Sm)return qo;Sm=1;var e=Ut().default;Object.defineProperty(qo,"__esModule",{value:!0}),qo.default=void 0;var t=e(S1()),n=e(w1()),r=e(Wv()),s=e(zv());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 qo.default=i,qo}var eu,xm;function k1(){return xm||(xm=1,eu=_1()),eu}var C1=k1();const T1=Cs(C1);var Go={},Jo={},wm;function P1(){if(wm)return Jo;wm=1,Object.defineProperty(Jo,"__esModule",{value:!0}),Jo.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 Jo.default=e,Jo}var Qo={},Zo={},ei={},_m;function E1(){if(_m)return ei;_m=1;var e=Ut().default;Object.defineProperty(ei,"__esModule",{value:!0}),ei.default=void 0;var t=e(uo()),n=fo(),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 ei.default=r,ei}var ti={},km;function Uv(){if(km)return ti;km=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.default=void 0;const e={placeholder:"समय का चयन करें",rangePlaceholder:["आरंभिक समय","अंत समय"]};return ti.default=e,ti}var Cm;function qv(){if(Cm)return Zo;Cm=1;var e=Ut().default;Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.default=void 0;var t=e(E1()),n=e(Uv());const r={lang:Object.assign({placeholder:"तारीख़ चुनें",yearPlaceholder:"वर्ष चुनें",quarterPlaceholder:"तिमाही चुनें",monthPlaceholder:"महीना चुनिए",weekPlaceholder:"सप्ताह चुनें",rangePlaceholder:["प्रारंभ तिथि","समाप्ति तिथि"],rangeYearPlaceholder:["आरंभिक वर्ष","अंत वर्ष"],rangeMonthPlaceholder:["आरंभिक महीना","अंत महीना"],rangeWeekPlaceholder:["आरंभिक सप्ताह","अंत सप्ताह"]},t.default),timePickerLocale:Object.assign({},n.default)};return Zo.default=r,Zo}var Tm;function M1(){if(Tm)return Qo;Tm=1;var e=Ut().default;Object.defineProperty(Qo,"__esModule",{value:!0}),Qo.default=void 0;var t=e(qv());return Qo.default=t.default,Qo}var Pm;function j1(){if(Pm)return Go;Pm=1;var e=Ut().default;Object.defineProperty(Go,"__esModule",{value:!0}),Go.default=void 0;var t=e(P1()),n=e(M1()),r=e(qv()),s=e(Uv());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 Go.default=i,Go}var tu,Em;function R1(){return Em||(Em=1,tu=j1()),tu}var A1=R1();const I1=Cs(A1);var ni={},ri={},Mm;function O1(){if(Mm)return ri;Mm=1,Object.defineProperty(ri,"__esModule",{value:!0}),ri.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 ri.default=e,ri}var si={},oi={},ii={},jm;function $1(){if(jm)return ii;jm=1;var e=Ut().default;Object.defineProperty(ii,"__esModule",{value:!0}),ii.default=void 0;var t=e(uo()),n=fo(),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 ii.default=r,ii}var ai={},Rm;function Hv(){if(Rm)return ai;Rm=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.default=void 0;const e={placeholder:"時間を選択",rangePlaceholder:["開始時間","終了時間"]};return ai.default=e,ai}var Am;function Yv(){if(Am)return oi;Am=1;var e=Ut().default;Object.defineProperty(oi,"__esModule",{value:!0}),oi.default=void 0;var t=e($1()),n=e(Hv());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 oi.default=r,oi}var Im;function L1(){if(Im)return si;Im=1;var e=Ut().default;Object.defineProperty(si,"__esModule",{value:!0}),si.default=void 0;var t=e(Yv());return si.default=t.default,si}var Om;function F1(){if(Om)return ni;Om=1;var e=Ut().default;Object.defineProperty(ni,"__esModule",{value:!0}),ni.default=void 0;var t=e(O1()),n=e(L1()),r=e(Yv()),s=e(Hv());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 ni.default=i,ni}var nu,$m;function D1(){return $m||($m=1,nu=F1()),nu}var N1=D1();const B1=Cs(N1);var li={},ci={},Lm;function z1(){if(Lm)return ci;Lm=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.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 ci.default=e,ci}var ui={},di={},fi={},Fm;function W1(){if(Fm)return fi;Fm=1;var e=Ut().default;Object.defineProperty(fi,"__esModule",{value:!0}),fi.default=void 0;var t=e(uo()),n=fo(),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 fi.default=r,fi}var hi={},Dm;function Xv(){if(Dm)return hi;Dm=1,Object.defineProperty(hi,"__esModule",{value:!0}),hi.default=void 0;const e={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};return hi.default=e,hi}var Nm;function Kv(){if(Nm)return di;Nm=1;var e=Ut().default;Object.defineProperty(di,"__esModule",{value:!0}),di.default=void 0;var t=e(W1()),n=e(Xv());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="确定",di.default=r,di}var Bm;function U1(){if(Bm)return ui;Bm=1;var e=Ut().default;Object.defineProperty(ui,"__esModule",{value:!0}),ui.default=void 0;var t=e(Kv());return ui.default=t.default,ui}var zm;function q1(){if(zm)return li;zm=1;var e=Ut().default;Object.defineProperty(li,"__esModule",{value:!0}),li.default=void 0;var t=e(z1()),n=e(U1()),r=e(Kv()),s=e(Xv());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 li.default=i,li}var ru,Wm;function H1(){return Wm||(Wm=1,ru=q1()),ru}var Y1=H1();const X1=Cs(Y1);var pi={},mi={},Um;function K1(){if(Um)return mi;Um=1,Object.defineProperty(mi,"__esModule",{value:!0}),mi.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 mi.default=e,mi}var gi={},yi={},bi={},qm;function V1(){if(qm)return bi;qm=1;var e=Ut().default;Object.defineProperty(bi,"__esModule",{value:!0}),bi.default=void 0;var t=e(uo()),n=fo(),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 bi.default=r,bi}var vi={},Hm;function Vv(){if(Hm)return vi;Hm=1,Object.defineProperty(vi,"__esModule",{value:!0}),vi.default=void 0;const e={placeholder:"請選擇時間"};return vi.default=e,vi}var Ym;function Gv(){if(Ym)return yi;Ym=1;var e=Ut().default;Object.defineProperty(yi,"__esModule",{value:!0}),yi.default=void 0;var t=e(V1()),n=e(Vv());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="確 定",yi.default=r,yi}var Xm;function G1(){if(Xm)return gi;Xm=1;var e=Ut().default;Object.defineProperty(gi,"__esModule",{value:!0}),gi.default=void 0;var t=e(Gv());return gi.default=t.default,gi}var Km;function J1(){if(Km)return pi;Km=1;var e=Ut().default;Object.defineProperty(pi,"__esModule",{value:!0}),pi.default=void 0;var t=e(K1()),n=e(G1()),r=e(Gv()),s=e(Vv());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 pi.default=i,pi}var su,Vm;function Q1(){return Vm||(Vm=1,su=J1()),su}var Z1=Q1();const eI=Cs(Z1),Gm=e=>{switch(e){case"zh-CN":return X1;case"zh-TW":return eI;case"fr-FR":return T1;case"ja-JP":return B1;case"hi-IN":return I1;default:return v1}},Jv="lotus_vdi_safe_mode",Jm=()=>{try{return localStorage.getItem(Jv)==="true"}catch{return!1}},UI=e=>{try{localStorage.setItem(Jv,e.toString())}catch(t){console.error("[vdiSafeMode] Failed to persist setting:",t)}};async function tI(){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 nI="copilot_ui_theme_v1",Gu={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)"},Ju={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)"},Qu={Tag:{defaultBg:"rgba(13, 148, 136, 0.1)",defaultColor:"#0f766e"},Table:{bodySortBg:"rgba(13, 148, 136, 0.08)"}},Zu={Tag:{defaultBg:"rgba(45, 212, 191, 0.18)",defaultColor:"#ccfbf1"},Table:{bodySortBg:"rgba(45, 212, 191, 0.14)"}},Qm={...Gu,colorBgElevated:"#ffffff",colorBgSpotlight:"#0f172a",colorFillTertiary:"#f3f7f6"},Zm={...Ju,colorBgElevated:"#0f1b18",colorBgSpotlight:"#22332f",colorFillTertiary:"#162622"},eg={...Qu,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"}},tg={...Zu,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 rI(){const{t:e}=Ve(),t=pl(C=>C.themeMode),n=pl(C=>C.setThemeMode),[r,s]=y.useState(()=>hx()),[o,i]=y.useState(()=>Jm()),[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(nI,t)},[t]),y.useEffect(()=>{localStorage.setItem(px,r),mx(r)},[r]),y.useEffect(()=>{let C=!1;const E=Date.now(),A=async()=>{try{const L=so.getInstance(),F=await L.getAccessStatus();if(C)return;if(h(null),w(F),F.requires_password&&!S){u(!1);return}const N=await L.getSetupStatus();if(C)return;u(N.is_complete)}catch(L){if(C)return;const F=Date.now()-E;if(F>=2e4){const U=Es(),$=L instanceof Error&&L.message.trim()?L.message:"Unknown error";h(e("app.backendNotReachable",{baseUrl:U,message:$}));return}const B=Math.min(500+Math.floor(F/2),2e3);setTimeout(()=>{C||A()},B)}};return A(),()=>{C=!0}},[S,m,e]),y.useEffect(()=>{document.body.setAttribute("data-theme",t)},[t]),y.useEffect(()=>{const C=()=>{const E=Jm();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&&gd().then(()=>yd()).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(()=>{tI().catch(E=>{console.warn("[App] Storage migration failed:",E)})},5e3);return()=>clearTimeout(C)},[]),v!=null&&v.requires_password&&!S)return a.jsx(jf,{locale:Gm(r),theme:{token:t==="dark"?o?Zm:Ju:o?Qm:Gu,algorithm:t==="dark"?ct.darkAlgorithm:ct.defaultAlgorithm,components:t==="dark"?o?tg:Zu:o?eg:Qu},children:a.jsx(Dn,{children:a.jsx(Hi,{name:"PasswordGatePage",children:a.jsx(c1,{verifyPassword:async C=>{await so.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(Ae,{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(o1,{themeMode:t,onThemeModeChange:n,locale:r,onLocaleChange:s}):a.jsx(a1,{}),T=t==="dark"?o?Zm:Ju:o?Qm:Gu,j=t==="dark"?o?tg:Zu:o?eg:Qu;return a.jsx(jf,{locale:Gm(r),theme:{token:T,algorithm:t==="dark"?ct.darkAlgorithm:ct.defaultAlgorithm,components:j},children:a.jsx(Dn,{children:a.jsx(Hi,{name:"App",children:a.jsx("div",{style:{position:"relative"},children:P})})})})}const qI=Object.freeze(Object.defineProperty({__proto__:null,default:rI},Symbol.toStringTag,{value:"Module"}));export{kk as $,WI as A,zi as B,Cu as C,Ui as D,eT as E,Uk as F,Qg as G,Qn as H,Pc as I,Nk as J,mu as K,cs as L,Sd as M,kI as N,CI as O,jI as P,jx as Q,Sc as R,so as S,vs as T,oy as U,xd as V,TI as W,AI as X,uI as Y,Jk as Z,Kf as _,xt as a,Pk as a0,dy as a1,Jm as a2,Ok as a3,RI as a4,MI as a5,EI as a6,PI as a7,UI as a8,dI as a9,_I as aa,qI as ab,Ii as b,Oi as c,pl as d,mt as e,Fv as f,Vn as g,Zs as h,$l as i,hy as j,Nt as k,Yg as l,YM as m,js as n,W_ as o,zI as p,Lo as q,Gk as r,Zi as s,Li as t,se as u,je as v,ao as w,Gi as x,Rr as y,rt as z};
|