page-agent-sdk 4.24.0 → 4.24.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("zod"),require("@langchain/openai"),require("@langchain/core/messages"),require("@langchain/core/tools"),require("@langchain/core/errors")):typeof define==`function`&&define.amd?define([`exports`,`zod`,`@langchain/openai`,`@langchain/core/messages`,`@langchain/core/tools`,`@langchain/core/errors`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ChatSdk={},e.Zod,e.LangchainOpenAI,e.LangchainCoreMessages,e.LangchainCoreTools,e.LangchainCoreErrors))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e},m=(e,t,n)=>(n=e==null?{}:o(u(e)),p(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e));function h(e){return!!(e==null||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof Blob<`u`&&e instanceof Blob||e instanceof URLSearchParams||e instanceof FormData)}function g(e){let t=e.model||`deepseek-v4-flash`,r=e.temperature,i=e.maxTokens,a=e.baseUrl;if(e.mode===`direct`){let o=!1;try{o=typeof location<`u`&&location.protocol===`https:`&&![`localhost`,`127.0.0.1`,`0.0.0.0`].includes(location.hostname)}catch{}if(o){if(e.throwOnDirectInProduction)throw Error(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式(throwOnDirectInProduction 已启用强安全闸;若确需生产直连,设为 false 显式承认风险)`);console.warn(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式`)}if(!e.apiKey)throw Error(`[page-agent-sdk][proxyLlm] direct 模式需提供 apiKey(开发环境用真实 key)`);return new n.ChatOpenAI({apiKey:e.apiKey,model:t,temperature:r,maxTokens:i,maxRetries:0,configuration:a?{baseURL:a}:void 0})}a||console.warn(`[page-agent-sdk][proxyLlm] proxy 模式未配 baseUrl,将打到页面 origin(通常不是预期);请传代理地址如 '/api/llm'`);let o=e.userToken||`proxy`,s=null;function c(){return e.refreshToken?(s||=e.refreshToken().finally(()=>{s=null}),s):Promise.resolve(o)}return new n.ChatOpenAI({apiKey:o,model:t,temperature:r,maxTokens:i,maxRetries:0,configuration:{baseURL:a||`/`,fetch:async(t,n)=>{let r,i;typeof t==`string`?(r=t,i=n?.headers):t instanceof URL?(r=t.toString(),i=n?.headers):(r=t.url,i=n?.headers??t.headers);let a=new Headers(i);if(a.set(`Authorization`,`Bearer ${o}`),e.headers)for(let[t,n]of Object.entries(e.headers))a.set(t,n);let s=()=>fetch(r,{...n,headers:a}),l=await s();if(l.status===401&&e.refreshToken&&h(n?.body))try{o=await c(),a.set(`Authorization`,`Bearer ${o}`),l=await s()}catch{}return l}}})}var _=[{pattern:/deepseek-v4/i,caps:{contextWindow:1048576,maxOutputTokens:393216,thinking:!0}},{pattern:/deepseek-flash/i,caps:{contextWindow:1048576,maxOutputTokens:393216,thinking:!0,vision:!0}},{pattern:/deepseek-reasoner|deepseek-r1/i,caps:{contextWindow:65536,maxOutputTokens:8192,thinking:!0}},{pattern:/deepseek/i,caps:{contextWindow:131072,maxOutputTokens:8192,thinking:!0}},{pattern:/gpt-5/i,caps:{contextWindow:1048576,maxOutputTokens:32768,vision:!0}},{pattern:/gpt-4\.1/i,caps:{contextWindow:1047576,maxOutputTokens:32768,vision:!0}},{pattern:/gpt-4o-mini/i,caps:{contextWindow:131072,maxOutputTokens:16384,vision:!0}},{pattern:/gpt-4o/i,caps:{contextWindow:131072,maxOutputTokens:16384,vision:!0}},{pattern:/gpt-4-turbo|gpt-4-1106|gpt-4-0125/i,caps:{contextWindow:131072,maxOutputTokens:4096,vision:!0}},{pattern:/gpt-3\.5/i,caps:{contextWindow:16385,maxOutputTokens:4096}},{pattern:/claude-(sonnet|opus)-4|claude-4/i,caps:{contextWindow:2e5,maxOutputTokens:64e3,vision:!0,thinking:!0}},{pattern:/claude-3-7-sonnet/i,caps:{contextWindow:2e5,maxOutputTokens:8192,vision:!0,thinking:!0}},{pattern:/claude-3-5-sonnet/i,caps:{contextWindow:2e5,maxOutputTokens:8192,vision:!0}},{pattern:/claude-3-opus/i,caps:{contextWindow:2e5,maxOutputTokens:4096,vision:!0}},{pattern:/claude-3-haiku/i,caps:{contextWindow:2e5,maxOutputTokens:4096,vision:!0}},{pattern:/qwen2\.5-vl|qwen2-vl|qwen-vl|qvq/i,caps:{contextWindow:32768,maxOutputTokens:2048,vision:!0}},{pattern:/qwen3(\.\d+)?-vl/i,caps:{contextWindow:262144,maxOutputTokens:32768,vision:!0}},{pattern:/qwen3(\.\d+)?-(max|plus|flash)/i,caps:{contextWindow:262144,maxOutputTokens:32768,thinking:!0}},{pattern:/qwen-max|qwen-plus/i,caps:{contextWindow:32768,maxOutputTokens:8192}},{pattern:/qwen2\.5-1m|qwen-1m/i,caps:{contextWindow:1048576,maxOutputTokens:8192}},{pattern:/qwen2\.5/i,caps:{contextWindow:32768,maxOutputTokens:8192}},{pattern:/glm-5\.2/i,caps:{contextWindow:1048576,maxOutputTokens:65536,thinking:!0}},{pattern:/glm-5/i,caps:{contextWindow:2e5,maxOutputTokens:65536}},{pattern:/glm-4v|glm4v/i,caps:{contextWindow:32768,maxOutputTokens:2048,vision:!0}},{pattern:/glm-4\.[6-9]/i,caps:{contextWindow:131072,maxOutputTokens:131072}},{pattern:/glm-4\.5/i,caps:{contextWindow:131072,maxOutputTokens:98304}},{pattern:/glm-4|glm4/i,caps:{contextWindow:131072,maxOutputTokens:4096}},{pattern:/kimi-k3/i,caps:{contextWindow:1048576,maxOutputTokens:65536}},{pattern:/kimi-k2|kimi|moonshot/i,caps:{contextWindow:262144,maxOutputTokens:32768}},{pattern:/yi-34b|yi-large/i,caps:{contextWindow:32768,maxOutputTokens:4096}}],v={contextWindow:32768,maxOutputTokens:4096},y=2e5;function b(e){if(!e)return;let t=_.map(t=>{let n=t.pattern.exec(e);return n?{caps:t.caps,matchedLen:n[0].length}:null}).filter(e=>e!==null);if(t.length)return t.sort((e,t)=>t.matchedLen-e.matchedLen),t[0].caps}function x(e){return b(e)?.maxOutputTokens}var S={contextWindow:2e5,requestMaxTokens:32768};function C(e,t,n){let r=n??t.maxOutputTokens,i=t.contextWindow<S.contextWindow,a=r<S.requestMaxTokens;if(!i&&!a)return null;let o=[];return i&&o.push(`上下文 ${Math.round(t.contextWindow/1e3)}K(基线 ≥200K)`),a&&o.push(`输出上限 ${Math.round(r/1e3)}K(基线 ≥32K)`),`[page-agent-sdk] 模型 ${e||`(未命名)`} 能力低于推荐基线:${o.join(` / `)}。复杂任务(大页面生成/长对话/深度思考)可能受约束 —— 若实际模型能力更强,显式配置 llm.contextWindow / llm.maxTokens;若模型确实较小,建议换大窗口模型(DeepSeek-v4/GLM-5.2/Claude-4/GPT-5)`}function w(e={}){let t=b(e.model);return{contextWindow:e.contextWindow??t?.contextWindow??v.contextWindow,maxOutputTokens:e.maxOutputTokens??t?.maxOutputTokens??v.maxOutputTokens,vision:e.vision??t?.vision??!1,thinking:e.thinking??t?.thinking??!1}}function T(e){if(!e)return 0;let t=(e.match(/[\u4e00-\u9fff]/g)||[]).length,n=e.length-t;return Math.ceil(t*1.5+n*.25)}function E(e){return Math.max(2e3,Math.min(2e4,Math.round(e*.035)))}function D(e){let t=E(e);return Math.min(2e5,Math.max(t,Math.round(e*.7)))}function O(e,t){if(!t)return e;if(t===`simple`){let t=e.extraBody&&`thinking`in e.extraBody;if(!t&&!e.thinking)return e;let{thinking:n,...r}=e,i=r;if(t){let{thinking:t,...n}=e.extraBody;i.extraBody=n}return i}if(e.provider===`anthropic`){if(e.thinking?.type===`enabled`&&e.thinking.budget_tokens)return e;let t=e.thinking?.budget_tokens??Math.min(e.maxTokens??8e3,8e3);return{...e,thinking:{type:`enabled`,budget_tokens:t}}}let n=e.extraBody?.thinking??{};return{...e,extraBody:{...e.extraBody??{},thinking:{...n,type:`enabled`}}}}function k(e,t,n){if(t)return t;if(e.thinkingMode)return e.thinkingMode;if(!(e.extraBody&&`thinking`in e.extraBody||e.thinking))return n||(w({model:e.model}).thinking?`deep`:void 0)}function A(e,t){if(t?.headers){let e=new Headers(t.headers),n=!1;for(let t of[...e.keys()])t.toLowerCase().startsWith(`x-stainless`)&&(e.delete(t),n=!0);n&&(t={...t,headers:e})}return fetch(e,t)}function j(e){return!e||!e.startsWith(`/`)||typeof location>`u`||!location.origin?e:`${location.origin}${e}`}function M(e,t={}){return e=O(e,k(e,t.thinkingMode,t.thinkingFallback)),new n.ChatOpenAI({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens??x(e.model),maxRetries:0,configuration:{...e.baseUrl?{baseURL:j(e.baseUrl)}:{},fetch:A,...e.extraConfig},...e.extraBody?{modelKwargs:e.extraBody}:{}})}function ee(e){return e.some((e,t)=>t>0&&e.getType()===`system`)?e.map((e,t)=>t===0||e.getType()!==`system`?e:new r.HumanMessage({content:typeof e.content==`string`?`〔系统注记〕\n${e.content}`:e.content})):e}function N(e){let t=e,n=e=>Array.isArray(e)?ee(e):e,r=t.invoke.bind(e),i=t.stream.bind(e);return t.invoke=async(e,t)=>r(n(e),t),t.stream=async(e,t)=>i(n(e),t),e}async function te(e,t={}){if(e=O(e,k(e,t.thinkingMode,t.thinkingFallback)),(e.provider??`openai`)===`openai`)return M(e,t);let{ChatAnthropic:n}=await import(`@langchain/anthropic`);return N(new n({apiKey:e.apiKey,model:e.model,temperature:e.thinking?1:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens??x(e.model),maxRetries:0,...e.baseUrl?{anthropicApiUrl:j(e.baseUrl)}:{},...e.extraConfig?{clientOptions:e.extraConfig}:{},...e.thinking?{thinking:e.thinking}:{},...e.cacheControl?{invocationKwargs:{cache_control:{type:`ephemeral`,...e.cacheControl===!0?{}:{ttl:e.cacheControl}}}}:{}}))}function ne(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:e?.type===`text`&&typeof e.text==`string`?e.text:``).join(``):``}function P(e){let t=e.additional_kwargs||{},n=t.reasoning_content||t.reasoning||``;return!n&&Array.isArray(e.content)&&(n=e.content.map(e=>e?.type===`thinking`?e.thinking??``:e?.type===`thinking_delta`?e.delta??e.thinking??``:``).join(``)),n}function re(e){let t=e,n=[t?.additional_kwargs?.usage,t?.usage_metadata,t?.response_metadata?.usage,t?.response_metadata?.token_usage,t?.response_metadata?.tokenUsage];for(let e of n)if(e&&typeof e==`object`&&ie(e))return e}function ie(e){return[`prompt_tokens`,`completion_tokens`,`total_tokens`,`promptTokens`,`completionTokens`,`totalTokens`,`input_tokens`,`output_tokens`,`inputTokens`,`outputTokens`].some(t=>typeof e[t]==`number`&&e[t]>0)}function F(e){let t=re(e);if(!t||typeof t!=`object`)return null;let n=t,r=Number(n.prompt_tokens??n.promptTokens??n.input_tokens??n.inputTokens??0)||0,i=Number(n.completion_tokens??n.completionTokens??n.output_tokens??n.outputTokens??0)||0,a=Number(n.total_tokens??n.totalTokens??r+i)||0;if(!r&&!i&&!a)return null;let o=n.input_token_details,s=Number(n.cache_read_input_tokens??n.cacheReadInputTokens??o?.cache_read??0)||0,c=Number(n.cache_creation_input_tokens??n.cacheCreationInputTokens??o?.cache_creation??0)||0,l=n.output_token_details,u=n.completion_tokens_details,d=e,f=Number(l?.reasoning??u?.reasoning_tokens??d?.response_metadata?.usage?.completion_tokens_details?.reasoning_tokens??0)||0;return{prompt_tokens:r,completion_tokens:i,total_tokens:a,...s?{cache_read_input_tokens:s}:{},...c?{cache_creation_input_tokens:c}:{},...f?{reasoning_tokens:f}:{}}}function ae(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var I=process.env.NODE_ENV===`production`?{}:Object.freeze({}),oe=process.env.NODE_ENV===`production`?[]:Object.freeze([]),se=()=>{},ce=()=>!1,L=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),R=e=>e.startsWith(`onUpdate:`),le=Object.assign,ue=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},de=Object.prototype.hasOwnProperty,z=(e,t)=>de.call(e,t),B=Array.isArray,fe=e=>ye(e)===`[object Map]`,pe=e=>ye(e)===`[object Set]`,me=e=>ye(e)===`[object Date]`,V=e=>typeof e==`function`,he=e=>typeof e==`string`,ge=e=>typeof e==`symbol`,H=e=>typeof e==`object`&&!!e,_e=e=>(H(e)||V(e))&&V(e.then)&&V(e.catch),ve=Object.prototype.toString,ye=e=>ve.call(e),be=e=>ye(e).slice(8,-1),xe=e=>ye(e)===`[object Object]`,Se=e=>he(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,Ce=ae(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),we=ae(`bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo`),Te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Ee=/-\w/g,De=Te(e=>e.replace(Ee,e=>e.slice(1).toUpperCase())),Oe=/\B([A-Z])/g,ke=Te(e=>e.replace(Oe,`-$1`).toLowerCase()),Ae=Te(e=>e.charAt(0).toUpperCase()+e.slice(1)),je=Te(e=>e?`on${Ae(e)}`:``),Me=(e,t)=>!Object.is(e,t),Ne=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Pe=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Fe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},Ie=e=>{let t=he(e)?Number(e):NaN;return isNaN(t)?e:t},Le,Re=()=>Le||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ze(e){if(B(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=he(r)?Ue(r):ze(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(he(e)||H(e))return e}var Be=/;(?![^(]*\))/g,Ve=/:([^]+)/,He=/\/\*[^]*?\*\//g;function Ue(e){let t={};return e.replace(He,``).split(Be).forEach(e=>{if(e){let n=e.split(Ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function We(e){let t=``;if(he(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){let r=We(e[n]);r&&(t+=r+` `)}else if(H(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var Ge=`html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot`,Ke=`svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view`,qe=`annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics`,Je=ae(Ge),Ye=ae(Ke),Xe=ae(qe),Ze=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,Qe=ae(Ze);Ze+``;function $e(e){return!!e||e===``}function et(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=tt(e[r],t[r]);return n}function tt(e,t){if(e===t)return!0;let n=me(e),r=me(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=ge(e),r=ge(t),n||r)return e===t;if(n=B(e),r=B(t),n||r)return n&&r?et(e,t):!1;if(n=H(e),r=H(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!tt(e[n],t[n]))return!1}}return String(e)===String(t)}var nt=e=>!!(e&&e.__v_isRef===!0),U=e=>he(e)?e:e==null?``:B(e)||H(e)&&(e.toString===ve||!V(e.toString))?nt(e)?U(e.value):JSON.stringify(e,rt,2):String(e),rt=(e,t)=>nt(t)?rt(e,t.value):fe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[it(t,r)+` =>`]=n,e),{})}:pe(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>it(e))}:ge(t)?it(t):H(t)&&!B(t)&&!xe(t)?String(t):t,it=(e,t=``)=>ge(e)?`Symbol(${e.description??t})`:e;function at(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var ot,st=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&ot&&(ot.active?(this.parent=ot,this.index=(ot.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=ot;try{return ot=this,e()}finally{ot=t}}else process.env.NODE_ENV!==`production`&&this._warnOnRun&&at(`cannot run an inactive effect scope.`)}on(){++this._on===1&&(this.prevScope=ot,ot=this)}off(){if(this._on>0&&--this._on===0){if(ot===this)ot=this.prevScope;else{let e=ot;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function ct(){return ot}function lt(e,t=!1){ot?ot.cleanups.push(e):process.env.NODE_ENV!==`production`&&!t&&at(`onScopeDispose() is called when there is no active effect scope to be associated with.`)}var ut,dt=new WeakSet,ft=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ot&&(ot.active?ot.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,dt.has(this)&&(dt.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gt(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,kt(this),yt(this);let e=ut,t=Tt;ut=this,Tt=!0;try{return this.fn()}finally{process.env.NODE_ENV!==`production`&&ut!==this&&at(`Active effect was not restored correctly - this is likely a Vue internal bug.`),bt(this),ut=e,Tt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Ct(e);this.deps=this.depsTail=void 0,kt(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?dt.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){xt(this)&&this.run()}get dirty(){return xt(this)}},pt=0,mt,ht;function gt(e,t=!1){if(e.flags|=8,t){e.next=ht,ht=e;return}e.next=mt,mt=e}function _t(){pt++}function vt(){if(--pt>0)return;if(ht){let e=ht;for(ht=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;mt;){let t=mt;for(mt=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function yt(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function bt(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ct(r),wt(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function xt(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(St(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function St(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===At)||(e.globalVersion=At,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xt(e))))return;e.flags|=2;let t=e.dep,n=ut,r=Tt;ut=e,Tt=!0;try{yt(e);let n=e.fn(e._value);(t.version===0||Me(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{ut=n,Tt=r,bt(e),e.flags&=-3}}function Ct(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),process.env.NODE_ENV!==`production`&&n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ct(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wt(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Tt=!0,Et=[];function Dt(){Et.push(Tt),Tt=!1}function Ot(){let e=Et.pop();Tt=e===void 0||e}function kt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=ut;ut=void 0;try{t()}finally{ut=e}}}var At=0,jt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Mt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!==`production`&&(this.subsHead=void 0)}track(e){if(!ut||!Tt||ut===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ut)t=this.activeLink=new jt(ut,this),ut.deps?(t.prevDep=ut.depsTail,ut.depsTail.nextDep=t,ut.depsTail=t):ut.deps=ut.depsTail=t,Nt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=ut.depsTail,t.nextDep=void 0,ut.depsTail.nextDep=t,ut.depsTail=t,ut.deps===t&&(ut.deps=e)}return process.env.NODE_ENV!==`production`&&ut.onTrack&&ut.onTrack(le({effect:ut},e)),t}trigger(e){this.version++,At++,this.notify(e)}notify(e){_t();try{if(process.env.NODE_ENV!==`production`)for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(t.sub.flags&8)&&t.sub.onTrigger(le({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{vt()}}};function Nt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Nt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),process.env.NODE_ENV!==`production`&&e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}var Pt=new WeakMap,Ft=Symbol(process.env.NODE_ENV===`production`?``:`Object iterate`),It=Symbol(process.env.NODE_ENV===`production`?``:`Map keys iterate`),Lt=Symbol(process.env.NODE_ENV===`production`?``:`Array iterate`);function Rt(e,t,n){if(Tt&&ut){let r=Pt.get(e);r||Pt.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new Mt),i.map=r,i.key=n),process.env.NODE_ENV===`production`?i.track():i.track({target:e,type:t,key:n})}}function zt(e,t,n,r,i,a){let o=Pt.get(e);if(!o){At++;return}let s=o=>{o&&(process.env.NODE_ENV===`production`?o.trigger():o.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:a}))};if(_t(),t===`clear`)o.forEach(s);else{let i=B(e),a=i&&Se(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Lt||!ge(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Lt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Ft)),fe(e)&&s(o.get(It)));break;case`delete`:i||(s(o.get(Ft)),fe(e)&&s(o.get(It)));break;case`set`:fe(e)&&s(o.get(Ft));break}}vt()}function Bt(e){let t=jn(e);return t===e?t:(Rt(t,`iterate`,Lt),kn(e)?t:t.map(Nn))}function Vt(e){return Rt(e=jn(e),`iterate`,Lt),e}function Ht(e,t){return On(e)?Pn(Dn(e)?Nn(t):t):Nn(t)}var Ut={__proto__:null,[Symbol.iterator](){return Wt(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Bt(this).concat(...e.map(e=>B(e)?Bt(e):e))},entries(){return Wt(this,`entries`,e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return Kt(this,`every`,e,t,void 0,arguments)},filter(e,t){return Kt(this,`filter`,e,t,e=>e.map(e=>Ht(this,e)),arguments)},find(e,t){return Kt(this,`find`,e,t,e=>Ht(this,e),arguments)},findIndex(e,t){return Kt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Kt(this,`findLast`,e,t,e=>Ht(this,e),arguments)},findLastIndex(e,t){return Kt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Kt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Jt(this,`includes`,e)},indexOf(...e){return Jt(this,`indexOf`,e)},join(e){return Bt(this).join(e)},lastIndexOf(...e){return Jt(this,`lastIndexOf`,e)},map(e,t){return Kt(this,`map`,e,t,void 0,arguments)},pop(){return Yt(this,`pop`)},push(...e){return Yt(this,`push`,e)},reduce(e,...t){return qt(this,`reduce`,e,t)},reduceRight(e,...t){return qt(this,`reduceRight`,e,t)},shift(){return Yt(this,`shift`)},some(e,t){return Kt(this,`some`,e,t,void 0,arguments)},splice(...e){return Yt(this,`splice`,e)},toReversed(){return Bt(this).toReversed()},toSorted(e){return Bt(this).toSorted(e)},toSpliced(...e){return Bt(this).toSpliced(...e)},unshift(...e){return Yt(this,`unshift`,e)},values(){return Wt(this,`values`,e=>Ht(this,e))}};function Wt(e,t,n){let r=Vt(e),i=r[t]();return r!==e&&!kn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Gt=Array.prototype;function Kt(e,t,n,r,i,a){let o=Vt(e),s=o!==e&&!kn(e),c=o[t];if(c!==Gt[t]){let t=c.apply(e,a);return s?Nn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Ht(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function qt(e,t,n,r){let i=Vt(e),a=i!==e&&!kn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=Ht(e,t)),n.call(this,t,Ht(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?Ht(e,c):c}function Jt(e,t,n){let r=jn(e);Rt(r,`iterate`,Lt);let i=r[t](...n);return(i===-1||i===!1)&&An(n[0])?(n[0]=jn(n[0]),r[t](...n)):i}function Yt(e,t,n=[]){Dt(),_t();let r=jn(e)[t].apply(e,n);return vt(),Ot(),r}var Xt=ae(`__proto__,__v_isRef,__isVue`),Zt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(ge));function Qt(e){ge(e)||(e=String(e));let t=jn(this);return Rt(t,`has`,e),t.hasOwnProperty(e)}var $t=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?bn:yn:i?vn:_n).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=B(e);if(!r){let e;if(a&&(e=Ut[t]))return e;if(t===`hasOwnProperty`)return Qt}let o=Reflect.get(e,t,Fn(e)?e:n);if((ge(t)?Zt.has(t):Xt(t))||(r||Rt(e,`get`,t),i))return o;if(Fn(o)){let e=a&&Se(t)?o:o.value;return r&&H(e)?wn(e):e}return H(o)?r?wn(o):Sn(o):o}},en=class extends $t{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=B(e)&&Se(t);if(!this._isShallow){let r=On(i);if(!kn(n)&&!On(n)&&(i=jn(i),n=jn(n)),!a&&Fn(i)&&!Fn(n))return r?(process.env.NODE_ENV!==`production`&&at(`Set operation on key "${String(t)}" failed: target is readonly.`,e[t]),!0):(i.value=n,!0)}let o=a?Number(t)<e.length:z(e,t),s=Reflect.set(e,t,n,Fn(e)?e:r);return e===jn(r)&&s&&(o?Me(n,i)&&zt(e,`set`,t,n,i):zt(e,`add`,t,n)),s}deleteProperty(e,t){let n=z(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&zt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!ge(t)||!Zt.has(t))&&Rt(e,`has`,t),n}ownKeys(e){return Rt(e,`iterate`,B(e)?`length`:Ft),Reflect.ownKeys(e)}},tn=class extends $t{constructor(e=!1){super(!0,e)}set(e,t){return process.env.NODE_ENV!==`production`&&at(`Set operation on key "${String(t)}" failed: target is readonly.`,e),!0}deleteProperty(e,t){return process.env.NODE_ENV!==`production`&&at(`Delete operation on key "${String(t)}" failed: target is readonly.`,e),!0}},nn=new en,rn=new tn,an=new en(!0),on=new tn(!0),sn=e=>e,cn=e=>Reflect.getPrototypeOf(e);function ln(e,t,n){return function(...r){let i=this.__v_raw,a=jn(i),o=fe(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?sn:t?Pn:Nn;return!t&&Rt(a,`iterate`,c?It:Ft),le(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function un(e){return function(...t){if(process.env.NODE_ENV!==`production`){let n=t[0]?`on key "${t[0]}" `:``;at(`${Ae(e)} operation ${n}failed: target is readonly.`,jn(this))}return e===`delete`?!1:e===`clear`?void 0:this}}function dn(e,t){let n={get(n){let r=this.__v_raw,i=jn(r),a=jn(n);e||(Me(n,a)&&Rt(i,`get`,n),Rt(i,`get`,a));let{has:o}=cn(i),s=t?sn:e?Pn:Nn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&Rt(jn(t),`iterate`,Ft),t.size},has(t){let n=this.__v_raw,r=jn(n),i=jn(t);return e||(Me(t,i)&&Rt(r,`has`,t),Rt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=jn(a),s=t?sn:e?Pn:Nn;return!e&&Rt(o,`iterate`,Ft),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return le(n,e?{add:un(`add`),set:un(`set`),delete:un(`delete`),clear:un(`clear`)}:{add(e){let n=jn(this),r=cn(n),i=jn(e),a=!t&&!kn(e)&&!On(e)?i:e;return r.has.call(n,a)||Me(e,a)&&r.has.call(n,e)||Me(i,a)&&r.has.call(n,i)||(n.add(a),zt(n,`add`,a,a)),this},set(e,n){!t&&!kn(n)&&!On(n)&&(n=jn(n));let r=jn(this),{has:i,get:a}=cn(r),o=i.call(r,e);o?process.env.NODE_ENV!==`production`&&gn(r,i,e):(e=jn(e),o=i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?Me(n,s)&&zt(r,`set`,e,n,s):zt(r,`add`,e,n),this},delete(e){let t=jn(this),{has:n,get:r}=cn(t),i=n.call(t,e);i?process.env.NODE_ENV!==`production`&&gn(t,n,e):(e=jn(e),i=n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&zt(t,`delete`,e,void 0,a),o},clear(){let e=jn(this),t=e.size!==0,n=process.env.NODE_ENV===`production`?void 0:fe(e)?new Map(e):new Set(e),r=e.clear();return t&&zt(e,`clear`,void 0,void 0,n),r}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=ln(r,e,t)}),n}function fn(e,t){let n=dn(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(z(n,r)&&r in t?n:t,r,i)}var W={get:fn(!1,!1)},pn={get:fn(!1,!0)},mn={get:fn(!0,!1)},hn={get:fn(!0,!0)};function gn(e,t,n){let r=jn(n);if(r!==n&&t.call(e,r)){let t=be(e);at(`Reactive ${t} contains both the raw and reactive versions of the same object${t===`Map`?` as keys`:``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var _n=new WeakMap,vn=new WeakMap,yn=new WeakMap,bn=new WeakMap;function xn(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Sn(e){return On(e)?e:En(e,!1,nn,W,_n)}function Cn(e){return En(e,!1,an,pn,vn)}function wn(e){return En(e,!0,rn,mn,yn)}function Tn(e){return En(e,!0,on,hn,bn)}function En(e,t,n,r,i){if(!H(e))return process.env.NODE_ENV!==`production`&&at(`value cannot be made ${t?`readonly`:`reactive`}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=xn(be(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Dn(e){return On(e)?Dn(e.__v_raw):!!(e&&e.__v_isReactive)}function On(e){return!!(e&&e.__v_isReadonly)}function kn(e){return!!(e&&e.__v_isShallow)}function An(e){return e?!!e.__v_raw:!1}function jn(e){let t=e&&e.__v_raw;return t?jn(t):e}function Mn(e){return!z(e,`__v_skip`)&&Object.isExtensible(e)&&Pe(e,`__v_skip`,!0),e}var Nn=e=>H(e)?Sn(e):e,Pn=e=>H(e)?wn(e):e;function Fn(e){return e?e.__v_isRef===!0:!1}function G(e){return Ln(e,!1)}function In(e){return Ln(e,!0)}function Ln(e,t){return Fn(e)?e:new Rn(e,t)}var Rn=class{constructor(e,t){this.dep=new Mt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:jn(e),this._value=t?e:Nn(e),this.__v_isShallow=t}get value(){return process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||kn(e)||On(e);e=n?e:jn(e),Me(e,t)&&(this._rawValue=e,this._value=n?e:Nn(e),process.env.NODE_ENV===`production`?this.dep.trigger():this.dep.trigger({target:this,type:`set`,key:`value`,newValue:e,oldValue:t}))}};function zn(e){e.dep&&(process.env.NODE_ENV===`production`?e.dep.trigger():e.dep.trigger({target:e,type:`set`,key:`value`,newValue:e._value}))}function K(e){return Fn(e)?e.value:e}var Bn={get:(e,t,n)=>t===`__v_raw`?e:K(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Fn(i)&&!Fn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Vn(e){return Dn(e)?e:new Proxy(e,Bn)}var Hn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Mt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=At-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ut!==this)return gt(this,!0),!0;process.env.NODE_ENV}get value(){let e=process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`});return St(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):process.env.NODE_ENV!==`production`&&at(`Write operation failed: computed value is readonly`)}};function Un(e,t,n=!1){let r,i;V(e)?r=e:(r=e.get,i=e.set);let a=new Hn(r,i,n);return process.env.NODE_ENV!==`production`&&t&&!n&&(a.onTrack=t.onTrack,a.onTrigger=t.onTrigger),a}var Wn={},Gn=new WeakMap,Kn=void 0;function qn(e,t=!1,n=Kn){if(n){let t=Gn.get(n);t||Gn.set(n,t=[]),t.push(e)}else process.env.NODE_ENV!==`production`&&!t&&at(`onWatcherCleanup() was called when there was no active watcher to associate with.`)}function Jn(e,t,n=I){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>{(n.onWarn||at)(`Invalid watch source: `,e,`A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`)},u=e=>i?e:kn(e)||i===!1||i===0?Yn(e,1):Yn(e),d,f,p,m,h=!1,g=!1;if(Fn(e)?(f=()=>e.value,h=kn(e)):Dn(e)?(f=()=>u(e),h=!0):B(e)?(g=!0,h=e.some(e=>Dn(e)||kn(e)),f=()=>e.map(e=>{if(Fn(e))return e.value;if(Dn(e))return u(e);if(V(e))return c?c(e,2):e();process.env.NODE_ENV!==`production`&&l(e)})):V(e)?f=t?c?()=>c(e,2):e:()=>{if(p){Dt();try{p()}finally{Ot()}}let t=Kn;Kn=d;try{return c?c(e,3,[m]):e(m)}finally{Kn=t}}:(f=se,process.env.NODE_ENV!==`production`&&l(e)),t&&i){let e=f,t=i===!0?1/0:i;f=()=>Yn(e(),t)}let _=ct(),v=()=>{d.stop(),_&&_.active&&ue(_.effects,d)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return v(),n}}let y=g?Array(e.length).fill(Wn):Wn,b=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let n=d.run();if(e||i||h||(g?n.some((e,t)=>Me(e,y[t])):Me(n,y))){p&&p();let e=Kn;Kn=d;try{let e=[n,y===Wn?void 0:g&&y[0]===Wn?[]:y,m];y=n,c?c(t,3,e):t(...e)}finally{Kn=e}}}else d.run()};return s&&s(b),d=new ft(f),d.scheduler=o?()=>o(b,!1):b,m=e=>qn(e,!1,d),p=d.onStop=()=>{let e=Gn.get(d);if(e){if(c)c(e,4);else for(let t of e)t();Gn.delete(d)}},process.env.NODE_ENV!==`production`&&(d.onTrack=n.onTrack,d.onTrigger=n.onTrigger),t?r?b(!0):y=d.run():o?o(b.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function Yn(e,t=1/0,n){if(t<=0||!H(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Fn(e))Yn(e.value,t,n);else if(B(e))for(let r=0;r<e.length;r++)Yn(e[r],t,n);else if(pe(e)||fe(e))e.forEach(e=>{Yn(e,t,n)});else if(xe(e)){for(let r in e)Yn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yn(e[r],t,n)}return e}var Xn=[];function Zn(e){Xn.push(e)}function Qn(){Xn.pop()}var $n=!1;function q(e,...t){if($n)return;$n=!0,Dt();let n=Xn.length?Xn[Xn.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=er();if(r)sr(r,n,11,[e+t.map(e=>e.toString?.call(e)??JSON.stringify(e)).join(``),n&&n.proxy,i.map(({vnode:e})=>`at <${cc(n,e.type)}>`).join(`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("zod"),require("@langchain/openai"),require("@langchain/core/messages"),require("@langchain/core/tools"),require("@langchain/core/errors")):typeof define==`function`&&define.amd?define([`exports`,`zod`,`@langchain/openai`,`@langchain/core/messages`,`@langchain/core/tools`,`@langchain/core/errors`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ChatSdk={},e.Zod,e.LangchainOpenAI,e.LangchainCoreMessages,e.LangchainCoreTools,e.LangchainCoreErrors))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e},m=(e,t,n)=>(n=e==null?{}:o(u(e)),p(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e));function h(e){return!!(e==null||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof Blob<`u`&&e instanceof Blob||e instanceof URLSearchParams||e instanceof FormData)}function g(e){let t=e.model||`deepseek-v4-flash`,r=e.temperature,i=e.maxTokens,a=e.baseUrl;if(e.mode===`direct`){let o=!1;try{o=typeof location<`u`&&location.protocol===`https:`&&![`localhost`,`127.0.0.1`,`0.0.0.0`].includes(location.hostname)}catch{}if(o){if(e.throwOnDirectInProduction)throw Error(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式(throwOnDirectInProduction 已启用强安全闸;若确需生产直连,设为 false 显式承认风险)`);console.warn(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式`)}if(!e.apiKey)throw Error(`[page-agent-sdk][proxyLlm] direct 模式需提供 apiKey(开发环境用真实 key)`);return new n.ChatOpenAI({apiKey:e.apiKey,model:t,temperature:r,maxTokens:i,maxRetries:0,configuration:a?{baseURL:a}:void 0})}a||console.warn(`[page-agent-sdk][proxyLlm] proxy 模式未配 baseUrl,将打到页面 origin(通常不是预期);请传代理地址如 '/api/llm'`);let o=e.userToken||`proxy`,s=null;function c(){return e.refreshToken?(s||=e.refreshToken().finally(()=>{s=null}),s):Promise.resolve(o)}return new n.ChatOpenAI({apiKey:o,model:t,temperature:r,maxTokens:i,maxRetries:0,configuration:{baseURL:a||`/`,fetch:async(t,n)=>{let r,i;typeof t==`string`?(r=t,i=n?.headers):t instanceof URL?(r=t.toString(),i=n?.headers):(r=t.url,i=n?.headers??t.headers);let a=new Headers(i);if(a.set(`Authorization`,`Bearer ${o}`),e.headers)for(let[t,n]of Object.entries(e.headers))a.set(t,n);let s=()=>fetch(r,{...n,headers:a}),l=await s();if(l.status===401&&e.refreshToken&&h(n?.body))try{o=await c(),a.set(`Authorization`,`Bearer ${o}`),l=await s()}catch{}return l}}})}var _=[{pattern:/deepseek-v4/i,caps:{contextWindow:1048576,maxOutputTokens:393216,thinking:!0}},{pattern:/deepseek-flash/i,caps:{contextWindow:1048576,maxOutputTokens:393216,thinking:!0,vision:!0}},{pattern:/deepseek-reasoner|deepseek-r1/i,caps:{contextWindow:65536,maxOutputTokens:8192,thinking:!0}},{pattern:/deepseek/i,caps:{contextWindow:131072,maxOutputTokens:8192,thinking:!0}},{pattern:/gpt-5/i,caps:{contextWindow:1048576,maxOutputTokens:32768,vision:!0}},{pattern:/gpt-4\.1/i,caps:{contextWindow:1047576,maxOutputTokens:32768,vision:!0}},{pattern:/gpt-4o-mini/i,caps:{contextWindow:131072,maxOutputTokens:16384,vision:!0}},{pattern:/gpt-4o/i,caps:{contextWindow:131072,maxOutputTokens:16384,vision:!0}},{pattern:/gpt-4-turbo|gpt-4-1106|gpt-4-0125/i,caps:{contextWindow:131072,maxOutputTokens:4096,vision:!0}},{pattern:/gpt-3\.5/i,caps:{contextWindow:16385,maxOutputTokens:4096}},{pattern:/claude-(sonnet|opus)-4|claude-4/i,caps:{contextWindow:2e5,maxOutputTokens:64e3,vision:!0,thinking:!0}},{pattern:/claude-3-7-sonnet/i,caps:{contextWindow:2e5,maxOutputTokens:8192,vision:!0,thinking:!0}},{pattern:/claude-3-5-sonnet/i,caps:{contextWindow:2e5,maxOutputTokens:8192,vision:!0}},{pattern:/claude-3-opus/i,caps:{contextWindow:2e5,maxOutputTokens:4096,vision:!0}},{pattern:/claude-3-haiku/i,caps:{contextWindow:2e5,maxOutputTokens:4096,vision:!0}},{pattern:/qwen2\.5-vl|qwen2-vl|qwen-vl|qvq/i,caps:{contextWindow:32768,maxOutputTokens:2048,vision:!0}},{pattern:/qwen3(\.\d+)?-vl/i,caps:{contextWindow:262144,maxOutputTokens:32768,vision:!0}},{pattern:/qwen3(\.\d+)?-(max|plus|flash)/i,caps:{contextWindow:262144,maxOutputTokens:32768,thinking:!0}},{pattern:/qwen-max|qwen-plus/i,caps:{contextWindow:32768,maxOutputTokens:8192}},{pattern:/qwen2\.5-1m|qwen-1m/i,caps:{contextWindow:1048576,maxOutputTokens:8192}},{pattern:/qwen2\.5/i,caps:{contextWindow:32768,maxOutputTokens:8192}},{pattern:/glm-5\.2/i,caps:{contextWindow:1048576,maxOutputTokens:65536,thinking:!0}},{pattern:/glm-5/i,caps:{contextWindow:2e5,maxOutputTokens:65536}},{pattern:/glm-4v|glm4v/i,caps:{contextWindow:32768,maxOutputTokens:2048,vision:!0}},{pattern:/glm-4\.[6-9]/i,caps:{contextWindow:131072,maxOutputTokens:131072}},{pattern:/glm-4\.5/i,caps:{contextWindow:131072,maxOutputTokens:98304}},{pattern:/glm-4|glm4/i,caps:{contextWindow:131072,maxOutputTokens:4096}},{pattern:/kimi-k3/i,caps:{contextWindow:1048576,maxOutputTokens:65536}},{pattern:/kimi-k2|kimi|moonshot/i,caps:{contextWindow:262144,maxOutputTokens:32768}},{pattern:/yi-34b|yi-large/i,caps:{contextWindow:32768,maxOutputTokens:4096}}],v={contextWindow:32768,maxOutputTokens:4096},y=2e5;function b(e){if(!e)return;let t=_.map(t=>{let n=t.pattern.exec(e);return n?{caps:t.caps,matchedLen:n[0].length}:null}).filter(e=>e!==null);if(t.length)return t.sort((e,t)=>t.matchedLen-e.matchedLen),t[0].caps}function x(e){return b(e)?.maxOutputTokens}var S={contextWindow:2e5,requestMaxTokens:32768};function C(e,t,n){let r=n??t.maxOutputTokens,i=t.contextWindow<S.contextWindow,a=r<S.requestMaxTokens;if(!i&&!a)return null;let o=[];return i&&o.push(`上下文 ${Math.round(t.contextWindow/1e3)}K(基线 ≥200K)`),a&&o.push(`输出上限 ${Math.round(r/1e3)}K(基线 ≥32K)`),`[page-agent-sdk] 模型 ${e||`(未命名)`} 能力低于推荐基线:${o.join(` / `)}。复杂任务(大页面生成/长对话/深度思考)可能受约束 —— 若实际模型能力更强,显式配置 llm.contextWindow / llm.maxTokens;若模型确实较小,建议换大窗口模型(DeepSeek-v4/GLM-5.2/Claude-4/GPT-5)`}function w(e={}){let t=b(e.model);return{contextWindow:e.contextWindow??t?.contextWindow??v.contextWindow,maxOutputTokens:e.maxOutputTokens??t?.maxOutputTokens??v.maxOutputTokens,vision:e.vision??t?.vision??!1,thinking:e.thinking??t?.thinking??!1}}function T(e){if(!e)return 0;let t=(e.match(/[\u4e00-\u9fff]/g)||[]).length,n=e.length-t;return Math.ceil(t*1.5+n*.25)}function E(e){return Math.max(2e3,Math.min(2e4,Math.round(e*.035)))}function D(e){let t=E(e);return Math.min(2e5,Math.max(t,Math.round(e*.7)))}function O(e,t){if(!t)return e;if(t===`simple`){let t=e.extraBody&&`thinking`in e.extraBody;if(!t&&!e.thinking)return e;let{thinking:n,...r}=e,i=r;if(t){let{thinking:t,...n}=e.extraBody;i.extraBody=n}return i}if(e.provider===`anthropic`){if(e.thinking?.type===`enabled`&&e.thinking.budget_tokens)return e;let t=e.thinking?.budget_tokens??Math.min(e.maxTokens??8e3,8e3);return{...e,thinking:{type:`enabled`,budget_tokens:t}}}let n=e.extraBody?.thinking??{};return{...e,extraBody:{...e.extraBody??{},thinking:{...n,type:`enabled`}}}}function k(e,t,n){if(t)return t;if(e.thinkingMode)return e.thinkingMode;if(!(e.extraBody&&`thinking`in e.extraBody||e.thinking))return n||(w({model:e.model}).thinking?`deep`:void 0)}function A(e,t){if(t?.headers){let e=new Headers(t.headers),n=!1;for(let t of[...e.keys()])t.toLowerCase().startsWith(`x-stainless`)&&(e.delete(t),n=!0);n&&(t={...t,headers:e})}return fetch(e,t)}function j(e){return!e||!e.startsWith(`/`)||typeof location>`u`||!location.origin?e:`${location.origin}${e}`}function M(e,t={}){return e=O(e,k(e,t.thinkingMode,t.thinkingFallback)),new n.ChatOpenAI({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens??x(e.model),maxRetries:0,configuration:{...e.baseUrl?{baseURL:j(e.baseUrl)}:{},fetch:A,...e.extraConfig},...e.extraBody?{modelKwargs:e.extraBody}:{}})}function ee(e){return e.some((e,t)=>t>0&&e.getType()===`system`)?e.map((e,t)=>t===0||e.getType()!==`system`?e:new r.HumanMessage({content:typeof e.content==`string`?`〔系统注记〕\n${e.content}`:e.content})):e}function N(e){let t=e,n=e=>Array.isArray(e)?ee(e):e,r=t.invoke.bind(e),i=t.stream.bind(e);return t.invoke=async(e,t)=>r(n(e),t),t.stream=async(e,t)=>i(n(e),t),e}async function te(e,t={}){if(e=O(e,k(e,t.thinkingMode,t.thinkingFallback)),(e.provider??`openai`)===`openai`)return M(e,t);let{ChatAnthropic:n}=await import(`@langchain/anthropic`);return N(new n({apiKey:e.apiKey,model:e.model,temperature:e.thinking?1:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens??x(e.model),maxRetries:0,...e.baseUrl?{anthropicApiUrl:j(e.baseUrl)}:{},...e.extraConfig?{clientOptions:e.extraConfig}:{},...e.thinking?{thinking:e.thinking}:{},...e.cacheControl?{invocationKwargs:{cache_control:{type:`ephemeral`,...e.cacheControl===!0?{}:{ttl:e.cacheControl}}}}:{}}))}function ne(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:e?.type===`text`&&typeof e.text==`string`?e.text:``).join(``):``}function P(e){let t=e.additional_kwargs||{},n=t.reasoning_content||t.reasoning||``;return!n&&Array.isArray(e.content)&&(n=e.content.map(e=>e?.type===`thinking`?e.thinking??``:e?.type===`thinking_delta`?e.delta??e.thinking??``:``).join(``)),n}function re(e){let t=e,n=[t?.additional_kwargs?.usage,t?.usage_metadata,t?.response_metadata?.usage,t?.response_metadata?.token_usage,t?.response_metadata?.tokenUsage];for(let e of n)if(e&&typeof e==`object`&&ie(e))return e}function ie(e){return[`prompt_tokens`,`completion_tokens`,`total_tokens`,`promptTokens`,`completionTokens`,`totalTokens`,`input_tokens`,`output_tokens`,`inputTokens`,`outputTokens`].some(t=>typeof e[t]==`number`&&e[t]>0)}function F(e){let t=re(e);if(!t||typeof t!=`object`)return null;let n=t,r=Number(n.prompt_tokens??n.promptTokens??n.input_tokens??n.inputTokens??0)||0,i=Number(n.completion_tokens??n.completionTokens??n.output_tokens??n.outputTokens??0)||0,a=Number(n.total_tokens??n.totalTokens??r+i)||0;if(!r&&!i&&!a)return null;let o=n.input_token_details,s=Number(n.cache_read_input_tokens??n.cacheReadInputTokens??o?.cache_read??0)||0,c=Number(n.cache_creation_input_tokens??n.cacheCreationInputTokens??o?.cache_creation??0)||0,l=n.output_token_details,u=n.completion_tokens_details,d=e,f=Number(l?.reasoning??u?.reasoning_tokens??d?.response_metadata?.usage?.completion_tokens_details?.reasoning_tokens??0)||0;return{prompt_tokens:r,completion_tokens:i,total_tokens:a,...s?{cache_read_input_tokens:s}:{},...c?{cache_creation_input_tokens:c}:{},...f?{reasoning_tokens:f}:{}}}function ae(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var I=process.env.NODE_ENV===`production`?{}:Object.freeze({}),oe=process.env.NODE_ENV===`production`?[]:Object.freeze([]),se=()=>{},ce=()=>!1,L=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),R=e=>e.startsWith(`onUpdate:`),le=Object.assign,ue=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},de=Object.prototype.hasOwnProperty,z=(e,t)=>de.call(e,t),B=Array.isArray,fe=e=>ye(e)===`[object Map]`,pe=e=>ye(e)===`[object Set]`,me=e=>ye(e)===`[object Date]`,V=e=>typeof e==`function`,he=e=>typeof e==`string`,ge=e=>typeof e==`symbol`,H=e=>typeof e==`object`&&!!e,_e=e=>(H(e)||V(e))&&V(e.then)&&V(e.catch),ve=Object.prototype.toString,ye=e=>ve.call(e),be=e=>ye(e).slice(8,-1),xe=e=>ye(e)===`[object Object]`,Se=e=>he(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,Ce=ae(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),we=ae(`bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo`),Te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Ee=/-\w/g,De=Te(e=>e.replace(Ee,e=>e.slice(1).toUpperCase())),Oe=/\B([A-Z])/g,ke=Te(e=>e.replace(Oe,`-$1`).toLowerCase()),Ae=Te(e=>e.charAt(0).toUpperCase()+e.slice(1)),je=Te(e=>e?`on${Ae(e)}`:``),Me=(e,t)=>!Object.is(e,t),Ne=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Pe=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Fe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},Ie=e=>{let t=he(e)?Number(e):NaN;return isNaN(t)?e:t},Le,Re=()=>Le||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ze(e){if(B(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=he(r)?Ue(r):ze(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(he(e)||H(e))return e}var Be=/;(?![^(]*\))/g,Ve=/:([^]+)/,He=/\/\*[^]*?\*\//g;function Ue(e){let t={};return e.replace(He,``).split(Be).forEach(e=>{if(e){let n=e.split(Ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function We(e){let t=``;if(he(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){let r=We(e[n]);r&&(t+=r+` `)}else if(H(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var Ge=`html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot`,Ke=`svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view`,qe=`annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics`,Je=ae(Ge),Ye=ae(Ke),Xe=ae(qe),Ze=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,Qe=ae(Ze);Ze+``;function $e(e){return!!e||e===``}function et(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=tt(e[r],t[r]);return n}function tt(e,t){if(e===t)return!0;let n=me(e),r=me(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=ge(e),r=ge(t),n||r)return e===t;if(n=B(e),r=B(t),n||r)return n&&r?et(e,t):!1;if(n=H(e),r=H(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!tt(e[n],t[n]))return!1}}return String(e)===String(t)}var nt=e=>!!(e&&e.__v_isRef===!0),U=e=>he(e)?e:e==null?``:B(e)||H(e)&&(e.toString===ve||!V(e.toString))?nt(e)?U(e.value):JSON.stringify(e,rt,2):String(e),rt=(e,t)=>nt(t)?rt(e,t.value):fe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[it(t,r)+` =>`]=n,e),{})}:pe(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>it(e))}:ge(t)?it(t):H(t)&&!B(t)&&!xe(t)?String(t):t,it=(e,t=``)=>ge(e)?`Symbol(${e.description??t})`:e;function at(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var ot,st=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&ot&&(ot.active?(this.parent=ot,this.index=(ot.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=ot;try{return ot=this,e()}finally{ot=t}}else process.env.NODE_ENV!==`production`&&this._warnOnRun&&at(`cannot run an inactive effect scope.`)}on(){++this._on===1&&(this.prevScope=ot,ot=this)}off(){if(this._on>0&&--this._on===0){if(ot===this)ot=this.prevScope;else{let e=ot;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function ct(){return ot}function lt(e,t=!1){ot?ot.cleanups.push(e):process.env.NODE_ENV!==`production`&&!t&&at(`onScopeDispose() is called when there is no active effect scope to be associated with.`)}var ut,dt=new WeakSet,ft=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ot&&(ot.active?ot.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,dt.has(this)&&(dt.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gt(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,kt(this),yt(this);let e=ut,t=Tt;ut=this,Tt=!0;try{return this.fn()}finally{process.env.NODE_ENV!==`production`&&ut!==this&&at(`Active effect was not restored correctly - this is likely a Vue internal bug.`),bt(this),ut=e,Tt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Ct(e);this.deps=this.depsTail=void 0,kt(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?dt.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){xt(this)&&this.run()}get dirty(){return xt(this)}},pt=0,mt,ht;function gt(e,t=!1){if(e.flags|=8,t){e.next=ht,ht=e;return}e.next=mt,mt=e}function _t(){pt++}function vt(){if(--pt>0)return;if(ht){let e=ht;for(ht=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;mt;){let t=mt;for(mt=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function yt(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function bt(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ct(r),wt(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function xt(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(St(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function St(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===At)||(e.globalVersion=At,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xt(e))))return;e.flags|=2;let t=e.dep,n=ut,r=Tt;ut=e,Tt=!0;try{yt(e);let n=e.fn(e._value);(t.version===0||Me(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{ut=n,Tt=r,bt(e),e.flags&=-3}}function Ct(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),process.env.NODE_ENV!==`production`&&n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ct(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wt(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Tt=!0,Et=[];function Dt(){Et.push(Tt),Tt=!1}function Ot(){let e=Et.pop();Tt=e===void 0||e}function kt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=ut;ut=void 0;try{t()}finally{ut=e}}}var At=0,jt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Mt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!==`production`&&(this.subsHead=void 0)}track(e){if(!ut||!Tt||ut===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ut)t=this.activeLink=new jt(ut,this),ut.deps?(t.prevDep=ut.depsTail,ut.depsTail.nextDep=t,ut.depsTail=t):ut.deps=ut.depsTail=t,Nt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=ut.depsTail,t.nextDep=void 0,ut.depsTail.nextDep=t,ut.depsTail=t,ut.deps===t&&(ut.deps=e)}return process.env.NODE_ENV!==`production`&&ut.onTrack&&ut.onTrack(le({effect:ut},e)),t}trigger(e){this.version++,At++,this.notify(e)}notify(e){_t();try{if(process.env.NODE_ENV!==`production`)for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(t.sub.flags&8)&&t.sub.onTrigger(le({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{vt()}}};function Nt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Nt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),process.env.NODE_ENV!==`production`&&e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}var Pt=new WeakMap,Ft=Symbol(process.env.NODE_ENV===`production`?``:`Object iterate`),It=Symbol(process.env.NODE_ENV===`production`?``:`Map keys iterate`),Lt=Symbol(process.env.NODE_ENV===`production`?``:`Array iterate`);function Rt(e,t,n){if(Tt&&ut){let r=Pt.get(e);r||Pt.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new Mt),i.map=r,i.key=n),process.env.NODE_ENV===`production`?i.track():i.track({target:e,type:t,key:n})}}function zt(e,t,n,r,i,a){let o=Pt.get(e);if(!o){At++;return}let s=o=>{o&&(process.env.NODE_ENV===`production`?o.trigger():o.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:a}))};if(_t(),t===`clear`)o.forEach(s);else{let i=B(e),a=i&&Se(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Lt||!ge(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Lt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Ft)),fe(e)&&s(o.get(It)));break;case`delete`:i||(s(o.get(Ft)),fe(e)&&s(o.get(It)));break;case`set`:fe(e)&&s(o.get(Ft));break}}vt()}function Bt(e){let t=jn(e);return t===e?t:(Rt(t,`iterate`,Lt),kn(e)?t:t.map(Nn))}function Vt(e){return Rt(e=jn(e),`iterate`,Lt),e}function Ht(e,t){return On(e)?Pn(Dn(e)?Nn(t):t):Nn(t)}var Ut={__proto__:null,[Symbol.iterator](){return Wt(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Bt(this).concat(...e.map(e=>B(e)?Bt(e):e))},entries(){return Wt(this,`entries`,e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return Kt(this,`every`,e,t,void 0,arguments)},filter(e,t){return Kt(this,`filter`,e,t,e=>e.map(e=>Ht(this,e)),arguments)},find(e,t){return Kt(this,`find`,e,t,e=>Ht(this,e),arguments)},findIndex(e,t){return Kt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Kt(this,`findLast`,e,t,e=>Ht(this,e),arguments)},findLastIndex(e,t){return Kt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Kt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Jt(this,`includes`,e)},indexOf(...e){return Jt(this,`indexOf`,e)},join(e){return Bt(this).join(e)},lastIndexOf(...e){return Jt(this,`lastIndexOf`,e)},map(e,t){return Kt(this,`map`,e,t,void 0,arguments)},pop(){return Yt(this,`pop`)},push(...e){return Yt(this,`push`,e)},reduce(e,...t){return qt(this,`reduce`,e,t)},reduceRight(e,...t){return qt(this,`reduceRight`,e,t)},shift(){return Yt(this,`shift`)},some(e,t){return Kt(this,`some`,e,t,void 0,arguments)},splice(...e){return Yt(this,`splice`,e)},toReversed(){return Bt(this).toReversed()},toSorted(e){return Bt(this).toSorted(e)},toSpliced(...e){return Bt(this).toSpliced(...e)},unshift(...e){return Yt(this,`unshift`,e)},values(){return Wt(this,`values`,e=>Ht(this,e))}};function Wt(e,t,n){let r=Vt(e),i=r[t]();return r!==e&&!kn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Gt=Array.prototype;function Kt(e,t,n,r,i,a){let o=Vt(e),s=o!==e&&!kn(e),c=o[t];if(c!==Gt[t]){let t=c.apply(e,a);return s?Nn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Ht(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function qt(e,t,n,r){let i=Vt(e),a=i!==e&&!kn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=Ht(e,t)),n.call(this,t,Ht(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?Ht(e,c):c}function Jt(e,t,n){let r=jn(e);Rt(r,`iterate`,Lt);let i=r[t](...n);return(i===-1||i===!1)&&An(n[0])?(n[0]=jn(n[0]),r[t](...n)):i}function Yt(e,t,n=[]){Dt(),_t();let r=jn(e)[t].apply(e,n);return vt(),Ot(),r}var Xt=ae(`__proto__,__v_isRef,__isVue`),Zt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(ge));function Qt(e){ge(e)||(e=String(e));let t=jn(this);return Rt(t,`has`,e),t.hasOwnProperty(e)}var $t=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?bn:yn:i?vn:_n).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=B(e);if(!r){let e;if(a&&(e=Ut[t]))return e;if(t===`hasOwnProperty`)return Qt}let o=Reflect.get(e,t,Fn(e)?e:n);if((ge(t)?Zt.has(t):Xt(t))||(r||Rt(e,`get`,t),i))return o;if(Fn(o)){let e=a&&Se(t)?o:o.value;return r&&H(e)?wn(e):e}return H(o)?r?wn(o):Sn(o):o}},en=class extends $t{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=B(e)&&Se(t);if(!this._isShallow){let r=On(i);if(!kn(n)&&!On(n)&&(i=jn(i),n=jn(n)),!a&&Fn(i)&&!Fn(n))return r?(process.env.NODE_ENV!==`production`&&at(`Set operation on key "${String(t)}" failed: target is readonly.`,e[t]),!0):(i.value=n,!0)}let o=a?Number(t)<e.length:z(e,t),s=Reflect.set(e,t,n,Fn(e)?e:r);return e===jn(r)&&s&&(o?Me(n,i)&&zt(e,`set`,t,n,i):zt(e,`add`,t,n)),s}deleteProperty(e,t){let n=z(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&zt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!ge(t)||!Zt.has(t))&&Rt(e,`has`,t),n}ownKeys(e){return Rt(e,`iterate`,B(e)?`length`:Ft),Reflect.ownKeys(e)}},tn=class extends $t{constructor(e=!1){super(!0,e)}set(e,t){return process.env.NODE_ENV!==`production`&&at(`Set operation on key "${String(t)}" failed: target is readonly.`,e),!0}deleteProperty(e,t){return process.env.NODE_ENV!==`production`&&at(`Delete operation on key "${String(t)}" failed: target is readonly.`,e),!0}},nn=new en,rn=new tn,an=new en(!0),on=new tn(!0),sn=e=>e,cn=e=>Reflect.getPrototypeOf(e);function ln(e,t,n){return function(...r){let i=this.__v_raw,a=jn(i),o=fe(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?sn:t?Pn:Nn;return!t&&Rt(a,`iterate`,c?It:Ft),le(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function un(e){return function(...t){if(process.env.NODE_ENV!==`production`){let n=t[0]?`on key "${t[0]}" `:``;at(`${Ae(e)} operation ${n}failed: target is readonly.`,jn(this))}return e===`delete`?!1:e===`clear`?void 0:this}}function dn(e,t){let n={get(n){let r=this.__v_raw,i=jn(r),a=jn(n);e||(Me(n,a)&&Rt(i,`get`,n),Rt(i,`get`,a));let{has:o}=cn(i),s=t?sn:e?Pn:Nn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&Rt(jn(t),`iterate`,Ft),t.size},has(t){let n=this.__v_raw,r=jn(n),i=jn(t);return e||(Me(t,i)&&Rt(r,`has`,t),Rt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=jn(a),s=t?sn:e?Pn:Nn;return!e&&Rt(o,`iterate`,Ft),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return le(n,e?{add:un(`add`),set:un(`set`),delete:un(`delete`),clear:un(`clear`)}:{add(e){let n=jn(this),r=cn(n),i=jn(e),a=!t&&!kn(e)&&!On(e)?i:e;return r.has.call(n,a)||Me(e,a)&&r.has.call(n,e)||Me(i,a)&&r.has.call(n,i)||(n.add(a),zt(n,`add`,a,a)),this},set(e,n){!t&&!kn(n)&&!On(n)&&(n=jn(n));let r=jn(this),{has:i,get:a}=cn(r),o=i.call(r,e);o?process.env.NODE_ENV!==`production`&&gn(r,i,e):(e=jn(e),o=i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?Me(n,s)&&zt(r,`set`,e,n,s):zt(r,`add`,e,n),this},delete(e){let t=jn(this),{has:n,get:r}=cn(t),i=n.call(t,e);i?process.env.NODE_ENV!==`production`&&gn(t,n,e):(e=jn(e),i=n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&zt(t,`delete`,e,void 0,a),o},clear(){let e=jn(this),t=e.size!==0,n=process.env.NODE_ENV===`production`?void 0:fe(e)?new Map(e):new Set(e),r=e.clear();return t&&zt(e,`clear`,void 0,void 0,n),r}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=ln(r,e,t)}),n}function fn(e,t){let n=dn(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(z(n,r)&&r in t?n:t,r,i)}var pn={get:fn(!1,!1)},mn={get:fn(!1,!0)},W={get:fn(!0,!1)},hn={get:fn(!0,!0)};function gn(e,t,n){let r=jn(n);if(r!==n&&t.call(e,r)){let t=be(e);at(`Reactive ${t} contains both the raw and reactive versions of the same object${t===`Map`?` as keys`:``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var _n=new WeakMap,vn=new WeakMap,yn=new WeakMap,bn=new WeakMap;function xn(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Sn(e){return On(e)?e:En(e,!1,nn,pn,_n)}function Cn(e){return En(e,!1,an,mn,vn)}function wn(e){return En(e,!0,rn,W,yn)}function Tn(e){return En(e,!0,on,hn,bn)}function En(e,t,n,r,i){if(!H(e))return process.env.NODE_ENV!==`production`&&at(`value cannot be made ${t?`readonly`:`reactive`}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=xn(be(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Dn(e){return On(e)?Dn(e.__v_raw):!!(e&&e.__v_isReactive)}function On(e){return!!(e&&e.__v_isReadonly)}function kn(e){return!!(e&&e.__v_isShallow)}function An(e){return e?!!e.__v_raw:!1}function jn(e){let t=e&&e.__v_raw;return t?jn(t):e}function Mn(e){return!z(e,`__v_skip`)&&Object.isExtensible(e)&&Pe(e,`__v_skip`,!0),e}var Nn=e=>H(e)?Sn(e):e,Pn=e=>H(e)?wn(e):e;function Fn(e){return e?e.__v_isRef===!0:!1}function G(e){return Ln(e,!1)}function In(e){return Ln(e,!0)}function Ln(e,t){return Fn(e)?e:new Rn(e,t)}var Rn=class{constructor(e,t){this.dep=new Mt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:jn(e),this._value=t?e:Nn(e),this.__v_isShallow=t}get value(){return process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||kn(e)||On(e);e=n?e:jn(e),Me(e,t)&&(this._rawValue=e,this._value=n?e:Nn(e),process.env.NODE_ENV===`production`?this.dep.trigger():this.dep.trigger({target:this,type:`set`,key:`value`,newValue:e,oldValue:t}))}};function zn(e){e.dep&&(process.env.NODE_ENV===`production`?e.dep.trigger():e.dep.trigger({target:e,type:`set`,key:`value`,newValue:e._value}))}function K(e){return Fn(e)?e.value:e}var Bn={get:(e,t,n)=>t===`__v_raw`?e:K(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Fn(i)&&!Fn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Vn(e){return Dn(e)?e:new Proxy(e,Bn)}var Hn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Mt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=At-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ut!==this)return gt(this,!0),!0;process.env.NODE_ENV}get value(){let e=process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`});return St(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):process.env.NODE_ENV!==`production`&&at(`Write operation failed: computed value is readonly`)}};function Un(e,t,n=!1){let r,i;V(e)?r=e:(r=e.get,i=e.set);let a=new Hn(r,i,n);return process.env.NODE_ENV!==`production`&&t&&!n&&(a.onTrack=t.onTrack,a.onTrigger=t.onTrigger),a}var Wn={},Gn=new WeakMap,Kn=void 0;function qn(e,t=!1,n=Kn){if(n){let t=Gn.get(n);t||Gn.set(n,t=[]),t.push(e)}else process.env.NODE_ENV!==`production`&&!t&&at(`onWatcherCleanup() was called when there was no active watcher to associate with.`)}function Jn(e,t,n=I){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>{(n.onWarn||at)(`Invalid watch source: `,e,`A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`)},u=e=>i?e:kn(e)||i===!1||i===0?Yn(e,1):Yn(e),d,f,p,m,h=!1,g=!1;if(Fn(e)?(f=()=>e.value,h=kn(e)):Dn(e)?(f=()=>u(e),h=!0):B(e)?(g=!0,h=e.some(e=>Dn(e)||kn(e)),f=()=>e.map(e=>{if(Fn(e))return e.value;if(Dn(e))return u(e);if(V(e))return c?c(e,2):e();process.env.NODE_ENV!==`production`&&l(e)})):V(e)?f=t?c?()=>c(e,2):e:()=>{if(p){Dt();try{p()}finally{Ot()}}let t=Kn;Kn=d;try{return c?c(e,3,[m]):e(m)}finally{Kn=t}}:(f=se,process.env.NODE_ENV!==`production`&&l(e)),t&&i){let e=f,t=i===!0?1/0:i;f=()=>Yn(e(),t)}let _=ct(),v=()=>{d.stop(),_&&_.active&&ue(_.effects,d)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return v(),n}}let y=g?Array(e.length).fill(Wn):Wn,b=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let n=d.run();if(e||i||h||(g?n.some((e,t)=>Me(e,y[t])):Me(n,y))){p&&p();let e=Kn;Kn=d;try{let e=[n,y===Wn?void 0:g&&y[0]===Wn?[]:y,m];y=n,c?c(t,3,e):t(...e)}finally{Kn=e}}}else d.run()};return s&&s(b),d=new ft(f),d.scheduler=o?()=>o(b,!1):b,m=e=>qn(e,!1,d),p=d.onStop=()=>{let e=Gn.get(d);if(e){if(c)c(e,4);else for(let t of e)t();Gn.delete(d)}},process.env.NODE_ENV!==`production`&&(d.onTrack=n.onTrack,d.onTrigger=n.onTrigger),t?r?b(!0):y=d.run():o?o(b.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function Yn(e,t=1/0,n){if(t<=0||!H(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Fn(e))Yn(e.value,t,n);else if(B(e))for(let r=0;r<e.length;r++)Yn(e[r],t,n);else if(pe(e)||fe(e))e.forEach(e=>{Yn(e,t,n)});else if(xe(e)){for(let r in e)Yn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yn(e[r],t,n)}return e}var Xn=[];function Zn(e){Xn.push(e)}function Qn(){Xn.pop()}var $n=!1;function q(e,...t){if($n)return;$n=!0,Dt();let n=Xn.length?Xn[Xn.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=er();if(r)sr(r,n,11,[e+t.map(e=>e.toString?.call(e)??JSON.stringify(e)).join(``),n&&n.proxy,i.map(({vnode:e})=>`at <${cc(n,e.type)}>`).join(`
2
2
  `),i]);else{let n=[`[Vue warn]: ${e}`,...t];i.length&&n.push(`
3
3
  `,...tr(i)),console.warn(...n)}Ot(),$n=!1}function er(){let e=Xn[Xn.length-1];if(!e)return[];let t=[];for(;e;){let n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});let r=e.component&&e.component.parent;e=r&&r.vnode}return t}function tr(e){let t=[];return e.forEach((e,n)=>{t.push(...n===0?[]:[`
4
4
  `],...nr(e))}),t}function nr({vnode:e,recurseCount:t}){let n=t>0?`... (${t} recursive calls)`:``,r=e.component?e.component.parent==null:!1,i=` at <${cc(e.component,e.type,r)}`,a=`>`+n;return e.props?[i,...rr(e.props),a]:[i+a]}function rr(e){let t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...ir(n,e[n]))}),n.length>3&&t.push(` ...`),t}function ir(e,t,n){return he(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t==`number`||typeof t==`boolean`||t==null?n?t:[`${e}=${t}`]:Fn(t)?(t=ir(e,jn(t.value),!0),n?t:[`${e}=Ref<`,t,`>`]):V(t)?[`${e}=fn${t.name?`<${t.name}>`:``}`]:(t=jn(t),n?t:[`${e}=`,t])}function ar(e,t){process.env.NODE_ENV!==`production`&&e!==void 0&&(typeof e==`number`?isNaN(e)&&q(`${t} is NaN - the duration expression might be incorrect.`):q(`${t} is not a valid number - got ${JSON.stringify(e)}.`))}var or={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function sr(e,t,n,r){try{return r?e(...r):e()}catch(e){lr(e,t,n)}}function cr(e,t,n,r){if(V(e)){let i=sr(e,t,n,r);return i&&_e(i)&&i.catch(e=>{lr(e,t,n)}),i}if(B(e)){let i=[];for(let a=0;a<e.length;a++)i.push(cr(e[a],t,n,r));return i}else process.env.NODE_ENV!==`production`&&q(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`)}function lr(e,t,n,r=!0){let i=t?t.vnode:null,{errorHandler:a,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||I;if(t){let r=t.parent,i=t.proxy,o=process.env.NODE_ENV===`production`?`https://vuejs.org/error-reference/#runtime-${n}`:or[n];for(;r;){let t=r.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,o)===!1)return}r=r.parent}if(a){Dt(),sr(a,null,10,[e,i,o]),Ot();return}}ur(e,n,i,r,o)}function ur(e,t,n,r=!0,i=!1){if(process.env.NODE_ENV!==`production`){let i=or[t];if(n&&Zn(n),q(`Unhandled error${i?` during execution of ${i}`:``}`),n&&Qn(),r)throw e;console.error(e)}else if(i)throw e;else console.error(e)}var dr=[],fr=-1,pr=[],mr=null,hr=0,gr=Promise.resolve(),_r=null,vr=100;function yr(e){let t=_r||gr;return e?t.then(this?e.bind(this):e):t}function br(e){let t=fr+1,n=dr.length;for(;t<n;){let r=t+n>>>1,i=dr[r],a=Er(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function xr(e){if(!(e.flags&1)){let t=Er(e),n=dr[dr.length-1];!n||!(e.flags&2)&&t>=Er(n)?dr.push(e):dr.splice(br(t),0,e),e.flags|=1,Sr()}}function Sr(){_r||=gr.then(Dr)}function Cr(e){B(e)?pr.push(...e):mr&&e.id===-1?mr.splice(hr+1,0,e):e.flags&1||(pr.push(e),e.flags|=1),Sr()}function wr(e,t,n=fr+1){for(process.env.NODE_ENV!==`production`&&(t||=new Map);n<dr.length;n++){let r=dr[n];if(r&&r.flags&2){if(e&&r.id!==e.uid||process.env.NODE_ENV!==`production`&&Or(t,r))continue;dr.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function Tr(e){if(pr.length){let t=[...new Set(pr)].sort((e,t)=>Er(e)-Er(t));if(pr.length=0,mr){mr.push(...t);return}for(mr=t,process.env.NODE_ENV!==`production`&&(e||=new Map),hr=0;hr<mr.length;hr++){let t=mr[hr];process.env.NODE_ENV!==`production`&&Or(e,t)||(t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2)}mr=null,hr=0}}var Er=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Dr(e){process.env.NODE_ENV!==`production`&&(e||=new Map);let t=process.env.NODE_ENV===`production`?se:t=>Or(e,t);try{for(fr=0;fr<dr.length;fr++){let e=dr[fr];if(e&&!(e.flags&8)){if(process.env.NODE_ENV!==`production`&&t(e))continue;e.flags&4&&(e.flags&=-2),sr(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2)}}}finally{for(;fr<dr.length;fr++){let e=dr[fr];e&&(e.flags&=-2)}fr=-1,dr.length=0,Tr(e),_r=null,(dr.length||pr.length)&&Dr(e)}}function Or(e,t){let n=e.get(t)||0;if(n>vr){let e=t.i,n=e&&sc(e.type);return lr(`Maximum recursive updates exceeded${n?` in component <${n}>`:``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}var kr=!1,Ar=e=>{try{return kr}finally{kr=e}},jr=new Map;process.env.NODE_ENV!==`production`&&(Re().__VUE_HMR_RUNTIME__={createRecord:Br(Fr),rerender:Br(Lr),reload:Br(Rr)});var Mr=new Map;function Nr(e){let t=e.type.__hmrId,n=Mr.get(t);n||=(Fr(t,e.type),Mr.get(t)),n.instances.add(e)}function Pr(e){Mr.get(e.type.__hmrId).instances.delete(e)}function Fr(e,t){return Mr.has(e)?!1:(Mr.set(e,{initialDef:Ir(t),instances:new Set}),!0)}function Ir(e){return lc(e)?e.__vccOpts:e}function Lr(e,t){let n=Mr.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(e=>{t&&(e.render=t,Ir(e.type).render=t),e.renderCache=[],kr=!0,e.job.flags&8||e.update(),kr=!1}))}function Rr(e,t){let n=Mr.get(e);if(!n)return;t=Ir(t),zr(n.initialDef,t);let r=[...n.instances];for(let e=0;e<r.length;e++){let i=r[e],a=Ir(i.type),o=jr.get(a);o||(a!==n.initialDef&&zr(a,t),jr.set(a,o=new Set)),o.add(i),i.appContext.propsCache.delete(i.type),i.appContext.emitsCache.delete(i.type),i.appContext.optionsCache.delete(i.type),i.ceReload?(o.add(i),i.ceReload(t.styles),o.delete(i)):i.parent?xr(()=>{i.job.flags&8||(kr=!0,i.parent.update(),kr=!1,o.delete(i))}):i.appContext.reload?i.appContext.reload():typeof window<`u`?window.location.reload():console.warn(`[HMR] Root or manually mounted instance modified. Full reload required.`),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(a)}Cr(()=>{jr.clear()})}function zr(e,t){le(e,t);for(let n in e)n!==`__file`&&!(n in t)&&delete e[n]}function Br(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`)}}}var Vr,Hr=[],Ur=!1;function Wr(e,...t){Vr?Vr.emit(e,...t):Ur||Hr.push({event:e,args:t})}function Gr(e,t){Vr=e,Vr?(Vr.enabled=!0,Hr.forEach(({event:e,args:t})=>Vr.emit(e,...t)),Hr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{Gr(e,t)}),setTimeout(()=>{Vr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ur=!0,Hr=[])},3e3)):(Ur=!0,Hr=[])}function Kr(e,t){Wr(`app:init`,e,t,{Fragment:J,Text:cs,Comment:ls,Static:us})}function qr(e){Wr(`app:unmount`,e)}var Jr=Qr(`component:added`),Yr=Qr(`component:updated`),Xr=Qr(`component:removed`),Zr=e=>{Vr&&typeof Vr.cleanupBuffer==`function`&&!Vr.cleanupBuffer(e)&&Xr(e)};function Qr(e){return t=>{Wr(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}var $r=ti(`perf:start`),ei=ti(`perf:end`);function ti(e){return(t,n,r)=>{Wr(e,t.appContext.app,t.uid,t,n,r)}}function ni(e,t,n){Wr(`component:emit`,e.appContext.app,e,t,n)}var ri=null,ii=null;function ai(e){let t=ri;return ri=e,ii=e&&e.type.__scopeId||null,t}function oi(e,t=ri,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&hs(-1);let i=ai(t),a;try{a=e(...n)}finally{ai(i),r._d&&hs(1)}return process.env.NODE_ENV!==`production`&&Yr(t),a};return r._n=!0,r._c=!0,r._d=!0,r}function si(e){we(e)&&q(`Do not use built-in directive ids as custom directive id: `+e)}function ci(e,t){if(ri===null)return process.env.NODE_ENV!==`production`&&q(`withDirectives can only be used inside render functions.`),e;let n=ic(ri),r=e.dirs||=[];for(let e=0;e<t.length;e++){let[i,a,o,s=I]=t[e];i&&(V(i)&&(i={mounted:i,updated:i}),i.deep&&Yn(a),r.push({dir:i,instance:n,value:a,oldValue:void 0,arg:o,modifiers:s}))}return e}function li(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(Dt(),cr(c,n,8,[e.el,s,e,t]),Ot())}}function ui(e,t){if(process.env.NODE_ENV!==`production`&&(!Rs||Rs.isMounted)&&q(`provide() can only be used inside setup().`),Rs){let n=Rs.provides,r=Rs.parent&&Rs.parent.provides;r===n&&(n=Rs.provides=Object.create(r)),n[e]=t}}function di(e,t,n=!1){let r=zs();if(r||Xa){let i=Xa?Xa._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&V(t)?t.call(r&&r.proxy):t;process.env.NODE_ENV!==`production`&&q(`injection "${String(e)}" not found.`)}else process.env.NODE_ENV!==`production`&&q(`inject() can only be used inside setup() or functional components.`)}var fi=Symbol.for(`v-scx`),pi=()=>{{let e=di(fi);return e||process.env.NODE_ENV!==`production`&&q(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`),e}};function mi(e,t,n){return process.env.NODE_ENV!==`production`&&!V(t)&&q("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),hi(e,t,n)}function hi(e,t,n=I){let{immediate:r,deep:i,flush:a,once:o}=n;process.env.NODE_ENV!==`production`&&!t&&(r!==void 0&&q(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`),i!==void 0&&q(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`),o!==void 0&&q(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`));let s=le({},n);process.env.NODE_ENV!==`production`&&(s.onWarn=q);let c=t&&r||!t&&a!==`post`,l;if(qs){if(a===`sync`){let e=pi();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=se,e.resume=se,e.pause=se,e}}let u=Rs;s.call=(e,t,n)=>cr(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{Yo(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():xr(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=Jn(e,t,s);return qs&&(l?l.push(f):c&&f()),f}function gi(e,t,n){let r=this.proxy,i=he(e)?e.includes(`.`)?_i(r,e):()=>r[e]:e.bind(r,r),a;V(t)?a=t:(a=t.handler,n=t);let o=Hs(this),s=hi(i,a.bind(r),n);return o(),s}function _i(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var vi=new WeakMap,yi=Symbol(`_vte`),bi=e=>e.__isTeleport,xi=e=>e&&(e.disabled||e.disabled===``),Si=e=>e&&(e.defer||e.defer===``),Ci=e=>typeof SVGElement<`u`&&e instanceof SVGElement,wi=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Ti=(e,t)=>{let n=e&&e.to;if(he(n))if(t){let r=t(n);return process.env.NODE_ENV!==`production`&&!r&&!xi(e)&&q(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`),r}else return process.env.NODE_ENV!==`production`&&q(`Current renderer does not support string target for Teleports. (missing querySelector renderer option)`),null;else return process.env.NODE_ENV!==`production`&&!n&&!xi(e)&&q(`Invalid Teleport target: ${n}`),n},Ei={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=xi(t.props),{dynamicChildren:y}=t;process.env.NODE_ENV!==`production`&&kr&&(c=!1,y=null);let b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=xi(e.props),r=e.target=Ti(e.props,m),a=ji(r,e,h,p);r?(o!==`svg`&&Ci(r)?o=`svg`:o!==`mathml`&&wi(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),Ai(e,!1))):process.env.NODE_ENV!==`production`&&!n&&q(`Invalid Teleport target on mount:`,r,`(${typeof r})`)},S=e=>{let t=()=>{if(vi.get(e)===t){if(vi.delete(e),xi(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),Ai(e,!0)}x(e)}};vi.set(e,t),Yo(t,a)};if(e==null){let e=t.el=process.env.NODE_ENV===`production`?h(``):g(`teleport start`),i=t.anchor=process.env.NODE_ENV===`production`?h(``):g(`teleport end`);if(p(e,n,r),p(i,n,r),Si(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),Ai(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=vi.get(e);if(u){u.flags|=8,vi.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=xi(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||Ci(p)?o=`svg`:(o===`mathml`||wi(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),ts(e,t,process.env.NODE_ENV===`production`)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Di(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=Ti(t.props,m);e?(t.target=e,Di(t,e,null,l,0)):process.env.NODE_ENV!==`production`&&q(`Invalid Teleport target on update:`,p,`(${typeof p})`)}else g&&Di(t,p,h,l,1);Ai(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=xi(f),m=a||!p,h=vi.get(e);if(h&&(h.flags|=8,vi.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:Di,hydrate:Oi};function Di(e,t,n,{o:{insert:r},m:i},a=2){a===0&&r(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!vi.has(e)&&(!d||xi(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function Oi(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=Ti(t.props,c),h=xi(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||ji(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||ji(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),Ai(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var ki=Ei;function Ai(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function ji(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[yi]=o,e&&(r(a,e,i),r(o,e,i)),o}var Mi=Symbol(`_leaveCb`),Ni=Symbol(`_enterCb`);function Pi(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return la(()=>{e.isMounted=!0}),fa(()=>{e.isUnmounting=!0}),e}var Fi=[Function,Array],Ii={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fi,onEnter:Fi,onAfterEnter:Fi,onEnterCancelled:Fi,onBeforeLeave:Fi,onLeave:Fi,onAfterLeave:Fi,onLeaveCancelled:Fi,onBeforeAppear:Fi,onAppear:Fi,onAfterAppear:Fi,onAppearCancelled:Fi},Li=e=>{let t=e.subTree;return t.component?Li(t.component):t},Ri={name:`BaseTransition`,props:Ii,setup(e,{slots:t}){let n=zs(),r=Pi();return()=>{let i=t.default&&Ki(t.default(),!0),a=i&&i.length?zi(i):n.subTree?Q():void 0;if(!a)return;let o=jn(e),{mode:s}=o;if(process.env.NODE_ENV!==`production`&&s&&s!==`in-out`&&s!==`out-in`&&s!=="default"&&q(`invalid <transition> mode: ${s}`),r.isLeaving)return Ui(a);let c=Wi(a);if(!c)return Ui(a);let l=Hi(c,o,r,n,e=>l=e);c.type!==ls&&Gi(c,l);let u=n.subTree&&Wi(n.subTree);if(u&&u.type!==ls&&!ys(u,c)&&Li(n).type!==ls){let e=Hi(u,o,r,n);if(Gi(u,e),s===`out-in`&&c.type!==ls)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Ui(a);s===`in-out`&&c.type!==ls?e.delayLeave=(e,t,n)=>{let i=Vi(r,u);i[String(u.key)]=u,e[Mi]=()=>{t(),e[Mi]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function zi(e){let t=e[0];if(e.length>1){let n=!1;for(let r of e)if(r.type!==ls){if(process.env.NODE_ENV!==`production`&&n){q(`<transition> can only be used on a single element or component. Use <transition-group> for lists.`);break}if(t=r,n=!0,process.env.NODE_ENV===`production`)break}}return t}var Bi=Ri;function Vi(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Hi(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Vi(n,e),S=(e,t)=>{e&&cr(e,r,9,t)},C=(e,t)=>{let n=t[1];S(e,t),B(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[Mi]&&t[Mi](!0);let i=x[b];i&&ys(e,i)&&i.el[Mi]&&i.el[Mi](),S(r,[t])},enter(t){if(!kr&&x[b]===e)return;let r=l,i=u,o=d;if(!n.isMounted)if(a)r=_||l,i=v||u,o=y||d;else return;let s=!1;t[Ni]=e=>{s||(s=!0,S(e?o:i,[t]),w.delayedLeave&&w.delayedLeave(),t[Ni]=void 0)};let c=t[Ni].bind(null,!1);r?C(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Ni]&&t[Ni](!0),n.isUnmounting)return r();S(f,[t]);let a=!1;t[Mi]=n=>{a||(a=!0,r(),S(n?h:m,[t]),t[Mi]=void 0,x[i]===e&&delete x[i])};let o=t[Mi].bind(null,!1);x[i]=e,p?C(p,[t,o]):o()},clone(e){let a=Hi(e,t,n,r,i);return i&&i(a),a}};return w}function Ui(e){if(ta(e))return e=Ds(e),e.children=null,e}function Wi(e){if(!ta(e))return bi(e.type)&&e.children?zi(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&V(n.default))return n.default()}}function Gi(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Gi(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ki(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===J?(o.patchFlag&128&&i++,r=r.concat(Ki(o.children,t,s))):(t||o.type!==ls)&&r.push(s==null?o:Ds(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function qi(e,t){return V(e)?le({name:e.name},t,{setup:e}):e}function Ji(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}var Yi=new WeakSet;function Xi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Zi=new WeakMap;function Qi(e,t,n,r,i=!1){if(B(e)){e.forEach((e,a)=>Qi(e,t&&(B(t)?t[a]:t),n,r,i));return}if(ea(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Qi(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?ic(r.component):r.el,o=i?null:a,{i:s,r:c}=e;if(process.env.NODE_ENV!==`production`&&!s){q(`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`);return}let l=t&&t.r,u=s.refs===I?s.refs={}:s.refs,d=s.setupState,f=jn(d),p=d===I?ce:e=>process.env.NODE_ENV!==`production`&&(z(f,e)&&!Fn(f[e])&&q(`Template ref "${e}" used on a non-ref value. It will not work in the production build.`),Yi.has(f[e]))||Xi(u,e)?!1:z(f,e),m=(e,t)=>!(process.env.NODE_ENV!==`production`&&Yi.has(e)||t&&Xi(u,t));if(l!=null&&l!==c){if($i(t),he(l))u[l]=null,p(l)&&(d[l]=null);else if(Fn(l)){let e=t;m(l,e.k)&&(l.value=null),e.k&&(u[e.k]=null)}}if(V(c)){Dt();try{sr(c,s,12,[o,u])}finally{Ot()}}else{let t=he(c),r=Fn(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)B(n)&&ue(n,a);else if(B(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c,e.k)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r?(m(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o)):process.env.NODE_ENV!==`production`&&q(`Invalid template ref type:`,c,`(${typeof c})`)};if(o){let t=()=>{s(),Zi.delete(e)};t.id=-1,Zi.set(e,t),Yo(t,n)}else $i(e),s()}else process.env.NODE_ENV!==`production`&&q(`Invalid template ref type:`,c,`(${typeof c})`)}}function $i(e){let t=Zi.get(e);t&&(t.flags|=8,Zi.delete(e))}Re().requestIdleCallback,Re().cancelIdleCallback;var ea=e=>!!e.type.__asyncLoader,ta=e=>e.type.__isKeepAlive;function na(e,t){ia(e,`a`,t)}function ra(e,t){ia(e,`da`,t)}function ia(e,t,n=Rs){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(oa(t,r,n),n){let e=n.parent;for(;e&&e.parent;)ta(e.parent.vnode)&&aa(r,t,n,e),e=e.parent}}function aa(e,t,n,r){let i=oa(t,e,r,!0);pa(()=>{ue(r[t],i)},n)}function oa(e,t,n=Rs,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Dt();let i=Hs(n),a=cr(t,n,e,r);return i(),Ot(),a};return r?i.unshift(a):i.push(a),a}else process.env.NODE_ENV!==`production`&&q(`${je(or[e].replace(/ hook$/,``))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}var sa=e=>(t,n=Rs)=>{(!qs||e===`sp`)&&oa(e,(...e)=>t(...e),n)},ca=sa(`bm`),la=sa(`m`),ua=sa(`bu`),da=sa(`u`),fa=sa(`bum`),pa=sa(`um`),ma=sa(`sp`),ha=sa(`rtg`),ga=sa(`rtc`);function _a(e,t=Rs){oa(`ec`,e,t)}var va=Symbol.for(`v-ndc`);function ya(e,t,n,r){let i,a=n&&n[r],o=B(e);if(o||he(e)){let n=o&&Dn(e),r=!1,s=!1;n&&(r=!kn(e),s=On(e),e=Vt(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Pn(Nn(e[n])):Nn(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`)if(process.env.NODE_ENV!==`production`&&(!Number.isInteger(e)||e<0))q(`The v-for range expects a positive integer value but got ${e}.`),i=[];else{i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(H(e))if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}else i=[];return n&&(n[r]=i),i}function ba(e,t,n={},r,i){if(ri.ce||ri.parent&&ea(ri.parent)&&ri.parent.ce){let e=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Y(),_s(J,null,[ws(`slot`,n,r&&r())],e?-2:64)}let a=e[t];process.env.NODE_ENV!==`production`&&a&&a.length>1&&(q(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`),a=()=>[]),a&&a._c&&(a._d=!1),Y();let o=a&&xa(a(n)),s=n.key||o&&o.key,c=_s(J,{key:(s&&!ge(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function xa(e){return e.some(e=>!vs(e)||!(e.type===ls||e.type===J&&!xa(e.children)))?e:null}var Sa=e=>e?Ks(e)?ic(e):Sa(e.parent):null,Ca=le(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>process.env.NODE_ENV===`production`?e.props:Tn(e.props),$attrs:e=>process.env.NODE_ENV===`production`?e.attrs:Tn(e.attrs),$slots:e=>process.env.NODE_ENV===`production`?e.slots:Tn(e.slots),$refs:e=>process.env.NODE_ENV===`production`?e.refs:Tn(e.refs),$parent:e=>Sa(e.parent),$root:e=>Sa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>La(e),$forceUpdate:e=>e.f||=()=>{xr(e.update)},$nextTick:e=>e.n||=yr.bind(e.proxy),$watch:e=>gi.bind(e)}),wa=e=>e===`_`||e===`$`,Ta=(e,t)=>e!==I&&!e.__isScriptSetup&&z(e,t),Ea={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(process.env.NODE_ENV!==`production`&&t===`__isVue`)return!0;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(Ta(r,t))return o[t]=1,r[t];else if(i!==I&&z(i,t))return o[t]=2,i[t];else if(z(a,t))return o[t]=3,a[t];else if(n!==I&&z(n,t))return o[t]=4,n[t];else Ma&&(o[t]=0)}let l=Ca[t],u,d;if(l)return t===`$attrs`?(Rt(e.attrs,`get`,``),process.env.NODE_ENV!==`production`&&ro()):process.env.NODE_ENV!==`production`&&t===`$slots`&&Rt(e,`get`,t),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==I&&z(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,z(d,t))return d[t];process.env.NODE_ENV!==`production`&&ri&&(!he(t)||t.indexOf(`__v`)!==0)&&(i!==I&&wa(t[0])&&z(i,t)?q(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===ri&&q(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return Ta(i,t)?(i[t]=n,!0):process.env.NODE_ENV!==`production`&&i.__isScriptSetup&&z(i,t)?(q(`Cannot mutate <script setup> binding "${t}" from Options API.`),!1):r!==I&&z(r,t)?(r[t]=n,!0):z(e.props,t)?(process.env.NODE_ENV!==`production`&&q(`Attempting to mutate prop "${t}". Props are readonly.`),!1):t[0]===`$`&&t.slice(1)in e?(process.env.NODE_ENV!==`production`&&q(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`),!1):(process.env.NODE_ENV!==`production`&&t in e.appContext.config.globalProperties?Object.defineProperty(a,t,{enumerable:!0,configurable:!0,value:n}):a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==I&&s[0]!==`$`&&z(e,s)||Ta(t,s)||z(a,s)||z(r,s)||z(Ca,s)||z(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?z(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};process.env.NODE_ENV!==`production`&&(Ea.ownKeys=e=>(q(`Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`),Reflect.ownKeys(e)));function Da(e){let t={};return Object.defineProperty(t,"_",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(Ca).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>Ca[n](e),set:se})}),t}function Oa(e){let{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(n=>{Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>e.props[n],set:se})})}function ka(e){let{ctx:t,setupState:n}=e;Object.keys(jn(n)).forEach(e=>{if(!n.__isScriptSetup){if(wa(e[0])){q(`setup() return property ${JSON.stringify(e)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:()=>n[e],set:se})}})}function Aa(e){return B(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function ja(){let e=Object.create(null);return(t,n)=>{e[n]?q(`${t} property "${n}" is already defined in ${e[n]}.`):e[n]=t}}var Ma=!0;function Na(e){let t=La(e),n=e.proxy,r=e.ctx;Ma=!1,t.beforeCreate&&Fa(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:v,destroyed:y,unmounted:b,render:x,renderTracked:S,renderTriggered:C,errorCaptured:w,serverPrefetch:T,expose:E,inheritAttrs:D,components:O,directives:k,filters:A}=t,j=process.env.NODE_ENV===`production`?null:ja();if(process.env.NODE_ENV!==`production`){let[t]=e.propsOptions;if(t)for(let e in t)j(`Props`,e)}if(l&&Pa(l,r,j),o)for(let e in o){let t=o[e];V(t)?(process.env.NODE_ENV===`production`?r[e]=t.bind(n):Object.defineProperty(r,e,{value:t.bind(n),configurable:!0,enumerable:!0,writable:!0}),process.env.NODE_ENV!==`production`&&j(`Methods`,e)):process.env.NODE_ENV!==`production`&&q(`Method "${e}" has type "${typeof t}" in the component definition. Did you reference the function correctly?`)}if(i){process.env.NODE_ENV!==`production`&&!V(i)&&q(`The data option must be a function. Plain object usage is no longer supported.`);let t=i.call(n,n);if(process.env.NODE_ENV!==`production`&&_e(t)&&q(`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`),!H(t))process.env.NODE_ENV!==`production`&&q(`data() should return an object.`);else if(e.data=Sn(t),process.env.NODE_ENV!==`production`)for(let e in t)j(`Data`,e),wa(e[0])||Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:()=>t[e],set:se})}if(Ma=!0,a)for(let e in a){let t=a[e],i=V(t)?t.bind(n,n):V(t.get)?t.get.bind(n,n):se;process.env.NODE_ENV!==`production`&&i===se&&q(`Computed property "${e}" has no getter.`);let o=uc({get:i,set:!V(t)&&V(t.set)?t.set.bind(n):process.env.NODE_ENV===`production`?se:()=>{q(`Write operation failed: computed property "${e}" is readonly.`)}});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e}),process.env.NODE_ENV!==`production`&&j(`Computed`,e)}if(s)for(let e in s)Ia(s[e],r,n,e);if(c){let e=V(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{ui(t,e[t])})}u&&Fa(u,e,`c`);function M(e,t){B(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(M(ca,d),M(la,f),M(ua,p),M(da,m),M(na,h),M(ra,g),M(_a,w),M(ga,S),M(ha,C),M(fa,v),M(pa,b),M(ma,T),B(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};x&&e.render===se&&(e.render=x),D!=null&&(e.inheritAttrs=D),O&&(e.components=O),k&&(e.directives=k),T&&Ji(e)}function Pa(e,t,n=se){B(e)&&(e=Ha(e));for(let r in e){let i=e[r],a;a=H(i)?`default`in i?di(i.from||r,i.default,!0):di(i.from||r):di(i),Fn(a)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e}):t[r]=a,process.env.NODE_ENV!==`production`&&n(`Inject`,r)}}function Fa(e,t,n){cr(B(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ia(e,t,n,r){let i=r.includes(`.`)?_i(n,r):()=>n[r];if(he(e)){let n=t[e];V(n)?mi(i,n):process.env.NODE_ENV!==`production`&&q(`Invalid watch handler specified by key "${e}"`,n)}else if(V(e))mi(i,e.bind(n));else if(H(e))if(B(e))e.forEach(e=>Ia(e,t,n,r));else{let r=V(e.handler)?e.handler.bind(n):t[e.handler];V(r)?mi(i,r,e):process.env.NODE_ENV!==`production`&&q(`Invalid watch handler specified by key "${e.handler}"`,r)}else process.env.NODE_ENV!==`production`&&q(`Invalid watch option: "${r}"`,e)}function La(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ra(c,e,o,!0)),Ra(c,t,o)),H(t)&&a.set(t,c),c}function Ra(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ra(e,a,n,!0),i&&i.forEach(t=>Ra(e,t,n,!0));for(let i in t)if(r&&i===`expose`)process.env.NODE_ENV!==`production`&&q(`"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`);else{let r=za[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var za={data:Ba,props:Ga,emits:Ga,methods:Wa,computed:Wa,beforeCreate:Ua,created:Ua,beforeMount:Ua,mounted:Ua,beforeUpdate:Ua,updated:Ua,beforeDestroy:Ua,beforeUnmount:Ua,destroyed:Ua,unmounted:Ua,activated:Ua,deactivated:Ua,errorCaptured:Ua,serverPrefetch:Ua,components:Wa,directives:Wa,watch:Ka,provide:Ba,inject:Va};function Ba(e,t){return t?e?function(){return le(V(e)?e.call(this,this):e,V(t)?t.call(this,this):t)}:t:e}function Va(e,t){return Wa(Ha(e),Ha(t))}function Ha(e){if(B(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ua(e,t){return e?[...new Set([].concat(e,t))]:t}function Wa(e,t){return e?le(Object.create(null),e,t):t}function Ga(e,t){return e?B(e)&&B(t)?[...new Set([...e,...t])]:le(Object.create(null),Aa(e),Aa(t??{})):t}function Ka(e,t){if(!e)return t;if(!t)return e;let n=le(Object.create(null),e);for(let r in t)n[r]=Ua(e[r],t[r]);return n}function qa(){return{app:null,config:{isNativeTag:ce,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var Ja=0;function Ya(e,t){return function(n,r=null){V(n)||(n=le({},n)),r!=null&&!H(r)&&(process.env.NODE_ENV!==`production`&&q(`root props passed to app.mount() must be an object.`),r=null);let i=qa(),a=new WeakSet,o=[],s=!1,c=i.app={_uid:Ja++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:pc,get config(){return i.config},set config(e){process.env.NODE_ENV!==`production`&&q(`app.config cannot be replaced. Modify individual options instead.`)},use(e,...t){return a.has(e)?process.env.NODE_ENV!==`production`&&q(`Plugin has already been applied to target app.`):e&&V(e.install)?(a.add(e),e.install(c,...t)):V(e)?(a.add(e),e(c,...t)):process.env.NODE_ENV!==`production`&&q(`A plugin must either be a function or an object with an "install" function.`),c},mixin(e){return i.mixins.includes(e)?process.env.NODE_ENV!==`production`&&q(`Mixin has already been applied to target app`+(e.name?`: ${e.name}`:``)):i.mixins.push(e),c},component(e,t){return process.env.NODE_ENV!==`production`&&Gs(e,i.config),t?(process.env.NODE_ENV!==`production`&&i.components[e]&&q(`Component "${e}" has already been registered in target app.`),i.components[e]=t,c):i.components[e]},directive(e,t){return process.env.NODE_ENV!==`production`&&si(e),t?(process.env.NODE_ENV!==`production`&&i.directives[e]&&q(`Directive "${e}" has already been registered in target app.`),i.directives[e]=t,c):i.directives[e]},mount(a,o,l){if(s)process.env.NODE_ENV!==`production`&&q("App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`");else{process.env.NODE_ENV!==`production`&&a.__vue_app__&&q("There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.");let u=c._ceVNode||ws(n,r);return u.appContext=i,l===!0?l=`svg`:l===!1&&(l=void 0),process.env.NODE_ENV!==`production`&&(i.reload=()=>{let t=Ds(u);t.el=null,e(t,a,l)}),o&&t?t(u,a):e(u,a,l),s=!0,c._container=a,a.__vue_app__=c,process.env.NODE_ENV!==`production`&&(c._instance=u.component,Kr(c,pc)),ic(u.component)}},onUnmount(e){process.env.NODE_ENV!==`production`&&typeof e!=`function`&&q(`Expected function as first argument to app.onUnmount(), but got ${typeof e}`),o.push(e)},unmount(){s?(cr(o,c._instance,16),e(null,c._container),process.env.NODE_ENV!==`production`&&(c._instance=null,qr(c)),delete c._container.__vue_app__):process.env.NODE_ENV!==`production`&&q(`Cannot unmount an app that is not mounted.`)},provide(e,t){return process.env.NODE_ENV!==`production`&&e in i.provides&&(z(i.provides,e)?q(`App already provides property with key "${String(e)}". It will be overwritten with the new value.`):q(`App already provides property with key "${String(e)}" inherited from its parent element. It will be overwritten with the new value.`)),i.provides[e]=t,c},runWithContext(e){let t=Xa;Xa=c;try{return e()}finally{Xa=t}}};return c}}var Xa=null,Za=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${De(t)}Modifiers`]||e[`${ke(t)}Modifiers`];function Qa(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||I;if(process.env.NODE_ENV!==`production`){let{emitsOptions:r,propsOptions:[i]}=e;if(r)if(!(t in r))(!i||!(je(De(t))in i))&&q(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${je(De(t))}" prop.`);else{let e=r[t];V(e)&&(e(...n)||q(`Invalid event arguments: event validation failed for event "${t}".`))}}let i=n,a=t.startsWith(`update:`),o=a&&Za(r,t.slice(7));if(o&&(o.trim&&(i=n.map(e=>he(e)?e.trim():e)),o.number&&(i=n.map(Fe))),process.env.NODE_ENV!==`production`&&ni(e,t,i),process.env.NODE_ENV!==`production`){let n=t.toLowerCase();n!==t&&r[je(n)]&&q(`Event "${n}" is emitted in component ${cc(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${ke(t)}" instead of "${t}".`)}let s,c=r[s=je(t)]||r[s=je(De(t))];!c&&a&&(c=r[s=je(ke(t))]),c&&cr(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,cr(l,e,6,i)}}var $a=new WeakMap;function eo(e,t,n=!1){let r=n?$a:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!V(e)){let r=e=>{let n=eo(e,t,!0);n&&(s=!0,le(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(H(e)&&r.set(e,null),null):(B(a)?a.forEach(e=>o[e]=null):le(o,a),H(e)&&r.set(e,o),o)}function to(e,t){return!e||!L(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),z(e,t[0].toLowerCase()+t.slice(1))||z(e,ke(t))||z(e,t))}var no=!1;function ro(){no=!0}function io(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=ai(e),_,v;process.env.NODE_ENV!==`production`&&(no=!1);try{if(n.shapeFlag&4){let e=i||r,t=process.env.NODE_ENV!==`production`&&p.__isScriptSetup?new Proxy(e,{get(e,t,n){return q(`Property '${String(t)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(e,t,n)}}):e;_=As(l.call(t,e,u,process.env.NODE_ENV===`production`?d:Tn(d),p,f,m)),v=s}else{let e=t;process.env.NODE_ENV!==`production`&&s===d&&ro(),_=As(e.length>1?e(process.env.NODE_ENV===`production`?d:Tn(d),process.env.NODE_ENV===`production`?{attrs:s,slots:o,emit:c}:{get attrs(){return ro(),Tn(s)},slots:o,emit:c}):e(process.env.NODE_ENV===`production`?d:Tn(d),null)),v=t.props?s:so(s)}}catch(t){ds.length=0,lr(t,e,1),_=ws(ls)}let y=_,b;if(process.env.NODE_ENV!==`production`&&_.patchFlag>0&&_.patchFlag&2048&&([y,b]=ao(_)),v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;if(e.length){if(t&7)a&&e.some(R)&&(v=co(v,a)),y=Ds(y,v,!1,!0);else if(process.env.NODE_ENV!==`production`&&!no&&y.type!==ls){let e=Object.keys(s),t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];L(i)?R(i)||t.push(i[2].toLowerCase()+i.slice(3)):n.push(i)}n.length&&q(`Extraneous non-props attributes (${n.join(`, `)}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`),t.length&&q(`Extraneous non-emits event listeners (${t.join(`, `)}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`)}}}return n.dirs&&(process.env.NODE_ENV!==`production`&&!lo(y)&&q(`Runtime directive used on component with non-element root node. The directives will not function as intended.`),y=Ds(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(process.env.NODE_ENV!==`production`&&!lo(y)&&q(`Component inside <Transition> renders non-element root node that cannot be animated.`),Gi(y,n.transition)),process.env.NODE_ENV!==`production`&&b?b(y):_=y,ai(g),_}var ao=e=>{let t=e.children,n=e.dynamicChildren,r=oo(t,!1);if(!r)return[e,void 0];if(process.env.NODE_ENV!==`production`&&r.patchFlag>0&&r.patchFlag&2048)return ao(r);let i=t.indexOf(r),a=n?n.indexOf(r):-1;return[As(r),r=>{t[i]=r,n&&(a>-1?n[a]=r:r.patchFlag>0&&(e.dynamicChildren=[...n,r]))}]};function oo(e,t=!0){let n;for(let r=0;r<e.length;r++){let i=e[r];if(vs(i)){if(i.type!==ls||i.children===`v-if`){if(n)return;if(n=i,process.env.NODE_ENV!==`production`&&t&&n.patchFlag>0&&n.patchFlag&2048)return oo(n.children)}}else return}return n}var so=e=>{let t;for(let n in e)(n===`class`||n===`style`||L(n))&&((t||={})[n]=e[n]);return t},co=(e,t)=>{let n={};for(let r in e)(!R(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n},lo=e=>e.shapeFlag&7||e.type===ls;function uo(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(process.env.NODE_ENV!==`production`&&(i||s)&&kr||t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?fo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(po(o,r,n)&&!to(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||fo(r,o,l):!!o;return!1}function fo(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(po(t,e,a)&&!to(n,a))return!0}return!1}function po(e,t,n){let r=e[n],i=t[n];return n===`style`&&H(r)&&H(i)?!tt(r,i):r!==i}function mo({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var ho={},go=()=>Object.create(ho),_o=e=>Object.getPrototypeOf(e)===ho;function vo(e,t,n,r=!1){let i={},a=go();e.propsDefaults=Object.create(null),xo(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);process.env.NODE_ENV!==`production`&&Do(t||{},i,e),n?e.props=r?i:Cn(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function yo(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function bo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=jn(i),[c]=e.propsOptions,l=!1;if(!(process.env.NODE_ENV!==`production`&&yo(e))&&(r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(to(e.emitsOptions,o))continue;let u=t[o];if(c)if(z(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=De(o);i[t]=So(c,s,t,u,e,!1)}else u!==a[o]&&(a[o]=u,l=!0)}}}else{xo(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!z(t,a)&&((r=ke(a))===a||!z(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=So(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!z(t,e))&&(delete a[e],l=!0)}l&&zt(e.attrs,`set`,``),process.env.NODE_ENV!==`production`&&Do(t||{},i,e)}function xo(e,t,n,r){let[i,a]=e.propsOptions,o=!1,s;if(t)for(let c in t){if(Ce(c))continue;let l=t[c],u;i&&z(i,u=De(c))?!a||!a.includes(u)?n[u]=l:(s||={})[u]=l:to(e.emitsOptions,c)||(!(c in r)||l!==r[c])&&(r[c]=l,o=!0)}if(a){let t=jn(n),r=s||I;for(let o=0;o<a.length;o++){let s=a[o];n[s]=So(i,t,s,r[s],e,!z(r,s))}}return o}function So(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=z(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&V(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Hs(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===ke(n))&&(r=!0))}return r}var Co=new WeakMap;function wo(e,t,n=!1){let r=n?Co:t.propsCache,i=r.get(e);if(i)return i;let a=e.props,o={},s=[],c=!1;if(!V(e)){let r=e=>{c=!0;let[n,r]=wo(e,t,!0);le(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return H(e)&&r.set(e,oe),oe;if(B(a))for(let e=0;e<a.length;e++){process.env.NODE_ENV!==`production`&&!he(a[e])&&q(`props must be strings when using array syntax.`,a[e]);let t=De(a[e]);To(t)&&(o[t]=I)}else if(a){process.env.NODE_ENV!==`production`&&!H(a)&&q(`invalid props options`,a);for(let e in a){let t=De(e);if(To(t)){let n=a[e],r=o[t]=B(n)||V(n)?{type:n}:le({},n),i=r.type,c=!1,l=!0;if(B(i))for(let e=0;e<i.length;++e){let t=i[e],n=V(t)&&t.name;if(n===`Boolean`){c=!0;break}else n===`String`&&(l=!1)}else c=V(i)&&i.name===`Boolean`;r[0]=c,r[1]=l,(c||z(r,`default`))&&s.push(t)}}}let l=[o,s];return H(e)&&r.set(e,l),l}function To(e){return e[0]!==`$`&&!Ce(e)?!0:(process.env.NODE_ENV!==`production`&&q(`Invalid prop name: "${e}" is a reserved property.`),!1)}function Eo(e){return e===null?`null`:typeof e==`function`?e.name||``:typeof e==`object`&&e.constructor&&e.constructor.name||``}function Do(e,t,n){let r=jn(t),i=n.propsOptions[0],a=Object.keys(e).map(e=>De(e));for(let e in i){let t=i[e];t!=null&&Oo(e,r[e],t,process.env.NODE_ENV===`production`?r:Tn(r),!a.includes(e))}}function Oo(e,t,n,r,i){let{type:a,required:o,validator:s,skipCheck:c}=n;if(o&&i){q(`Missing required prop: "`+e+`"`);return}if(!(t==null&&!o)){if(a!=null&&a!==!0&&!c){let n=!1,r=B(a)?a:[a],i=[];for(let e=0;e<r.length&&!n;e++){let{valid:a,expectedType:o}=Ao(t,r[e]);i.push(o||``),n=a}if(!n){q(jo(e,t,i));return}}s&&!s(t,r)&&q(`Invalid prop: custom validator check failed for prop "`+e+`".`)}}var ko=ae(`String,Number,Boolean,Function,Symbol,BigInt`);function Ao(e,t){let n,r=Eo(t);if(r===`null`)n=e===null;else if(ko(r)){let i=typeof e;n=i===r.toLowerCase(),!n&&i===`object`&&(n=e instanceof t)}else n=r===`Object`?H(e):r===`Array`?B(e):e instanceof t;return{valid:n,expectedType:r}}function jo(e,t,n){if(n.length===0)return`Prop type [] for prop "${e}" won't match anything. Did you mean to use type Array instead?`;let r=`Invalid prop: type check failed for prop "${e}". Expected ${n.map(Ae).join(` | `)}`,i=n[0],a=be(t),o=Mo(t,i),s=Mo(t,a);return n.length===1&&No(i)&&Po(i,a)&&(r+=` with value ${o}`),r+=`, got ${a} `,No(a)&&(r+=`with value ${s}.`),r}function Mo(e,t){return ge(e)?e.toString():t===`String`?`"${e}"`:t===`Number`?`${Number(e)}`:`${e}`}function No(e){return[`string`,`number`,`boolean`].some(t=>e.toLowerCase()===t)}function Po(...e){return e.every(e=>{let t=e.toLowerCase();return t!==`boolean`&&t!==`symbol`})}var Fo=e=>e===`_`||e===`_ctx`||e===`$stable`,Io=e=>B(e)?e.map(As):[As(e)],Lo=(e,t,n)=>{if(t._n)return t;let r=oi((...r)=>(process.env.NODE_ENV!==`production`&&Rs&&!(n===null&&ri)&&!(n&&n.root!==Rs.root)&&q(`Slot "${e}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`),Io(t(...r))),n);return r._c=!1,r},Ro=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Fo(n))continue;let i=e[n];if(V(i))t[n]=Lo(n,i,r);else if(i!=null){process.env.NODE_ENV!==`production`&&q(`Non-function value encountered for slot "${n}". Prefer function slots for better performance.`);let e=Io(i);t[n]=()=>e}}},zo=(e,t)=>{process.env.NODE_ENV!==`production`&&!ta(e.vnode)&&q(`Non-function value encountered for default slot. Prefer function slots for better performance.`);let n=Io(t);e.slots.default=()=>n},Bo=(e,t,n)=>{for(let r in t)(n||!Fo(r))&&(e[r]=t[r])},Vo=(e,t,n)=>{let r=e.slots=go();if(e.vnode.shapeFlag&32){let e=t._;e?(Bo(r,t,n),n&&Pe(r,`_`,e,!0)):Ro(t,r)}else t&&zo(e,t)},Ho=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=I;if(r.shapeFlag&32){let r=t._;r?process.env.NODE_ENV!==`production`&&kr?(Bo(i,t,n),zt(e,`set`,`$slots`)):n&&r===1?a=!1:Bo(i,t,n):(a=!t.$stable,Ro(t,i)),o=t}else t&&(zo(e,t),o={default:1});if(a)for(let e in i)!Fo(e)&&o[e]==null&&delete i[e]},Uo,Wo;function Go(e,t){e.appContext.config.performance&&qo()&&Wo.mark(`vue-${t}-${e.uid}`),process.env.NODE_ENV!==`production`&&$r(e,t,qo()?Wo.now():Date.now())}function Ko(e,t){if(e.appContext.config.performance&&qo()){let n=`vue-${t}-${e.uid}`,r=n+`:end`,i=`<${cc(e,e.type)}> ${t}`;Wo.mark(r),Wo.measure(i,n,r),Wo.clearMeasures(i),Wo.clearMarks(n),Wo.clearMarks(r)}process.env.NODE_ENV!==`production`&&ei(e,t,qo()?Wo.now():Date.now())}function qo(){return Uo===void 0&&(typeof window<`u`&&window.performance?(Uo=!0,Wo=window.performance):Uo=!1),Uo}function Jo(){let e=[];if(process.env.NODE_ENV!==`production`&&e.length){let t=e.length>1;console.warn(`Feature flag${t?`s`:``} ${e.join(`, `)} ${t?`are`:`is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
@@ -48,8 +48,8 @@ self.onmessage = async (e) => {
48
48
  `)}catch{}return``}var qp={pageBuilder:{systemPrompt:`你是页面构建助手。按用户意图读写主数据(经 data 声明 + schema 校验),改完页面实时更新。`},researcher:{systemPrompt:`你是调研助手。多路调研用 spawn_agents 并行委派子 agent(各负责一个方向);单份资料用 fetch_document 抓取;最后结构化汇总,给出结论与依据。`,subagent:{maxParallel:4}},minimal:{capabilities:{planning:!1,skills:!1,vfs:!1,summarization:!1,memory:!1,subagent:!1}}};function Jp(e,t=`code`,n=!0){let r=`use_${e}`;return[`【先判意图(防长对话误路由)】先判断用户是「问」还是「要生成/改」:**提问类**(这是什么组件/怎么用/某字段什么意思/为什么这样/解释代码)→ 用 read / list_components / rag_component_docs **直接回答**,绝不委派 ${r};**生成/修改类**(做一个/生成/改成/加一个 XX 组件)才按下面纪律委派 ${r}。长对话里上文全是生成记录时尤须警惕,不要把新问题当成延续旧任务。`,`【多方案征询=先文本】用户要「出几套/两套方案我来选」「给几个选择」「先出方案看看」→ **本轮只出文本方案**(每套一两句:布局/配色/交互差异),经 request_human_confirmation 的 options 让用户点选(或等用户回复选定);**选定后才**委派 ${r} 建所选方案。禁止先并发多个子 agent 把每套方案都生成出来再让用户挑(子 agent 产物当不了选项清单,且烧 token;真 LLM 实测踩过:「出两套方案」被路由成两个 use_${e} 委派)。`,`【执行纪律(最重要)】收到代码组件任务后:**新建类直接委派**(追加组件无需通读/翻页现有数组,子 agent 自会采样一个组件看结构;**新建组件由子 agent 全权创建** —— 它自己把整个组件(含 ${t})写进数组,你不需要也不能替它创建/追加/落地代码)→ 修改类才 read 定位(by name)→ 调 ${r} 委派 → read 核对 → 回复用户。**中间绝不输出过渡性文字** —— 「我先看看…」「稍后委派」「接下来我会…」这类计划性回复等于任务没做就结束了(回复即本轮终止);所有调研和委派在本轮内连续完成,完成后才回复总结。`,`【产物形态】每个组件是完整、自包含的 HTML 页面(含 style/script,可独立成页);你只负责委派和收尾,不关心宿主如何渲染(v-html / iframe / SFC 是集成方的事)。`,`【主 agent 职责边界(硬规则)】禁止直接 read/write 代码组件的 ${t} 字段(read 只得 <code Nkb> 摘要没用;write 绕过 vfs/verify 危险)—— 生成/修改/排查代码一律经 ${r},收尾 read 核对。**委派返回即已落地**:${r} 的结论说「已创建组件 X」= 组件已在数组里,**不要再 write/append 一遍**(子 agent 已自己创建,你再写 = 造出重复组件,还得花轮次删;真 LLM 实测踩过:主 agent 把返回的 code 又追加了一次 → 索引 8/9 重复)。核对方式 = read 该数组尾部(确认新组件存在 + name 唯一),仅此而已。`,`【多组件委派(防上下文污染)】一次要多个组件:① write_todos 列出(每项 name + 要点)② **不同组件可在同一轮并行发多个 ${r} 委派**(每组件一次 ${r},task 只写该组件 name + 要点 + 主题/风格;每次委派是独立子 agent 实例,互不共享上下文);**同一组件同一时间只能有一个委派在途**,勿对同一组件同轮发两个委派 ③ 委派返回后逐个 read 核对(确认已生成 + 名称对)+ update_todo 标完成 ④ 主题/风格在每次 task 里转述(每个子 agent 全新上下文,不知其他组件)。一次 task 塞多个组件仍禁止(同一子 agent 共享上下文生成多个 → class/样式冲突污染);主 agent 自己的 write(普通组件属性)可与委派同轮发出,不必等委派返回。`,`【委派 task 规格化(收窄子 agent 决策,防开放任务致装饰穷举)】委派 ${r} 的 task 必须含:① 组件定位(by name)② 视觉风格(配色/质感/字体;**给 1-2 个具体视觉锚** —— 主色 hex **取自平台 UI/设计规范 skill 的定义值**(有规范类 skill 先 load 再引用其 hex,勿凭页面观察自造近似色;无规范才自定,如「金黄 #F7C948」)、主体占比(如「杯高约画布 60%」)或装饰密度(如「仅 2 类背景装饰」)—— 细节空间收窄,子 agent 不在装饰细节上展开推演)③ 内容(文案/数据/图)④ 交互意图(动效/状态/触发)⑤ 历史偏好(可选):聊天上下文中有与该组件相关的用户历史偏好/反馈(如「用户偏好深色系」「上轮嫌动画太快」),提炼一句附 task 末尾(新子 agent 无记忆,全靠 task);**不含技术实现**(SVG vs CSS / keyframes vs transition 归子 agent 选)。❌「生成啤酒杯动画」→ ✅「啤酒杯倒酒(beer):金黄啤酒 #F7C948 从上方倒入透明杯(杯高约画布 60%),深绿背景,液体循环下落 2s,hover 杯子放大」。规格简练(4 要素各半句),远省子 agent 思考 token。`,`【委派失败重试】${r} 返回乱码/内部标记(如 <|DSML|)/空结论或报错 = 子 agent 异常,**重新委派一次**(task 附「上次失败,这次先把代码写短些/分步」);连续两次失败才降级告知用户。**不要因此自己直接 write/edit ${t} 字段**(绕过 vfs/格式校验,且你拿不到规范全文)。`,...n?[`【设计品味引导】子 agent 内置 web-design-engineer 设计 skill(设计系统先声明/反 AI 俗套/25 风格配方/5 维自评;**挂在子 agent 侧,你自己 load 不到也不必尝试**)。委派 task 的视觉锚可直接引用配方名 —— linear / apple-hig / muji / pentagram / bloomberg-terminal / aesop 等(如「Linear 风格:暖深色+发丝线」),子 agent 会按名取配方参数照做;用户未指定风格时勿写「随便/好看就行」,给一条具体方向(流派或参考品牌),子 agent 按其 skill 流程选配方并在结论里声明设计系统与假设。`]:[],`【预算将尽暂停】组件很多、接近工具轮次上限不要硬扛:完成手头这个后报告「已生成 K/N,还剩 M 个」,等用户确认后从 todos 剩余项继续(勿重复已完成)。`].join(`
49
49
  `)}var Yp={reliableWriteRules:[`【可靠写入规则】`,`1. 改任何字段前,先用 read({ jsonPath }) 读其当前真实值,基于真实值改,不要凭记忆;`,`2. 若不确定可操作哪些字段,先 read() 不传 jsonPath 查看主数据说明 + schema 声明字段(集成方可经 sdk.setData 运行时替换 schema,以工具返回为准,勿凭旧记忆);`,`3. 不确定某字段结构时,read({ jsonPath }) 返回含格式说明,字段以返回为准;`,`4. 写入若被 schema 校验拒绝(返回结构化错误含字段名与期望类型),按错误修正后重试,不要放弃;`,`5. 优先用 write 的 patch 增量改(只发改动,如 write({ value, patch:{ op, jsonPath } })),避免整体重传大 JSON 被截断;`,`6. 写入若触发乐观锁冲突(返回 VERSION_CONFLICT 或工具挂起等用户决定):等工具返回结果后按其指示继续(保留外部值 → 重新 read 再改;已覆盖/已回退 → 基于结果重写),不要放弃任务。`].join(`
50
50
  `),reliableWriteRulesEn:[`[Reliable write rules]`,`1. Before changing any field, read its current real value with read({ jsonPath }) and edit based on that value, never from memory;`,`2. If unsure which fields are operable, call read() without jsonPath first to see the data description + schema-declared fields (the integrator can replace the schema at runtime via sdk.setData; trust the tool response over stale memory);`,`3. When unsure about a field structure, the read({ jsonPath }) response includes a format description; treat the response as the source of truth;`,`4. If a write is rejected by schema validation (the structured error names the field and expected type), fix it per the error and retry; do not give up;`,`5. Prefer incremental write patches (send only the change, e.g. write({ value, patch:{ op, jsonPath } })) over resending the whole large JSON, which risks truncation;`,`6. If a write hits an optimistic-lock conflict (VERSION_CONFLICT returned, or the tool suspends awaiting the user decision): after the tool returns, follow its instruction (keep external → re-read then edit; overwritten/restored → continue from the result); do not abandon the task.`].join(`
51
- `),answerLanes:[`【作答车道:先判问题形态,再选纪律】`,`用户的问题分三类,判错车道是最大的答非所问:`,`A. 问页面内容(「这页写了什么 / 哪里提到 / 原文是什么 / 这段在说什么」)`,` → 以页面实料为准并点明出处;页面内容与你的先验知识冲突时以页面为准;页面没写就说没写,一句话即可,不列举查过哪些节。`,`B. 问概念术语(「X 是什么 / 啥意思 / X 和 Y 什么区别」)`,` → 页面有语境就先按页面语境讲;页面没有也必须直接用自己的知识解释,`,` 开头一句「本页未提及,以下是通用解释:」即可 —— 不许把「页面上没有」当答案。`,`C. 求观点经验(「你觉得呢 / 按你的经验 / 是不是很难 / 该怎么选」)`,` → 直接给判断和理由;笔记口径与个人观点分开说(「本页的立场是…;我的看法是…」)。`,` 页面没写不构成不答的理由。`,``,`出处密度:只有「对页面内容的断言」才标出处(句末括注即可);概念解释、个人观点、`,`过渡句一律不标。「没找到」的说明压成一句,不报检索过程。`].join(`
52
- `),answerLanesEn:[`[Answer lanes: classify the question first, then pick the discipline]`,`User questions fall into three categories; picking the wrong lane is the biggest way to miss the point:`,`A. Asking about page content ("what does this page say / where is it mentioned / what is the original text / what does this passage mean")`,` → Ground answers in what the page actually says and cite where it came from; when the page conflicts with your prior knowledge, the page wins; if the page does not say it, say so in one sentence — do not enumerate which sections you searched.`,`B. Asking about a concept or term ("what is X / what does it mean / how do X and Y differ")`,` → If the page has context for it, explain in that context first; if the page does not, you MUST still explain it directly from your own knowledge,`,` opening with one line like "Not covered on this page — general explanation:" — never treat "it is not on the page" as the answer.`,`C. Asking for your opinion or experience ("what do you think / in your experience / is it hard to match / which should I choose")`,` → Give your judgment and reasoning directly; keep the notes' stance and your own view separate ("this page's position is ...; my take is ...").`,` The page not covering it is never a reason to refuse.`,``,`Citation density: only claims about page content get a citation (a short parenthetical); concept explanations,`,`personal opinions, and transitions get none. Compress "not found" statements to one sentence; never narrate the search process.`].join(`
51
+ `),answerLanes:[`【作答车道:先判问题形态,再选纪律】`,`用户的问题分三类,判错车道是最大的答非所问:`,`A. 问页面内容(「这页写了什么 / 哪里提到 / 原文是什么 / 这段在说什么」)`,` → 以页面实料为准并点明出处;页面内容与你的先验知识冲突时以页面为准;页面没写就说没写,一句话即可,不列举查过哪些节。`,`B. 问概念术语(「X 是什么 / 啥意思 / X 和 Y 什么区别」)`,` → 页面有语境就先按页面语境讲;页面没有也必须直接用自己的知识解释,`,` 开头一句「本页未提及,以下是通用解释:」即可 —— 不许把「页面上没有」当答案。`,`C. 求观点经验(「你觉得呢 / 按你的经验 / 是不是很难 / 该怎么选」)`,` → 直接给判断和理由;笔记口径与个人观点分开说(「本页的立场是…;我的看法是…」)。`,` 页面没写不构成不答的理由。`,``,`已懂不查:已是通用知识或对话里已读过的内容,直接用 —— 不必为同一信息再读页面;`,`只有要断言「页面上写了什么」时才需要读页核实。`,`出处密度:只有「对页面内容的断言」才标出处(句末括注即可);概念解释、个人观点、`,`过渡句一律不标。「没找到」的说明压成一句,不报检索过程。`].join(`
52
+ `),answerLanesEn:[`[Answer lanes: classify the question first, then pick the discipline]`,`User questions fall into three categories; picking the wrong lane is the biggest way to miss the point:`,`A. Asking about page content ("what does this page say / where is it mentioned / what is the original text / what does this passage mean")`,` → Ground answers in what the page actually says and cite where it came from; when the page conflicts with your prior knowledge, the page wins; if the page does not say it, say so in one sentence — do not enumerate which sections you searched.`,`B. Asking about a concept or term ("what is X / what does it mean / how do X and Y differ")`,` → If the page has context for it, explain in that context first; if the page does not, you MUST still explain it directly from your own knowledge,`,` opening with one line like "Not covered on this page — general explanation:" — never treat "it is not on the page" as the answer.`,`C. Asking for your opinion or experience ("what do you think / in your experience / is it hard to match / which should I choose")`,` → Give your judgment and reasoning directly; keep the notes' stance and your own view separate ("this page's position is ...; my take is ...").`,` The page not covering it is never a reason to refuse.`,``,`Known means no lookup: use general knowledge you already master, and anything already read in this conversation,`,`directly — never re-read the page for information you already have; only claims about "what the page says" require reading to verify.`,`Citation density: only claims about page content get a citation (a short parenthetical); concept explanations,`,`personal opinions, and transitions get none. Compress "not found" statements to one sentence; never narrate the search process.`].join(`
53
53
  `),htmlPageOrchestrator:Jp(`html`),htmlPageProposeFirst:[`【新建/创意类请求】先用简短文字给出 2~3 套方案(每套一两句风格/配色/结构要点),询问用户选哪套;选定前不要委派生成代码、不要写 components。`,`【方案切换】已生成某套方案后改选另一套:不重新罗列,直接依据之前描述重新委派生成并覆盖相应组件(委派工具见编排段 use_<id>)。`].join(`
54
54
  `),htmlDirectWriteFallback:[`【纯代码组件 · 你直接写】当前未配备 html 子 agent,纯代码组件的代码字段(code,以 schema 声明为准)由你直接 write(普通字段,经 schema 校验 + 乐观锁 + 快照栈,与改其他字段无异;无 vfs 工作副本 / 无格式校验门禁)。`,`【HTML 生成规范】代码字段必须是完整、自包含的 HTML 页面(含 <style>/<script>,可独立成页):标签正确闭合、style/script 集中放置(如 <head> 内)、class 加前缀防冲突;可引外部 JS/CSS(CDN/字体)。安全底线:禁 eval/new Function、不引可疑外部脚本、不访问 document.cookie 等敏感属性。`,`【修改而非重写】改已有代码:先 read({jsonPath}) 取当前代码字段 → 基于当前值增量改(只动要改的部分,如换配色/文案/某段结构),不要整体重写整个代码字段(易丢已有内容、token 浪费)。`,`【质量自检】无格式校验门禁,写完自查标签闭合 / 结构完整;代码进 data 由集成方渲染层(v-html/iframe)呈现。如需代码资产机制(vfs 工作副本 + 格式校验 + 增量 commit),注册 createHtmlSubagent。`].join(`
55
55
  `)},Xp=15,Zp=4e3,Qp=new WeakMap;function $p(e,t){if(!e)return``;let n=t?`${t.maxKeys??``}|${t.maxChars??``}`:``;if(typeof e==`object`){let t=Qp.get(e);if(t&&t.optsKey===n)return t.hint}let r=em(e,t);return typeof e==`object`&&Qp.set(e,{optsKey:n,hint:r}),r}function em(e,t){let n=Up(e);if(n){let r=t?.maxKeys??Xp,i=t?.maxChars??Zp;if(n.split(`
@@ -2992,7 +2992,7 @@ ${`- 输出形态:完整、自包含的 HTML 页面(.${r},可独立成页)`}
2992
2992
  `+a.join(`
2993
2993
  `):void 0}}}function yC(e,t){let n=[`[当前页面] 用户正在浏览:`,`- 标题:${e.title}`,`- URL:${e.url}`,`用户问题通常针对此页面内容。`];return t&&n.push(`需要页面正文时用 read_page 读取纯文本(长文按 hasMore 分页续读);读结构用 get_dom。`),n.join(`
2994
2994
  `)}function bC(e){return{name:`pageContext`,augmentPrompt:()=>{let t=e.getPageInfo();if(t)return yC(t,e.canReadPage)}}}function xC(e){return{name:`resourcesPin`,augmentPrompt:()=>{let t=e.getResourcesSnapshot();if(!t.length)return;let n=[`## 受保护资源(跨压缩保留 · 精确值保护)`];for(let e of t)e.mode===`freeze`?n.push(`- ${e.path} (freeze 已冻结,不可改)`):n.push(`- ${e.path} (verbatim 原样保留)${e.handle?` ⟦res:${e.handle}⟧`:``}`);return n.push(`读到 ⟦frozen:path⟧/⟦res:handle⟧ 占位符 = 精确值在冻结区/资源池(不入消息流);需真值用 resource_get({path});freeze 字段不可写(撞 FROZEN_FIELD 即放弃);verbatim 直接写新值会 VERBATIM_MISMATCH,先 resource_update 再写回句柄;撞 RESOURCE_EVICTED/RESOURCE_NOT_FOUND 重新 read 懒注册。`),n.join(`
2995
- `)}}}var SC=`v:1::skill-store`,CC=`chat-sdk`;function wC(e,t,n){return`${SC}::${e}::${t}::${n}`}function TC(e,t){return`${SC}::${e}::${t}::`}function EC(e={}){let t=e.dbName??CC,n=e.backend??`indexed`,r=e.id??``,i,a,o=new Promise(e=>{a=e});return(async()=>{try{if(n===`indexed`){if(typeof indexedDB>`u`)throw Error(`indexedDB 不可用`);i=await Xy(t),a(!0)}else if(n===`session`){if(typeof sessionStorage>`u`)throw Error(`sessionStorage 不可用`);i=Zy(sessionStorage),a(!0)}else if(n===`local`){if(typeof localStorage>`u`)throw Error(`localStorage 不可用`);i=Zy(localStorage),a(!0)}else i=Yy(),a(!1)}catch{i=Yy(),a(!1)}})(),{ready:o,async list(){let e=[];return await i.scan(TC(t,r),(t,n)=>{e.push(n)}),e},async get(e){return await i.get(wC(t,r,e))},async put(e){try{await i.set(wC(t,r,e.name),e)}catch(e){Vy(e)&&(i=Yy())}},async remove(e){let n=wC(t,r,e);return await i.get(n)==null?!1:(await i.del(n),!0)},async clear(){await i.clearPrefix(TC(t,r))},dispose(){}}}var DC=/large_results\/[^\s"'`),]+\.txt/g;function OC(e){let t=new Set,n=e=>{if(typeof e!=`string`||!e)return;let n;for(DC.lastIndex=0;(n=DC.exec(e))!==null;)t.add(n[0])};for(let r of e){if(n(r.content),r.steps)for(let e of r.steps)n(e.result);if(r.images)for(let e of r.images)e.vfsRef&&t.add(e.vfsRef)}return t}function kC(e,t){let n=[];for(let r of Object.keys(e))r.startsWith(`large_results/`)&&!t.has(r)&&n.push(r);return n}function AC(){let e=Promise.resolve();return function(t){let n=e.then(t,t);return e=n.then(()=>void 0,()=>void 0),n}}var jC=30,MC=new Map;function NC(e,t){return e===`restore_data`?`restore`:e===`write`?t?.dryRun?null:t?.del?`delete`:t?.patch||t?.patches?`edit`:`set`:e===`eval_script`?t?.mode===`transform`?`edit`:null:e===`draft_commit`||e===`resource_update`?`edit`:null}function PC(e){return e===`spawn_agent`||e===`spawn_agents`||e.startsWith(`use_`)}function FC(e,t,n,r){let i=0;return{name:`sdk-events`,wrapToolCall:async(t,r)=>{let i=await r(t),a=NC(t.name,t.args),o=typeof i.content==`string`&&i.content.startsWith(`ERROR:`);return a&&!o?e({type:`data_change`,operation:a,value:n()?.bind}):i.status===`done`&&!o&&PC(t.name)&&e({type:`data_change`,operation:`edit`,value:n()?.bind}),i},afterModel:t=>{let n=F(t.message);n&&(r.prompt_tokens=(r.prompt_tokens??0)+(n.prompt_tokens??0),r.completion_tokens=(r.completion_tokens??0)+(n.completion_tokens??0),r.total_tokens=(r.total_tokens??0)+(n.total_tokens??0),n.reasoning_tokens&&(r.reasoning_tokens=(r.reasoning_tokens??0)+n.reasoning_tokens),i++,e({type:`usage`,round:i,usage:n,cumulative:{prompt_tokens:r.prompt_tokens,completion_tokens:r.completion_tokens,total_tokens:r.total_tokens,...r.reasoning_tokens?{reasoning_tokens:r.reasoning_tokens}:{}}}))},afterAgent:async()=>{e({type:`message_update`,count:t.length})}}}function IC(e,t,n,r,i){if(!n)return i&&console.warn(`[page-agent-sdk][focus] capabilities.focus 关闭,${t} 忽略`),{ok:!1,error:`capabilities.focus 关闭`};if(!e||!e.path)return i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path 必填且非空`),{ok:!1,error:`path 必填且非空`};let a=r();return a?bp(a,e.path)?{ok:!0}:(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path "${e.path}" 不在 schema 内(getSchemaAtPath 返 null;数组组件须 z.array(...) 包裹,裸 discriminatedUnion/Union 会降级)`),{ok:!1,error:`path "${e.path}" 不在 schema 内`}):(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:当前无主数据 schema`),{ok:!1,error:`当前无主数据 schema,无法聚焦`})}function LC(e,n,a){let o={prompt_tokens:0,completion_tokens:0,total_tokens:0},s=Dy(()=>qt,()=>e.conflictPolicy??`ask`,()=>W.agent?.debugLogs?.value),c=G(0),l=nb(e.storage);l&&(e.debug&&l.onEvent(e=>console.log(`[page-agent-sdk][storage]`,e)),l.onEvent(e=>{e.type===`quota`&&W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`storage_quota`,sessionBytes:e.sessionBytes,limit:e.limit===1/0?`Infinity`:e.limit}})}));let{modelCaps:u,summaryLlmInvoke:d,titleLlmInvoke:f,compressDecisionInvoke:p}=Ey(e),m=u;if(e.debug&&console.log(`[page-agent-sdk][modelCaps]`,m),m.contextWindow<2e5)throw Error(`[page-agent-sdk] 模型上下文窗口 ${m.contextWindow} 小于最小支持 ${y}(需 ≥200K 窗口模型,如 GLM-5.2/Claude/Kimi/Qwen-1M/DeepSeek-v4)`);{let t=e.llm,n=hy(t)?t.model??t.modelName??``:t.model??``,r=hy(t)?t.maxTokens??m.maxOutputTokens:t.maxTokens??x(t.model)??m.maxOutputTokens,i=C(n||void 0,m,r);i&&console.warn(i)}let h=db(e,m.contextWindow),g=h.enableLLMSummary!==!1,_=(e.contextOptions&&e.contextOptions.preserveLastToolResults)??ub[e.contextPreset??`auto`],v=new Set(_),b=e.llm;e.debug&&!d&&console.warn(`[page-agent-sdk][summarization] 未构造 llmInvoke(apiKey 缺失?),摘要回退零成本索引摘要`);let S=Sn([]),T=s_(e.vfs?.initialFiles,{persist:l?{save:e=>{yn.persistSave({vfs:e})}}:void 0,maxBytes:e.vfs?.maxBytes,poolBytes:e.vfs?.poolBytes}),E=Of([],{maxPlanRevisions:e.maxPlanRevisions}),D=im(),O=Pf(e=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`intent_guard`,preview:e}})}),k=om(()=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`resume_notice`}})}),A=mb(),j=e.approval?.timeoutMs,ee=j!==void 0&&Number.isFinite(j)&&j>0?j:j!==void 0&&(!Number.isFinite(j)||j<0)?0:3e4,N=e=>{qt({type:`error`,message:`确认请求(${e.toolName})${Math.round(e.waitedMs/1e3)}s 无响应已自动拒绝 —— 当前路径无 UI 响应方;可传 approval.timeoutMs 调整(Infinity = 无限等)`,severity:`observable`,code:`APPROVAL_AUTO_REJECTED`,context:e})},ne=ug(e=>{A.lastPlanConfirmation=e,yn.persistSave({planConfirmation:e}),W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`plan_confirmation`,summary:e.summary,choice:e.choice}})},{timeoutMs:ee,onAutoReject:N}),P=Lm({getSchema:()=>we()?.schema,getBind:()=>we()?.bind,onChange:e=>qt({type:`focus_change`,focuses:e})}),re=e=>{let t=Fm(we()?.bind,e.path);return t?{...e,pgId:t}:e},ie=Qh(),F=$h(e.memory||``);typeof e.memory==`function`&&F.refresh();let ae={current:null},I=e.data?{...e.data,description:e.data.description??`主数据对象`}:void 0,oe=!(e.subagents??[]).some(e=>e._codeAsset)&&sb(e.capabilities).subagent,se=e.subagents;oe&&I?.schema&&Mp(I.schema).length&&(se=[...e.subagents??[],cy()],console.info(`[page-agent-sdk] 检测到 schema 含代码组件数组(如 components[].code),已自动装配 HTML 代码子 agent(委派编排 + vfs 工作副本 + 格式校验 + 增量 commit)。需定制(codeField/formatCheck/craftNotes 等)请显式传 createHtmlSubagent(...)`));let ce=(se??[]).filter(e=>!!e._codeAsset),L=new Set;for(let e of ce){if(e._codeAsset.writablePaths.length)continue;let t=Mp(I?.schema,e._codeAsset.codeField);t.length?(e._codeAsset.writablePaths=t,Array.isArray(e.writablePaths)&&(e.writablePaths=t),e._rebuildCodeAssetPaths?.(t[0]),console.info(`[page-agent-sdk][createHtmlSubagent] 未传 writablePaths,已从 schema 推断: [${t.map(e=>`'${e}'`).join(`, `)}]`)):(console.warn(`[page-agent-sdk][createHtmlSubagent] 未能从 schema 推断 writablePaths(开放 schema(z.any()/z.record())/嵌套容器(如 sections[].children[])/点路径 codeField(如 props.html_code)不支持自动推断),已跳过该 html 子 agent(整体不受影响);如确需代码资产机制(vfs + 格式校验 + 增量 commit),请显式传 writablePaths(代码组件 data 区,如 ['components'])`),L.add(e))}let R=L.size?ce.filter(e=>!L.has(e)):ce,le=L.size?(se??[]).filter(e=>!L.has(e)):se,ue=R.length>0,de=R.flatMap(e=>e._codeAsset.writablePaths),z=R.flatMap(e=>e._codeAsset.writablePaths.map(t=>`${t}.${e._codeAsset.codeField}`)),B=e.checkpoint,fe=B!==void 0&&B!==!1,pe=fe?vg({getData:()=>we()?.bind,consumeDataDirty:()=>xe?.consumeDataDirty?.()??!0,slotPaths:I?[``]:[],vfsStore:T,todosMw:E,getTodos:()=>ae.current?.getState?.()?.todos??[],messages:S,maxCheckpoints:B&&typeof B==`object`?B.maxCheckpoints:void 0}):null,me=!B||typeof B!=`object`||B.auto!==!1,V=sb(e.capabilities),he=V.dataOps,ge=V.draftWrite,H=V.automation,_e=V.domInspect&&(m.vision===!0||typeof e.images?.describe==`function`),ve=r_({...e,locale:e.i18n?.locale,dataOps:he&&!!I,domInspect:V.domInspect===!0,screenshot:_e});if(ue){let e=R.map(e=>e._codeAsset.orchestratorPrompt).filter(Boolean).join(`
2995
+ `)}}}var SC=`v:1::skill-store`,CC=`chat-sdk`;function wC(e,t,n){return`${SC}::${e}::${t}::${n}`}function TC(e,t){return`${SC}::${e}::${t}::`}function EC(e={}){let t=e.dbName??CC,n=e.backend??`indexed`,r=e.id??``,i,a,o=new Promise(e=>{a=e});return(async()=>{try{if(n===`indexed`){if(typeof indexedDB>`u`)throw Error(`indexedDB 不可用`);i=await Xy(t),a(!0)}else if(n===`session`){if(typeof sessionStorage>`u`)throw Error(`sessionStorage 不可用`);i=Zy(sessionStorage),a(!0)}else if(n===`local`){if(typeof localStorage>`u`)throw Error(`localStorage 不可用`);i=Zy(localStorage),a(!0)}else i=Yy(),a(!1)}catch{i=Yy(),a(!1)}})(),{ready:o,async list(){let e=[];return await i.scan(TC(t,r),(t,n)=>{e.push(n)}),e},async get(e){return await i.get(wC(t,r,e))},async put(e){try{await i.set(wC(t,r,e.name),e)}catch(e){Vy(e)&&(i=Yy())}},async remove(e){let n=wC(t,r,e);return await i.get(n)==null?!1:(await i.del(n),!0)},async clear(){await i.clearPrefix(TC(t,r))},dispose(){}}}var DC=/large_results\/[^\s"'`),]+\.txt/g;function OC(e){let t=new Set,n=e=>{if(typeof e!=`string`||!e)return;let n;for(DC.lastIndex=0;(n=DC.exec(e))!==null;)t.add(n[0])};for(let r of e){if(n(r.content),r.steps)for(let e of r.steps)n(e.result);if(r.images)for(let e of r.images)e.vfsRef&&t.add(e.vfsRef)}return t}function kC(e,t){let n=[];for(let r of Object.keys(e))r.startsWith(`large_results/`)&&!t.has(r)&&n.push(r);return n}function AC(){let e=Promise.resolve();return function(t){let n=e.then(t,t);return e=n.then(()=>void 0,()=>void 0),n}}var jC=30,MC=new Map;function NC(e,t){return e===`restore_data`?`restore`:e===`write`?t?.dryRun?null:t?.del?`delete`:t?.patch||t?.patches?`edit`:`set`:e===`eval_script`?t?.mode===`transform`?`edit`:null:e===`draft_commit`||e===`resource_update`?`edit`:null}function PC(e){return e===`spawn_agent`||e===`spawn_agents`||e.startsWith(`use_`)}function FC(e,t,n,r){let i=0;return{name:`sdk-events`,wrapToolCall:async(t,r)=>{let i=await r(t),a=NC(t.name,t.args),o=typeof i.content==`string`&&i.content.startsWith(`ERROR:`);return a&&!o?e({type:`data_change`,operation:a,value:n()?.bind}):i.status===`done`&&!o&&PC(t.name)&&e({type:`data_change`,operation:`edit`,value:n()?.bind}),i},afterModel:t=>{let n=F(t.message);n&&(r.prompt_tokens=(r.prompt_tokens??0)+(n.prompt_tokens??0),r.completion_tokens=(r.completion_tokens??0)+(n.completion_tokens??0),r.total_tokens=(r.total_tokens??0)+(n.total_tokens??0),n.reasoning_tokens&&(r.reasoning_tokens=(r.reasoning_tokens??0)+n.reasoning_tokens),i++,e({type:`usage`,round:i,usage:n,cumulative:{prompt_tokens:r.prompt_tokens,completion_tokens:r.completion_tokens,total_tokens:r.total_tokens,...r.reasoning_tokens?{reasoning_tokens:r.reasoning_tokens}:{}}}))},afterAgent:async()=>{e({type:`message_update`,count:t.length})}}}function IC(e,t,n,r,i){if(!n)return i&&console.warn(`[page-agent-sdk][focus] capabilities.focus 关闭,${t} 忽略`),{ok:!1,error:`capabilities.focus 关闭`};if(!e||!e.path)return i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path 必填且非空`),{ok:!1,error:`path 必填且非空`};let a=r();return a?bp(a,e.path)?{ok:!0}:(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path "${e.path}" 不在 schema 内(getSchemaAtPath 返 null;数组组件须 z.array(...) 包裹,裸 discriminatedUnion/Union 会降级)`),{ok:!1,error:`path "${e.path}" 不在 schema 内`}):(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:当前无主数据 schema`),{ok:!1,error:`当前无主数据 schema,无法聚焦`})}function LC(e,n,a){let o={prompt_tokens:0,completion_tokens:0,total_tokens:0},s=Dy(()=>Yt,()=>e.conflictPolicy??`ask`,()=>W.agent?.debugLogs?.value),c=G(0),l=nb(e.storage);l&&(e.debug&&l.onEvent(e=>console.log(`[page-agent-sdk][storage]`,e)),l.onEvent(e=>{e.type===`quota`&&W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`storage_quota`,sessionBytes:e.sessionBytes,limit:e.limit===1/0?`Infinity`:e.limit}})}));let{modelCaps:u,summaryLlmInvoke:d,titleLlmInvoke:f,compressDecisionInvoke:p}=Ey(e),m=u;if(e.debug&&console.log(`[page-agent-sdk][modelCaps]`,m),m.contextWindow<2e5)throw Error(`[page-agent-sdk] 模型上下文窗口 ${m.contextWindow} 小于最小支持 ${y}(需 ≥200K 窗口模型,如 GLM-5.2/Claude/Kimi/Qwen-1M/DeepSeek-v4)`);{let t=e.llm,n=hy(t)?t.model??t.modelName??``:t.model??``,r=hy(t)?t.maxTokens??m.maxOutputTokens:t.maxTokens??x(t.model)??m.maxOutputTokens,i=C(n||void 0,m,r);i&&console.warn(i)}let h=db(e,m.contextWindow),g=h.enableLLMSummary!==!1,_=(e.contextOptions&&e.contextOptions.preserveLastToolResults)??ub[e.contextPreset??`auto`],v=new Set(_),b=e.llm;e.debug&&!d&&console.warn(`[page-agent-sdk][summarization] 未构造 llmInvoke(apiKey 缺失?),摘要回退零成本索引摘要`);let S=Sn([]),T=s_(e.vfs?.initialFiles,{persist:l?{save:e=>{xn.persistSave({vfs:e})}}:void 0,maxBytes:e.vfs?.maxBytes,poolBytes:e.vfs?.poolBytes}),E=Of([],{maxPlanRevisions:e.maxPlanRevisions}),D=im(),O=Pf(e=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`intent_guard`,preview:e}})}),k=om(()=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`resume_notice`}})}),A=mb(),j=e.approval?.timeoutMs,ee=j!==void 0&&Number.isFinite(j)&&j>0?j:j!==void 0&&(!Number.isFinite(j)||j<0)?0:3e4,N=e=>{Yt({type:`error`,message:`确认请求(${e.toolName})${Math.round(e.waitedMs/1e3)}s 无响应已自动拒绝 —— 当前路径无 UI 响应方;可传 approval.timeoutMs 调整(Infinity = 无限等)`,severity:`observable`,code:`APPROVAL_AUTO_REJECTED`,context:e})},ne=ug(e=>{A.lastPlanConfirmation=e,xn.persistSave({planConfirmation:e}),W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`plan_confirmation`,summary:e.summary,choice:e.choice}})},{timeoutMs:ee,onAutoReject:N}),P=Lm({getSchema:()=>we()?.schema,getBind:()=>we()?.bind,onChange:e=>Yt({type:`focus_change`,focuses:e})}),re=e=>{let t=Fm(we()?.bind,e.path);return t?{...e,pgId:t}:e},ie=Qh(),F=$h(e.memory||``);typeof e.memory==`function`&&F.refresh();let ae={current:null},I=e.data?{...e.data,description:e.data.description??`主数据对象`}:void 0,oe=!(e.subagents??[]).some(e=>e._codeAsset)&&sb(e.capabilities).subagent,se=e.subagents;oe&&I?.schema&&Mp(I.schema).length&&(se=[...e.subagents??[],cy()],console.info(`[page-agent-sdk] 检测到 schema 含代码组件数组(如 components[].code),已自动装配 HTML 代码子 agent(委派编排 + vfs 工作副本 + 格式校验 + 增量 commit)。需定制(codeField/formatCheck/craftNotes 等)请显式传 createHtmlSubagent(...)`));let ce=(se??[]).filter(e=>!!e._codeAsset),L=new Set;for(let e of ce){if(e._codeAsset.writablePaths.length)continue;let t=Mp(I?.schema,e._codeAsset.codeField);t.length?(e._codeAsset.writablePaths=t,Array.isArray(e.writablePaths)&&(e.writablePaths=t),e._rebuildCodeAssetPaths?.(t[0]),console.info(`[page-agent-sdk][createHtmlSubagent] 未传 writablePaths,已从 schema 推断: [${t.map(e=>`'${e}'`).join(`, `)}]`)):(console.warn(`[page-agent-sdk][createHtmlSubagent] 未能从 schema 推断 writablePaths(开放 schema(z.any()/z.record())/嵌套容器(如 sections[].children[])/点路径 codeField(如 props.html_code)不支持自动推断),已跳过该 html 子 agent(整体不受影响);如确需代码资产机制(vfs + 格式校验 + 增量 commit),请显式传 writablePaths(代码组件 data 区,如 ['components'])`),L.add(e))}let R=L.size?ce.filter(e=>!L.has(e)):ce,le=L.size?(se??[]).filter(e=>!L.has(e)):se,ue=R.length>0,de=R.flatMap(e=>e._codeAsset.writablePaths),z=R.flatMap(e=>e._codeAsset.writablePaths.map(t=>`${t}.${e._codeAsset.codeField}`)),B=e.checkpoint,fe=B!==void 0&&B!==!1,pe=fe?vg({getData:()=>we()?.bind,consumeDataDirty:()=>xe?.consumeDataDirty?.()??!0,slotPaths:I?[``]:[],vfsStore:T,todosMw:E,getTodos:()=>ae.current?.getState?.()?.todos??[],messages:S,maxCheckpoints:B&&typeof B==`object`?B.maxCheckpoints:void 0}):null,me=!B||typeof B!=`object`||B.auto!==!1,V=sb(e.capabilities),he=V.dataOps,ge=V.draftWrite,H=V.automation,_e=V.domInspect&&(m.vision===!0||typeof e.images?.describe==`function`),ve=r_({...e,locale:e.i18n?.locale,dataOps:he&&!!I,domInspect:V.domInspect===!0,screenshot:_e});if(ue){let e=R.map(e=>e._codeAsset.orchestratorPrompt).filter(Boolean).join(`
2996
2996
 
2997
2997
  `);e&&(ve+=`
2998
2998
 
@@ -3000,11 +3000,11 @@ ${`- 输出形态:完整、自包含的 HTML 页面(.${r},可独立成页)`}
3000
3000
 
3001
3001
  `+Yp.htmlDirectWriteFallback,console.warn(`[page-agent-sdk] 检测到 schema 含 code 字段但未注册 html 子 agent:已自动注入「主 agent 自己写 HTML」编排(code 作普通字段直接 write,无 vfs 工作副本 / 无格式校验门禁)。如需代码资产机制(vfs + 格式校验 + 增量 commit + 主上下文 code 摘要),注册 createHtmlSubagent;若确为降级意图可忽略。`));let ye=he&&I?ev(I,{onAudit:e.onAudit??(e.debug?e=>console.log(`[page-agent-sdk][data audit]`,e):void 0),maxSnapshots:e.maxSnapshots,onConflict:s.set,conflictWatchFields:e.conflictWatchFields,maxParallelTools:e.maxParallelTools,vfsStore:ge||I?.resources?.length?T:void 0,...de.length?{pgIdPaths:de}:{},...z.length?{largeTextPaths:z}:{}}):[],be=he?ye:[],xe=he&&I?ye.controller??null:null,Se=he&&I?ye.previewWrite:void 0,Ce=he&&I?.resources?.length&&xe?.getResourcesSnapshot?xC({getResourcesSnapshot:()=>xe?.getResourcesSnapshot?.()??[]}):void 0,we=()=>xe?.get()??I,Te=new Set(ye.map(e=>e.name)),Ee=e.conflictWatchFields??[],De=!Ee.includes(`*`)&&Ee.length?new Set(Ee):void 0,Oe=xe?Nv({getBind:()=>we()?.bind,recomputeAll:()=>xe.recomputeAllBaselines?.(),hasBaselines:()=>xe.hasBaselines?.()??!1,isManaged:e=>Te.has(e),hash:e=>De?xm(dg(e),De):bm(dg(e)),log:(e,t)=>{let n=W.agent?.debugLogs;n&&(n.value.push({timestamp:Date.now(),type:`middleware`,data:{stage:`baseline_guard`,...t}}),zn(n))}}):void 0,ke=new Map;V.domInspect&&!_e&&console.warn(`[page-agent-sdk][take_screenshot] domInspect 已开启但主模型不支持图片(vision=false)且未配 images.describe,截图工具未装载(视觉验证退回 get_dom/dom_info 结构推断;换多模态模型 / llm.vision:true / 配 images.describe 后重建 SDK 生效)`);let Ae=[],je=e=>{if(e.type===`tool_result`&&e.name===`take_screenshot`){let t=Ae.find(e=>!e.eventConsumed);if(t)return t.eventConsumed=!0,Object.assign(e,{image:{dataUri:t.image.dataUri,vfsRef:t.meta.vfsRef}})}return e},Me=m.vision===!0||typeof e.images?.describe==`function`?Jx({getVision:()=>m.vision===!0,describe:e.images?.describe,onShot:(e,t)=>{Ae.push({image:e,meta:t})}}):void 0,Ne=_e?Kx({render:e.screenshot?.renderer,getActiveFocus:()=>W.getFocus(),focusSelector:e.screenshot?.focusSelector,stow:e=>{if(e.dataUri)try{let t=`userImages/${e.id}`;return T.files[t]={content:e.dataUri,updatedAt:Date.now()},t}catch{return}},getVision:()=>m.vision===!0,describe:e.images?.describe,onShot:(e,t)=>{Ae.push({image:e,meta:t})}}):void 0,Pe=!hy(e.llm)&&(e.llm.provider??`openai`)===`anthropic`?`anthropic`:`openai`,Fe=Ne||Me?{name:`screenshotChannel`,wrapModelCall:async(e,t)=>{if(Ae.length){let t=Ae.splice(0),n=nu(t.map((e,t)=>e.meta.mode===`url`?`[图片 ${t+1}] 原图直投 ${e.image.url??``}(view_image,全分辨率非渲染态)`:`[截图 ${t+1}] ${e.meta.mode}${e.meta.selector?` selector="${e.meta.selector}"`:``}${e.meta.vfsRef?`(原图 vfs:${e.meta.vfsRef})`:``}`).join(`
3002
3002
  `)+`
3003
- (视觉内容如上,请结合图片回答/继续)`,t.map(e=>({dataUri:e.image.dataUri,url:e.image.url})),Pe);n&&e.messages.push(new r.HumanMessage({content:n}))}return t(e)}}:null,Ie=!1,Le=V.domEdit?sS({onEdit:e=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`dom_edit`,ops:e.ops.join(`,`),applied:e.applied,dryRun:e.dryRun}}),!e.dryRun&&e.applied>0&&(Ie=!0)},onRestore:e=>{e.restored>0&&(Ie=!0)}}):[],Re=[...pC(V,be,wS,V.domInspect?[...IS,...Le,...Ne?[Ne]:[],...V.skills?[]:[KS,qS]]:[],aC),...Me?[Me]:[]];Me&&ke.set(`view_image`,`builtin`),Re.forEach(e=>ke.set(e.name,`builtin`));let ze=e.proposals?SS(e.proposals,{emit:e=>{try{qt(e)}catch{}},log:(e,t)=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`proposal`,kind:e,...t}})}}):null,Be=[...e.tools||[],...ze?.tools??[]];Be.forEach(e=>ke.set(e.name,`user`));let Ve=cC(e.actions??{});Ve.forEach(e=>ke.set(e.name,`action`));let He=ze?e.proposals?.readToolName||`read_content`:null,Ue=ze?e.proposals?.toolName||`propose_content`:null,We=new Set([...Object.entries(e.actions??{}).filter(([,e])=>e?.readsHostState===!0).map(([e])=>e),...He?[He]:[]]),Ge=new Set([...Object.entries(e.actions??{}).filter(([,e])=>e?.deferredWrite===!0).map(([e])=>e),...Ue?[Ue]:[]]),Ke=[],qe=!1,Je=e.humanConfirm!==!1&&(!e.approval||e.approval.humanConfirmTool!==!1),Ye=Je?lg():null;Ye&&ke.set(sg,`builtin`);let Xe=fe&&pe?[(0,i.tool)(async()=>{let e=pe.list();return e.length?pe.restore()?`已回退到最近一次正常状态(checkpoint #${e[e.length-1].id})。对话历史、主数据、vfs、todos 已整体还原。请基于回退后的状态重新判断并继续。`:`回退失败:无可用 checkpoint。`:`无可用 checkpoint,无法回退。`},{name:`restore_last_checkpoint`,description:`回退到最近一次正常状态(整体还原对话历史 + 主数据 + vfs + todos)。当本轮操作出错、页面被改坏、或走偏时调用,回到本轮起点重新来过。不传参数即回退最近一次。`,schema:t.z.object({}).optional()}),(0,i.tool)(async()=>{let e=pe.list();return e.length?`可用 checkpoint:
3003
+ (视觉内容如上,请结合图片回答/继续)`,t.map(e=>({dataUri:e.image.dataUri,url:e.image.url})),Pe);n&&e.messages.push(new r.HumanMessage({content:n}))}return t(e)}}:null,Ie=!1,Le=V.domEdit?sS({onEdit:e=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`dom_edit`,ops:e.ops.join(`,`),applied:e.applied,dryRun:e.dryRun}}),!e.dryRun&&e.applied>0&&(Ie=!0)},onRestore:e=>{e.restored>0&&(Ie=!0)}}):[],Re=[...pC(V,be,wS,V.domInspect?[...IS,...Le,...Ne?[Ne]:[],...V.skills?[]:[KS,qS]]:[],aC),...Me?[Me]:[]];Me&&ke.set(`view_image`,`builtin`),Re.forEach(e=>ke.set(e.name,`builtin`));let ze=e.proposals?SS(e.proposals,{emit:e=>{try{Yt(e)}catch{}},log:(e,t)=>{W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`proposal`,kind:e,...t}})}}):null,Be=[...e.tools||[],...ze?.tools??[]];Be.forEach(e=>ke.set(e.name,`user`));let Ve=cC(e.actions??{});Ve.forEach(e=>ke.set(e.name,`action`));let He=ze?e.proposals?.readToolName||`read_content`:null,Ue=ze?e.proposals?.toolName||`propose_content`:null,We=new Set([...Object.entries(e.actions??{}).filter(([,e])=>e?.readsHostState===!0).map(([e])=>e),...He?[He]:[]]),Ge=new Set([...Object.entries(e.actions??{}).filter(([,e])=>e?.deferredWrite===!0).map(([e])=>e),...Ue?[Ue]:[]]),Ke=[],qe=!1,Je=e.humanConfirm!==!1&&(!e.approval||e.approval.humanConfirmTool!==!1),Ye=Je?lg():null;Ye&&ke.set(sg,`builtin`);let Xe=fe&&pe?[(0,i.tool)(async()=>{let e=pe.list();return e.length?pe.restore()?`已回退到最近一次正常状态(checkpoint #${e[e.length-1].id})。对话历史、主数据、vfs、todos 已整体还原。请基于回退后的状态重新判断并继续。`:`回退失败:无可用 checkpoint。`:`无可用 checkpoint,无法回退。`},{name:`restore_last_checkpoint`,description:`回退到最近一次正常状态(整体还原对话历史 + 主数据 + vfs + todos)。当本轮操作出错、页面被改坏、或走偏时调用,回到本轮起点重新来过。不传参数即回退最近一次。`,schema:t.z.object({}).optional()}),(0,i.tool)(async()=>{let e=pe.list();return e.length?`可用 checkpoint:
3004
3004
  `+e.map(e=>`#${e.id} [${e.label??`auto`}] 消息数=${e.messageCount} 时间=${new Date(e.timestamp).toLocaleTimeString()}`).join(`
3005
- `):`无可用 checkpoint。`},{name:`list_checkpoints`,description:`列出可用会话 checkpoint(回退点)。`,schema:t.z.object({}).optional()})]:[];Xe.forEach(e=>ke.set(e.name,`builtin`));let Ze=V.focus,Qe=(0,i.tool)(async({path:e,label:t})=>{let n=we()?.schema;return n?bp(n,e)?(P.setFocus(re({path:e,...t?{label:t}:{}}),`agent`),`已聚焦到 ${e}${t?`(${t})`:``}。后续仅可写该子树(越界被拒),每轮只看到该组件结构。完成精修后调 clear_focus 退出。`):`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`:`聚焦失败:当前无主数据 schema,无法聚焦。`},{name:`set_focus`,description:`聚焦到指定组件子树(如 components.3)精修,替换全部已有焦点(非累积;要保留已有焦点追加用 add_focus)。聚焦后:仅可写该子树(越界 PATH_DENIED)+ 每轮只看到该组件结构。多组件页面精修其中一个时用,避免改到别处。先 read 定位 path 再聚焦;完成调 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签,如「导航栏」`)})}),$e=(0,i.tool)(async()=>(P.clearFocus(`agent`),`已清除聚焦,恢复全量可操作范围(可读写所有组件)。`),{name:`clear_focus`,description:`清除当前聚焦,退出精修模式,恢复对全部组件的读写权限。`,schema:t.z.object({}).optional()}),et=(0,i.tool)(async({path:e,label:t})=>{let n=we()?.schema;if(!n)return`聚焦失败:当前无主数据 schema,无法聚焦。`;if(!bp(n,e))return`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`;P.addFocus(re({path:e,...t?{label:t}:{}}),`agent`);let r=P.getFocuses();return`已聚焦 ${e}${t?`(${t})`:``}(当前共 ${r.length} 个焦点:${r.map(e=>e.path).join(`, `)})。后续仅可写这些子树之一(越界被拒)。`},{name:`add_focus`,description:`追加聚焦一个组件子树(multi-focus,可同时聚焦多个相关组件)。校验 path 在 schema 内。聚焦后仅可写已聚焦的子树之一(越界 PATH_DENIED)。与 set_focus(替换全部)不同:本工具累积追加,不清除已有焦点。`,schema:t.z.object({path:t.z.string().describe(`要追加聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签`)})}),tt=(0,i.tool)(async({path:e})=>{let t=P.getFocuses().length;P.removeFocus(e,`agent`);let n=P.getFocuses();return n.length===t?`path "${e}" 不在当前焦点列表中(当前:${n.map(e=>e.path).join(`, `)||`无`})。`:n.length?`已移除焦点 ${e}(剩余 ${n.length} 个:${n.map(e=>e.path).join(`, `)})。`:`已移除焦点 ${e},聚焦已清空,恢复全量操作范围。`},{name:`remove_focus`,description:`移除单个聚焦焦点(by path),保留其他焦点。移除最后一个等价退出精修。全部退出用 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要移除的焦点 jsonPath`)})}),nt=Ze?[Qe,$e,et,tt]:[];nt.forEach(e=>ke.set(e.name,`builtin`));let U=[],rt=new Map,it=vb({builtinTools:()=>Re,userTools:()=>Be,actionTools:()=>Ve,humanConfirmTool:()=>Ye,checkpointTools:()=>Xe,focusTools:()=>nt,mcpTools:()=>Ke,loadedSkillTools:()=>U}),at=it(),ot=V.planning,st=V.missionAnchor,ct=V.workingMemory,lt=V.skills,ut=V.vfs||ue;if(ut)for(let e of p_)ke.set(e,`builtin`);if(ot)for(let e of E.tools??[])ke.set(e.name,`builtin`);let dt=V.summarization,ft=V.agentCompression&&!!p;e.debug&&V.agentCompression&&!p&&console.warn(`[page-agent-sdk][agentCompression] agentCompression 开启但 summaryLlm 不可用(或缺 apiKey / 模型不支持工具),压缩决策不启用,回退静态压缩`);let pt=V.memory,mt=V.subagent,ht=mt?wh():void 0,gt=e.verify?.maxAttempts??2,_t=!!(e.verify?.check||e.verify?.maxAttempts||e.verify?.adversarial),vt=e.capabilities?.verify===!1,yt=(V.verify||_t&&!vt)&&e.verify?.enabled!==!1&&gt>0,bt=V.contextInspector;_t&&!yt&&e.verify?.enabled!==!1&&console.warn(`[page-agent-sdk][verify] 检测到 verify 配置(check/maxAttempts/adversarial)但未装载(capabilities.verify:false 显式关闭 或 maxAttempts≤0)`);let xt=e.subagent,St=xt?.allowedTools??[],Ct=e.permissions?.length?ag(e.permissions):void 0,wt=e.approval&&(e.approval.tools!==void 0||e.approval.confirm)?og({...e.approval,timeoutMs:e.approval.timeoutMs??ee,onAutoReject:N,previewWrite:e.approval.preview===!0&&Se?(e,t)=>e===`write`?Se(t):null:void 0}):void 0,Tt=[...Ct?[Ct]:[],...wt?[wt]:[],...Oe?[Oe]:[]],Et=!mt||xt?.enabled===!1?void 0:Wh({llm:xt?.llm??e.llm,allTools:()=>W.agent?.allTools??at,allowedTools:St.length?St:void 0,...e.staleReadInvalidation===void 0?{}:{staleReadInvalidation:e.staleReadInvalidation},systemPrompt:xt?.systemPrompt,temperature:xt?.temperature,maxTokens:xt?.maxTokens,skills:xt?.skills,maxDepth:xt?.maxDepth,maxParallel:xt?.maxParallel,thinkingMode:xt?.thinkingMode,debug:e.debug,getFocuses:()=>P.getActiveFocuses(),getSchema:()=>we()?.schema??null,tracker:ht,guardMiddleware:Tt.length?Tt:void 0,getVfsFiles:ut?()=>T.files:void 0,enterDataScope:xe?.enterScope?e=>xe.enterScope(e):void 0,exitDataScope:xe?.exitScope?e=>xe.exitScope(e):void 0,onUsage:e=>{o.prompt_tokens=(o.prompt_tokens??0)+(e.prompt_tokens??0),o.completion_tokens=(o.completion_tokens??0)+(e.completion_tokens??0),o.total_tokens=(o.total_tokens??0)+(e.total_tokens??0),e.reasoning_tokens&&(o.reasoning_tokens=(o.reasoning_tokens??0)+e.reasoning_tokens)},timeoutMs:xt?.timeoutMs}),Dt=le?.map(e=>{if(!e._codeAsset)return e;let t=e._codeAsset,n=vv({writablePaths:t.writablePaths,codeVfsPrefix:t.codeVfsPrefix,ext:t.ext,codeField:t.codeField,craftNotes:t.craftNotes,onWarning:e=>console.warn(`[page-agent-sdk][code-asset] ${e}`),getController:()=>xe,vfsStore:T}),r=[...e.middleware??[],n];for(let e of r)e&&Wf(e)&&e._setGetController(()=>xe);return{...e,middleware:r}}),Ot=ue&&mt?yv():void 0,kt=Ot?Ev({getBind:()=>we()?.bind,writablePaths:de,getLocked:()=>Ot.locked(),tools:at,getCodeFieldPaths:()=>wv(we()?.bind,R.map(e=>({writablePaths:e._codeAsset.writablePaths,codeField:e._codeAsset.codeField})))}):void 0,At=xe?.getSummarizedPaths&&xe.clearSummarizedPaths?kv({getSummarizedPaths:()=>xe.getSummarizedPaths(),clearSummarizedPaths:()=>xe.clearSummarizedPaths()}):void 0,jt=mt&&Dt!==void 0?qh(Dt,{llm:e.llm,thinkingModeDefault:e.subagent?.thinkingMode,staleReadInvalidation:e.staleReadInvalidation,allTools:()=>W.agent?.allTools??at,debug:e.debug,getFocuses:()=>P.getActiveFocuses(),getSchema:()=>we()?.schema??null,getBind:()=>we()?.bind,tracker:ht,guardMiddleware:Tt.length?Tt:void 0,getVfsFiles:ut?()=>T.files:void 0,enterDataScope:xe?.enterScope?e=>xe.enterScope(e):void 0,exitDataScope:xe?.exitScope?e=>xe.exitScope(e):void 0,onUsage:e=>{o.prompt_tokens=(o.prompt_tokens??0)+(e.prompt_tokens??0),o.completion_tokens=(o.completion_tokens??0)+(e.completion_tokens??0),o.total_tokens=(o.total_tokens??0)+(e.total_tokens??0),e.reasoning_tokens&&(o.reasoning_tokens=(o.reasoning_tokens??0)+e.reasoning_tokens)},timeoutMs:e.subagent?.timeoutMs,...Ot?{componentLock:Ot,resolveComponents:e=>bv(e,mv(we()?.bind,de))}:{}}):void 0,Mt=jt?jt.controller:null,Nt=t=>{let n=t.thinkingMode??e.subagent?.thinkingMode,r=n?hy(t.llm??e.llm)?`instance-noop`:`applied`:`inherited`;return{...t,...n?{thinkingMode:n}:{},thinkingApplied:r}},Pt=[`read`,`fetch_document`],Ft=at.filter(e=>Pt.includes(e.name)),It=yt?xg({check:e.verify.check??Dg({schemas:()=>we()?{"":we().schema}:{},root:()=>we()?.bind}),adversarial:e.verify?.adversarial?{llm:e.llm,tools:Ft}:void 0}):void 0,Lt=bt?Vg({contextWindow:m.contextWindow,thresholdRatio:db(e,m.contextWindow).summaryThresholdRatio}):void 0,Rt=vC({...V,humanConfirm:Je,screenshot:!!Ne,domEdit:V.domEdit,hasActions:!!e.actions&&Object.keys(e.actions).length>0,hasProposals:!!e.proposals,viewImage:!!Me,subagents:le?.map(Nt)},he&&!!I,{promptSoftCap:yh(m.contextWindow,h.promptSoftCapTokens)}),zt=V.pageContext?bC({getPageInfo:()=>typeof document<`u`&&typeof location<`u`?{title:document.title||``,url:location.href}:null,canReadPage:V.domInspect===!0}):void 0,Bt={epoch:0,notices:[],readsInvalidated:0},Vt=0,Ht={name:`hostNotice`,beforeAgent:()=>{Vt=Bt.epoch},wrapModelCall:async(e,t)=>{if(Ie){Ie=!1;let t=Rd(e.messages,`agent 已通过 dom_edit 修改页面,此前读取为改前状态`,We);if(t.invalidatedCount>0){for(let n=0;n<t.messages.length;n++)e.messages[n]=t.messages[n];W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`dom_edit_read_invalidated`,count:t.invalidatedCount}})}}if(Bt.epoch>Vt){Vt=Bt.epoch;let t=Bt.notices[Bt.notices.length-1]??``,n=Rd(e.messages,t||void 0,We);if(n.invalidatedCount>0){for(let t=0;t<n.messages.length;t++)e.messages[t]=n.messages[t];Bt.readsInvalidated+=n.invalidatedCount,W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_read_invalidated`,count:n.invalidatedCount,epoch:Bt.epoch,reason:t||void 0}})}}return t(e)},augmentPrompt:()=>Bt.notices.length?[`【宿主页面已变更】`,...Bt.notices.filter(Boolean).map(e=>`· ${e}`),V.domInspect===!0?`此前的页面读取/截图结果已过期,回答任何关于当前页面的问题前必须重新 read_page / get_dom 读取当前页面;不要凭此前的读取结果或记忆作答。`:`页面内容可能已变化,断言页面前先核实当前状态;不要凭此前的印象作答。`].join(`
3006
- `):void 0,afterAgent:()=>{Bt.notices.length=0}},Ut=ze?{name:`proposalNotice`,augmentPrompt:()=>ze.state.notices.length?[`【内容提案裁决结果】(以此为准,不要凭提案前状态作答)`,...ze.state.notices].join(`
3007
- `):void 0,afterAgent:()=>{ze.state.notices.length=0}}:null,Wt=I?{name:`dataHint`,augmentPrompt:()=>n_(we(),e.schemaHint)||void 0}:null,Gt=e.augmentSystem?{name:`augmentSystem`,augmentPrompt:t=>{try{return e.augmentSystem({state:t,data:we()})}catch(t){e.debug&&console.log(`[page-agent-sdk][augmentSystem] 回调抛错,降级跳过:`,t.message);return}}}:null,Kt=cb(e.onEvent),qt=Kt.emit,Jt,Yt=[],Xt=e=>({name:e.name,description:e.description,content:typeof e.getContent==`function`?e.getContent():``}),Zt=e=>({name:e.name,description:e.description,getContent:()=>e.content}),Qt=e.skillStorage===!1?null:EC({...typeof e.skillStorage==`object`?e.skillStorage:{},id:e.skillStorage&&typeof e.skillStorage==`object`&&e.skillStorage.id?e.skillStorage.id:`agent::${n}`}),$t=()=>{let t=Jt?Jt.controller:null;if(t){let n=(e.skills||[]).filter(e=>!Yt.some(t=>t.name===e.name));t.set([...n,...Yt])}W.infoTick.value++},en=async()=>{if(Qt)try{let t=await Qt.list();if(t.length){Yt=t.map(Zt);let n=Jt?Jt.controller:null;if(n){let t=(e.skills||[]).filter(e=>!Yt.some(t=>t.name===e.name));n.set([...t,...Yt])}W.infoTick.value++}}catch{}},tn=dt?Ch({...h,llmInvoke:d,getRegisteredData:()=>we()?[{description:we().description??`主数据对象`}]:[],preserveLastToolResults:_,...ft?{decideInvoke:p,getSnapshot:()=>Lt?.getSnapshot()}:{}}):void 0,nn=lt?Qm([...V.domInspect&&!(e.skills||[]).some(e=>e.name===`dom-inspect`)?[YS({withScreenshot:!!Ne,withDomEdit:V.domEdit,withDataOps:he&&!!I})]:[],...V.domInspect&&!(e.skills||[]).some(e=>e.name===`page-analysis`)?[ZS({withScreenshot:!!Ne,withDomEdit:V.domEdit,withVfs:ut})]:[],...e.skills||[]],{readVfs:ut?e=>T.files[e]?.content:void 0,onToolsReady:(e,t)=>{for(let n of t){let t=U.findIndex(e=>e.name===n.name);t>=0&&U.splice(t,1),U.push(n),rt.set(n.name,e),ke.set(n.name,`skill:${e}`)}at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++}}):void 0;Jt=nn;let rn=pb([...Wt?[Wt]:[],Rt,...zt?[zt]:[],Ht,...Ut?[Ut]:[],...st?[D]:[],O,k,...ot?[E]:[],...nn?[nn]:[],...ut?[h_(T)]:[],...tn?[tn]:[],...ct?[ie]:[],...Ze?[P]:[],...Ce?[Ce]:[],...pt?[F]:[],...Ct?[Ct]:[],...fe&&me&&pe?[yg(pe)]:[],...Je?[ne]:[],...wt?[wt]:[],...Oe?[Oe]:[],...It?[It]:[],...Et?[Et]:[],...jt?[jt]:[],...kt?[kt]:[],...At?[At]:[],...xe&&mt?[Mv({getBind:()=>we()?.bind,getTools:()=>W.agent?.allTools??at})]:[],...Gt?[Gt]:[],...Lt?[Lt]:[],...Fe?[Fe]:[],...e.middleware||[],...H?[oC(o,{tokenBudget:e.tokenBudget,timeBudgetMs:e.timeBudgetMs},qt)]:[],FC(qt,S,we,o)]),an=e.maxMemoryRounds??jC;function on(e){return e=>{e.type!==`approval_request`&&qt(je(e))}}let sn=G([]),cn=AC(),ln=new Set;function un(e){let t=new AbortController,n=()=>t.abort();return e&&(e.aborted?t.abort():e.addEventListener(`abort`,n,{once:!0})),ln.add(t),{controller:t,untrack:()=>{ln.delete(t),e?.removeEventListener(`abort`,n)}}}function dn(){for(let e of ln)e.abort();ln.clear()}let fn=G(null),W={agentId:n,store:l,messages:S,vfsStore:T,listeners:Kt.listeners,todosMw:E,memoryMw:F,missionMw:D,workingMemoryMw:ie,focusMw:P,agent:null,initDone:Promise.resolve(),sessionId:``,refCount:0,mcpClosers:[],mcpServers:[],mcpFailed:[],checkpoint:pe,dataOpsController:xe,skillsController:Jt?Jt.controller:null,infoTick:c,pendingConflict:s.pendingConflict,pendingQuote:fn,sessions:sn,refreshSessions:()=>yn.refreshSessions(),liveData:we,usage:o,emit:qt,runSerial:cn,trackActive:un,abortAllActive:dn,unloadSkillTools(e){if(e){let t=U.length;if(U=U.filter(t=>rt.get(t.name)===e?(ke.delete(t.name),rt.delete(t.name),!1):!0),U.length===t)return}else{if(!U.length)return;for(let e of U)ke.delete(e.name),rt.delete(e.name);U=[]}at=it(),W.agent&&W.agent.setTools(at)},applySnapshot(t){if(t.vfs&&T.hydrate&&T.hydrate(t.vfs),t.messages?.length&&(S.push(...ou(t.messages,e=>(e?W.vfsStore?.files?.[e]?.content:void 0)||void 0)),k.markResumed()),t.todos?.length&&E.reset(t.todos),t.memory&&!e.memory&&F.reset(t.memory),t.checkpoints?.length&&pe&&pe.importStack(t.checkpoints),t.usage&&Object.assign(o,t.usage),t.mission&&st&&D.setMission(t.mission),t.workingMemory&&ct&&ie.restore(t.workingMemory),t.planConfirmation&&(A.lastPlanConfirmation=t.planConfirmation),Ze){let n=t.focus,r=n?Array.isArray(n)?n:[n]:[];if(r.length){let t=we()?.schema,n=t?r.filter(e=>bp(t,e.path)):[];if(n.length&&(P.setFocus(null),n.forEach(e=>P.addFocus(re(e)))),e.debug&&n.length<r.length){let e=r.filter(e=>!n.includes(e)).map(e=>e.path);console.warn(`[page-agent-sdk][focus] 恢复的焦点部分 path 已失效(schema 变化/无 schema),剔除:`,e)}}}gn()},addSkill(e){let t=Yt.findIndex(t=>t.name===e.name);t>=0?Yt[t]=e:Yt.push(e),$t(),Qt&&Qt.put(Xt(e))},removeSkill(e){let t=Yt.findIndex(t=>t.name===e);return t<0?!1:(Yt.splice(t,1),$t(),Qt&&Qt.remove(e),!0)},listUserSkills(){return Yt.map(e=>e.name)},getUserSkill(e){let t=Yt.find(t=>t.name===e);if(t)return{name:t.name,description:t.description,content:typeof t.getContent==`function`?t.getContent():``}},afterRound(){_n(),yn.persistRuntime()},clearCodeReuse(){let e=T;e.__pgPendingRetry?.clear(),e.__pgLastCheckout?.clear()},async send(e,t){if(await W.initDone,W.refCount<=0)throw Error(`page-agent-sdk: agent 已释放(unmount),拒绝排队中的 send`);t??={},t?.mission&&st&&D.setMission(t.mission);let n=e,r=(t.images??[]).filter(e=>e&&(e.dataUri||e.vfsRef||e.url));if(r.length>4)throw Error(`[page-agent-sdk] 单轮最多 4 张图片(收到 ${r.length})`);if(r.length&&(await vn.stowImages(r),await vn.describeIfNeeded(r,n)),r.length&&!m.vision&&!r.every(e=>e.description)){let e=`当前主模型不支持图片输入(modelCaps.vision=false)。请换多模态模型(gpt-4o/claude/qwen-vl)或 LLMConfig 声明 vision:true;或配置 images.describe 绑定识图转述(集成方识图子 agent / 自有 vision API)`;throw qt({type:`error`,message:e,severity:`recoverable`,code:`IMAGE_UNSUPPORTED_MODEL`}),Error(`[page-agent-sdk] ${e}`)}T?.setProtectedRefs?.(OC(S));let i=H?t.maxAutoRetries??1:0,a=0,o=!1,c=on(t.signal);if(t.signal){let e=()=>s.resolve(`keep_external`);t.signal.aborted?e():t.signal.addEventListener(`abort`,e,{once:!0})}let u=W.sessionId;for(;;){if(!o){let e;if(t.quote?.text){let n=ku(t.quote.anchor);e={text:gu(t.quote.text),...t.quote.source?{source:t.quote.source}:{},...n?{anchor:n}:{}}}let i=e??fn.value??void 0;S.push({role:`user`,content:n,timestamp:Date.now(),...r.length?{images:r}:{},...i?{quote:i}:{}}),o=!0,!e&&fn.value&&(fn.value=null)}try{let e=await W.agent.invoke(S,t.signal,c);if(t.signal?.aborted||W.sessionId!==u||W.refCount<=0)return W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`orphan_round_dropped`,fromSession:u,aborted:!!t.signal?.aborted,sessionChanged:W.sessionId!==u}}),e;if(S.push({role:`assistant`,content:e,timestamp:Date.now()}),W.afterRound(),l)try{await l.flush()}catch(e){qt({type:`error`,message:`落盘失败(不影响本轮回复):${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`PERSIST_FLUSH_FAILED`})}return e}catch(e){if(Uu(e,t.signal))throw e;let n=ql(e,`fatal`);if(rd(e)&&(n={...n,code:`MODEL_UNAVAILABLE`,message:e instanceof Error?e.message:n.message}),a<i&&pe?.canRestore()){a+=1,pe.restore(),o=!0,qt({type:`error`,message:`致命错误自动恢复(${a}/${i}):${n.message},已回退 checkpoint 重试`,severity:`observable`,code:`AUTO_RECOVER_RETRY`,context:{attempt:a,cause:n.code??n.message.slice(0,120)}});continue}throw qt({type:`error`,message:n.message,severity:n.severity,...n.code?{code:n.code}:{},...n.context===void 0?{}:{context:n.context}}),e}}},async batch(e,t,n){if(await W.initDone,!e.length)return[];if(W.refCount<=0)throw Error(`page-agent-sdk: agent 已释放(unmount),拒绝排队中的 batch`);let r=[],i=on(n);if(T?.setProtectedRefs?.(OC(S)),n){let e=()=>s.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}for(let a=0;a<e.length;a++){if(n?.aborted){for(let t=a;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let o=e[a];pe&&pe.save(`batch:${a}`);let s=S.length;try{S.push({role:`user`,content:o,timestamp:Date.now()});let s=await W.agent.invoke(S,n,i);if(S.push({role:`assistant`,content:s,timestamp:Date.now()}),W.afterRound(),l)try{await l.flush()}catch(e){qt({type:`error`,message:`落盘失败(不影响本任务结果):${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`PERSIST_FLUSH_FAILED`})}r.push({index:a,task:o,reply:s,ok:!0}),t?.({done:a+1,total:e.length,task:o,ok:!0})}catch(i){if(S.length>s&&S.splice(s),Uu(i,n)){r.push({index:a,task:o,error:`aborted(外部中止)`,ok:!1});for(let t=a+1;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}rd(i);let c=ql(i,`fatal`);qt({type:`error`,message:`批量任务 ${a+1}/${e.length} 失败:${c.message}`,severity:`observable`,code:`BATCH_TASK_FAILED`,context:{index:a,task:o.slice(0,100)}}),r.push({index:a,task:o,error:c.message,ok:!1}),t?.({done:a+1,total:e.length,task:o,ok:!1})}}return r},switchSession:e=>yn.switchSession(e),exportSession:e=>yn.exportSession(e),importSession:e=>yn.importSession(e),resetSession:()=>yn.resetSession(),stream:async(e,t,n)=>{if(!W.agent)throw Error(`page-agent-sdk: agent 尚未初始化完成,请先 await mount()`);let r=[...e].reverse().find(e=>e.role===`user`&&e.images?.length);if(r?.images?.length&&(await vn.stowImages(r.images),await vn.describeIfNeeded(r.images,r.content),!m.vision&&!r.images.every(e=>e.description))){let e=`当前主模型不支持图片输入(modelCaps.vision=false)。请换多模态模型(gpt-4o/claude/qwen-vl)或 LLMConfig 声明 vision:true;或配置 images.describe 绑定识图转述`;throw qt({type:`error`,message:e,severity:`recoverable`,code:`IMAGE_UNSUPPORTED_MODEL`}),Error(`[page-agent-sdk] ${e}`)}T?.setProtectedRefs?.(OC(e));let i=e=>{t?.(je(e)),qt(je(e)),e.type===`subagent`&&(e.kind===`tool_call`||e.kind===`tool_result`)&&W.infoTick.value++};if(n){let e=()=>s.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}let{controller:a,untrack:o}=un(n);return W.agent.stream(e,i,a.signal).finally(o)},release(){if(W.refCount--,W.refCount<=0){dn(),qe=!0,l&&(T.flush?.(),l.flush(),l.dispose()),Qt&&Qt.dispose();let e=W.mcpClosers.splice(0);e.length&&Promise.allSettled(e.map(e=>e())),MC.delete(n)}},resolveConflict:s.resolve,setTools(e){Be.length=0,e.forEach(e=>{Be.push(e),ke.set(e.name,`user`)}),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},addTool(e){at.some(t=>t.name===e.name)&&console.warn(`[page-agent-sdk] 工具 "${e.name}" 已存在,新工具覆盖(后注册覆盖先注册)`);for(let t=Be.length-1;t>=0;t--)Be[t].name===e.name&&Be.splice(t,1);Be.push(e),ke.set(e.name,`user`),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},removeTool(e){let t=Be.findIndex(t=>t.name===e);return t<0?!1:(Be.splice(t,1),ke.delete(e),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++,!0)},setLlm(t){let n;if(hy(t))n=t;else{let e=t;if((e.provider??`openai`)===`anthropic`)throw Error(`[page-agent-sdk][setLlm] 切换到 Anthropic 需传 BaseChatModel 实例(动态 import 无法同步);请先 const { ChatAnthropic } = await import("@langchain/anthropic") 构造实例后传入`);n=M(e)}typeof n.bindTools!=`function`&&e.debug&&console.warn(`[page-agent-sdk][setLlm] 新模型不支持 bindTools(tool calling 会失效)`),_y(n,{emit:qt}),b=t;let r=hy(t)?void 0:t;if(m=w({model:r?.model??t.model??t.modelName,contextWindow:e.contextWindow??r?.contextWindow,maxOutputTokens:e.maxOutputTokens??r?.maxOutputTokens,vision:r?.vision??t.vision}),m.contextWindow<2e5)throw Error(`[page-agent-sdk][setLlm] 新模型上下文窗口 ${m.contextWindow} 小于最小支持 ${y}(需 ≥200K 窗口模型)`);W.agent&&(W.agent.setLlm(n),W.agent.setModelCaps?.(m)),tn?.setContextWindow?.(m.contextWindow),Lt?.setContextWindow?.(m.contextWindow),W.infoTick.value++,e.debug&&console.log(`[page-agent-sdk][setLlm] 重解析 modelCaps + 回灌:`,m)},setMemory(e){F.reset(e),typeof e==`function`&&F.refresh(),W.infoTick.value++},refreshMemory(){return F.refresh()},setSubagents(t){if(!Mt){e.debug&&console.warn(`[page-agent-sdk][setSubagents] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Mt.set(t),W.infoTick.value++},addSubagent(t){if(!Mt){e.debug&&console.warn(`[page-agent-sdk][addSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Mt.add(t),W.infoTick.value++},removeSubagent(t){if(!Mt)return e.debug&&console.warn(`[page-agent-sdk][removeSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`),!1;let n=Mt.remove(t);return n&&W.infoTick.value++,n},getActiveSubagents(){return ht?.getActive()??[]},get subagentHistory(){return ht?.getHistory()??[]},getInfo(){return{id:n,sessionId:W.sessionId,model:hy(b)?b.model??b.modelName:b.model,systemPrompt:W.agent?.getEffectiveSystemPrompt?.()??ve+n_(we(),e.schemaHint),tools:(W.agent?.allTools??at).map(e=>({name:e.name,description:e.description,schema:e.schema,source:ke.get(e.name)||`user`})),skills:(Jt?Jt.controller.get():e.skills??[]).map(e=>({name:e.name,description:e.description})),data:we()?{description:we().description,schema:we().schema}:void 0,contextPreset:e.contextPreset??`auto`,compression:{contextWindow:m.contextWindow,summaryThresholdRatio:h.summaryThresholdRatio??.5,promptSoftCap:yh(m.contextWindow,h.promptSoftCapTokens)},memory:F.get(),staleReadsInvalidated:W.agent?.getStaleReadsInvalidated?.()??0,hostReadsInvalidated:Bt.readsInvalidated,...ze?{proposals:ze.snapshot()}:{},...a?{hostWatch:{...a}}:{},llmRetries:W.agent?.getLlmRetries?.()??0,llmCallFailures:W.agent?.getLlmCallFailures?.()??0,gates:W.agent?.getGateStats?.(),systemSegments:W.agent?.getLastSystemSegments?.()??[],middleware:rn.map(e=>e.name),todos:(W.agent?.getState?.()?.todos??[]).map(e=>({id:e.id,content:e.content,status:e.status,...e.parentId===void 0?{}:{parentId:e.parentId},...e.deps===void 0?{}:{deps:e.deps},...e.criteria===void 0?{}:{criteria:e.criteria},...e.evidence===void 0?{}:{evidence:e.evidence}})),planPhase:E.getPlanPhase(),mission:st?D.getMission():void 0,planConfirmation:A.lastPlanConfirmation,workingMemory:ct?ie.getWorkingMemory():void 0,focus:Ze?P.getFocus():void 0,focuses:Ze?P.getFocuses():[],actions:lC(e.actions??{}),subagent:{enabled:!!Et,maxDepth:e.subagent?.maxDepth??1,maxParallel:e.subagent?.maxParallel??4,timeoutMs:e.subagent?.timeoutMs===void 0?18e5:e.subagent.timeoutMs>0?e.subagent.timeoutMs:0,allowedTools:e.subagent?.allowedTools??[],subagents:(Mt?.get()??[]).map(Nt),active:ht?.getActive()??[],history:ht?.getHistory()??[],lockedComponents:Ot?.locked()??{}},verify:{enabled:!!It,maxAttempts:yt?gt:0,adversarial:yt&&!!e.verify?.adversarial},context:(()=>{let e=Lt?.getSnapshot();if(e){let t=W.agent?.getState?.()?.lastCompression;t&&(e.compression=t)}return e})(),mcp:{servers:W.mcpServers,...W.mcpFailed.length?{failed:W.mcpFailed}:{}},lastCompression:W.agent?.getState?.()?.lastCompression,checkpoints:pe?{enabled:!0,auto:me,list:pe.list()}:void 0}},exportDiagnostics(){let e=W.getInfo(),t={...e,tools:e.tools.map(({schema:e,...t})=>t),data:e.data?{description:e.data.description,schemaTopKeys:_p(e.data.schema)??[]}:void 0},n=W.liveData(),r=null;if(n){let e=-1,t=[];try{let r=JSON.stringify(n.bind);e=r?r.length:0,n.bind&&typeof n.bind==`object`&&!Array.isArray(n.bind)&&(t=Object.keys(n.bind))}catch{e=-1}r={description:n.description,topKeys:t,approxBytes:e}}return zv(Rv({debugLogs:W.agent?.debugLogs?.value??[],messages:W.messages,info:t,usage:{...W.usage},pendingConflict:W.pendingConflict?.value??null,sessionId:W.sessionId,dataSummary:r}))},getMission(){return st?D.getMission():void 0},setMission(t){if(!st){e.debug&&console.warn(`[page-agent-sdk][mission] capabilities.missionAnchor 关闭,setMission 忽略`);return}D.setMission(t),W.infoTick.value++},getFocus(){return Ze?P.getFocus():void 0},getFocuses(){return Ze?P.getFocuses():[]},setFocus(t){let n=IC(t,`setFocus`,Ze,()=>we()?.schema,e.debug);return n.ok?(P.setFocus(re(t)),e.debug&&P.isInvokeActive()&&console.info(`[page-agent-sdk][focus] 在途流程进行中,聚焦将在下一次输入生效(当前流程不受影响)`),W.infoTick.value++,{ok:!0}):n},addFocus(t){let n=IC(t,`addFocus`,Ze,()=>we()?.schema,e.debug);return n.ok?P.getFocuses().length>=8?(e.debug&&console.warn(`[page-agent-sdk][focus] addFocus 拒绝:焦点数已达上限 8(augmentPrompt 注入每焦点子树 schema,过多致 system prompt 超预算)`),{ok:!1,error:`焦点数上限 8(避免 system prompt 撑爆)`}):(P.addFocus(re(t)),e.debug&&P.isInvokeActive()&&console.info(`[page-agent-sdk][focus] 在途流程进行中,聚焦将在下一次输入生效(当前流程不受影响)`),W.infoTick.value++,{ok:!0}):n},removeFocus(e){Ze&&(P.removeFocus(e),W.infoTick.value++)},clearFocus(){Ze&&(P.clearFocus(),W.infoTick.value++)},setQuote(e,t,n){let r=gu(e??``),i=ku(n);fn.value=r?{text:r,...t?{source:t}:{},...i?{anchor:i}:{}}:null},notifyHostChange(e){let t=typeof e?.reason==`string`?e.reason.trim().slice(0,200):``;Bt.epoch+=1,t&&!Bt.notices.includes(t)?Bt.notices.push(t):t||Bt.notices.push(``),Bt.notices.length>5&&Bt.notices.splice(0,Bt.notices.length-5),W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_change_notified`,epoch:Bt.epoch,reason:t||void 0}}),W.infoTick.value++},clearQuote(){fn.value=null},resolveProposal(e,t,n){let r=ze?ze.resolve(e,t,n):!1;return r&&W.infoTick.value++,r},getProposals(){return ze?ze.snapshot():null}};async function pn(){if(!l)return;let t=async e=>{try{return await l.load(n,e)}catch(t){qt({type:`error`,message:`会话快照读取失败,已降级空会话:${t instanceof Error?t.message:String(t)}`,severity:`observable`,code:`SESSION_RESTORE_FAILED`,context:{sessionId:e}});return}},r=async()=>{try{return await l.listSessions(n)}catch(e){return qt({type:`error`,message:`会话列表读取失败,已降级新建会话:${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`SESSION_RESTORE_FAILED`}),[]}},i=Symbol(`storage-ready-timeout`);await Promise.race([l.ready.then(()=>`ready`),new Promise(e=>setTimeout(()=>e(i),5e3))])===i&&(console.warn(`[page-agent-sdk][persist] 存储初始化 5s 未就绪(可能被其他标签页锁住),已放行;持久化暂降级内存,就绪后自动恢复`),qt({type:`error`,message:`存储初始化 5s 未就绪(IDB blocked?),已放行降级运行`,severity:`observable`,code:`STORAGE_READY_TIMEOUT`}));let a=e.session||{};if(a.id){W.sessionId=a.id;let e=await t(W.sessionId);e?(W.applySnapshot(e),qt({type:`session_restored`,sessionId:W.sessionId,rounds:e.messages?.length??0})):await l.createSession(n,a.title,W.sessionId)}else if(a.autoResume!==!1){let i=await r();if(e.debug&&console.log(`[page-agent-sdk][restore] listSessions`,n,i.length,i.map(e=>e.sessionId)),i.length){W.sessionId=i[0].sessionId;let n=await t(W.sessionId);n?(W.applySnapshot(n),qt({type:`session_restored`,sessionId:W.sessionId,rounds:n.messages?.length??0}),e.debug&&console.log(`[page-agent-sdk][restore] 恢复会话`,W.sessionId,`${n.messages?.length??0} msgs`)):e.debug&&console.log(`[page-agent-sdk][restore] 会话 meta 存在但快照为空`,W.sessionId)}else W.sessionId=await l.createSession(n,a.title),e.debug&&console.log(`[page-agent-sdk][restore] 新建会话(无历史)`,W.sessionId)}else W.sessionId=await l.createSession(n,a.title);e.memory&&yn.persistSave({memory:F.get()||(typeof e.memory==`string`?e.memory:``)}),yn.refreshSessions()}async function mn(){await en()}function hn(e){let t={};for(let n of OC(e)){let e=T.files[n];e&&(t[n]=e.content)}return t}function gn(){let e=kC(T.files,OC(S));for(let t of e)delete T.files[t]}function _n(){let e=sh(S,an);if(!e.trimmed)return;let{older:t,summary:n}=e;if(qt({type:`context_trimmed`,dropped:t.map(e=>({round:e.round,user:e.userMsg.content,assistant:e.assistantMsgs.map(e=>e.content),steps:e.assistantMsgs.flatMap(e=>e.steps??[])})),vfsResults:hn(t.flatMap(e=>[e.userMsg,...e.assistantMsgs])),summary:n.content,reason:`max_memory_rounds`}),S.splice(e.deleteFrom,e.deleteCount,n),gn(),g&&d){let n=e.summary,{prevSeg:r}=e;(async()=>{try{let e=await d(mh(t,v)),i=S.indexOf(n);if(i<0)return;S[i].content=oh(t,r,e),yn.persistRuntime()}catch{}})()}}let vn=fu({getConfig:()=>e.images,getVision:()=>m.vision===!0,emit:qt,getVfsStore:()=>W.vfsStore,noteFailure:(e,t)=>yn.notePersistFailure(e,t)}),yn=gb({agentId:n,options:e,emit:qt,getStore:()=>l,core:W,sessionsRef:sn,sessionVars:A,messages:S,getUsage:()=>o,mw:{todosMw:E,memoryMw:F,missionMw:D,workingMemoryMw:ie,focusMw:P,summarizationMw:tn,resumeNoticeMw:k,useMission:st,useWorkingMemory:ct,useFocus:Ze,useAutomation:H},vfsStore:T,checkpointMgr:pe,conflictResolve:e=>s.resolve(e),abortAllActive:dn,titleLlmInvoke:f});return W.initDone=(async()=>{await pn(),await mn(),e.mcp?.length&&qg({servers:e.mcp,emit:qt,isReleased:()=>qe,core:{mcpClosers:W.mcpClosers,mcpServers:W.mcpServers,mcpFailed:W.mcpFailed,infoTick:W.infoTick},reservedNames:()=>{let e=new Set;for(let t of at){let n=ke.get(t.name);n&&!n.startsWith(`mcp:`)&&e.add(t.name)}return e},pushTool:(e,t)=>(ke.set(e.name,`mcp:${t}`),Ke.push(e),!0),rebind:()=>{at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},debug:e.debug});let t=hy(e.llm)?e.llm:await te(e.llm);_y(t,{emit:qt}),W.agent=gp({llm:t,systemPrompt:ve,tools:at,middleware:rn,maxToolRounds:e.maxToolRounds,hasSubagent:mt,pageAssertionGate:V.domInspect===!0,pageReadTools:We.size?We:void 0,deferredWriteTools:Ge.size?Ge:void 0,maxRetries:e.maxRetries,stallMs:e.streamStallMs??9e4,streamMaxMs:e.streamMaxDurationMs??18e5,toolTimeoutMs:e.toolTimeoutMs,maxParallelTools:e.maxParallelTools,contextWindow:m.contextWindow,maxOutputTokens:m.maxOutputTokens,vision:m.vision,imageContentFormat:Pe,maxVerifyAttempts:yt?gt:0,roundTokenBudget:e.roundTokenBudget??0,staleReadInvalidation:e.staleReadInvalidation,onLlmChange:e=>{b=e},debug:e.debug}),ae.current=W.agent,jt&&jt.setReconfigureHook(()=>{W.agent&&W.agent.setTools(it())})})(),W}function RC(e,t){let n=e.id??Oy();e.id||console.warn(`[page-agent-sdk] 未传 options.id,已生成随机 id "${n}"。刷新后持久化数据无法恢复,请传稳定 id。`);let r=e.streaming??!0,i=e.ui??`default`,a=e.hostWatch===!0?{url:!0}:e.hostWatch&&typeof e.hostWatch==`object`?e.hostWatch:null,o={enabled:!1,url:!1,pushState:!1,title:!1,autoNotified:0},s=null,c,l=e.shareContext?MC.get(n):void 0;l?c=l:(c=LC(e,n,a?o:void 0),e.shareContext&&MC.set(n,c)),c.refCount++;let u=null,d=rb(e),f=null,p=null;async function m(n){if(await c.initDone,u){u.show();return}let l=n===void 0?e.container:n,m=()=>{c.store&&(f=()=>{c.vfsStore.flush?.(),c.store.flush()},p=()=>{document.visibilityState===`hidden`&&c.store.flush()},typeof window<`u`&&window.addEventListener(`pagehide`,f),typeof document<`u`&&document.addEventListener(`visibilitychange`,p))};if((()=>{if(!a)return;s?.dispose(),s=null;let e=typeof window<`u`?window:void 0;s=dS({target:e,history:typeof history<`u`?history:e?.history,document:typeof document<`u`?document:void 0,MutationObserver:typeof MutationObserver<`u`?MutationObserver:void 0,options:a,onReport:e=>{o.autoNotified+=1,c.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_watch`,kind:e.kind,from:e.from.slice(0,120),to:e.to.slice(0,120)}}),c.notifyHostChange({reason:lS(e)})}}),s&&(o.enabled=!0,o.url=s.info.url,o.pushState=s.info.pushState,o.title=s.info.title)})(),i===!1||!t){i!==!1&&console.warn(`[page-agent-sdk/headless] 未含 UI 组件,ui 渲染降级 headless;如需 UI 请 import page-agent-sdk 主包`),m();return}let _=typeof l==`string`?document.querySelector(l):l;if(!_)throw Error(`createChatSdk: 挂载点未找到(${l})`);u=t({el:_,core:c,dialogCfg:d,i18n:e.i18n,debug:e.debug===!0,streaming:r,runSerial:c.runSerial,hide:g,unmount:h,onDialogUnmounted:()=>{u=null,c.release()}}),d.drawer===!0&&d.drawerHidden===!0&&u.hide(),m()}function h(){c.abortAllActive(),c.resolveConflict(`keep_external`),f&&typeof window<`u`&&window.removeEventListener(`pagehide`,f),p&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,p),f=null,p=null,s?.dispose(),s=null,u?u.unmount():c.release()}function g(){u?.hide()}function _(){u?.show()}return{mount:m,unmount:h,hide:g,show:_,send:(e,t)=>c.runSerial(async()=>{let{controller:n,untrack:r}=c.trackActive(t?.signal);try{return await c.send(e,{...t,signal:n.signal})}finally{r()}}),batch:(e,t,n)=>c.runSerial(async()=>{let{controller:r,untrack:i}=c.trackActive(n);try{return await c.batch(e,t,r.signal)}finally{i()}}),switchSession:(...e)=>c.runSerial(async()=>(c.abortAllActive(),c.switchSession(...e))),async exportSession(e){return c.runSerial(()=>c.exportSession(e))},async importSession(e){return c.runSerial(()=>c.importSession(e))},resetSession:()=>c.resetSession(),sessions:c.sessions,async listSessions(){return c.store?c.store.listSessions(n):[]},async deleteSession(e){if(c.store){if(e===c.sessionId){console.warn(`[page-agent-sdk] deleteSession 忽略:不能删除当前会话,请先 switchSession 切到其他会话`);return}await c.store.deleteSession(n,e),await c.refreshSessions()}},get sessionId(){return c.sessionId},stream:(e,t,n)=>c.stream(e,t,n),afterRound:c.afterRound,clearCodeReuse:()=>c.clearCodeReuse(),get debugLogs(){return c.agent.debugLogs},infoTick:c.infoTick,inspect:c.getInfo,exportDiagnostics:()=>c.exportDiagnostics(),inspectContext:()=>c.getInfo().context,getMission:c.getMission,setMission:c.setMission,getFocus:c.getFocus,getFocuses:c.getFocuses,setFocus:c.setFocus,addFocus:c.addFocus,removeFocus:c.removeFocus,clearFocus:c.clearFocus,setQuote:c.setQuote,clearQuote:c.clearQuote,notifyHostChange:c.notifyHostChange,resolveProposal:c.resolveProposal,get proposals(){return c.getProposals()},messages:c.messages,restoreLastCheckpoint:()=>c.checkpoint?.restore()??!1,listCheckpoints:()=>c.checkpoint?.list()??[],hook:e=>(c.listeners.add(e),()=>c.listeners.delete(e)),setData:e=>{if(!c.dataOpsController){console.warn(`[page-agent-sdk] setData 忽略:dataOps 已关闭(capabilities.dataOps:false)`);return}c.dataOpsController.set(e),c.infoTick.value++,c.emit({type:`data_change`,operation:`set`,value:e.bind})},getData:()=>c.liveData(),setSkills:e=>{let t=c.skillsController;if(!t){console.warn(`[page-agent-sdk] setSkills 忽略:skills 已关闭(capabilities.skills:false)`);return}t.set(e),c.unloadSkillTools?.(),c.infoTick.value++},addSkill:e=>{if(!c.skillsController){console.warn(`[page-agent-sdk] addSkill 忽略:skills 已关闭(capabilities.skills:false)`);return}c.addSkill(e),c.unloadSkillTools?.(e.name)},removeSkill:e=>{if(!c.skillsController)return console.warn(`[page-agent-sdk] removeSkill 忽略:skills 已关闭(capabilities.skills:false)`),!1;let t=c.removeSkill(e);return t&&c.unloadSkillTools?.(e),t},listUserSkills:()=>c.listUserSkills(),getUserSkill:e=>c.getUserSkill(e),invalidateSkillCache:e=>{let t=c.skillsController;if(!t){console.warn(`[page-agent-sdk] invalidateSkillCache 忽略:skills 已关闭(capabilities.skills:false)`);return}t.invalidateCache(e),c.unloadSkillTools?.(e)},exportData:()=>{let e=c.liveData()?.bind;return e==null?null:JSON.parse(JSON.stringify(e))},importData:(e,t)=>{let n=c.liveData();if(!n||!c.dataOpsController)return{ok:!1,error:`dataOps 未开启或无主数据`};let r=n.bind;if(typeof r!=`object`||!r)return{ok:!1,error:`主数据 bind 非对象,无法就地还原(集成方应用对象包裹)`};if(t?.validate!==!1){let t=n.schema.safeParse(e);if(!t.success)return{ok:!1,error:`schema 校验失败:`+(t.error?.message??`未知错误`)}}return hg(r,e),c.dataOpsController?.markDataDirty?.(),t?.emit!==!1&&c.emit({type:`data_change`,operation:`set`,value:r}),{ok:!0}},vfsWrite:(e,t)=>{let n=typeof t==`string`?t:JSON.stringify(t);c.vfsStore.files[u_(e)]={content:n,updatedAt:Date.now()}},vfsRead:e=>c.vfsStore.files[u_(e)]?.content,createResource:(e,t)=>{let n=c.dataOpsController;if(!n?.createResource)throw Error(`[page-agent-sdk] createResource 不可用:需配 data.resources + vfsStore(capabilities.vfs 默认开)`);return n.createResource(e,t)},getResource:e=>c.dataOpsController?.getResource?.(e),updateResource:(e,t)=>{let n=c.dataOpsController;if(!n?.updateResource)throw Error(`[page-agent-sdk] updateResource 不可用:需配 data.resources + vfsStore`);n.updateResource(e,t)},deleteResource:e=>c.dataOpsController?.deleteResource?.(e)??!1,listResources:()=>c.dataOpsController?.listResources?.()??[],releaseResources:e=>{let t=c.dataOpsController;if(!(!t?.listResources||!t.deleteResource))if(e&&e.length)for(let n of e)t.deleteResource(n);else for(let e of t.listResources())t.deleteResource(e.path)},usage:c.usage,pendingConflict:c.pendingConflict,resolveConflict:e=>c.resolveConflict(e),setTools:e=>c.setTools(e),addTool:e=>c.addTool(e),removeTool:e=>c.removeTool(e),setLlm:e=>c.setLlm(e),setMemory:e=>c.setMemory(e),refreshMemory:()=>c.refreshMemory(),setSubagents:e=>c.setSubagents(e),addSubagent:e=>c.addSubagent(e),removeSubagent:e=>c.removeSubagent(e),getActiveSubagents:()=>c.getActiveSubagents(),get subagentHistory(){return c.subagentHistory}}}var zC=(e,t)=>{let{o:n,i:r,u:i}=e,a=n,o,s=(e,t)=>{let n=a,s=e,c=t||(r?!r(n,s):n!==s);return(c||i)&&(a=s,o=n),[a,c,o]};return[t?e=>s(t(a,o),e):s,e=>[a,!!e,o]]},BC=typeof window<`u`&&typeof HTMLElement<`u`&&window.document?window:{},VC=Math.max,HC=Math.min,UC=Math.round,WC=Math.abs,GC=Math.sign,KC=BC.cancelAnimationFrame,qC=BC.requestAnimationFrame,JC=BC.setTimeout,YC=BC.clearTimeout,XC=e=>BC[e]===void 0?void 0:BC[e],ZC=XC(`MutationObserver`),QC=XC(`IntersectionObserver`),$C=XC(`ResizeObserver`),ew=XC(`ScrollTimeline`),tw=e=>e===void 0,nw=e=>e===null,rw=e=>typeof e==`number`,iw=e=>typeof e==`string`,aw=e=>typeof e==`boolean`,ow=e=>typeof e==`function`,sw=e=>Array.isArray(e),cw=e=>typeof e==`object`&&!sw(e)&&!nw(e),lw=e=>{let t=!!e&&e.length,n=rw(t)&&t>-1&&t%1==0;return sw(e)||!ow(e)&&n?t>0&&cw(e)?t-1 in e:!0:!1},uw=e=>!!e&&e.constructor===Object,dw=e=>e instanceof HTMLElement,fw=e=>e instanceof Element;function pw(e,t){if(lw(e))for(let n=0;n<e.length&&t(e[n],n,e)!==!1;n++);else e&&pw(Object.keys(e),(n=>t(e[n],n,e)));return e}var mw=(e,t)=>e.indexOf(t)>=0,hw=(e,t)=>e.concat(t),gw=(e,t,n)=>(!iw(t)&&lw(t)?Array.prototype.push.apply(e,t):e.push(t),e),_w=e=>Array.from(e||[]),vw=e=>sw(e)?e:!iw(e)&&lw(e)?_w(e):[e],yw=e=>!!e&&!e.length,bw=e=>_w(new Set(e)),xw=(e,t,n)=>{pw(e,e=>!e||e.apply(void 0,t||[])),n||(e.length=0)},Sw=`paddingTop`,Cw=`paddingRight`,ww=`paddingLeft`,Tw=`paddingBottom`,Ew=`marginLeft`,Dw=`marginRight`,Ow=`marginBottom`,kw=`overflowX`,Aw=`overflowY`,jw=`width`,Mw=`height`,Nw=`visible`,Pw=`hidden`,Fw=`scroll`,Iw=e=>{let t=String(e||``);return t?t[0].toUpperCase()+t.slice(1):``},Lw=(e,t,n,r)=>{if(e&&t){let r=!0;return pw(n,(n=>{e[n]!==t[n]&&(r=!1)})),r}return!1},Rw=(e,t)=>Lw(e,t,[`w`,`h`]),zw=(e,t)=>Lw(e,t,[`x`,`y`]),Bw=(e,t)=>Lw(e,t,[`t`,`r`,`b`,`l`]),Vw=(e,...t)=>e.bind(0,...t),Hw=e=>{let t,n=e?JC:qC,r=e?YC:KC;return[i=>{r(t),t=n((()=>i()),ow(e)?e():e)},()=>r(t)]},Uw=e=>{let t=ow(e)?e():e;if(rw(t)){let e=t?JC:qC,n=t?YC:KC;return r=>{let i=e((()=>r()),t);return()=>{n(i)}}}return t&&t._},Ww=(e,t)=>{let{p:n,v:r,S:i,m:a}=t||{},o,s,c,l,u=function(t){s&&s(),o&&o(),l=s=o=c=void 0,e.apply(this,t)},d=e=>a&&c?a(c,e):e,f=()=>{s&&c&&u(d(c)||c)},p=function(){let e=_w(arguments),t=Uw(n);if(t){let n=typeof i==`function`?i():i,a=Uw(r),p=d(e)||e,m=u.bind(0,p);s&&s(),n&&!l?(m(),l=!0,s=t((()=>l=void 0))):(s=t(m),a&&!o&&(o=a(f))),c=p}else u(e)};return p.O=f,p},Gw=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Kw=e=>e?Object.keys(e):[],qw=(e,t,n,r,i,a,o)=>{let s=[t,n,r,i,a,o];return(typeof e!=`object`||nw(e))&&!ow(e)&&(e={}),pw(s,(t=>{pw(t,((n,r)=>{let i=t[r];if(e===i)return!0;let a=sw(i);if(i&&uw(i)){let t=e[r],n=t;a&&!sw(t)?n=[]:!a&&!uw(t)&&(n={}),e[r]=qw(n,i)}else e[r]=a?i.slice():i}))})),e},Jw=(e,t)=>pw(qw({},e),((e,t,n)=>{e===void 0?delete n[t]:e&&uw(e)&&(n[t]=Jw(e))})),Yw=e=>!Kw(e).length,Xw=()=>{},Zw=(e,t,n)=>VC(e,HC(t,n)),Qw=e=>bw((sw(e)?e:(e||``).split(` `)).filter((e=>e))),$w=(e,t)=>e&&e.getAttribute(t),eT=(e,t)=>e&&e.hasAttribute(t),tT=(e,t,n)=>{pw(Qw(t),(t=>{e&&e.setAttribute(t,String(n||``))}))},nT=(e,t)=>{pw(Qw(t),(t=>e&&e.removeAttribute(t)))},rT=(e,t)=>{let n=Qw($w(e,t)),r=Vw(tT,e,t),i=(e,t)=>{let r=new Set(n);return pw(Qw(e),(e=>{r[t](e)})),_w(r).join(` `)};return{C:e=>r(i(e,`delete`)),$:e=>r(i(e,`add`)),H:e=>{let t=Qw(e);return t.reduce(((e,t)=>e&&n.includes(t)),t.length>0)}}},iT=(e,t,n)=>(rT(e,t).C(n),Vw(aT,e,t,n)),aT=(e,t,n)=>(rT(e,t).$(n),Vw(iT,e,t,n)),oT=(e,t,n,r)=>(r?aT:iT)(e,t,n),sT=(e,t,n)=>rT(e,t).H(n),cT=e=>rT(e,`class`),lT=(e,t)=>{cT(e).C(t)},uT=(e,t)=>(cT(e).$(t),Vw(lT,e,t)),dT=(e,t)=>{let n=t?fw(t)&&t:document;return n?_w(n.querySelectorAll(e)):[]},fT=(e,t)=>{let n=t?fw(t)&&t:document;return n&&n.querySelector(e)},pT=(e,t)=>fw(e)&&e.matches(t),mT=e=>pT(e,`body`),hT=e=>e?_w(e.childNodes):[],gT=e=>e&&e.parentElement,_T=(e,t)=>fw(e)&&e.closest(t),vT=e=>document.activeElement,yT=(e,t,n)=>{let r=_T(e,t),i=e&&fT(n,r),a=_T(i,t)===r;return r&&i?r===e||i===e||a&&_T(_T(e,n),t)!==r:!1},bT=e=>{pw(vw(e),(e=>{let t=gT(e);e&&t&&t.removeChild(e)}))},xT=(e,t)=>Vw(bT,e&&t&&pw(vw(t),(t=>{t&&e.appendChild(t)}))),ST,CT=()=>ST,wT=e=>{ST=e},TT=e=>{let t=document.createElement(`div`);return tT(t,`class`,e),t},ET=e=>{let t=TT(),n=CT(),r=e.trim();return t.innerHTML=n?n.createHTML(r):r,pw(hT(t),(e=>bT(e)))},DT=(e,t)=>e.getPropertyValue(t)||e[t]||``,OT=e=>{let t=e||0;return isFinite(t)?t:0},kT=e=>OT(parseFloat(e||``)),AT=e=>Math.round(e*1e4)/1e4,jT=e=>`${AT(OT(e))}px`;function MT(e,t){e&&t&&pw(t,((t,n)=>{try{let r=e.style,i=nw(t)||aw(t)?``:rw(t)?jT(t):t;n.indexOf(`--`)===0?r.setProperty(n,i):r[n]=i}catch{}}))}function NT(e,t,n){let r=iw(t),i=r?``:{};if(e){let a=BC.getComputedStyle(e,n)||e.style;i=r?DT(a,t):_w(t).reduce(((e,t)=>(e[t]=DT(a,t),e)),i)}return i}var PT=(e,t,n)=>{let r=t?`${t}-`:``,i=n?`-${n}`:``,a=`${r}top${i}`,o=`${r}right${i}`,s=`${r}bottom${i}`,c=`${r}left${i}`,l=NT(e,[a,o,s,c]);return{t:kT(l[a]),r:kT(l[o]),b:kT(l[s]),l:kT(l[c])}},FT=(e,t)=>`translate${cw(e)?`(${e.x},${e.y})`:`${t?`X`:`Y`}(${e})`}`,IT=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),LT={w:0,h:0},RT=(e,t)=>t?{w:t[`${e}Width`],h:t[`${e}Height`]}:LT,zT=e=>RT(`inner`,e||BC),BT=Vw(RT,`offset`),VT=Vw(RT,`client`),HT=Vw(RT,`scroll`),UT=e=>{let t=parseFloat(NT(e,jw))||0,n=parseFloat(NT(e,Mw))||0;return{w:t-UC(t),h:n-UC(n)}},WT=e=>e.getBoundingClientRect(),GT=e=>!!e&&IT(e),KT=e=>!!(e&&(e[Mw]||e[jw])),qT=(e,t)=>{let n=KT(e);return!KT(t)&&n},JT=(e,t,n,r)=>{pw(Qw(t),(t=>{e&&e.removeEventListener(t,n,r)}))},YT=(e,t,n,r)=>{let i=(r&&r.D)??!0,a=r&&r.I||!1,o=r&&r.A||!1,s={passive:i,capture:a};return Vw(xw,Qw(t).map((t=>{let r=o?i=>{JT(e,t,r,a),n&&n(i)}:n;return e&&e.addEventListener(t,r,s),Vw(JT,e,t,r,a)})))},XT=e=>e.stopPropagation(),ZT=e=>e.preventDefault(),QT=e=>XT(e)||ZT(e),$T=(e,t)=>{let{x:n,y:r}=rw(t)?{x:t,y:t}:t||{};rw(n)&&(e.scrollLeft=n),rw(r)&&(e.scrollTop=r)},eE=e=>({x:e.scrollLeft,y:e.scrollTop}),tE=()=>({T:{x:0,y:0},k:{x:0,y:0}}),nE=(e,t)=>{let{T:n,k:r}=e,{w:i,h:a}=t,o=(e,t,n)=>{let r=GC(e)*n,i=GC(t)*n;if(r===i){let n=WC(e),a=WC(t);i=n>a?0:i,r=n<a?0:r}return r=r===i?0:r,[r+0,i+0]},[s,c]=o(n.x,r.x,i),[l,u]=o(n.y,r.y,a);return{T:{x:s,y:l},k:{x:c,y:u}}},rE=({T:e,k:t})=>{let n=(e,t)=>e===0&&e<=t;return{x:n(e.x,t.x),y:n(e.y,t.y)}},iE=({T:e,k:t},n)=>{let r=(e,t,n)=>Zw(0,1,(e-n)/(e-t)||0);return{x:r(e.x,t.x,n.x),y:r(e.y,t.y,n.y)}},aE=e=>{e&&e.focus&&e.focus({preventScroll:!0,focusVisible:!1})},oE=(e,t)=>{pw(vw(t),e)},sE=e=>{let t=new Map,n=(e,n)=>{if(e){let r=t.get(e);oE((e=>{r&&r[e?`delete`:`clear`](e)}),n)}else t.forEach((e=>{e.clear()})),t.clear()},r=(e,i)=>{if(iw(e)){let r=t.get(e)||new Set;return t.set(e,r),oE((e=>{ow(e)&&r.add(e)}),i),Vw(n,e,i)}aw(i)&&i&&n();let a=Kw(e),o=[];return pw(a,(t=>{let n=e[t];n&&gw(o,r(t,n))})),Vw(xw,o)};return r(e||{}),[r,n,(e,n)=>{pw(_w(t.get(e)),(e=>{n&&!yw(n)?e.apply(0,n):e()}))}]},cE={},lE={},uE=e=>{pw(e,(e=>pw(e,((t,n)=>{cE[n]=e[n]}))))},dE=(e,t,n)=>Kw(e).map((r=>{let{static:i,instance:a}=e[r],[o,s,c]=n||[],l=n?a:i;if(l){let e=n?l(o,s,t):l(t);return(c||lE)[r]=e}})),fE=(e,t)=>e[t],pE=e=>fE(lE,e),mE=`__osOptionsValidationPlugin`,hE=`data-overlayscrollbars`,gE=`os-environment`,_E=`${gE}-scrollbar-hidden`,vE=`${hE}-initialize`,yE=`noClipping`,bE=`${hE}-body`,xE=hE,SE=`host`,CE=`${hE}-viewport`,wE=kw,TE=Aw,EE=`arrange`,DE=`measuring`,OE=`scrolling`,kE=`scrollbarHidden`,AE=`noContent`,jE=`${hE}-padding`,ME=`${hE}-content`,NE=`os-size-observer`,PE=`${NE}-appear`,FE=`${NE}-listener`;`${FE}`,`${FE}`;var IE=`os-trinsic-observer`,LE=`os-theme-none`,RE=`os-scrollbar`,zE=`${RE}-rtl`,BE=`${RE}-horizontal`,VE=`${RE}-vertical`,HE=`${RE}-track`,UE=`${RE}-handle`,WE=`${RE}-visible`,GE=`${RE}-cornerless`,KE=`${RE}-interaction`,qE=`${RE}-unusable`,JE=`${RE}-auto-hide`,YE=`${JE}-hidden`,XE=`${RE}-wheel`,ZE=`${HE}-interactive`,QE=`${UE}-interactive`,$E=`__osSizeObserverPlugin`,eD=(e,t)=>{let{M:n}=t,[r,i]=e(`showNativeOverlaidScrollbars`);return[r&&n.x&&n.y,i]},tD=e=>e.indexOf(Nw)===0,nD=e=>e.replace(`${Nw}-`,``),rD=(e,t)=>{if(e===`auto`)return t?Fw:Pw;let n=e||Pw;return[Pw,Fw,Nw].includes(n)?n:Pw},iD=(e,t)=>{let{overflowX:n,overflowY:r}=NT(e,[kw,Aw]);return{x:rD(n,t.x),y:rD(r,t.y)}},aD=`__osScrollbarsHidingPlugin`,oD=`__osClickScrollPlugin`,sD=e=>JSON.stringify(e,((e,t)=>{if(ow(t))throw 0;return t})),cD=(e,t)=>e?`${t}`.split(`.`).reduce(((e,t)=>e&&Gw(e,t)?e[t]:void 0),e):void 0,lD=[0,33],uD=[33,99],dD=[222,666,!0],fD={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[[`img`,`load`]],debounce:{mutation:lD,resize:null,event:uD,env:dD},attributes:null,ignoreMutation:null,flowDirectionStyles:null},overflow:{x:`scroll`,y:`scroll`},scrollbars:{theme:`os-theme-dark`,visibility:`auto`,autoHide:`never`,autoHideDelay:1300,autoHideSuspend:!1,dragScroll:!0,clickScroll:!1,pointers:[`mouse`,`touch`,`pen`]}},pD=(e,t)=>{let n={};return pw(hw(Kw(t),Kw(e)),(r=>{let i=e[r],a=t[r];if(cw(i)&&cw(a))qw(n[r]={},pD(i,a)),Yw(n[r])&&delete n[r];else if(Gw(t,r)&&a!==i){let e=!0;if(sw(i)||sw(a))try{sD(i)===sD(a)&&(e=!1)}catch{}e&&(n[r]=a)}})),n},mD=(e,t,n)=>r=>[cD(e,r),n||cD(t,r)!==void 0],hD,gD=()=>hD,_D=e=>{hD=e},vD,yD=()=>{let e=(e,t,n)=>{xT(document.body,e),xT(document.body,e);let r=VT(e),i=BT(e),a=UT(t);return n&&bT(e),{x:i.h-r.h+a.h,y:i.w-r.w+a.w}},t=e=>{let t=!1,n=uT(e,_E);try{t=NT(e,`scrollbar-width`)===`none`||NT(e,`display`,`::-webkit-scrollbar`)===`none`}catch{}return n(),t},n=ET(`<div class="${gE}"><div></div><style>${`.${gE}{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.${gE} div{width:200%;height:200%;margin:10px 0}.${_E}{scrollbar-width:none!important}.${_E}::-webkit-scrollbar,.${_E}::-webkit-scrollbar-corner{appearance:none!important;display:none!important;width:0!important;height:0!important}`}</style></div>`)[0],r=n.firstChild,i=n.lastChild,a=gD();a&&(i.nonce=a);let[o,,s]=sE(),[c,l]=zC({o:e(n,r),i:zw},Vw(e,n,r,!0)),[u]=l(),d=t(n),f={x:u.x===0,y:u.y===0},p={elements:{host:null,padding:!d,viewport:e=>d&&mT(e)&&e,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},m=qw({},fD),h=Vw(qw,{},m),g=Vw(qw,{},p),_={U:u,M:f,P:d,J:!!ew,G:Vw(o,`r`),K:g,Z:e=>qw(p,e)&&g(),tt:h,nt:e=>qw(m,e)&&h(),ot:qw({},p),st:qw({},m)};if(nT(n,`style`),bT(n),YT(BC,`resize`,(()=>{s(`r`,[])})),ow(BC.matchMedia)&&!d&&(!f.x||!f.y)){let e=t=>{YT(BC.matchMedia(`(resolution: ${BC.devicePixelRatio}dppx)`),`change`,(()=>{t(),e(t)}),{A:!0})};e((()=>{let[e,t]=c();qw(_.U,e),s(`r`,[t])}))}return _},bD=()=>(vD||=yD(),vD),xD=(e,t,n)=>{let r=!1,i=n?new WeakMap:!1,a=()=>{r=!0},o=a=>{i&&n&&pw(n.map((t=>{let[n,r]=t||[];return[r&&n?(a||dT)(n,e):[],r]})),(n=>pw(n[0],(a=>{let o=n[1],s=i.get(a)||[];if(e.contains(a)&&o){let e=YT(a,o,(n=>{r?(e(),i.delete(a)):t(n)}));i.set(a,gw(s,e))}else xw(s),i.delete(a)}))))};return o(),[a,o]},SD=(e,t,n,r)=>{let i=!1,{et:a,ct:o,rt:s,it:c,lt:l,ut:u}=r||{},[d,f]=xD(e,(()=>i&&n(!0)),s),p=a||[],m=o||[],h=hw(p,m),g=(i,a)=>{if(!yw(a)){let o=l||Xw,s=u||Xw,d=[],p=[],h=!1,g=!1;if(pw(a,(n=>{let{attributeName:i,target:a,type:l,oldValue:u,addedNodes:f,removedNodes:_}=n,v=l===`attributes`,y=l===`childList`,b=e===a,x=v&&i,S=x&&$w(a,i||``),C=iw(S)?S:null,w=x&&u!==C,T=mw(m,i)&&w;if(t&&(y||!b)){let t=v&&w,l=t&&c&&pT(a,c),p=(l?!o(a,i,u,C):!v||t)&&!s(n,!!l,e,r);pw(f,(e=>gw(d,e))),pw(_,(e=>gw(d,e))),g||=p}!t&&b&&w&&!o(a,i,u,C)&&(gw(p,i),h||=T)})),f((e=>bw(d).reduce(((t,n)=>(gw(t,dT(e,n)),pT(n,e)?gw(t,n):t)),[]))),t)return!i&&g&&n(!1),[!1];if(!yw(p)||h){let e=[bw(p),h];return i||n.apply(0,e),e}}},_=new ZC(Vw(g,!1));return[()=>(_.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:h,subtree:t,childList:t,characterData:t}),i=!0,()=>{i&&=(d(),_.disconnect(),!1)}),()=>{if(i)return g(!0,_.takeRecords())}]},CD=null,wD=(e,t,n)=>{let{ft:r}=n||{},i=pE($E),[a]=zC({o:!1,u:!0});return()=>{let n=[],o=ET(`<div class="${NE}"><div class="${FE}"></div></div>`)[0],s=o.firstChild,c=e=>{let n=sw(e)&&!yw(e),r=!1,i=!1;if(n){let t=e[0],[n,,o]=a(t.contentRect),s=KT(n);i=qT(n,o),r=!i&&!s}else i=e===!0;r||t({_t:!0,ft:i})};if($C){if(!aw(CD)){let t=new $C(Xw);t.observe(e,{get box(){CD=!0}}),CD||=!1,t.disconnect()}let t=Ww(c,{p:0,v:0}),r=e=>t(e),i=new $C(r);if(i.observe(CD?e:s),gw(n,[()=>{i.disconnect()},!CD&&xT(e,o)]),CD){let t=new $C(r);t.observe(e,{box:`border-box`}),gw(n,(()=>t.disconnect()))}}else if(i){let[t,a]=i(s,c,r);gw(n,hw([uT(o,PE),YT(o,`animationstart`,t),xT(e,o)],a))}else return Xw;return Vw(xw,n)}},TD=(e,t)=>{let n,r=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,i=TT(IE),[a]=zC({o:!1}),o=(e,n)=>{if(e){let i=a(r(e)),[,o]=i;return o&&!n&&t(i)&&[i]}},s=(e,t)=>o(t.pop(),e);return[()=>{let t=[];if(QC)n=new QC(Vw(s,!1),{root:e}),n.observe(i),gw(t,(()=>{n.disconnect()}));else{let e=()=>{let e=BT(i);o(e)};gw(t,wD(i,e)()),e()}return Vw(xw,gw(t,xT(e,i)))},()=>n&&s(!0,n.takeRecords())]},ED=(e,t,n,r)=>{let i,a,o,s,c,l,u,d,f=`[${xE}]`,p=`[${CE}]`,m=[`id`,`class`,`style`,`open`,`wrap`,`cols`,`rows`],{dt:h,vt:g,L:_,gt:v,ht:y,V:b,bt:x,yt:S,wt:C,St:w}=e,T=e=>NT(e,`direction`)===`rtl`,E=()=>{let e,t,n,i=Ww(r,{p:()=>e,v:()=>t,S:()=>n,m(e,t){let[n]=e,[r]=t;return[hw(Kw(n),Kw(r)).reduce(((e,t)=>(e[t]=n[t]||r[t],e)),{})]}}),a=(r,a)=>{if(sw(a)){let[r,i,o]=a;e=r,t=i,n=o}else rw(a)?(e=a,t=!1,n=!1):(e=!1,t=!1,n=!1);i(r)};return a.O=i.O,a},D={Ot:!1,B:T(h)},O=bD(),k=pE(aD),[A]=zC({i:Rw,o:{w:0,h:0}},(()=>{let r=k&&k.R(e,t,D,O,n).Y,i=!(x&&b)&&sT(g,xE,yE),a=!b&&S(EE),o=a&&eE(v),s=o&&w(),c=C(DE,i),l=a&&r&&r(),u=HT(_),d=UT(_);return l&&l(),$T(v,o),s&&s(),i&&c(),{w:u.w+d.w,h:u.h+d.h}})),j=E(),M=e=>{let t=T(h);qw(e,{Ct:d!==t}),qw(D,{B:t}),d=t},ee=(e,t)=>{let[n,i]=e,a={$t:i};return qw(D,{Ot:n}),t||r(a),a},N=({_t:e,ft:t})=>{let n=t?r:j,i={_t:e||t,ft:t};M(i),n(i,a)},te=(e,t)=>{let[,n]=A(),r={xt:n};return M(r),n&&!t&&j(r,e?o:i),r},ne=(e,t,n)=>{let r={Ht:t};return M(r),t&&!n&&j(r,i),r},[P,re]=y?TD(g,ee):[],ie=!b&&wD(g,N,{ft:!0}),[F,ae]=SD(g,!1,ne,{ct:m,et:m}),I=b&&$C&&new $C((e=>{let t=e[e.length-1].contentRect;N({_t:!0,ft:qT(t,u)}),u=t}));return[()=>{I&&I.observe(g);let e=ie&&ie(),t=P&&P(),n=F(),r=O.G((e=>{let[,t]=A();j({Et:e,xt:t,_t:x},s)}));return()=>{I&&I.disconnect(),e&&e(),t&&t(),l&&l(),n(),r()}},({Dt:e,zt:t,It:n})=>{let r={},[u]=e(`update.ignoreMutation`),[d,h]=e(`update.attributes`),[g,v]=e(`update.elementEvents`),[x,S]=e(`update.debounce`),C=v||h,w=t||n,T=e=>ow(u)&&!!u(e);if(C){c&&c(),l&&l();let[e,t]=SD(y||_,!0,te,{et:hw(m,d||[]),rt:g,it:f,ut:(e,t)=>{let{target:n,attributeName:r}=e;return(!t&&r&&!b?yT(n,f,p):!1)||!!_T(n,`.${RE}`)||T(e)}});l=e(),c=t}if(S&&(j.O(),sw(x)||rw(x)?(i=x,a=!1,o=uD,s=dD):uw(x)?(i=x.mutation,a=x.resize,o=x.event,s=x.env):(i=!1,a=!1,o=!1,s=!1)),w){let e=ae(),t=re&&re(),n=c&&c();e&&qw(r,ne(e[0],e[1],w)),t&&qw(r,ee(t[0],w)),n&&qw(r,te(n[0],w))}return M(r),r},D]},DD=(e,t)=>ow(t)?t.apply(0,e):t,OD=(e,t,n,r)=>DD(e,tw(r)?n:r)||t.apply(0,e),kD=(e,t,n,r)=>{let i=DD(e,tw(r)?n:r);return!!i&&(dw(i)?i:t.apply(0,e))},AD=(e,t)=>{let{nativeScrollbarsOverlaid:n,body:r}=t||{},{M:i,P:a,K:o}=bD(),{nativeScrollbarsOverlaid:s,body:c}=o().cancel,l=n??s,u=tw(r)?c:r,d=(i.x||i.y)&&l,f=e&&(nw(u)?!a:u);return!!d||!!f},jD=(e,t,n,r)=>{let{K:i}=bD(),{scrollbars:a}=i(),{slot:o}=a,{dt:s,vt:c,L:l,At:u,gt:d,bt:f,V:p}=t,{scrollbars:m}=u?{}:e,{slot:h}=m||{},g=[],_=[],v=[],y=kD([s,c,l],(()=>p&&f?s:c),o,h),b=e=>{if(ew){let t=null,r=[],i=new ew({source:d,axis:e}),a=()=>{t&&t.cancel(),t=null};return{Mt:o=>{let{Tt:s}=n,c=rE(s)[e],l=e===`x`,u=[FT(0,l),FT(`calc(-100% + 100cq${l?`w`:`h`})`,l)],d=c?u:u.reverse();return r[0]===d[0]&&r[1]===d[1]?a:(r=d,a(),t=o.kt.animate({clear:[`left`],transform:d},{timeline:i}),a)}}}},x={x:b(`x`),y:b(`y`)},S=()=>{let{Rt:e,Vt:t}=n,r=(e,t)=>Zw(0,1,e/(e+t)||0);return{x:r(t.x,e.x),y:r(t.y,e.y)}},C=(e,t,n)=>{let r=n?uT:lT;pw(e,(e=>{r(e.Lt,t)}))},w=(e,t)=>{pw(e,(e=>{let[n,r]=t(e);MT(n,r)}))},T=(e,t,n)=>{let r=aw(n),i=!r||n,a=!r||!n;i&&C(_,e,t),a&&C(v,e,t)},E=()=>{let e=S(),t=e=>t=>[t.Lt,{"--os-viewport-percent":AT(e)+``}];w(_,t(e.x)),w(v,t(e.y))},D=()=>{if(!ew){let{Tt:e}=n,t=iE(e,eE(d)),r=e=>t=>[t.Lt,{"--os-scroll-percent":AT(e)+``}];w(_,r(t.x)),w(v,r(t.y))}},O=()=>{let{Tt:e}=n,t=rE(e),r=e=>t=>[t.Lt,{"--os-scroll-direction":e?`0`:`1`}];w(_,r(t.x)),w(v,r(t.y)),ew&&(_.forEach(x.x.Mt),v.forEach(x.y.Mt))},k=()=>{if(p&&!f){let{Rt:e,Tt:t}=n,r=rE(t),i=iE(t,eE(d)),a=t=>{let{Lt:n}=t,a=gT(n)===l&&n,o=(e,t,n)=>{let r=t*e;return jT(n?r:-r)};return[a,a&&{transform:FT({x:o(i.x,e.x,r.x),y:o(i.y,e.y,r.y)})}]};w(_,a),w(v,a)}},A=e=>{let t=e?`x`:`y`,n=TT(`${RE} ${e?BE:VE}`),i=TT(HE),a=TT(UE),o={Lt:n,Pt:i,kt:a},s=x[t];return gw(e?_:v,o),gw(g,[xT(n,i),xT(i,a),Vw(bT,n),s&&s.Mt(o),r(o,T,e)]),o},j=Vw(A,!0),M=Vw(A,!1);return j(),M(),[{Ut:E,Nt:D,qt:O,Bt:k,Ft:T,jt:{Xt:_,Yt:j,Wt:Vw(w,_)},Jt:{Xt:v,Yt:M,Wt:Vw(w,v)}},()=>(xT(y,_[0].Lt),xT(y,v[0].Lt),Vw(xw,g))]},MD=(e,t,n,r,i)=>(a,o,s)=>{let{vt:c,L:l,V:u,gt:d,Gt:f,St:p}=t,{Lt:m,Pt:h,kt:g}=a,[_,v]=Hw(333),[y,b]=Hw(444),x=e=>{ow(d.scrollBy)&&d.scrollBy({behavior:`smooth`,left:e.x,top:e.y})},S=()=>{let t=`pointerup pointercancel lostpointercapture`,i=`client${s?`X`:`Y`}`,a=s?jw:Mw,o=s?`left`:`top`,c=s?`w`:`h`,l=s?`x`:`y`,u=[];return YT(h,`pointerdown`,r((r=>{let m=_T(r.target,`.${UE}`)===g,_=m?g:h,v=e.scrollbars,S=v[m?`dragScroll`:`clickScroll`],{button:C,isPrimary:w,pointerType:T}=r,{pointers:E}=v;if(C===0&&w&&S&&(E||[]).includes(T)){xw(u),b();let e=!m&&(r.shiftKey||S===`instant`),v=Vw(WT,g),C=Vw(WT,h),w=(e,t)=>(e||v())[o]-(t||C())[o],T=UC(WT(d)[a])/BT(d)[c]||1,E=eE(d)[l],D=e=>{$T(d,{[l]:E+e})},O=e=>{let{Rt:t}=n,r=BT(h)[c]-BT(g)[c],i=1/T*e/r;D(i*t[l])},k=r[i],A=v(),j=C(),M=A[a],ee=w(A,j)+M/2,N=k-j[o]-ee,te=m?0:N,ne=e=>{xw(ie),_.releasePointerCapture(e.pointerId)},P=m||e,re=p(),ie=[YT(f,t,ne),YT(f,`selectstart`,(e=>ZT(e)),{D:!1}),YT(h,t,ne),P&&YT(h,`pointermove`,(e=>O(te+e[i]-k))),P&&(()=>{let e=eE(d);re();let t=eE(d),n={x:t.x-e.x,y:t.y-e.y};(WC(n.x)>3||WC(n.y)>3)&&(p(),$T(d,e),x(n),y(re))})];if(_.setPointerCapture(r.pointerId),e)O(N);else if(!m){let e=pE(oD);if(e){let{Vt:t}=n,r=e(D,O,Vw(w),N,t[l],S,!!s,(e=>{e?re():gw(ie,re)}));gw(ie,r),gw(u,Vw(r,!0))}}}})))},C=!0;return Vw(xw,[YT(g,`pointermove pointerleave`,r(i)),YT(m,`pointerenter`,r((()=>{o(KE,!0)}))),YT(m,`pointerleave pointercancel`,r((()=>{o(KE,!1)}))),YT(m,`wheel`,r((e=>{let{deltaX:t,deltaY:n,deltaMode:r}=e;C&&r===0&&gT(m)===c&&x({x:t,y:n}),C=!1,o(XE,!0),_((()=>{C=!0,o(XE)})),ZT(e)})),{D:!1,I:!0}),!u&&YT(m,`mousedown`,r((()=>{let e=vT();(eT(e,CE)||eT(e,xE)||e===document.body)&&JC(Vw(aE,l),25)}))),YT(m,`pointerdown`,(()=>{let e=YT(f,`click`,(e=>{t(),QT(e)}),{A:!0,I:!0,D:!1}),t=YT(f,`pointerup pointercancel`,(()=>{t(),setTimeout(e,150)}),{I:!0,D:!0})}),{I:!0,D:!0}),S(),v,b])},ND=(e,t,n,r,i,a,o)=>{let s,c,l,u,d,f=Xw,p=0,m=[`mouse`,`pen`],h=e=>t=>{n.Kt||e(t)},g=e=>m.includes(e.pointerType),[_,v]=Hw(),[y,b]=Hw(100),[x,S]=Hw(50),[C,w]=Hw((()=>p)),[T,E]=jD(e,a,i,MD(t,a,i,h,(e=>g(e)&&ne()))),{vt:D,Qt:O,bt:k}=a,{Ft:A,Ut:j,Nt:M,qt:ee,Bt:N}=T,te=(e,t)=>{w();let r=e=>{n.Kt||A(YE,e)};if(e)r();else{let e=!l||!s;p>0&&!t?C(Vw(r,e)):r(e)}},ne=()=>{(l?!s:!u)&&(te(!0),y((()=>{te(!1)})))},P=e=>{g(e)&&(s=!0,!n.Kt&&l&&te(!0))},re=e=>{g(e)&&(s=!1,!n.Kt&&l&&te(!1))},ie=e=>{A(JE,e,!0),A(JE,e,!1)},F=[w,b,S,v,()=>f(),YT(D,`pointerover`,P,{A:!0}),YT(D,`pointerenter`,P),YT(D,`pointerleave`,re),YT(D,`pointermove`,h((e=>{g(e)&&c&&ne()}))),YT(O,`scroll`,h((e=>{_((()=>{M(),ne()})),o(e),N()})))],ae=pE(aD);return[()=>Vw(xw,gw(F,E())),({Dt:e,It:t,Zt:n,tn:a})=>{let{nn:o,sn:s,en:m,cn:g}=a||{},{Ct:_,ft:v}=n||{},{B:y}=r,{M:b,P:S}=bD(),{rn:C,j:w}=i,[T,E]=e(`showNativeOverlaidScrollbars`),[D,ne]=e(`scrollbars.theme`),[P,re]=e(`scrollbars.visibility`),[F,I]=e(`scrollbars.autoHide`),[oe,se]=e(`scrollbars.autoHideSuspend`),[ce]=e(`scrollbars.autoHideDelay`),[L,R]=e(`scrollbars.dragScroll`),[le,ue]=e(`scrollbars.clickScroll`),[de,z]=e(`overflow`),B=v&&!t,fe=o||s||g||_||t,pe=m||re||z,me=T&&b.x&&b.y,V=!S&&!ae,he=me||V,ge=(e,t,n)=>{let r=e.includes(Fw)&&(P===Nw||P===`auto`&&t===Fw);return A(WE,r,n),r};if(p=ce,(E||V)&&A(LE,he),ne&&(A(d),A(D,!0),d=D),(se||B)&&(ie(!oe),B&&oe&&(w.x||w.y?(f(),x((()=>{f=YT(O,Fw,h(Vw(ie,!0)),{A:!0})}))):ie(!0))),I&&(c=F===`move`,l=F===`leave`,u=F===`never`,te(u,!0)),R&&A(QE,L),ue&&A(ZE,!!le),pe){let e=ge(de.x,C.x,!0),t=ge(de.y,C.y,!1);A(GE,!(e&&t))}fe&&(M(),j(),N(),g&&ee(),A(qE,!w.x,!0),A(qE,!w.y,!1),A(zE,y&&!k))},{},T]},PD=e=>{let{K:t,P:n}=bD(),{elements:r}=t(),{padding:i,viewport:a,content:o}=r,s=dw(e),c=s?{}:e,{elements:l}=c,{padding:u,viewport:d,content:f}=l||{},p=s?e:c.target,m=mT(p),h=p.ownerDocument,g=h.documentElement,_=()=>h.defaultView||BC,v=Vw(OD,[p]),y=Vw(kD,[p]),b=Vw(TT,``),x=Vw(v,b,a),S=Vw(y,b,o),C=e=>{let t=BT(e),n=HT(e),r=NT(e,kw),i=NT(e,Aw);return n.w-t.w>0&&!tD(r)||n.h-t.h>0&&!tD(i)},w=x(d),T=w===p,E=T&&m,D=!T&&S(f),O=!T&&w===D,k=E?g:w,A=E?k:p,j=!T&&y(b,i,u),M=!O&&D,ee=[M,k,j,A].map((e=>dw(e)&&!gT(e)&&e)),N=e=>e&&mw(ee,e),te=!N(k)&&C(k)?k:p,ne=E?g:k,P={dt:p,vt:A,L:k,ln:j,ht:M,gt:ne,Qt:E?h:k,an:m?g:te,Gt:h,bt:m,At:s,V:T,un:_,yt:e=>sT(k,CE,e),wt:(e,t)=>oT(k,CE,e,t),St:()=>oT(ne,CE,OE,!0)},{dt:re,vt:ie,ln:F,L:ae,ht:I}=P,oe=[()=>{nT(ie,[xE,vE]),nT(re,vE),m&&nT(g,[vE,xE])}],se=hT([I,ae,F,ie,re].find((e=>e&&!N(e)))),ce=E?re:I||ae,L=Vw(xw,oe);return[P,()=>{let e=_(),t=vT(),r=e=>{xT(gT(e),hT(e)),bT(e)},i=e=>YT(e,`focusin focusout focus blur`,QT,{I:!0,D:!1}),a=`tabindex`,o=$w(ae,a),s=i(t);return tT(ie,xE,T?``:SE),tT(F,jE,``),tT(ae,CE,``),tT(I,ME,``),T||(tT(ae,a,o||`-1`),m&&tT(g,bE,``)),xT(ce,se),xT(ie,F),xT(F||ie,!T&&ae),xT(ae,I),gw(oe,[s,()=>{let e=vT(),t=N(ae),n=t&&e===ae?re:e,s=i(n);nT(F,jE),nT(I,ME),nT(ae,CE),m&&nT(g,bE),o?tT(ae,a,o):nT(ae,a),N(I)&&r(I),t&&r(ae),N(F)&&r(F),aE(n),s()}]),n&&!T&&(aT(ae,CE,kE),gw(oe,Vw(nT,ae,CE))),aE(!T&&m&&t===re&&e.top===e?ae:t),s(),se=0,L},L]},FD=({ht:e})=>({Zt:t,fn:n,It:r})=>{let{$t:i}=t||{},{Ot:a}=n;e&&(i||r)&&MT(e,{[Mw]:a&&`100%`})},ID=({vt:e,ln:t,L:n,V:r},i)=>{let[a,o]=zC({i:Bw,o:PT()},Vw(PT,e,`padding`,``));return({Dt:e,Zt:s,fn:c,It:l})=>{let[u,d]=o(l),{P:f}=bD(),{_t:p,xt:m,Ct:h}=s||{},{B:g}=c,[_,v]=e(`paddingAbsolute`);(p||d||l||m)&&([u,d]=a(l));let y=!r&&(v||h||d);if(y){let e=!_||!t&&!f,r=u.r+u.l,a=u.t+u.b,o={[Dw]:e&&!g?-r:0,[Ow]:e?-a:0,[Ew]:e&&g?-r:0,top:e?-u.t:0,right:e?g?-u.r:`auto`:0,left:e?g?`auto`:-u.l:0,[jw]:e&&`calc(100% + ${r}px)`},s={[Sw]:e?u.t:0,[Cw]:e?u.r:0,[Tw]:e?u.b:0,[ww]:e?u.l:0};MT(t||n,o),MT(n,s),qw(i,{ln:u,_n:!e,F:t?s:qw({},o,s)})}return{dn:y}}},LD=(e,t)=>{let n=bD(),{vt:r,ln:i,L:a,V:o,Qt:s,gt:c,bt:l,wt:u,un:d}=e,{P:f}=n,p=l&&o,m=Vw(VC,0),h={display:()=>!1,direction:e=>e!==`ltr`,flexDirection:e=>e.endsWith(`-reverse`),writingMode:e=>e!==`horizontal-tb`},g=Kw(h),_={i:Rw,o:{w:0,h:0}},v={i:zw,o:{}},y=e=>{u(DE,!p&&e)},b=()=>NT(a,g),x=(e,t)=>{let n=!Kw(e).length,r=t?!0:g.some((t=>{let n=e[t];return iw(n)&&h[t](n)}));if(n||!r||!GT(a))return{T:{x:0,y:0},k:{x:1,y:1}};y(!0);let i=eE(c),o=YT(s,Fw,(e=>{let t=eE(c);e.isTrusted&&t.x===i.x&&t.y===i.y&&XT(e)}),{I:!0,A:!0}),l=u(AE,!0);$T(c,{x:0,y:0}),l();let d=eE(c),f=HT(c);$T(c,{x:f.w,y:f.h});let p=eE(c),m={x:p.x-d.x,y:p.y-d.y};$T(c,{x:-f.w,y:-f.h});let _=eE(c),v={x:_.x-d.x,y:_.y-d.y},b={x:WC(m.x)>=WC(v.x)?p.x:_.x,y:WC(m.y)>=WC(v.y)?p.y:_.y};return $T(c,i),qC((()=>o())),{T:d,k:b}},S=(e,t)=>{let n=BC.devicePixelRatio%1==0?0:1,r={w:m(e.w-t.w),h:m(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},C=(e,t)=>{let n=(e,t,n,r)=>{let i=e===Nw?Pw:nD(e),a=tD(e),o=tD(n);return!t&&!r?Pw:a&&o?Nw:a?t&&r?i:t?Nw:Pw:t?i:o&&r?Nw:Pw};return{x:n(t.x,e.x,t.y,e.y),y:n(t.y,e.y,t.x,e.x)}},w=e=>{let t=e=>[Nw,Pw,Fw].map((t=>ie(rD(t),e))),n=t(!0).concat(t()).join(` `);u(n),u(Kw(e).map((t=>ie(e[t],t===`x`))).join(` `),!0)},[T,E]=zC(_,Vw(UT,a)),[D,O]=zC(_,Vw(HT,a)),[k,A]=zC(_),[j]=zC(v),[M,ee]=zC(_),[N]=zC(v),[te]=zC({i:(e,t)=>Lw(e,t,bw(hw(Kw(e),Kw(t)))),o:{}}),[ne,P]=zC({i:(e,t)=>zw(e.T,t.T)&&zw(e.k,t.k),o:tE()}),re=pE(aD),ie=(e,t)=>`${t?wE:TE}${Iw(e)}`;return({Dt:o,Zt:s,fn:c,It:l},{dn:h})=>{let{_t:g,Ht:_,xt:v,Ct:ie,ft:F,Et:ae}=s||{},{X:I,Y:oe,W:se}=re&&re.R(e,t,c,n,o)||{},[ce,L]=eD(o,n),[R,le]=o(`overflow`),ue=tD(R.x),de=tD(R.y),z=g||h||v||ie||ae||L,B=E(l),fe=O(l),pe=A(l),me=ee(l);if(L&&f&&u(kE,!ce),z){sT(r,xE,yE)&&y(!0);let e=oe&&oe(),[t]=B=T(l),[n]=fe=D(l),i=VT(a),o=p&&zT(d()),s={w:m(n.w+t.w),h:m(n.h+t.h)},c={w:m((o?o.w:i.w+m(i.w-n.w))+t.w),h:m((o?o.h:i.h+m(i.h-n.h))+t.h)};e&&e(),me=M(c),pe=k(S(s,c),l)}let[V,he]=me,[ge,H]=pe,[_e,ve]=fe,[ye,be]=B,[xe]=j({x:ge.w>0,y:ge.h>0}),Se=ue&&de&&(xe.x||xe.y)||ue&&xe.x&&!xe.y||de&&xe.y&&!xe.x,Ce=h||ie||ae||be||ve||he||H||le||L||z||_&&p,[we]=o(`update.flowDirectionStyles`),[Te,Ee]=te(we?we(a)||{}:b(),l),[De,Oe]=ie||F||Ee||l?ne(x(Te,!!we),l):P(),ke=C(xe,R);y(!1),Ce&&(w(ke),ke=iD(a,xe),se&&I&&(I(ke,_e,ye),MT(a,se(ke))));let[Ae,je]=N(ke);return oT(r,xE,yE,Se),oT(i,jE,yE,Se),qw(t,{rn:Ae,Vt:{x:V.w,y:V.h},Rt:{x:ge.w,y:ge.h},j:xe,Tt:nE(De,ge)}),{en:je,nn:he,sn:H,cn:Oe||H}}},RD=e=>{let[t,n,r]=PD(e),i={ln:{t:0,r:0,b:0,l:0},_n:!1,F:{[Dw]:0,[Ow]:0,[Ew]:0,[Sw]:0,[Cw]:0,[Tw]:0,[ww]:0},Vt:{x:0,y:0},Rt:{x:0,y:0},rn:{x:Pw,y:Pw},j:{x:!1,y:!1},Tt:tE()},{dt:a,gt:o,V:s,St:c}=t,{P:l,M:u}=bD(),d=!l&&(u.x||u.y),f=[FD(t),ID(t,i),LD(t,i)];return[n,e=>{let t={},n=d&&eE(o),r=n&&c();return pw(f,(n=>{qw(t,n(e,t)||{})})),$T(o,n),r&&r(),s||$T(a,0),t},i,t,r]},zD=(e,t,n,r)=>{let i=!1,a={Kt:!1,pn:!1},o=mD(t,{}),[s,c,l,u,d]=RD(e),[f,p,m]=ED(u,l,o,(e=>{y({},e)})),[h,g,,_]=ND(e,t,a,m,l,u,r),v=e=>Kw(e).some((t=>!!e[t])),y=(e,r)=>{let{Kt:o,pn:s}=a;if(s||o&&i)return!1;let{vn:l,It:u,zt:d}=e,f=l||{},h=!!u||!i,_={Dt:mD(t,f,h),vn:f,It:h},y=r||p(qw({},_,{zt:d})),b=c(qw({},_,{fn:m,Zt:y}));g(qw({},_,{Zt:y,tn:b}));let x=v(y),S=v(b),C=x||S||!Yw(f)||h;return i=!0,C&&n(e,{Zt:y,tn:b}),C};return[()=>{let{an:e,gt:t,St:n}=u,r=eE(e),i=[f(),s(),h(),()=>{a.pn=!0}],o=n();return $T(t,r),o(),Vw(xw,i)},y,e=>{let t=a.Kt;a.Kt=e,!e&&t!==e&&y({It:!0,zt:!0})},()=>{g({Dt:mD(t,{},!1),vn:{},It:!1})},()=>({gn:a,hn:m,bn:l}),{yn:u,wn:_},d]},BD=new WeakMap,VD=(e,t)=>{BD.set(e,t)},HD=e=>{BD.delete(e)},UD=e=>BD.get(e),WD=(e,t,n)=>{let{tt:r}=bD(),i=dw(e),a=i?e:e.target,o=UD(a);if(t&&!o){let o=[],s={},c=e=>{let t=Jw(e),n=pE(mE);return n?n(t,!0):t},l=qw({},r(),c(t)),[u,d,f]=sE(),[p,m,h]=sE(n),g=(e,t)=>{h(e,t),f(e,t)},[_,v,y,b,x,S,C]=zD(e,l,(({vn:e,It:t},{Zt:n,tn:r})=>{let{_t:i,Ct:a,$t:o,xt:s,Ht:c,ft:l}=n,{nn:u,sn:d,en:f,cn:p}=r;g(`updated`,[T,{updateHints:{sizeChanged:!!i,directionChanged:!!a,heightIntrinsicChanged:!!o,overflowEdgeChanged:!!u,overflowAmountChanged:!!d,overflowStyleChanged:!!f,scrollCoordinatesChanged:!!p,contentMutation:!!s,hostMutation:!!c,appear:!!l},changedOptions:e||{},force:!!t}])}),(e=>g(`scroll`,[T,e]))),w=e=>{let{gn:t}=x(),{pn:n}=t;n||(HD(a),xw(o),g(`destroyed`,[T,e]),d(),m())},T={options(e,t){if(e){let n=t?r():{},i=pD(l,qw(n,c(e)));Yw(i)||(qw(l,i),v({vn:i}))}return qw({},l)},on:p,off:(e,t)=>{e&&t&&m(e,t)},state(){let{gn:e,hn:t,bn:n}=x(),{pn:r,Kt:i}=e,{B:a}=t,{Vt:o,Rt:s,rn:c,j:l,ln:u,_n:d,Tt:f}=n;return qw({},{overflowEdge:o,overflowAmount:s,overflowStyle:c,hasOverflow:l,scrollCoordinates:{start:f.T,end:f.k},padding:u,paddingAbsolute:d,directionRTL:a,sleeping:i,destroyed:r})},elements(){let{dt:e,vt:t,ln:n,L:r,ht:i,gt:a,Qt:o}=S.yn,{jt:s,Jt:c}=S.wn,l=e=>{let{kt:t,Pt:n,Lt:r}=e;return{scrollbar:r,track:n,handle:t}},u=e=>{let{Xt:t,Yt:n}=e;return qw({},l(t[0]),{clone:()=>{let e=l(n());return b(),e}})};return qw({},{target:e,host:t,padding:n||r,viewport:r,content:i||r,scrollOffsetElement:a,scrollEventElement:o,scrollbarHorizontal:u(s),scrollbarVertical:u(c)})},update:e=>v({It:e,zt:!0}),destroy:Vw(w,!1),sleep:y,plugin:e=>s[Kw(e)[0]]};return gw(o,[C]),VD(a,T),dE(cE,WD,[T,u,s]),AD(S.yn.bt,!i&&e.cancel)?(w(!0),T):(gw(o,_()),g(`initialized`,[T]),T.update(),T)}return o};WD.plugin=e=>{let t=sw(e),n=t?e:[e],r=n.map((e=>dE(e,WD)[0]));return uE(n),t?r:r[0]},WD.valid=e=>{let t=e&&e.elements,n=ow(t)&&t();return uw(n)&&!!UD(n.target)},WD.env=()=>{let{U:e,M:t,P:n,J:r,ot:i,st:a,K:o,Z:s,tt:c,nt:l}=bD();return qw({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,scrollTimeline:r,staticDefaultInitialization:i,staticDefaultOptions:a,getDefaultInitialization:o,setDefaultInitialization:s,getDefaultOptions:c,setDefaultOptions:l})},WD.nonce=_D,WD.trustedTypePolicy=wT;var GD=4e3;function KD(e={}){let{fetchResponse:t,fetchStream:n,onPersist:r,onClear:i,onQueuedCleared:a,onBeforeRegenerate:o}=e,s=Sn({messages:e.messages??[],loading:!1,error:null}),c=G(null),l=G(!0),u=null,d=G([]),f=G(null);function p(){}function m(e){let t=c.value;e.deltaY<0?l.value=!1:t&&(l.value=t.scrollHeight-t.scrollTop-t.clientHeight<64)}function h(){c.value&&requestAnimationFrame(()=>{let e=c.value;!e||!l.value||(e.scrollTop=e.scrollHeight)})}function g(e,t,n,r,i){s.messages.push({role:e,content:t,timestamp:Date.now(),...n&&n.length?{focuses:n}:{},...r?.length?{images:r}:{},...i?{quote:i}:{}}),l.value=!0,h()}async function _(e){if(l.value=!0,n){let t=Sn({role:`assistant`,content:``,timestamp:Date.now(),reasoning:``,reasoningTotal:0,steps:[]}),r=!1;s.messages.push(t);try{await n(s.messages.slice(0,-1),e=>{switch(e.type){case`round_start`:e.round>1&&(t.content||t.reasoning)&&(r=!0);break;case`reasoning`:r&&=(t.reasoning+=`
3005
+ `):`无可用 checkpoint。`},{name:`list_checkpoints`,description:`列出可用会话 checkpoint(回退点)。`,schema:t.z.object({}).optional()})]:[];Xe.forEach(e=>ke.set(e.name,`builtin`));let Ze=V.focus,Qe=(0,i.tool)(async({path:e,label:t})=>{let n=we()?.schema;return n?bp(n,e)?(P.setFocus(re({path:e,...t?{label:t}:{}}),`agent`),`已聚焦到 ${e}${t?`(${t})`:``}。后续仅可写该子树(越界被拒),每轮只看到该组件结构。完成精修后调 clear_focus 退出。`):`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`:`聚焦失败:当前无主数据 schema,无法聚焦。`},{name:`set_focus`,description:`聚焦到指定组件子树(如 components.3)精修,替换全部已有焦点(非累积;要保留已有焦点追加用 add_focus)。聚焦后:仅可写该子树(越界 PATH_DENIED)+ 每轮只看到该组件结构。多组件页面精修其中一个时用,避免改到别处。先 read 定位 path 再聚焦;完成调 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签,如「导航栏」`)})}),$e=(0,i.tool)(async()=>(P.clearFocus(`agent`),`已清除聚焦,恢复全量可操作范围(可读写所有组件)。`),{name:`clear_focus`,description:`清除当前聚焦,退出精修模式,恢复对全部组件的读写权限。`,schema:t.z.object({}).optional()}),et=(0,i.tool)(async({path:e,label:t})=>{let n=we()?.schema;if(!n)return`聚焦失败:当前无主数据 schema,无法聚焦。`;if(!bp(n,e))return`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`;P.addFocus(re({path:e,...t?{label:t}:{}}),`agent`);let r=P.getFocuses();return`已聚焦 ${e}${t?`(${t})`:``}(当前共 ${r.length} 个焦点:${r.map(e=>e.path).join(`, `)})。后续仅可写这些子树之一(越界被拒)。`},{name:`add_focus`,description:`追加聚焦一个组件子树(multi-focus,可同时聚焦多个相关组件)。校验 path 在 schema 内。聚焦后仅可写已聚焦的子树之一(越界 PATH_DENIED)。与 set_focus(替换全部)不同:本工具累积追加,不清除已有焦点。`,schema:t.z.object({path:t.z.string().describe(`要追加聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签`)})}),tt=(0,i.tool)(async({path:e})=>{let t=P.getFocuses().length;P.removeFocus(e,`agent`);let n=P.getFocuses();return n.length===t?`path "${e}" 不在当前焦点列表中(当前:${n.map(e=>e.path).join(`, `)||`无`})。`:n.length?`已移除焦点 ${e}(剩余 ${n.length} 个:${n.map(e=>e.path).join(`, `)})。`:`已移除焦点 ${e},聚焦已清空,恢复全量操作范围。`},{name:`remove_focus`,description:`移除单个聚焦焦点(by path),保留其他焦点。移除最后一个等价退出精修。全部退出用 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要移除的焦点 jsonPath`)})}),nt=Ze?[Qe,$e,et,tt]:[];nt.forEach(e=>ke.set(e.name,`builtin`));let U=[],rt=new Map,it=vb({builtinTools:()=>Re,userTools:()=>Be,actionTools:()=>Ve,humanConfirmTool:()=>Ye,checkpointTools:()=>Xe,focusTools:()=>nt,mcpTools:()=>Ke,loadedSkillTools:()=>U}),at=it(),ot=V.planning,st=V.missionAnchor,ct=V.workingMemory,lt=V.skills,ut=V.vfs||ue;if(ut)for(let e of p_)ke.set(e,`builtin`);if(ot)for(let e of E.tools??[])ke.set(e.name,`builtin`);let dt=V.summarization,ft=V.agentCompression&&!!p;e.debug&&V.agentCompression&&!p&&console.warn(`[page-agent-sdk][agentCompression] agentCompression 开启但 summaryLlm 不可用(或缺 apiKey / 模型不支持工具),压缩决策不启用,回退静态压缩`);let pt=V.memory,mt=V.subagent,ht=mt?wh():void 0,gt=e.verify?.maxAttempts??2,_t=!!(e.verify?.check||e.verify?.maxAttempts||e.verify?.adversarial),vt=e.capabilities?.verify===!1,yt=(V.verify||_t&&!vt)&&e.verify?.enabled!==!1&&gt>0,bt=V.contextInspector;_t&&!yt&&e.verify?.enabled!==!1&&console.warn(`[page-agent-sdk][verify] 检测到 verify 配置(check/maxAttempts/adversarial)但未装载(capabilities.verify:false 显式关闭 或 maxAttempts≤0)`);let xt=e.subagent,St=xt?.allowedTools??[],Ct=e.permissions?.length?ag(e.permissions):void 0,wt=e.approval?.preview===!0&&Se?(e,t)=>e===`write`?Se(t):null:void 0,Tt=e.approval?.previewWrite||wt?(t,n)=>e.approval?.previewWrite?.(t,n)??wt?.(t,n)??null:void 0,Et=e.approval&&(e.approval.tools!==void 0||e.approval.confirm)?og({...e.approval,timeoutMs:e.approval.timeoutMs??ee,onAutoReject:N,previewWrite:Tt}):void 0,Dt=[...Ct?[Ct]:[],...Et?[Et]:[],...Oe?[Oe]:[]],Ot=!mt||xt?.enabled===!1?void 0:Wh({llm:xt?.llm??e.llm,allTools:()=>W.agent?.allTools??at,allowedTools:St.length?St:void 0,...e.staleReadInvalidation===void 0?{}:{staleReadInvalidation:e.staleReadInvalidation},systemPrompt:xt?.systemPrompt,temperature:xt?.temperature,maxTokens:xt?.maxTokens,skills:xt?.skills,maxDepth:xt?.maxDepth,maxParallel:xt?.maxParallel,thinkingMode:xt?.thinkingMode,debug:e.debug,getFocuses:()=>P.getActiveFocuses(),getSchema:()=>we()?.schema??null,tracker:ht,guardMiddleware:Dt.length?Dt:void 0,getVfsFiles:ut?()=>T.files:void 0,enterDataScope:xe?.enterScope?e=>xe.enterScope(e):void 0,exitDataScope:xe?.exitScope?e=>xe.exitScope(e):void 0,onUsage:e=>{o.prompt_tokens=(o.prompt_tokens??0)+(e.prompt_tokens??0),o.completion_tokens=(o.completion_tokens??0)+(e.completion_tokens??0),o.total_tokens=(o.total_tokens??0)+(e.total_tokens??0),e.reasoning_tokens&&(o.reasoning_tokens=(o.reasoning_tokens??0)+e.reasoning_tokens)},timeoutMs:xt?.timeoutMs}),kt=le?.map(e=>{if(!e._codeAsset)return e;let t=e._codeAsset,n=vv({writablePaths:t.writablePaths,codeVfsPrefix:t.codeVfsPrefix,ext:t.ext,codeField:t.codeField,craftNotes:t.craftNotes,onWarning:e=>console.warn(`[page-agent-sdk][code-asset] ${e}`),getController:()=>xe,vfsStore:T}),r=[...e.middleware??[],n];for(let e of r)e&&Wf(e)&&e._setGetController(()=>xe);return{...e,middleware:r}}),At=ue&&mt?yv():void 0,jt=At?Ev({getBind:()=>we()?.bind,writablePaths:de,getLocked:()=>At.locked(),tools:at,getCodeFieldPaths:()=>wv(we()?.bind,R.map(e=>({writablePaths:e._codeAsset.writablePaths,codeField:e._codeAsset.codeField})))}):void 0,Mt=xe?.getSummarizedPaths&&xe.clearSummarizedPaths?kv({getSummarizedPaths:()=>xe.getSummarizedPaths(),clearSummarizedPaths:()=>xe.clearSummarizedPaths()}):void 0,Nt=mt&&kt!==void 0?qh(kt,{llm:e.llm,thinkingModeDefault:e.subagent?.thinkingMode,staleReadInvalidation:e.staleReadInvalidation,allTools:()=>W.agent?.allTools??at,debug:e.debug,getFocuses:()=>P.getActiveFocuses(),getSchema:()=>we()?.schema??null,getBind:()=>we()?.bind,tracker:ht,guardMiddleware:Dt.length?Dt:void 0,getVfsFiles:ut?()=>T.files:void 0,enterDataScope:xe?.enterScope?e=>xe.enterScope(e):void 0,exitDataScope:xe?.exitScope?e=>xe.exitScope(e):void 0,onUsage:e=>{o.prompt_tokens=(o.prompt_tokens??0)+(e.prompt_tokens??0),o.completion_tokens=(o.completion_tokens??0)+(e.completion_tokens??0),o.total_tokens=(o.total_tokens??0)+(e.total_tokens??0),e.reasoning_tokens&&(o.reasoning_tokens=(o.reasoning_tokens??0)+e.reasoning_tokens)},timeoutMs:e.subagent?.timeoutMs,...At?{componentLock:At,resolveComponents:e=>bv(e,mv(we()?.bind,de))}:{}}):void 0,Pt=Nt?Nt.controller:null,Ft=t=>{let n=t.thinkingMode??e.subagent?.thinkingMode,r=n?hy(t.llm??e.llm)?`instance-noop`:`applied`:`inherited`;return{...t,...n?{thinkingMode:n}:{},thinkingApplied:r}},It=[`read`,`fetch_document`],Lt=at.filter(e=>It.includes(e.name)),Rt=yt?xg({check:e.verify.check??Dg({schemas:()=>we()?{"":we().schema}:{},root:()=>we()?.bind}),adversarial:e.verify?.adversarial?{llm:e.llm,tools:Lt}:void 0}):void 0,zt=bt?Vg({contextWindow:m.contextWindow,thresholdRatio:db(e,m.contextWindow).summaryThresholdRatio}):void 0,Bt=vC({...V,humanConfirm:Je,screenshot:!!Ne,domEdit:V.domEdit,hasActions:!!e.actions&&Object.keys(e.actions).length>0,hasProposals:!!e.proposals,viewImage:!!Me,subagents:le?.map(Ft)},he&&!!I,{promptSoftCap:yh(m.contextWindow,h.promptSoftCapTokens)}),Vt=V.pageContext?bC({getPageInfo:()=>typeof document<`u`&&typeof location<`u`?{title:document.title||``,url:location.href}:null,canReadPage:V.domInspect===!0}):void 0,Ht={epoch:0,notices:[],readsInvalidated:0},Ut=0,Wt={name:`hostNotice`,beforeAgent:()=>{Ut=Ht.epoch},wrapModelCall:async(e,t)=>{if(Ie){Ie=!1;let t=Rd(e.messages,`agent 已通过 dom_edit 修改页面,此前读取为改前状态`,We);if(t.invalidatedCount>0){for(let n=0;n<t.messages.length;n++)e.messages[n]=t.messages[n];W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`dom_edit_read_invalidated`,count:t.invalidatedCount}})}}if(Ht.epoch>Ut){Ut=Ht.epoch;let t=Ht.notices[Ht.notices.length-1]??``,n=Rd(e.messages,t||void 0,We);if(n.invalidatedCount>0){for(let t=0;t<n.messages.length;t++)e.messages[t]=n.messages[t];Ht.readsInvalidated+=n.invalidatedCount,W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_read_invalidated`,count:n.invalidatedCount,epoch:Ht.epoch,reason:t||void 0}})}}return t(e)},augmentPrompt:()=>Ht.notices.length?[`【宿主页面已变更】`,...Ht.notices.filter(Boolean).map(e=>`· ${e}`),V.domInspect===!0?`此前的页面读取/截图结果已过期,回答任何关于当前页面的问题前必须重新 read_page / get_dom 读取当前页面;不要凭此前的读取结果或记忆作答。`:`页面内容可能已变化,断言页面前先核实当前状态;不要凭此前的印象作答。`].join(`
3006
+ `):void 0,afterAgent:()=>{Ht.notices.length=0}},Gt=ze?{name:`proposalNotice`,augmentPrompt:()=>ze.state.notices.length?[`【内容提案裁决结果】(以此为准,不要凭提案前状态作答)`,...ze.state.notices].join(`
3007
+ `):void 0,afterAgent:()=>{ze.state.notices.length=0}}:null,Kt=I?{name:`dataHint`,augmentPrompt:()=>n_(we(),e.schemaHint)||void 0}:null,qt=e.augmentSystem?{name:`augmentSystem`,augmentPrompt:t=>{try{return e.augmentSystem({state:t,data:we()})}catch(t){e.debug&&console.log(`[page-agent-sdk][augmentSystem] 回调抛错,降级跳过:`,t.message);return}}}:null,Jt=cb(e.onEvent),Yt=Jt.emit,Xt,Zt=[],Qt=e=>({name:e.name,description:e.description,content:typeof e.getContent==`function`?e.getContent():``}),$t=e=>({name:e.name,description:e.description,getContent:()=>e.content}),en=e.skillStorage===!1?null:EC({...typeof e.skillStorage==`object`?e.skillStorage:{},id:e.skillStorage&&typeof e.skillStorage==`object`&&e.skillStorage.id?e.skillStorage.id:`agent::${n}`}),tn=()=>{let t=Xt?Xt.controller:null;if(t){let n=(e.skills||[]).filter(e=>!Zt.some(t=>t.name===e.name));t.set([...n,...Zt])}W.infoTick.value++},nn=async()=>{if(en)try{let t=await en.list();if(t.length){Zt=t.map($t);let n=Xt?Xt.controller:null;if(n){let t=(e.skills||[]).filter(e=>!Zt.some(t=>t.name===e.name));n.set([...t,...Zt])}W.infoTick.value++}}catch{}},rn=dt?Ch({...h,llmInvoke:d,getRegisteredData:()=>we()?[{description:we().description??`主数据对象`}]:[],preserveLastToolResults:_,...ft?{decideInvoke:p,getSnapshot:()=>zt?.getSnapshot()}:{}}):void 0,an=lt?Qm([...V.domInspect&&!(e.skills||[]).some(e=>e.name===`dom-inspect`)?[YS({withScreenshot:!!Ne,withDomEdit:V.domEdit,withDataOps:he&&!!I})]:[],...V.domInspect&&!(e.skills||[]).some(e=>e.name===`page-analysis`)?[ZS({withScreenshot:!!Ne,withDomEdit:V.domEdit,withVfs:ut})]:[],...e.skills||[]],{readVfs:ut?e=>T.files[e]?.content:void 0,onToolsReady:(e,t)=>{for(let n of t){let t=U.findIndex(e=>e.name===n.name);t>=0&&U.splice(t,1),U.push(n),rt.set(n.name,e),ke.set(n.name,`skill:${e}`)}at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++}}):void 0;Xt=an;let on=pb([...Kt?[Kt]:[],Bt,...Vt?[Vt]:[],Wt,...Gt?[Gt]:[],...st?[D]:[],O,k,...ot?[E]:[],...an?[an]:[],...ut?[h_(T)]:[],...rn?[rn]:[],...ct?[ie]:[],...Ze?[P]:[],...Ce?[Ce]:[],...pt?[F]:[],...Ct?[Ct]:[],...fe&&me&&pe?[yg(pe)]:[],...Je?[ne]:[],...Et?[Et]:[],...Oe?[Oe]:[],...Rt?[Rt]:[],...Ot?[Ot]:[],...Nt?[Nt]:[],...jt?[jt]:[],...Mt?[Mt]:[],...xe&&mt?[Mv({getBind:()=>we()?.bind,getTools:()=>W.agent?.allTools??at})]:[],...qt?[qt]:[],...zt?[zt]:[],...Fe?[Fe]:[],...e.middleware||[],...H?[oC(o,{tokenBudget:e.tokenBudget,timeBudgetMs:e.timeBudgetMs},Yt)]:[],FC(Yt,S,we,o)]),sn=e.maxMemoryRounds??jC;function cn(e){return e=>{e.type!==`approval_request`&&Yt(je(e))}}let ln=G([]),un=AC(),dn=new Set;function fn(e){let t=new AbortController,n=()=>t.abort();return e&&(e.aborted?t.abort():e.addEventListener(`abort`,n,{once:!0})),dn.add(t),{controller:t,untrack:()=>{dn.delete(t),e?.removeEventListener(`abort`,n)}}}function pn(){for(let e of dn)e.abort();dn.clear()}let mn=G(null),W={agentId:n,store:l,messages:S,vfsStore:T,listeners:Jt.listeners,todosMw:E,memoryMw:F,missionMw:D,workingMemoryMw:ie,focusMw:P,agent:null,initDone:Promise.resolve(),sessionId:``,refCount:0,mcpClosers:[],mcpServers:[],mcpFailed:[],checkpoint:pe,dataOpsController:xe,skillsController:Xt?Xt.controller:null,infoTick:c,pendingConflict:s.pendingConflict,pendingQuote:mn,sessions:ln,refreshSessions:()=>xn.refreshSessions(),liveData:we,usage:o,emit:Yt,runSerial:un,trackActive:fn,abortAllActive:pn,unloadSkillTools(e){if(e){let t=U.length;if(U=U.filter(t=>rt.get(t.name)===e?(ke.delete(t.name),rt.delete(t.name),!1):!0),U.length===t)return}else{if(!U.length)return;for(let e of U)ke.delete(e.name),rt.delete(e.name);U=[]}at=it(),W.agent&&W.agent.setTools(at)},applySnapshot(t){if(t.vfs&&T.hydrate&&T.hydrate(t.vfs),t.messages?.length&&(S.push(...ou(t.messages,e=>(e?W.vfsStore?.files?.[e]?.content:void 0)||void 0)),k.markResumed()),t.todos?.length&&E.reset(t.todos),t.memory&&!e.memory&&F.reset(t.memory),t.checkpoints?.length&&pe&&pe.importStack(t.checkpoints),t.usage&&Object.assign(o,t.usage),t.mission&&st&&D.setMission(t.mission),t.workingMemory&&ct&&ie.restore(t.workingMemory),t.planConfirmation&&(A.lastPlanConfirmation=t.planConfirmation),Ze){let n=t.focus,r=n?Array.isArray(n)?n:[n]:[];if(r.length){let t=we()?.schema,n=t?r.filter(e=>bp(t,e.path)):[];if(n.length&&(P.setFocus(null),n.forEach(e=>P.addFocus(re(e)))),e.debug&&n.length<r.length){let e=r.filter(e=>!n.includes(e)).map(e=>e.path);console.warn(`[page-agent-sdk][focus] 恢复的焦点部分 path 已失效(schema 变化/无 schema),剔除:`,e)}}}vn()},addSkill(e){let t=Zt.findIndex(t=>t.name===e.name);t>=0?Zt[t]=e:Zt.push(e),tn(),en&&en.put(Qt(e))},removeSkill(e){let t=Zt.findIndex(t=>t.name===e);return t<0?!1:(Zt.splice(t,1),tn(),en&&en.remove(e),!0)},listUserSkills(){return Zt.map(e=>e.name)},getUserSkill(e){let t=Zt.find(t=>t.name===e);if(t)return{name:t.name,description:t.description,content:typeof t.getContent==`function`?t.getContent():``}},afterRound(){yn(),xn.persistRuntime()},clearCodeReuse(){let e=T;e.__pgPendingRetry?.clear(),e.__pgLastCheckout?.clear()},async send(e,t){if(await W.initDone,W.refCount<=0)throw Error(`page-agent-sdk: agent 已释放(unmount),拒绝排队中的 send`);t??={},t?.mission&&st&&D.setMission(t.mission);let n=e,r=(t.images??[]).filter(e=>e&&(e.dataUri||e.vfsRef||e.url));if(r.length>4)throw Error(`[page-agent-sdk] 单轮最多 4 张图片(收到 ${r.length})`);if(r.length&&(await bn.stowImages(r),await bn.describeIfNeeded(r,n)),r.length&&!m.vision&&!r.every(e=>e.description)){let e=`当前主模型不支持图片输入(modelCaps.vision=false)。请换多模态模型(gpt-4o/claude/qwen-vl)或 LLMConfig 声明 vision:true;或配置 images.describe 绑定识图转述(集成方识图子 agent / 自有 vision API)`;throw Yt({type:`error`,message:e,severity:`recoverable`,code:`IMAGE_UNSUPPORTED_MODEL`}),Error(`[page-agent-sdk] ${e}`)}T?.setProtectedRefs?.(OC(S));let i=H?t.maxAutoRetries??1:0,a=0,o=!1,c=cn(t.signal);if(t.signal){let e=()=>s.resolve(`keep_external`);t.signal.aborted?e():t.signal.addEventListener(`abort`,e,{once:!0})}let u=W.sessionId;for(;;){if(!o){let e;if(t.quote?.text){let n=ku(t.quote.anchor);e={text:gu(t.quote.text),...t.quote.source?{source:t.quote.source}:{},...n?{anchor:n}:{}}}let i=e??mn.value??void 0;S.push({role:`user`,content:n,timestamp:Date.now(),...r.length?{images:r}:{},...i?{quote:i}:{}}),o=!0,!e&&mn.value&&(mn.value=null)}try{let e=await W.agent.invoke(S,t.signal,c);if(t.signal?.aborted||W.sessionId!==u||W.refCount<=0)return W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`orphan_round_dropped`,fromSession:u,aborted:!!t.signal?.aborted,sessionChanged:W.sessionId!==u}}),e;if(S.push({role:`assistant`,content:e,timestamp:Date.now()}),W.afterRound(),l)try{await l.flush()}catch(e){Yt({type:`error`,message:`落盘失败(不影响本轮回复):${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`PERSIST_FLUSH_FAILED`})}return e}catch(e){if(Uu(e,t.signal))throw e;let n=ql(e,`fatal`);if(rd(e)&&(n={...n,code:`MODEL_UNAVAILABLE`,message:e instanceof Error?e.message:n.message}),a<i&&pe?.canRestore()){a+=1,pe.restore(),o=!0,Yt({type:`error`,message:`致命错误自动恢复(${a}/${i}):${n.message},已回退 checkpoint 重试`,severity:`observable`,code:`AUTO_RECOVER_RETRY`,context:{attempt:a,cause:n.code??n.message.slice(0,120)}});continue}throw Yt({type:`error`,message:n.message,severity:n.severity,...n.code?{code:n.code}:{},...n.context===void 0?{}:{context:n.context}}),e}}},async batch(e,t,n){if(await W.initDone,!e.length)return[];if(W.refCount<=0)throw Error(`page-agent-sdk: agent 已释放(unmount),拒绝排队中的 batch`);let r=[],i=cn(n);if(T?.setProtectedRefs?.(OC(S)),n){let e=()=>s.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}for(let a=0;a<e.length;a++){if(n?.aborted){for(let t=a;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let o=e[a];pe&&pe.save(`batch:${a}`);let s=S.length;try{S.push({role:`user`,content:o,timestamp:Date.now()});let s=await W.agent.invoke(S,n,i);if(S.push({role:`assistant`,content:s,timestamp:Date.now()}),W.afterRound(),l)try{await l.flush()}catch(e){Yt({type:`error`,message:`落盘失败(不影响本任务结果):${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`PERSIST_FLUSH_FAILED`})}r.push({index:a,task:o,reply:s,ok:!0}),t?.({done:a+1,total:e.length,task:o,ok:!0})}catch(i){if(S.length>s&&S.splice(s),Uu(i,n)){r.push({index:a,task:o,error:`aborted(外部中止)`,ok:!1});for(let t=a+1;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}rd(i);let c=ql(i,`fatal`);Yt({type:`error`,message:`批量任务 ${a+1}/${e.length} 失败:${c.message}`,severity:`observable`,code:`BATCH_TASK_FAILED`,context:{index:a,task:o.slice(0,100)}}),r.push({index:a,task:o,error:c.message,ok:!1}),t?.({done:a+1,total:e.length,task:o,ok:!1})}}return r},switchSession:e=>xn.switchSession(e),exportSession:e=>xn.exportSession(e),importSession:e=>xn.importSession(e),resetSession:()=>xn.resetSession(),stream:async(e,t,n)=>{if(!W.agent)throw Error(`page-agent-sdk: agent 尚未初始化完成,请先 await mount()`);let r=[...e].reverse().find(e=>e.role===`user`&&e.images?.length);if(r?.images?.length&&(await bn.stowImages(r.images),await bn.describeIfNeeded(r.images,r.content),!m.vision&&!r.images.every(e=>e.description))){let e=`当前主模型不支持图片输入(modelCaps.vision=false)。请换多模态模型(gpt-4o/claude/qwen-vl)或 LLMConfig 声明 vision:true;或配置 images.describe 绑定识图转述`;throw Yt({type:`error`,message:e,severity:`recoverable`,code:`IMAGE_UNSUPPORTED_MODEL`}),Error(`[page-agent-sdk] ${e}`)}T?.setProtectedRefs?.(OC(e));let i=e=>{t?.(je(e)),Yt(je(e)),e.type===`subagent`&&(e.kind===`tool_call`||e.kind===`tool_result`)&&W.infoTick.value++};if(n){let e=()=>s.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}let{controller:a,untrack:o}=fn(n);return W.agent.stream(e,i,a.signal).finally(o)},release(){if(W.refCount--,W.refCount<=0){pn(),qe=!0,l&&(T.flush?.(),l.flush(),l.dispose()),en&&en.dispose();let e=W.mcpClosers.splice(0);e.length&&Promise.allSettled(e.map(e=>e())),MC.delete(n)}},resolveConflict:s.resolve,setTools(e){Be.length=0,e.forEach(e=>{Be.push(e),ke.set(e.name,`user`)}),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},addTool(e){at.some(t=>t.name===e.name)&&console.warn(`[page-agent-sdk] 工具 "${e.name}" 已存在,新工具覆盖(后注册覆盖先注册)`);for(let t=Be.length-1;t>=0;t--)Be[t].name===e.name&&Be.splice(t,1);Be.push(e),ke.set(e.name,`user`),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},removeTool(e){let t=Be.findIndex(t=>t.name===e);return t<0?!1:(Be.splice(t,1),ke.delete(e),at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++,!0)},setLlm(t){let n;if(hy(t))n=t;else{let e=t;if((e.provider??`openai`)===`anthropic`)throw Error(`[page-agent-sdk][setLlm] 切换到 Anthropic 需传 BaseChatModel 实例(动态 import 无法同步);请先 const { ChatAnthropic } = await import("@langchain/anthropic") 构造实例后传入`);n=M(e)}typeof n.bindTools!=`function`&&e.debug&&console.warn(`[page-agent-sdk][setLlm] 新模型不支持 bindTools(tool calling 会失效)`),_y(n,{emit:Yt}),b=t;let r=hy(t)?void 0:t;if(m=w({model:r?.model??t.model??t.modelName,contextWindow:e.contextWindow??r?.contextWindow,maxOutputTokens:e.maxOutputTokens??r?.maxOutputTokens,vision:r?.vision??t.vision}),m.contextWindow<2e5)throw Error(`[page-agent-sdk][setLlm] 新模型上下文窗口 ${m.contextWindow} 小于最小支持 ${y}(需 ≥200K 窗口模型)`);W.agent&&(W.agent.setLlm(n),W.agent.setModelCaps?.(m)),rn?.setContextWindow?.(m.contextWindow),zt?.setContextWindow?.(m.contextWindow),W.infoTick.value++,e.debug&&console.log(`[page-agent-sdk][setLlm] 重解析 modelCaps + 回灌:`,m)},setMemory(e){F.reset(e),typeof e==`function`&&F.refresh(),W.infoTick.value++},refreshMemory(){return F.refresh()},setSubagents(t){if(!Pt){e.debug&&console.warn(`[page-agent-sdk][setSubagents] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Pt.set(t),W.infoTick.value++},addSubagent(t){if(!Pt){e.debug&&console.warn(`[page-agent-sdk][addSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Pt.add(t),W.infoTick.value++},removeSubagent(t){if(!Pt)return e.debug&&console.warn(`[page-agent-sdk][removeSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`),!1;let n=Pt.remove(t);return n&&W.infoTick.value++,n},getActiveSubagents(){return ht?.getActive()??[]},get subagentHistory(){return ht?.getHistory()??[]},getInfo(){return{id:n,sessionId:W.sessionId,model:hy(b)?b.model??b.modelName:b.model,systemPrompt:W.agent?.getEffectiveSystemPrompt?.()??ve+n_(we(),e.schemaHint),tools:(W.agent?.allTools??at).map(e=>({name:e.name,description:e.description,schema:e.schema,source:ke.get(e.name)||`user`})),skills:(Xt?Xt.controller.get():e.skills??[]).map(e=>({name:e.name,description:e.description})),data:we()?{description:we().description,schema:we().schema}:void 0,contextPreset:e.contextPreset??`auto`,compression:{contextWindow:m.contextWindow,summaryThresholdRatio:h.summaryThresholdRatio??.5,promptSoftCap:yh(m.contextWindow,h.promptSoftCapTokens)},memory:F.get(),staleReadsInvalidated:W.agent?.getStaleReadsInvalidated?.()??0,hostReadsInvalidated:Ht.readsInvalidated,...ze?{proposals:ze.snapshot()}:{},...a?{hostWatch:{...a}}:{},llmRetries:W.agent?.getLlmRetries?.()??0,llmCallFailures:W.agent?.getLlmCallFailures?.()??0,gates:W.agent?.getGateStats?.(),systemSegments:W.agent?.getLastSystemSegments?.()??[],middleware:on.map(e=>e.name),todos:(W.agent?.getState?.()?.todos??[]).map(e=>({id:e.id,content:e.content,status:e.status,...e.parentId===void 0?{}:{parentId:e.parentId},...e.deps===void 0?{}:{deps:e.deps},...e.criteria===void 0?{}:{criteria:e.criteria},...e.evidence===void 0?{}:{evidence:e.evidence}})),planPhase:E.getPlanPhase(),mission:st?D.getMission():void 0,planConfirmation:A.lastPlanConfirmation,workingMemory:ct?ie.getWorkingMemory():void 0,focus:Ze?P.getFocus():void 0,focuses:Ze?P.getFocuses():[],actions:lC(e.actions??{}),subagent:{enabled:!!Ot,maxDepth:e.subagent?.maxDepth??1,maxParallel:e.subagent?.maxParallel??4,timeoutMs:e.subagent?.timeoutMs===void 0?18e5:e.subagent.timeoutMs>0?e.subagent.timeoutMs:0,allowedTools:e.subagent?.allowedTools??[],subagents:(Pt?.get()??[]).map(Ft),active:ht?.getActive()??[],history:ht?.getHistory()??[],lockedComponents:At?.locked()??{}},verify:{enabled:!!Rt,maxAttempts:yt?gt:0,adversarial:yt&&!!e.verify?.adversarial},context:(()=>{let e=zt?.getSnapshot();if(e){let t=W.agent?.getState?.()?.lastCompression;t&&(e.compression=t)}return e})(),mcp:{servers:W.mcpServers,...W.mcpFailed.length?{failed:W.mcpFailed}:{}},lastCompression:W.agent?.getState?.()?.lastCompression,checkpoints:pe?{enabled:!0,auto:me,list:pe.list()}:void 0}},exportDiagnostics(){let e=W.getInfo(),t={...e,tools:e.tools.map(({schema:e,...t})=>t),data:e.data?{description:e.data.description,schemaTopKeys:_p(e.data.schema)??[]}:void 0},n=W.liveData(),r=null;if(n){let e=-1,t=[];try{let r=JSON.stringify(n.bind);e=r?r.length:0,n.bind&&typeof n.bind==`object`&&!Array.isArray(n.bind)&&(t=Object.keys(n.bind))}catch{e=-1}r={description:n.description,topKeys:t,approxBytes:e}}return zv(Rv({debugLogs:W.agent?.debugLogs?.value??[],messages:W.messages,info:t,usage:{...W.usage},pendingConflict:W.pendingConflict?.value??null,sessionId:W.sessionId,dataSummary:r}))},getMission(){return st?D.getMission():void 0},setMission(t){if(!st){e.debug&&console.warn(`[page-agent-sdk][mission] capabilities.missionAnchor 关闭,setMission 忽略`);return}D.setMission(t),W.infoTick.value++},getFocus(){return Ze?P.getFocus():void 0},getFocuses(){return Ze?P.getFocuses():[]},setFocus(t){let n=IC(t,`setFocus`,Ze,()=>we()?.schema,e.debug);return n.ok?(P.setFocus(re(t)),e.debug&&P.isInvokeActive()&&console.info(`[page-agent-sdk][focus] 在途流程进行中,聚焦将在下一次输入生效(当前流程不受影响)`),W.infoTick.value++,{ok:!0}):n},addFocus(t){let n=IC(t,`addFocus`,Ze,()=>we()?.schema,e.debug);return n.ok?P.getFocuses().length>=8?(e.debug&&console.warn(`[page-agent-sdk][focus] addFocus 拒绝:焦点数已达上限 8(augmentPrompt 注入每焦点子树 schema,过多致 system prompt 超预算)`),{ok:!1,error:`焦点数上限 8(避免 system prompt 撑爆)`}):(P.addFocus(re(t)),e.debug&&P.isInvokeActive()&&console.info(`[page-agent-sdk][focus] 在途流程进行中,聚焦将在下一次输入生效(当前流程不受影响)`),W.infoTick.value++,{ok:!0}):n},removeFocus(e){Ze&&(P.removeFocus(e),W.infoTick.value++)},clearFocus(){Ze&&(P.clearFocus(),W.infoTick.value++)},setQuote(e,t,n){let r=gu(e??``),i=ku(n);mn.value=r?{text:r,...t?{source:t}:{},...i?{anchor:i}:{}}:null},notifyHostChange(e){let t=typeof e?.reason==`string`?e.reason.trim().slice(0,200):``;Ht.epoch+=1,t&&!Ht.notices.includes(t)?Ht.notices.push(t):t||Ht.notices.push(``),Ht.notices.length>5&&Ht.notices.splice(0,Ht.notices.length-5),W.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_change_notified`,epoch:Ht.epoch,reason:t||void 0}}),W.infoTick.value++},clearQuote(){mn.value=null},resolveProposal(e,t,n){let r=ze?ze.resolve(e,t,n):!1;return r&&W.infoTick.value++,r},getProposals(){return ze?ze.snapshot():null}};async function hn(){if(!l)return;let t=async e=>{try{return await l.load(n,e)}catch(t){Yt({type:`error`,message:`会话快照读取失败,已降级空会话:${t instanceof Error?t.message:String(t)}`,severity:`observable`,code:`SESSION_RESTORE_FAILED`,context:{sessionId:e}});return}},r=async()=>{try{return await l.listSessions(n)}catch(e){return Yt({type:`error`,message:`会话列表读取失败,已降级新建会话:${e instanceof Error?e.message:String(e)}`,severity:`observable`,code:`SESSION_RESTORE_FAILED`}),[]}},i=Symbol(`storage-ready-timeout`);await Promise.race([l.ready.then(()=>`ready`),new Promise(e=>setTimeout(()=>e(i),5e3))])===i&&(console.warn(`[page-agent-sdk][persist] 存储初始化 5s 未就绪(可能被其他标签页锁住),已放行;持久化暂降级内存,就绪后自动恢复`),Yt({type:`error`,message:`存储初始化 5s 未就绪(IDB blocked?),已放行降级运行`,severity:`observable`,code:`STORAGE_READY_TIMEOUT`}));let a=e.session||{};if(a.id){W.sessionId=a.id;let e=await t(W.sessionId);e?(W.applySnapshot(e),Yt({type:`session_restored`,sessionId:W.sessionId,rounds:e.messages?.length??0})):await l.createSession(n,a.title,W.sessionId)}else if(a.autoResume!==!1){let i=await r();if(e.debug&&console.log(`[page-agent-sdk][restore] listSessions`,n,i.length,i.map(e=>e.sessionId)),i.length){W.sessionId=i[0].sessionId;let n=await t(W.sessionId);n?(W.applySnapshot(n),Yt({type:`session_restored`,sessionId:W.sessionId,rounds:n.messages?.length??0}),e.debug&&console.log(`[page-agent-sdk][restore] 恢复会话`,W.sessionId,`${n.messages?.length??0} msgs`)):e.debug&&console.log(`[page-agent-sdk][restore] 会话 meta 存在但快照为空`,W.sessionId)}else W.sessionId=await l.createSession(n,a.title),e.debug&&console.log(`[page-agent-sdk][restore] 新建会话(无历史)`,W.sessionId)}else W.sessionId=await l.createSession(n,a.title);e.memory&&xn.persistSave({memory:F.get()||(typeof e.memory==`string`?e.memory:``)}),xn.refreshSessions()}async function gn(){await nn()}function _n(e){let t={};for(let n of OC(e)){let e=T.files[n];e&&(t[n]=e.content)}return t}function vn(){let e=kC(T.files,OC(S));for(let t of e)delete T.files[t]}function yn(){let e=sh(S,sn);if(!e.trimmed)return;let{older:t,summary:n}=e;if(Yt({type:`context_trimmed`,dropped:t.map(e=>({round:e.round,user:e.userMsg.content,assistant:e.assistantMsgs.map(e=>e.content),steps:e.assistantMsgs.flatMap(e=>e.steps??[])})),vfsResults:_n(t.flatMap(e=>[e.userMsg,...e.assistantMsgs])),summary:n.content,reason:`max_memory_rounds`}),S.splice(e.deleteFrom,e.deleteCount,n),vn(),g&&d){let n=e.summary,{prevSeg:r}=e;(async()=>{try{let e=await d(mh(t,v)),i=S.indexOf(n);if(i<0)return;S[i].content=oh(t,r,e),xn.persistRuntime()}catch{}})()}}let bn=fu({getConfig:()=>e.images,getVision:()=>m.vision===!0,emit:Yt,getVfsStore:()=>W.vfsStore,noteFailure:(e,t)=>xn.notePersistFailure(e,t)}),xn=gb({agentId:n,options:e,emit:Yt,getStore:()=>l,core:W,sessionsRef:ln,sessionVars:A,messages:S,getUsage:()=>o,mw:{todosMw:E,memoryMw:F,missionMw:D,workingMemoryMw:ie,focusMw:P,summarizationMw:rn,resumeNoticeMw:k,useMission:st,useWorkingMemory:ct,useFocus:Ze,useAutomation:H},vfsStore:T,checkpointMgr:pe,conflictResolve:e=>s.resolve(e),abortAllActive:pn,titleLlmInvoke:f});return W.initDone=(async()=>{await hn(),await gn(),e.mcp?.length&&qg({servers:e.mcp,emit:Yt,isReleased:()=>qe,core:{mcpClosers:W.mcpClosers,mcpServers:W.mcpServers,mcpFailed:W.mcpFailed,infoTick:W.infoTick},reservedNames:()=>{let e=new Set;for(let t of at){let n=ke.get(t.name);n&&!n.startsWith(`mcp:`)&&e.add(t.name)}return e},pushTool:(e,t)=>(ke.set(e.name,`mcp:${t}`),Ke.push(e),!0),rebind:()=>{at=it(),W.agent&&W.agent.setTools(at),W.infoTick.value++},debug:e.debug});let t=hy(e.llm)?e.llm:await te(e.llm);_y(t,{emit:Yt}),W.agent=gp({llm:t,systemPrompt:ve,tools:at,middleware:on,maxToolRounds:e.maxToolRounds,hasSubagent:mt,pageAssertionGate:V.domInspect===!0,pageReadTools:We.size?We:void 0,deferredWriteTools:Ge.size?Ge:void 0,maxRetries:e.maxRetries,stallMs:e.streamStallMs??9e4,streamMaxMs:e.streamMaxDurationMs??18e5,toolTimeoutMs:e.toolTimeoutMs,maxParallelTools:e.maxParallelTools,contextWindow:m.contextWindow,maxOutputTokens:m.maxOutputTokens,vision:m.vision,imageContentFormat:Pe,maxVerifyAttempts:yt?gt:0,roundTokenBudget:e.roundTokenBudget??0,staleReadInvalidation:e.staleReadInvalidation,onLlmChange:e=>{b=e},debug:e.debug}),ae.current=W.agent,Nt&&Nt.setReconfigureHook(()=>{W.agent&&W.agent.setTools(it())})})(),W}function RC(e,t){let n=e.id??Oy();e.id||console.warn(`[page-agent-sdk] 未传 options.id,已生成随机 id "${n}"。刷新后持久化数据无法恢复,请传稳定 id。`);let r=e.streaming??!0,i=e.ui??`default`,a=e.hostWatch===!0?{url:!0}:e.hostWatch&&typeof e.hostWatch==`object`?e.hostWatch:null,o={enabled:!1,url:!1,pushState:!1,title:!1,autoNotified:0},s=null,c,l=e.shareContext?MC.get(n):void 0;l?c=l:(c=LC(e,n,a?o:void 0),e.shareContext&&MC.set(n,c)),c.refCount++;let u=null,d=rb(e),f=null,p=null;async function m(n){if(await c.initDone,u){u.show();return}let l=n===void 0?e.container:n,m=()=>{c.store&&(f=()=>{c.vfsStore.flush?.(),c.store.flush()},p=()=>{document.visibilityState===`hidden`&&c.store.flush()},typeof window<`u`&&window.addEventListener(`pagehide`,f),typeof document<`u`&&document.addEventListener(`visibilitychange`,p))};if((()=>{if(!a)return;s?.dispose(),s=null;let e=typeof window<`u`?window:void 0;s=dS({target:e,history:typeof history<`u`?history:e?.history,document:typeof document<`u`?document:void 0,MutationObserver:typeof MutationObserver<`u`?MutationObserver:void 0,options:a,onReport:e=>{o.autoNotified+=1,c.agent?.debugLogs?.value?.push({timestamp:Date.now(),type:`middleware`,data:{stage:`host_watch`,kind:e.kind,from:e.from.slice(0,120),to:e.to.slice(0,120)}}),c.notifyHostChange({reason:lS(e)})}}),s&&(o.enabled=!0,o.url=s.info.url,o.pushState=s.info.pushState,o.title=s.info.title)})(),i===!1||!t){i!==!1&&console.warn(`[page-agent-sdk/headless] 未含 UI 组件,ui 渲染降级 headless;如需 UI 请 import page-agent-sdk 主包`),m();return}let _=typeof l==`string`?document.querySelector(l):l;if(!_)throw Error(`createChatSdk: 挂载点未找到(${l})`);u=t({el:_,core:c,dialogCfg:d,i18n:e.i18n,debug:e.debug===!0,streaming:r,runSerial:c.runSerial,hide:g,unmount:h,onDialogUnmounted:()=>{u=null,c.release()}}),d.drawer===!0&&d.drawerHidden===!0&&u.hide(),m()}function h(){c.abortAllActive(),c.resolveConflict(`keep_external`),f&&typeof window<`u`&&window.removeEventListener(`pagehide`,f),p&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,p),f=null,p=null,s?.dispose(),s=null,u?u.unmount():c.release()}function g(){u?.hide()}function _(){u?.show()}return{mount:m,unmount:h,hide:g,show:_,send:(e,t)=>c.runSerial(async()=>{let{controller:n,untrack:r}=c.trackActive(t?.signal);try{return await c.send(e,{...t,signal:n.signal})}finally{r()}}),batch:(e,t,n)=>c.runSerial(async()=>{let{controller:r,untrack:i}=c.trackActive(n);try{return await c.batch(e,t,r.signal)}finally{i()}}),switchSession:(...e)=>c.runSerial(async()=>(c.abortAllActive(),c.switchSession(...e))),async exportSession(e){return c.runSerial(()=>c.exportSession(e))},async importSession(e){return c.runSerial(()=>c.importSession(e))},resetSession:()=>c.resetSession(),sessions:c.sessions,async listSessions(){return c.store?c.store.listSessions(n):[]},async deleteSession(e){if(c.store){if(e===c.sessionId){console.warn(`[page-agent-sdk] deleteSession 忽略:不能删除当前会话,请先 switchSession 切到其他会话`);return}await c.store.deleteSession(n,e),await c.refreshSessions()}},get sessionId(){return c.sessionId},stream:(e,t,n)=>c.stream(e,t,n),afterRound:c.afterRound,clearCodeReuse:()=>c.clearCodeReuse(),get debugLogs(){return c.agent.debugLogs},infoTick:c.infoTick,inspect:c.getInfo,exportDiagnostics:()=>c.exportDiagnostics(),inspectContext:()=>c.getInfo().context,getMission:c.getMission,setMission:c.setMission,getFocus:c.getFocus,getFocuses:c.getFocuses,setFocus:c.setFocus,addFocus:c.addFocus,removeFocus:c.removeFocus,clearFocus:c.clearFocus,setQuote:c.setQuote,clearQuote:c.clearQuote,notifyHostChange:c.notifyHostChange,resolveProposal:c.resolveProposal,get proposals(){return c.getProposals()},messages:c.messages,restoreLastCheckpoint:()=>c.checkpoint?.restore()??!1,listCheckpoints:()=>c.checkpoint?.list()??[],hook:e=>(c.listeners.add(e),()=>c.listeners.delete(e)),setData:e=>{if(!c.dataOpsController){console.warn(`[page-agent-sdk] setData 忽略:dataOps 已关闭(capabilities.dataOps:false)`);return}c.dataOpsController.set(e),c.infoTick.value++,c.emit({type:`data_change`,operation:`set`,value:e.bind})},getData:()=>c.liveData(),setSkills:e=>{let t=c.skillsController;if(!t){console.warn(`[page-agent-sdk] setSkills 忽略:skills 已关闭(capabilities.skills:false)`);return}t.set(e),c.unloadSkillTools?.(),c.infoTick.value++},addSkill:e=>{if(!c.skillsController){console.warn(`[page-agent-sdk] addSkill 忽略:skills 已关闭(capabilities.skills:false)`);return}c.addSkill(e),c.unloadSkillTools?.(e.name)},removeSkill:e=>{if(!c.skillsController)return console.warn(`[page-agent-sdk] removeSkill 忽略:skills 已关闭(capabilities.skills:false)`),!1;let t=c.removeSkill(e);return t&&c.unloadSkillTools?.(e),t},listUserSkills:()=>c.listUserSkills(),getUserSkill:e=>c.getUserSkill(e),invalidateSkillCache:e=>{let t=c.skillsController;if(!t){console.warn(`[page-agent-sdk] invalidateSkillCache 忽略:skills 已关闭(capabilities.skills:false)`);return}t.invalidateCache(e),c.unloadSkillTools?.(e)},exportData:()=>{let e=c.liveData()?.bind;return e==null?null:JSON.parse(JSON.stringify(e))},importData:(e,t)=>{let n=c.liveData();if(!n||!c.dataOpsController)return{ok:!1,error:`dataOps 未开启或无主数据`};let r=n.bind;if(typeof r!=`object`||!r)return{ok:!1,error:`主数据 bind 非对象,无法就地还原(集成方应用对象包裹)`};if(t?.validate!==!1){let t=n.schema.safeParse(e);if(!t.success)return{ok:!1,error:`schema 校验失败:`+(t.error?.message??`未知错误`)}}return hg(r,e),c.dataOpsController?.markDataDirty?.(),t?.emit!==!1&&c.emit({type:`data_change`,operation:`set`,value:r}),{ok:!0}},vfsWrite:(e,t)=>{let n=typeof t==`string`?t:JSON.stringify(t);c.vfsStore.files[u_(e)]={content:n,updatedAt:Date.now()}},vfsRead:e=>c.vfsStore.files[u_(e)]?.content,createResource:(e,t)=>{let n=c.dataOpsController;if(!n?.createResource)throw Error(`[page-agent-sdk] createResource 不可用:需配 data.resources + vfsStore(capabilities.vfs 默认开)`);return n.createResource(e,t)},getResource:e=>c.dataOpsController?.getResource?.(e),updateResource:(e,t)=>{let n=c.dataOpsController;if(!n?.updateResource)throw Error(`[page-agent-sdk] updateResource 不可用:需配 data.resources + vfsStore`);n.updateResource(e,t)},deleteResource:e=>c.dataOpsController?.deleteResource?.(e)??!1,listResources:()=>c.dataOpsController?.listResources?.()??[],releaseResources:e=>{let t=c.dataOpsController;if(!(!t?.listResources||!t.deleteResource))if(e&&e.length)for(let n of e)t.deleteResource(n);else for(let e of t.listResources())t.deleteResource(e.path)},usage:c.usage,pendingConflict:c.pendingConflict,resolveConflict:e=>c.resolveConflict(e),setTools:e=>c.setTools(e),addTool:e=>c.addTool(e),removeTool:e=>c.removeTool(e),setLlm:e=>c.setLlm(e),setMemory:e=>c.setMemory(e),refreshMemory:()=>c.refreshMemory(),setSubagents:e=>c.setSubagents(e),addSubagent:e=>c.addSubagent(e),removeSubagent:e=>c.removeSubagent(e),getActiveSubagents:()=>c.getActiveSubagents(),get subagentHistory(){return c.subagentHistory}}}var zC=(e,t)=>{let{o:n,i:r,u:i}=e,a=n,o,s=(e,t)=>{let n=a,s=e,c=t||(r?!r(n,s):n!==s);return(c||i)&&(a=s,o=n),[a,c,o]};return[t?e=>s(t(a,o),e):s,e=>[a,!!e,o]]},BC=typeof window<`u`&&typeof HTMLElement<`u`&&window.document?window:{},VC=Math.max,HC=Math.min,UC=Math.round,WC=Math.abs,GC=Math.sign,KC=BC.cancelAnimationFrame,qC=BC.requestAnimationFrame,JC=BC.setTimeout,YC=BC.clearTimeout,XC=e=>BC[e]===void 0?void 0:BC[e],ZC=XC(`MutationObserver`),QC=XC(`IntersectionObserver`),$C=XC(`ResizeObserver`),ew=XC(`ScrollTimeline`),tw=e=>e===void 0,nw=e=>e===null,rw=e=>typeof e==`number`,iw=e=>typeof e==`string`,aw=e=>typeof e==`boolean`,ow=e=>typeof e==`function`,sw=e=>Array.isArray(e),cw=e=>typeof e==`object`&&!sw(e)&&!nw(e),lw=e=>{let t=!!e&&e.length,n=rw(t)&&t>-1&&t%1==0;return sw(e)||!ow(e)&&n?t>0&&cw(e)?t-1 in e:!0:!1},uw=e=>!!e&&e.constructor===Object,dw=e=>e instanceof HTMLElement,fw=e=>e instanceof Element;function pw(e,t){if(lw(e))for(let n=0;n<e.length&&t(e[n],n,e)!==!1;n++);else e&&pw(Object.keys(e),(n=>t(e[n],n,e)));return e}var mw=(e,t)=>e.indexOf(t)>=0,hw=(e,t)=>e.concat(t),gw=(e,t,n)=>(!iw(t)&&lw(t)?Array.prototype.push.apply(e,t):e.push(t),e),_w=e=>Array.from(e||[]),vw=e=>sw(e)?e:!iw(e)&&lw(e)?_w(e):[e],yw=e=>!!e&&!e.length,bw=e=>_w(new Set(e)),xw=(e,t,n)=>{pw(e,e=>!e||e.apply(void 0,t||[])),n||(e.length=0)},Sw=`paddingTop`,Cw=`paddingRight`,ww=`paddingLeft`,Tw=`paddingBottom`,Ew=`marginLeft`,Dw=`marginRight`,Ow=`marginBottom`,kw=`overflowX`,Aw=`overflowY`,jw=`width`,Mw=`height`,Nw=`visible`,Pw=`hidden`,Fw=`scroll`,Iw=e=>{let t=String(e||``);return t?t[0].toUpperCase()+t.slice(1):``},Lw=(e,t,n,r)=>{if(e&&t){let r=!0;return pw(n,(n=>{e[n]!==t[n]&&(r=!1)})),r}return!1},Rw=(e,t)=>Lw(e,t,[`w`,`h`]),zw=(e,t)=>Lw(e,t,[`x`,`y`]),Bw=(e,t)=>Lw(e,t,[`t`,`r`,`b`,`l`]),Vw=(e,...t)=>e.bind(0,...t),Hw=e=>{let t,n=e?JC:qC,r=e?YC:KC;return[i=>{r(t),t=n((()=>i()),ow(e)?e():e)},()=>r(t)]},Uw=e=>{let t=ow(e)?e():e;if(rw(t)){let e=t?JC:qC,n=t?YC:KC;return r=>{let i=e((()=>r()),t);return()=>{n(i)}}}return t&&t._},Ww=(e,t)=>{let{p:n,v:r,S:i,m:a}=t||{},o,s,c,l,u=function(t){s&&s(),o&&o(),l=s=o=c=void 0,e.apply(this,t)},d=e=>a&&c?a(c,e):e,f=()=>{s&&c&&u(d(c)||c)},p=function(){let e=_w(arguments),t=Uw(n);if(t){let n=typeof i==`function`?i():i,a=Uw(r),p=d(e)||e,m=u.bind(0,p);s&&s(),n&&!l?(m(),l=!0,s=t((()=>l=void 0))):(s=t(m),a&&!o&&(o=a(f))),c=p}else u(e)};return p.O=f,p},Gw=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Kw=e=>e?Object.keys(e):[],qw=(e,t,n,r,i,a,o)=>{let s=[t,n,r,i,a,o];return(typeof e!=`object`||nw(e))&&!ow(e)&&(e={}),pw(s,(t=>{pw(t,((n,r)=>{let i=t[r];if(e===i)return!0;let a=sw(i);if(i&&uw(i)){let t=e[r],n=t;a&&!sw(t)?n=[]:!a&&!uw(t)&&(n={}),e[r]=qw(n,i)}else e[r]=a?i.slice():i}))})),e},Jw=(e,t)=>pw(qw({},e),((e,t,n)=>{e===void 0?delete n[t]:e&&uw(e)&&(n[t]=Jw(e))})),Yw=e=>!Kw(e).length,Xw=()=>{},Zw=(e,t,n)=>VC(e,HC(t,n)),Qw=e=>bw((sw(e)?e:(e||``).split(` `)).filter((e=>e))),$w=(e,t)=>e&&e.getAttribute(t),eT=(e,t)=>e&&e.hasAttribute(t),tT=(e,t,n)=>{pw(Qw(t),(t=>{e&&e.setAttribute(t,String(n||``))}))},nT=(e,t)=>{pw(Qw(t),(t=>e&&e.removeAttribute(t)))},rT=(e,t)=>{let n=Qw($w(e,t)),r=Vw(tT,e,t),i=(e,t)=>{let r=new Set(n);return pw(Qw(e),(e=>{r[t](e)})),_w(r).join(` `)};return{C:e=>r(i(e,`delete`)),$:e=>r(i(e,`add`)),H:e=>{let t=Qw(e);return t.reduce(((e,t)=>e&&n.includes(t)),t.length>0)}}},iT=(e,t,n)=>(rT(e,t).C(n),Vw(aT,e,t,n)),aT=(e,t,n)=>(rT(e,t).$(n),Vw(iT,e,t,n)),oT=(e,t,n,r)=>(r?aT:iT)(e,t,n),sT=(e,t,n)=>rT(e,t).H(n),cT=e=>rT(e,`class`),lT=(e,t)=>{cT(e).C(t)},uT=(e,t)=>(cT(e).$(t),Vw(lT,e,t)),dT=(e,t)=>{let n=t?fw(t)&&t:document;return n?_w(n.querySelectorAll(e)):[]},fT=(e,t)=>{let n=t?fw(t)&&t:document;return n&&n.querySelector(e)},pT=(e,t)=>fw(e)&&e.matches(t),mT=e=>pT(e,`body`),hT=e=>e?_w(e.childNodes):[],gT=e=>e&&e.parentElement,_T=(e,t)=>fw(e)&&e.closest(t),vT=e=>document.activeElement,yT=(e,t,n)=>{let r=_T(e,t),i=e&&fT(n,r),a=_T(i,t)===r;return r&&i?r===e||i===e||a&&_T(_T(e,n),t)!==r:!1},bT=e=>{pw(vw(e),(e=>{let t=gT(e);e&&t&&t.removeChild(e)}))},xT=(e,t)=>Vw(bT,e&&t&&pw(vw(t),(t=>{t&&e.appendChild(t)}))),ST,CT=()=>ST,wT=e=>{ST=e},TT=e=>{let t=document.createElement(`div`);return tT(t,`class`,e),t},ET=e=>{let t=TT(),n=CT(),r=e.trim();return t.innerHTML=n?n.createHTML(r):r,pw(hT(t),(e=>bT(e)))},DT=(e,t)=>e.getPropertyValue(t)||e[t]||``,OT=e=>{let t=e||0;return isFinite(t)?t:0},kT=e=>OT(parseFloat(e||``)),AT=e=>Math.round(e*1e4)/1e4,jT=e=>`${AT(OT(e))}px`;function MT(e,t){e&&t&&pw(t,((t,n)=>{try{let r=e.style,i=nw(t)||aw(t)?``:rw(t)?jT(t):t;n.indexOf(`--`)===0?r.setProperty(n,i):r[n]=i}catch{}}))}function NT(e,t,n){let r=iw(t),i=r?``:{};if(e){let a=BC.getComputedStyle(e,n)||e.style;i=r?DT(a,t):_w(t).reduce(((e,t)=>(e[t]=DT(a,t),e)),i)}return i}var PT=(e,t,n)=>{let r=t?`${t}-`:``,i=n?`-${n}`:``,a=`${r}top${i}`,o=`${r}right${i}`,s=`${r}bottom${i}`,c=`${r}left${i}`,l=NT(e,[a,o,s,c]);return{t:kT(l[a]),r:kT(l[o]),b:kT(l[s]),l:kT(l[c])}},FT=(e,t)=>`translate${cw(e)?`(${e.x},${e.y})`:`${t?`X`:`Y`}(${e})`}`,IT=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),LT={w:0,h:0},RT=(e,t)=>t?{w:t[`${e}Width`],h:t[`${e}Height`]}:LT,zT=e=>RT(`inner`,e||BC),BT=Vw(RT,`offset`),VT=Vw(RT,`client`),HT=Vw(RT,`scroll`),UT=e=>{let t=parseFloat(NT(e,jw))||0,n=parseFloat(NT(e,Mw))||0;return{w:t-UC(t),h:n-UC(n)}},WT=e=>e.getBoundingClientRect(),GT=e=>!!e&&IT(e),KT=e=>!!(e&&(e[Mw]||e[jw])),qT=(e,t)=>{let n=KT(e);return!KT(t)&&n},JT=(e,t,n,r)=>{pw(Qw(t),(t=>{e&&e.removeEventListener(t,n,r)}))},YT=(e,t,n,r)=>{let i=(r&&r.D)??!0,a=r&&r.I||!1,o=r&&r.A||!1,s={passive:i,capture:a};return Vw(xw,Qw(t).map((t=>{let r=o?i=>{JT(e,t,r,a),n&&n(i)}:n;return e&&e.addEventListener(t,r,s),Vw(JT,e,t,r,a)})))},XT=e=>e.stopPropagation(),ZT=e=>e.preventDefault(),QT=e=>XT(e)||ZT(e),$T=(e,t)=>{let{x:n,y:r}=rw(t)?{x:t,y:t}:t||{};rw(n)&&(e.scrollLeft=n),rw(r)&&(e.scrollTop=r)},eE=e=>({x:e.scrollLeft,y:e.scrollTop}),tE=()=>({T:{x:0,y:0},k:{x:0,y:0}}),nE=(e,t)=>{let{T:n,k:r}=e,{w:i,h:a}=t,o=(e,t,n)=>{let r=GC(e)*n,i=GC(t)*n;if(r===i){let n=WC(e),a=WC(t);i=n>a?0:i,r=n<a?0:r}return r=r===i?0:r,[r+0,i+0]},[s,c]=o(n.x,r.x,i),[l,u]=o(n.y,r.y,a);return{T:{x:s,y:l},k:{x:c,y:u}}},rE=({T:e,k:t})=>{let n=(e,t)=>e===0&&e<=t;return{x:n(e.x,t.x),y:n(e.y,t.y)}},iE=({T:e,k:t},n)=>{let r=(e,t,n)=>Zw(0,1,(e-n)/(e-t)||0);return{x:r(e.x,t.x,n.x),y:r(e.y,t.y,n.y)}},aE=e=>{e&&e.focus&&e.focus({preventScroll:!0,focusVisible:!1})},oE=(e,t)=>{pw(vw(t),e)},sE=e=>{let t=new Map,n=(e,n)=>{if(e){let r=t.get(e);oE((e=>{r&&r[e?`delete`:`clear`](e)}),n)}else t.forEach((e=>{e.clear()})),t.clear()},r=(e,i)=>{if(iw(e)){let r=t.get(e)||new Set;return t.set(e,r),oE((e=>{ow(e)&&r.add(e)}),i),Vw(n,e,i)}aw(i)&&i&&n();let a=Kw(e),o=[];return pw(a,(t=>{let n=e[t];n&&gw(o,r(t,n))})),Vw(xw,o)};return r(e||{}),[r,n,(e,n)=>{pw(_w(t.get(e)),(e=>{n&&!yw(n)?e.apply(0,n):e()}))}]},cE={},lE={},uE=e=>{pw(e,(e=>pw(e,((t,n)=>{cE[n]=e[n]}))))},dE=(e,t,n)=>Kw(e).map((r=>{let{static:i,instance:a}=e[r],[o,s,c]=n||[],l=n?a:i;if(l){let e=n?l(o,s,t):l(t);return(c||lE)[r]=e}})),fE=(e,t)=>e[t],pE=e=>fE(lE,e),mE=`__osOptionsValidationPlugin`,hE=`data-overlayscrollbars`,gE=`os-environment`,_E=`${gE}-scrollbar-hidden`,vE=`${hE}-initialize`,yE=`noClipping`,bE=`${hE}-body`,xE=hE,SE=`host`,CE=`${hE}-viewport`,wE=kw,TE=Aw,EE=`arrange`,DE=`measuring`,OE=`scrolling`,kE=`scrollbarHidden`,AE=`noContent`,jE=`${hE}-padding`,ME=`${hE}-content`,NE=`os-size-observer`,PE=`${NE}-appear`,FE=`${NE}-listener`;`${FE}`,`${FE}`;var IE=`os-trinsic-observer`,LE=`os-theme-none`,RE=`os-scrollbar`,zE=`${RE}-rtl`,BE=`${RE}-horizontal`,VE=`${RE}-vertical`,HE=`${RE}-track`,UE=`${RE}-handle`,WE=`${RE}-visible`,GE=`${RE}-cornerless`,KE=`${RE}-interaction`,qE=`${RE}-unusable`,JE=`${RE}-auto-hide`,YE=`${JE}-hidden`,XE=`${RE}-wheel`,ZE=`${HE}-interactive`,QE=`${UE}-interactive`,$E=`__osSizeObserverPlugin`,eD=(e,t)=>{let{M:n}=t,[r,i]=e(`showNativeOverlaidScrollbars`);return[r&&n.x&&n.y,i]},tD=e=>e.indexOf(Nw)===0,nD=e=>e.replace(`${Nw}-`,``),rD=(e,t)=>{if(e===`auto`)return t?Fw:Pw;let n=e||Pw;return[Pw,Fw,Nw].includes(n)?n:Pw},iD=(e,t)=>{let{overflowX:n,overflowY:r}=NT(e,[kw,Aw]);return{x:rD(n,t.x),y:rD(r,t.y)}},aD=`__osScrollbarsHidingPlugin`,oD=`__osClickScrollPlugin`,sD=e=>JSON.stringify(e,((e,t)=>{if(ow(t))throw 0;return t})),cD=(e,t)=>e?`${t}`.split(`.`).reduce(((e,t)=>e&&Gw(e,t)?e[t]:void 0),e):void 0,lD=[0,33],uD=[33,99],dD=[222,666,!0],fD={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[[`img`,`load`]],debounce:{mutation:lD,resize:null,event:uD,env:dD},attributes:null,ignoreMutation:null,flowDirectionStyles:null},overflow:{x:`scroll`,y:`scroll`},scrollbars:{theme:`os-theme-dark`,visibility:`auto`,autoHide:`never`,autoHideDelay:1300,autoHideSuspend:!1,dragScroll:!0,clickScroll:!1,pointers:[`mouse`,`touch`,`pen`]}},pD=(e,t)=>{let n={};return pw(hw(Kw(t),Kw(e)),(r=>{let i=e[r],a=t[r];if(cw(i)&&cw(a))qw(n[r]={},pD(i,a)),Yw(n[r])&&delete n[r];else if(Gw(t,r)&&a!==i){let e=!0;if(sw(i)||sw(a))try{sD(i)===sD(a)&&(e=!1)}catch{}e&&(n[r]=a)}})),n},mD=(e,t,n)=>r=>[cD(e,r),n||cD(t,r)!==void 0],hD,gD=()=>hD,_D=e=>{hD=e},vD,yD=()=>{let e=(e,t,n)=>{xT(document.body,e),xT(document.body,e);let r=VT(e),i=BT(e),a=UT(t);return n&&bT(e),{x:i.h-r.h+a.h,y:i.w-r.w+a.w}},t=e=>{let t=!1,n=uT(e,_E);try{t=NT(e,`scrollbar-width`)===`none`||NT(e,`display`,`::-webkit-scrollbar`)===`none`}catch{}return n(),t},n=ET(`<div class="${gE}"><div></div><style>${`.${gE}{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.${gE} div{width:200%;height:200%;margin:10px 0}.${_E}{scrollbar-width:none!important}.${_E}::-webkit-scrollbar,.${_E}::-webkit-scrollbar-corner{appearance:none!important;display:none!important;width:0!important;height:0!important}`}</style></div>`)[0],r=n.firstChild,i=n.lastChild,a=gD();a&&(i.nonce=a);let[o,,s]=sE(),[c,l]=zC({o:e(n,r),i:zw},Vw(e,n,r,!0)),[u]=l(),d=t(n),f={x:u.x===0,y:u.y===0},p={elements:{host:null,padding:!d,viewport:e=>d&&mT(e)&&e,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},m=qw({},fD),h=Vw(qw,{},m),g=Vw(qw,{},p),_={U:u,M:f,P:d,J:!!ew,G:Vw(o,`r`),K:g,Z:e=>qw(p,e)&&g(),tt:h,nt:e=>qw(m,e)&&h(),ot:qw({},p),st:qw({},m)};if(nT(n,`style`),bT(n),YT(BC,`resize`,(()=>{s(`r`,[])})),ow(BC.matchMedia)&&!d&&(!f.x||!f.y)){let e=t=>{YT(BC.matchMedia(`(resolution: ${BC.devicePixelRatio}dppx)`),`change`,(()=>{t(),e(t)}),{A:!0})};e((()=>{let[e,t]=c();qw(_.U,e),s(`r`,[t])}))}return _},bD=()=>(vD||=yD(),vD),xD=(e,t,n)=>{let r=!1,i=n?new WeakMap:!1,a=()=>{r=!0},o=a=>{i&&n&&pw(n.map((t=>{let[n,r]=t||[];return[r&&n?(a||dT)(n,e):[],r]})),(n=>pw(n[0],(a=>{let o=n[1],s=i.get(a)||[];if(e.contains(a)&&o){let e=YT(a,o,(n=>{r?(e(),i.delete(a)):t(n)}));i.set(a,gw(s,e))}else xw(s),i.delete(a)}))))};return o(),[a,o]},SD=(e,t,n,r)=>{let i=!1,{et:a,ct:o,rt:s,it:c,lt:l,ut:u}=r||{},[d,f]=xD(e,(()=>i&&n(!0)),s),p=a||[],m=o||[],h=hw(p,m),g=(i,a)=>{if(!yw(a)){let o=l||Xw,s=u||Xw,d=[],p=[],h=!1,g=!1;if(pw(a,(n=>{let{attributeName:i,target:a,type:l,oldValue:u,addedNodes:f,removedNodes:_}=n,v=l===`attributes`,y=l===`childList`,b=e===a,x=v&&i,S=x&&$w(a,i||``),C=iw(S)?S:null,w=x&&u!==C,T=mw(m,i)&&w;if(t&&(y||!b)){let t=v&&w,l=t&&c&&pT(a,c),p=(l?!o(a,i,u,C):!v||t)&&!s(n,!!l,e,r);pw(f,(e=>gw(d,e))),pw(_,(e=>gw(d,e))),g||=p}!t&&b&&w&&!o(a,i,u,C)&&(gw(p,i),h||=T)})),f((e=>bw(d).reduce(((t,n)=>(gw(t,dT(e,n)),pT(n,e)?gw(t,n):t)),[]))),t)return!i&&g&&n(!1),[!1];if(!yw(p)||h){let e=[bw(p),h];return i||n.apply(0,e),e}}},_=new ZC(Vw(g,!1));return[()=>(_.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:h,subtree:t,childList:t,characterData:t}),i=!0,()=>{i&&=(d(),_.disconnect(),!1)}),()=>{if(i)return g(!0,_.takeRecords())}]},CD=null,wD=(e,t,n)=>{let{ft:r}=n||{},i=pE($E),[a]=zC({o:!1,u:!0});return()=>{let n=[],o=ET(`<div class="${NE}"><div class="${FE}"></div></div>`)[0],s=o.firstChild,c=e=>{let n=sw(e)&&!yw(e),r=!1,i=!1;if(n){let t=e[0],[n,,o]=a(t.contentRect),s=KT(n);i=qT(n,o),r=!i&&!s}else i=e===!0;r||t({_t:!0,ft:i})};if($C){if(!aw(CD)){let t=new $C(Xw);t.observe(e,{get box(){CD=!0}}),CD||=!1,t.disconnect()}let t=Ww(c,{p:0,v:0}),r=e=>t(e),i=new $C(r);if(i.observe(CD?e:s),gw(n,[()=>{i.disconnect()},!CD&&xT(e,o)]),CD){let t=new $C(r);t.observe(e,{box:`border-box`}),gw(n,(()=>t.disconnect()))}}else if(i){let[t,a]=i(s,c,r);gw(n,hw([uT(o,PE),YT(o,`animationstart`,t),xT(e,o)],a))}else return Xw;return Vw(xw,n)}},TD=(e,t)=>{let n,r=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,i=TT(IE),[a]=zC({o:!1}),o=(e,n)=>{if(e){let i=a(r(e)),[,o]=i;return o&&!n&&t(i)&&[i]}},s=(e,t)=>o(t.pop(),e);return[()=>{let t=[];if(QC)n=new QC(Vw(s,!1),{root:e}),n.observe(i),gw(t,(()=>{n.disconnect()}));else{let e=()=>{let e=BT(i);o(e)};gw(t,wD(i,e)()),e()}return Vw(xw,gw(t,xT(e,i)))},()=>n&&s(!0,n.takeRecords())]},ED=(e,t,n,r)=>{let i,a,o,s,c,l,u,d,f=`[${xE}]`,p=`[${CE}]`,m=[`id`,`class`,`style`,`open`,`wrap`,`cols`,`rows`],{dt:h,vt:g,L:_,gt:v,ht:y,V:b,bt:x,yt:S,wt:C,St:w}=e,T=e=>NT(e,`direction`)===`rtl`,E=()=>{let e,t,n,i=Ww(r,{p:()=>e,v:()=>t,S:()=>n,m(e,t){let[n]=e,[r]=t;return[hw(Kw(n),Kw(r)).reduce(((e,t)=>(e[t]=n[t]||r[t],e)),{})]}}),a=(r,a)=>{if(sw(a)){let[r,i,o]=a;e=r,t=i,n=o}else rw(a)?(e=a,t=!1,n=!1):(e=!1,t=!1,n=!1);i(r)};return a.O=i.O,a},D={Ot:!1,B:T(h)},O=bD(),k=pE(aD),[A]=zC({i:Rw,o:{w:0,h:0}},(()=>{let r=k&&k.R(e,t,D,O,n).Y,i=!(x&&b)&&sT(g,xE,yE),a=!b&&S(EE),o=a&&eE(v),s=o&&w(),c=C(DE,i),l=a&&r&&r(),u=HT(_),d=UT(_);return l&&l(),$T(v,o),s&&s(),i&&c(),{w:u.w+d.w,h:u.h+d.h}})),j=E(),M=e=>{let t=T(h);qw(e,{Ct:d!==t}),qw(D,{B:t}),d=t},ee=(e,t)=>{let[n,i]=e,a={$t:i};return qw(D,{Ot:n}),t||r(a),a},N=({_t:e,ft:t})=>{let n=t?r:j,i={_t:e||t,ft:t};M(i),n(i,a)},te=(e,t)=>{let[,n]=A(),r={xt:n};return M(r),n&&!t&&j(r,e?o:i),r},ne=(e,t,n)=>{let r={Ht:t};return M(r),t&&!n&&j(r,i),r},[P,re]=y?TD(g,ee):[],ie=!b&&wD(g,N,{ft:!0}),[F,ae]=SD(g,!1,ne,{ct:m,et:m}),I=b&&$C&&new $C((e=>{let t=e[e.length-1].contentRect;N({_t:!0,ft:qT(t,u)}),u=t}));return[()=>{I&&I.observe(g);let e=ie&&ie(),t=P&&P(),n=F(),r=O.G((e=>{let[,t]=A();j({Et:e,xt:t,_t:x},s)}));return()=>{I&&I.disconnect(),e&&e(),t&&t(),l&&l(),n(),r()}},({Dt:e,zt:t,It:n})=>{let r={},[u]=e(`update.ignoreMutation`),[d,h]=e(`update.attributes`),[g,v]=e(`update.elementEvents`),[x,S]=e(`update.debounce`),C=v||h,w=t||n,T=e=>ow(u)&&!!u(e);if(C){c&&c(),l&&l();let[e,t]=SD(y||_,!0,te,{et:hw(m,d||[]),rt:g,it:f,ut:(e,t)=>{let{target:n,attributeName:r}=e;return(!t&&r&&!b?yT(n,f,p):!1)||!!_T(n,`.${RE}`)||T(e)}});l=e(),c=t}if(S&&(j.O(),sw(x)||rw(x)?(i=x,a=!1,o=uD,s=dD):uw(x)?(i=x.mutation,a=x.resize,o=x.event,s=x.env):(i=!1,a=!1,o=!1,s=!1)),w){let e=ae(),t=re&&re(),n=c&&c();e&&qw(r,ne(e[0],e[1],w)),t&&qw(r,ee(t[0],w)),n&&qw(r,te(n[0],w))}return M(r),r},D]},DD=(e,t)=>ow(t)?t.apply(0,e):t,OD=(e,t,n,r)=>DD(e,tw(r)?n:r)||t.apply(0,e),kD=(e,t,n,r)=>{let i=DD(e,tw(r)?n:r);return!!i&&(dw(i)?i:t.apply(0,e))},AD=(e,t)=>{let{nativeScrollbarsOverlaid:n,body:r}=t||{},{M:i,P:a,K:o}=bD(),{nativeScrollbarsOverlaid:s,body:c}=o().cancel,l=n??s,u=tw(r)?c:r,d=(i.x||i.y)&&l,f=e&&(nw(u)?!a:u);return!!d||!!f},jD=(e,t,n,r)=>{let{K:i}=bD(),{scrollbars:a}=i(),{slot:o}=a,{dt:s,vt:c,L:l,At:u,gt:d,bt:f,V:p}=t,{scrollbars:m}=u?{}:e,{slot:h}=m||{},g=[],_=[],v=[],y=kD([s,c,l],(()=>p&&f?s:c),o,h),b=e=>{if(ew){let t=null,r=[],i=new ew({source:d,axis:e}),a=()=>{t&&t.cancel(),t=null};return{Mt:o=>{let{Tt:s}=n,c=rE(s)[e],l=e===`x`,u=[FT(0,l),FT(`calc(-100% + 100cq${l?`w`:`h`})`,l)],d=c?u:u.reverse();return r[0]===d[0]&&r[1]===d[1]?a:(r=d,a(),t=o.kt.animate({clear:[`left`],transform:d},{timeline:i}),a)}}}},x={x:b(`x`),y:b(`y`)},S=()=>{let{Rt:e,Vt:t}=n,r=(e,t)=>Zw(0,1,e/(e+t)||0);return{x:r(t.x,e.x),y:r(t.y,e.y)}},C=(e,t,n)=>{let r=n?uT:lT;pw(e,(e=>{r(e.Lt,t)}))},w=(e,t)=>{pw(e,(e=>{let[n,r]=t(e);MT(n,r)}))},T=(e,t,n)=>{let r=aw(n),i=!r||n,a=!r||!n;i&&C(_,e,t),a&&C(v,e,t)},E=()=>{let e=S(),t=e=>t=>[t.Lt,{"--os-viewport-percent":AT(e)+``}];w(_,t(e.x)),w(v,t(e.y))},D=()=>{if(!ew){let{Tt:e}=n,t=iE(e,eE(d)),r=e=>t=>[t.Lt,{"--os-scroll-percent":AT(e)+``}];w(_,r(t.x)),w(v,r(t.y))}},O=()=>{let{Tt:e}=n,t=rE(e),r=e=>t=>[t.Lt,{"--os-scroll-direction":e?`0`:`1`}];w(_,r(t.x)),w(v,r(t.y)),ew&&(_.forEach(x.x.Mt),v.forEach(x.y.Mt))},k=()=>{if(p&&!f){let{Rt:e,Tt:t}=n,r=rE(t),i=iE(t,eE(d)),a=t=>{let{Lt:n}=t,a=gT(n)===l&&n,o=(e,t,n)=>{let r=t*e;return jT(n?r:-r)};return[a,a&&{transform:FT({x:o(i.x,e.x,r.x),y:o(i.y,e.y,r.y)})}]};w(_,a),w(v,a)}},A=e=>{let t=e?`x`:`y`,n=TT(`${RE} ${e?BE:VE}`),i=TT(HE),a=TT(UE),o={Lt:n,Pt:i,kt:a},s=x[t];return gw(e?_:v,o),gw(g,[xT(n,i),xT(i,a),Vw(bT,n),s&&s.Mt(o),r(o,T,e)]),o},j=Vw(A,!0),M=Vw(A,!1);return j(),M(),[{Ut:E,Nt:D,qt:O,Bt:k,Ft:T,jt:{Xt:_,Yt:j,Wt:Vw(w,_)},Jt:{Xt:v,Yt:M,Wt:Vw(w,v)}},()=>(xT(y,_[0].Lt),xT(y,v[0].Lt),Vw(xw,g))]},MD=(e,t,n,r,i)=>(a,o,s)=>{let{vt:c,L:l,V:u,gt:d,Gt:f,St:p}=t,{Lt:m,Pt:h,kt:g}=a,[_,v]=Hw(333),[y,b]=Hw(444),x=e=>{ow(d.scrollBy)&&d.scrollBy({behavior:`smooth`,left:e.x,top:e.y})},S=()=>{let t=`pointerup pointercancel lostpointercapture`,i=`client${s?`X`:`Y`}`,a=s?jw:Mw,o=s?`left`:`top`,c=s?`w`:`h`,l=s?`x`:`y`,u=[];return YT(h,`pointerdown`,r((r=>{let m=_T(r.target,`.${UE}`)===g,_=m?g:h,v=e.scrollbars,S=v[m?`dragScroll`:`clickScroll`],{button:C,isPrimary:w,pointerType:T}=r,{pointers:E}=v;if(C===0&&w&&S&&(E||[]).includes(T)){xw(u),b();let e=!m&&(r.shiftKey||S===`instant`),v=Vw(WT,g),C=Vw(WT,h),w=(e,t)=>(e||v())[o]-(t||C())[o],T=UC(WT(d)[a])/BT(d)[c]||1,E=eE(d)[l],D=e=>{$T(d,{[l]:E+e})},O=e=>{let{Rt:t}=n,r=BT(h)[c]-BT(g)[c],i=1/T*e/r;D(i*t[l])},k=r[i],A=v(),j=C(),M=A[a],ee=w(A,j)+M/2,N=k-j[o]-ee,te=m?0:N,ne=e=>{xw(ie),_.releasePointerCapture(e.pointerId)},P=m||e,re=p(),ie=[YT(f,t,ne),YT(f,`selectstart`,(e=>ZT(e)),{D:!1}),YT(h,t,ne),P&&YT(h,`pointermove`,(e=>O(te+e[i]-k))),P&&(()=>{let e=eE(d);re();let t=eE(d),n={x:t.x-e.x,y:t.y-e.y};(WC(n.x)>3||WC(n.y)>3)&&(p(),$T(d,e),x(n),y(re))})];if(_.setPointerCapture(r.pointerId),e)O(N);else if(!m){let e=pE(oD);if(e){let{Vt:t}=n,r=e(D,O,Vw(w),N,t[l],S,!!s,(e=>{e?re():gw(ie,re)}));gw(ie,r),gw(u,Vw(r,!0))}}}})))},C=!0;return Vw(xw,[YT(g,`pointermove pointerleave`,r(i)),YT(m,`pointerenter`,r((()=>{o(KE,!0)}))),YT(m,`pointerleave pointercancel`,r((()=>{o(KE,!1)}))),YT(m,`wheel`,r((e=>{let{deltaX:t,deltaY:n,deltaMode:r}=e;C&&r===0&&gT(m)===c&&x({x:t,y:n}),C=!1,o(XE,!0),_((()=>{C=!0,o(XE)})),ZT(e)})),{D:!1,I:!0}),!u&&YT(m,`mousedown`,r((()=>{let e=vT();(eT(e,CE)||eT(e,xE)||e===document.body)&&JC(Vw(aE,l),25)}))),YT(m,`pointerdown`,(()=>{let e=YT(f,`click`,(e=>{t(),QT(e)}),{A:!0,I:!0,D:!1}),t=YT(f,`pointerup pointercancel`,(()=>{t(),setTimeout(e,150)}),{I:!0,D:!0})}),{I:!0,D:!0}),S(),v,b])},ND=(e,t,n,r,i,a,o)=>{let s,c,l,u,d,f=Xw,p=0,m=[`mouse`,`pen`],h=e=>t=>{n.Kt||e(t)},g=e=>m.includes(e.pointerType),[_,v]=Hw(),[y,b]=Hw(100),[x,S]=Hw(50),[C,w]=Hw((()=>p)),[T,E]=jD(e,a,i,MD(t,a,i,h,(e=>g(e)&&ne()))),{vt:D,Qt:O,bt:k}=a,{Ft:A,Ut:j,Nt:M,qt:ee,Bt:N}=T,te=(e,t)=>{w();let r=e=>{n.Kt||A(YE,e)};if(e)r();else{let e=!l||!s;p>0&&!t?C(Vw(r,e)):r(e)}},ne=()=>{(l?!s:!u)&&(te(!0),y((()=>{te(!1)})))},P=e=>{g(e)&&(s=!0,!n.Kt&&l&&te(!0))},re=e=>{g(e)&&(s=!1,!n.Kt&&l&&te(!1))},ie=e=>{A(JE,e,!0),A(JE,e,!1)},F=[w,b,S,v,()=>f(),YT(D,`pointerover`,P,{A:!0}),YT(D,`pointerenter`,P),YT(D,`pointerleave`,re),YT(D,`pointermove`,h((e=>{g(e)&&c&&ne()}))),YT(O,`scroll`,h((e=>{_((()=>{M(),ne()})),o(e),N()})))],ae=pE(aD);return[()=>Vw(xw,gw(F,E())),({Dt:e,It:t,Zt:n,tn:a})=>{let{nn:o,sn:s,en:m,cn:g}=a||{},{Ct:_,ft:v}=n||{},{B:y}=r,{M:b,P:S}=bD(),{rn:C,j:w}=i,[T,E]=e(`showNativeOverlaidScrollbars`),[D,ne]=e(`scrollbars.theme`),[P,re]=e(`scrollbars.visibility`),[F,I]=e(`scrollbars.autoHide`),[oe,se]=e(`scrollbars.autoHideSuspend`),[ce]=e(`scrollbars.autoHideDelay`),[L,R]=e(`scrollbars.dragScroll`),[le,ue]=e(`scrollbars.clickScroll`),[de,z]=e(`overflow`),B=v&&!t,fe=o||s||g||_||t,pe=m||re||z,me=T&&b.x&&b.y,V=!S&&!ae,he=me||V,ge=(e,t,n)=>{let r=e.includes(Fw)&&(P===Nw||P===`auto`&&t===Fw);return A(WE,r,n),r};if(p=ce,(E||V)&&A(LE,he),ne&&(A(d),A(D,!0),d=D),(se||B)&&(ie(!oe),B&&oe&&(w.x||w.y?(f(),x((()=>{f=YT(O,Fw,h(Vw(ie,!0)),{A:!0})}))):ie(!0))),I&&(c=F===`move`,l=F===`leave`,u=F===`never`,te(u,!0)),R&&A(QE,L),ue&&A(ZE,!!le),pe){let e=ge(de.x,C.x,!0),t=ge(de.y,C.y,!1);A(GE,!(e&&t))}fe&&(M(),j(),N(),g&&ee(),A(qE,!w.x,!0),A(qE,!w.y,!1),A(zE,y&&!k))},{},T]},PD=e=>{let{K:t,P:n}=bD(),{elements:r}=t(),{padding:i,viewport:a,content:o}=r,s=dw(e),c=s?{}:e,{elements:l}=c,{padding:u,viewport:d,content:f}=l||{},p=s?e:c.target,m=mT(p),h=p.ownerDocument,g=h.documentElement,_=()=>h.defaultView||BC,v=Vw(OD,[p]),y=Vw(kD,[p]),b=Vw(TT,``),x=Vw(v,b,a),S=Vw(y,b,o),C=e=>{let t=BT(e),n=HT(e),r=NT(e,kw),i=NT(e,Aw);return n.w-t.w>0&&!tD(r)||n.h-t.h>0&&!tD(i)},w=x(d),T=w===p,E=T&&m,D=!T&&S(f),O=!T&&w===D,k=E?g:w,A=E?k:p,j=!T&&y(b,i,u),M=!O&&D,ee=[M,k,j,A].map((e=>dw(e)&&!gT(e)&&e)),N=e=>e&&mw(ee,e),te=!N(k)&&C(k)?k:p,ne=E?g:k,P={dt:p,vt:A,L:k,ln:j,ht:M,gt:ne,Qt:E?h:k,an:m?g:te,Gt:h,bt:m,At:s,V:T,un:_,yt:e=>sT(k,CE,e),wt:(e,t)=>oT(k,CE,e,t),St:()=>oT(ne,CE,OE,!0)},{dt:re,vt:ie,ln:F,L:ae,ht:I}=P,oe=[()=>{nT(ie,[xE,vE]),nT(re,vE),m&&nT(g,[vE,xE])}],se=hT([I,ae,F,ie,re].find((e=>e&&!N(e)))),ce=E?re:I||ae,L=Vw(xw,oe);return[P,()=>{let e=_(),t=vT(),r=e=>{xT(gT(e),hT(e)),bT(e)},i=e=>YT(e,`focusin focusout focus blur`,QT,{I:!0,D:!1}),a=`tabindex`,o=$w(ae,a),s=i(t);return tT(ie,xE,T?``:SE),tT(F,jE,``),tT(ae,CE,``),tT(I,ME,``),T||(tT(ae,a,o||`-1`),m&&tT(g,bE,``)),xT(ce,se),xT(ie,F),xT(F||ie,!T&&ae),xT(ae,I),gw(oe,[s,()=>{let e=vT(),t=N(ae),n=t&&e===ae?re:e,s=i(n);nT(F,jE),nT(I,ME),nT(ae,CE),m&&nT(g,bE),o?tT(ae,a,o):nT(ae,a),N(I)&&r(I),t&&r(ae),N(F)&&r(F),aE(n),s()}]),n&&!T&&(aT(ae,CE,kE),gw(oe,Vw(nT,ae,CE))),aE(!T&&m&&t===re&&e.top===e?ae:t),s(),se=0,L},L]},FD=({ht:e})=>({Zt:t,fn:n,It:r})=>{let{$t:i}=t||{},{Ot:a}=n;e&&(i||r)&&MT(e,{[Mw]:a&&`100%`})},ID=({vt:e,ln:t,L:n,V:r},i)=>{let[a,o]=zC({i:Bw,o:PT()},Vw(PT,e,`padding`,``));return({Dt:e,Zt:s,fn:c,It:l})=>{let[u,d]=o(l),{P:f}=bD(),{_t:p,xt:m,Ct:h}=s||{},{B:g}=c,[_,v]=e(`paddingAbsolute`);(p||d||l||m)&&([u,d]=a(l));let y=!r&&(v||h||d);if(y){let e=!_||!t&&!f,r=u.r+u.l,a=u.t+u.b,o={[Dw]:e&&!g?-r:0,[Ow]:e?-a:0,[Ew]:e&&g?-r:0,top:e?-u.t:0,right:e?g?-u.r:`auto`:0,left:e?g?`auto`:-u.l:0,[jw]:e&&`calc(100% + ${r}px)`},s={[Sw]:e?u.t:0,[Cw]:e?u.r:0,[Tw]:e?u.b:0,[ww]:e?u.l:0};MT(t||n,o),MT(n,s),qw(i,{ln:u,_n:!e,F:t?s:qw({},o,s)})}return{dn:y}}},LD=(e,t)=>{let n=bD(),{vt:r,ln:i,L:a,V:o,Qt:s,gt:c,bt:l,wt:u,un:d}=e,{P:f}=n,p=l&&o,m=Vw(VC,0),h={display:()=>!1,direction:e=>e!==`ltr`,flexDirection:e=>e.endsWith(`-reverse`),writingMode:e=>e!==`horizontal-tb`},g=Kw(h),_={i:Rw,o:{w:0,h:0}},v={i:zw,o:{}},y=e=>{u(DE,!p&&e)},b=()=>NT(a,g),x=(e,t)=>{let n=!Kw(e).length,r=t?!0:g.some((t=>{let n=e[t];return iw(n)&&h[t](n)}));if(n||!r||!GT(a))return{T:{x:0,y:0},k:{x:1,y:1}};y(!0);let i=eE(c),o=YT(s,Fw,(e=>{let t=eE(c);e.isTrusted&&t.x===i.x&&t.y===i.y&&XT(e)}),{I:!0,A:!0}),l=u(AE,!0);$T(c,{x:0,y:0}),l();let d=eE(c),f=HT(c);$T(c,{x:f.w,y:f.h});let p=eE(c),m={x:p.x-d.x,y:p.y-d.y};$T(c,{x:-f.w,y:-f.h});let _=eE(c),v={x:_.x-d.x,y:_.y-d.y},b={x:WC(m.x)>=WC(v.x)?p.x:_.x,y:WC(m.y)>=WC(v.y)?p.y:_.y};return $T(c,i),qC((()=>o())),{T:d,k:b}},S=(e,t)=>{let n=BC.devicePixelRatio%1==0?0:1,r={w:m(e.w-t.w),h:m(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},C=(e,t)=>{let n=(e,t,n,r)=>{let i=e===Nw?Pw:nD(e),a=tD(e),o=tD(n);return!t&&!r?Pw:a&&o?Nw:a?t&&r?i:t?Nw:Pw:t?i:o&&r?Nw:Pw};return{x:n(t.x,e.x,t.y,e.y),y:n(t.y,e.y,t.x,e.x)}},w=e=>{let t=e=>[Nw,Pw,Fw].map((t=>ie(rD(t),e))),n=t(!0).concat(t()).join(` `);u(n),u(Kw(e).map((t=>ie(e[t],t===`x`))).join(` `),!0)},[T,E]=zC(_,Vw(UT,a)),[D,O]=zC(_,Vw(HT,a)),[k,A]=zC(_),[j]=zC(v),[M,ee]=zC(_),[N]=zC(v),[te]=zC({i:(e,t)=>Lw(e,t,bw(hw(Kw(e),Kw(t)))),o:{}}),[ne,P]=zC({i:(e,t)=>zw(e.T,t.T)&&zw(e.k,t.k),o:tE()}),re=pE(aD),ie=(e,t)=>`${t?wE:TE}${Iw(e)}`;return({Dt:o,Zt:s,fn:c,It:l},{dn:h})=>{let{_t:g,Ht:_,xt:v,Ct:ie,ft:F,Et:ae}=s||{},{X:I,Y:oe,W:se}=re&&re.R(e,t,c,n,o)||{},[ce,L]=eD(o,n),[R,le]=o(`overflow`),ue=tD(R.x),de=tD(R.y),z=g||h||v||ie||ae||L,B=E(l),fe=O(l),pe=A(l),me=ee(l);if(L&&f&&u(kE,!ce),z){sT(r,xE,yE)&&y(!0);let e=oe&&oe(),[t]=B=T(l),[n]=fe=D(l),i=VT(a),o=p&&zT(d()),s={w:m(n.w+t.w),h:m(n.h+t.h)},c={w:m((o?o.w:i.w+m(i.w-n.w))+t.w),h:m((o?o.h:i.h+m(i.h-n.h))+t.h)};e&&e(),me=M(c),pe=k(S(s,c),l)}let[V,he]=me,[ge,H]=pe,[_e,ve]=fe,[ye,be]=B,[xe]=j({x:ge.w>0,y:ge.h>0}),Se=ue&&de&&(xe.x||xe.y)||ue&&xe.x&&!xe.y||de&&xe.y&&!xe.x,Ce=h||ie||ae||be||ve||he||H||le||L||z||_&&p,[we]=o(`update.flowDirectionStyles`),[Te,Ee]=te(we?we(a)||{}:b(),l),[De,Oe]=ie||F||Ee||l?ne(x(Te,!!we),l):P(),ke=C(xe,R);y(!1),Ce&&(w(ke),ke=iD(a,xe),se&&I&&(I(ke,_e,ye),MT(a,se(ke))));let[Ae,je]=N(ke);return oT(r,xE,yE,Se),oT(i,jE,yE,Se),qw(t,{rn:Ae,Vt:{x:V.w,y:V.h},Rt:{x:ge.w,y:ge.h},j:xe,Tt:nE(De,ge)}),{en:je,nn:he,sn:H,cn:Oe||H}}},RD=e=>{let[t,n,r]=PD(e),i={ln:{t:0,r:0,b:0,l:0},_n:!1,F:{[Dw]:0,[Ow]:0,[Ew]:0,[Sw]:0,[Cw]:0,[Tw]:0,[ww]:0},Vt:{x:0,y:0},Rt:{x:0,y:0},rn:{x:Pw,y:Pw},j:{x:!1,y:!1},Tt:tE()},{dt:a,gt:o,V:s,St:c}=t,{P:l,M:u}=bD(),d=!l&&(u.x||u.y),f=[FD(t),ID(t,i),LD(t,i)];return[n,e=>{let t={},n=d&&eE(o),r=n&&c();return pw(f,(n=>{qw(t,n(e,t)||{})})),$T(o,n),r&&r(),s||$T(a,0),t},i,t,r]},zD=(e,t,n,r)=>{let i=!1,a={Kt:!1,pn:!1},o=mD(t,{}),[s,c,l,u,d]=RD(e),[f,p,m]=ED(u,l,o,(e=>{y({},e)})),[h,g,,_]=ND(e,t,a,m,l,u,r),v=e=>Kw(e).some((t=>!!e[t])),y=(e,r)=>{let{Kt:o,pn:s}=a;if(s||o&&i)return!1;let{vn:l,It:u,zt:d}=e,f=l||{},h=!!u||!i,_={Dt:mD(t,f,h),vn:f,It:h},y=r||p(qw({},_,{zt:d})),b=c(qw({},_,{fn:m,Zt:y}));g(qw({},_,{Zt:y,tn:b}));let x=v(y),S=v(b),C=x||S||!Yw(f)||h;return i=!0,C&&n(e,{Zt:y,tn:b}),C};return[()=>{let{an:e,gt:t,St:n}=u,r=eE(e),i=[f(),s(),h(),()=>{a.pn=!0}],o=n();return $T(t,r),o(),Vw(xw,i)},y,e=>{let t=a.Kt;a.Kt=e,!e&&t!==e&&y({It:!0,zt:!0})},()=>{g({Dt:mD(t,{},!1),vn:{},It:!1})},()=>({gn:a,hn:m,bn:l}),{yn:u,wn:_},d]},BD=new WeakMap,VD=(e,t)=>{BD.set(e,t)},HD=e=>{BD.delete(e)},UD=e=>BD.get(e),WD=(e,t,n)=>{let{tt:r}=bD(),i=dw(e),a=i?e:e.target,o=UD(a);if(t&&!o){let o=[],s={},c=e=>{let t=Jw(e),n=pE(mE);return n?n(t,!0):t},l=qw({},r(),c(t)),[u,d,f]=sE(),[p,m,h]=sE(n),g=(e,t)=>{h(e,t),f(e,t)},[_,v,y,b,x,S,C]=zD(e,l,(({vn:e,It:t},{Zt:n,tn:r})=>{let{_t:i,Ct:a,$t:o,xt:s,Ht:c,ft:l}=n,{nn:u,sn:d,en:f,cn:p}=r;g(`updated`,[T,{updateHints:{sizeChanged:!!i,directionChanged:!!a,heightIntrinsicChanged:!!o,overflowEdgeChanged:!!u,overflowAmountChanged:!!d,overflowStyleChanged:!!f,scrollCoordinatesChanged:!!p,contentMutation:!!s,hostMutation:!!c,appear:!!l},changedOptions:e||{},force:!!t}])}),(e=>g(`scroll`,[T,e]))),w=e=>{let{gn:t}=x(),{pn:n}=t;n||(HD(a),xw(o),g(`destroyed`,[T,e]),d(),m())},T={options(e,t){if(e){let n=t?r():{},i=pD(l,qw(n,c(e)));Yw(i)||(qw(l,i),v({vn:i}))}return qw({},l)},on:p,off:(e,t)=>{e&&t&&m(e,t)},state(){let{gn:e,hn:t,bn:n}=x(),{pn:r,Kt:i}=e,{B:a}=t,{Vt:o,Rt:s,rn:c,j:l,ln:u,_n:d,Tt:f}=n;return qw({},{overflowEdge:o,overflowAmount:s,overflowStyle:c,hasOverflow:l,scrollCoordinates:{start:f.T,end:f.k},padding:u,paddingAbsolute:d,directionRTL:a,sleeping:i,destroyed:r})},elements(){let{dt:e,vt:t,ln:n,L:r,ht:i,gt:a,Qt:o}=S.yn,{jt:s,Jt:c}=S.wn,l=e=>{let{kt:t,Pt:n,Lt:r}=e;return{scrollbar:r,track:n,handle:t}},u=e=>{let{Xt:t,Yt:n}=e;return qw({},l(t[0]),{clone:()=>{let e=l(n());return b(),e}})};return qw({},{target:e,host:t,padding:n||r,viewport:r,content:i||r,scrollOffsetElement:a,scrollEventElement:o,scrollbarHorizontal:u(s),scrollbarVertical:u(c)})},update:e=>v({It:e,zt:!0}),destroy:Vw(w,!1),sleep:y,plugin:e=>s[Kw(e)[0]]};return gw(o,[C]),VD(a,T),dE(cE,WD,[T,u,s]),AD(S.yn.bt,!i&&e.cancel)?(w(!0),T):(gw(o,_()),g(`initialized`,[T]),T.update(),T)}return o};WD.plugin=e=>{let t=sw(e),n=t?e:[e],r=n.map((e=>dE(e,WD)[0]));return uE(n),t?r:r[0]},WD.valid=e=>{let t=e&&e.elements,n=ow(t)&&t();return uw(n)&&!!UD(n.target)},WD.env=()=>{let{U:e,M:t,P:n,J:r,ot:i,st:a,K:o,Z:s,tt:c,nt:l}=bD();return qw({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,scrollTimeline:r,staticDefaultInitialization:i,staticDefaultOptions:a,getDefaultInitialization:o,setDefaultInitialization:s,getDefaultOptions:c,setDefaultOptions:l})},WD.nonce=_D,WD.trustedTypePolicy=wT;var GD=4e3;function KD(e={}){let{fetchResponse:t,fetchStream:n,onPersist:r,onClear:i,onQueuedCleared:a,onBeforeRegenerate:o}=e,s=Sn({messages:e.messages??[],loading:!1,error:null}),c=G(null),l=G(!0),u=null,d=G([]),f=G(null);function p(){}function m(e){let t=c.value;e.deltaY<0?l.value=!1:t&&(l.value=t.scrollHeight-t.scrollTop-t.clientHeight<64)}function h(){c.value&&requestAnimationFrame(()=>{let e=c.value;!e||!l.value||(e.scrollTop=e.scrollHeight)})}function g(e,t,n,r,i){s.messages.push({role:e,content:t,timestamp:Date.now(),...n&&n.length?{focuses:n}:{},...r?.length?{images:r}:{},...i?{quote:i}:{}}),l.value=!0,h()}async function _(e){if(l.value=!0,n){let t=Sn({role:`assistant`,content:``,timestamp:Date.now(),reasoning:``,reasoningTotal:0,steps:[]}),r=!1;s.messages.push(t);try{await n(s.messages.slice(0,-1),e=>{switch(e.type){case`round_start`:e.round>1&&(t.content||t.reasoning)&&(r=!0);break;case`reasoning`:r&&=(t.reasoning+=`
3008
3008
  `,!1),t.reasoningTotal+=e.delta.length,t.reasoning=(t.reasoning+e.delta).slice(-4e3);break;case`text`:r&&=(t.content+=`
3009
3009
  `,!1),t.content+=e.delta;break;case`tool_call`:t.steps.push({name:e.name,args:e.args,status:`running`,id:e.id});break;case`tool_result`:{let n=-1;if(e.id!==void 0&&(n=t.steps.findIndex(t=>t.id===e.id)),n<0){for(let r=t.steps.length-1;r>=0;r--)if(t.steps[r].name===e.name&&t.steps[r].status===`running`){n=r;break}}if(n>=0){let r=t.steps[n];r.result=e.result,r.status=e.status,r.durationMs=e.durationMs,e.image&&(r.image=e.image);let i=r.subReason;i&&i.length>80&&(r.subReason=i.slice(0,80)+`…`)}break}case`subagent`:{let n=e.toolCallId===void 0?t.steps[t.steps.length-1]:t.steps.find(t=>t.id===e.toolCallId);if(!n)break;if(e.kind===`reasoning`){let t=e.delta||``;n.subReasonFull=(n.subReasonFull||``)+t;let r=(n.subReason||``)+t;n.subReason=r.length>GD?r.slice(-4e3):r;break}n.children||=[];let r=e.label?`[${e.label}] ${e.name}`:e.name;if(e.kind===`tool_call`)n.children.push({name:r,args:e.args,status:`running`});else for(let t=n.children.length-1;t>=0;t--)if(n.children[t].status===`running`&&n.children[t].name===r){n.children[t].result=e.result,n.children[t].status=e.status||`done`;break}break}case`approval_request`:e.hold?.(),f.value={toolName:e.toolName,args:e.args,resolve:e.resolve,...e.preview?{preview:e.preview}:{}};break}h()},e)}catch(n){if(Uu(n,e)||(s.error=n.message||`请求失败,请重试`),!t.content&&!t.reasoning){let e=s.messages.indexOf(t);e>=0&&s.messages.splice(e,1)}}finally{await y(),f.value=null}return}try{g(`assistant`,await(t||C)(s.messages,e))}catch(t){Uu(t,e)||(s.error=t.message||`请求失败,请重试`)}finally{await y()}}function v(e){let t=e=>{if(e?.length)for(let n of e)n.status===`running`&&(n.status=`error`,n.result||=`(本轮已结束,该步骤未收到结果 —— 子 agent 中断/异常)`),n.children?.length&&t(n.children)};for(let n=e.length-1;n>=0;n--)if(e[n].role===`assistant`){t(e[n].steps);break}}async function y(){v(s.messages);try{await r?.(s.messages)}catch{}s.loading=!1,u=null;let t=d.value.shift();t!==void 0&&(g(`user`,t,e.getFocuses?.()),s.loading=!0,s.error=null,u=new AbortController,await _(u.signal))}function b(e){d.value.splice(e,1)}async function x(e,t,n,r){if(!(!e.trim()&&!n?.length)){if(s.loading){d.value.push(e.trim());return}g(`user`,e.trim()||`[image]`,t,n,r),s.loading=!0,s.error=null,u=new AbortController,await _(u.signal)}}async function S(){if(s.loading)return;o?.();let e=s.messages;for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`){e.splice(t);break}e.some(e=>e.role===`user`)&&(s.loading=!0,s.error=null,u=new AbortController,await _(u.signal))}async function C(e){return await new Promise(e=>setTimeout(e,800+Math.random()*1200)),`收到你的消息:"${e.filter(e=>e.role===`user`).pop()?.content}"。这是一个模拟回复,请接入实际的 AI API。`}function w(){i?.(),s.messages.splice(0,s.messages.length),s.error=null}function T(){d.value.length&&a?.([...d.value]),d.value=[],u?.abort()}function E(){d.value=[],u?.abort(),u=null,s.loading=!1,s.error=null,f.value=null}function D(e){let t=f.value;t&&(f.value=null,t.resolve(e))}async function O(){if(!s.error)return;let e=s.messages,t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}if(t<0)return;let n=e[t].content;e.splice(t),s.error=null,await x(n)}return{state:s,scrollContainer:c,pendingApproval:f,queuedTasks:d,sendMessage:x,removeQueuedTask:b,clearMessages:w,stop:T,reset:E,retry:O,regenerate:S,resolveApproval:D,onScroll:p,onWheel:m}}async function qD(e){try{let t=globalThis.navigator?.clipboard;if(t&&typeof t.writeText==`function`)return await t.writeText(e),!0}catch{}try{let t=globalThis.document;if(!t||!t.body)return!1;let n=t.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.top=`0`,n.style.left=`0`,n.style.opacity=`0`,t.body.appendChild(n),n.select();let r=t.execCommand(`copy`);return t.body.removeChild(n),r}catch{return!1}}var JD={header:`🤖`,subagent:`🤖`,subagentProgress:`🧬`,empty:`💬`,focus:`🎯`,queued:`📋`,queuedEdit:`✏️`,recommend:`💡`,conflict:`⚠️`};function YD(e){let t={...JD};if(!e)return t;let n=Object.keys(JD);for(let r of n){let n=e[r];typeof n==`string`&&(t[r]=n)}return e.assistantAvatar&&(t.assistantAvatar=e.assistantAvatar),e.userAvatar&&(t.userAvatar=e.userAvatar),e.send&&(t.send=e.send),e.newSession&&(t.newSession=e.newSession),e.history&&(t.history=e.history),e.more&&(t.more=e.more),e.close&&(t.close=e.close),e.sessionDelete&&(t.sessionDelete=e.sessionDelete),e.attachImage&&(t.attachImage=e.attachImage),t}var XD={defaultTitle:`AI 助手`,inputPlaceholder:`输入消息,Enter 发送...`,newSession:`新建会话`,history:`历史记录`,more:`更多`,exportSession:`导出会话`,importSession:`导入会话…`,close:`关闭`,debugMenu:`调试 / 日志`,debugMenuTitle:`日志 / 执行流程 / Agent 信息`,skillMenu:`Skill 管理`,skillMenuTitle:`创建 / 管理自定义 Skill`,clearChat:`清空对话`,sessionFallbackPrefix:`会话 `,justNow:`刚刚`,minutesAgoSuffix:`分钟前`,emptyGreeting:`有什么可以帮你的?`,retry:`重试`,undo:`↩ 回退`,undoTitle:`回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)`,thinking:`思考中...`,statusRunning:`执行中`,statusDone:`成功`,statusError:`失败`,subagentBadge:`子`,subagentBadgeTitle:`子 agent 委派(独立上下文,只回结论)`,subagentProgress:`子 agent 进度`,nthCallPrefix:`第 `,nthCallSuffix:` 次`,argsLabel:`入参`,resultLabel:`返回值`,copy:`复制`,copied:`已复制`,regenerate:`重新生成`,expand:`展开`,collapse:`收起`,noResult:`(无返回值)`,displayTruncatedSuffix:`
3010
3010
  …(展示截断,复制可得全量)`,thinkingCountPrefix:`思考中… `,charCountSuffix:`字`,reasoningTitle:`思考过程`,truncatedNotePrefix:`(仅显最近 `,truncatedNoteSuffix:` 字)`,copyThinking:`复制完整思考内容`,copyThinkingTruncTitle:`复制完整思考(渲染已截尾,复制取全量)`,focusChipTitlePrefix:`精修中:`,focusChipTitleHint:`(点击回看 · ✕ 移除)`,historyFocusChipTitlePrefix:`发送时聚焦(路径可能已变):`,removeFocus:`移除此焦点`,sendHint:`Enter 发送 · Shift+Enter 换行`,sendTitle:`发送`,stopTitle:`停止生成`,inputGateHint:`⏸ 有确认/冲突等待处理:请先点选上方确认条,或停止生成后再发送(挂起期间消息不会进入队列)`,attachImageTitle:`添加图片(可拖拽 / 粘贴)`,imageDropHint:`松开添加图片`,quoteChipTitle:`将随下一条消息作为引用发送(❝ 划词引用)`,quoteRemove:`移除引用`,screenshotAlt:`截图查看(点击放大)`,selectionMenuLabel:`引用到 AI 助手`,selectionMenuTitle:`把选中文本作为引用加入对话框,随下一条消息发给 AI`,imageCountLimitPrefix:`单轮最多 `,imageCountLimitSuffix:` 张图片`,imageInvalid:`图片读取失败,已忽略`,imageAlt:`用户图片`,queuedTitle:`排队中 · 生成完后自动执行`,queuedEditTitle:`修改(填回输入框编辑)`,removeQueuedTitle:`撤销该任务`,humanConfirmTitle:`AI 需要你确认`,recommendPrefix:` 推荐:`,approve:`允许`,deny:`拒绝`,toolConfirmPrefix:`需确认工具调用:`,viewArgs:`查看参数`,collapseArgs:`收起参数`,argsTruncatedSuffix:`